metanorma-un 0.3.5 → 0.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,14 +18,14 @@ module IsoDoc
18
18
  bodyfont: (
19
19
  options[:script] == "Hans" ?
20
20
  '"SimSun",serif' :
21
- '"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif'
21
+ '"Times New Roman", serif'
22
22
  ),
23
23
  headerfont: (
24
24
  options[:script] == "Hans" ?
25
25
  '"SimHei",sans-serif' :
26
- '"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif'
26
+ '"Times New Roman", serif'
27
27
  ),
28
- monospacefont: '"Space Mono",monospace'
28
+ monospacefont: '"Courier New",monospace'
29
29
  }
30
30
  end
31
31
 
@@ -74,6 +74,7 @@ module IsoDoc
74
74
  end
75
75
 
76
76
  def middle(isoxml, out)
77
+ middle_admonitions(isoxml, out)
77
78
  clause isoxml, out
78
79
  annex isoxml, out
79
80
  bibliography isoxml, out
@@ -56,7 +56,10 @@ module IsoDoc
56
56
  localize&.to_rbnf_s("SpelloutRules", "spellout-ordinal")&.capitalize)
57
57
  set(:session_date, isoxml&.at(ns("//bibdata/ext/session/date"))&.text)
58
58
  set(:session_collaborator, isoxml&.at(ns("//bibdata/ext/session/collaborator"))&.text)
59
- set(:session_id, isoxml&.at(ns("//bibdata/ext/session/id"))&.text)
59
+ sid = isoxml&.at(ns("//bibdata/ext/session/id"))&.text
60
+ set(:session_id, sid)
61
+ set(:session_id_head, sid&.sub(%r{/.*$}, ""))
62
+ set(:session_id_tail, sid&.sub(%r{^[^/]+}, ""))
60
63
  set(:item_footnote, isoxml&.at(ns("//bibdata/ext/session/item-footnote"))&.text)
61
64
  set(:session_itemnumber, multival(isoxml, "//bibdata/ext/session/item-number"))
62
65
  set(:session_itemname, multival(isoxml, "//bibdata/ext/session/item-name"))
@@ -7,128 +7,35 @@ module IsoDoc
7
7
  # A {Converter} implementation that generates HTML output, and a document
8
8
  # schema encapsulation of the document for validation
9
9
  #
10
- class PdfConvert < IsoDoc::PdfConvert
10
+ class PdfConvert < IsoDoc::XslfoPdfConvert
11
11
  def initialize(options)
12
12
  @libdir = File.dirname(__FILE__)
13
13
  super
14
14
  end
15
15
 
16
- #def convert1(docxml, filename, dir)
17
- #FileUtils.cp html_doc_path('logo.jpg'), File.join(@localdir, "logo.jpg")
18
- #@files_to_delete << File.join(@localdir, "logo.jpg")
19
- #super
20
- #end
21
-
22
- def default_fonts(options)
23
- {
24
- bodyfont: (
25
- options[:script] == "Hans" ?
26
- '"SimSun",serif' :
27
- '"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif'
28
- ),
29
- headerfont: (
30
- options[:script] == "Hans" ?
31
- '"SimHei",sans-serif' :
32
- '"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif'
33
- ),
34
- monospacefont: '"Space Mono",monospace'
35
- }
36
- end
37
-
38
- def default_file_locations(_options)
39
- {
40
- htmlstylesheet: html_doc_path("htmlstyle.scss"),
41
- htmlcoverpage: html_doc_path("html_unece_titlepage.html"),
42
- htmlintropage: html_doc_path("html_unece_intro.html"),
43
- scripts: html_doc_path("scripts.pdf.html"),
44
- }
45
- end
46
-
47
-
48
- def googlefonts
49
- <<~HEAD.freeze
50
- <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i|Space+Mono:400,700" rel="stylesheet">
51
- <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,500,700,900" rel="stylesheet">
52
- HEAD
53
- end
54
-
55
- def make_body(xml, docxml)
56
- plenary = is_plenary?(docxml)
57
- body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72", "xml:lang": "EN-US", class: "container" }
58
- if plenary && @htmlcoverpage == html_doc_path("html_unece_titlepage.html")
59
- @htmlcoverpage = html_doc_path("html_unece_plenary_titlepage.html")
60
- end
61
- #@htmlintropage = nil if plenary
62
- xml.body **body_attr do |body|
63
- make_body1(body, docxml)
64
- make_body2(body, docxml)
65
- make_body3(body, docxml)
66
- end
67
- end
68
-
69
- def make_body3(body, docxml)
70
- body.div **{ class: "main-section" } do |div3|
71
- boilerplate docxml, div3
72
- abstract docxml, div3
73
- foreword docxml, div3
74
- introduction docxml, div3
75
- preface docxml, div3
76
- acknowledgements docxml, div3
77
- middle docxml, div3
78
- footnotes div3
79
- comments div3
80
- end
81
- end
82
-
83
- def html_preface(docxml)
84
- super
85
- docxml
86
- end
87
-
88
- def middle(isoxml, out)
89
- clause isoxml, out
90
- annex isoxml, out
91
- bibliography isoxml, out
92
- end
93
-
94
- def clause_parse_title(node, div, c1, out)
95
- if node["inline-header"] == "true"
96
- inline_header_title(out, node, c1)
16
+ def pdf_stylesheet(docxml)
17
+ case doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
18
+ when "plenary", "agenda", "budgetary"
19
+ "unece.plenary.xsl"
97
20
  else
98
- div.send "h#{anchor(node['id'], :level, false) || '1'}" do |h|
99
- lbl = anchor(node['id'], :label, false)
100
- h << "#{lbl}. " if lbl && !@suppressheadingnumbers
101
- insert_tab(h, 1) if lbl && !@suppressheadingnumbers
102
- c1&.children&.each { |c2| parse(c2, h) }
103
- end
104
- end
105
- end
106
-
107
- def introduction(isoxml, out)
108
- f = isoxml.at(ns("//introduction")) || return
109
- page_break(out)
110
- out.div **{ class: "Section3", id: f["id"] } do |div|
111
- div.h1(**{ class: "IntroTitle" }) do |h1|
112
- h1 << @introduction_lbl
113
- end
114
- f.elements.each do |e|
115
- parse(e, div) unless e.name == "title"
116
- end
21
+ docxml&.at(ns("//bibdata/ext/session/*")) ?
22
+ "un.plenary-attachment.xsl" : "unece.recommendation.xsl"
117
23
  end
118
24
  end
119
25
 
120
- def foreword(isoxml, out)
121
- f = isoxml.at(ns("//foreword")) || return
122
- page_break(out)
123
- out.div **attr_code(id: f["id"]) do |s|
124
- s.h1(**{ class: "ForewordTitle" }) do |h1|
125
- h1 << @foreword_lbl
126
- end
127
- f.elements.each { |e| parse(e, s) unless e.name == "title" }
26
+ def convert(filename, file = nil, debug = false)
27
+ file = File.read(filename, encoding: "utf-8") if file.nil?
28
+ docxml, outname_html, dir = convert_init(file, filename, debug)
29
+ /\.xml$/.match(filename) or
30
+ filename = Tempfile.open([outname_html, ".xml"], encoding: "utf-8") do |f|
31
+ f.write file
32
+ f.path
128
33
  end
34
+ FileUtils.rm_rf dir
35
+ ::Metanorma::Output::XslfoPdf.new.convert(
36
+ filename, outname_html + ".pdf",
37
+ File.join(@libdir, pdf_stylesheet(docxml)))
129
38
  end
130
-
131
- include BaseConvert
132
39
  end
133
40
  end
134
41
  end
@@ -0,0 +1,3834 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:un="https://www.metanorma.org/ns/un" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:barcode="http://barcode4j.krysalis.org/ns" version="1.0">
2
+
3
+ <xsl:output version="1.0" method="xml" encoding="UTF-8" indent="no"/>
4
+
5
+
6
+
7
+
8
+
9
+ <xsl:variable name="pageWidth" select="'210mm'"/>
10
+ <xsl:variable name="pageHeight" select="'297mm'"/>
11
+
12
+ <xsl:variable name="debug">false</xsl:variable>
13
+
14
+ <xsl:variable name="contents">
15
+ <contents>
16
+ <xsl:apply-templates select="/un:un-standard/un:sections/*" mode="contents"/>
17
+ <xsl:apply-templates select="/un:un-standard/un:annex" mode="contents"/>
18
+ </contents>
19
+ </xsl:variable>
20
+
21
+ <xsl:variable name="lang">
22
+ <xsl:call-template name="getLang"/>
23
+ </xsl:variable>
24
+
25
+ <xsl:variable name="title" select="/un:un-standard/un:bibdata/un:title[@language = 'en' and @type = 'main']"/>
26
+
27
+ <xsl:variable name="id" select="/un:un-standard/un:bibdata/un:ext/un:session/un:id"/>
28
+
29
+ <xsl:template match="/">
30
+ <fo:root font-family="Times New Roman, STIX2Math, HanSans" font-size="10pt" xml:lang="{$lang}">
31
+ <fo:layout-master-set>
32
+ <!-- Cover page -->
33
+ <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
34
+ <fo:region-body margin-top="17.5mm" margin-bottom="10mm" margin-left="20mm" margin-right="20mm"/>
35
+ <fo:region-before extent="17.5mm"/>
36
+ <fo:region-after extent="10mm"/>
37
+ <fo:region-start extent="20mm"/>
38
+ <fo:region-end extent="20mm"/>
39
+ </fo:simple-page-master>
40
+
41
+ <!-- Document odd pages -->
42
+ <fo:simple-page-master master-name="odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
43
+ <fo:region-body margin-top="30mm" margin-bottom="40mm" margin-left="40mm" margin-right="40mm"/>
44
+ <fo:region-before region-name="header-odd" extent="26mm"/>
45
+ <fo:region-after region-name="footer-odd" extent="40mm"/>
46
+ <fo:region-start region-name="left-region" extent="40mm"/>
47
+ <fo:region-end region-name="right-region" extent="40mm"/>
48
+ </fo:simple-page-master>
49
+ <!-- Document even pages -->
50
+ <fo:simple-page-master master-name="even" page-width="{$pageWidth}" page-height="{$pageHeight}">
51
+ <fo:region-body margin-top="30mm" margin-bottom="40mm" margin-left="40mm" margin-right="40mm"/>
52
+ <fo:region-before region-name="header-even" extent="26mm"/>
53
+ <fo:region-after region-name="footer-even" extent="40mm"/>
54
+ <fo:region-start region-name="left-region" extent="40mm"/>
55
+ <fo:region-end region-name="right-region" extent="40mm"/>
56
+ </fo:simple-page-master>
57
+ <fo:page-sequence-master master-name="document">
58
+ <fo:repeatable-page-master-alternatives>
59
+ <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
60
+ <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
61
+ </fo:repeatable-page-master-alternatives>
62
+ </fo:page-sequence-master>
63
+ </fo:layout-master-set>
64
+
65
+ <fo:declarations>
66
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
67
+ <pdf:dictionary type="normal" key="ViewerPreferences">
68
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
69
+ </pdf:dictionary>
70
+ </pdf:catalog>
71
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
72
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
73
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
74
+ <!-- Dublin Core properties go here -->
75
+ <dc:title>
76
+ <xsl:choose>
77
+ <xsl:when test="$title != ''">
78
+ <xsl:value-of select="$title"/>
79
+ </xsl:when>
80
+ <xsl:otherwise>
81
+ <xsl:text> </xsl:text>
82
+ </xsl:otherwise>
83
+ </xsl:choose>
84
+ </dc:title>
85
+ <dc:creator/>
86
+ <dc:description>
87
+ <xsl:variable name="abstract">
88
+ <xsl:copy-of select="/un:un-standard/un:preface/un:abstract//text()"/>
89
+ </xsl:variable>
90
+ <xsl:value-of select="normalize-space($abstract)"/>
91
+ </dc:description>
92
+ <pdf:Keywords>
93
+ <xsl:call-template name="insertKeywords"/>
94
+ </pdf:Keywords>
95
+ </rdf:Description>
96
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
97
+ <!-- XMP properties go here -->
98
+ <xmp:CreatorTool/>
99
+ </rdf:Description>
100
+ </rdf:RDF>
101
+ </x:xmpmeta>
102
+ </fo:declarations>
103
+
104
+ <!-- Cover Page -->
105
+ <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
106
+ <fo:flow flow-name="xsl-region-body">
107
+ <fo:block-container border-bottom="0.5pt solid black" margin-bottom="6pt">
108
+ <fo:block text-align-last="justify">
109
+ <fo:inline padding-right="22mm"> </fo:inline>
110
+ <fo:inline font-size="14pt" baseline-shift="15%"><xsl:value-of select="/un:un-standard/un:bibdata/un:contributor/un:organization/un:name"/></fo:inline>
111
+ <fo:inline keep-together.within-line="always">
112
+ <fo:leader leader-pattern="space"/>
113
+ <fo:inline font-size="20pt"><xsl:value-of select="substring-before($id, '/')"/></fo:inline>
114
+ <fo:inline font-size="10pt">/<xsl:value-of select="substring-after($id, '/')"/></fo:inline>
115
+ </fo:inline>
116
+ </fo:block>
117
+ </fo:block-container>
118
+ <fo:block-container height="48mm">
119
+ <fo:block>
120
+ <fo:table table-layout="fixed" width="100%">
121
+ <fo:table-column column-width="22mm"/>
122
+ <fo:table-column column-width="98mm"/>
123
+ <fo:table-column column-width="50mm"/>
124
+ <fo:table-body>
125
+ <fo:table-row>
126
+ <fo:table-cell padding-left="0.5mm">
127
+ <fo:block>
128
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo))}" width="28mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
129
+ </fo:block>
130
+ </fo:table-cell>
131
+ <fo:table-cell>
132
+ <fo:block font-size="20pt" font-weight="bold">Economic and Social Council</fo:block>
133
+ </fo:table-cell>
134
+ <fo:table-cell font-size="10pt">
135
+ <fo:block margin-top="8pt">
136
+ <xsl:text>Distr.: </xsl:text><xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:distribution"/>
137
+ </fo:block>
138
+ <fo:block margin-bottom="12pt">
139
+ <xsl:call-template name="formatDate">
140
+ <xsl:with-param name="date" select="/un:un-standard/un:bibdata/un:version/un:revision-date"/>
141
+ </xsl:call-template>
142
+ </fo:block>
143
+ <fo:block>
144
+ <xsl:text>Original: </xsl:text>
145
+ <xsl:call-template name="getLanguage">
146
+ <xsl:with-param name="lang" select="/un:un-standard/un:bibdata/un:language"/>
147
+ </xsl:call-template>
148
+ </fo:block>
149
+ </fo:table-cell>
150
+ </fo:table-row>
151
+ </fo:table-body>
152
+ </fo:table>
153
+ </fo:block>
154
+ </fo:block-container>
155
+ <!-- <fo:block margin-bottom="24pt">&#xA0;</fo:block> -->
156
+ <fo:block-container font-weight="bold" border-top="1.5pt solid black">
157
+ <fo:block font-size="14pt" padding-top="0.5mm" margin-top="6pt" margin-bottom="6pt">Economic Commission for Europe</fo:block>
158
+ <fo:block font-size="12pt" margin-bottom="6pt">UNECE Executive Committee</fo:block>
159
+ <fo:block font-size="12pt" margin-bottom="6pt"><xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:editorialgroup/un:committee"/></fo:block>
160
+ <fo:block font-size="10pt">
161
+ <fo:block font-weight="bold">
162
+ <!-- Example: 24 -> Twenty-fourth session -->
163
+ <xsl:call-template name="number-to-words">
164
+ <xsl:with-param name="number" select="/un:un-standard/un:bibdata/un:ext/un:session/un:number"/>
165
+ <xsl:with-param name="first" select="'true'"/>
166
+ </xsl:call-template>
167
+ <xsl:text>session</xsl:text>
168
+ </fo:block>
169
+ <fo:block font-weight="normal">
170
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:session/un:date"/>
171
+ </fo:block>
172
+ <fo:block font-weight="normal">
173
+ <xsl:text>Item 1 of the </xsl:text><xsl:value-of select="translate(/un:un-standard/un:sections/un:clause[1]/un:title, $upper, $lower)"/>
174
+ </fo:block>
175
+ <fo:block>
176
+ <xsl:value-of select="translate(/un:un-standard/un:sections/un:clause[1]/un:ol[1]/un:li[1]/un:p[1], '.', '')"/>
177
+ </fo:block>
178
+ <fo:block><xsl:value-of select="$title"/></fo:block>
179
+ </fo:block>
180
+ </fo:block-container>
181
+
182
+ <!-- <xsl:apply-templates select="/un:un-standard/un:preface/un:foreword"/> -->
183
+
184
+ <fo:block-container font-weight="bold" margin-left="20mm" margin-top="10pt">
185
+ <fo:block margin-left="-20mm">
186
+ <fo:block font-size="17pt" margin-bottom="16pt">
187
+ <xsl:value-of select="$title"/>
188
+ </fo:block>
189
+ <fo:block font-size="14pt" margin-bottom="16pt">
190
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:title[@language = 'en' and @type = 'subtitle']"/>
191
+ </fo:block>
192
+ <xsl:if test="/un:un-standard/un:bibdata/un:ext/un:session/un:collaborator">
193
+ <fo:block font-size="14pt" margin-bottom="22pt">
194
+ <xsl:text>Developed in Collaboration with the </xsl:text><xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:session/un:collaborator"/>
195
+ </fo:block>
196
+ </xsl:if>
197
+ </fo:block>
198
+ </fo:block-container>
199
+
200
+ <xsl:apply-templates select="/un:un-standard/un:preface/un:abstract"/>
201
+
202
+ <xsl:variable name="charsToRemove" select="concat($upper, $lower, '.()~!@#$%^*-+')"/>
203
+ <xsl:variable name="code" select="translate(/un:un-standard/un:bibdata/un:docidentifier, $charsToRemove,'')"/>
204
+
205
+ <fo:block-container absolute-position="fixed" left="20mm" top="258mm" width="30mm" text-align="center">
206
+ <fo:block font-size="10pt" text-align="left">
207
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:docidentifier"/>
208
+ </fo:block>
209
+
210
+ <fo:block padding-top="1mm">
211
+ <fo:instream-foreign-object fox:alt-text="Barcode">
212
+ <barcode:barcode message="{$code}">
213
+ <barcode:code39>
214
+ <barcode:height>8.5mm</barcode:height>
215
+ <barcode:module-width>0.24mm</barcode:module-width>
216
+ <barcode:human-readable>
217
+ <barcode:placement>none</barcode:placement>
218
+ <!--<barcode:pattern>* _ _ _ _ _ _ _ _ _ *</barcode:pattern>
219
+ <barcode:font-name>Arial</barcode:font-name>
220
+ <barcode:font-size>9.7pt</barcode:font-size> -->
221
+ </barcode:human-readable>
222
+ </barcode:code39>
223
+ </barcode:barcode>
224
+ </fo:instream-foreign-object>
225
+ </fo:block>
226
+ <fo:block padding-top="-0.8mm" text-align="left" font-family="Arial" font-size="8pt" letter-spacing="1.8mm">
227
+ <xsl:value-of select="concat('*', $code, '*')"/>
228
+ </fo:block>
229
+ </fo:block-container>
230
+
231
+ <fo:block-container absolute-position="fixed" left="143mm" top="262mm">
232
+ <fo:block>
233
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Recycle))}" width="26mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Recycle"/>
234
+ </fo:block>
235
+ </fo:block-container>
236
+ <fo:block-container absolute-position="fixed" left="170mm" top="253mm">
237
+ <fo:block>
238
+ <fo:instream-foreign-object fox:alt-text="Barcode">
239
+ <barcode:barcode message="{concat('http://undocs.org/', /un:un-standard/un:bibdata/un:ext/un:session/un:id)}">
240
+ <barcode:qr>
241
+ <barcode:module-width>0.55mm</barcode:module-width>
242
+ <barcode:ec-level>M</barcode:ec-level>
243
+ </barcode:qr>
244
+ </barcode:barcode>
245
+ </fo:instream-foreign-object>
246
+ </fo:block>
247
+ </fo:block-container>
248
+
249
+ </fo:flow>
250
+ </fo:page-sequence>
251
+ <!-- End Cover Page -->
252
+
253
+
254
+ <!-- Document Pages -->
255
+ <fo:page-sequence master-reference="document" initial-page-number="2" format="1" force-page-count="no-force" line-height="115%">
256
+ <fo:static-content flow-name="xsl-footnote-separator">
257
+ <fo:block-container margin-left="-8mm">
258
+ <fo:block margin-left="8mm">
259
+ <fo:leader leader-pattern="rule" leader-length="20%"/>
260
+ </fo:block>
261
+ </fo:block-container>
262
+ </fo:static-content>
263
+ <xsl:call-template name="insertHeaderFooter"/>
264
+ <fo:flow flow-name="xsl-region-body">
265
+
266
+ <xsl:if test="$debug = 'true'">
267
+ <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
268
+ DEBUG
269
+ contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
270
+ <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
271
+ </xsl:if>
272
+
273
+ <fo:block>
274
+ <xsl:apply-templates select="/un:un-standard/un:sections/*"/>
275
+ <xsl:apply-templates select="/un:un-standard/un:annex"/>
276
+ </fo:block>
277
+
278
+ <fo:block-container margin-left="50mm" width="30mm" border-bottom="0.5pt solid black" margin-top="12pt" keep-with-previous="always">
279
+ <fo:block> </fo:block>
280
+ </fo:block-container>
281
+
282
+ </fo:flow>
283
+ </fo:page-sequence>
284
+ <!-- End Document Pages -->
285
+
286
+ </fo:root>
287
+ </xsl:template>
288
+
289
+ <!-- ============================= -->
290
+ <!-- CONTENTS -->
291
+ <!-- ============================= -->
292
+ <xsl:template match="node()" mode="contents">
293
+ <xsl:apply-templates mode="contents"/>
294
+ </xsl:template>
295
+
296
+ <xsl:template match="un:un-standard/un:sections/*" mode="contents">
297
+ <xsl:apply-templates mode="contents"/>
298
+ </xsl:template>
299
+
300
+
301
+ <!-- Any node with title element - clause, definition, annex,... -->
302
+ <xsl:template match="un:title | un:preferred" mode="contents">
303
+ <xsl:variable name="id">
304
+ <xsl:choose>
305
+ <xsl:when test="../@id">
306
+ <xsl:value-of select="../@id"/>
307
+ </xsl:when>
308
+ <xsl:otherwise>
309
+ <xsl:value-of select="text()"/>
310
+ </xsl:otherwise>
311
+ </xsl:choose>
312
+ </xsl:variable>
313
+
314
+ <xsl:variable name="level">
315
+ <xsl:call-template name="getLevel"/>
316
+ </xsl:variable>
317
+
318
+ <!-- <xsl:message>
319
+ level=<xsl:value-of select="$level"/>=<xsl:value-of select="."/>
320
+ </xsl:message> -->
321
+
322
+ <xsl:variable name="section">
323
+ <xsl:call-template name="getSection"/>
324
+ </xsl:variable>
325
+
326
+
327
+ <xsl:variable name="type">
328
+ <xsl:value-of select="local-name(..)"/>
329
+ </xsl:variable>
330
+
331
+ <item id="{$id}" level="{$level}" section="{$section}" display="false" type="{$type}">
332
+ <xsl:if test="$type = 'clause'">
333
+ <xsl:attribute name="section">
334
+ <xsl:text>Clause </xsl:text>
335
+ <xsl:choose>
336
+ <xsl:when test="ancestor::un:sections">
337
+ <!-- 1, 2, 3, 4, ... from main section (not annex ...) -->
338
+ <xsl:choose>
339
+ <xsl:when test="$level = 1">
340
+ <xsl:number format="I" count="//un:sections/un:clause"/>
341
+ </xsl:when>
342
+ <xsl:when test="$level = 2">
343
+ <xsl:number format="I." count="//un:sections/un:clause"/>
344
+ <xsl:number format="A" count="//un:sections/un:clause/un:clause[un:title]"/>
345
+ </xsl:when>
346
+ <xsl:when test="$level &gt;= 3">
347
+ <xsl:number format="I." count="//un:sections/un:clause"/>
348
+ <xsl:number format="A." count="//un:sections/un:clause/un:clause[un:title]"/>
349
+ <xsl:number format="1" count="//un:sections/un:clause/un:clause/un:clause[un:title]"/>
350
+ </xsl:when>
351
+ <xsl:otherwise>
352
+ </xsl:otherwise>
353
+ </xsl:choose>
354
+ </xsl:when>
355
+ <xsl:when test="ancestor::un:annex">
356
+ <xsl:choose>
357
+ <xsl:when test="$level = 1">
358
+ <xsl:text>Annex </xsl:text>
359
+ <xsl:number format="A" level="any" count="un:annex"/>
360
+ </xsl:when>
361
+ <xsl:otherwise>
362
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
363
+ <xsl:number format="1." count="//un:annex[@id = $annex_id]/un:clause[un:title]"/>
364
+ </xsl:otherwise>
365
+ </xsl:choose>
366
+ </xsl:when>
367
+ <xsl:otherwise>
368
+ </xsl:otherwise>
369
+ </xsl:choose>
370
+ </xsl:attribute>
371
+
372
+ </xsl:if>
373
+ <xsl:value-of select="."/>
374
+ </item>
375
+
376
+ <xsl:apply-templates mode="contents"/>
377
+ </xsl:template>
378
+
379
+ <xsl:template match="un:bibitem" mode="contents"/>
380
+
381
+ <xsl:template match="un:references" mode="contents">
382
+ <xsl:apply-templates mode="contents"/>
383
+ </xsl:template>
384
+
385
+
386
+ <xsl:template match="un:figure" mode="contents">
387
+ <item level="" id="{@id}" type="figure">
388
+ <xsl:attribute name="section">
389
+ <xsl:text>Figure </xsl:text>
390
+ <xsl:choose>
391
+ <xsl:when test="ancestor::un:annex">
392
+ <xsl:choose>
393
+ <xsl:when test="count(//un:annex) = 1">
394
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:structuredidentifier/un:annexid"/><xsl:number format="-1" level="any" count="un:annex//un:figure"/>
395
+ </xsl:when>
396
+ <xsl:otherwise>
397
+ <xsl:number format="A.1-1" level="multiple" count="un:annex | un:figure"/>
398
+ </xsl:otherwise>
399
+ </xsl:choose>
400
+ </xsl:when>
401
+ <xsl:when test="ancestor::un:figure">
402
+ <xsl:for-each select="parent::*[1]">
403
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
404
+ </xsl:for-each>
405
+ <xsl:number format="-a" count="un:figure"/>
406
+ </xsl:when>
407
+ <xsl:otherwise>
408
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
409
+ <!-- <xsl:number format="1.1-1" level="multiple" count="un:annex | un:figure"/> -->
410
+ </xsl:otherwise>
411
+ </xsl:choose>
412
+ </xsl:attribute>
413
+ <xsl:value-of select="un:name"/>
414
+ </item>
415
+ </xsl:template>
416
+
417
+ <xsl:template match="un:table" mode="contents">
418
+ <xsl:variable name="annex-id" select="ancestor::un:annex/@id"/>
419
+ <item level="" id="{@id}" display="false" type="table">
420
+ <xsl:attribute name="section">
421
+ <xsl:text>Table </xsl:text>
422
+ <xsl:choose>
423
+ <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
424
+ <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table']"/>
425
+ </xsl:when>
426
+ <xsl:when test="ancestor::*[local-name()='annex']">
427
+ <xsl:number format="I." count="un:annex"/>
428
+ <xsl:number format="1" level="any" count="un:table[ancestor::un:annex[@id = $annex-id]]"/>
429
+ </xsl:when>
430
+ <xsl:otherwise>
431
+ <!-- <xsl:number format="1"/> -->
432
+ <xsl:number format="1" level="any" count="*[local-name()='sections']//*[local-name()='table']"/>
433
+ </xsl:otherwise>
434
+ </xsl:choose>
435
+ </xsl:attribute>
436
+ <xsl:apply-templates select="un:name"/>
437
+ </item>
438
+ </xsl:template>
439
+
440
+
441
+ <xsl:template match="un:formula" mode="contents">
442
+ <item level="" id="{@id}" display="false">
443
+ <xsl:attribute name="section">
444
+ <xsl:text>Formula (</xsl:text><xsl:number format="A.1" level="multiple" count="un:annex | un:formula"/><xsl:text>)</xsl:text>
445
+ </xsl:attribute>
446
+ </item>
447
+ </xsl:template>
448
+
449
+ <xsl:template match="un:example" mode="contents">
450
+ <xsl:variable name="level">
451
+ <xsl:call-template name="getLevel"/>
452
+ </xsl:variable>
453
+ <xsl:variable name="section">
454
+ <xsl:call-template name="getSection"/>
455
+ </xsl:variable>
456
+
457
+ <xsl:variable name="parent-element" select="local-name(..)"/>
458
+ <item level="" id="{@id}" display="false" type="Example" section="{$section}">
459
+ <xsl:attribute name="parent">
460
+ <xsl:choose>
461
+ <xsl:when test="$parent-element = 'clause'">Clause</xsl:when>
462
+ <xsl:otherwise/>
463
+ </xsl:choose>
464
+ </xsl:attribute>
465
+ </item>
466
+ <xsl:apply-templates mode="contents"/>
467
+ </xsl:template>
468
+
469
+ <xsl:template match="un:terms" mode="contents">
470
+ <item level="" id="{@id}" display="false" type="Terms">
471
+ <xsl:if test="ancestor::un:annex">
472
+ <xsl:attribute name="section">
473
+ <xsl:text>Appendix </xsl:text><xsl:number format="A" count="un:annex"/>
474
+ </xsl:attribute>
475
+ </xsl:if>
476
+ </item>
477
+ </xsl:template>
478
+
479
+ <xsl:template match="un:references" mode="contents">
480
+ <item level="" id="{@id}" display="false" type="References">
481
+ <xsl:if test="ancestor::un:annex">
482
+ <xsl:attribute name="section">
483
+ <xsl:text>Appendix </xsl:text><xsl:number format="A" count="un:annex"/>
484
+ </xsl:attribute>
485
+ </xsl:if>
486
+ </item>
487
+ </xsl:template>
488
+
489
+ <xsl:template match="un:admonition" mode="contents">
490
+ <item level="" id="{@id}" display="false" type="Box">
491
+ <xsl:attribute name="section">
492
+ <xsl:variable name="num">
493
+ <xsl:number/>
494
+ </xsl:variable>
495
+ <xsl:text>Box </xsl:text><xsl:value-of select="$num"/>
496
+ </xsl:attribute>
497
+ </item>
498
+ </xsl:template>
499
+
500
+ <!-- ============================= -->
501
+ <!-- ============================= -->
502
+
503
+
504
+ <!-- ============================= -->
505
+ <!-- PARAGRAPHS -->
506
+ <!-- ============================= -->
507
+
508
+ <xsl:template match="un:preface/un:abstract">
509
+ <fo:block>
510
+ <fo:table table-layout="fixed" width="100%" border="0.5pt solid black">
511
+ <fo:table-column column-width="19mm"/>
512
+ <fo:table-column column-width="134mm"/>
513
+ <fo:table-column column-width="17mm"/>
514
+ <fo:table-body>
515
+ <fo:table-row>
516
+ <fo:table-cell padding-left="6mm" padding-top="2.5mm">
517
+ <fo:block font-size="12pt" font-style="italic" margin-bottom="6pt">Summary</fo:block>
518
+ </fo:table-cell>
519
+ <fo:table-cell>
520
+ <fo:block> </fo:block>
521
+ </fo:table-cell>
522
+ <fo:table-cell>
523
+ <fo:block> </fo:block>
524
+ </fo:table-cell>
525
+ </fo:table-row>
526
+ <fo:table-row>
527
+ <fo:table-cell>
528
+ <fo:block> </fo:block>
529
+ </fo:table-cell>
530
+ <fo:table-cell text-align="justify" padding-bottom="12pt" padding-right="3mm">
531
+ <fo:block font-size="10pt" line-height="120%"><xsl:apply-templates/></fo:block>
532
+ </fo:table-cell>
533
+ <fo:table-cell>
534
+ <fo:block> </fo:block>
535
+ </fo:table-cell>
536
+ </fo:table-row>
537
+ </fo:table-body>
538
+ </fo:table>
539
+ </fo:block>
540
+ </xsl:template>
541
+
542
+ <xsl:template match="un:abstract//un:p" priority="2">
543
+ <fo:block margin-bottom="6pt">
544
+ <xsl:attribute name="text-align">
545
+ <xsl:choose>
546
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
547
+ <xsl:otherwise>justify</xsl:otherwise>
548
+ </xsl:choose>
549
+ </xsl:attribute>
550
+ <xsl:apply-templates/>
551
+ </fo:block>
552
+ </xsl:template>
553
+
554
+ <xsl:template match="un:preface//un:p">
555
+ <fo:block margin-bottom="12pt">
556
+ <xsl:attribute name="text-align">
557
+ <xsl:choose>
558
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
559
+ <xsl:otherwise>left</xsl:otherwise>
560
+ </xsl:choose>
561
+ </xsl:attribute>
562
+ <!-- <xsl:choose>
563
+ <xsl:when test="ancestor::un:sections">
564
+ <fo:inline padding-right="10mm"><xsl:number format="1. " level="any" count="un:sections//un:clause/un:p"/></fo:inline>
565
+ </xsl:when>
566
+ <xsl:when test="ancestor::un:annex">
567
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
568
+ <fo:inline padding-right="10mm"><xsl:number format="1. " level="any" count="un:annex[@id = $annex_id]//un:clause/un:p"/></fo:inline>
569
+ </xsl:when>
570
+ </xsl:choose> -->
571
+ <xsl:apply-templates/>
572
+ </fo:block>
573
+ </xsl:template>
574
+
575
+
576
+ <xsl:template match="un:p[ancestor::un:table]">
577
+ <fo:block>
578
+ <xsl:apply-templates/>
579
+ </fo:block>
580
+ </xsl:template>
581
+
582
+ <xsl:template match="un:p">
583
+ <fo:block-container margin-left="1mm">
584
+ <fo:block margin-left="-1mm">
585
+ <fo:list-block provisional-distance-between-starts="9mm" margin-bottom="6pt" line-height="122%">
586
+ <xsl:attribute name="text-align">
587
+ <xsl:choose>
588
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
589
+ <xsl:otherwise>justify</xsl:otherwise>
590
+ </xsl:choose>
591
+ </xsl:attribute>
592
+ <fo:list-item>
593
+ <fo:list-item-label end-indent="label-end()">
594
+ <fo:block>
595
+ <xsl:choose>
596
+ <xsl:when test="ancestor::un:sections">
597
+ <xsl:number format="1. " level="any" count="un:sections//un:clause/un:p"/>
598
+ </xsl:when>
599
+ <xsl:when test="ancestor::un:annex">
600
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
601
+ <xsl:number format="1. " level="any" count="un:annex[@id = $annex_id]//un:p"/> <!-- //un:clause -->
602
+ </xsl:when>
603
+ </xsl:choose>
604
+ </fo:block>
605
+ </fo:list-item-label>
606
+ <fo:list-item-body text-indent="body-start()">
607
+ <fo:block>
608
+ <xsl:text> </xsl:text><xsl:apply-templates/>
609
+ </fo:block>
610
+ </fo:list-item-body>
611
+ </fo:list-item>
612
+ </fo:list-block>
613
+ </fo:block>
614
+ </fo:block-container>
615
+ </xsl:template>
616
+
617
+ <xsl:template match="text()">
618
+ <xsl:value-of select="."/>
619
+ </xsl:template>
620
+
621
+ <xsl:template match="un:title/un:fn | un:p/un:fn[not(ancestor::un:table)] | un:figure/un:name/un:fn" priority="2">
622
+ <fo:footnote keep-with-previous.within-line="always">
623
+ <xsl:variable name="number">
624
+ <xsl:number level="any" count="un:fn[not(ancestor::un:table)]"/>
625
+ </xsl:variable>
626
+ <fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
627
+ <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
628
+ <xsl:value-of select="$number + count(//un:bibitem/un:note)"/>
629
+ </fo:basic-link>
630
+ </fo:inline>
631
+ <fo:footnote-body>
632
+ <fo:block-container margin-left="-8mm">
633
+ <fo:block font-size="9pt" text-align="justify" line-height="125%" font-weight="normal" text-indent="0" margin-left="8mm">
634
+ <fo:inline id="footnote_{@reference}_{$number}" font-size="60%" keep-with-next.within-line="always" vertical-align="super" padding-right="8mm"> <!-- alignment-baseline="hanging" -->
635
+ <xsl:value-of select="$number + count(//un:bibitem/un:note)"/>
636
+ </fo:inline>
637
+ <xsl:for-each select="un:p">
638
+ <xsl:apply-templates/>
639
+ </xsl:for-each>
640
+ </fo:block>
641
+ </fo:block-container>
642
+ </fo:footnote-body>
643
+ </fo:footnote>
644
+ </xsl:template>
645
+
646
+ <xsl:template match="un:fn/un:p">
647
+ <fo:block>
648
+ <xsl:apply-templates/>
649
+ </fo:block>
650
+ </xsl:template>
651
+
652
+ <xsl:template match="un:ul | un:ol">
653
+ <fo:block-container margin-left="8mm">
654
+ <fo:list-block provisional-distance-between-starts="3mm" margin-left="-8mm">
655
+ <xsl:apply-templates/>
656
+ </fo:list-block>
657
+ <xsl:apply-templates select="./un:note" mode="process"/>
658
+ </fo:block-container>
659
+ </xsl:template>
660
+
661
+ <xsl:template match="un:ul//un:note | un:ol//un:note"/>
662
+ <xsl:template match="un:ul//un:note/un:p | un:ol//un:note/un:p" mode="process">
663
+ <fo:block font-size="11pt" margin-top="4pt">
664
+ <xsl:text>NOTE </xsl:text>
665
+ <xsl:if test="../following-sibling::un:note or ../preceding-sibling::un:note">
666
+ <xsl:number count="un:note"/><xsl:text> </xsl:text>
667
+ </xsl:if>
668
+ <xsl:text>– </xsl:text>
669
+ <xsl:apply-templates/>
670
+ </fo:block>
671
+ </xsl:template>
672
+
673
+ <xsl:template match="un:li">
674
+ <xsl:variable name="level">
675
+ <xsl:call-template name="getLevel"/>
676
+ </xsl:variable>
677
+ <fo:list-item>
678
+ <fo:list-item-label end-indent="label-end()">
679
+ <fo:block>
680
+ <xsl:choose>
681
+ <!-- <xsl:when test="local-name(..) = 'ul'">&#x2014;</xsl:when> --> <!-- dash -->
682
+ <xsl:when test="local-name(..) = 'ul'">•</xsl:when>
683
+ <xsl:otherwise> <!-- for ordered lists -->
684
+ <xsl:choose>
685
+ <xsl:when test="../@type = 'arabic'">
686
+ <xsl:number format="1."/>
687
+ </xsl:when>
688
+ <xsl:when test="../@type = 'alphabet'">
689
+ <xsl:number format="1)"/>
690
+ </xsl:when>
691
+ <xsl:when test="ancestor::*[un:annex]">
692
+ <xsl:choose>
693
+ <xsl:when test="$level = 1">
694
+ <xsl:number format="a)"/>
695
+ </xsl:when>
696
+ <xsl:when test="$level = 2">
697
+ <xsl:number format="i)"/>
698
+ </xsl:when>
699
+ <xsl:otherwise>
700
+ <xsl:number format="1.)"/>
701
+ </xsl:otherwise>
702
+ </xsl:choose>
703
+ </xsl:when>
704
+ <xsl:otherwise>
705
+ <xsl:number format="1."/>
706
+ </xsl:otherwise>
707
+ </xsl:choose>
708
+ </xsl:otherwise>
709
+ </xsl:choose>
710
+ </fo:block>
711
+ </fo:list-item-label>
712
+ <fo:list-item-body start-indent="body-start()">
713
+ <xsl:apply-templates/>
714
+ <xsl:apply-templates select=".//un:note" mode="process"/>
715
+ </fo:list-item-body>
716
+ </fo:list-item>
717
+ </xsl:template>
718
+
719
+ <xsl:template match="un:li//un:p">
720
+ <fo:block margin-bottom="6pt" line-height="122%" text-align="justify">
721
+ <xsl:apply-templates/>
722
+ </fo:block>
723
+ </xsl:template>
724
+
725
+ <xsl:template match="un:link" priority="2">
726
+ <fo:inline>
727
+ <xsl:if test="ancestor::un:fn and string-length(@target) &gt; 110">
728
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
729
+ </xsl:if>
730
+ <xsl:call-template name="link"/>
731
+ </fo:inline>
732
+ </xsl:template>
733
+
734
+ <xsl:template match="un:xref">
735
+ <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
736
+ <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
737
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">
738
+ <xsl:choose>
739
+ <xsl:when test="$section != ''"><xsl:value-of select="$section"/></xsl:when>
740
+ <xsl:otherwise>???</xsl:otherwise>
741
+ </xsl:choose>
742
+ </fo:basic-link>
743
+ </xsl:template>
744
+
745
+ <xsl:template match="un:admonition">
746
+ <fo:block text-align="center" font-style="italic" keep-with-next="always" margin-bottom="6pt">
747
+ <xsl:text>Box </xsl:text><xsl:number/><xsl:text>: </xsl:text><xsl:apply-templates select="un:name" mode="process"/>
748
+ </fo:block>
749
+ <fo:block-container border="0.25pt solid black" margin-left="-3mm" margin-right="-3mm" padding-top="4mm">
750
+ <fo:block id="{@id}" font-weight="bold" margin-left="6mm" margin-right="6mm" keep-with-next="always">
751
+ <xsl:text>Box </xsl:text><xsl:number/><xsl:text>: </xsl:text><xsl:apply-templates select="un:name" mode="process"/>
752
+ </fo:block>
753
+ <fo:block margin-left="5mm" margin-right="5mm">
754
+ <xsl:apply-templates/>
755
+ </fo:block>
756
+ </fo:block-container>
757
+ <fo:block margin-bottom="4pt"> </fo:block>
758
+ </xsl:template>
759
+
760
+ <xsl:template match="un:admonition/un:name"/>
761
+ <xsl:template match="un:admonition/un:name" mode="process">
762
+ <xsl:apply-templates/>
763
+ </xsl:template>
764
+
765
+ <xsl:template match="un:admonition/un:p">
766
+ <fo:block text-align="justify" margin-bottom="6pt" line-height="122%"><xsl:apply-templates/></fo:block>
767
+ </xsl:template>
768
+
769
+ <!-- ============================= -->
770
+ <!-- ============================= -->
771
+
772
+
773
+ <xsl:template match="un:un-standard/un:sections/*">
774
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
775
+ <fo:block>
776
+ <xsl:if test="$num = 1">
777
+ <xsl:attribute name="margin-top">20pt</xsl:attribute>
778
+ </xsl:if>
779
+ <xsl:variable name="sectionNum"><xsl:number count="*"/></xsl:variable>
780
+ <xsl:apply-templates>
781
+ <xsl:with-param name="sectionNum" select="$sectionNum"/>
782
+ </xsl:apply-templates>
783
+ </fo:block>
784
+ <!-- -->
785
+ </xsl:template>
786
+
787
+
788
+ <xsl:template match="/un:un-standard/un:annex">
789
+ <fo:block break-after="page"/>
790
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
791
+
792
+ <!-- <fo:block-container border-bottom="0.5pt solid black">
793
+ <fo:block>&#xA0;</fo:block>
794
+ </fo:block-container>
795
+ <fo:block margin-bottom="12pt">&#xA0;</fo:block> -->
796
+
797
+ <fo:block>
798
+ <xsl:if test="$num = 1">
799
+ <xsl:attribute name="margin-top">3pt</xsl:attribute>
800
+ </xsl:if>
801
+ <xsl:if test="not(un:title)">
802
+ <xsl:variable name="section">
803
+ <xsl:for-each select="*[1]">
804
+ <xsl:call-template name="getSection"/>
805
+ </xsl:for-each>
806
+ </xsl:variable>
807
+ <fo:block id="{@id}" font-size="14pt" font-weight="bold" space-before="3pt" margin-bottom="18pt" keep-with-next="always">
808
+ <xsl:value-of select="$section"/>
809
+ </fo:block>
810
+ </xsl:if>
811
+ <xsl:apply-templates/>
812
+ </fo:block>
813
+ </xsl:template>
814
+
815
+
816
+ <xsl:template match="un:title">
817
+ <xsl:variable name="id">
818
+ <xsl:choose>
819
+ <xsl:when test="../@id">
820
+ <xsl:value-of select="../@id"/>
821
+ </xsl:when>
822
+ <xsl:otherwise>
823
+ <xsl:value-of select="text()"/>
824
+ </xsl:otherwise>
825
+ </xsl:choose>
826
+ </xsl:variable>
827
+
828
+ <xsl:variable name="level">
829
+ <xsl:call-template name="getLevel"/>
830
+ </xsl:variable>
831
+
832
+ <xsl:variable name="font-size">
833
+ <xsl:choose>
834
+ <xsl:when test="$level = 1 and ancestor::un:preface">14pt</xsl:when>
835
+ <xsl:when test="$level = 1 and ancestor::un:annex">12pt</xsl:when>
836
+ <xsl:when test="$level = 2 and ancestor::un:annex">10pt</xsl:when>
837
+ <xsl:when test="$level = 1">14pt</xsl:when>
838
+ <xsl:when test="$level = 2">12pt</xsl:when>
839
+ <xsl:when test="$level = 3">10pt</xsl:when>
840
+ <xsl:otherwise>11pt</xsl:otherwise>
841
+ </xsl:choose>
842
+ </xsl:variable>
843
+
844
+ <xsl:variable name="section">
845
+ <xsl:call-template name="getSection"/>
846
+ </xsl:variable>
847
+
848
+ <xsl:choose>
849
+ <xsl:when test="ancestor::un:preface">
850
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" margin-top="3pt" margin-bottom="16pt" keep-with-next="always">
851
+ <xsl:apply-templates/>
852
+ </fo:block>
853
+ </xsl:when>
854
+ <xsl:when test="ancestor::un:sections and $level = 1">
855
+ <fo:block-container margin-left="-16mm">
856
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" margin-left="16mm" space-before="16pt" margin-bottom="13pt" keep-with-next="always">
857
+ <fo:table table-layout="fixed" width="100%">
858
+ <fo:table-column column-width="16mm"/>
859
+ <fo:table-column column-width="130mm"/>
860
+ <fo:table-body>
861
+ <fo:table-row>
862
+ <fo:table-cell>
863
+ <fo:block text-align="center">
864
+ <xsl:value-of select="$section"/>
865
+ </fo:block>
866
+ </fo:table-cell>
867
+ <fo:table-cell>
868
+ <fo:block>
869
+ <xsl:apply-templates/>
870
+ </fo:block>
871
+ </fo:table-cell>
872
+ </fo:table-row>
873
+ </fo:table-body>
874
+ </fo:table>
875
+ </fo:block>
876
+ </fo:block-container>
877
+ </xsl:when>
878
+ <xsl:when test="ancestor::un:sections">
879
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" space-before="16pt" margin-bottom="13pt" text-indent="-8mm" keep-with-next="always">
880
+ <xsl:if test="$level = 2">
881
+ <xsl:attribute name="margin-left">1mm</xsl:attribute>
882
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
883
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
884
+ </xsl:if>
885
+ <xsl:if test="$level = 3">
886
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
887
+ <xsl:attribute name="margin-left">1mm</xsl:attribute>
888
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
889
+ </xsl:if>
890
+ <fo:list-block provisional-distance-between-starts="8mm">
891
+ <fo:list-item>
892
+ <fo:list-item-label end-indent="label-end()">
893
+ <fo:block>
894
+ <xsl:value-of select="$section"/>
895
+ </fo:block>
896
+ </fo:list-item-label>
897
+ <fo:list-item-body start-indent="body-start()">
898
+ <fo:block>
899
+ <xsl:apply-templates/>
900
+ </fo:block>
901
+ </fo:list-item-body>
902
+ </fo:list-item>
903
+ </fo:list-block>
904
+ </fo:block>
905
+ </xsl:when>
906
+ <xsl:when test="ancestor::un:annex and $level = 1">
907
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" space-before="3pt" keep-with-next="always">
908
+ <fo:block margin-bottom="18pt">
909
+ <xsl:value-of select="$section"/>
910
+ </fo:block>
911
+ <fo:block margin-bottom="12pt">
912
+ <xsl:apply-templates/>
913
+ </fo:block>
914
+ </fo:block>
915
+ </xsl:when>
916
+ <xsl:when test="ancestor::un:annex and $level &gt;= 2">
917
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" margin-left="1mm" space-before="3pt" margin-bottom="6pt" keep-with-next="always">
918
+ <xsl:apply-templates/>
919
+ </fo:block>
920
+ </xsl:when>
921
+ <xsl:otherwise>
922
+ <fo:block id="{$id}" font-size="{$font-size}" font-weight="bold" text-align="left" keep-with-next="always">
923
+ <fo:inline><xsl:value-of select="$section"/></fo:inline>
924
+ <xsl:apply-templates/>
925
+ </fo:block>
926
+ </xsl:otherwise>
927
+ </xsl:choose>
928
+ </xsl:template>
929
+
930
+ <!-- ============================ -->
931
+ <!-- for further use -->
932
+ <!-- ============================ -->
933
+ <xsl:template match="un:recommendation">
934
+ <fo:block margin-left="20mm">
935
+ <fo:block font-weight="bold">
936
+ <xsl:text>Recommendation </xsl:text>
937
+ <xsl:choose>
938
+ <xsl:when test="ancestor::un:sections">
939
+ <xsl:number level="any" count="un:sections//un:recommendation"/>
940
+ </xsl:when>
941
+ <xsl:when test="ancestor::*[local-name()='annex']">
942
+ <xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
943
+ <xsl:number format="A-" count="un:annex"/>
944
+ <xsl:number format="1" level="any" count="un:recommendation[ancestor::un:annex[@id = $annex-id]]"/>
945
+ <!-- <xsl:number format="A-1" level="multiple" count="un:annex | un:recommendation"/> -->
946
+ </xsl:when>
947
+ </xsl:choose>
948
+ <xsl:text>:</xsl:text>
949
+ </fo:block>
950
+ <xsl:apply-templates/>
951
+ </fo:block>
952
+ </xsl:template>
953
+
954
+
955
+ <xsl:template match="un:bibitem">
956
+ <fo:block id="{@id}" margin-top="6pt" margin-left="14mm" text-indent="-14mm">
957
+ <fo:inline padding-right="5mm">[<xsl:value-of select="un:docidentifier"/>]</fo:inline><xsl:value-of select="un:docidentifier"/>
958
+ <xsl:if test="un:title">
959
+ <fo:inline font-style="italic">
960
+ <xsl:text>, </xsl:text>
961
+ <xsl:choose>
962
+ <xsl:when test="un:title[@type = 'main' and @language = 'en']">
963
+ <xsl:value-of select="un:title[@type = 'main' and @language = 'en']"/>
964
+ </xsl:when>
965
+ <xsl:otherwise>
966
+ <xsl:value-of select="un:title"/>
967
+ </xsl:otherwise>
968
+ </xsl:choose>
969
+ </fo:inline>
970
+ </xsl:if>
971
+ <xsl:apply-templates select="un:formattedref"/>
972
+ </fo:block>
973
+ </xsl:template>
974
+ <xsl:template match="un:bibitem/un:docidentifier"/>
975
+
976
+ <xsl:template match="un:bibitem/un:title"/>
977
+
978
+ <xsl:template match="un:formattedref">
979
+ <xsl:text>, </xsl:text><xsl:apply-templates/>
980
+ </xsl:template>
981
+
982
+
983
+ <xsl:template match="*[local-name()='tt']">
984
+ <xsl:variable name="element-name">
985
+ <xsl:choose>
986
+ <xsl:when test="normalize-space(ancestor::un:p[1]//text()[not(parent::un:tt)]) != ''">fo:inline</xsl:when>
987
+ <xsl:otherwise>fo:block</xsl:otherwise>
988
+ </xsl:choose>
989
+ </xsl:variable>
990
+ <xsl:element name="{$element-name}">
991
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
992
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
993
+ <xsl:attribute name="text-align">center</xsl:attribute>
994
+ <xsl:apply-templates/>
995
+ </xsl:element>
996
+ </xsl:template>
997
+
998
+
999
+ <xsl:template match="un:figure">
1000
+ <fo:block-container id="{@id}">
1001
+ <fo:block>
1002
+ <xsl:apply-templates/>
1003
+ </fo:block>
1004
+ <xsl:if test="un:name">
1005
+ <fo:block text-align="center" margin-bottom="6pt" keep-with-previous="always">
1006
+ <xsl:text>Figure </xsl:text>
1007
+ <xsl:choose>
1008
+ <xsl:when test="ancestor::un:annex">
1009
+ <xsl:choose>
1010
+ <xsl:when test="count(//un:annex) = 1">
1011
+ <xsl:value-of select="/un:un-standard/un:bibdata/un:ext/un:structuredidentifier/un:annexid"/><xsl:number format="-1" level="any" count="un:annex//un:figure"/>
1012
+ </xsl:when>
1013
+ <xsl:otherwise>
1014
+ <xsl:number format="A-1-1" level="multiple" count="un:annex | un:figure"/>
1015
+ </xsl:otherwise>
1016
+ </xsl:choose>
1017
+ </xsl:when>
1018
+ <xsl:when test="ancestor::un:figure">
1019
+ <xsl:for-each select="parent::*[1]">
1020
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
1021
+ </xsl:for-each>
1022
+ <xsl:number format="-a" count="un:figure"/>
1023
+ </xsl:when>
1024
+ <xsl:otherwise>
1025
+ <xsl:number format="1" level="any" count="un:figure[not(parent::un:figure)]"/>
1026
+ </xsl:otherwise>
1027
+ </xsl:choose>
1028
+ <xsl:if test="un:name">
1029
+ <xsl:text>: </xsl:text>
1030
+ <xsl:apply-templates select="un:name" mode="process"/>
1031
+ </xsl:if>
1032
+ </fo:block>
1033
+ </xsl:if>
1034
+
1035
+ <!-- <xsl:call-template name="fn_display_figure"/> -->
1036
+ <xsl:for-each select="un:note//un:p">
1037
+ <xsl:call-template name="note"/>
1038
+ </xsl:for-each>
1039
+ </fo:block-container>
1040
+ </xsl:template>
1041
+
1042
+ <xsl:template match="un:figure/un:name"/>
1043
+ <xsl:template match="un:figure/un:name" mode="process">
1044
+ <xsl:apply-templates/>
1045
+ </xsl:template>
1046
+ <xsl:template match="un:figure/un:fn" priority="2"/>
1047
+ <xsl:template match="un:figure/un:note"/>
1048
+
1049
+
1050
+ <xsl:template match="un:image">
1051
+ <fo:block text-align="center" margin-bottom="12pt" keep-with-next="always" border="2pt solid black">
1052
+ <fo:external-graphic src="{@src}" fox:alt-text="Image" width="100%" content-height="100%" content-width="scale-to-fit" scaling="uniform"/>
1053
+ </fo:block>
1054
+ </xsl:template>
1055
+
1056
+
1057
+ <!-- Examples:
1058
+ [b-ASM] b-ASM, http://www.eecs.umich.edu/gasm/ (accessed 20 March 2018).
1059
+ [b-Börger & Stärk] b-Börger & Stärk, Börger, E., and Stärk, R. S. (2003), Abstract State Machines: A Method for High-Level System Design and Analysis, Springer-Verlag.
1060
+ -->
1061
+ <xsl:template match="un:annex//un:bibitem">
1062
+ <fo:block id="{@id}" margin-top="6pt" margin-left="12mm" text-indent="-12mm">
1063
+ <xsl:if test="un:formattedref">
1064
+ <xsl:choose>
1065
+ <xsl:when test="un:docidentifier[@type = 'metanorma']">
1066
+ <xsl:attribute name="margin-left">0</xsl:attribute>
1067
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1068
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1069
+ <!-- create list -->
1070
+ <fo:list-block>
1071
+ <fo:list-item>
1072
+ <fo:list-item-label end-indent="label-end()">
1073
+ <fo:block>
1074
+ <xsl:apply-templates select="un:docidentifier[@type = 'metanorma']" mode="process"/>
1075
+ </fo:block>
1076
+ </fo:list-item-label>
1077
+ <fo:list-item-body start-indent="body-start()">
1078
+ <fo:block margin-left="3mm">
1079
+ <xsl:apply-templates select="un:formattedref"/>
1080
+ </fo:block>
1081
+ </fo:list-item-body>
1082
+ </fo:list-item>
1083
+ </fo:list-block>
1084
+ </xsl:when>
1085
+ <xsl:otherwise>
1086
+ <xsl:apply-templates select="un:formattedref"/>
1087
+ <xsl:apply-templates select="un:docidentifier[@type != 'metanorma' or not(@type)]" mode="process"/>
1088
+ </xsl:otherwise>
1089
+ </xsl:choose>
1090
+ </xsl:if>
1091
+ <xsl:if test="un:title">
1092
+ <xsl:for-each select="un:contributor">
1093
+ <xsl:value-of select="un:organization/un:name"/>
1094
+ <xsl:if test="position() != last()">, </xsl:if>
1095
+ </xsl:for-each>
1096
+ <xsl:text> (</xsl:text>
1097
+ <xsl:variable name="date">
1098
+ <xsl:choose>
1099
+ <xsl:when test="un:date[@type='issued']">
1100
+ <xsl:value-of select="un:date[@type='issued']/un:on"/>
1101
+ </xsl:when>
1102
+ <xsl:otherwise>
1103
+ <xsl:value-of select="un:date/un:on"/>
1104
+ </xsl:otherwise>
1105
+ </xsl:choose>
1106
+ </xsl:variable>
1107
+ <xsl:value-of select="$date"/>
1108
+ <xsl:text>) </xsl:text>
1109
+ <fo:inline font-style="italic"><xsl:value-of select="un:title"/></fo:inline>
1110
+ <xsl:if test="un:contributor[un:role/@type='publisher']/un:organization/un:name">
1111
+ <xsl:text> (</xsl:text><xsl:value-of select="un:contributor[un:role/@type='publisher']/un:organization/un:name"/><xsl:text>)</xsl:text>
1112
+ </xsl:if>
1113
+ <xsl:text>, </xsl:text>
1114
+ <xsl:value-of select="$date"/>
1115
+ <xsl:text>. </xsl:text>
1116
+ <xsl:value-of select="un:docidentifier"/>
1117
+ <xsl:value-of select="$linebreak"/>
1118
+ <xsl:value-of select="un:uri"/>
1119
+ </xsl:if>
1120
+ </fo:block>
1121
+ </xsl:template>
1122
+
1123
+ <xsl:template match="un:annex//un:bibitem//un:formattedref">
1124
+ <xsl:apply-templates/>
1125
+ </xsl:template>
1126
+
1127
+ <xsl:template match="un:docidentifier[@type = 'metanorma']" mode="process">
1128
+ <xsl:apply-templates/>
1129
+ </xsl:template>
1130
+ <xsl:template match="un:docidentifier[@type != 'metanorma' or not(@type)]" mode="process">
1131
+ <xsl:text> [</xsl:text><xsl:apply-templates/><xsl:text>]</xsl:text>
1132
+ </xsl:template>
1133
+ <xsl:template match="un:docidentifier"/>
1134
+
1135
+ <xsl:template match="un:note/un:p | un:annex//un:note/un:p" name="note">
1136
+ <fo:block font-size="10pt" space-after="12pt" text-indent="0">
1137
+ <fo:inline padding-right="4mm"><xsl:text>NOTE </xsl:text>
1138
+ <xsl:if test="../following-sibling::un:note or ../preceding-sibling::un:note">
1139
+ <xsl:number count="un:note"/><xsl:text> </xsl:text>
1140
+ </xsl:if>
1141
+ </fo:inline>
1142
+ <xsl:apply-templates/>
1143
+ </fo:block>
1144
+ </xsl:template>
1145
+
1146
+ <xsl:template match="un:termnote">
1147
+ <fo:block margin-top="4pt">
1148
+ <xsl:text>NOTE </xsl:text>
1149
+ <xsl:if test="following-sibling::un:termnote or preceding-sibling::un:termnote">
1150
+ <xsl:number/><xsl:text> </xsl:text>
1151
+ </xsl:if>
1152
+ <xsl:text>– </xsl:text>
1153
+ <xsl:apply-templates/>
1154
+ </fo:block>
1155
+ </xsl:template>
1156
+
1157
+ <xsl:template match="un:termnote/un:p">
1158
+ <xsl:apply-templates/>
1159
+ </xsl:template>
1160
+
1161
+
1162
+ <xsl:template match="un:formula" name="formula">
1163
+ <fo:block id="{@id}" margin-top="6pt">
1164
+ <fo:table table-layout="fixed" width="100%">
1165
+ <fo:table-column column-width="95%"/>
1166
+ <fo:table-column column-width="5%"/>
1167
+ <fo:table-body>
1168
+ <fo:table-row>
1169
+ <fo:table-cell>
1170
+ <fo:block text-align="center">
1171
+ <xsl:if test="ancestor::un:annex">
1172
+ <xsl:attribute name="text-align">left</xsl:attribute>
1173
+ <xsl:attribute name="margin-left">7mm</xsl:attribute>
1174
+ </xsl:if>
1175
+ <xsl:apply-templates/>
1176
+ </fo:block>
1177
+ </fo:table-cell>
1178
+ <fo:table-cell> <!-- display-align="center" -->
1179
+ <fo:block text-align="right">
1180
+ <xsl:if test="not(ancestor::un:annex)">
1181
+ <xsl:text>(</xsl:text><xsl:number level="any"/><xsl:text>)</xsl:text>
1182
+ </xsl:if>
1183
+ <xsl:if test="ancestor::un:annex">
1184
+ <xsl:variable name="annex-id" select="ancestor::un:annex/@id"/>
1185
+ <xsl:text>(</xsl:text>
1186
+ <xsl:number format="A-" count="un:annex"/>
1187
+ <xsl:number format="1" level="any" count="un:formula[ancestor::un:annex[@id = $annex-id]]"/>
1188
+ <xsl:text>)</xsl:text>
1189
+ </xsl:if>
1190
+ </fo:block>
1191
+ </fo:table-cell>
1192
+ </fo:table-row>
1193
+ </fo:table-body>
1194
+ </fo:table>
1195
+ <fo:inline keep-together.within-line="always">
1196
+ </fo:inline>
1197
+ </fo:block>
1198
+ </xsl:template>
1199
+
1200
+ <xsl:template match="un:formula" mode="process">
1201
+ <xsl:call-template name="formula"/>
1202
+ </xsl:template>
1203
+
1204
+ <xsl:template match="un:example">
1205
+ <fo:block id="{@id}" font-size="10pt" font-weight="bold" margin-bottom="12pt">EXAMPLE</fo:block>
1206
+ <fo:block font-size="11pt" margin-top="12pt" margin-bottom="12pt" margin-left="15mm">
1207
+ <xsl:apply-templates/>
1208
+ </fo:block>
1209
+ </xsl:template>
1210
+ <xsl:template match="un:example/un:p">
1211
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
1212
+ <fo:block margin-bottom="12pt">
1213
+ <xsl:if test="$num = 1">
1214
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
1215
+ </xsl:if>
1216
+ <xsl:apply-templates/>
1217
+ </fo:block>
1218
+ </xsl:template>
1219
+
1220
+ <xsl:template match="un:eref">
1221
+ <!-- <fo:inline color="blue"> -->
1222
+ <fo:basic-link internal-destination="{@bibitemid}" color="blue" fox:alt-text="{@citeas}">
1223
+ <xsl:if test="@type = 'footnote'">
1224
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
1225
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1226
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1227
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1228
+ </xsl:if>
1229
+ <xsl:if test="@type = 'inline'">
1230
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1231
+ </xsl:if>
1232
+ <xsl:text>[</xsl:text><xsl:value-of select="@citeas" disable-output-escaping="yes"/><xsl:text>]</xsl:text>
1233
+
1234
+ <xsl:apply-templates select="un:localityStack"/>
1235
+
1236
+ </fo:basic-link>
1237
+ <!-- </fo:inline> -->
1238
+ </xsl:template>
1239
+
1240
+ <xsl:template match="un:locality">
1241
+ <xsl:choose>
1242
+ <xsl:when test="@type = 'section'">Section </xsl:when>
1243
+ <xsl:when test="@type = 'clause'">Clause </xsl:when>
1244
+ <xsl:otherwise/>
1245
+ </xsl:choose>
1246
+ <xsl:text> </xsl:text><xsl:value-of select="un:referenceFrom"/>
1247
+ </xsl:template>
1248
+
1249
+
1250
+ <xsl:template match="un:terms[un:term[un:preferred and un:definition]]">
1251
+ <fo:block id="{@id}">
1252
+ <fo:table width="100%" table-layout="fixed">
1253
+ <fo:table-column column-width="22%"/>
1254
+ <fo:table-column column-width="78%"/>
1255
+ <fo:table-body>
1256
+ <xsl:apply-templates mode="table"/>
1257
+ </fo:table-body>
1258
+ </fo:table>
1259
+ </fo:block>
1260
+ </xsl:template>
1261
+ <xsl:template match="un:term" mode="table">
1262
+ <fo:table-row>
1263
+ <fo:table-cell padding-right="1mm">
1264
+ <fo:block margin-bottom="12pt">
1265
+ <xsl:apply-templates select="un:preferred"/>
1266
+ </fo:block>
1267
+ </fo:table-cell>
1268
+ <fo:table-cell>
1269
+ <fo:block margin-bottom="12pt">
1270
+ <xsl:apply-templates select="un:*[local-name(.) != 'preferred']"/>
1271
+ </fo:block>
1272
+ </fo:table-cell>
1273
+ </fo:table-row>
1274
+ </xsl:template>
1275
+ <xsl:template match="un:preferred">
1276
+ <fo:inline id="{../@id}">
1277
+ <xsl:apply-templates/>
1278
+ </fo:inline>
1279
+ </xsl:template>
1280
+ <xsl:template match="un:definition/un:p">
1281
+ <fo:block>
1282
+ <xsl:apply-templates/>
1283
+ </fo:block>
1284
+ </xsl:template>
1285
+
1286
+ <xsl:template match="un:errata">
1287
+ <!-- <row>
1288
+ <date>05-07-2013</date>
1289
+ <type>Editorial</type>
1290
+ <change>Changed CA-9 Priority Code from P1 to P2 in <xref target="tabled2"/>.</change>
1291
+ <pages>D-3</pages>
1292
+ </row>
1293
+ -->
1294
+ <fo:table table-layout="fixed" width="100%" font-size="10pt" border="1pt solid black">
1295
+ <fo:table-column column-width="20mm"/>
1296
+ <fo:table-column column-width="23mm"/>
1297
+ <fo:table-column column-width="107mm"/>
1298
+ <fo:table-column column-width="15mm"/>
1299
+ <fo:table-body>
1300
+ <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
1301
+ <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
1302
+ <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
1303
+ <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
1304
+ <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
1305
+ </fo:table-row>
1306
+ <xsl:apply-templates/>
1307
+ </fo:table-body>
1308
+ </fo:table>
1309
+ </xsl:template>
1310
+
1311
+ <xsl:template match="un:errata/un:row">
1312
+ <fo:table-row>
1313
+ <xsl:apply-templates/>
1314
+ </fo:table-row>
1315
+ </xsl:template>
1316
+
1317
+ <xsl:template match="un:errata/un:row/*">
1318
+ <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
1319
+ <fo:block><xsl:apply-templates/></fo:block>
1320
+ </fo:table-cell>
1321
+ </xsl:template>
1322
+
1323
+ <xsl:template match="un:quote">
1324
+ <fo:block-container margin-left="7mm" margin-right="7mm">
1325
+ <xsl:apply-templates/>
1326
+ <xsl:apply-templates select="un:author" mode="process"/>
1327
+ </fo:block-container>
1328
+ </xsl:template>
1329
+
1330
+ <xsl:template match="un:quote/un:author"/>
1331
+ <xsl:template match="un:quote/un:p">
1332
+ <fo:block text-align="justify" margin-bottom="12pt">
1333
+ <xsl:apply-templates/>
1334
+ </fo:block>
1335
+ </xsl:template>
1336
+ <xsl:template match="un:quote/un:author" mode="process">
1337
+ <fo:block text-align="right" margin-left="0.5in" margin-right="0.5in">
1338
+ <fo:inline>— </fo:inline>
1339
+ <xsl:apply-templates/>
1340
+ </fo:block>
1341
+ </xsl:template>
1342
+
1343
+ <xsl:template match="un:references">
1344
+ <fo:block>
1345
+ <xsl:if test="not(un:title)">
1346
+ <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
1347
+ </xsl:if>
1348
+ <xsl:apply-templates/>
1349
+ </fo:block>
1350
+ </xsl:template>
1351
+
1352
+ <xsl:template match="un:dl" priority="2">
1353
+ <fo:block line-height="122%" margin-bottom="6pt">
1354
+ <xsl:apply-templates/>
1355
+ </fo:block>
1356
+ </xsl:template>
1357
+
1358
+ <xsl:template match="un:dt" priority="2">
1359
+ <fo:block margin-bottom="6pt">
1360
+ <xsl:apply-templates/>
1361
+ <xsl:apply-templates select="following-sibling::un:dd[1]" mode="dd"/>
1362
+ </fo:block>
1363
+ </xsl:template>
1364
+
1365
+ <xsl:template match="un:dd"/>
1366
+ <xsl:template match="un:dd" mode="dd">
1367
+ <fo:inline><xsl:apply-templates/></fo:inline>
1368
+ </xsl:template>
1369
+
1370
+ <xsl:template match="un:dd//un:p">
1371
+ <fo:inline><xsl:apply-templates/></fo:inline>
1372
+ </xsl:template>
1373
+ <!-- ============================ -->
1374
+ <!-- ============================ -->
1375
+
1376
+ <xsl:template name="insertHeaderFooter">
1377
+ <fo:static-content flow-name="header-odd">
1378
+ <fo:block-container height="25mm" display-align="after" border-bottom="0.5pt solid black" margin-left="-20.5mm" margin-right="-20.5mm">
1379
+ <fo:block font-size="9pt" font-weight="bold" text-align="right" margin-left="21mm" margin-right="21mm" padding-bottom="0.5mm">
1380
+ <xsl:value-of select="$id"/>
1381
+ </fo:block>
1382
+ </fo:block-container>
1383
+ </fo:static-content>
1384
+ <fo:static-content flow-name="footer-odd">
1385
+ <fo:block-container height="40mm" margin-left="-20.5mm" margin-right="-20.5mm">
1386
+ <fo:block font-size="9pt" font-weight="bold" text-align="right" margin-left="21mm" margin-right="21mm" padding-top="12mm"><fo:page-number/></fo:block>
1387
+ </fo:block-container>
1388
+ </fo:static-content>
1389
+ <fo:static-content flow-name="header-even">
1390
+ <fo:block-container height="25mm" display-align="after" border-bottom="0.5pt solid black" margin-left="-20.5mm" margin-right="-20.5mm">
1391
+ <fo:block font-size="9pt" font-weight="bold" margin-left="21mm" margin-right="21mm" padding-bottom="0.5mm">
1392
+ <xsl:value-of select="$id"/>
1393
+ </fo:block>
1394
+ </fo:block-container>
1395
+ </fo:static-content>
1396
+ <fo:static-content flow-name="footer-even">
1397
+ <fo:block-container height="40mm" margin-left="-20.5mm" margin-right="-20.5mm">
1398
+ <fo:block font-size="9pt" font-weight="bold" margin-left="21mm" margin-right="21mm" padding-top="12mm"><fo:page-number/></fo:block>
1399
+ </fo:block-container>
1400
+ </fo:static-content>
1401
+ </xsl:template>
1402
+
1403
+
1404
+ <xsl:template name="getLevel">
1405
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
1406
+ <xsl:variable name="level">
1407
+ <xsl:choose>
1408
+ <xsl:when test="ancestor::un:preface">
1409
+ <xsl:value-of select="$level_total - 2"/>
1410
+ </xsl:when>
1411
+ <xsl:when test="ancestor::un:sections">
1412
+ <xsl:value-of select="$level_total - 2"/>
1413
+ </xsl:when>
1414
+ <xsl:when test="ancestor::un:bibliography">
1415
+ <xsl:value-of select="$level_total - 2"/>
1416
+ </xsl:when>
1417
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
1418
+ <xsl:otherwise>
1419
+ <xsl:value-of select="$level_total - 1"/>
1420
+ </xsl:otherwise>
1421
+ </xsl:choose>
1422
+ </xsl:variable>
1423
+ <xsl:value-of select="$level"/>
1424
+ </xsl:template>
1425
+
1426
+ <xsl:template name="getSection">
1427
+ <xsl:variable name="level">
1428
+ <xsl:call-template name="getLevel"/>
1429
+ </xsl:variable>
1430
+
1431
+ <xsl:variable name="section">
1432
+ <xsl:choose>
1433
+
1434
+ <xsl:when test="ancestor::un:sections">
1435
+ <!-- 1, 2, 3, 4, ... from main section (not annex ...) -->
1436
+ <xsl:choose>
1437
+ <xsl:when test="$level = 1">
1438
+ <xsl:number format="I." count="//un:sections/un:clause"/>
1439
+ </xsl:when>
1440
+ <xsl:when test="$level = 2">
1441
+ <xsl:number format="A." count="//un:sections/un:clause/un:clause[un:title]"/>
1442
+ </xsl:when>
1443
+ <xsl:when test="$level &gt;= 3">
1444
+ <xsl:number format="1." count="//un:sections/un:clause/un:clause/un:clause[un:title]"/>
1445
+ </xsl:when>
1446
+ <xsl:otherwise>
1447
+ </xsl:otherwise>
1448
+ </xsl:choose>
1449
+ </xsl:when>
1450
+ <xsl:when test="ancestor::un:annex">
1451
+ <xsl:choose>
1452
+ <xsl:when test="$level = 1">
1453
+ <xsl:choose>
1454
+ <xsl:when test="local-name() = 'title'">
1455
+ <xsl:text>ANNEX </xsl:text>
1456
+ <xsl:number format="A" level="any" count="un:annex"/>
1457
+ </xsl:when>
1458
+ <xsl:otherwise>Annex</xsl:otherwise>
1459
+ </xsl:choose>
1460
+ </xsl:when>
1461
+ <xsl:otherwise>
1462
+ <xsl:variable name="annex_id" select="ancestor::un:annex/@id"/>
1463
+ <xsl:number format="1." count="//un:annex[@id = $annex_id]/un:clause[un:title]"/>
1464
+ </xsl:otherwise>
1465
+ </xsl:choose>
1466
+ </xsl:when>
1467
+ <xsl:otherwise>
1468
+ </xsl:otherwise>
1469
+ </xsl:choose>
1470
+ </xsl:variable>
1471
+ <xsl:value-of select="$section"/>
1472
+ </xsl:template>
1473
+
1474
+ <xsl:template name="number-to-words">
1475
+ <xsl:param name="number"/>
1476
+ <xsl:param name="first"/>
1477
+ <xsl:if test="$number != ''">
1478
+ <xsl:variable name="words">
1479
+ <words>
1480
+ <word cardinal="1">one-</word>
1481
+ <word ordinal="1">first </word>
1482
+ <word cardinal="2">two-</word>
1483
+ <word ordinal="2">second </word>
1484
+ <word cardinal="3">three-</word>
1485
+ <word ordinal="3">third </word>
1486
+ <word cardinal="4">four-</word>
1487
+ <word ordinal="4">fourth </word>
1488
+ <word cardinal="5">five-</word>
1489
+ <word ordinal="5">fifth </word>
1490
+ <word cardinal="6">six-</word>
1491
+ <word ordinal="6">sixth </word>
1492
+ <word cardinal="7">seven-</word>
1493
+ <word ordinal="7">seventh </word>
1494
+ <word cardinal="8">eight-</word>
1495
+ <word ordinal="8">eighth </word>
1496
+ <word cardinal="9">nine-</word>
1497
+ <word ordinal="9">ninth </word>
1498
+ <word ordinal="10">tenth </word>
1499
+ <word ordinal="11">eleventh </word>
1500
+ <word ordinal="12">twelfth </word>
1501
+ <word ordinal="13">thirteenth </word>
1502
+ <word ordinal="14">fourteenth </word>
1503
+ <word ordinal="15">fifteenth </word>
1504
+ <word ordinal="16">sixteenth </word>
1505
+ <word ordinal="17">seventeenth </word>
1506
+ <word ordinal="18">eighteenth </word>
1507
+ <word ordinal="19">nineteenth </word>
1508
+ <word cardinal="20">twenty-</word>
1509
+ <word ordinal="20">twentieth </word>
1510
+ <word cardinal="30">thirty-</word>
1511
+ <word ordinal="30">thirtieth </word>
1512
+ <word cardinal="40">forty-</word>
1513
+ <word ordinal="40">fortieth </word>
1514
+ <word cardinal="50">fifty-</word>
1515
+ <word ordinal="50">fiftieth </word>
1516
+ <word cardinal="60">sixty-</word>
1517
+ <word ordinal="60">sixtieth </word>
1518
+ <word cardinal="70">seventy-</word>
1519
+ <word ordinal="70">seventieth </word>
1520
+ <word cardinal="80">eighty-</word>
1521
+ <word ordinal="80">eightieth </word>
1522
+ <word cardinal="90">ninety-</word>
1523
+ <word ordinal="90">ninetieth </word>
1524
+ <word cardinal="100">hundred-</word>
1525
+ <word ordinal="100">hundredth </word>
1526
+ </words>
1527
+ </xsl:variable>
1528
+
1529
+ <xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
1530
+
1531
+ <xsl:variable name="value">
1532
+ <xsl:choose>
1533
+ <xsl:when test="$ordinal != ''">
1534
+ <xsl:value-of select="$ordinal"/>
1535
+ </xsl:when>
1536
+ <xsl:otherwise>
1537
+ <xsl:choose>
1538
+ <xsl:when test="$number &lt; 100">
1539
+ <xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
1540
+ <xsl:variable name="digit" select="substring($number,2)"/>
1541
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
1542
+ <xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
1543
+ </xsl:when>
1544
+ <xsl:otherwise>
1545
+ <!-- more 100 -->
1546
+ <xsl:variable name="hundred" select="substring($number,1,1)"/>
1547
+ <xsl:variable name="digits" select="number(substring($number,2))"/>
1548
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
1549
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
1550
+ <xsl:call-template name="number-to-words">
1551
+ <xsl:with-param name="number" select="$digits"/>
1552
+ </xsl:call-template>
1553
+ </xsl:otherwise>
1554
+ </xsl:choose>
1555
+ </xsl:otherwise>
1556
+ </xsl:choose>
1557
+ </xsl:variable>
1558
+ <xsl:choose>
1559
+ <xsl:when test="$first = 'true'">
1560
+ <xsl:value-of select="translate(substring($value, 1, 1), $lower, $upper)"/><xsl:value-of select="substring($value, 2)"/>
1561
+ </xsl:when>
1562
+ <xsl:otherwise>
1563
+ <xsl:value-of select="$value"/>
1564
+ </xsl:otherwise>
1565
+ </xsl:choose>
1566
+ </xsl:if>
1567
+ </xsl:template>
1568
+
1569
+ <!-- convert YYYY-MM-DD to (Month YYYY) -->
1570
+ <xsl:template name="formatDate">
1571
+ <xsl:param name="date"/>
1572
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
1573
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
1574
+ <xsl:variable name="day" select="number(substring($date, 9))"/>
1575
+ <xsl:variable name="monthStr">
1576
+ <xsl:choose>
1577
+ <xsl:when test="$month = '01'">January</xsl:when>
1578
+ <xsl:when test="$month = '02'">February</xsl:when>
1579
+ <xsl:when test="$month = '03'">March</xsl:when>
1580
+ <xsl:when test="$month = '04'">April</xsl:when>
1581
+ <xsl:when test="$month = '05'">May</xsl:when>
1582
+ <xsl:when test="$month = '06'">June</xsl:when>
1583
+ <xsl:when test="$month = '07'">July</xsl:when>
1584
+ <xsl:when test="$month = '08'">August</xsl:when>
1585
+ <xsl:when test="$month = '09'">September</xsl:when>
1586
+ <xsl:when test="$month = '10'">October</xsl:when>
1587
+ <xsl:when test="$month = '11'">November</xsl:when>
1588
+ <xsl:when test="$month = '12'">December</xsl:when>
1589
+ </xsl:choose>
1590
+ </xsl:variable>
1591
+ <xsl:variable name="result" select="normalize-space(concat($day, ' ', $monthStr, ' ', $year))"/>
1592
+ <xsl:value-of select="$result"/>
1593
+ </xsl:template>
1594
+
1595
+ <xsl:template name="getLanguage">
1596
+ <xsl:param name="lang"/>
1597
+ <xsl:variable name="language" select="translate($lang, $upper, $lower)"/>
1598
+ <xsl:choose>
1599
+ <xsl:when test="$language = 'en'">English</xsl:when>
1600
+ <xsl:when test="$language = 'de'">Deutsch</xsl:when>
1601
+ <xsl:when test="$language = 'cn'">Chinese</xsl:when>
1602
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
1603
+ </xsl:choose>
1604
+ </xsl:template>
1605
+
1606
+ <xsl:variable name="Image-Logo">
1607
+ <xsl:text>
1608
+ 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
1656
+ BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl
1657
+ /erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz
1658
+ /GMzLdsAADsgaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7
1659
+ vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9
1660
+ ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzAxNCA3OS4x
1661
+ NTY3OTcsIDIwMTQvMDgvMjAtMDk6NTM6MDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5z
1662
+ OnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAg
1663
+ ICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnht
1664
+ cD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9
1665
+ Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpw
1666
+ aG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAg
1667
+ ICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAg
1668
+ ICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBl
1669
+ L1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRv
1670
+ YmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFk
1671
+ b2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBo
1672
+ b3Rvc2hvcCBDQyAyMDE0IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8
1673
+ eG1wOkNyZWF0ZURhdGU+MjAyMC0wMy0yNVQyMTowNTo0MSswMzowMDwveG1wOkNyZWF0ZURh
1674
+ dGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDIwLTAzLTI1VDIxOjA3OjQzKzAzOjAw
1675
+ PC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAyMC0wMy0y
1676
+ NVQyMTowNzo0MyswMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1h
1677
+ dD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+
1678
+ MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxl
1679
+ PnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHht
1680
+ cE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpjMTQ1NzAyOS1iYTI0LWIwNDYtYmU5NC0wOTY5ZDRk
1681
+ OGRkNTE8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPmFk
1682
+ b2JlOmRvY2lkOnBob3Rvc2hvcDo4NWRmOTdiMi02ZWMzLTExZWEtOGRjNC1kOTAxZWM0NGU2
1683
+ YWM8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50
1684
+ SUQ+eG1wLmRpZDo3NTMzOTU5ZS1hYzZjLTQwNGYtOWZlNi0wZDg0ZGNkOGRkZGQ8L3htcE1N
1685
+ Ok9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAg
1686
+ ICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJl
1687
+ c291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2
1688
+ dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6
1689
+ NzUzMzk1OWUtYWM2Yy00MDRmLTlmZTYtMGQ4NGRjZDhkZGRkPC9zdEV2dDppbnN0YW5jZUlE
1690
+ PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDIwLTAzLTI1VDIxOjA1OjQxKzAz
1691
+ OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2Vu
1692
+ dD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdl
1693
+ bnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJk
1694
+ ZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlv
1695
+ bj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBh
1696
+ cmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdl
1697
+ L3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAg
1698
+ ICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAg
1699
+ ICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAg
1700
+ ICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6YzE0NTcwMjktYmEyNC1iMDQ2LWJl
1701
+ OTQtMDk2OWQ0ZDhkZDUxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8
1702
+ c3RFdnQ6d2hlbj4yMDIwLTAzLTI1VDIxOjA3OjQzKzAzOjAwPC9zdEV2dDp3aGVuPgogICAg
1703
+ ICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0Mg
1704
+ MjAxNCAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAg
1705
+ IDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRm
1706
+ OmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4K
1707
+ ICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAg
1708
+ ICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4K
1709
+ ICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1
1710
+ dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9u
1711
+ VW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAg
1712
+ ICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yMjU8L2V4aWY6UGl4ZWxYRGltZW5zaW9u
1713
+ PgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTgwPC9leGlmOlBpeGVsWURpbWVu
1714
+ c2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1l
1715
+ dGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1716
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1717
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1718
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1719
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1720
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1721
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1722
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1723
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1724
+ ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1725
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1726
+ ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1727
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1728
+ ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1729
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1730
+ IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1731
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1732
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1733
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1734
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1735
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
1736
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1737
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
1738
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1739
+ ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1740
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1741
+ ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1742
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1743
+ ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1744
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
1745
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1746
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
1747
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1748
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
1749
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1750
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
1751
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1752
+ ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
1753
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1754
+ ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1755
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1756
+ ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1757
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1758
+ ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1759
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
1760
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1761
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
1762
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1763
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1764
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1765
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
1766
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1767
+ ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1768
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1769
+ ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1770
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1771
+ ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1772
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1773
+ ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1774
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
1775
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1776
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
1777
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1778
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
1779
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1780
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
1781
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1782
+ ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1783
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1784
+ ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1785
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1786
+ ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1787
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1788
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1789
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
1790
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1791
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
1792
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1793
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
1794
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1795
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
1796
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1797
+ ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1798
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1799
+ ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1800
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1801
+ ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1802
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
1803
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1804
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
1805
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1806
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
1807
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1808
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
1809
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1810
+ ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1811
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1812
+ ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1813
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1814
+ ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1815
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1816
+ ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1817
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1818
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1819
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1820
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1821
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1822
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1823
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1824
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1825
+ ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1826
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1827
+ ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1828
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1829
+ ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1830
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1831
+ IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1832
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1833
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1834
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1835
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1836
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
1837
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1838
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
1839
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1840
+ ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1841
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1842
+ ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1843
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1844
+ ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1845
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
1846
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1847
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
1848
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1849
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
1850
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1851
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
1852
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1853
+ ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
1854
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1855
+ ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1856
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1857
+ ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1858
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1859
+ ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1860
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
1861
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1862
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
1863
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1864
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1865
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1866
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
1867
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1868
+ ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1869
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1870
+ ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1871
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1872
+ ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1873
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1874
+ ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1875
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
1876
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1877
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
1878
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1879
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
1880
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1881
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
1882
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1883
+ ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1884
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1885
+ ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1886
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1887
+ ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1888
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1889
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1890
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
1891
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1892
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
1893
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1894
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
1895
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1896
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
1897
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1898
+ ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1899
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1900
+ ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1901
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1902
+ ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1903
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
1904
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1905
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
1906
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1907
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
1908
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1909
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
1910
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1911
+ ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1912
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1913
+ ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1914
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1915
+ ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1916
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1917
+ ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1918
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1919
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1920
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1921
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1922
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1923
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1924
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1925
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1926
+ ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1927
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1928
+ ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1929
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1930
+ ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1931
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1932
+ IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1933
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
1934
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1935
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
1936
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1937
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
1938
+ ICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4xznjNAAAAIGNIUk0AAHolAACAgwAA+f8A
1939
+ AIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAFWJSURBVHja7F1nWBVHFz50sCCxghUFFOzG2EuI
1940
+ BTti7OKnRI01xhrFEmOMRmOP3aixE1vsGmOvKMaCqNhQUBBBUBAREYTz/di5uHd2Zsu9l2LC
1941
+ eZ55Ermzs7Ozc3ZmznnPe8wgX/K6FAUAJwAoAQAFAcAaAIoAgA0A2FF13wHAKwBIJP99BQDx
1942
+ APAcADLzhzJviln+EOS62AFAZQBwBQA3UlwAoAwAlAUAWxPcI4MoYhQARAPAbQC4QcqDfAXN
1943
+ V8L/2nhXBYBGAPAZANQHgBoAYJmLfUoBgOsAcJqUQPK3fMlXwn+NlASA1gDgRYpjHu9vGgBc
1944
+ BICTAHAMAC6TlTRf8pXwo1O8HgDQEwCaGDrORYoUgVKlSkHx4sWhePHiULRoUXBwcIAHDx7A
1945
+ oUOHsuqZm5vD7t27wd7eHuLi4iA+Ph4iIyMhMjISoqKi4NGjRxAVFQWIaEg3XgHAKQDYBwB/
1946
+ AsDr/NdrWrHMHwKTSREA6AoAfQDgCwAwV3ORtbU11KhRA2rWrAm1atWCKlWqQPny5aFChQpQ
1947
+ sGBB5jWTJ0/WU8LMzEwoUKAAfPHFF9z7pKamQlhYGNy5cweuXbsGwcHBcOXKFYiPj1fzXD6k
1948
+ LCeKuJEoZv5ZMl9yXWwAoAsA7ALBMolKxdzcHKtXr46jRo3CQ4cO4Zs3b1CrjB49WtLu6dOn
1949
+ 0RAJCQnBhQsXYseOHdHBwQHVPAMpEQAwiaz6ObFjq5g/3T4usc3m9h0AYCoAxKmZsJUrV8ax
1950
+ Y8fiwYMH8eXLl2ismFIJxZKZmYm3bt3C1atXo4+PD9rZ2alRxncAsAUAGmfzmPcBgMcAsAMA
1951
+ egFAofxpnrfEHACaAcBSAJidjUpYGgDmA0Cy0uSsVasWzpkzB+/du4emluxSQlqSk5Nx165d
1952
+ 2KtXLyxUqJAahbwAAB2z0dbgTQxHSN7BHwDQHgCs8lUg98QFAOYCQCw5n0zOpglQHgBWiSYA
1953
+ s5QpUwb9/f3x9u3bmJ2SU0oolrdv3+Kff/6JXbp0QSsrKyVlvA4AnbLpnfuAYK0V3+85AHwP
1954
+ AAXyVSLnjEk9AeAEUTzdixiQDfcqDgCLAeAtb8JZWFhgly5d8PDhw5iRkYE5IVqUMCMjA0+c
1955
+ OIF+fn7o7OyMVatWxQ4dOuDatWsxISHBoPvHxMTgL7/8gq6urkrKeAYAGmbDe/FlKCKCAEQY
1956
+ qNYoli/axZooWhhj8MdlgyFgEAC84E2wIkWK4NixYzE8PBxzWtQo4Zs3b3DNmjVYpUoVrpI4
1957
+ ODjg7NmzMS0tzeC+HD16FLt06YKWlpZyyrgXADxySBERAEJA8M3miwktkBMBIIYz4DNNfL9P
1958
+ QXBWMydUlSpVcOnSpZicnIy5JSwlDA4OxitXrmC7du2wd+/emiyde/bsMbpPYWFh2K9fPzQ3
1959
+ N+fd5z0ALDKxQeVrhWfbQIxo+WKEfAEA92UGebWJz5fbqC1uVilVqhSuW7cOMzMzMbfl+++/
1960
+ l/Rv+/btGBQUhE2bNlWleJaWlti4cWM8ePCgSfsWGhqKvXr1klPGcPJeTSW/KDzrEwCol69K
1961
+ 2qUQAKxQGNxdAGBhIsvqGBDwkpL72Nra4nfffYevXr3CvCK///67RKEKFSqEHTp0wIyMDPzj
1962
+ jz+wXbt22LZtW+zcuTN+//33ePLkSXz06BGGh4fj48ePjdqCqpH79++jn5+f3DZ1FQDYm+jo
1963
+ 8IfCXEkFgH75aqVe6iqsfggA50zkhigMAPuB41Tv378/PnnyJNeULT09HaOjo/Hq1at4+vRp
1964
+ 3LdvH65fvx6/+eYb5rg0adIET58+jWfPnsXg4GB8+PAhvnjxIlc/GNevX8f69evLrVKmWBWt
1965
+ QcC5Ku0A/PPVS1m6y1kiSbkPAJ+Y4F7uIIT0SO7h5uaG586dy9HJGh4ejlu2bMFx48ahl5cX
1966
+ VqxYES0sLLQgWGS3nm5ubtirVy+cP38+BgYGYmpqao49W2ZmJi5fvhzt7e1Z/csk7gVjXUtF
1967
+ ACBUxXjMFl1TEISQsf+0iE3J/VUMYBoxnJjCspbMWv1Gjx6NKSkp2T4x4+LicP369di3b18s
1968
+ W7asSZRNS7G1tcVmzZrh1KlT8cKFCzniXnny5Am2a9dOzoJaxMj3WhHUoZjmiK75H1HehSDE
1969
+ dP4nxAEABgPAMrIaAQgoiwwVgzfRyHsXAIBNubX6BQUF4dSpU7F+/fomW+VMVUqUKIFfffUV
1970
+ 7t27N9tXybVr1/IQOGEAUM0Exrx0Fc88RXRNVRAgcWnEglv836p89gDwKwhYw8OiLWVVEMJj
1971
+ lAbtLBjnhC0BQsCqpO1evXoZBKRWIy9fvsTZs2ejm5ub0Ypib2+Pzs7OWLFiRcl284cffsBG
1972
+ jRphlSpVsEiRIkYr5LRp0zRD7sLCwnDgwIG4bNkyXL16NcbHx8sabj777DPW/ZMAoJ2Rc22E
1973
+ ymftLLqmLAjOfl0fhsO/LNSvPQA8Iw/4NzlI61bF+yoGKwkAnI24fzViGpegXebOnZstyhcY
1974
+ GIgDBw7EggULqp78FhYWWLVqVezTpw/Onj0b9+3bh5cvX8aoqCh89+5dVtuHDx+WXEsbYBIS
1975
+ EvDevXt45swZ/O2333Do0KH4+eefY+nSpdHMzExVf8zMzLBNmza4Y8cOfP/+veIzX7p0Sc81
1976
+ MWzYMNn6aWlp2LdvX9a908mRwRiZonJeic+EjUAfmniAGO8+ekf7MtFD3aHM0vtVTlBjXkgL
1977
+ MtgSv9/58+dNqnhJSUm4aNEi9PDwUDXJCxQogO3bt8f58+fj+fPnVZ9F9+7dK2nrxo0bqvuZ
1978
+ mpqKx44dwzFjxmClSpVU9bV8+fI4e/ZsTExMzGonMjISDxw4gMePH8/6e3BwMJYvXx4BAJ2d
1979
+ nVX1Z/r06awPQwYAfGvk/Fuo4tm2UdeMBykOtsTHqoAlQKBGECMmxPt9P5UKuNiIPngDA3Tt
1980
+ 6uqK9+/fN5nyxcfHo7+/P8/6p1cqVaqEo0ePxr///tvgs9fGjRtNCuAOCwvDtWvXqgpfcnBw
1981
+ wMmTJ2PDhg0lq6ajoyN26tQJb9++nYUrVQvrW7NmDW+FnmfEttCCrGZK76UV5Xe8Tv1+00QW
1982
+ +RyVoqTj4gdZTjnj41UMzkkwPPpfooA2Njb4ww8/mAxylpiYiP7+/ophPsWLF8dx48ZhSEiI
1983
+ Se67YcMGyT327t1rkrZTUlJwz5492LNnTyU8KLc0adIE4+LiMCEhQRPCiPVxIWWdRmCGJ+UL
1984
+ DlLocxjld/6KUecifERRGtYgoOfFD5AAAMVEdUapeJn3RF8fMwCoY+wKWLRoUVywYIFJ0CIB
1985
+ AQHo6Ogo+wyenp74xx9/6J3n8roSiiUqKgpHjhyJ1tbWBhmRhgwZonqLferUqaxtLKds0bAi
1986
+ bgQh9lPsQwxR6PNUUX1bjqtj58eggGYcF8DPVJ2HCgMSBwIXp066abCYeQIHgqYr7u7ueOnS
1987
+ JYMmZnBwMDZu3FhR+bIzvm/Lli05ooRiIEGHDh0MWhVbtGgh+xFKT0/H77//Xq3LZpkGo8we
1988
+ xvEoVGHOicmU53DqfZvXlXASp+NuojrNFQY6GgQuTp0UA4CnAFBbxf1rgMAOpteml5cX01m9
1989
+ c+dOTaiP2bNncwNaLS0t0c/PD2/evJntTm+WYebw4cPZft+ffvrJIEXs1q0bEwyQkpKCLVq0
1990
+ YF7TunVr7Nevn5KjnSd1Sd1h1N/LAjsUTle+phBVrDpvAKBCXlVAN2CTHUVQ9ZbIDEII6BP6
1991
+ WIBAtfcelENgyoLAMK3Xpr+/PyIifvnll5L7WVtb4/79+1UhPVq2bMk143fv3h3v3r2bYzCw
1992
+ o0ePSvqRUzC7Xr16GaSIEydOlLgneOgZDw8PjIqKwoyMDPT19WXVmaBiR/aEHEmaUL+VZtgr
1993
+ xPNPLHeBHzyQJ+UQ8NHyYuFtCQ6CgOUTD+Qq8tslFZbYe3SbY8aM0QtybdCgAXMF27p1K3fS
1994
+ bd++nWv1dHd3x6CgoBwHRZ8+fVrSlwcPHuTIvc+fP2+QElaoUEHP19inTx9mvZo1a2JcXJwe
1995
+ M0DPnj1ZdXsozIkFpN4rkILEi/GAGwDQVOWCUSOvKWAHmc6Kz3JlOHX+EDnwdfIzqAvctQaA
1996
+ 83Sb/fr1Y7oSatSowXSSsxRx2rRpTLO5ra0tTp06NUcwpmqV8O3btzkGxjYU6zpnzhxERJw/
1997
+ fz7z9wYNGjBDxt69e4eNGjWi678lznW5o4mubgpIOW8KgIBXpdtdT9kieM+zOa8p4SXgR1OL
1998
+ t5E0SDsNAEYzrF5DQB9lX0Xm3utZhhGeBTQuLo6riNu3b8+q5+/vzxz8GjVqZAuDGk+io6Px
1999
+ wIEDuGLFCpw1axaOHTsWu3XrptcnKysrHD16NI4ePRq///57XLhwIR45cgTDwsKyBQdq6NnQ
2000
+ wsICV65cyfRFtmjRQtZ1FBMTw1L+5wrns0DK+T+Zgj5aMBz6L+EDe5ujzPOkEEOOLQAMzS3F
2001
+ qyvyCfLA19epa7aIfosEKQmQFQgAWnEb+2X6MJjlDFeKoYuPj8cmTZowz4j79u3DMWPGMAfe
2002
+ y8tLFg9prCQnJ+O+fftwwoQJ2KxZMyxcuLDReFMzMzOsUqUK9u/fH5csWYLXrl0zmh0gIyMD
2003
+ Bw8ebDLweMeOHVXtKv755x+0tbWlr78K/NhSb46/jwaJD6Is6l6i3+Qs+d6i+0zIaQXsQ3x9
2004
+ AEIMIK+TmygHvS586BQDCuTCWVHry3wEUsV1CxYsiLdu3VLtlO7UqRNz0gIjxGnKlCnZQm1x
2005
+ //59XL58ObZr1w5tbGxyJGKiZMmS6OvriwEBAaom//PnzyXbxFWrVpmkL926ddPkt6VZBeAD
2006
+ lwzPQMOaU+kgUGWKbRBVRE79+aK/b5Lp/6/UbtAvpxSwNrEa6b4+v8l08kvRdf1EMCRLxpeI
2007
+ FUmxldOHTwDgEV1/8+bNmiPXhwwZIjtJqlatanKM6YMHD3Dq1KmyTGg5Vezt7dHPzw+PHz/O
2008
+ 7e+ECROwcuXK+PTp06y/jRgxwuh7/+9//zMojnHo0KFK7gWxNAIObxAI4Us+orqWxMd4kXM0
2009
+ oovYYOhLlLt+ditgIaKAQ1ScB5Fa9k9TSqlzK/Csqq+AH/Us+TqNHj3aYKWYPHkys/8DBw7E
2010
+ 9PR0k7oWOnbsKEeCxFyZK1SogB06dMDp06fjH3/8gceOHdNrw8rKCvfv34/Lly/HCRMmoI+P
2011
+ D1arVk3zylq5cmWcO3cuPnv2TLJraNSoEdarVy8LqP3XX39peg5a8Y3xa7579w7r1q1Lt5sM
2012
+ /HwVcxT6tI/amVUV2Skqg3wKAN0Z04EoYQhkMyP4fLIFFFsyYzkdTBd1phIISTHF24SvgRHd
2013
+ oMIE3YFlVVMTasOSyMhIrF69OrMPVlZWOH36dKMV8c8//8RatWqppqJo1KgRTp06FY8fP86M
2014
+ c4yJiZFcJzbriy2ZwcHBuHDhQvTx8cESJUqo6oOVlRX27t1bD+T+119/IQBkkUkhoupoEVZp
2015
+ 2LChUdbl8PBw/OSTT+h2TwE75tSKZUFngER4fDdyDv7yono6uGa2cdk0Izc4T5l55ciYWOIE
2016
+ Qkyh3ICskPEHPhPXtbOzM9hR/urVK64C0oBkQ9jW9u7dK4k2YBUbGxvs1KkTbtq0SVXCmH/+
2017
+ +UfSxvXr11X1KSQkBOfPn4916tRRRYGhA7yLuU67d++O27Ztw3HjxqGNjQ3OmzcPU1JS8MCB
2018
+ A1igQAHViti8eXPmx0PLx43R7iiZeRem0KcMENgbaGu9XEhUc1G96SL3SSVTK6AVANwiN/hF
2019
+ 9HcP0MZs9RmBoMkNxEHgI+Z30fUXL15s0AtMS0uTQKbMzc3xt99+Y31hsWHDhqonTHh4ODZr
2020
+ 1kwxRVrr1q1x06ZNmhX8yJEjkvZOnjypeQzu3r2Ls2fPxpo1aypG2s+YMUPiIvDw8MDHjx+r
2021
+ UQzZOEVjXD4Mp3+SzDGmrApFRAAIAP2IiWYydXuK6n0J/DhFo+U7YFMC1JfpHI317KUErAaB
2022
+ woIXLtKC9SU11GLJgkNNmDABERHPnTvHPE+5urpiRESEYlwcS4nFK/fo0aMlk9dY7KixAO5z
2023
+ 585h27ZtZSdnq1atJNZj+iyekZGBZcqU0UynYagixsXFsbbZ2xTgjXdU9OssfCCeMocP1Bd0
2024
+ +UbUtg/1Wx1TKWBZ0Gcmq0JFLLA69pRa0qereOiTMgpoDgA36HNLaGioQS/uhx9+kNy/bt26
2025
+ eqbyPXv2MJH9ZcuWxbCwMGa0Og+Kpbtu5syZGBsbm6ejKP755x/s06ePmsxLWdA9Wvz8/DSf
2026
+ EWvUqGFwyNemTZtYbbaQmdOfAMBfKvp1TWSwWcqpI/YPtqJ+O2IqJVxANVxShRIuFRlglqp4
2027
+ 2L9BPmDSl75m3LhxBr2wI0eOSKx6Dg4O+PDhQ0ndPXv2MHGjZcuWxaioqKx6jx494hpeChUq
2028
+ hLNmzTIprGznzp3ZHsp0584dZvQJqxw5ckTv2nXr1hlkrPH29jY41pNBMHwL5AOBLYi7TKlf
2029
+ l8jcbMj5vZ+CPjQxVgELghCQK25U7OPrzOlYfZWmYSSHXrnBsiORGHp5AJOSkjS/qIiICCxa
2030
+ tKgESkVPIrGEhoYysZJubm4YFxeHgYGBWLJkSaZr4auvvsKYmJgcCWU6evRotqB4Dh48qMgU
2031
+ 5+XlJQEgGIOeMYQ1PDAwkAW0GKgSeKKU9HUfmaPXGb+1VVDC341Vwq8Zh16xfMG46U3yW19Q
2032
+ JvLtr6IPkq2sljhAsW+pXr16kn4sWbJE8dqwsDCmItaoUYN5dixTpgyePXs22+Btp06dytEk
2033
+ oampqTh58mSuX9Dc3FwCgFfrkmGVLl26GNRPHx8fuq0o0A/UpUVnwHEHfniTOPJ+MOPvjRWU
2034
+ 8DWFzNEsV6gGYxnWTlauwJogT2f/QmTalcspYU/7Elu3bm3QC2KlE+vTp4/q6x89eoS1a9dW
2035
+ nECff/65Sc59WsOJsjtTr25VpHcS4jP6hQsXsuo+e/YMJ02ahB4eHgYRHf/555+a+3fr1i3W
2036
+ h0KOMHqR6HhlB0KWL7nUbm1AGjNbQ8Xx7H+GKmAtTkfEwoo+rgTyXKLXCU5Ud2YcLtOHsaaY
2037
+ bLdu3ZKQFlWpUkUz4VNKSookgkEM/v75559NirDhSXBwcK4oIaLAO+Pr68vE2NasWZN5zfHj
2038
+ xzUrobW1tUEUJIyg41gQqDdZMoOEM9FgkOecft1mhD85i67lnRsNNtDM5zT4CWU5Ff92AwB+
2039
+ khncddTKNwD06cjpg7PeWbBRo0YGTRzaH2hjY6Paua3GtQEkc++hQ4dMPulDQkJw+fLlOHbs
2040
+ WOzQoQO6u7uji4sL09/2+eefY58+fXDKlCm4fv16vHDhgsnjDJ88eYJdunThKs+jR4+YyJ3m
2041
+ zZtrVsR27dppxpaGhoayVkMesLol+X0Q9ffSICUrE+OZxf92oHCqrGuSwUDWwH9AmS/Ggfpt
2042
+ Ix3ZIEIijGNsZV/LWI8kAZUHDhwwiSVx3rx5Bk3A4cOHK+I8J02aZFRylczMTDx+/Dh+/fXX
2043
+ WK5cOaNB0lZWVli/fn2cMWOGoo9TSS5evKjIMGdra4urVq2SXJuQkIATJkzgbmd5ZeDAgaY4
2044
+ GwZz5pgt8V1ngJSPxgKEYHK6rTvUHHeQg1SKiuZEpQXJ1pPVmCdVV/wby/eSQjn4daDYOKKE
2045
+ vC/EBTVbHTl5+/YtVqhQQYJ8MURJWKE7PCpAX19fzVjWsLAwHD9+fLZmaDI3N8dWrVrhvn37
2046
+ NIMc1q5dy3zebt26SbamlpaWuHv3bmY7jx8/xq5du2oCf2vdarNgfQDwOWee7RDVGcb43Qfk
2047
+ c6WIlfB/MvXGaFVCOUa0EVTdZApVTtPI0RQErvCBkOkg5/4N6Pv+8ccfmhVn8eLFEneEFrp4
2048
+ nVy9elUSTGptbY3Hjh3DOXPmcH1earaCFy5cwO7duxsckWBocXFxwVWrVqnyyy1YsIB5Buzb
2049
+ t29WqBPrAyXHcn7nzh3s0qWLqrwY1atX1/xRY2x//+DMtY5UvbGc8L2nKpRwLMhnltYkA0A9
2050
+ 9yMviiIc9LlDaQVEABjJuf82cVulS5fWbPB4+/YtOjk56fVJKUEJS16+fCnJggQAuHr16qw6
2051
+ ixYtYk4mObzpo0ePNHF5li1bFnv27InTpk3DadOmSX7fvXs3rlu3DgcNGoTVq1dXzZ5drlw5
2052
+ XLt2Lff5V65cyXy2Vq1aZUVBZGRkMAOkdWfk9PR0Lsj+r7/+UgX63rVrl7Hg7jQKaCLGRdNz
2053
+ eDqjXjkSf0i3W05UZ5bMM9zQqoQzFOBlYongwH0cqXpNQJ/V+B2w88CVo7fC06dPN3oVtLOz
2054
+ k8TJqZH27dtLxmDy5MmSekuWLOHCscRJVBAF9m6lvBXFihVDPz8/3LBhgwQmd+HCBUn9v/76
2055
+ SwJQP336NE6cOBFr1aqluOI0adIEb9++LcHBsq7z9fWVfBRTUlIkflg3NzecMmUKli9fHi0t
2056
+ LbkfpKNHjyqyfPfv31/Te3v//r3kKCLjrljEcbJbKiwitHV0pcwzJGhVQrmQ/hgFJQwCacbV
2057
+ XgyDzQ7OvX+gjR3iiG61ERI0iNiQoN9ly5YxSWl5smHDBuZk0rGIZWRk4LfffqsYyb9+/XrZ
2058
+ rSyLbW3jxo2KVs1ffvkFq1atKmtUWbhwISIiHjhwgOnfo/lD6dWdF7NYtWpV2bP4tm3bZD8U
2059
+ hQsX1pxDcvr06aycEyzhRQOdJx4AWhGfcrDU2xVWdE1p1g4pNFaUo4RXKAU0AyEfOauN9px7
2060
+ X6W3dMYaUaytrTE6OlpTG48ePZJsk4oWLYqRkZGKaBZWFMWnn37K3LKJJ+m2bdtUGUxYSrh0
2061
+ 6VJNTnc5ao3+/ftLnt3Kygp///13VdEYrPNt8+bNsUePHnjnzh3utatXr5b9QK1bt07TOwwP
2062
+ D2cpdkPOvONlb4oFKWVFE9Fura7o78cV9KaqFiW8oNCYOERD91V4BPoUAdYyK2oYBy/qRNc1
2063
+ JIkn/bUfMGCAKczcuG/fPlXX3r17V1Pev+3bt2uyVrKUkOUWUNotrFixQlVWXyWCZLWuHAcH
2064
+ B8Vdja+vLzZs2BBnzZolcdEY4idm0Owv5cz5hiBPb9iBqj+R/Cb++zWFsaytRQmDFRoTuyle
2065
+ EQtpdQpudkzm+iEqsarM6AatE1QtA5scwkOrvyouLg6bNm0qO7m7du2KCQkJmifW2bNnJW1t
2066
+ 2LBBFjfLk9evX+OECRO4GYULFCigGRzOC+zV+kHVUWqAEUzjjIiO5zJusT0KWOfe1C7vIOhz
2067
+ jirpjasplbAj5ScUZ9ItofBFeCYDI9pLx/hpld69e+vdr1mzZpqd5TT4uGzZsvj69WvNfYmM
2068
+ jGTmZTc3N8eff/7ZYKf5rVu3JG2uX7+e+SwLFy5ES0tLPHHiBHdF/Prrr5nxg2ZmZhgQEKC5
2069
+ f4MGDeIG77Zq1UrTh9XZ2VmvjaFDh2q2bjOejRdrWBnY+VTEoJMhFLJGHE/4SEFvHLUo4TmF
2070
+ xnqKVjwx9q4IHXzLKCNl0AtvgEGbrlaeP38uMYxo2UYhsgNmWRNcSRISErKy1dK+yjVr1mhq
2071
+ 6+TJk1k+OZ1y0eFT48aN0zN8BAcH46effpr1+6JFi5jREdWqVeM69n/++Wfcv3+/prCxmJgY
2072
+ RffI2LFjVbdHM6Hb2NhoDmPr2LGjXKo+WmaqOEYMENUvpOApMNgwc1ShsYEi5Hkp0f+fVbju
2073
+ qkzsYDtjt6K//PKLZCullQaejpSoVauWZnRJdHQ0k+FbfMby9fXFq1evqmqvdOnSWL58eRw+
2074
+ fDi2adMGS5cuzYS0lSlTBv39/XHnzp2Ss544wkEsly9fRm9vb8kKOG/evCyImYWFBdaoUQNr
2075
+ 166NzZs3x//973/o5+eH48aNk7SbmpqqiBN1cHBQjVqKjo6WWGnF6QrUCIMw+LLM3LcF5YSi
2076
+ 6QDQmnHtM4VzpTjwgUshoaOLW67QidGM69cqXPNO4WCqd8/atWtrXn1oP1XHjh01Xc+K09uy
2077
+ ZYvq69PT03HJkiWqctfritK2NCEhwWh0jIeHB/dDcuTIEQnd/rp16zRlX2I50nft2iWbeVcL
2078
+ oXKrVq30ru3Vq5fmjyJlJc2gkC60VFcIxdPx4tLWzkSF6CGdfM87krWAD7ww3yh0gGZS66vi
2079
+ ZU1SWH310AiDBw/WvPenv5jLli3T1AYdpuTk5KSabuH69esG8XAOHDgQ4+PjJc52nUyZMsUo
2080
+ BXR1dWXCxxITE3Hs2LFM39yCBQs0oXkqVKjAVPLnz5+jn58f02WhhR+ITg9uZ2enOQyNEQvq
2081
+ ozAf/VQ8+z3Qp2WRU0Ixm/x4ysiTJUtVBCeyUga7qqAHCAR5CotS9DVyUCq1FjktfKTR0dGS
2082
+ A/zUqVNVXfvgwQNVpn4eoka3HfT398fJkyfjokWLcNeuXQbniwfCcj1t2jTmR2TJkiXo4OCg
2083
+ CPbWcr8OHTpwFWPSpEmSWE4t8vr1a4n1VutZn4FvXaziWPabimdfyAlmoMsUCrxyjL6ZAwlY
2084
+ FB8238s0KI7POq1i2VYiQpUofXh4uKZBHjZsmN71jo6Omq5fsGCBpO9Kqa/fvn2LR48eVUUg
2085
+ nFPFzMwMv/32W7x8+TIePnxYgjIxRQ4JVilatGgWLI12iSQnJ+sBGFxdXTUfNbp27SrJY6FF
2086
+ Dh48SPf5igoltKXBIxzXRWkVSij2KHiRc6UesuwrRqeCQDnRSxsVL6iniofVS7pRvHhxzS+J
2087
+ JiPSem6gfXqVK1eWrX/06FGTxPsZUqytrdHJyQmrV68u2YJbWFhg7dq1syyUHh4eWZjQ8PDw
2088
+ bOtTs2bN8PXr1zhmzBgsVKgQFixYEH/99des8Ro/fryeq0Kr/Pzzz5KjgtbjCrW6ZzDglXRg
2089
+ L4CQ3yJB4fl1WZxecn5/S21bdSTBXcU33EK2jGKZK3NTXf42Je7GNSKjjxzZzSIaoa9FYmNj
2090
+ jUKQPH/+XLL90uW658moUaNybbVbvHgxbtq0CceMGaPqHFqoUCFs1qyZJop6QwqrfR2IICgo
2091
+ SA+jioh448YN1WCFv//+W9K2VgJlRnLYtjJzUkyn763w7EnEXcfLcX+Ac96cJ/5jFCk0Po53
2092
+ 08YgT4Gv4+MoIAr7d5d54MPia7/77jtNg8t6QVrOg+vXr5dcf/nyZaY5f/HixThjxgwsXrx4
2093
+ rilhtWrVsHXr1nlmC6xUfH19ERGzrKWVKlXCbdu2oaWlpeqA3aSkJMmqf/DgQU3zpH///mrz
2094
+ VgA5M4qt+dMVntNXxr/ej2p7NHxg+c4yrOiWZyvKZREtg4GTS5LxBvTTov2i4J4IN+bQPXfu
2095
+ XEkSTC1C88aUK1eOOQl40K6cLhYWFnjv3j2J6T4vFhcXlyzQtk4JRowYkYXvvXjxosEr2YwZ
2096
+ MzS954ULF6rFkQIICUB/pWBq2xUMNDuBzS9TiGp7mcheYmYOAj2hTunEAYqZBEvHkkyFpXwE
2097
+ ZejpQg6ivMOvXt5xV1dNEDsICQnR+3etWrU0XX/8+HG9f7ds2VK6X160CN68eQN5Qdzd3aFc
2098
+ uXJw+PBh8Pb2Bk9PT3BxcYG8KJ06dQJ3d3dISkqCffv2QYECBaB27doQGhoKBQsWhNq11WOa
2099
+ q1bVd8tdvHhRU18Y88JNpnoRsm0sJDK6fCVj0GlP4mVZeNRkhiFShzhzASrUqB1VuQFH69vJ
2100
+ fBE2UG20JX8vzel8TboNrcG3tHVSC0X+7du3FcHQQUFBBnFnZkfp3r07Pn/+nPksv/76qyq6
2101
+ iJwqNjY2WeRSOirCYcOGZSWe8fb21vSe6RwiWg08T58+pft4X0YJN3CAKS7Azqv5DtjB8LRO
2102
+ FQX9zMHeAPoUbksYnbnHWXp550DaAKNzYfCYkLvRWy0tREwZGRkSrKIWrOe2bdtQyT3CCmvK
2103
+ yeLm5oZjxozBf/75R/F5duzYkWc+GNWqVcOYmBicNWtWlpP9xIkTWf1zdHTU5HTfuHGj5B5a
2104
+ gfUUOihRRgnnigIO6LnbB/h5NcX/fgnSrL1dQEqWrUdtGM7ojD/jZns42DgP6lpdXrdUmYcd
2105
+ asx5LjExUTIY586dU339jz/+KOtfvHnzpuoMRdlRKlWqpDlb0fbt23PNfSJXAgICJIBsLR/M
2106
+ c+fOSdqkKTmUhJEc1UKF22wy4/cAxjMeBnk+JtZ1a81JIK1OnBl4uA3EaCMWD0bjk0HgZBQf
2107
+ ZOeK/CdyDtEPa3XRopr2+e/evZP8zc3NTfX19+/r70jq1dOnh9yzZw+kp6fn2tlv69atYG1t
2108
+ rem6Hj16wPbt2/PEmdDZ2RmGDRsGO3bsgN69e8ONG/p8R6dOnVLdloeHdNrFx8dr6k/FipK0
2109
+ 9p/IGAt1Mg30aSx0do9oRhCCWFZT/y4EUvrPMuYgJVuiK8WAlJqQtpycZ2xlu8IHKoFHagdJ
2110
+ qxK+fftW7982NjZQqlQp1denpaXpH4IbNND7t4WFRa5M3qZNm8Lly5ehYcOGBl1vb28PlpaW
2111
+ ua6EI0eOhBUrVkD37t2ZH83o6GjVbRUrVgyKF9efrikpKZr6U7KkhHCNN+HEc9YGhAAFc9Hf
2112
+ EkBIEMOTQPiQHEknPiBNAfiJOUjR3P05GDq9uSn6/3QQ4qsyRX8rTGHq5JSwoDFKSFsstV7v
2113
+ 4OAga0GjLbUVKlSABQsWwM6dO2H58uXwySefZMvknT9/PhQuXNjg66tWrWqwAptSrl69qvdv
2114
+ R0f9uNaEBG0kZO7u+u5mrbuEEiVKqFXCx9Scbgr6mGkAgYuJ50HYy/ibH+Nvn7A+lVVAILYR
2115
+ x1wdAYAnAFCeUX8ZADyg/jaHcnfIKaGVMUpEbxW1Xl+kiD5yqWbNmpCUlATh4eFgZmYGdevW
2116
+ 1d/QBwRA48YfsmGlpqbCuHHjTD5569QxLtPywoUL4fz587muhLdu3YKNGzeCubk52NvbS7aD
2117
+ ycnJcO7cOUhISFClkO/fv5co4d27d+HBgwfw9OlTSExMlKy2lpaWYG9vD/b29vDw4UO1SphO
2118
+ jJLiPfAsEHIVireqU4mFk94y7aP+XQOE3Be0WAJlLhVbeWhhsaYlMh6Cxd7dT2ZcpwMFBC5X
2119
+ rpwkxg0Y9HwODg6SehYWFujg4JBVeFEIdnZ2WLp0aSxWrJje3ytWrKgHYbOystIz++/fv1+R
2120
+ BwVMAIY2VhgQrX9lMYHRrK/M3GRFUZwC/VTwAADrqTohjLZ+59z/HwB2GqiXIPXyV2TU+46x
2121
+ qoUy6tWVedAFH9NLr1Klih4le0hIiMFteXl54f3793HlypW4fv16/OKLLxAAsE6dOkYr4Z07
2122
+ d7By5cr/CUU0soyUmZtfca4ZzLCRyOmFIwjRFqy2jgJHaXgJLAJBP0SJVtSJwKYCsJF50MUf
2123
+ 24sT40rDwsIMTs5CpxHT8W526NAB58yZgyEhIUYp4po1a/KVTLmMlpmblTnXvAR9ek8AfXZB
2124
+ GpgyTeb+WywBIJLjcphAtqXiDfZO+JDg5XfQh+O4gcCeTcsdqg2TipWVld650NraWmLx5ImF
2125
+ hQVYWFjo1S9btixERUUx6xYuXBisra3ByemDVycyMhLMzMwAETX129vbW3I+6t27N2zfvh2s
2126
+ ra3B398fgoKCYOfOnWBhYQFPnz6FZ8+eQUxMDFSrVo1lapfIoEGDYNy4cZCUlJSj50AnJyfo
2127
+ 0KEDXLhwAZ49eyY50yUnJ+sZSrp06QJxcXEQFRXFdQc5ODhAuXLl4MmTJ3DmzBk9d0yBAgXg
2128
+ xYsX8PTpU8jMzORaVsuUKQPJycmwe/du1R4sAIhneBA+IXaPgaK/rQKAVuSaaOrM97XMPR4C
2129
+ yHPDDKUuqE3+nkm2pzoxA35SxQ0KD/qLuH779u0REfHNmzcYHR2NERER+PDhQwwODs4qYWFh
2130
+ GBERgTExMXj06FG9+/3444/48uVLjIiIwIiICAwNDdW79saNG/jkyZMsxi6axuHEiRP45MkT
2131
+ PH/+vB5AeuTIkVxOTzpjk1KpXr063rlzB1NSUvDs2bO4efNmXLp0KbZs2RKnT5+elenJ3d0d
2132
+ X79+zWTLLl++vKoMU40bN86VFYbH07pixQq9elq5hMQMcgCAwcHBmq6n78+Y47T8yXnGTNDP
2133
+ OWhJ3Ba/M9wScmPVD4DK/UCVCNAnSjUnS/EJhlvDkD03gADb0UtMokVoKFOXLl00XV+/fn29
2134
+ 60eNGoWI0oQyuvjEiIgIrFy5MoaGhmJGRgaLyUuxlChRAt3d3ZlGIxsbmywD0+XLl/HBgwfc
2135
+ CHo1aBFG5ECOFRZvzpAhQyTnYi1CG9K0KiHNSwv8LL5itwLvGS9Qdbcz3BhK1Ph1AATCGblK
2136
+ vahGj1DbTksQaO3VUOazpA+9SmiRQ4cO6d3P2dlZ0/V0XF69evUQEbFly5ZoZWWFnTp1wvHj
2137
+ x2elAUtJSUEAwFKlSjHTVpuq9OnTBxER9+7dy61z9uxZVc8ox3qWnYWVhIemQ9QCtk9LS5Pc
2138
+ Q2u+SZqBAQB6KLkWOR4EXelEKWxnyi2hRP1iAcT3J1eRDt2YR/a+ar4Ur0Ce4AlA4G/Uy0Wo
2139
+ RSIiIiT3ffnypeJ1kZGRGBERIWGLtrGxwYcPH6KZmRmXpFZnwVSiuTfU+mptbY0rVqzA4cOH
2140
+ c4l0PT09VU9crdtlUxVra2uJS4dm1NZlgTIwCkJTop+0tDTWeDZQcTYMlHnOYFG90gBQS4Vb
2141
+ QleOiG/yVKHyF6K6fSmr6E2Z6w6qeMBqtJ9PS1bW169fS+577NgxRTJYa2trtLCwwM6dOzPp
2142
+ +GxtbSVp0GJjY/HixYsIAPj9998zJ5WFhQV27drVYCoJOzs7PHbsGH7zzTey9Q4cOGAowVGu
2143
+ KSKD50UxpZtYAgMDJVtyLXPl7t27hlLTTwb1uVl0UgrkKfURBGrRLNmmUFmsTGLAdTPQxk/K
2144
+ hPOBkdwh9ISfNWsWs9779+/x559/1gv1sbS0lIT+PHv2LIvvU5wnUMzwvXfvXkRk513Ys2cP
2145
+ ZmZm4tWrV7POeFqKEn2ihYUFd4zi4uLw1atXWZOewbeZ48XOzg5v376NBw4ckPx28uRJ1e85
2146
+ ICDAKEa9EydOsGIA1YjStpKVa9MflFm89YCsgxUuyAR2FHKAwnWfqXhAM6DoFXmU7TyhU6H5
2147
+ +Pgwv6JyOfnE5fTp01mKIA4jev36NY4YMQLNzc0xNjYWERH3798vuV53rtQhavbv34+Ojo4m
2148
+ m9Q//vgjcxxCQkKwcOHCaGlpiQ4ODqpTZudE6dKlCzNlmpacgzTjmlZCsB07dtD3v6PB8xIh
2149
+ 83ypIKQCFEuwwpj8Rd+gkoqB/JV2nZEzH6/+c9BHncvJM0O3KIiIPXr0kOWICQ8P10RNLzYe
2150
+ sEinxOeQd+/eMUmf6GSYjRo1ygrQpZOIfvfdd+ju7s5d9RwcHLBmzZrYvXt3XLlyJZcVvFmz
2151
+ ZnnWKW5hYZGV24I+gwcFBal6z/TRQSshGCPz8m4NSvirwjM2FePMVYxJR9ZNlNI6JYF+VpkG
2152
+ CvU3a3hAvVRquvOWWpk/f75sxPXXX39t1ARSetnjxo2TXDNz5ky9Ovfv38cGDRpg/fr19czk
2153
+ bdq0wUWLFmHp0qW5FBGsXA+0sHIWfixlzJgxis/3/v17yTZdKyEY7R4BgY5CSQqxDIgKR68Z
2154
+ CnXv8xaohSoG7CsNe94+GpRQDwDbvXt3TYN77do1yf11GY8iIyMNppIXGwAuXbrEvf/Dhw8l
2155
+ BofChQszuWB27tyZlbiybNmy+OWXX6rqQ61atXDr1q3cTLfGUHDklvV05MiR6O/vr4ptnTbK
2156
+ AAAzx4ac6HYjMu43WkqLVixrhZ3fJtF1txWefTjvhjVVDNwuyl8od+jUBdrVU7Et1aO4qFat
2157
+ mqbBff/+vWQibd68GRERd+/ebZIJo7QaspTg66+/Vu1WERuKSpQoIbutq169OrZs2RJHjBiB
2158
+ EyZMQC8vL825I3TF29sb7927Z3Aujbp162YZXzZv3owDBw5EHx8fHDhwIE6bNg3PnDmDkZGR
2159
+ Eid5wYIFNfHDzJw5U+/6YsWKaZ4jDMrK6grzciroJ47ZITMW1xTwpuIkuXYU3FPPj6eUcztB
2160
+ VF8uh5uYs8CTcnGwpC490egcCkrSsGFDZG1pjxw5YhIlrFixouz9Q0JCJIpgZmaGp06dktR9
2161
+ 9eoVFipUiHmfmTNn4v79+xVDuUxVdHng4+Li0MvLSzPy5/Hjx+jt7Y0rV67kjk1KSorkebXm
2162
+ kqD7poM3GrFbeq3gwzYnRzQflT7xCFJnlMK4TaTuM0a319XJMBWD31SFtWg0tcIq4UctgcoH
2163
+ p4asad26ddirVy+cOHGihECoa9euiIi4fPlyk01YJSpGHa0fUDkTXrx4oTchW7RowVzhFixY
2164
+ kFXv2bNnOHPmTKYxw9SlY8eOGBISgtevX9dkaDl+/LgqBdi8ebPBaB/dKkYrMSvzsEbM6DGV
2165
+ IBIfKiRJboEC+ECVyDNW0pFHJ3SBi+J4wPsKL0B3mJVLklGeAn2/Bim3Bi0XxG3Mnz+f+TIn
2166
+ TJiAkZGREscrnaW3Ro0amJiYKMlCa0z5+++/ZV/09evXmbyfOvjWq1evmBZMa2trbvbZlJQU
2167
+ 3Lx5M3bq1EniczR0C8rbVmoJfRo/fryqyZ+ZmSlxIdWsWVOTAtEJS83MzPDJkyea2ujbty/9
2168
+ DN8rzEfd1nOQStdDIvn9uoazYAXdCkrH+3dWeAFHST1ekGIQ1V4L+MDVLyeL5LYbhw8f1nP+
2169
+ 0hOwSJEiek57GxsbnDFjhklXDE9PT0VO1KlTpzINOydOnEBPT09mEpXDhw+rmkgpKSkYGBiI
2170
+ p0+fxhUrVuQ4FWPx4sXRy8sL27dvnwVWUJI9e/ZI2vntt980KRDtX6xbt67m2EoGzreRzFws
2171
+ LJrfP1K/zZaJMbSV0Yu7VDCEzrgZARyQ9QkFV4U5CJTfalAy3Vg4OYb0Ak6++czMTIOixA1B
2172
+ qyiVxMRERTLidu3aqbJAWllZqd7SqZncaou5uTm6urpqSmpjYWGB+/btyzJuWFhYqNpS6gw3
2173
+ 4hAstdmPdX5Yeks+Z84cTWPFiERRwjR7ierSoUmeMmfCRjJgl2aM+9wWK+Ec6seyJJiR91Kq
2174
+ Az8NFG1xmihCFdjKPLiEPuPEiROIiHjlypU849PSIWXk5OXLlyy0vmQFpMHNWoSVmVhNGTZs
2175
+ GCYlJeHBgwexZMmSiq6ZZs2aYbdu3fDgwYMSPGvPnj0141aXL1+u6TlZ1u179+5paoMRzrVH
2176
+ YUGYJnN2tAZ2PvtLADAW5PMXspT5KoBA7BsHUqpvL5kQjsH0GY6Up4ybbRL93krh4WNYboHT
2177
+ p0/nGSVUG78WFRWFrq6uXFAzL0e9WtGSU14coRISEqI6rZqlpSXOmjULZ8yYwcyDKBe7mZaW
2178
+ Jtm9lC9fXg+Lq0bat28vOetrFcYxYIjCPBTn3WQxBZ5ljNd6zg7yDmPxMYMPzPdHxZAxlgOR
2179
+ 5/nfyvGZrGe0IT6ozlR4+CWsA3xeUkK1uNbY2FjJVkxchg4dqnlCimXRokW5PhZTp07l9o9O
2180
+ VwcaE7ciIj5+/Fhy9tcS+qTblTByc5RXwDInUFtJeoGawxiPuWRBo/3lnzLu4UvrzBXRKlaY
2181
+ 4SvZz7hhLAiMUvTfaeJgG9IR3e9KuawaAiPZZ3BwcJ5Rwk2bNim++NDQUEmIE3By9xmzJW3Z
2182
+ sqXR1IrG0F/Ex8cz+/Xs2TOJn9PFxUXTWRARsyJZdMXBwUFTAhlExE2bNtH9vqkwB1nJb2tT
2183
+ dbw5CxP9t8mcIGGxPWUSgH5yl3mMi+yBzcg2gvE3OhtvPer39ww/CS1hrK9trVq18oQSKpnX
2184
+ g4KC0MHBQXKdHIDc29tbdfjW8+fPsWvXrujp6SnxnZUvXx47duzIvY+Pj08WGsfLywvT09Px
2185
+ 8ePHJudGZW2V1VpTdZKYmCgZxylTpmj+UDFggUquCV9gZ+GlFYkOiXpC/e1vDlKMTiTaBQDg
2186
+ J2r5rM+40IVhDV0IQiYmscXJXA6OBsp5wiVbYBcXFx4CPtfKoUOHuArIgn/16NEDr1+/LgsN
2187
+ s7Ozw0mTJmFcXJzspBo7dizz7Pb7779nrRIHDhzAnj17opmZGXbq1AnLlCmDAIAtWrTA58+f
2188
+ 49atW7PoOs6cOWPQGLRp04bZv59++klSlw6OViPTp0+XjA8vL6NcwDcDqqaUgZZFT/iTxtCm
2189
+ JyBlaOOFDDpKXAPEWc9arRpTShcL+skSWel1WAzGSsRPVehrLl68iFFRUXkmASbLIHHy5Enm
2190
+ auft7Z21DQsMDFRMWabjtdm2bRtz68UCHyxdupQ5Ca9cuYKPHj3C5ORk3L17t6S9tLQ0CdGV
2191
+ 2rJnzx48e/asHqb2+PHjkvNX0aJFMSoqyuhVcNiwYZoVmSbrAv3UDjxhIV7+ZNS7yBmbNPiQ
2192
+ CEksHRlnxjDdj66MhvYzHItAls4Mzs1/Z9T/h1FvkYqBuEIbMRCFTLQeHh5oZ2eX69TrupVE
2193
+ F9jLorNo06aN5Bz08uVLHDBggKoPSoECBbBVq1Y4c+ZMPHnyJCYnJ2O1atX06vj5+Rl0nnzy
2194
+ 5Am2aNEC3dzccM2aNbh06VIcM2YMNm3aVBEEUKdOHYyOjsaSJUuilZUVvnz5Eh88eCBxeZiZ
2195
+ meHu3bs1923atGkSv2ZYWJimNjIyMrBixYpKNgtQafm8xajHo0IcxbF1pCjpzGPOQZPl0BzN
2196
+ ufkPDH8Ki2Njn4qBGEtvRcRGgJ07d2aFJ7HOXzlRdDjSgIAAZqiUeAXkxf9ppZ7QIYVsbGyw
2197
+ T58+WQze6enpqrlWkpOTcdmyZVmrtoODA44ZMwYDAgIwJiYmq865c+dw3bp16OvrK4nqOHr0
2198
+ qN4qM3v2bGbkB48oS+nMS591+/fvr7kdRhR9LMgzweskirO60bqwglHvD0Z7NQiahvVOvxRX
2199
+ XMOptIDT0VWMuoMUjDJqrVO6OK4MuUDfU6dOYf369XHTpk05TnBrYWGBsbGxuGrVKmZqak9P
2200
+ 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
2345
+ acuuVzKKnOsAAAAASUVORK5CYII=
2346
+ </xsl:text>
2347
+ </xsl:variable>
2348
+
2349
+ <xsl:variable name="Image-Recycle">
2350
+ <xsl:text>
2351
+ iVBORw0KGgoAAAANSUhEUgAAAJkAAAAmCAYAAADXwDkaAAAAGXRFWHRTb2Z0d2FyZQBBZG9i
2352
+ ZSBJbWFnZVJlYWR5ccllPAAAA+lpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tl
2353
+ dCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1l
2354
+ dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUu
2355
+ Ni1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpS
2356
+ REYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgt
2357
+ bnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8v
2358
+ bnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2Vs
2359
+ ZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
2360
+ bW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jl
2361
+ c291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJNaWNyb3NvZnTCriBXb3JkIDIwMTYiIHht
2362
+ cE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzM0NUVBQ0U2RUMzMTFFQUIzQjg4RDg3OEE1NEI2
2363
+ QzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzM0NUVBQ0Y2RUMzMTFFQUIzQjg4RDg3
2364
+ OEE1NEI2QzAiPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+RGhhbmplZTwvcmRm
2365
+ OmxpPiA8L3JkZjpTZXE+IDwvZGM6Y3JlYXRvcj4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJk
2366
+ ZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij4xODAxNzYzPC9yZGY6bGk+IDwvcmRmOkFsdD4g
2367
+ PC9kYzp0aXRsZT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5p
2368
+ aWQ6MzM0NUVBQ0M2RUMzMTFFQUIzQjg4RDg3OEE1NEI2QzAiIHN0UmVmOmRvY3VtZW50SUQ9
2369
+ InhtcC5kaWQ6MzM0NUVBQ0Q2RUMzMTFFQUIzQjg4RDg3OEE1NEI2QzAiLz4gPC9yZGY6RGVz
2370
+ Y3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7t
2371
+ DS20AAAS3ElEQVR42uxcCXhU5bn+t3POZJkkBBKSycxkQcF9YXPjuuJGFRSsgFJb0Xq9el16
2372
+ 3epWl7pWa6tQq7UqFG/Veotgr9arVlxRqTxK0UurkpCZCdlYE0gyZ875/77/mUkYkkwW7X2e
2373
+ W5if539y5sy/ft/7f9/7fecMgmTL3lqquGneRxU9XlGygypSSBkdpZSy8d0XipDcDP0oJaRY
2374
+ EfWOa9vz8LktK8ps6a+UCtNcK4R5O65Ho/pQi5lhXMZN6yvC+bfwWaTu91dHAqAvGKa5JCvK
2375
+ bOm3cMNYAID9uN/vuDkXAPoKl4WDDFNsmFYdEeLoXvcLiWFMzEp5by4ABazYKpLZHRJhWH8S
2376
+ hvHgYEPB8l0pLGvFrqHFaRj7I875tKyg92IjBgC9Qbg5e+BmxkSAZQcuDhl0PMt6C4D8Oazf
2377
+ YsPyKWFaL2fFvHf7yYu0ldLkfRB3+h2ARQJoy4dgGY/RPI4b5iJuWE24c2hW0HtvKQJwPgMo
2378
+ jhuk3Uhwrc/AzWYDZJ+CpJ07hLFNZpp3wJo9nRXz3kzFTPPHqL8ftJ1hPASwPJM0aeY5AObn
2379
+ uMofPB1i1eLvPllJ773lQIBg4xBAcGAKLDW7wGm9Civ1o4Hdq7kE4PxZVsx7d0R5IsBTDzA8
2380
+ lQ6gfqzdi6j39Op7Au5tw1VlhiDhCK5TGcl8W7bs5SWgORMs01+FMG/A55xeYDrF0IlYcLf0
2381
+ lAT6vKRJfaaUBwKJN4Wwrkl9PABc7vzebWhW9ntKKRxByHYXF3FURpIZ+279qtR9qXNYlImr
2382
+ CFV5jkseJK79X549Ms2PXaWekInE4/h0mDDpLZSyWUopRIxqse6bGrOnKEVKMcG+TsIGdzP/
2383
+ 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
2461
+ </xsl:text>
2462
+ </xsl:variable>
2463
+
2464
+ <xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-table">
2465
+
2466
+ <xsl:text>Table </xsl:text>
2467
+
2468
+
2469
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-note">
2470
+
2471
+ <xsl:text>NOTE </xsl:text>
2472
+
2473
+
2474
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-figure">
2475
+
2476
+ <xsl:text>Figure </xsl:text>
2477
+
2478
+
2479
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-example">
2480
+
2481
+ <xsl:text>EXAMPLE </xsl:text>
2482
+
2483
+
2484
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-inequality">Inequality </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-equation">Equation </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-annex">
2485
+
2486
+ <xsl:text>Annex </xsl:text>
2487
+
2488
+
2489
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-appendix">
2490
+ <xsl:text>Appendix </xsl:text>
2491
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-clause">
2492
+
2493
+ <xsl:text>Clause </xsl:text>
2494
+
2495
+
2496
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-edition">
2497
+ <xsl:text>Edition </xsl:text>
2498
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-toc">
2499
+
2500
+
2501
+ </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-page">Page</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-key">Key</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-where">where</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-descriptors">Descriptors</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-part-en">Part </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-part-fr">Partie </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-note-to-entry">Note # to entry: </xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-modified">modified</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-source">SOURCE</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="title-keywords">Keywords</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable xmlns:java="http://xml.apache.org/xalan/java" name="linebreak" select="'&#8232;'"/><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="link-style">
2502
+
2503
+
2504
+ </xsl:attribute-set><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="sourcecode-style">
2505
+
2506
+
2507
+
2508
+
2509
+
2510
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
2511
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2512
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2513
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2514
+
2515
+
2516
+
2517
+
2518
+ </xsl:attribute-set><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="appendix-style">
2519
+
2520
+
2521
+
2522
+ </xsl:attribute-set><xsl:attribute-set xmlns:java="http://xml.apache.org/xalan/java" name="appendix-example-style">
2523
+
2524
+
2525
+
2526
+ </xsl:attribute-set><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="text()">
2527
+ <xsl:value-of select="."/>
2528
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='br']">
2529
+ <xsl:value-of select="$linebreak"/>
2530
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2531
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
2532
+ <xsl:call-template name="add-zero-spaces-java"/>
2533
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']">
2534
+
2535
+ <xsl:variable name="simple-table">
2536
+ <!-- <xsl:copy> -->
2537
+ <xsl:call-template name="getSimpleTable"/>
2538
+ <!-- </xsl:copy> -->
2539
+ </xsl:variable>
2540
+
2541
+ <!-- DEBUG -->
2542
+ <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
2543
+ <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
2544
+
2545
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2546
+
2547
+ <!-- <xsl:if test="$namespace = 'iso'">
2548
+ <fo:block space-before="6pt">&#xA0;</fo:block>
2549
+ </xsl:if> -->
2550
+
2551
+ <xsl:choose>
2552
+ <xsl:when test="@unnumbered = 'true'"/>
2553
+ <xsl:otherwise>
2554
+
2555
+
2556
+
2557
+ <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
2558
+
2559
+
2560
+
2561
+
2562
+
2563
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2564
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2565
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2566
+ <xsl:attribute name="text-align">left</xsl:attribute>
2567
+
2568
+
2569
+
2570
+
2571
+
2572
+ <xsl:value-of select="$title-table"/>
2573
+
2574
+ <xsl:call-template name="getTableNumber"/>
2575
+
2576
+
2577
+ <xsl:if test="*[local-name()='name']">
2578
+
2579
+ :
2580
+
2581
+ <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
2582
+ </xsl:if>
2583
+ </fo:block>
2584
+
2585
+
2586
+ <xsl:call-template name="fn_name_display"/>
2587
+
2588
+ </xsl:otherwise>
2589
+ </xsl:choose>
2590
+
2591
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2592
+
2593
+ <!-- <xsl:variable name="cols-count">
2594
+ <xsl:choose>
2595
+ <xsl:when test="*[local-name()='thead']">
2596
+ <xsl:call-template name="calculate-columns-numbers">
2597
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2598
+ </xsl:call-template>
2599
+ </xsl:when>
2600
+ <xsl:otherwise>
2601
+ <xsl:call-template name="calculate-columns-numbers">
2602
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2603
+ </xsl:call-template>
2604
+ </xsl:otherwise>
2605
+ </xsl:choose>
2606
+ </xsl:variable> -->
2607
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2608
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2609
+
2610
+
2611
+
2612
+ <xsl:variable name="colwidths">
2613
+ <xsl:call-template name="calculate-column-widths">
2614
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2615
+ <xsl:with-param name="table" select="$simple-table"/>
2616
+ </xsl:call-template>
2617
+ </xsl:variable>
2618
+
2619
+ <!-- <xsl:variable name="colwidths2">
2620
+ <xsl:call-template name="calculate-column-widths">
2621
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2622
+ </xsl:call-template>
2623
+ </xsl:variable> -->
2624
+
2625
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2626
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
2627
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2628
+
2629
+ <xsl:variable name="margin-left">
2630
+ <xsl:choose>
2631
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2632
+ <xsl:otherwise>0</xsl:otherwise>
2633
+ </xsl:choose>
2634
+ </xsl:variable>
2635
+
2636
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2637
+
2638
+
2639
+
2640
+
2641
+ <xsl:attribute name="space-after">18pt</xsl:attribute>
2642
+
2643
+
2644
+
2645
+
2646
+
2647
+ <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
2648
+
2649
+
2650
+
2651
+
2652
+
2653
+
2654
+
2655
+
2656
+ <xsl:attribute name="border-top">0.5pt solid black</xsl:attribute>
2657
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2658
+
2659
+
2660
+
2661
+
2662
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2663
+ <xsl:choose>
2664
+ <xsl:when test=". = 1 or . = 0">
2665
+ <fo:table-column column-width="proportional-column-width(2)"/>
2666
+ </xsl:when>
2667
+ <xsl:otherwise>
2668
+ <fo:table-column column-width="proportional-column-width({.})"/>
2669
+ </xsl:otherwise>
2670
+ </xsl:choose>
2671
+ </xsl:for-each>
2672
+ <xsl:apply-templates/>
2673
+ </fo:table>
2674
+
2675
+
2676
+
2677
+ </fo:block-container>
2678
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="getTableNumber">
2679
+ <xsl:choose>
2680
+ <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
2681
+ <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
2682
+ </xsl:when>
2683
+ <xsl:when test="ancestor::*[local-name()='annex']">
2684
+
2685
+
2686
+
2687
+
2688
+
2689
+
2690
+
2691
+ <xsl:variable name="annex-id" select="ancestor::*[local-name()='annex']/@id"/>
2692
+ <xsl:number format="I." count="*[local-name()='annex']"/>
2693
+ <xsl:number format="1" level="any" count="*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true'][ancestor::*[local-name()='annex'][@id = $annex-id]]"/>
2694
+
2695
+
2696
+ </xsl:when>
2697
+ <xsl:otherwise>
2698
+
2699
+
2700
+ <xsl:number format="A." count="*[local-name()='annex']"/>
2701
+ <xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata'])] [not(@unnumbered) or @unnumbered != 'true']"/>
2702
+
2703
+ </xsl:otherwise>
2704
+ </xsl:choose>
2705
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='name']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='name']" mode="process">
2706
+ <xsl:apply-templates/>
2707
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="calculate-columns-numbers">
2708
+ <xsl:param name="table-row"/>
2709
+ <xsl:variable name="columns-count" select="count($table-row/*)"/>
2710
+ <xsl:variable name="sum-colspans" select="sum($table-row/*/@colspan)"/>
2711
+ <xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
2712
+ <xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
2713
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="calculate-column-widths">
2714
+ <xsl:param name="table"/>
2715
+ <xsl:param name="cols-count"/>
2716
+ <xsl:param name="curr-col" select="1"/>
2717
+ <xsl:param name="width" select="0"/>
2718
+
2719
+ <xsl:if test="$curr-col &lt;= $cols-count">
2720
+ <xsl:variable name="widths">
2721
+ <xsl:choose>
2722
+ <xsl:when test="not($table)"><!-- this branch is not using in production, for debug only -->
2723
+ <xsl:for-each select="*[local-name()='thead']//*[local-name()='tr']">
2724
+ <xsl:variable name="words">
2725
+ <xsl:call-template name="tokenize">
2726
+ <xsl:with-param name="text" select="translate(*[local-name()='th'][$curr-col],'- —:', ' ')"/>
2727
+ </xsl:call-template>
2728
+ </xsl:variable>
2729
+ <xsl:variable name="max_length">
2730
+ <xsl:call-template name="max_length">
2731
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2732
+ </xsl:call-template>
2733
+ </xsl:variable>
2734
+ <width>
2735
+ <xsl:value-of select="$max_length"/>
2736
+ </width>
2737
+ </xsl:for-each>
2738
+ <xsl:for-each select="*[local-name()='tbody']//*[local-name()='tr']">
2739
+ <xsl:variable name="words">
2740
+ <xsl:call-template name="tokenize">
2741
+ <xsl:with-param name="text" select="translate(*[local-name()='td'][$curr-col],'- —:', ' ')"/>
2742
+ </xsl:call-template>
2743
+ </xsl:variable>
2744
+ <xsl:variable name="max_length">
2745
+ <xsl:call-template name="max_length">
2746
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2747
+ </xsl:call-template>
2748
+ </xsl:variable>
2749
+ <width>
2750
+ <xsl:value-of select="$max_length"/>
2751
+ </width>
2752
+
2753
+ </xsl:for-each>
2754
+ </xsl:when>
2755
+ <xsl:otherwise>
2756
+ <xsl:for-each select="xalan:nodeset($table)//tr">
2757
+ <xsl:variable name="td_text">
2758
+ <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2759
+ </xsl:variable>
2760
+ <xsl:variable name="words">
2761
+ <xsl:variable name="string_with_added_zerospaces">
2762
+ <xsl:call-template name="add-zero-spaces-java">
2763
+ <xsl:with-param name="text" select="$td_text"/>
2764
+ </xsl:call-template>
2765
+ </xsl:variable>
2766
+ <xsl:call-template name="tokenize">
2767
+ <!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
2768
+ <!-- 2009 thinspace -->
2769
+ <!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
2770
+ <xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '​', ' '))"/>
2771
+ </xsl:call-template>
2772
+ </xsl:variable>
2773
+ <xsl:variable name="max_length">
2774
+ <xsl:call-template name="max_length">
2775
+ <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2776
+ </xsl:call-template>
2777
+ </xsl:variable>
2778
+ <width>
2779
+ <xsl:variable name="divider">
2780
+ <xsl:choose>
2781
+ <xsl:when test="td[$curr-col]/@divide">
2782
+ <xsl:value-of select="td[$curr-col]/@divide"/>
2783
+ </xsl:when>
2784
+ <xsl:otherwise>1</xsl:otherwise>
2785
+ </xsl:choose>
2786
+ </xsl:variable>
2787
+ <xsl:value-of select="$max_length div $divider"/>
2788
+ </width>
2789
+
2790
+ </xsl:for-each>
2791
+
2792
+ </xsl:otherwise>
2793
+ </xsl:choose>
2794
+ </xsl:variable>
2795
+
2796
+
2797
+ <column>
2798
+ <xsl:for-each select="xalan:nodeset($widths)//width">
2799
+ <xsl:sort select="." data-type="number" order="descending"/>
2800
+ <xsl:if test="position()=1">
2801
+ <xsl:value-of select="."/>
2802
+ </xsl:if>
2803
+ </xsl:for-each>
2804
+ </column>
2805
+ <xsl:call-template name="calculate-column-widths">
2806
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2807
+ <xsl:with-param name="curr-col" select="$curr-col +1"/>
2808
+ <xsl:with-param name="table" select="$table"/>
2809
+ </xsl:call-template>
2810
+ </xsl:if>
2811
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="text()" mode="td_text">
2812
+ <xsl:variable name="zero-space">​</xsl:variable>
2813
+ <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
2814
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='termsource']" mode="td_text">
2815
+ <xsl:value-of select="*[local-name()='origin']/@citeas"/>
2816
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='link']" mode="td_text">
2817
+ <xsl:value-of select="@target"/>
2818
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table2']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='thead']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='thead']" mode="process">
2819
+ <xsl:param name="cols-count"/>
2820
+ <!-- font-weight="bold" -->
2821
+ <fo:table-header>
2822
+
2823
+ <xsl:apply-templates/>
2824
+ </fo:table-header>
2825
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tfoot']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tfoot']" mode="process">
2826
+ <xsl:apply-templates/>
2827
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="insertTableFooter">
2828
+ <xsl:param name="cols-count"/>
2829
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2830
+ <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
2831
+
2832
+ <fo:table-footer>
2833
+
2834
+ <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2835
+
2836
+ <!-- if there are note(s) or fn(s) then create footer row -->
2837
+ <xsl:if test="$isNoteOrFnExist = 'true'">
2838
+
2839
+
2840
+
2841
+ <fo:table-row>
2842
+ <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2843
+
2844
+
2845
+
2846
+ <!-- fn will be processed inside 'note' processing -->
2847
+
2848
+
2849
+ <!-- except gb -->
2850
+
2851
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2852
+
2853
+
2854
+ <!-- horizontal row separator -->
2855
+
2856
+
2857
+ <!-- fn processing -->
2858
+ <xsl:call-template name="fn_display"/>
2859
+
2860
+ </fo:table-cell>
2861
+ </fo:table-row>
2862
+
2863
+ </xsl:if>
2864
+ </fo:table-footer>
2865
+
2866
+ </xsl:if>
2867
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tbody']">
2868
+
2869
+ <xsl:variable name="cols-count">
2870
+ <xsl:choose>
2871
+ <xsl:when test="../*[local-name()='thead']">
2872
+ <xsl:call-template name="calculate-columns-numbers">
2873
+ <xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
2874
+ </xsl:call-template>
2875
+ </xsl:when>
2876
+ <xsl:otherwise>
2877
+ <xsl:call-template name="calculate-columns-numbers">
2878
+ <xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
2879
+ </xsl:call-template>
2880
+ </xsl:otherwise>
2881
+ </xsl:choose>
2882
+ </xsl:variable>
2883
+
2884
+ <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
2885
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2886
+ </xsl:apply-templates>
2887
+
2888
+ <xsl:call-template name="insertTableFooter">
2889
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2890
+ </xsl:call-template>
2891
+
2892
+ <fo:table-body>
2893
+ <xsl:apply-templates/>
2894
+ <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
2895
+
2896
+ </fo:table-body>
2897
+
2898
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tr']">
2899
+ <xsl:variable name="parent-name" select="local-name(..)"/>
2900
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2901
+ <fo:table-row min-height="4mm">
2902
+ <xsl:if test="$parent-name = 'thead'">
2903
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2904
+
2905
+
2906
+
2907
+
2908
+
2909
+ </xsl:if>
2910
+ <xsl:if test="$parent-name = 'tfoot'">
2911
+
2912
+
2913
+ </xsl:if>
2914
+
2915
+
2916
+ <xsl:if test="not(*[local-name()='th'])">
2917
+ <xsl:attribute name="min-height">8mm</xsl:attribute>
2918
+ </xsl:if>
2919
+
2920
+ <xsl:apply-templates/>
2921
+ </fo:table-row>
2922
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='th']">
2923
+ <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
2924
+
2925
+
2926
+
2927
+
2928
+
2929
+
2930
+
2931
+ <xsl:attribute name="display-align">center</xsl:attribute>
2932
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2933
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2934
+ <xsl:attribute name="padding-top">2mm</xsl:attribute>
2935
+ <xsl:attribute name="padding-left">2mm</xsl:attribute>
2936
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2937
+ <xsl:attribute name="border-top">solid black 0.2pt</xsl:attribute>
2938
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
2939
+
2940
+ <xsl:if test="@colspan">
2941
+ <xsl:attribute name="number-columns-spanned">
2942
+ <xsl:value-of select="@colspan"/>
2943
+ </xsl:attribute>
2944
+ </xsl:if>
2945
+ <xsl:if test="@rowspan">
2946
+ <xsl:attribute name="number-rows-spanned">
2947
+ <xsl:value-of select="@rowspan"/>
2948
+ </xsl:attribute>
2949
+ </xsl:if>
2950
+ <fo:block>
2951
+ <xsl:apply-templates/>
2952
+ </fo:block>
2953
+ </fo:table-cell>
2954
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='td']">
2955
+ <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
2956
+
2957
+
2958
+
2959
+
2960
+
2961
+
2962
+
2963
+
2964
+ <xsl:attribute name="display-align">before</xsl:attribute>
2965
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
2966
+ <xsl:attribute name="padding-top">2mm</xsl:attribute>
2967
+ <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
2968
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2969
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
2970
+
2971
+
2972
+ <xsl:if test="@colspan">
2973
+ <xsl:attribute name="number-columns-spanned">
2974
+ <xsl:value-of select="@colspan"/>
2975
+ </xsl:attribute>
2976
+ </xsl:if>
2977
+ <xsl:if test="@rowspan">
2978
+ <xsl:attribute name="number-rows-spanned">
2979
+ <xsl:value-of select="@rowspan"/>
2980
+ </xsl:attribute>
2981
+ </xsl:if>
2982
+ <fo:block>
2983
+
2984
+ <xsl:apply-templates/>
2985
+ </fo:block>
2986
+ <!-- <xsl:choose>
2987
+ <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
2988
+ <xsl:apply-templates />
2989
+ </xsl:when>
2990
+ <xsl:otherwise>
2991
+ <fo:block>
2992
+ <xsl:apply-templates />
2993
+ </fo:block>
2994
+ </xsl:otherwise>
2995
+ </xsl:choose> -->
2996
+
2997
+
2998
+ </fo:table-cell>
2999
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='note']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='note']" mode="process">
3000
+
3001
+
3002
+ <fo:block font-size="10pt" margin-bottom="12pt">
3003
+
3004
+
3005
+
3006
+
3007
+ <fo:inline padding-right="2mm">
3008
+
3009
+
3010
+ <xsl:value-of select="$title-note"/>
3011
+
3012
+
3013
+
3014
+ <xsl:number format="1 "/>
3015
+
3016
+ </fo:inline>
3017
+ <xsl:apply-templates mode="process"/>
3018
+ </fo:block>
3019
+
3020
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3021
+ <xsl:apply-templates/>
3022
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="fn_display">
3023
+ <xsl:variable name="references">
3024
+ <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
3025
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3026
+
3027
+
3028
+ <xsl:apply-templates/>
3029
+ </fn>
3030
+ </xsl:for-each>
3031
+ </xsl:variable>
3032
+ <xsl:for-each select="xalan:nodeset($references)//fn">
3033
+ <xsl:variable name="reference" select="@reference"/>
3034
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3035
+ <fo:block margin-bottom="12pt">
3036
+
3037
+
3038
+
3039
+
3040
+ <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3041
+
3042
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
3043
+
3044
+
3045
+
3046
+
3047
+
3048
+
3049
+ <xsl:value-of select="@reference"/>
3050
+
3051
+ </fo:inline>
3052
+ <fo:inline>
3053
+
3054
+ <xsl:apply-templates/>
3055
+ </fo:inline>
3056
+ </fo:block>
3057
+ </xsl:if>
3058
+ </xsl:for-each>
3059
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="fn_name_display">
3060
+ <!-- <xsl:variable name="references">
3061
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3062
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3063
+ <xsl:apply-templates />
3064
+ </fn>
3065
+ </xsl:for-each>
3066
+ </xsl:variable>
3067
+ $references=<xsl:copy-of select="$references"/> -->
3068
+ <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3069
+ <xsl:variable name="reference" select="@reference"/>
3070
+ <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
3071
+ <fo:block margin-bottom="12pt">
3072
+ <xsl:apply-templates/>
3073
+ </fo:block>
3074
+ </xsl:for-each>
3075
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="fn_display_figure">
3076
+ <xsl:variable name="key_iso">
3077
+ <!-- and (not(@class) or @class !='pseudocode') -->
3078
+ </xsl:variable>
3079
+ <xsl:variable name="references">
3080
+ <xsl:for-each select=".//*[local-name()='fn']">
3081
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3082
+ <xsl:apply-templates/>
3083
+ </fn>
3084
+ </xsl:for-each>
3085
+ </xsl:variable>
3086
+ <xsl:if test="xalan:nodeset($references)//fn">
3087
+ <fo:block>
3088
+ <fo:table width="95%" table-layout="fixed">
3089
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3090
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3091
+
3092
+ </xsl:if>
3093
+ <fo:table-column column-width="15%"/>
3094
+ <fo:table-column column-width="85%"/>
3095
+ <fo:table-body>
3096
+ <xsl:for-each select="xalan:nodeset($references)//fn">
3097
+ <xsl:variable name="reference" select="@reference"/>
3098
+ <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3099
+ <fo:table-row>
3100
+ <fo:table-cell>
3101
+ <fo:block>
3102
+ <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3103
+
3104
+ <xsl:value-of select="@reference"/>
3105
+ </fo:inline>
3106
+ </fo:block>
3107
+ </fo:table-cell>
3108
+ <fo:table-cell>
3109
+ <fo:block text-align="justify" margin-bottom="12pt">
3110
+
3111
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3112
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3113
+ </xsl:if>
3114
+
3115
+ <xsl:apply-templates/>
3116
+ </fo:block>
3117
+ </fo:table-cell>
3118
+ </fo:table-row>
3119
+ </xsl:if>
3120
+ </xsl:for-each>
3121
+ </fo:table-body>
3122
+ </fo:table>
3123
+ </fo:block>
3124
+ </xsl:if>
3125
+
3126
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='fn']">
3127
+ <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3128
+ <fo:inline font-size="80%" keep-with-previous.within-line="always">
3129
+
3130
+
3131
+
3132
+
3133
+ <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3134
+
3135
+ <xsl:value-of select="@reference"/>
3136
+ </fo:basic-link>
3137
+ </fo:inline>
3138
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='fn']/*[local-name()='p']">
3139
+ <fo:inline>
3140
+ <xsl:apply-templates/>
3141
+ </fo:inline>
3142
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dl']">
3143
+ <xsl:variable name="parent" select="local-name(..)"/>
3144
+
3145
+ <xsl:variable name="key_iso">
3146
+ <!-- and (not(../@class) or ../@class !='pseudocode') -->
3147
+ </xsl:variable>
3148
+
3149
+ <xsl:choose>
3150
+ <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3151
+
3152
+
3153
+ <fo:block margin-bottom="12pt" text-align="left">
3154
+
3155
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3156
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
3157
+ <xsl:text/>
3158
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3159
+ </fo:block>
3160
+
3161
+ </xsl:when>
3162
+ <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3163
+ <fo:block margin-bottom="12pt" text-align="left">
3164
+
3165
+
3166
+
3167
+
3168
+ <xsl:value-of select="$title-where"/>
3169
+ </fo:block>
3170
+ </xsl:when>
3171
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
3172
+ <fo:block font-weight="bold" text-align="left" margin-bottom="12pt">
3173
+
3174
+
3175
+
3176
+ <xsl:value-of select="$title-key"/>
3177
+ </fo:block>
3178
+ </xsl:when>
3179
+ </xsl:choose>
3180
+
3181
+ <!-- a few components -->
3182
+ <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
3183
+ <fo:block>
3184
+
3185
+
3186
+
3187
+
3188
+ <fo:block>
3189
+
3190
+
3191
+
3192
+ <!-- create virtual html table for dl/[dt and dd] -->
3193
+ <xsl:variable name="html-table">
3194
+ <xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
3195
+ <xsl:element name="{$ns}:table">
3196
+ <tbody>
3197
+ <xsl:apply-templates mode="dl"/>
3198
+ </tbody>
3199
+ </xsl:element>
3200
+ </xsl:variable>
3201
+ <!-- html-table<xsl:copy-of select="$html-table"/> -->
3202
+ <xsl:variable name="colwidths">
3203
+ <xsl:call-template name="calculate-column-widths">
3204
+ <xsl:with-param name="cols-count" select="2"/>
3205
+ <xsl:with-param name="table" select="$html-table"/>
3206
+ </xsl:call-template>
3207
+ </xsl:variable>
3208
+ <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
3209
+
3210
+ <fo:table width="95%" table-layout="fixed">
3211
+
3212
+ <xsl:choose>
3213
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3214
+ <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3215
+ </xsl:when>
3216
+ <xsl:when test="normalize-space($key_iso) = 'true'">
3217
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3218
+
3219
+ </xsl:when>
3220
+ </xsl:choose>
3221
+ <xsl:choose>
3222
+ <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3223
+ <fo:table-column column-width="50%"/>
3224
+ <fo:table-column column-width="50%"/>
3225
+ </xsl:when>
3226
+ <xsl:otherwise>
3227
+ <xsl:choose>
3228
+ <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
3229
+ <fo:table-column column-width="60%"/>
3230
+ <fo:table-column column-width="40%"/>
3231
+ </xsl:when> -->
3232
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.3">
3233
+ <fo:table-column column-width="50%"/>
3234
+ <fo:table-column column-width="50%"/>
3235
+ </xsl:when>
3236
+ <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 0.5">
3237
+ <fo:table-column column-width="40%"/>
3238
+ <fo:table-column column-width="60%"/>
3239
+ </xsl:when>
3240
+ <xsl:otherwise>
3241
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
3242
+ <xsl:choose>
3243
+ <xsl:when test=". = 1 or . = 0">
3244
+ <fo:table-column column-width="proportional-column-width(2)"/>
3245
+ </xsl:when>
3246
+ <xsl:otherwise>
3247
+ <fo:table-column column-width="proportional-column-width({.})"/>
3248
+ </xsl:otherwise>
3249
+ </xsl:choose>
3250
+ </xsl:for-each>
3251
+ </xsl:otherwise>
3252
+ </xsl:choose>
3253
+ <!-- <fo:table-column column-width="15%"/>
3254
+ <fo:table-column column-width="85%"/> -->
3255
+ </xsl:otherwise>
3256
+ </xsl:choose>
3257
+ <fo:table-body>
3258
+ <xsl:apply-templates>
3259
+ <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
3260
+ </xsl:apply-templates>
3261
+ </fo:table-body>
3262
+ </fo:table>
3263
+ </fo:block>
3264
+ </fo:block>
3265
+ </xsl:if>
3266
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dl']/*[local-name()='note']">
3267
+ <xsl:param name="key_iso"/>
3268
+
3269
+ <!-- <tr>
3270
+ <td>NOTE</td>
3271
+ <td>
3272
+ <xsl:apply-templates />
3273
+ </td>
3274
+ </tr>
3275
+ -->
3276
+ <fo:table-row>
3277
+ <fo:table-cell>
3278
+ <fo:block margin-top="6pt">
3279
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3280
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3281
+ </xsl:if>
3282
+ <xsl:value-of select="$title-note"/>
3283
+ </fo:block>
3284
+ </fo:table-cell>
3285
+ <fo:table-cell>
3286
+ <fo:block>
3287
+ <xsl:apply-templates/>
3288
+ </fo:block>
3289
+ </fo:table-cell>
3290
+ </fo:table-row>
3291
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dt']" mode="dl">
3292
+ <tr>
3293
+ <td>
3294
+ <xsl:apply-templates/>
3295
+ </td>
3296
+ <td>
3297
+
3298
+
3299
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3300
+
3301
+ </td>
3302
+ </tr>
3303
+
3304
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dt']">
3305
+ <xsl:param name="key_iso"/>
3306
+
3307
+ <fo:table-row>
3308
+ <fo:table-cell>
3309
+
3310
+ <fo:block margin-top="6pt">
3311
+
3312
+
3313
+ <xsl:if test="normalize-space($key_iso) = 'true'">
3314
+ <xsl:attribute name="margin-top">0</xsl:attribute>
3315
+
3316
+ </xsl:if>
3317
+
3318
+
3319
+
3320
+
3321
+
3322
+ <xsl:apply-templates/>
3323
+
3324
+ </fo:block>
3325
+ </fo:table-cell>
3326
+ <fo:table-cell>
3327
+ <fo:block>
3328
+
3329
+
3330
+
3331
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3332
+
3333
+ </fo:block>
3334
+ </fo:table-cell>
3335
+ </fo:table-row>
3336
+
3337
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']" mode="dl"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']" mode="dl_process">
3338
+ <xsl:apply-templates/>
3339
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']" mode="process">
3340
+ <xsl:apply-templates/>
3341
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
3342
+ <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
3343
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='em']">
3344
+ <fo:inline font-style="italic">
3345
+ <xsl:apply-templates/>
3346
+ </fo:inline>
3347
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='strong']">
3348
+ <fo:inline font-weight="bold">
3349
+ <xsl:apply-templates/>
3350
+ </fo:inline>
3351
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='sup']">
3352
+ <fo:inline font-size="80%" vertical-align="super">
3353
+ <xsl:apply-templates/>
3354
+ </fo:inline>
3355
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='sub']">
3356
+ <fo:inline font-size="80%" vertical-align="sub">
3357
+ <xsl:apply-templates/>
3358
+ </fo:inline>
3359
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tt']">
3360
+ <fo:inline font-family="Courier" font-size="10pt">
3361
+ <xsl:apply-templates/>
3362
+ </fo:inline>
3363
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='del']">
3364
+ <fo:inline font-size="10pt" color="red" text-decoration="line-through">
3365
+ <xsl:apply-templates/>
3366
+ </fo:inline>
3367
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="text()[ancestor::*[local-name()='smallcap']]">
3368
+ <xsl:variable name="text" select="normalize-space(.)"/>
3369
+ <fo:inline font-size="75%">
3370
+ <xsl:if test="string-length($text) &gt; 0">
3371
+ <xsl:call-template name="recursiveSmallCaps">
3372
+ <xsl:with-param name="text" select="$text"/>
3373
+ </xsl:call-template>
3374
+ </xsl:if>
3375
+ </fo:inline>
3376
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="recursiveSmallCaps">
3377
+ <xsl:param name="text"/>
3378
+ <xsl:variable name="char" select="substring($text,1,1)"/>
3379
+ <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/>
3380
+ <xsl:choose>
3381
+ <xsl:when test="$char=$upperCase">
3382
+ <fo:inline font-size="{100 div 0.75}%">
3383
+ <xsl:value-of select="$upperCase"/>
3384
+ </fo:inline>
3385
+ </xsl:when>
3386
+ <xsl:otherwise>
3387
+ <xsl:value-of select="$upperCase"/>
3388
+ </xsl:otherwise>
3389
+ </xsl:choose>
3390
+ <xsl:if test="string-length($text) &gt; 1">
3391
+ <xsl:call-template name="recursiveSmallCaps">
3392
+ <xsl:with-param name="text" select="substring($text,2)"/>
3393
+ </xsl:call-template>
3394
+ </xsl:if>
3395
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="tokenize">
3396
+ <xsl:param name="text"/>
3397
+ <xsl:param name="separator" select="' '"/>
3398
+ <xsl:choose>
3399
+ <xsl:when test="not(contains($text, $separator))">
3400
+ <word>
3401
+ <xsl:variable name="str_no_en_chars" select="normalize-space(translate($text, $en_chars, ''))"/>
3402
+ <xsl:variable name="len_str_no_en_chars" select="string-length($str_no_en_chars)"/>
3403
+ <xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
3404
+ <xsl:variable name="len_str">
3405
+ <xsl:choose>
3406
+ <xsl:when test="normalize-space(translate($text, $upper, '')) = ''"> <!-- english word in CAPITAL letters -->
3407
+ <xsl:value-of select="$len_str_tmp * 1.5"/>
3408
+ </xsl:when>
3409
+ <xsl:otherwise>
3410
+ <xsl:value-of select="$len_str_tmp"/>
3411
+ </xsl:otherwise>
3412
+ </xsl:choose>
3413
+ </xsl:variable>
3414
+
3415
+ <!-- <xsl:if test="$len_str_no_en_chars div $len_str &gt; 0.8">
3416
+ <xsl:message>
3417
+ div=<xsl:value-of select="$len_str_no_en_chars div $len_str"/>
3418
+ len_str=<xsl:value-of select="$len_str"/>
3419
+ len_str_no_en_chars=<xsl:value-of select="$len_str_no_en_chars"/>
3420
+ </xsl:message>
3421
+ </xsl:if> -->
3422
+ <!-- <len_str_no_en_chars><xsl:value-of select="$len_str_no_en_chars"/></len_str_no_en_chars>
3423
+ <len_str><xsl:value-of select="$len_str"/></len_str> -->
3424
+ <xsl:choose>
3425
+ <xsl:when test="$len_str_no_en_chars div $len_str &gt; 0.8"> <!-- means non-english string -->
3426
+ <xsl:value-of select="$len_str - $len_str_no_en_chars"/>
3427
+ </xsl:when>
3428
+ <xsl:otherwise>
3429
+ <xsl:value-of select="$len_str"/>
3430
+ </xsl:otherwise>
3431
+ </xsl:choose>
3432
+ </word>
3433
+ </xsl:when>
3434
+ <xsl:otherwise>
3435
+ <word>
3436
+ <xsl:value-of select="string-length(normalize-space(substring-before($text, $separator)))"/>
3437
+ </word>
3438
+ <xsl:call-template name="tokenize">
3439
+ <xsl:with-param name="text" select="substring-after($text, $separator)"/>
3440
+ </xsl:call-template>
3441
+ </xsl:otherwise>
3442
+ </xsl:choose>
3443
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="max_length">
3444
+ <xsl:param name="words"/>
3445
+ <xsl:for-each select="$words//word">
3446
+ <xsl:sort select="." data-type="number" order="descending"/>
3447
+ <xsl:if test="position()=1">
3448
+ <xsl:value-of select="."/>
3449
+ </xsl:if>
3450
+ </xsl:for-each>
3451
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="add-zero-spaces-java">
3452
+ <xsl:param name="text" select="."/>
3453
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
3454
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
3455
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="add-zero-spaces">
3456
+ <xsl:param name="text" select="."/>
3457
+ <xsl:variable name="zero-space-after-chars">-</xsl:variable>
3458
+ <xsl:variable name="zero-space-after-dot">.</xsl:variable>
3459
+ <xsl:variable name="zero-space-after-colon">:</xsl:variable>
3460
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
3461
+ <xsl:variable name="zero-space-after-underscore">_</xsl:variable>
3462
+ <xsl:variable name="zero-space">​</xsl:variable>
3463
+ <xsl:choose>
3464
+ <xsl:when test="contains($text, $zero-space-after-chars)">
3465
+ <xsl:value-of select="substring-before($text, $zero-space-after-chars)"/>
3466
+ <xsl:value-of select="$zero-space-after-chars"/>
3467
+ <xsl:value-of select="$zero-space"/>
3468
+ <xsl:call-template name="add-zero-spaces">
3469
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-chars)"/>
3470
+ </xsl:call-template>
3471
+ </xsl:when>
3472
+ <xsl:when test="contains($text, $zero-space-after-dot)">
3473
+ <xsl:value-of select="substring-before($text, $zero-space-after-dot)"/>
3474
+ <xsl:value-of select="$zero-space-after-dot"/>
3475
+ <xsl:value-of select="$zero-space"/>
3476
+ <xsl:call-template name="add-zero-spaces">
3477
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-dot)"/>
3478
+ </xsl:call-template>
3479
+ </xsl:when>
3480
+ <xsl:when test="contains($text, $zero-space-after-colon)">
3481
+ <xsl:value-of select="substring-before($text, $zero-space-after-colon)"/>
3482
+ <xsl:value-of select="$zero-space-after-colon"/>
3483
+ <xsl:value-of select="$zero-space"/>
3484
+ <xsl:call-template name="add-zero-spaces">
3485
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-colon)"/>
3486
+ </xsl:call-template>
3487
+ </xsl:when>
3488
+ <xsl:when test="contains($text, $zero-space-after-equal)">
3489
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
3490
+ <xsl:value-of select="$zero-space-after-equal"/>
3491
+ <xsl:value-of select="$zero-space"/>
3492
+ <xsl:call-template name="add-zero-spaces">
3493
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
3494
+ </xsl:call-template>
3495
+ </xsl:when>
3496
+ <xsl:when test="contains($text, $zero-space-after-underscore)">
3497
+ <xsl:value-of select="substring-before($text, $zero-space-after-underscore)"/>
3498
+ <xsl:value-of select="$zero-space-after-underscore"/>
3499
+ <xsl:value-of select="$zero-space"/>
3500
+ <xsl:call-template name="add-zero-spaces">
3501
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-underscore)"/>
3502
+ </xsl:call-template>
3503
+ </xsl:when>
3504
+ <xsl:otherwise>
3505
+ <xsl:value-of select="$text"/>
3506
+ </xsl:otherwise>
3507
+ </xsl:choose>
3508
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="add-zero-spaces-equal">
3509
+ <xsl:param name="text" select="."/>
3510
+ <xsl:variable name="zero-space-after-equals">==========</xsl:variable>
3511
+ <xsl:variable name="zero-space-after-equal">=</xsl:variable>
3512
+ <xsl:variable name="zero-space">​</xsl:variable>
3513
+ <xsl:choose>
3514
+ <xsl:when test="contains($text, $zero-space-after-equals)">
3515
+ <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
3516
+ <xsl:value-of select="$zero-space-after-equals"/>
3517
+ <xsl:value-of select="$zero-space"/>
3518
+ <xsl:call-template name="add-zero-spaces-equal">
3519
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
3520
+ </xsl:call-template>
3521
+ </xsl:when>
3522
+ <xsl:when test="contains($text, $zero-space-after-equal)">
3523
+ <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
3524
+ <xsl:value-of select="$zero-space-after-equal"/>
3525
+ <xsl:value-of select="$zero-space"/>
3526
+ <xsl:call-template name="add-zero-spaces-equal">
3527
+ <xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
3528
+ </xsl:call-template>
3529
+ </xsl:when>
3530
+ <xsl:otherwise>
3531
+ <xsl:value-of select="$text"/>
3532
+ </xsl:otherwise>
3533
+ </xsl:choose>
3534
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="getSimpleTable">
3535
+ <xsl:variable name="simple-table">
3536
+
3537
+ <!-- Step 1. colspan processing -->
3538
+ <xsl:variable name="simple-table-colspan">
3539
+ <tbody>
3540
+ <xsl:apply-templates mode="simple-table-colspan"/>
3541
+ </tbody>
3542
+ </xsl:variable>
3543
+
3544
+ <!-- Step 2. rowspan processing -->
3545
+ <xsl:variable name="simple-table-rowspan">
3546
+ <xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
3547
+ </xsl:variable>
3548
+
3549
+ <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
3550
+
3551
+ <!-- <xsl:choose>
3552
+ <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
3553
+
3554
+ </xsl:when>
3555
+ <xsl:otherwise>
3556
+ <xsl:copy-of select="current()"/>
3557
+ </xsl:otherwise>
3558
+ </xsl:choose> -->
3559
+ </xsl:variable>
3560
+ <xsl:copy-of select="$simple-table"/>
3561
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
3562
+ <xsl:apply-templates mode="simple-table-colspan"/>
3563
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
3564
+ <xsl:choose>
3565
+ <xsl:when test="@colspan">
3566
+ <xsl:variable name="td">
3567
+ <xsl:element name="td">
3568
+ <xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
3569
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3570
+ <xsl:apply-templates mode="simple-table-colspan"/>
3571
+ </xsl:element>
3572
+ </xsl:variable>
3573
+ <xsl:call-template name="repeatNode">
3574
+ <xsl:with-param name="count" select="@colspan"/>
3575
+ <xsl:with-param name="node" select="$td"/>
3576
+ </xsl:call-template>
3577
+ </xsl:when>
3578
+ <xsl:otherwise>
3579
+ <xsl:element name="td">
3580
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3581
+ <xsl:apply-templates mode="simple-table-colspan"/>
3582
+ </xsl:element>
3583
+ </xsl:otherwise>
3584
+ </xsl:choose>
3585
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="@colspan" mode="simple-table-colspan"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='tr']" mode="simple-table-colspan">
3586
+ <xsl:element name="tr">
3587
+ <xsl:apply-templates select="@*" mode="simple-table-colspan"/>
3588
+ <xsl:apply-templates mode="simple-table-colspan"/>
3589
+ </xsl:element>
3590
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="@*|node()" mode="simple-table-colspan">
3591
+ <xsl:copy>
3592
+ <xsl:apply-templates select="@*|node()" mode="simple-table-colspan"/>
3593
+ </xsl:copy>
3594
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="repeatNode">
3595
+ <xsl:param name="count"/>
3596
+ <xsl:param name="node"/>
3597
+
3598
+ <xsl:if test="$count &gt; 0">
3599
+ <xsl:call-template name="repeatNode">
3600
+ <xsl:with-param name="count" select="$count - 1"/>
3601
+ <xsl:with-param name="node" select="$node"/>
3602
+ </xsl:call-template>
3603
+ <xsl:copy-of select="$node"/>
3604
+ </xsl:if>
3605
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="@*|node()" mode="simple-table-rowspan">
3606
+ <xsl:copy>
3607
+ <xsl:apply-templates select="@*|node()" mode="simple-table-rowspan"/>
3608
+ </xsl:copy>
3609
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="tbody" mode="simple-table-rowspan">
3610
+ <xsl:copy>
3611
+ <xsl:copy-of select="tr[1]"/>
3612
+ <xsl:apply-templates select="tr[2]" mode="simple-table-rowspan">
3613
+ <xsl:with-param name="previousRow" select="tr[1]"/>
3614
+ </xsl:apply-templates>
3615
+ </xsl:copy>
3616
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="tr" mode="simple-table-rowspan">
3617
+ <xsl:param name="previousRow"/>
3618
+ <xsl:variable name="currentRow" select="."/>
3619
+
3620
+ <xsl:variable name="normalizedTDs">
3621
+ <xsl:for-each select="xalan:nodeset($previousRow)//td">
3622
+ <xsl:choose>
3623
+ <xsl:when test="@rowspan &gt; 1">
3624
+ <xsl:copy>
3625
+ <xsl:attribute name="rowspan">
3626
+ <xsl:value-of select="@rowspan - 1"/>
3627
+ </xsl:attribute>
3628
+ <xsl:copy-of select="@*[not(name() = 'rowspan')]"/>
3629
+ <xsl:copy-of select="node()"/>
3630
+ </xsl:copy>
3631
+ </xsl:when>
3632
+ <xsl:otherwise>
3633
+ <xsl:copy-of select="$currentRow/td[1 + count(current()/preceding-sibling::td[not(@rowspan) or (@rowspan = 1)])]"/>
3634
+ </xsl:otherwise>
3635
+ </xsl:choose>
3636
+ </xsl:for-each>
3637
+ </xsl:variable>
3638
+
3639
+ <xsl:variable name="newRow">
3640
+ <xsl:copy>
3641
+ <xsl:copy-of select="$currentRow/@*"/>
3642
+ <xsl:copy-of select="xalan:nodeset($normalizedTDs)"/>
3643
+ </xsl:copy>
3644
+ </xsl:variable>
3645
+ <xsl:copy-of select="$newRow"/>
3646
+
3647
+ <xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
3648
+ <xsl:with-param name="previousRow" select="$newRow"/>
3649
+ </xsl:apply-templates>
3650
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="getLang">
3651
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3652
+ <xsl:choose>
3653
+ <xsl:when test="$language = 'English'">en</xsl:when>
3654
+ <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
3655
+ </xsl:choose>
3656
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="capitalizeWords">
3657
+ <xsl:param name="str"/>
3658
+ <xsl:variable name="str2" select="translate($str, '-', ' ')"/>
3659
+ <xsl:choose>
3660
+ <xsl:when test="contains($str2, ' ')">
3661
+ <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3662
+ <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3663
+ <xsl:value-of select="substring($substr, 2)"/>
3664
+ <xsl:text> </xsl:text>
3665
+ <xsl:call-template name="capitalizeWords">
3666
+ <xsl:with-param name="str" select="substring-after($str2, ' ')"/>
3667
+ </xsl:call-template>
3668
+ </xsl:when>
3669
+ <xsl:otherwise>
3670
+ <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3671
+ <xsl:value-of select="substring($str2, 2)"/>
3672
+ </xsl:otherwise>
3673
+ </xsl:choose>
3674
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="mathml:math">
3675
+ <fo:inline font-family="STIX2Math">
3676
+ <fo:instream-foreign-object fox:alt-text="Math">
3677
+ <xsl:copy-of select="."/>
3678
+ </fo:instream-foreign-object>
3679
+ </fo:inline>
3680
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='localityStack']">
3681
+ <xsl:for-each select="*[local-name()='locality']">
3682
+ <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
3683
+ <xsl:apply-templates select="."/>
3684
+ <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
3685
+ </xsl:for-each>
3686
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='link']" name="link">
3687
+ <xsl:variable name="target">
3688
+ <xsl:choose>
3689
+ <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
3690
+ <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
3691
+ </xsl:when>
3692
+ <xsl:otherwise>
3693
+ <xsl:value-of select="normalize-space(@target)"/>
3694
+ </xsl:otherwise>
3695
+ </xsl:choose>
3696
+ </xsl:variable>
3697
+ <fo:inline xsl:use-attribute-sets="link-style">
3698
+ <xsl:choose>
3699
+ <xsl:when test="$target = ''">
3700
+ <xsl:apply-templates/>
3701
+ </xsl:when>
3702
+ <xsl:otherwise>
3703
+ <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
3704
+ <xsl:choose>
3705
+ <xsl:when test="normalize-space(.) = ''">
3706
+ <xsl:value-of select="$target"/>
3707
+ </xsl:when>
3708
+ <xsl:otherwise>
3709
+ <xsl:apply-templates/>
3710
+ </xsl:otherwise>
3711
+ </xsl:choose>
3712
+ </fo:basic-link>
3713
+ </xsl:otherwise>
3714
+ </xsl:choose>
3715
+ </fo:inline>
3716
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='sourcecode']" name="sourcecode">
3717
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
3718
+ <!-- <xsl:choose>
3719
+ <xsl:when test="@lang = 'en'"></xsl:when>
3720
+ <xsl:otherwise> -->
3721
+ <xsl:attribute name="white-space">pre</xsl:attribute>
3722
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
3723
+ <!-- </xsl:otherwise>
3724
+ </xsl:choose> -->
3725
+ <xsl:apply-templates/>
3726
+ </fo:block>
3727
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='bookmark']">
3728
+ <fo:inline id="{@id}"/>
3729
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']">
3730
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
3731
+ <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
3732
+ <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
3733
+ </fo:block>
3734
+ <xsl:apply-templates/>
3735
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
3736
+ <fo:inline><xsl:apply-templates/></fo:inline>
3737
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']//*[local-name()='example']">
3738
+ <fo:block xsl:use-attribute-sets="appendix-example-style">
3739
+ <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
3740
+ <xsl:value-of select="$title-example"/>
3741
+ <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
3742
+ <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
3743
+ </xsl:if>
3744
+ <xsl:if test="*[local-name()='name']">
3745
+ <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
3746
+ </xsl:if>
3747
+ </fo:block>
3748
+ <xsl:apply-templates/>
3749
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']"/><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']" mode="process">
3750
+ <fo:inline><xsl:apply-templates/></fo:inline>
3751
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name() = 'callout']">
3752
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
3753
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name() = 'annotation']">
3754
+ <xsl:variable name="annotation-id" select="@id"/>
3755
+ <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
3756
+ <fo:block id="{$annotation-id}" white-space="nowrap">
3757
+ <fo:inline>
3758
+ <xsl:apply-templates>
3759
+ <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
3760
+ </xsl:apply-templates>
3761
+ </fo:inline>
3762
+ </fo:block>
3763
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" match="*[local-name() = 'annotation']/*[local-name() = 'p']">
3764
+ <xsl:param name="callout"/>
3765
+ <fo:inline id="{@id}">
3766
+ <!-- for first p in annotation, put <x> -->
3767
+ <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
3768
+ <xsl:apply-templates/>
3769
+ </fo:inline>
3770
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="convertDate">
3771
+ <xsl:param name="date"/>
3772
+ <xsl:param name="format" select="'short'"/>
3773
+ <xsl:variable name="year" select="substring($date, 1, 4)"/>
3774
+ <xsl:variable name="month" select="substring($date, 6, 2)"/>
3775
+ <xsl:variable name="day" select="substring($date, 9, 2)"/>
3776
+ <xsl:variable name="monthStr">
3777
+ <xsl:choose>
3778
+ <xsl:when test="$month = '01'">January</xsl:when>
3779
+ <xsl:when test="$month = '02'">February</xsl:when>
3780
+ <xsl:when test="$month = '03'">March</xsl:when>
3781
+ <xsl:when test="$month = '04'">April</xsl:when>
3782
+ <xsl:when test="$month = '05'">May</xsl:when>
3783
+ <xsl:when test="$month = '06'">June</xsl:when>
3784
+ <xsl:when test="$month = '07'">July</xsl:when>
3785
+ <xsl:when test="$month = '08'">August</xsl:when>
3786
+ <xsl:when test="$month = '09'">September</xsl:when>
3787
+ <xsl:when test="$month = '10'">October</xsl:when>
3788
+ <xsl:when test="$month = '11'">November</xsl:when>
3789
+ <xsl:when test="$month = '12'">December</xsl:when>
3790
+ </xsl:choose>
3791
+ </xsl:variable>
3792
+ <xsl:variable name="result">
3793
+ <xsl:choose>
3794
+ <xsl:when test="$format = 'short' or $day = ''">
3795
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
3796
+ </xsl:when>
3797
+ <xsl:otherwise>
3798
+ <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
3799
+ </xsl:otherwise>
3800
+ </xsl:choose>
3801
+ </xsl:variable>
3802
+ <xsl:value-of select="$result"/>
3803
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="insertKeywords">
3804
+ <xsl:param name="sorting" select="'true'"/>
3805
+ <xsl:param name="charAtEnd" select="'.'"/>
3806
+ <xsl:param name="charDelim" select="', '"/>
3807
+ <xsl:choose>
3808
+ <xsl:when test="$sorting = 'true' or $sorting = 'yes'">
3809
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
3810
+ <xsl:sort data-type="text" order="ascending"/>
3811
+ <xsl:call-template name="insertKeyword">
3812
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
3813
+ <xsl:with-param name="charDelim" select="$charDelim"/>
3814
+ </xsl:call-template>
3815
+ </xsl:for-each>
3816
+ </xsl:when>
3817
+ <xsl:otherwise>
3818
+ <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
3819
+ <xsl:call-template name="insertKeyword">
3820
+ <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
3821
+ <xsl:with-param name="charDelim" select="$charDelim"/>
3822
+ </xsl:call-template>
3823
+ </xsl:for-each>
3824
+ </xsl:otherwise>
3825
+ </xsl:choose>
3826
+ </xsl:template><xsl:template xmlns:java="http://xml.apache.org/xalan/java" name="insertKeyword">
3827
+ <xsl:param name="charAtEnd"/>
3828
+ <xsl:param name="charDelim"/>
3829
+ <xsl:apply-templates/>
3830
+ <xsl:choose>
3831
+ <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
3832
+ <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
3833
+ </xsl:choose>
3834
+ </xsl:template></xsl:stylesheet>