metanorma-itu 1.2.9 → 1.2.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +11 -22
- data/.rubocop.yml +0 -4
- data/lib/asciidoctor/itu/basicdoc.rng +20 -3
- data/lib/asciidoctor/itu/boilerplate.xml +5 -2
- data/lib/asciidoctor/itu/cleanup.rb +9 -0
- data/lib/asciidoctor/itu/converter.rb +2 -1
- data/lib/asciidoctor/itu/front.rb +19 -20
- data/lib/asciidoctor/itu/isodoc.rng +118 -4
- data/lib/asciidoctor/itu/itu.rng +76 -0
- data/lib/asciidoctor/itu/validate.rb +13 -5
- data/lib/isodoc/itu/base_convert.rb +70 -52
- data/lib/isodoc/itu/cleanup.rb +55 -0
- data/lib/isodoc/itu/html/header.html +12 -8
- data/lib/isodoc/itu/html/html_itu_intro.html +1 -1
- data/lib/isodoc/itu/html/html_itu_titlepage.html +15 -3
- data/lib/isodoc/itu/html/htmlstyle.css +59 -12
- data/lib/isodoc/itu/html/htmlstyle.scss +26 -5
- data/lib/isodoc/itu/html/word_itu_intro.html +8 -2
- data/lib/isodoc/itu/html/word_itu_titlepage.html +29 -6
- data/lib/isodoc/itu/html/wordstyle.css +34 -0
- data/lib/isodoc/itu/html/wordstyle.scss +33 -0
- data/lib/isodoc/itu/html_convert.rb +2 -2
- data/lib/isodoc/itu/i18n-en.yaml +4 -0
- data/lib/isodoc/itu/itu.implementers-guide.xsl +5705 -0
- data/lib/isodoc/itu/itu.in-force.xsl +5705 -0
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +897 -376
- data/lib/isodoc/itu/itu.recommendation-supplement.xsl +5705 -0
- data/lib/isodoc/itu/itu.recommendation.xsl +897 -376
- data/lib/isodoc/itu/itu.resolution.xsl +897 -376
- data/lib/isodoc/itu/itu.technical-paper.xsl +897 -376
- data/lib/isodoc/itu/itu.technical-report.xsl +897 -376
- data/lib/isodoc/itu/metadata.rb +41 -7
- data/lib/isodoc/itu/pdf_convert.rb +5 -8
- data/lib/isodoc/itu/presentation_xml_convert.rb +49 -3
- data/lib/isodoc/itu/word_convert.rb +2 -2
- data/lib/isodoc/itu/xref.rb +101 -43
- data/lib/metanorma/itu/processor.rb +11 -0
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +2 -2
- metadata +11 -8
- data/lib/metanorma/itu/fonts_manifest.yaml +0 -4
@@ -28,20 +28,10 @@
|
|
28
28
|
<xsl:with-param name="date" select="/itu:itu-standard/itu:bibdata/itu:date[@type = 'published']/itu:on"/>
|
29
29
|
</xsl:call-template>
|
30
30
|
</xsl:variable>
|
31
|
-
<xsl:variable name="doctype" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype"/>
|
32
|
-
<xsl:variable name="doctypeTitle">
|
33
|
-
<xsl:call-template name="capitalize">
|
34
|
-
<xsl:with-param name="str" select="$doctype"/>
|
35
|
-
</xsl:call-template>
|
36
|
-
</xsl:variable>
|
37
|
-
<xsl:variable name="doctypeCapitalizedTitle">
|
38
|
-
<xsl:call-template name="capitalizeWords">
|
39
|
-
<xsl:with-param name="str" select="$doctype"/>
|
40
|
-
</xsl:call-template>
|
41
|
-
</xsl:variable>
|
31
|
+
<xsl:variable name="doctype" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[not(@language) or @language = '']"/>
|
42
32
|
|
43
33
|
<xsl:variable name="xSTR-ACRONYM">
|
44
|
-
<xsl:variable name="x" select="
|
34
|
+
<xsl:variable name="x" select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']/itu:title[@type = 'abbrev']"/>
|
45
35
|
<xsl:variable name="acronym" select="/itu:itu-standard/itu:bibdata/itu:docnumber"/>
|
46
36
|
<xsl:value-of select="concat($x,'STR-', $acronym)"/>
|
47
37
|
</xsl:variable>
|
@@ -75,19 +65,50 @@
|
|
75
65
|
<xsl:call-template name="getLang"/>
|
76
66
|
</xsl:variable>
|
77
67
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
68
|
+
<xsl:variable name="doctypeTitle">
|
69
|
+
<xsl:choose>
|
70
|
+
<xsl:when test="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]">
|
71
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]"/>
|
72
|
+
</xsl:when>
|
73
|
+
<xsl:otherwise>
|
74
|
+
<xsl:call-template name="capitalizeWords">
|
75
|
+
<xsl:with-param name="str" select="$doctype"/>
|
76
|
+
</xsl:call-template>
|
77
|
+
</xsl:otherwise>
|
78
|
+
</xsl:choose>
|
82
79
|
</xsl:variable>
|
83
|
-
|
84
|
-
<xsl:variable name="footer-
|
85
|
-
<xsl:
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
80
|
+
|
81
|
+
<xsl:variable name="footer-text">
|
82
|
+
<xsl:choose>
|
83
|
+
<xsl:when test="$doctype = 'technical-report' or $doctype = 'technical-paper'">
|
84
|
+
<xsl:variable name="date" select="concat('(',substring(/itu:itu-standard/itu:bibdata/itu:version/itu:revision-date,1,7), ')')"/>
|
85
|
+
<xsl:value-of select="concat($xSTR-ACRONYM, ' ', $date)"/>
|
86
|
+
</xsl:when>
|
87
|
+
<xsl:when test="$doctype = 'implementers-guide'">
|
88
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]"/>
|
89
|
+
<xsl:text> for </xsl:text>
|
90
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type='ITU-Recommendation']"/>
|
91
|
+
<xsl:text> </xsl:text>
|
92
|
+
<xsl:variable name="date" select="concat('(',substring(/itu:itu-standard/itu:bibdata/itu:date[@type = 'published']/itu:on,1,7), ')')"/>
|
93
|
+
<xsl:value-of select="$date"/>
|
94
|
+
</xsl:when>
|
95
|
+
<xsl:when test="$doctype = 'resolution'">
|
96
|
+
<!-- WTSA-16 – Resolution 1 -->
|
97
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting/@acronym"/>
|
98
|
+
<xsl:text> – </xsl:text>
|
99
|
+
<xsl:value-of select="$doctypeTitle"/>
|
100
|
+
<xsl:text> </xsl:text>
|
101
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:docnumber"/>
|
102
|
+
</xsl:when>
|
103
|
+
<xsl:when test="$doctype = 'recommendation-supplement'">
|
104
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU-Supplement-Short']"/>
|
105
|
+
<xsl:text> </xsl:text>
|
106
|
+
<xsl:value-of select="$docdate"/>
|
107
|
+
</xsl:when>
|
108
|
+
<xsl:otherwise>
|
109
|
+
<xsl:value-of select="concat($footerprefix, $docname, ' ', $docdate)"/>
|
110
|
+
</xsl:otherwise>
|
111
|
+
</xsl:choose>
|
91
112
|
</xsl:variable>
|
92
113
|
|
93
114
|
<xsl:variable name="isAmendment" select="normalize-space(/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:amendment[@language = $lang])"/>
|
@@ -96,6 +117,9 @@
|
|
96
117
|
<xsl:template match="/">
|
97
118
|
<xsl:call-template name="namespaceCheck"/>
|
98
119
|
<fo:root font-family="Times New Roman, STIX Two Math" font-size="12pt" xml:lang="{$lang}">
|
120
|
+
<xsl:if test="$doctype = 'resolution'">
|
121
|
+
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
122
|
+
</xsl:if>
|
99
123
|
<fo:layout-master-set>
|
100
124
|
|
101
125
|
|
@@ -295,17 +319,28 @@
|
|
295
319
|
|
296
320
|
<!-- cover page -->
|
297
321
|
<fo:page-sequence master-reference="cover-page">
|
322
|
+
<xsl:if test="$doctype = 'resolution'">
|
323
|
+
<xsl:attribute name="force-page-count">no-force</xsl:attribute>
|
324
|
+
</xsl:if>
|
298
325
|
<fo:flow flow-name="xsl-region-body">
|
299
326
|
|
300
|
-
<fo:block-container absolute-position="fixed"
|
301
|
-
<fo:block>
|
302
|
-
<
|
327
|
+
<fo:block-container absolute-position="fixed" top="265mm">
|
328
|
+
<fo:block text-align="right" margin-right="19mm">
|
329
|
+
<xsl:choose>
|
330
|
+
<xsl:when test="$doctype = 'resolution'">
|
331
|
+
<fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo_resolution))}" content-height="21mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image Logo"/>
|
332
|
+
</xsl:when>
|
333
|
+
<xsl:otherwise>
|
334
|
+
<fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo))}" content-height="17.7mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image Logo"/>
|
335
|
+
</xsl:otherwise>
|
336
|
+
</xsl:choose>
|
337
|
+
|
303
338
|
</fo:block>
|
304
339
|
</fo:block-container>
|
305
340
|
|
306
|
-
<fo:block-container absolute-position="fixed" left="-7mm" top="0">
|
341
|
+
<fo:block-container absolute-position="fixed" left="-7mm" top="0" font-size="0">
|
307
342
|
<fo:block>
|
308
|
-
<fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Fond-Rec))}" width="43.6mm" content-height="299.2mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image
|
343
|
+
<fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Fond-Rec))}" width="43.6mm" content-height="299.2mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image Cover Page"/>
|
309
344
|
</fo:block>
|
310
345
|
</fo:block-container>
|
311
346
|
<fo:block-container font-family="Arial">
|
@@ -341,13 +376,35 @@
|
|
341
376
|
<fo:block font-size="30pt" font-weight="bold" text-align="right" margin-top="12pt" padding="0mm">
|
342
377
|
<xsl:choose>
|
343
378
|
<xsl:when test="$doctype = 'technical-report' or $doctype = 'technical-paper'">
|
344
|
-
<xsl:value-of select="$
|
379
|
+
<xsl:value-of select="$doctypeTitle"/>
|
345
380
|
</xsl:when>
|
346
381
|
<xsl:when test="$doctype = 'implementers-guide'">
|
347
382
|
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type='ITU-Recommendation']"/>
|
348
383
|
<xsl:text> </xsl:text>
|
349
384
|
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]"/>
|
350
385
|
</xsl:when>
|
386
|
+
<xsl:when test="$doctype = 'resolution'"/>
|
387
|
+
<xsl:when test="$doctype = 'recommendation-supplement'">
|
388
|
+
<!-- Series L -->
|
389
|
+
<xsl:variable name="title-series">
|
390
|
+
<xsl:call-template name="getLocalizedString">
|
391
|
+
<xsl:with-param name="key">series</xsl:with-param>
|
392
|
+
</xsl:call-template>
|
393
|
+
</xsl:variable>
|
394
|
+
<xsl:call-template name="capitalize">
|
395
|
+
<xsl:with-param name="str" select="$title-series"/>
|
396
|
+
</xsl:call-template>
|
397
|
+
<xsl:text> </xsl:text>
|
398
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type='main']/itu:title[@type='abbrev']"/>
|
399
|
+
<!-- Ex. Supplement 37 -->
|
400
|
+
<fo:block font-size="18pt">
|
401
|
+
<xsl:call-template name="getLocalizedString">
|
402
|
+
<xsl:with-param name="key">doctype_dict.recommendation-supplement</xsl:with-param>
|
403
|
+
</xsl:call-template>
|
404
|
+
<xsl:text> </xsl:text>
|
405
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docnumber"/>
|
406
|
+
</fo:block>
|
407
|
+
</xsl:when>
|
351
408
|
<xsl:otherwise>
|
352
409
|
<xsl:value-of select="substring-after(/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU'], ' ')"/>
|
353
410
|
</xsl:otherwise>
|
@@ -415,24 +472,77 @@
|
|
415
472
|
</fo:table-cell>
|
416
473
|
<fo:table-cell font-size="16pt" number-columns-spanned="3" border-bottom="0.5mm solid black" padding-right="2mm" display-align="after">
|
417
474
|
<fo:block padding-bottom="7mm">
|
475
|
+
<xsl:if test="$doctype = 'resolution'">
|
476
|
+
<fo:block><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting"/></fo:block>
|
477
|
+
<fo:block>
|
478
|
+
<xsl:variable name="meeting-place" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting-place"/>
|
479
|
+
<xsl:variable name="meeting-date_from" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting-date/itu:from"/>
|
480
|
+
<xsl:variable name="meeting-date_from_year" select="substring($meeting-date_from, 1, 4)"/>
|
481
|
+
<xsl:variable name="meeting-date_to" select="/itu:itu-standard/itu:bibdata/itu:ext/itu:meeting-date/itu:to"/>
|
482
|
+
<xsl:variable name="meeting-date_to_year" select="substring($meeting-date_to, 1, 4)"/>
|
483
|
+
|
484
|
+
<xsl:variable name="date_format">
|
485
|
+
<xsl:choose>
|
486
|
+
<xsl:when test="$meeting-date_from_year = $meeting-date_to_year">ddMM</xsl:when>
|
487
|
+
<xsl:otherwise>ddMMyyyy</xsl:otherwise>
|
488
|
+
</xsl:choose>
|
489
|
+
</xsl:variable>
|
490
|
+
<xsl:variable name="meeting-date_from_str">
|
491
|
+
<xsl:call-template name="convertDateLocalized">
|
492
|
+
<xsl:with-param name="date" select="$meeting-date_from"/>
|
493
|
+
<xsl:with-param name="format" select="$date_format"/>
|
494
|
+
</xsl:call-template>
|
495
|
+
</xsl:variable>
|
496
|
+
|
497
|
+
<xsl:variable name="meeting-date_to_str">
|
498
|
+
<xsl:call-template name="convertDateLocalized">
|
499
|
+
<xsl:with-param name="date" select="$meeting-date_to"/>
|
500
|
+
<xsl:with-param name="format" select="'ddMMyyyy'"/>
|
501
|
+
</xsl:call-template>
|
502
|
+
</xsl:variable>
|
503
|
+
|
504
|
+
<xsl:value-of select="$meeting-place"/>
|
505
|
+
<xsl:if test="$meeting-place != '' and (normalize-space($meeting-date_from_str) != '' or normalize-space($meeting-date_to_str != ''))">
|
506
|
+
<xsl:text>, </xsl:text>
|
507
|
+
<xsl:value-of select="$meeting-date_from_str"/>
|
508
|
+
<xsl:if test="normalize-space($meeting-date_from_str) != '' and normalize-space($meeting-date_to_str) != ''">
|
509
|
+
<xsl:text> – </xsl:text>
|
510
|
+
</xsl:if>
|
511
|
+
<xsl:value-of select="$meeting-date_to_str"/>
|
512
|
+
</xsl:if>
|
513
|
+
</fo:block>
|
514
|
+
</xsl:if>
|
418
515
|
<fo:block text-transform="uppercase">
|
419
|
-
<xsl:
|
516
|
+
<xsl:variable name="series_title" select="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'main']/itu:title[@type = 'full'])"/>
|
517
|
+
<xsl:if test="$series_title != ''">
|
420
518
|
<xsl:variable name="title">
|
421
|
-
<xsl:
|
422
|
-
|
519
|
+
<xsl:if test="$doctype != 'resolution'">
|
520
|
+
<!-- <xsl:text>Series </xsl:text> -->
|
521
|
+
<xsl:call-template name="getLocalizedString">
|
522
|
+
<xsl:with-param name="key">series</xsl:with-param>
|
523
|
+
</xsl:call-template>
|
524
|
+
<xsl:text> </xsl:text>
|
525
|
+
</xsl:if>
|
526
|
+
<xsl:value-of select="$series_title"/>
|
423
527
|
</xsl:variable>
|
424
528
|
<xsl:value-of select="$title"/>
|
425
529
|
</xsl:if>
|
426
530
|
</fo:block>
|
427
|
-
<xsl:
|
428
|
-
<
|
429
|
-
|
430
|
-
<xsl:if test="
|
431
|
-
<
|
432
|
-
|
531
|
+
<xsl:choose>
|
532
|
+
<xsl:when test="$doctype = 'recommendation-supplement'"/>
|
533
|
+
<xsl:otherwise>
|
534
|
+
<xsl:if test="/itu:itu-standard/itu:bibdata/itu:series">
|
535
|
+
<fo:block margin-top="6pt">
|
536
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'secondary']"/>
|
537
|
+
<xsl:if test="normalize-space(/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']) != ''">
|
538
|
+
<xsl:text> — </xsl:text>
|
539
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:series[@type = 'tertiary']"/>
|
540
|
+
</xsl:if>
|
541
|
+
</fo:block>
|
433
542
|
</xsl:if>
|
434
|
-
</
|
435
|
-
</xsl:
|
543
|
+
</xsl:otherwise>
|
544
|
+
</xsl:choose>
|
545
|
+
|
436
546
|
</fo:block>
|
437
547
|
</fo:table-cell>
|
438
548
|
</fo:table-row>
|
@@ -454,6 +564,11 @@
|
|
454
564
|
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:doctype[@language = $lang]"/>
|
455
565
|
<xsl:text> for </xsl:text>
|
456
566
|
</xsl:if>
|
567
|
+
<xsl:if test="$doctype = 'resolution'">
|
568
|
+
<!-- Resolution 1 -->
|
569
|
+
<xsl:value-of select="$doctypeTitle"/><xsl:text> </xsl:text><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:structuredidentifier/itu:docnumber"/>
|
570
|
+
<xsl:text> – </xsl:text>
|
571
|
+
</xsl:if>
|
457
572
|
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = 'en']"/>
|
458
573
|
</fo:block>
|
459
574
|
<xsl:for-each select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'annex' and @language = 'en']">
|
@@ -507,6 +622,9 @@
|
|
507
622
|
<fo:block font-size="16pt" margin-top="3pt">
|
508
623
|
<xsl:if test="/itu:itu-standard/itu:boilerplate/itu:legal-statement/itu:clause[@id='draft-warning']">
|
509
624
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
625
|
+
<xsl:if test="$doctype = 'recommendation-supplement'">
|
626
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
627
|
+
</xsl:if>
|
510
628
|
</xsl:if>
|
511
629
|
|
512
630
|
<xsl:choose>
|
@@ -517,14 +635,19 @@
|
|
517
635
|
</xsl:call-template>
|
518
636
|
<xsl:text> </xsl:text>
|
519
637
|
</xsl:if>
|
520
|
-
<xsl:value-of select="$
|
638
|
+
<xsl:value-of select="$doctypeTitle"/>
|
521
639
|
<xsl:text> </xsl:text>
|
522
640
|
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type='ITU']"/>
|
523
641
|
</xsl:when>
|
524
|
-
<xsl:when test="$doctype = 'implementers-guide'"
|
642
|
+
<xsl:when test="$doctype = 'implementers-guide'"/>
|
643
|
+
<xsl:when test="$doctype = 'resolution'"/>
|
644
|
+
<xsl:when test="$doctype = 'recommendation-supplement'">
|
645
|
+
<xsl:if test="/itu:itu-standard/itu:bibdata/itu:status/itu:stage = 'draft'">Draft </xsl:if>
|
646
|
+
<xsl:text>ITU-</xsl:text><xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:ext/itu:editorialgroup/itu:bureau"/><xsl:text> </xsl:text>
|
647
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU-Supplement']"/>
|
525
648
|
</xsl:when>
|
526
649
|
<xsl:otherwise>
|
527
|
-
<xsl:value-of select="$
|
650
|
+
<xsl:value-of select="$doctypeTitle"/>
|
528
651
|
<xsl:text> </xsl:text>
|
529
652
|
<xsl:if test="/itu:itu-standard/itu:bibdata/itu:contributor/itu:organization/itu:abbreviation">
|
530
653
|
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:contributor/itu:organization/itu:abbreviation"/>
|
@@ -557,39 +680,53 @@
|
|
557
680
|
<fo:page-sequence master-reference="document-preface" initial-page-number="1" format="i" force-page-count="no-force">
|
558
681
|
<xsl:call-template name="insertHeaderFooter"/>
|
559
682
|
<fo:flow flow-name="xsl-region-body">
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
<xsl:
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
683
|
+
|
684
|
+
<xsl:if test="/itu:itu-standard/itu:preface/* or /itu:itu-standard/itu:bibdata/itu:keyword">
|
685
|
+
<fo:block-container font-size="14pt" font-weight="bold">
|
686
|
+
<xsl:choose>
|
687
|
+
<xsl:when test="$doctype = 'implementers-guide'"/>
|
688
|
+
<xsl:when test="$doctype = 'recommendation-supplement'">
|
689
|
+
<fo:block>
|
690
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU-Supplement-Internal']"/>
|
691
|
+
</fo:block>
|
692
|
+
</xsl:when>
|
693
|
+
<xsl:otherwise>
|
694
|
+
<fo:block>
|
695
|
+
<xsl:value-of select="$doctypeTitle"/>
|
696
|
+
<xsl:text> </xsl:text>
|
697
|
+
<xsl:value-of select="$docname"/>
|
698
|
+
</fo:block>
|
699
|
+
</xsl:otherwise>
|
700
|
+
</xsl:choose>
|
701
|
+
<fo:block text-align="center" margin-top="15pt" margin-bottom="15pt">
|
702
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = 'en']"/>
|
703
|
+
</fo:block>
|
704
|
+
</fo:block-container>
|
705
|
+
<!-- Summary, History ... -->
|
706
|
+
<xsl:call-template name="processPrefaceSectionsDefault"/>
|
707
|
+
|
708
|
+
<!-- Keywords -->
|
709
|
+
<xsl:if test="/itu:itu-standard/itu:bibdata/itu:keyword">
|
710
|
+
<fo:block font-size="12pt">
|
711
|
+
<xsl:value-of select="$linebreak"/>
|
712
|
+
<xsl:value-of select="$linebreak"/>
|
713
|
+
</fo:block>
|
714
|
+
<fo:block font-weight="bold" margin-top="18pt" margin-bottom="18pt">
|
715
|
+
<xsl:variable name="title-keywords">
|
716
|
+
<xsl:call-template name="getTitle">
|
717
|
+
<xsl:with-param name="name" select="'title-keywords'"/>
|
718
|
+
</xsl:call-template>
|
719
|
+
</xsl:variable>
|
720
|
+
<xsl:value-of select="$title-keywords"/>
|
721
|
+
</fo:block>
|
722
|
+
<fo:block>
|
723
|
+
<xsl:call-template name="insertKeywords"/>
|
724
|
+
</fo:block>
|
725
|
+
</xsl:if>
|
726
|
+
|
727
|
+
<fo:block break-after="page"/>
|
590
728
|
</xsl:if>
|
591
729
|
|
592
|
-
<fo:block break-after="page"/>
|
593
730
|
|
594
731
|
<!-- FOREWORD -->
|
595
732
|
<fo:block font-size="11pt" text-align="justify">
|
@@ -605,21 +742,19 @@
|
|
605
742
|
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
606
743
|
</xsl:if>
|
607
744
|
|
608
|
-
<xsl:if test="xalan:nodeset($contents)//item[@display = 'true']">
|
745
|
+
<xsl:if test="xalan:nodeset($contents)//item[@display = 'true'] and $doctype != 'resolution'">
|
609
746
|
<fo:block break-after="page"/>
|
610
747
|
<fo:block-container>
|
611
|
-
<
|
612
|
-
<xsl:call-template name="
|
613
|
-
<xsl:with-param name="
|
748
|
+
<fo:block margin-top="6pt" text-align="center" font-weight="bold">
|
749
|
+
<xsl:call-template name="getLocalizedString">
|
750
|
+
<xsl:with-param name="key">table_of_contents</xsl:with-param>
|
614
751
|
</xsl:call-template>
|
615
|
-
</
|
616
|
-
<
|
617
|
-
<xsl:call-template name="
|
618
|
-
<xsl:with-param name="
|
752
|
+
</fo:block>
|
753
|
+
<fo:block margin-top="6pt" text-align="right" font-weight="bold">
|
754
|
+
<xsl:call-template name="getLocalizedString">
|
755
|
+
<xsl:with-param name="key">Page.sg</xsl:with-param>
|
619
756
|
</xsl:call-template>
|
620
|
-
</
|
621
|
-
<fo:block margin-top="6pt" text-align="center" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:block>
|
622
|
-
<fo:block margin-top="6pt" text-align="right" font-weight="bold"><xsl:value-of select="$title-page"/></fo:block>
|
757
|
+
</fo:block>
|
623
758
|
|
624
759
|
<xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
|
625
760
|
<fo:block>
|
@@ -686,7 +821,11 @@
|
|
686
821
|
<fo:block space-before="36pt" text-align="center" font-weight="bold" keep-with-next="always">
|
687
822
|
<xsl:value-of select="$title-list-tables"/>
|
688
823
|
</fo:block>
|
689
|
-
<fo:block margin-top="6pt" text-align="right" font-weight="bold" keep-with-next="always"
|
824
|
+
<fo:block margin-top="6pt" text-align="right" font-weight="bold" keep-with-next="always">
|
825
|
+
<xsl:call-template name="getLocalizedString">
|
826
|
+
<xsl:with-param name="key">Page.sg</xsl:with-param>
|
827
|
+
</xsl:call-template>
|
828
|
+
</fo:block>
|
690
829
|
|
691
830
|
<fo:block-container>
|
692
831
|
<xsl:for-each select="//itu:table[@id and itu:name]">
|
@@ -714,7 +853,11 @@
|
|
714
853
|
<fo:block space-before="36pt" text-align="center" font-weight="bold" keep-with-next="always">
|
715
854
|
<xsl:value-of select="$title-list-figures"/>
|
716
855
|
</fo:block>
|
717
|
-
<fo:block margin-top="6pt" text-align="right" font-weight="bold" keep-with-next="always"
|
856
|
+
<fo:block margin-top="6pt" text-align="right" font-weight="bold" keep-with-next="always">
|
857
|
+
<xsl:call-template name="getLocalizedString">
|
858
|
+
<xsl:with-param name="key">Page.sg</xsl:with-param>
|
859
|
+
</xsl:call-template>
|
860
|
+
</fo:block>
|
718
861
|
|
719
862
|
<fo:block-container>
|
720
863
|
<xsl:for-each select="//itu:figure[@id and itu:name]">
|
@@ -750,27 +893,51 @@
|
|
750
893
|
|
751
894
|
<fo:flow flow-name="xsl-region-body">
|
752
895
|
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
<xsl:
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
896
|
+
|
897
|
+
<fo:block-container font-size="14pt">
|
898
|
+
<xsl:choose>
|
899
|
+
<xsl:when test="$doctype = 'resolution'">
|
900
|
+
<fo:block text-align="center">
|
901
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type='resolution' and @language = $lang]"/>
|
902
|
+
</fo:block>
|
903
|
+
</xsl:when>
|
904
|
+
<xsl:when test="$doctype = 'implementers-guide'"/>
|
905
|
+
<xsl:when test="$doctype = 'recommendation-supplement'">
|
906
|
+
<fo:block font-weight="bold">
|
907
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:docidentifier[@type = 'ITU-Supplement-Internal']"/>
|
908
|
+
</fo:block>
|
909
|
+
</xsl:when>
|
910
|
+
<xsl:otherwise>
|
911
|
+
<fo:block font-weight="bold">
|
912
|
+
<xsl:value-of select="$doctypeTitle"/>
|
913
|
+
<xsl:text> </xsl:text>
|
914
|
+
<xsl:value-of select="$docname"/>
|
915
|
+
</fo:block>
|
916
|
+
</xsl:otherwise>
|
917
|
+
</xsl:choose>
|
918
|
+
<fo:block font-weight="bold" text-align="center" margin-top="15pt" margin-bottom="15pt">
|
919
|
+
<xsl:value-of select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'main' and @language = $lang]"/>
|
761
920
|
|
762
|
-
<xsl:
|
921
|
+
<xsl:variable name="subtitle" select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'subtitle' and @language = $lang]"/>
|
922
|
+
<xsl:if test="$subtitle != ''">
|
763
923
|
<fo:block margin-top="18pt" font-weight="normal" font-style="italic">
|
764
|
-
<xsl:value-of select="
|
924
|
+
<xsl:value-of select="$subtitle"/>
|
765
925
|
</fo:block>
|
766
926
|
</xsl:if>
|
767
927
|
|
928
|
+
<xsl:variable name="resolution-placedate" select="/itu:itu-standard/itu:bibdata/itu:title[@type = 'resolution-placedate' and @language = $lang]"/>
|
929
|
+
<xsl:if test="$doctype = 'resolution' and $resolution-placedate != ''">
|
930
|
+
<fo:block font-size="11pt" margin-top="6pt" font-weight="normal">
|
931
|
+
<fo:inline font-style="italic">
|
932
|
+
<xsl:text>(</xsl:text><xsl:value-of select="$resolution-placedate"/><xsl:text>)</xsl:text>
|
933
|
+
</fo:inline>
|
934
|
+
<xsl:apply-templates select="/itu:itu-standard/itu:bibdata/itu:note[@type = 'title-footnote']" mode="title_footnote"/>
|
935
|
+
</fo:block>
|
936
|
+
</xsl:if>
|
768
937
|
</fo:block>
|
769
|
-
|
770
|
-
|
771
|
-
|
772
938
|
</fo:block-container>
|
773
|
-
|
939
|
+
|
940
|
+
|
774
941
|
|
775
942
|
<!-- Clause(s) -->
|
776
943
|
<fo:block>
|
@@ -815,7 +982,10 @@
|
|
815
982
|
</xsl:variable>
|
816
983
|
|
817
984
|
<xsl:variable name="section">
|
818
|
-
<xsl:call-template name="getSection"/>
|
985
|
+
<!-- <xsl:call-template name="getSection"/> -->
|
986
|
+
<xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
|
987
|
+
<xsl:value-of select="."/>
|
988
|
+
</xsl:for-each>
|
819
989
|
</xsl:variable>
|
820
990
|
|
821
991
|
<xsl:variable name="type">
|
@@ -833,7 +1003,8 @@
|
|
833
1003
|
<xsl:variable name="skip">
|
834
1004
|
<xsl:choose>
|
835
1005
|
<xsl:when test="ancestor-or-self::itu:bibitem">true</xsl:when>
|
836
|
-
<xsl:when test="ancestor-or-self::itu:term">true</xsl:when>
|
1006
|
+
<xsl:when test="ancestor-or-self::itu:term">true</xsl:when>
|
1007
|
+
<xsl:when test="@inline-header = 'true' and not(*[local-name() = 'title']/*[local-name() = 'tab'])">true</xsl:when>
|
837
1008
|
<xsl:otherwise>false</xsl:otherwise>
|
838
1009
|
</xsl:choose>
|
839
1010
|
</xsl:variable>
|
@@ -959,9 +1130,28 @@
|
|
959
1130
|
<!-- PARAGRAPHS -->
|
960
1131
|
<!-- ============================= -->
|
961
1132
|
<xsl:template match="itu:p | itu:sections/itu:p">
|
962
|
-
<
|
1133
|
+
<xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
|
1134
|
+
<xsl:variable name="element-name">
|
1135
|
+
<xsl:choose>
|
1136
|
+
<xsl:when test="../@inline-header = 'true' and $previous-element = 'title'">fo:inline</xsl:when> <!-- first paragraph after inline title -->
|
1137
|
+
<xsl:otherwise>fo:block</xsl:otherwise>
|
1138
|
+
</xsl:choose>
|
1139
|
+
</xsl:variable>
|
1140
|
+
<xsl:element name="{$element-name}">
|
1141
|
+
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
1142
|
+
<xsl:if test="@keep-with-next = 'true'">
|
1143
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1144
|
+
</xsl:if>
|
1145
|
+
<xsl:if test="@class='supertitle'">
|
1146
|
+
<xsl:attribute name="space-before">36pt</xsl:attribute>
|
1147
|
+
<xsl:attribute name="margin-bottom">24pt</xsl:attribute>
|
1148
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
1149
|
+
<xsl:attribute name="font-size">14pt</xsl:attribute>
|
1150
|
+
|
1151
|
+
</xsl:if>
|
963
1152
|
<xsl:attribute name="text-align">
|
964
1153
|
<xsl:choose>
|
1154
|
+
<xsl:when test="@class='supertitle'">center</xsl:when>
|
965
1155
|
<xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
|
966
1156
|
<xsl:when test="ancestor::*[1][local-name() = 'td']/@align">
|
967
1157
|
<xsl:value-of select="ancestor::*[1][local-name() = 'td']/@align"/>
|
@@ -972,8 +1162,11 @@
|
|
972
1162
|
<xsl:otherwise>justify</xsl:otherwise>
|
973
1163
|
</xsl:choose>
|
974
1164
|
</xsl:attribute>
|
975
|
-
<xsl:apply-templates/>
|
976
|
-
</
|
1165
|
+
<xsl:apply-templates/>
|
1166
|
+
</xsl:element>
|
1167
|
+
<xsl:if test="$element-name = 'fo:inline'">
|
1168
|
+
<fo:block><xsl:value-of select="$linebreak"/></fo:block>
|
1169
|
+
</xsl:if>
|
977
1170
|
</xsl:template>
|
978
1171
|
|
979
1172
|
<!-- <xsl:template match="itu:note">
|
@@ -1004,31 +1197,44 @@
|
|
1004
1197
|
<!-- Example: [ITU-T A.23] ITU-T A.23, Recommendation ITU-T A.23, Annex A (2014), Guide for ITU-T and ISO/IEC JTC 1 cooperation. -->
|
1005
1198
|
<xsl:template match="itu:bibitem">
|
1006
1199
|
<fo:block id="{@id}" margin-top="6pt" margin-left="14mm" text-indent="-14mm">
|
1007
|
-
|
1008
|
-
|
1009
|
-
<xsl:
|
1010
|
-
|
1011
|
-
<xsl:text> </xsl:text>
|
1012
|
-
<xsl:if test="itu:docidentifier[not(@type) or not(@type = 'metanorma')]">
|
1013
|
-
<xsl:value-of select="itu:docidentifier[not(@type) or not(@type = 'metanorma')]"/>
|
1014
|
-
<xsl:text>, </xsl:text>
|
1015
|
-
</xsl:if>
|
1016
|
-
</xsl:when>
|
1017
|
-
<xsl:otherwise>
|
1018
|
-
<fo:inline padding-right="5mm">
|
1019
|
-
<xsl:text>[</xsl:text>
|
1020
|
-
<xsl:value-of select="itu:docidentifier"/>
|
1021
|
-
<xsl:text>] </xsl:text>
|
1022
|
-
</fo:inline>
|
1023
|
-
<xsl:value-of select="itu:docidentifier"/>
|
1024
|
-
<xsl:if test="itu:title">
|
1025
|
-
<xsl:text>, </xsl:text>
|
1026
|
-
</xsl:if>
|
1027
|
-
</xsl:otherwise>
|
1028
|
-
</xsl:choose>
|
1200
|
+
<xsl:if test="$doctype = 'implementers-guide'">
|
1201
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
1202
|
+
<xsl:attribute name="text-indent">0mm</xsl:attribute>
|
1203
|
+
</xsl:if>
|
1029
1204
|
|
1030
|
-
<xsl:
|
1031
|
-
<
|
1205
|
+
<xsl:variable name="bibitem_label">
|
1206
|
+
<xsl:choose>
|
1207
|
+
<xsl:when test="itu:docidentifier[@type = 'metanorma']">
|
1208
|
+
<xsl:value-of select="itu:docidentifier[@type = 'metanorma']"/>
|
1209
|
+
</xsl:when>
|
1210
|
+
<xsl:otherwise>
|
1211
|
+
<fo:inline padding-right="5mm">
|
1212
|
+
<xsl:text>[</xsl:text>
|
1213
|
+
<xsl:value-of select="itu:docidentifier"/>
|
1214
|
+
<xsl:text>] </xsl:text>
|
1215
|
+
</fo:inline>
|
1216
|
+
</xsl:otherwise>
|
1217
|
+
</xsl:choose>
|
1218
|
+
</xsl:variable>
|
1219
|
+
|
1220
|
+
<xsl:variable name="bibitem_body">
|
1221
|
+
<xsl:text> </xsl:text>
|
1222
|
+
<xsl:choose>
|
1223
|
+
<xsl:when test="itu:docidentifier[@type = 'metanorma']">
|
1224
|
+
<xsl:if test="itu:docidentifier[not(@type) or not(@type = 'metanorma')]">
|
1225
|
+
<xsl:value-of select="itu:docidentifier[not(@type) or not(@type = 'metanorma')]"/>
|
1226
|
+
<xsl:text>, </xsl:text>
|
1227
|
+
</xsl:if>
|
1228
|
+
</xsl:when>
|
1229
|
+
<xsl:otherwise>
|
1230
|
+
<xsl:value-of select="itu:docidentifier"/>
|
1231
|
+
<xsl:if test="itu:title">
|
1232
|
+
<xsl:text>, </xsl:text>
|
1233
|
+
</xsl:if>
|
1234
|
+
</xsl:otherwise>
|
1235
|
+
</xsl:choose>
|
1236
|
+
<xsl:if test="itu:title">
|
1237
|
+
<fo:inline font-style="italic">
|
1032
1238
|
<xsl:choose>
|
1033
1239
|
<xsl:when test="itu:title[@type = 'main' and @language = 'en']">
|
1034
1240
|
<xsl:value-of select="itu:title[@type = 'main' and @language = 'en']"/>
|
@@ -1037,11 +1243,32 @@
|
|
1037
1243
|
<xsl:value-of select="itu:title"/>
|
1038
1244
|
</xsl:otherwise>
|
1039
1245
|
</xsl:choose>
|
1040
|
-
|
1246
|
+
</fo:inline>
|
1041
1247
|
</xsl:if>
|
1042
1248
|
<xsl:if test="itu:formattedref and not(itu:docidentifier[@type = 'metanorma'])">, </xsl:if>
|
1043
1249
|
<xsl:apply-templates select="itu:formattedref"/>
|
1044
|
-
</
|
1250
|
+
</xsl:variable>
|
1251
|
+
|
1252
|
+
<xsl:choose>
|
1253
|
+
<xsl:when test="$doctype = 'implementers-guide'">
|
1254
|
+
<fo:table width="100%" table-layout="fixed">
|
1255
|
+
<fo:table-column column-width="20%"/>
|
1256
|
+
<fo:table-column column-width="80%"/>
|
1257
|
+
<fo:table-body>
|
1258
|
+
<fo:table-row>
|
1259
|
+
<fo:table-cell><fo:block><xsl:copy-of select="$bibitem_label"/></fo:block></fo:table-cell>
|
1260
|
+
<fo:table-cell><fo:block><xsl:copy-of select="$bibitem_body"/></fo:block></fo:table-cell>
|
1261
|
+
</fo:table-row>
|
1262
|
+
</fo:table-body>
|
1263
|
+
</fo:table>
|
1264
|
+
</xsl:when>
|
1265
|
+
<xsl:otherwise>
|
1266
|
+
<xsl:copy-of select="$bibitem_label"/>
|
1267
|
+
<xsl:copy-of select="$bibitem_body"/>
|
1268
|
+
</xsl:otherwise>
|
1269
|
+
</xsl:choose>
|
1270
|
+
|
1271
|
+
</fo:block>
|
1045
1272
|
</xsl:template>
|
1046
1273
|
<xsl:template match="itu:bibitem/itu:docidentifier"/>
|
1047
1274
|
|
@@ -1075,24 +1302,31 @@
|
|
1075
1302
|
<xsl:template match="itu:annex/itu:title">
|
1076
1303
|
<fo:block font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
|
1077
1304
|
<fo:block><xsl:apply-templates/></fo:block>
|
1078
|
-
<
|
1079
|
-
<
|
1080
|
-
<xsl:
|
1081
|
-
<xsl:
|
1082
|
-
|
1083
|
-
|
1084
|
-
<xsl:
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1305
|
+
<xsl:if test="$doctype != 'resolution'">
|
1306
|
+
<fo:block font-size="12pt" font-weight="normal" margin-top="6pt">
|
1307
|
+
<xsl:choose>
|
1308
|
+
<xsl:when test="parent::*[@obligation = 'informative']">
|
1309
|
+
<xsl:text>(This appendix does not form an integral part of this Recommendation.)</xsl:text>
|
1310
|
+
</xsl:when>
|
1311
|
+
<xsl:otherwise>
|
1312
|
+
<xsl:text>(This annex forms an integral part of this Recommendation.)</xsl:text>
|
1313
|
+
</xsl:otherwise>
|
1314
|
+
</xsl:choose>
|
1315
|
+
</fo:block>
|
1316
|
+
</xsl:if>
|
1088
1317
|
</fo:block>
|
1089
1318
|
</xsl:template>
|
1090
1319
|
|
1091
1320
|
<!-- Bibliography -->
|
1092
1321
|
<xsl:template match="itu:references[not(@normative='true')]/itu:title">
|
1093
1322
|
<fo:block font-size="14pt" font-weight="bold" text-align="center" margin-bottom="18pt">
|
1094
|
-
|
1095
|
-
|
1323
|
+
<xsl:if test="$doctype = 'implementers-guide'">
|
1324
|
+
<xsl:attribute name="text-align">left</xsl:attribute>
|
1325
|
+
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
1326
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1327
|
+
</xsl:if>
|
1328
|
+
<xsl:apply-templates/>
|
1329
|
+
</fo:block>
|
1096
1330
|
</xsl:template>
|
1097
1331
|
|
1098
1332
|
<xsl:template match="itu:title">
|
@@ -1103,12 +1337,21 @@
|
|
1103
1337
|
|
1104
1338
|
<xsl:variable name="font-size">
|
1105
1339
|
<xsl:choose>
|
1340
|
+
<xsl:when test="$level = 1 and $doctype = 'resolution'">14pt</xsl:when>
|
1341
|
+
<xsl:when test="$level >= 2 and $doctype = 'resolution' and ../@inline-header = 'true'">11pt</xsl:when>
|
1106
1342
|
<xsl:when test="$level = 2">12pt</xsl:when>
|
1107
1343
|
<xsl:when test="$level >= 3">12pt</xsl:when>
|
1108
1344
|
<xsl:otherwise>12pt</xsl:otherwise>
|
1109
1345
|
</xsl:choose>
|
1110
1346
|
</xsl:variable>
|
1111
1347
|
|
1348
|
+
<xsl:variable name="element-name">
|
1349
|
+
<xsl:choose>
|
1350
|
+
<xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
|
1351
|
+
<xsl:otherwise>fo:block</xsl:otherwise>
|
1352
|
+
</xsl:choose>
|
1353
|
+
</xsl:variable>
|
1354
|
+
|
1112
1355
|
<xsl:variable name="space-before">
|
1113
1356
|
<xsl:choose>
|
1114
1357
|
<xsl:when test="$level = '' or $level = 1">18pt</xsl:when>
|
@@ -1119,15 +1362,42 @@
|
|
1119
1362
|
|
1120
1363
|
<xsl:variable name="space-after">
|
1121
1364
|
<xsl:choose>
|
1365
|
+
<xsl:when test="$level = 1 and $doctype = 'resolution'">24pt</xsl:when>
|
1122
1366
|
<xsl:when test="$level = 2">6pt</xsl:when>
|
1123
1367
|
<xsl:otherwise>6pt</xsl:otherwise>
|
1124
1368
|
</xsl:choose>
|
1125
1369
|
</xsl:variable>
|
1126
1370
|
|
1127
|
-
<
|
1371
|
+
<xsl:variable name="text-align">
|
1372
|
+
<xsl:choose>
|
1373
|
+
<xsl:when test="$level = 1 and $doctype = 'resolution'">center</xsl:when>
|
1374
|
+
<xsl:otherwise>left</xsl:otherwise>
|
1375
|
+
</xsl:choose>
|
1376
|
+
</xsl:variable>
|
1377
|
+
|
1378
|
+
<xsl:element name="{$element-name}">
|
1379
|
+
<xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
|
1380
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1381
|
+
<xsl:attribute name="text-align"><xsl:value-of select="$text-align"/></xsl:attribute>
|
1382
|
+
<xsl:attribute name="space-before"><xsl:value-of select="$space-before"/></xsl:attribute>
|
1383
|
+
<xsl:attribute name="space-after"><xsl:value-of select="$space-after"/></xsl:attribute>
|
1384
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1385
|
+
<xsl:if test="$element-name = 'fo:inline'">
|
1386
|
+
<xsl:attribute name="padding-right">
|
1387
|
+
<xsl:choose>
|
1388
|
+
<xsl:when test="$level = 2">9mm</xsl:when>
|
1389
|
+
<xsl:when test="$level = 3">6.5mm</xsl:when>
|
1390
|
+
<xsl:otherwise>4mm</xsl:otherwise>
|
1391
|
+
</xsl:choose>
|
1392
|
+
</xsl:attribute>
|
1393
|
+
</xsl:if>
|
1128
1394
|
<xsl:apply-templates/>
|
1129
|
-
</
|
1130
|
-
|
1395
|
+
</xsl:element>
|
1396
|
+
|
1397
|
+
<xsl:if test="$element-name = 'fo:inline' and not(following-sibling::itu:p)">
|
1398
|
+
<fo:block margin-bottom="12pt"><xsl:value-of select="$linebreak"/></fo:block>
|
1399
|
+
</xsl:if>
|
1400
|
+
|
1131
1401
|
</xsl:template>
|
1132
1402
|
|
1133
1403
|
|
@@ -1235,6 +1505,27 @@
|
|
1235
1505
|
</xsl:choose>
|
1236
1506
|
</xsl:template>
|
1237
1507
|
|
1508
|
+
<!-- footnotes for title -->
|
1509
|
+
<xsl:template match="itu:bibdata/itu:note[@type = 'title-footnote']" mode="title_footnote">
|
1510
|
+
<xsl:variable name="number" select="position()"/>
|
1511
|
+
<fo:footnote>
|
1512
|
+
<fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
|
1513
|
+
<fo:basic-link internal-destination="title_footnote_{$number}" fox:alt-text="titlefootnote {$number}">
|
1514
|
+
<xsl:value-of select="$number"/>
|
1515
|
+
</fo:basic-link>
|
1516
|
+
<xsl:if test="position() != last()">,</xsl:if><!-- <fo:inline baseline-shift="20%">,</fo:inline> -->
|
1517
|
+
</fo:inline>
|
1518
|
+
<fo:footnote-body>
|
1519
|
+
<fo:block font-size="11pt" margin-bottom="12pt" text-align="justify">
|
1520
|
+
<fo:inline id="title_footnote_{$number}" font-size="85%" padding-right="2mm" keep-with-next.within-line="always" baseline-shift="30%">
|
1521
|
+
<xsl:value-of select="$number"/>
|
1522
|
+
</fo:inline>
|
1523
|
+
<xsl:apply-templates/>
|
1524
|
+
</fo:block>
|
1525
|
+
</fo:footnote-body>
|
1526
|
+
</fo:footnote>
|
1527
|
+
</xsl:template>
|
1528
|
+
|
1238
1529
|
<xsl:variable name="p_fn">
|
1239
1530
|
<xsl:for-each select="//itu:p/itu:fn[generate-id(.)=generate-id(key('kfn',@reference)[1])]">
|
1240
1531
|
<!-- copy unique fn -->
|
@@ -1252,19 +1543,21 @@
|
|
1252
1543
|
<!-- <xsl:number level="any" count="itu:p/itu:fn"/> -->
|
1253
1544
|
<xsl:value-of select="count(xalan:nodeset($p_fn)//fn[@reference = $reference]/preceding-sibling::fn) + 1"/>
|
1254
1545
|
</xsl:variable>
|
1546
|
+
<xsl:variable name="count_title_footnotes" select="count(/itu:itu-standard/itu:bibdata/itu:note[@type='title-footnote'])"/>
|
1547
|
+
<xsl:variable name="count_bibitem_notes" select="count(//itu:bibitem/itu:note)"/>
|
1548
|
+
<xsl:variable name="current_fn_number" select="$number + $count_title_footnotes + $count_bibitem_notes"/>
|
1255
1549
|
<xsl:choose>
|
1256
1550
|
<xsl:when test="xalan:nodeset($p_fn)//fn[@gen_id = $gen_id]">
|
1257
1551
|
<fo:footnote>
|
1258
1552
|
<fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
|
1259
1553
|
<fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
|
1260
|
-
|
1261
|
-
<xsl:value-of select="$number + count(//itu:bibitem/itu:note)"/>
|
1554
|
+
<xsl:value-of select="$current_fn_number"/>
|
1262
1555
|
</fo:basic-link>
|
1263
1556
|
</fo:inline>
|
1264
1557
|
<fo:footnote-body>
|
1265
|
-
<fo:block font-size="11pt" margin-bottom="12pt">
|
1558
|
+
<fo:block font-size="11pt" margin-bottom="12pt" text-align="justify">
|
1266
1559
|
<fo:inline id="footnote_{@reference}_{$number}" font-size="85%" padding-right="2mm" keep-with-next.within-line="always" baseline-shift="30%">
|
1267
|
-
<xsl:value-of select="$
|
1560
|
+
<xsl:value-of select="$current_fn_number"/>
|
1268
1561
|
</fo:inline>
|
1269
1562
|
<xsl:for-each select="itu:p">
|
1270
1563
|
<xsl:apply-templates/>
|
@@ -1276,7 +1569,7 @@
|
|
1276
1569
|
<xsl:otherwise>
|
1277
1570
|
<fo:inline font-size="60%" keep-with-previous.within-line="always" vertical-align="super">
|
1278
1571
|
<fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
|
1279
|
-
<xsl:value-of select="$
|
1572
|
+
<xsl:value-of select="$current_fn_number"/>
|
1280
1573
|
</fo:basic-link>
|
1281
1574
|
</fo:inline>
|
1282
1575
|
</xsl:otherwise>
|
@@ -1332,6 +1625,9 @@
|
|
1332
1625
|
<xsl:apply-templates/>
|
1333
1626
|
</fo:list-block>
|
1334
1627
|
<xsl:apply-templates select="./itu:note" mode="process"/>
|
1628
|
+
<xsl:if test="../@inline-header='true'">
|
1629
|
+
<fo:block><xsl:value-of select="$linebreak"/></fo:block>
|
1630
|
+
</xsl:if>
|
1335
1631
|
</xsl:template>
|
1336
1632
|
|
1337
1633
|
<xsl:template match="itu:ul//itu:note | itu:ol//itu:note" priority="2"/>
|
@@ -1493,19 +1789,7 @@
|
|
1493
1789
|
<fo:block><fo:page-number/></fo:block>
|
1494
1790
|
</fo:table-cell>
|
1495
1791
|
<fo:table-cell font-weight="bold" text-align="left" padding-bottom="8mm">
|
1496
|
-
<fo:block>
|
1497
|
-
<xsl:choose>
|
1498
|
-
<xsl:when test="$doctype = 'technical-report' or $doctype = 'technical-paper'">
|
1499
|
-
<xsl:value-of select="$footer-TR"/>
|
1500
|
-
</xsl:when>
|
1501
|
-
<xsl:when test="$doctype = 'implementers-guide'">
|
1502
|
-
<xsl:value-of select="$footer-IG"/>
|
1503
|
-
</xsl:when>
|
1504
|
-
<xsl:otherwise>
|
1505
|
-
<xsl:value-of select="concat($footerprefix, $docname, ' ', $docdate)"/>
|
1506
|
-
</xsl:otherwise>
|
1507
|
-
</xsl:choose>
|
1508
|
-
</fo:block>
|
1792
|
+
<fo:block><xsl:value-of select="$footer-text"/></fo:block>
|
1509
1793
|
</fo:table-cell>
|
1510
1794
|
</fo:table-row>
|
1511
1795
|
</fo:table-body>
|
@@ -1520,19 +1804,7 @@
|
|
1520
1804
|
<fo:table-body>
|
1521
1805
|
<fo:table-row>
|
1522
1806
|
<fo:table-cell font-weight="bold" text-align="right" padding-bottom="8mm">
|
1523
|
-
<fo:block>
|
1524
|
-
<xsl:choose>
|
1525
|
-
<xsl:when test="$doctype = 'technical-report' or $doctype = 'technical-paper'">
|
1526
|
-
<xsl:value-of select="$footer-TR"/>
|
1527
|
-
</xsl:when>
|
1528
|
-
<xsl:when test="$doctype = 'implementers-guide'">
|
1529
|
-
<xsl:value-of select="$footer-IG"/>
|
1530
|
-
</xsl:when>
|
1531
|
-
<xsl:otherwise>
|
1532
|
-
<xsl:value-of select="concat($footerprefix, $docname, ' ', $docdate)"/>
|
1533
|
-
</xsl:otherwise>
|
1534
|
-
</xsl:choose>
|
1535
|
-
</fo:block>
|
1807
|
+
<fo:block><xsl:value-of select="$footer-text"/></fo:block>
|
1536
1808
|
</fo:table-cell>
|
1537
1809
|
<fo:table-cell text-align="right" padding-bottom="8mm" padding-right="2mm">
|
1538
1810
|
<fo:block><fo:page-number/></fo:block>
|
@@ -1553,6 +1825,10 @@
|
|
1553
1825
|
<xsl:text>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</xsl:text>
|
1554
1826
|
</xsl:variable>
|
1555
1827
|
|
1828
|
+
<xsl:variable name="Image-Logo_resolution">
|
1829
|
+
<xsl:text>iVBORw0KGgoAAAANSUhEUgAAAKEAAAC0CAIAAABzKNvJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAMyGSURBVHhe7P0FeFzntbANTyTLTLFDDZTSc3raFE8hTZrEIB6xKabYMVPMjDJJtgySbMkgGWRmW7aYmWFGw8zMzPD865lx0py+dd7P5+v52v99u6/7ksejmdHe+95rPWttGgIKIMCPMO4QzhAehAwORzCIYPIaHXwyE//O5Nb7PXZ4gdMdgDe6kUdnDb/ZhTC2EOFPwx8B/Gv6R08vdGz2uEEQuPR5A8iHeGQGqa4dfg2CTcgfDCCPx4e84B+/06Yz/8vxP+30NxyHbVk9HtAHIrFLHzLJtY8v3bSKNSDVY3WFXh3A7/XgUAfCQsOfEAhivlb9r+kfPL3QMQiGnzCBw6DNA5rJjV3X8y44TXZ4qRc0hxx7bC6ny/Mvx//M09eOg5hve4IHFpcLItTr8XstTohXl9qUvfMA+1kLsiKHVIccgbBEjd1m9nl9CDYD/FEA3iyC+L/4mX9N/+jphY5dgQAY8vuDLpcHTDoNINbfWd10dNH6AFOJ9A54kdPjA8cWv8/gdv3L8T/tRAj7CGfXsJVwIeUF6+GXQNYNIK/dHbR7/VZ30cKtNXvPBiUG5EBWh9MTCIZze/hznr85ZDpcu/1r+odPL3QMgo1WqJHxZFTpwRkIRk6/o4a897NZvMZepLLjFweRJeCDUP6X43/a6bnjMOGMHR5lw4/Dz4edPf8FQ39p0facZVscZKFLa8HJHV4AwK+g9nJCpxyAzgomSPj/cvzPML28Y57VWTs05zdT7hzMh5C1KQ0g2GV34RdABEOxDd0UvOVfjv9ppv/i+P8JSOtGKkfBmt2Lfh+rrO9HYgtSO/CekVCW9wWQ7+utBF6MK+9/Tf/o6eUdm4NBrtrex/vyj3E7k79AdAWSmZ879v2XgIeM/S/H/wzTf3H8XFGIbz8frsjC5uBXTpsT8fQ3dh5f8tpv+jMvIZETiV24tg7t6QRw6wWvDLdi/5r+0dNLOw5CJQ2vlDvktX17f0U8+Pt0/tVKpPAjmw85A1CIhx3jkRj++Zfjf4LphY7DhJ8P2w13VhaElF4nMiPEN3Qsy878/rTz0UtQHRsZXcjq0yNkCGm2wYYAnsO7Q/81/UOn/45jqdOKHas96Epr3q8yjvwmtWHNsaDejsweHQqC5ueOHf9y/E8xEZ7/+/98skOrhNjIS4c4tQSy1+4o/V7q/ckJwdOVaMgdzs8gWO91gWlj0BfeKfJ8M4KNJoD/C0CQA8+HbKjFAVcAgA/4hvBvw68Pb2d4UwsEvX6/1+/z+r0AfknQjfD7wi8MAf8Nfvvdf8EPo03AHzqc5vEH4AXwkaFXBp0o6EJBO8ZvQT4z8ptRwPrN3w0R/CtCC/RX/CVGIGqA/zKFn/o2//PTyzsOyeGhoAgWQ6Jn1HZW/2jOg9cSy6evQzf6kRHEe4w+D7zKEPDA8Bxetf/vHcPvoRLwBYOAPxjwB+GTcJ0Q0uMO+l1BvzP08znYMdYcfncY/Iwn4AfHoffCCsbi4MV+r8PvMgc9FuQ1I19IMMYE/F/pGNZ0AFlRABtSmZDN37HoSPYPY8+/Hk1K2YtYesQzw+qANer3wEr4erm/vZ5CvsP+QAXgQ34A/4sNfnsKYJUhAn4fEPwa3JaF8AUDzwkEQB48CK/fvzz/rd8C4U0n7Dw8+uA//Bc14edCv/e7AuD+fzUami28pf0VoU31mw8C/obEb9R+w//89NKOA25Ys9ixBZYaVpjBia53FfxyRsn3k8+9Np12+RmSOC1Ol90DCRMvaHjFfCMYr9H/lmMcuiGp+AH49nkD+Kinx+P3gSH85mDA7fO6vn7mmxX9V0CF4IRSwR+0ef02t8fh9XlDLw7/PhjwAM8TAOQUvzNsN8zXs/J/umMYryCCn9v1I4fegrj627tPXH07sWDiZyW/m48eUi00MS649C549Tdq/0KoFQsgSJh+D/ICjhA2BLkd1m9oRAw6QoS2AVjpQDh2v1k1sLJDKx6c/a/AHIYfwFxA/fAN8N9vEx4vwsCcWgPI4kVmL/QHyIGrDryU3wgGwo6/bRQG9xChzSLE/wmOYclVVgteepsfnw0CzvgGYyvtzo8zSt5NOv5udEXCRis95BhWG/z8tt0w/y3HuHoDzX+1goLI6A4a3QH4aQExYVtBBJUSPID/2kCb7znwJCC3eLUuZAni886sQWTyIZMXE94mYLEAvHFA6xf8v9ix0e0KrwybEXI28uhtAZOTsv7M6Z+nPPh+WuGIjzSnn6AWCTJBKOOVAXw9/uF0HF5HKADJ8DleBAJ9NuQHAviwBowHMJgDODuH34ufhZUewhlANgg4FzI5sCpjEMntSGTyiYxegd7NUlkpEkPDALu+n1nTQ6/qolZ2Uqq6KNXdNPhv05CggykfEOqGpGaqwspUO/mmgNSOuAa/zImg8cNzjZAmgLQB/CA8pnw9/5iw7/A48r+a/j/BsS1UtkArjG1DrrZABCKfwY4qOXm/SL/y6vRn//b5kZ8moFIK4uiQxvv3cozXdaj0tnuR0YHUpoBM6xUpXaDtdmXrqcv3dh4rWLM7a8G6nckLV0/LWEicvzJx7vK4OUtjZi6OnrEoeubimFlfxs5e8ln6F9Nmfhn7+fLEBavTl25avDlzy9GzB89eu1be+qyD1sPXsnQegRmJbUjhQbr/Ox1DfQIJK7wMOPECYQNia2vB7eJJ02+8TYSOue2DJf5aKpJ4wSq8BvKezReApgTyJ5RXkHaR243NglCH1+/wQXiG16AltKcMAsiIkC6AH5tD/1V6EN+EBoT2yh5B0cOOnSduzFlzZPqsDbGfr8xYtmXZ9qM7jp0/dvHuhXvVt6s6HzeTmodE7Qx5H19HkVpoCjtVbiNLzANCQydL2UgWlXUy7tX3X3raevLa052nS9Zkns1Ys+/T2Ws+zFiZunr/+uNXT9yuv9/J7xC7uBorX+eAYUdu9YVHbpMHxo/n7p2+AMx+KI1jX9C1Q8UH/w0XgFDMhyW6YWHD0zdqv+F/fvr7OTYibQOp9aM1N99JevhaYvUPZ5dtOI7YFqcNH43CqwOGSeTX+10WtxU79rjdZhMy4zQQ/hybJ2B1+UUWJ2jGe0w9SAvDpxMNycz9Qt25e7X7869/sTErceHmtKV71h+8WHCn+XEzp4ul7BfoQSFL4+bovHxjQGRBkHvZWg/8l2fwC4wBeBIecLQeeI3AFITHbL0PYOn9dLWnX2rv4hv7Za5WjuFRFy/3XuPKQxemf7H1g/gvfjJlzppdhwtvPm4lszlqM1dpMIRGblwBOD3gLbxduv1em9PhdLvAMagFzQBU+G54iO1/a/orwcD//PTSjsM+IByB54sYTmRQ0egt6sN3D787rWJCYtVE4vHvx3jzq5DQio3BCxy4pTYHPVqP1QHaw0sI68mJPBbkMOAkDNlYhRDLiURBJPCjJwOiw9fKF+3J+8/UZXFf7liy7+zpO42VJCVZhZhGRNMikiKgsCOlE6lc+KfMCqNyQAheDT6lAw/SUisSm4JCox+exBj9PK2Lp3XzdF4BvMyEhBYksGLI6gBNhyh6RNaiHiV62CP96sTt/8xYN2/bsblbsz+I/fzzzYcPnLv9rIcNyZxr8lvDCcaLgZoAFg3cA6AU1lA4BvyBANYMcf7N9I3ab/ifn/5ujj02V8DlRw3ic7+eVfdaGmg+/NZndz5ZKm+kIAXkZOQzOcN9lynoskOJ7IZqOVS5htI3AILVBkQ2ojaJ7WDJs2lfbvlt2tJfJ3+Zsf5w4dNOqh4xLYjvQAInEtgRH4osJ5K4ERcL8/D1PvAKP/kQuzoPIAqphWfwf7UeeB5egJ+BF4MkDZRmDqrcQZHZhxRuqspLNyCqDvUpg+BYHEBMGzr9qOuTBTs2nrjcyNaVD4pO361dsOXwxxlLkhavP3D2Wk0vvZ+vUjtx9wALZQlADsfVO97NAukaxuqQQY/P5/F4AuEOHKZv2w3zPz+9tGNYHgBvpTB/4BvchKLR4fZAYkIyb+/pm9BHXX4rvvadmTeiPulefhI9oiF1ACm9Hpc7GAiYkM+IvCYPHt5g2QEo4MQa1Mq1lw8oVxy78eni3b9KW/2bjLXxK/bnl3bBSu+Ve8kqD00b4BiDPBOC9Cs0ByFM1W6kgZ82jMoKBJWWgNzkkxm9Yp1brHdL9G6pwSM1eKVGLzwJyI1uhdEDD+BXAp1XqPdCNEN6Jyu8bCOO426Jp1+NGFbUIvJebWR/uGjPrpL6AQtqU6EqjuVml+jw9eov9p2dunDjqiPnb9T19ctsPHOQb0FqP45syNKQxZ1uNwzTUJVBKP9FMEzfthvmf376uzmGh24oivk2JHTU/H5Z0esxlW+mPRofd/I/0vm7ryGuCconr8cDQGazhI4hGF0esxm5XEigRHef9i7ffyHhy72xqw//dtaG/0hctvLYtU6ZTxRADDOSBpDIhaNW7kZSJ5R3WDNfj+MV1CrMAXAWcumR6D0irVOgdmCjJp/c7IffKsx+mdEnMXhAvFBtFaltQo0DXgaCRRD9RgRQVH6eFbFtaEAZ7JT6QfOgHvWq0PrCp7/5fEtBLb3PhPqNaMCIqBb0oFdUVNG9/GDBZ3NWpq/adfrGsw6OSmSDzfh5lgZANmz2PugMYFUFv5b5jdpv+J+fXtoxtBPAc9WwKP7nZTA8hiSFlDZIXqIjtwr+OLedEE0Zm14yLrrtNyuN56sQA5pZD3L4YCQz4v39+F0kgSH3yhPiyoNTF+6Ym3X9wMOeaUv2p286dbFqiOtGPCfqlrrpWr/cC1J9PL1HoLWKdDalyaazu80ur9XjV5u9SghNgwt+aq1+vT2oswXgAfz3G+C3cr1TpnNItXaV3q7Q2WRau1yPtwOxzsVSOqkSC0sbHJTYW7kWoIXvaOTYapiWKrrpNs3xh2VZqXuKH7LcrVpUJQp26lCbGvXpUZcaPSXJdl94NG3hxk8+X5tZ9LBXahdJJQ43tHjQMQZdbjeU1rBuvNAehqe/Egz8z09/T8dBL3SvCAl1iGypnLunkxBLGpX6+O2M85EfPZq1DZVR/DoLcuJqReY0d3MFJeWVizYciJuz8kBRebcscJ2kS99fPHv7mdsdEjaU00Zc/gg9SGBDPSILW+OkyS1UkYoiUDKEMoZIxuCLqFw+W6xlCtV0vpIp0vBkBqHSDAgUJpXJE7YbBh7DM/hJvV2usUg0VpnODnEPAU0Rm3vZ6idtzDO3a7edvvXV0UvLDlycvz1vwa7ClUdKluQ9S9xZ9F7i2rXnqx8ybFWiwDOWtUES6NGidkWgR+kb1KF6pibnVvXsjQc/zFh69fq1ATLJ6rDjnedud1ji/585diIYR6HFDe3agDQNhKqwUO51Ia8PQX+ocVorWh58PDP7zd/0ET6VvjG7ePSnovQjqF2D1EgtQJUPBpesORubsiPrYmcbE/VYUJ0U/Xpd3sc7iuu4niZRoE2KmoSBcqr5eovw7JOB47fa9hQ+23m2dNvp+5tybq/Pur7uSMm6w1eBLYdvbj16a+exe/tzS7Mv1p652VH8mHytnFHWpakbNLcxvZ3cYCcX9QohGyOOCXXLkdCHN6B+DaJb0DOSbndh6bxteR+mr074cvfSnae25ZQcPHPzcMHto2dvHS24te7Uo5QNpz9ZfPCtPy/8zeydS489WJNfnlfJKWW4q3ioWYI61YhkQF1K9KBHfup+59R5G2Z+dej49Wf9Mnt469cFcWPxddUNdbYL+UO7aX12ZDeEWlG8UwV31c+rz78Q/u3zvUZ4BxI899LT39MxzDjeTxVyjDop1GV7r/wqjhQxrYvw0Y3JcTU/W9iZ9dBcysjcej49ZtWhnLKKBgXfhNg69IgeTN157d25+1fe7N5+rmJ1zr05Owqjlx3+8/xdU77Ym7Q6a9bmvHXZN9cfu7X5xJ3tpx/sPvN4X+HTzPPPDl4oO1xQfiC3dMexe+v3X126tXDu2pPpy7KSFx+Kmbsn+csj89afWb3v2u7cstybPTdrhWU9ehhi69iODkmQYkT7iiqnLtw9Y/3x1UeutrDN7Xw7SepmahHfgLi6IF1qG+Qb+g2oU4naFCh189mfpW5elvMw9qu8KStzPl2Wva2o8Xa3upRqq2baOxVoUIvgY1u5pgMXHsUu2jBj7d7zj6tpOgcUYuDY5PdYkd8bcHkCIbt4Pzy0kI5/TsfQ5sLYG3YcIvRYC9kJfh1EdpsL7/M1I8+9nlMfL6BNmlFB+N3TSSmPxxOzfzz79M8WHFt2il0h6GN6mDJ0vUN54jFpY0H1r2bs+H36rpS1Z1buzdt6/FLOlafXKnqq+wR9AjNXF5DaEFvt4Wr9IiNuglVQSztC2JHGhTRupIb+2IEkFsTTBRlKD0XmrO4TPm6mFT9uO3L+4brMwrlfHSIu3hYzd0PMqmPr855uO1+19Oit92OWLT1yo12KG7YBDRrSI+ighjRoQOYdlPtYeiSyoxaujWlCdBO6UDbw+xkbzpWTK2iWW+2SXecriKuzPp6zeeXhKzcbGE0scwfP2sm3tQrdrQLX9Ub66qOXUlbv3njiUhWJrQziktsYKk4hKHw+n9VqDXg8WF/I39fg/aNhr9/m+X7TsOmXn/5ujg1uFyyA1xNwOkI7qGCZaLbuHefbCNOYr8+uf3fuvdGxWT+aWfSHVb23SYIaad7l5t1Z9xK+Ov3zlI2TP1ywNOvB/S5jGdk5pPAwtAGeGa9fKWiDn3YksyOtF+l8z/c56KBlcmLTSryLA0ktSGHHu0Ge7wmBt9jwEQWVB3+CwIIgNAfEzhaGtmZAuv9ay/Lsuz9LWvfHubt+P3v7/L3FR260FNeyWvjuXgUCnTw74prxDhaK0k+We7l2xDJD84b6FGjxviLiqqNdCtQqDtayHFV069knvbM3n542f+vKzIslVYNNDH0L39nAtvYq/N1y76l7tQnLts1avzP3zlO+0aYLHQ0zub3gGK/KYNBiMHxL8D+N4/C4EjowGEAeLybgA2DuHQhWfRB+QlllkuPtNsBFd8fHP3k99dmopMdR8WVvLHg0cfathIPHf7l8ycL9O7cUHC/rjll/eN7Os61Cj8WENEpkcgWNzoDe5tVY3GqTQ2dxm50+uxcZrE69xak32/Umm8FsM1rsZpvDYncavX6jx2fw+PRur9bl1Tg9KodHaXeLjFZAbHYoHF6NBzrpoMTq5umtUoTW5j3704J9h293nSmjbsgrTVydTVydnf7V8U2n7xdXkstJmgamuY3vJGvwLheq3N3B0pFknl6BrZVj+ckns84+6hzSIvjtoBLRdKhT4Dh1vTpt+Z6ZK/fsz791v1/3lGprEPg7lKhZ7LveJthy5i5xzcH12Rerh2BrxCUqdPOwuiCgLbAqnx/P+GvCRzvCXr/tO2zhpaa/m+Pn+7ACof1f4XFajHjVEsYn2+9NSGh6Y17LWwuqvrf4+jDi9u+lP0w7xmM4VRJ0Z0jxk9Rll2rpQmi75EgmRmK1SWl0GBx+qwcBJqdfb3VpzQ6T3WO0uY1WJ2Cxu+wur8sb8PiRyuZQWe3KMDanxuHWuv16T8AURDpPEATLbB653QtIrB6R2VnF9U9feXz3laYeHerTIboD77ksrmUeuFT95f6ihGUHYHjed670VhO7akhTPaSlKb1qL27vewQ2kROtO1z8p4x1sAW0853dYm+X0NktcjF1qF/szLn89LOMFYnrTp54NFjFdlWyHOAYPr9V7DpT2jVj3f5l+/JKnjaLoLcA025kduKV9Fdqv+Ef6TisL3ycH/k8mNA8adxusAtlpCSUqoUWdKGENGvBib0/z9jzs/Q7E9IKCZ+0E5LEr61+OmpW29srh/Lr0YBrz/Hi+av3cAxBTQBZNfjgosPjt7t8FocLIlVvshgtNpvT5fL6oBux2G3wP4vNarZZLBgz/HQFfA6/1+ZxmV2wZdj1dpvOFsLu0FhtCrNFbrIozDaV1aG2uzQO180WwZ9mb6kc0qkR3unNNiOxA5+FBvmcqvTVDkqPXXo6a01m3ILNX+44dej845s1JLDbxDT2iFydYm8zx/77GRtP3u9i2HBl3ikNdslQl9jXynO08ew9Es/8zFsxa3Lh56VWRbMcVXACZUx3tw7d71XN33Nx6vxtR6/W8kx4bIbsIofICGfp/+UYZZjw82G74SrsvzH93RyDYIMfn0Mv96MBEcq6UPO7P6/91R9XHPrt53dm73v0+uyydxYMRc7tJWSUjphR8+rC3JRdhkes33yWcb20TeVFIht2bFQgvclqtDjMdhyskIohIVvtDpsT/msDzQ6X0+l2Od1Oh8sBv7HaLWanHePCmFxOo9NhcDoNDofe4TS4XEaPFzK53uXR2J0Ki11msu4oKI1dmsm04N1nLKjqzWhQ6uFb8KETjgGx9Xj8BuWVfeLMwoez1h5MXbZ7/sasKxUDlQPyTpG3S+Lfeubxx3O3VzOsXXLUr0ZtIl+X2EvR4dTdQDc0ydC2i41TlucsOHj7cquiRYGaZaic5YHCu4ppzywqj1m0e8Xu/FaGHvI2FC3/jI6dXnwzp/AU9Ho8UE77IZmg8HEYvgc1cnRrTzz4wZTFP5iyNm1j0cNbFWyKpGNuzqkfzeglJA4R0umEJMkrc++8MaP0Bwu2R3+JyHql2Ox3IpsFqRR2k91nsHr1VrfR5rW4/BCnRodHB/nZ7QXMbs+3cAN2pzeMzeG1hrDYMfA5gNHuBww2SPhercWrMXsWbc7ac+o6lGZ8fVBi8HEUNq01KFBYZFqH0uCW6T1CtYOvdgt1Po7aS5VYL9XQlx+8PGXxfhi2dxTVP6HYcivYv569+8Cd/lYNbut7zahagHqNqF6EOtSonO2D8D1bzf/9/Mypq3LP1Ihu9Jiud5su1IkfkR232uX7LjV8mLFh+hd7qslqDcKXENnxzbEw/oDP6w2p9YfOD8dg6/9fO4Y/6PT4vG6P2+XyOKAlxjvr7G63wumHjqmGoZy7PftH05bErMg6cnPwVoeRS5NJeTp0g3bjw9WMiDn9hCR51AI2Ie3Wa+mP3p278ZN5rk6pB1K0KaiU27wuZLSBY4/O4jLYPGan3+oOmF0+0Gxx+0KETHs8IdyAw+kF7FCXOb927IBUjwVjHCHHdnDsCzueuy7zWNETsRk7lpkCgNrsl2gccp1TrnMJVXa21MiUWXlqN1fjYypcfSrULvaX0ywHrtRPXZ4Vs+r47H3X4tefmbYmt1aC6iSoSoDukywPKfZrHcoL9YK7/aZDd3r33+iesfPKjxM3ffjF0eQtxUDK5vPTVpxIXHMiZtnRpBWHP5q1aerczSXVQ9CMWDxBhy+AexSP24cvOvD9gx1DIe9y4f2xOHY9+NBCuJzWBdH9hr4Z6w7+lrhoxqYTUER2qRHdiYTeAMfhRlx3c/at0jGJta/P5BKSGYS4XkIcffSMojfjA/seIY4VSli9xIDsyGQLGix+vdkHP02OIFSeFihPXPjYVIggYPIGQvgBpzMIOBwYuyNoswetdgSYbUEz/IQPtMN2A2V5UGcOaM2BRRsOHrtwX2Lwi/U+ldFtgAZMbVZrrQqVSaW1KvUuhd4lMwXlZiSE0VrtHdChbiUaNKFuDbozYM4ppc0+ePfN6WvGfPhldhnvYqchv1G562Zf2p4biVuL03aX/Hnhrg/nbieuOzl3d9Gc3VeiV5747ez9CV8VZN0jbbvQePRW1+6i+j0XyraffZK+7nDqmkPnHtRIXfgItMTis3rBKoJQxqaf521MuHf6/84xTPiAaMix2e2zeXGzpPegp+2UOWt2/jph4e6zdzqkfqoZ9WjREAxyTjd2zHPb69lDv1jb8NYcEmEKj5DSS4inj5lR8Or02g9X0a9UoSFNwBq0KK3Yii1otAYw9oDZEcSCwbQHY/YGMb7AN7hcyOVEzhAOJ7I7kC0EfI4l5BgIOUY6C9a8I/viyh3HQaHCiiA56yx+sVSr0dsVUM9rzHIdDmjQL9R6GArXkNjK96EOGarhemt5vsc018Um6eqC2j8szv7Z7AP/NmPvuI+Xjf3Tkj8uzVmQ/WTL5fYd17quNvMqGdYKphNoU6KSdtXsPdf/OP/wmQpuuwL1qFEd1/ekX1nLtNbS9euyr06bs/zi43ro7EEz5G283wt0/oMdQ87we9xBZINaJrQnVmBHD1qp0+esn78xu+B2A0nslLsQRx+gqu08S4CvN/N0Jp/GoeMorFfqj/wq+dmoqQ2vETmEOKCDEN1KmFI5dR3Kq8PHOqQulzUAOG1+h9Vns3oBu83rsHtd7gAAVTfG6wPsIULP+53ugNPtd7gCDheU5QGbK2Bx+AGzE7YSGNEDoSHZp7N4zz/u/DhjNV3lg5lUWPD18WKYNxsSqmxCpY2n8Qj1Aah7OUZ8ysCQBlWRVHea2QWlffsvVnyx/3LK+lPx6/MS1uctOf74/aRNH8za/edlx5fmPLk9aGmSoxboibmGZp6xVxnE5ZgY9ajQjTZl0rrc5K/y7vXo6tiuZoF/QI3qWaZGlraaqlieffXTL3fl3KqCOh9WptqNRUI0f7sKC9dl4f2dzy28zPTSjgPQIgV9MHjYPF6YJ+BqZXfswvWLt564UU0SGPHNI4bkDprSxTX7ueYAS6VTOr0gOKBzoU556bydNRPjqifE8SOh/vp0YCSxZ1h87tsxnel7Le1spEV2s9dp9bvtQcBh94Hg5449QcAJyRmf4hfGB7hhvPCE9gJjzQGHO4DvMuUKYscg2BkEzSZwHBqSdVZfA033Ucbqh40U6O40TuwYai6dHWltSGX2i42Ip/F28yxP2thnH3Vll9R+sSNv5ldZiSsOZqzPWZNz7/TjgSc0Z5celbL8qTsupe+6suFCQ8r2ovgNBStOlt4jWetZ2l6Fu1XobOBYwGirKFjPCxZWsGJXHF925G4F1dKrQs08Wy1D/7iH1yGyPqVqN+TfS1i249DlJ4rQqcQwNoPmf6Rjn82E8J5WvK1Bm3SzoWfR3rMzNma3s+1DCiTSIr4aYsIq1bmkRqNAo1UL1X6rn8sX2hwuO1dCq20pn7rkzPensKPiSIRPpIQ4bUTq/ZFTa95Ma1x/GlWzHGqTVw+DqhvZvUG7G5/GZ3MGQJrbC0AGAXweF8aLgf88/7/X4/R6HF633euxezwWlwswu9yA0eU2OFw6u1Nnc1AsaOnha8sOFHWK/VIn4plxkwppGbbOAYHpabew+FnP3qLqpQevpmwuSPgq9+i5u9eetdeRZGSZGxotugF1KxB0TTQb2nGh6rPFmcX1vBvt0vW5jxNWZc/ZUZh/r7Kdp66nq5pYmkENauE7m/h+KNy2F5RP+WL/qfsdnZJABVnWyjf3Sq31dFmlKFglRqtyrn+yaOeVshZo1vV2fDfasNdvOw5XXs81vMz08rna60QuqxWSJEKVJC5x2ab09UcHNIiuQQwtEmqxZsh+IrVNrNPLjCaTwmSQG93eAJvDRzorUuhU284V/GAaMyKGFRnLJXymICQ8nRD/aEzMod/O6N972SzTOjXmANRaDh80asgBwetBLiwYCHjcgN/rAv6rY3ylEzgOafaA5pBjaK484Njk8hicLj127BQhVFBO/U3SqgqyVmDFrTBfj1oosocNpJOXnyzZlZ+xOnPWlvytZ59ebpFCa0uVOUA/S4coCi+kbrIaOwZn/XpUQbf9ad7uo7c7u1T42OL5KvqCPUUxC9dsyblwtbq3Q2CuZ1lq6cZBLaqkWsuGzF/svURcefhRj3xIh54NiFs4mkaW8h7V8pjlLKVo1kM0L/rqwuN6EIx3cf4dHePPwEkAn63+7fwQgD4GHvvhAdTxgYDP4wndPhPWkQrhs9oqKZKU5ZtTlm0miXQ0uYWrsvPUdr7aIdA4BTCqab1CnR8wie2AElau3iTUKCwwgDbQrny58/FYYum4JA4hVTRiVgvhj0Nj48re/lPFux+LT91F7ULcbqtdKhOEM97zp3bgi5rxCQiWALJC+YGvMNUiN+D04OsjwzUgzL3LC+naZ3dBi+yyu3zwGB6YbU6L3Q0PjBaHHOHCZ86uC+lbz1QLArUitP1S/ZdZd5LWHZuz42xm4d1HrXSmWCfROuQqvUyhFWnsIo1NqLYJVFa+yspTWthKG1thY6q9JIl115l70xds6ZCjRoEHNohmKTp8o2n29nziqoN7Lz57OqBs5jlq+b4mCaqXo6I25b8nfZV5u5Ok8Jb3i0lsaT9dVM9UP+nldcldz8iyOTtOJq87dLONKYFFRkjmxcsOy+3DAeXz2TQoCP976emFjnGLFvAGffgnOA76IV7gcVAcctzI0Szac+Lz9Xtv1fXQFVa64oWOfXpkljhkZpvMZJPo1GaYXbqOe7Wy59+XPxwVTyMkcl9JayP8iTwm9umbf3z21oeX4pbI8h4ggR6pnWqzzQS2gsgA4z8IBqwhx36YPZ8OuXXIA82j2xcMe4WfuPJy+xwufCNPndGiNVjgBbARqHVGBVTPLl8fJJsgOvagZ/ryI8RN+Ykb81O2FKw+/eRsGamO65Q48Xm4XLkJhhu90WY0O17kmKX1Qc1xv53zh9QV8N42aZDiQHWCAPi+3SnZdOpO0qpDK49cvt3Ga5HB8767FPsTtm/ugZLZey/XU1WNdC2FK+8YZIHjFp7hfjf3GVn6hCRbuO9M0poDj/tF+NBFaIlBs9ttD2ApNq8V1v1LT984hiH9v+5Rw3tdwi05PuHMC12KNwC/hj/Sr0UbTlz5bfLinKtPBDbE0TjYagdPbeWpbXxYFxq7QOsUal1CnVuo99gsSCKG0tootTnEOq3KBunai5haxaqrl96b3RyR2jFixiAhljYiuXfEJ73DPzk38sPeT9ZaLlShQQOu6HQeo9MHHYXDj8F792COwBvMClT4GHwFacBj97ttXq8bsHv8VpdHZXHhixBxOsAXtsic+M8C7ULnqbvNSzKL4pZn/nvCiiVHrrXK8ZlZZANiu5DQjujaIMy/0opkWiuFLQLB+Bw/tVWosgiUFr7SzFFaoUVgazwstYek9M9Zf2TW1tPtEh/NgRqE/j65n6JDLWxDzvWqWeuPzFx3eP/V+idkXY0UNSjRoQeDP5ux/UodDeK7m63uZCqhRqumKUsHJfUcQ6PAdupR29ydJ9PWH+6X2RQBpLL7oTWF9W80m5+fOvLy03c5hjHO78clHgj2eH3wa8iHAh86drvuZzFzVx85PyCxDCkdbI2Dp3e/yLFO6xWLTHyDSeFwSwx6qUGPIFiEVnSdXfGH9a3D0sAxNYpIHZ7UN/Iz0Hz9tek3Xo9+PGNL4EYbPlZsDoJjOwgO4EvZsGDcJ4YOWocd48PZMIjgecYjitdtdXpMNqfJg+xBpPMimTWg9iGgkSrJufJ42YHz8Uv3bMq9V1g2MGNrftqm04/JBqoDMWz4TAGGDp8PJNK7uSqbRG3WmF0vckxXOMBxv8x9uaLvt2lrH/crWmWoQ4l65f4Wnq1H7IRf3WqkrTl8MXXjqUWZly53aZ5yA09Y3t/M27fr3JN2saeLqQTHDWzdwy5OI8/UwDXdaGNXMnRXG6mfLNi07vDZIbUbNnK9Bzt2ul1+V0jzy0+EcCx87diLwyS0vkCoG0oZUA1DghdX0fDxFh+6VE35cNaGj2etraaoQFYnR8fVOFk4UVsAgdos1FiE+OxJq0hvE+ntAoNbYHSL7S5AYjbLbXan1mOUWRE9eGfVmYJJM4vfmt81YmZnVIaUQJQQEplj07oIU55MipfG7fXc7sRnc8IftgaNKHx2CY5tPKcAZDHApUNeKPUdyA/VtNPptJk9fos3qAsgjQ/JAojvROV0zcHrVQszL8zcmbc//0YTRcrUI6UfNbHN87aenL3l1DOymmVDDAviWUN3G7MgCFPYUhXWYNix6LljMzjmwsCksFAkZq7W08kzAZ/O25xZXN4s9EI3TFG4BsTWfr5+SGKhKlyNFNmhq7XpG44Tt13cc7u3QoLS99/K2H6uWY6aOJayQUU1XVPD0DwjK54MyiroOuBGC/PUw9YPM5blP2jQeJDGiyxQc4SiOXwm78tOL3QMWdrpguyIHUMMwd8Awd1UXsySvW9/mHHydgPNgPrFVug9uFoXVWJ8kWO+3iWx+gUWO1NrEOj0CrvDqfWaZLBGUU9Oee641KvvLuoYltH6SqqMkCQmJJCGxTNGp5ZOjn86OaFicSZ6OhQeicHxN5rxkRiYWUfoonG/JYQdeS1ujwNrDp1So3Ahrt5ZS5efvluzYO+ZGVuO7Sguu90rYag88AkUtZ+mCYq8qLhyYN6O/EV7z1VStH1KxLUgJj6ZyweaBVoXiad+keMhsYmn85Ll7maGZk3W1ZQ1h1ol/jZJoJOto6u9sImA5k62tk9gqqIbrzWxZ+y7HrPh7KrCupkH7yZvyq/iequp2nqmsZwsbxfZyyiqh33iWo7lYb/sWhO9lm3cdrok5ouNd6paofqElQ9L5PZ6At+cp/0y03PHML6Fhri/OPb6fXanA0IIPt0UuiK7g6PdnHXhvT/NTll9tIPvwF0E1wDjHF1mZimgHjHxsWCDUGMU6YxinQkKabHBTDPY2FYPT2diKXXwpNxoFZs8MotPrkQ9fbIVv1p0IG7nw7cW33p1riBiDpOQziHEyaLSyaNT2gnTnv5whmbeSW/ZID63HTK1K2BEQdDsCl1DE1puvAnC/LuCGFyFBmEADkrMrh6+6mpZ45pD+fO2HNx9/u6zQSHNigcasw9pnUhpx/lA6UEMtfdeM/3zDUfWZ12628wAx0IHoijdQ9Axm5DMgYQahxBGn3DNpbRAzQWCOQoLXWZlKu10jb+dpb1WR/ljxuqHvbIWoZsqMQ/wtH1M2QBHQRLoyEJDp9jdJXZf6dauyC37eG3B75admro27/qA+SnN0iAKVFA11Qx9PddaQdM96JOWklXw4FG/DHrolNX7Fm053MXVwkaudiKdHZfX/43phY6hvrG7nM5QRtT78elUJRWdv5w24/0pC/If9vRKvCTY6o2IJLH3c5Rio+/Fju0sq1totErMDq3dLTNaBToHzLFKg/RGtP3T9Wfnn6z88er7b3whGjaPTkiVDEujE6Z1EqYPjky6MSnmwdvJ9VvzUJsg6PQDBoQ1uwJgNDR4uJEn6HfAGOzBVxHCE0a3jyJRNfRTN2fnL9y0d93Rs4+76AIPkgQRx41EAaSw+FU22AiCMgviGpDCje8D+aidnbJy35pDF4qfdfWK7CIb4pkQU+0BXuSYpXKQhPpBqYNrQu0C+x/TV2XfamoVefq5GtDMkJpIXFU3Q97LVnXgkwvclUJcc2261vP91J3/nrG9qEMNBdrDQX0d21w6KAe1NSxTFdP4jKItJSkf9knKBqWXqwfSlm/96mA+X2sPF9j4TlIvP4FjfKpO2PG3j2dBAesOBOGjjX5cS9dSlb9KXZ224fgf0taVkzR0HRpSIch7Q1KH3BKkCLV8pYGvMgpVOqFaL9LoRVq9SGcQAxa30hVUiDQWvdOnd1nlJpsbKXVuKMhpGv/xvVfXfnGQuv7OmV+sKH+F2DL+c8rwpKFhiVCC0YYntQyPbR0RV/ubRayUvahDiGRBt9oKpRToNLi8Ol8AZk8f6uWgzdAiJHKgmkHuocJrc9ftOJhf9KSpW6C16DxI6/Bq7B6d06tzeHUWj9biUVu8KrNXZg5ITX6RCQlNqJEi35pdlLFy97HLpV08IwQoVekBfxyNi6tx8zShqx01To7SzpBZaBITXeEcEBihCKeq/Y1s8+ZTt5LXHm3iO8licx9PTxZoSTxNF13ax1b2St2dAnurGj2mO6sUaMqG8/+esWPquvyDtzvrROjxoLJJ4Kpimh/2KyroxqdD2tudwod98vtdgke94ty79R/PXHXhUROMU1Bh6KAkDp3vFwwG4QH8DFv8yzn6f2t6oWNcvUIbbvFDlubZ0MLtOYsPXJy55dTsjScb2bbwdaE0hZsssUnNfrrE8CLHbI1ZYHQY1VarwWWS6PUCtdbkl6rsbBOS+1BDKXVh2lbD8dauJcWtE+Y2jJ45QIjtI0STIuLBcdvI+IaIaTffTnj2H3NadhegPjkOVQceiPE9XMB0ACmD+OwiFYSpGV18Uj93/Z61+4/fq+/qZomFRpc5iIw+BIIBrcOjtjpf5FgTQE1U+b78W7PW7N9w+PyjFjpd7eMYEU/rERr8YqMfNDOkZprEyFE5RAYfQ+mkSK00TQA0D6hQYWn3h7M3PuqTD0mtoBleBpq7GbJelqJDYGthm6qF+GDz2TbN75aeWHq67PMj94gbcjefr2wUOG+1C8po+maR52639F6PrIZtedQvr6BoHvaI7rUy527OSl22jSx3SB24FgldIxcAwW632+PBF77i0zbxQfwXTs8df52l3SGwY9gwYARUenGlk1va+0Hyyrwa7sfLso5ereyT+6BmGZS5aQo7SWwS610suVGgNABClV6kNog0BrHGKNaaJDqTXeNU8bVI7sKj35AGn90qDiBp0MPH+cHeb90/cy9z623vhT7y7zfeGRPXMzKxIzKmPyKWOiqJNpLYT5hWT/i0MXLqo/dS0ebrqE2C2G58Fq4xAAOqClojhK97KO0Trz5y8fP1mdmXn7RShFDnw0aAc7kvaLI5LGaT02F32602k15vcenNLq3ZrTG5lKHrZfD1cEYvuIROmq3xXnvWtmzHsbnr9h8+f+9ZJ4uihMLKRZY5IazZOj9XH2RqvFS5E56ERN0pdHSJHGQ9KiNrfpGy5sitlgaGvpVr6ROagQGBAXxDH9XOszRJUb0ouOlS8x+/zDrfKLrQJFp65Nqni/buLq661Smp47lKh/QP+pRPh/RlFH0pSXO3U1RO1d/tEBRVkaMX79yQc53vwukKjILXsFrwB3a/ieYXTd/lWGmwwIbTxVF/NH/b+tx7t0im78evedjBJ2sQSe4elLnoSgdZYuZrbByF+UWOzQpbY1mLsLxLWTdoe9qLGlnOZj7qU9kYDnWfTt+mvX/w7vUpm9FttmP+ufK3Zg6OTekeHt8XEUMankAdnkiKjG0bGds5Ov7qxKmV/z6nc3shauDh7dmKT2KF7qhT6j1+u3Hu1pwVh87fqOlj6AJQiAImN4zNyGR16E1Wu9Xicbs8DqvFqHuRY4Hey1E5oZxWOFEzVX6o8M6iLUcXb8nKu1XzuI0BjoXQUGn9g2LLgNA8JLMztEHI5yC4hWOimVGnLDBnx9l5u8/1Sj2DygAIbmeq+7haksjUKbC2coztKpR5sz15x6Vlp59B0q4Vo6cUw5eHrnw0f8fBaw23OyUguIplLR3S3eoQgWZwfLdTDI7rWOZ9F0r/M3VFaa9ECv2E3w8R/O3k/N9xHH4M9brZHYD1uDH74h8W7qsSBE7Uy75H3NLC1Q+qPP1SC0lhZ6psNLmZpzJxFDiOhUqDSGkUq4xitVmitkg0NonWZu8WXNmUfZ246m76BlraHuH8LB7xoHruaeO6O8plVyVLr1Bm5F4dHaP7PF8/dWfLa0k0QhyFEDuI03XMQMT0/lemUYbFMkcR+0Ym1BM+qnl/vm/VVQQrTIbsYielifbV3pNLNx86fu42TWKGqkQH1ZzJCwO22RG0OJHN4bPiQ5Mep8NrtToMBrPO4gbCjtUml8roVBjxRW8aO5Lq3Sy5BUZc6Oz4Ot+jJtLeU5c/33Ji+YHzBy48KakdamEbYZDCtzDQoQGFH1x2ywONHBsJhnOh78Tjgf9IWlvN9cDctQtd9UxTv9gG4Q5B3Mw25D8jxa48krLl7L1BQ7scPSFph7ToYQdvVc6dKUsylx65/qBfU822P+hTPR7UAFUMa2E5uYxqvNkuOl9Nz9iSN3PbmSG8cwCfo+FyuZ6fiB8KZRAffvw3p+9yDDxso3+Y+uWxJ4NdBrTyYvNH6872yuw9UvuAzDqkcoJjgKv8LsdBiure3jOHP0jc8YNPbv84+e77qdcnxj54O+3Ca2l3f7L42o8WXnhr5u1JSbcmJtaOja4bF0MiTKcR4ukjiPSRRFJULDgmR0RTo+LAcXdU7P3Xkp69N6t1e1HgKaPyevXeVfvX7z35tImksiODF9/0DRpmuw9JNPZvHFusHosZ0rUDHNttrhc5ZkuNWgfeqcTXuOhym8gYhJhmqtznnvbsOHN/7ubjn28+vjP31qWyntJufuWApJlt6hQ5+tWQSHxkM2oQeMtZjvfjV+SXU6t5Xhihe+UB6J7ryLJzj9tzrlfHrDgMyfnk06FmOb6A6mG/up1va2IZ7/drQPC0pZnrTj+41SGp4TjA691u2e0OMUT23S4ZOIbns+92/HnhnmP3OsNDL8QumIaA/u6RODyBY3wfw68d43uehR9DTAhVhi/3nP5801Eo+qslKPnw45QjTwaUti6xYUhppajtNLmRrcadMU9pFCrCjk1ilVmsskrUNonGIdE4Ec/teDpQH/fVmXemtU2Mbxw7fZAwDSK1mxDDIMzoI6S1ExI4k2ZDs9RB+D1zXJycEKchJPFHJHOHJw2MjO0dHj0UieEQ4gWRxO4RKZWEj2/8dGFH4oGzs/dcXnxUIVXZzE6fO+iweSwml8MOqQw5Xchg9gF6S0BvDmhC6G34nCEouDDPHTvVRqfK4FAaHHK9U6S2iHVOCGgFxLEWl9NS0GzH51GXDigOl9Qs2JGbvu7IiswL+y+UFlUMXm9gPOiVP+pXVrAcz+jWxzTbtFXH1hTUXO01VLFsNzskxeU9e87em781B1h8oOh+j7xNhup47haevZlra2Wo6snSSpbzyZBp7akHn315YMvZ0jvdcgjlez2K4jpWOd1yrVX0hGy406u51CxcceLBJ18e4vF4DgdsyXj6Ozh+UFH72dx1V6r76uTYcezeO6lHSklqBzimaR1UtX1IomNrbAKNBXfGL3IMgxXNzF6Wc/H9xNYJcfWjpzIjiYBw1AIqIa2XkEofNbeF8CljwoxuwoeDwz5VE4gAnRBLgS45YkpP1HTKsBhAHJVCIUzpGZkyMDbj8o8+Pz0p/mjcV+46kdPqtlucHqgPA8jtCuqgWdLZwTE+Zy902h5Es8mBdBakNgU15uCLHOtsfqnWxldZxTqX2ODjqZ1slQP6pX4t6lPj86iBVr79RiNjd8HD+dtPpX91dM7mE/N3Fy45ePmrvMcHbrRsPl/92fKj/7nw4PLc8o35jyG7zlh7cM7Go19lXTpf2tkW2gtWx/eA4yaOtZFjgW6tk6svY9hruJ6bHTKI5k8W7l536v7dbvmTQS28DNJ7vcB3uYl/rpb9iGzKetD/u7m7Hz16JBAIwvLCAzNohgfhZ/7mRHDis8QQvhepL+APBLw+fGhD7fIJ/Shx1c65mRcHrKiSY+/Roegv92w/+3BQbAdIYgtZYqXKTHSlFd/USGvlqgxctRHaJ4HahANCY4WECSi0eqXWAIXSleS19SNiW8YQJYRkgEWIA0hRMQCHMB3QEaYB5IgYgErAML4FLRLG6Zj+EXGDI+Mbh09riJrS985M2e+/MlYN4CuLoYs3+KxWu93u1HrtCofZjLxaj11vNRvtVrvTbnPYzBaj0ajXGF1ao1tr8uhMHo3JozK4FTqXTOuU692ATOeR6txirVuscYkAtYujcrEUDobCzlDa6SoHTWUnKWGostzrYJwva993qeyrk9eXHClZsK8oY2tB4lcnR/5p8YwjD+Yevrn1SlPWrYZb7bx2lrofqmuWPEw3S9bOVLQxZE10RSNNXj0oamIoG1iGa/WU5cduJKzLXnv22e1Bw70hc3Gb5HaP7P6A+nYr634n71p1747TJX9YfKDDiJsdvE8XxtaAE7kMKGDz4x3SeH8GENoBCFZ9+AgTOMb7h+ChG5pj5MNnwwcNPvy6m62U6Us25VYONskD1VwHxY4+nLV+X1EZWeIgSaCctkIjSJWbGUorGxxrLCHHuEX+K8dihcpsd4Fj/skHPZNnNI6MFxAS+IT4/4ZjSPKdhKk9w6IboqbWEP5cNya69+2M4iW7hLcb8D0qtG6DwQSO9X6X1GpQOS1ym1ENUk3wtMFkMVqtZpvdogHBIceAxgiOXeBYHnasc4NgKQgOO1a7hGonOGYrnUylnal00NUO0EwGx3IrxRDsV7lbxc5Gvq2W56pgWh8M6K93yH+79Pieh9QHdEcDvrzR3aUI9IlMPXzDixz3S6yP2uiPugXtQntRA3vm9jNxG3K3Xa6/NaC/QzLe6BRfbuY+6OI/6hGC4zN3a/+09ND2a00g2ATePDbkdyKHDjR/l2N8bkAg9IXV8As/vA4pHAF4/7ztxxbtOdUg8tbyna1SfPnXn+fu2HexekjmGpI5KTIbRQbjccixygSaOeBYFXZsBMdAKF3b+Uqd3ulDJBXqFtMS912eFNMxKrF9ZHz/8Digb0Q0MDRsGsAhTAXohESAFYIbghdCGJnKJMSTCLH0CCJpRHIPIa6FEN0eGVfyakLvn7dYTlagVi3+6hKhw6yxucxevd1jcHiNDq/e5tabnDqjQ2/AaMNxbHSDbLXRrdKDY6dcC+OxS65zgWOJ1hUKYicIBvgqB1dpx+cFKG0sNW4lKEorWW4eUEBAO0jaINWAKCZE0uPTsNskwSnrctddrO/UoVZ88r2rTeRsZSo7OZputiJMF0vRxlK1MBQNdFU9TdnC0lT0C8pI8laBrZxly3nUM2v/1Y+XHd15o+P2kOUe2VhQx7kJfVSv/Go97VoTY86Rm7/94oDAjnfweXEDAe2UHXmsYceu0A5d6KtwaxXeowWOQbfH/fx4RtgxNJdVXYMfzlxxvqyjRRZslvr7tKia7Uxbd2JL3hOK3AVQ5fjmVnSFBRyzVEYWtE8qPWjmhTQLVWYcyuAY0JmhS8ZX9YLmo9UPfjSzbURcz7jkl3UsiEhlERIohARWVCptbAZ5RHJnVELHsPgbryVdmRB345MVqkMP/AMyJLDb9U63xaezuY0un8UdMDn9ZpvXCLW03qZQGkOCXZCx1QYXBLFS7wxdIYEvkpBhx66QY6i/Qo5VDr7ayQs55oQcs9Q2ashxt9jUIzZ1ShwdYnur0N0idDULfS0if/KuS4k7ipoV6CnTUcPQN/NtHWz1kNz+IsdPuzltHF09y/CwW1BKNdYKPMfLqLEb8j5bc+Jo6dADirmkS1HSyr/ZIbrRwrrezDxSOvTrhfsuPm3WIuiVoXKCzIurqP+NY68bnxPv9QftAbzXG3qwlbuy5m7ObmLpWwTebhm+h0YDxzdn68XVWQ8giCGUqXI7VYEdw3jMVBoBjlIP8J7v0Qw7toJmvgG2faNP7dFxtKhDWbX2ZNGr02+9m9I8Nh4YjIoGSFFTgYERnwHkV4gAhYBhhGCFYGD34DiR/koyeVjywCuJPRGJfcOS2IQULiGtemxK1zsLKevOozIB3n8t89t0XoferzH7lQav3BrUuJDMhQRmn9YUFuxU6R1KvUOhs4fOm3fIdE5AogUcIo1DqAbsApVdqLIKFBaewsRTmLkqSFcmhsJIlemZWgdA1bhJCkevxNkjdvTKfAOK4MZz5Z8sPdgq9TeJvT1SV5/C085Wd/P1XWwl0MlWdbBVELtNDHU9XVNHU1eTJDVD0qcD0ke9olKaqZLjLOnTZT2lfLTqZOreksNPKLcpjmt9uout0svt0guN/II2+Zysu58t3ATJA3Tag8jtgX8hF//lepnn5/sFXJjnjkPXPbg8fniDwRVgqOyfpX9R+LithWMEwR3iQD3bS9Kh+TsvL9x1BRdcEvuQ1AaasWOFhakwAGylHgDHEMrgGGuGGlUNUW4CzVaR2aN0IYrN9XDg4fuzb76T/LKOmYQkFiGZHpFCJST1EeJ7CXHdEQn9UckgWBg5s2Zc6rOouHO/nt+/Il9aPYQETo8Z30kX+iWZ1iU0uJUOfB9biQOFHDvVUEvr7CD4246lWgc4Dp1U+lwwRmnhyc1cuZErN3GUJrbCSJMbKFLtgFhHkhpAMFnhGJB7+qSubokHyK+i/2LGprs90nqBq11g7RI7WugKSNcvclxHkYHmZ4PyZ4Oy+4PaewPqmyTTbbJl89W2j1aeSNl95WyT9DbJdLFNWtwqLmoR5TWJD5ZSfjRl1t1ObjhqnU7w9vyszRc4Rl6fxw6h7fDjQ7Mg4uS18qQlWxup6laGvl/s6xV6mlgekhLtOtcY/eXxPoGlX2glSSwwJNMUZpyuFQaArdCBY25Is0Bpeu5YZaWrrVyjm6+0aKxBr8jm4pvp2y8V/n5B7YQEgEWIAbiEaQBl2BSgNyoW6B+GIUdgoJkG6JEJzKhEelQiNTJ+MCJ2MDJ2ICpuMCpeR0gWEab2Q102OvXRa4mPX0usy9jjOF2JOuWIYcdHo+RehdalNnr5riDH4deanBqjQ6W3K3VWuTYE1mzHt3LS2iVau1hjF6ntoZP08PFEodzIl+m5Ui1PpuPKtRy5liFV08RKklAxJFINSQ1QeFLkDtjoB0S2XoGlmmX5ddrqgqfdLQJ7M1vXKbT0Co0kma2TrQY62BoI62aWtomprgPHdHXlgBB81zF1T3pFt7qkDwfVd4fM13q1JQPmBccffbwmd0l+ZW6DuKhbd65NcbZZltsoPtsqj1t7dGn2NQm0hTC2+qC8xikbCB0o/vrY0rcde922cCUWdpy6bMf6w+c6OKYega2ZZiLLgj1iVEuxX2tUfJCwqYdn6hOYB0VmWCqoub52rH/uWPFfHAMcgws0wzgnUFo9Qis4Rg3SO3FfvazjIUIM9E7kEKTIuKHhCaTh8f2RMUpCvIQwfTAijjYy5cnrSXfGTT/1fvKl/1xAPfvUUUH1iexI4VPpoX72cJ1+tt37jWNFWHDIsUKPBX/jGAQLsWDcLgtkBp5Uz5VoQTNHpmHLNHSJiipSsNWQtPVDEgNJrBsUmwdEZtj6YeW0Sny/SF55/HZDnyrYyjG0sPVtTFUHR/Mixw00ZQ1ZCjVXOUn+mKy9P6C60a8D7jLcJ6p5xN1X/rTq1JZrHZf7TOfblSdreGda5XnN0t1Xqn+eurpHoMWOvUFnaFh+sWNcbzts0G/58QVHNRTZb4lL7jQze9gGisTRTdfQYKQReklSdL/H8O8xa8s62J1sPVcfgFAeEGhwnSnRkIRKVsgxztUwJCuMPLlBIDcJINDlJq7WwTE6uUanQe/R692oTay7393yH4tvj4sZIExlRSZBqcUjTOcPT2QSoikRUwAaAcMIwQrB/hbhZ5ghuITPgPArB4dNA9pGxQBVb6dZZ59AN/tRkxJfSS5yufVuiwJ6J7vaYANUeqtCh5FDLaa3i9WwUYbKCI1VqLby8Wk9FqHGhu2KtRyJmiNWsyVKlkTJlCgwMg0ENFWspYg0ZKGeJNAN8g0DPD3U0nO3n1y8J79T7Gxh6/plUFerOrk6PCTzdCAblLey1EAjXVk7JK0bktSQxOUD4md9woe9kgc94jt9SqCkW3WXDCla/os5u6ZvyM9vEF4Ex1XsE9WsS93qnGekn6Z9dfRmDdQe4A5KKF8Qf/3Nc6+hfdKhtA0gQtBn8UIFGjrNQOJBB4sepq06UEvVdDK0gwJrJ1VF5lu6uK5+ceDxgOVPc/YVPWru5hpYGm+/0Dgo0kGpKdDbuVorQ6ZmKbTfOIZQhiCWauwslZWnc7L0dprKJJebdVoXvgFah8wyN6/hJwug5WUPS5ZAa0SIZUfE0ghTGVHTAeYwDDsSw4vA8EOEH4fhhhASpgHhVw6NiAU6x8YDz14nVryVUpeyw5dXjUI3Q9aL9Wa5WaoyADK1UaY2STUmGb5W0aY0QBDbxBqLUG3B522pwkUWrrPwbjulWaQ0inB+0vEVOp5Sy1VoIZQBEEyVaKkSE0VsJAtNJIGxQ+xafujijPWHuySuVo6+V2JvY6k7uLpWhrKdpQLBzXQ5dMbNDGXYMbTI9RRpFVlWMSh+MiB/3C+DIRmPyv3a4jZpUbv86BPyB3N2rcgvK2yRXu7WFDSLz7VKT5YP/W7Brnk7T7Ec+CwdaIW+yzHEusOqgG0B6FGj6GW791581iZy97Nh1DENsSQsgbqXp4fMXMWyzdtzfsOhc51sHTROPTwdOIZQhqoKRiYcxGqjUGMWqE0QxFyZHoIYxmOxCqIEqh4HE9zL9JAY8bm3kEKv9dXM2Hd3dMy9MbFNo4kNIxMaR8Y3jIjvGTYN6A3RF4np/xYDYSL+QvOoqUD7CExf5HSABMmcENMTFd9A+PPtUVO7P1jC2nwBXetEfTLEMit1ZpXeAih0ZqnaKFEZxGojyBZBOwAbqAI2UIMAAlpjBUA5V2rgSvQciZYt1jDFSoZIQRPJAIZUxZAo6RIYnrV0qYkqNpD4OlhpHRL3ngtPPp23EeK4lWfqEFihNWrj6HHZxdV2c9VtDFkLVdRGk7TRxM1DgtpBQc0Av7KPV9bNftLFedTBut/BASCm8x533uuRPuiTz9iW98v0dftK6i81cYtbBWdrGfl1rLRd53+evu4Zy6oO3SsI73+GBtjvwHu+Qrka2uDw0ShwbPO6tDofdny3W/i7mWvvdwobubYBjpoiNFLZMgYPCkLtoMjSIPDsu1yb8uW2NoYaHIN1rs41KNJy1OZ+nowmUTHlEMd4SAbBHKmOJzOCZsjYUmhFIFdrrUKlSaK2BDkmL1OHBl3qQw87/mPJwwkJ9SPjG0cltoxJah+fErb73HGIv+H4W7zIcf9I4sCopEcT4++Mmpr7H6m1s3ZzL1eiLpFUrVfoTCqDVam3SDVGsUovVhklGhNfoReAYznMOYy7er7SBMADWAS+/PlWy5ZqWLCYEiVDAkEspwhkZL5iSKCkiPQUoW6Qq+1lKTulnrOlXb9MWNTEMbXzLS1cYwfPAJphGO4RGHr52haatJHEb6GIWqmiRhKvniyqIwlrBoVV/fxnvfynPdxH3fyHXfxHfdIbLez7vbKrzeyCyqHPvtybtPHEice9hfWsvCrq2XrOV+fK354y/9Cd1vAVFd/tGJK5RRO6adrmC8+iVx9pFnlqWBYyV04Tqrl8Pk8gGBTIGApdl9Z/s4udumR745AcEjVZYhUYvVBYCgwOmkyHHcs0UFeH92UCQhjPIJSFKrlUL1ObocZRGO0Kk0Ojssgketj2xB3s2v2XcmdsOvfpigtTVl3/GHP3w5XAnTB/wtx+AeHf3vgYcy3E9RDh39770+qS3yy+8ueV92I35UxbduCPcwuX7h8ormQLJEK5KqQZh7JMY5RpzQq9VaQ2yg02uQEKLhMuG9UmvsrEkevDHVT4Khiu0sDBHYSWBdW1TEMVK4eEUH/BwGwCICQGuJp2qfdOp/DfohdA1m0T2BvYxna+CRdfdHknxDFT1jjIbe5ndNOFgyxRL43XShW3UMXNFFETWdBA4tcNcGv6OTV9nLIuZhtD8bid/rSTCeILHzbGLtp86lbNjXbujTZObhV917Wm16d8EbPhNAgW+0K3wwOfIcfQSsEjGH9xxQWOXXYlOAbPcldw+urDq3PvtUq8TQKX3OSWmzwmi9lkschsHq0XCRCi2BGMx/zQTb0FJlyEC00+tRvf4A7f/s6D9K6gwY2/Jldj9Uk0No5Er1QYQSq0pEabz+xFNj/yupEbBn9tAJ9D1SYRXm9R59doztSaj1eZc6q8J2oBT5iTGPd34jiFsZ3G2EOEnw/mNrmOVRlPVTsLm2WXmngFleTLNdy7bTKNXme229x+myegt7kUerNEbRSrYazVa60eixcZXEGtI2Dy4EurzD6ksWHUtiCgsvkApc0DmAJ4eVWOoNIekFuRUOemik0Qx61iTxXD+POEL4uqya0CWwPL2ME3t3INrQwF5OouhrSJxOuhC7lKs9zoFGmtbK2b8zUsjYupduIjH0r7kAyaMZPQhshyB1npAS6Utj3t4XUq/G1ST34tc9+t1rdjlv0kdf2gxg8Kv8uxz60BxxDE3TzZzzI2FDZwaji2VqkfLFh9KBBw+rw2nc9jCPj4CGuWu3DEA/rwzwAy+HGeh2Hf6MdfhmULnfwM75XrXSyR1qg0OvQOjysIJT38yuQNyoMI5kkcRPCH4RMUjoDfhDzwcWI/PBX6Ikt85QPgNmOclu8Cd8Da5683ODFaNwZ/OwUsuRPpNQF8W1IoPvzIoA3oLHa7NxCuRqyegNJgEUCpKFXxFVqTG7cajmDoBmmhBbGBZshw8DOAv/YLZ7xvYQ7dBRMWHB5ARUOTWDpo0maxt0nk+f2s9UdvNTbz7fX4VqsWGJg7OZoevr6bIW4lc2l8mcGJv9PI4cNfThU+iAQfCB+FPxk+NnSTaJHeCT/VTrx6IZCgTdJ4kBQhjgMVNrAz77a/m7D6x6kbLlT2QSjDOgdC91l1hvoo/C54O3YMn+m0yRUe9LC5+6dp62rEgWc0PcylBW/CHptNr9cruBoVUyFvlpu69U62DvXyoR00kaVWhhJDEirYKkhW0Ego2TKtwuyyB3CVrrMGYDBTCpQ2rQ2vVNjwnV6+SjegUA4q1V0KJclgJIvV0HdpBRYxXaXpkvjYdgUHIw8h5WLEvO/CRMeEX88S2wC6NARXz+AaRHyzTGyX8M08plbA0Sskdp5YptKbQLMbnLl8kLFFKhh0tVKtGbZ/cAx2IV2zpBqGWE0VwLhrAGhiPV1ioEt1DJmeIdcy5bohkZIh0wkNLq0HG9K4EEvh6GEqYdW1yQKfLtyx6+KzJr6tgWNu45vbeGZwDLQO8Rr6GENcidEVDDseEkOPaqTLTAy5mSU3MQGZgSHVc5RmntrWSROylRaSUMtUWvkGr9aHz1FkWlF+Nf3A7bbvxa742eztK45cBPHf6Tjo8TjMEEUr9hfM2HiiXeztIpHZIonWpncEXWKEZu0/O6+ga3Z+++IzpPmneuecqgVmnm4G0nI7vwGeXHCmaX7mpWY5XmZAqlcJlBKVRGNUm3F8BFCTEH2xr2RRQcf8vJaMs30heoE5Z9qA+fn1wNzTvXNOdqed6ks/3Z96ZjCtgDyzoHvG2e7Pc+uA+adqgTmn24D03AFg3qmaBbl1i091LD7Zvuh436JjffNO9c8/PZhxpgtIP9sBfH66F1h8bAhYktu5MKcFlh8wogBbp+KrpFy5CKkEyKr2h24RGb/v2dzTbXPP1M44WT7vRB8wJ7cZyMjtBmacZAGLz/R8ntOy4lQBrHRYWG3QzxPamRxzPcvRKvDN25b/5d4LfTJfPcPQRFe3MLWtDFkbU95OFzSROW0UJqx9iH6p2fbFmaoFeeXzjvcAc3NIc0+QMvKa03ObMs51peS3JR3pmHGif01u3fKcyh15eVBe6RAaULqLWzUbzjW9k3SUuKf8d3OzOF9fuosCNiDodwCQxvCRCRSAOPa47SaZD6Ws2LPp9L0WvqufRqdyefYghKOTHkD/nrb8zYyjo2N2TYo5NH7q/jdT9gCvpR4EJqZlY1IxkxN3vDfz4E9TVl9pEwptXm0QiTRynkKsU+hNIcd6O7rVrvw58at30g69GrdzZOKhEAeBcQm7gVfjtwKvE7PfSDo2MeXk+KScEcTsqISsUQn7RyUeeC1pF/AWcQcwmZgJjEvKAV5P2PZa/NY3o/e+FbPv7Zhj78Yefz3h+Gvx2fhdCftHJO4FJsQcAt6cchz4QfKRn805LbP6VU5YX16OQS3WKUVahVfCQga53Y5MJvR22tF307PfTN81KWnrm/HHgMlJ+4AJSVmYhELg9fgDbxEPfvTlqkG7X+Fxyd1OBttIoqgbOa42oX/hzoIvdhX2SLwNDGMzQ9PK0jXTJC10aSuV30hitZAZ4ANGdLHR+nbq1reSN78ZmwW8Hn/yjfhTE1L2j0/aF5W4Z1z64cnEU68lnf5h7OYfxW1JWblK4vXB0NQrc2y62LL5Ysv3U48tOdP3k8QdEFc4z+O62oo1h45EfdtxwOVyDKrRb5KWnasYque6SGzeAJNjCbgtARfJi96JXzQ6YX/E1O2vxmdPSjg2YvoBYFj0EeCV6ONAZPQxIOrP2ybE7v9BzJorbSq1L5S+zDapFroRuUClgq1PGUBXejTvxK0aSzwwMm5vZHIuEJFcAAwnngFGJ54GRkUfGRuXPZKYOyLxNCExlxB/ipBwnEA8MSz2ADAiZh8QGXMUIMTmAlEpORHE7GExx6Nic8bE5o2JyxsedzIy+nhECuaV1GPASOJJYEJsPvC9hAMfzM+HgICRDwZCus7AVKkZSpVbLUMeOwwxMKKPScwaHp0ZGbMDGDU1GxgesweIjDkMRE3LB4Z/vGXs1F1/+GIFLXSVMwyWApGDyTY087ztouDSA8Wfb83rFLoamKYWFvTHhiYonkEzhVc/yGwi0SGLQB0jMlhGJ+wYGbd1xNTjw6ccj5p2evh0WOSDhLhMQswBQsqx4QlnI2PzRn20fvTHG6et2BC+wL9DaPxs5enF2Y9/PPPk7vvSH8RuKW4xGAN4owlix7D9QNrG92xx4eYpQAgG/YGg73GP+IO4RU8GNeAYBIccu5wowELo/bSVE1OPjIjZ81pizuSE4xOTjwHjkk8Bo1POAGOT84GJcRBqR34Yu7akQxPuxMQqLVMokWi1IrU67PhSl+qNaUthixmffGhYSh4QmVIIjEg6C4wh5gITEnMmJp6Ajx2TcmZYWmFkasGwlNORKafGpx0HXk09BoxLywNGpl8EhiUfB2DjCL23YCKxcFzKWSAy9QQQkXYcGJV0Cng17gzwWvTun83NDTuGmBhSa1gqDU+nN4k4yGYMOx6XdGxMwtGxKQcmZBx+LSkfeDUtCxifBrNxakJSMfAG8fDriYc/+nI1FUpxFFT7PUy2cYiqahH428VobfaN9K+Ot/JsjSwTCA45ljTTpGHHzd9y/NrMg5MyDrxKLHiVeHZC0sWJyRdHZZwYmZ4zYnYeMDKpcGzqxbeJB76XuD9m1SZ26LqkdoHhg5l7Plpy/DdLio5U6H8//9iWok5TqCTEe6bDcRxyDOM9dmwPfaf/oeuNnyzc/Yxur+X7OoaYgxyR1gNFa4CK0HspK0clZRGi942JPzky+viwhAIgIvECQEi8BEQmXADGxh4bF3f8e5+tK27Wq0JFoFBmYPEVXJOaY1DiQ7oIFfUqXov5cjRx37iUzFeIpwEC/pALEfFFQFQcZmLC8XGxWRGxpyLjThOSizDE84S4s4TEfExCXohzmMQrmIRCQtKF58TnAcOSTo1MyyckH8OkYCKJOcCouFPAG9O3fPD5MahmYY1AYU9WGWlQYemsOokwYDODe7kTDU8+PYx4MjL52LCU48NiC4CIxGyAkHgKiIy9CExKPDoh7tB/LlhOciFd0Kf0OBlM7RBF0SLEjrfkPkxYfqiRZW5kW9o4xha2vglKbrqshQpNMLuZzMTVQACJjLZhKUcikg4RYs5h4i5hkk8Tkk4R0s4QknMJ0woIxMuvwuBFPPanlTv7PXieB5S2qWtyfxD/VcKeskPlupl778esLzbgrzqEyRUMOAI+Bwq6we/zOLaFHC/cd/GL/UVPabYanreVRAPHep8bwp6M0PcSl41Ozh6VnPW92UVvzDg/nHgOGJZUBEQkXQGiiEXAq4kngfembyzptEJDBXGs0NolSjNNLWHp5FDcyxG6Mqh5m7hyTNL+4XG7IpLyAALxIhAJG0ripeHxxcD4uOyxMUcj4k4NS8glpF2OnFESMbOEAKQUAsOSzgKE5IuYlGuYz28S5t6KnHWNkHElIvEsIS6XEHeckJBDSA2RholKPgmMScgF3onf8ct5OQb8Vey4/aNqLVSlgaLQ2zRK6LRg01R70Zj0MyNT86JST8BAMCLxPBCVfAKITM4DhidcAl5NODI+7uAfF69mh3oeeCOPZ6YzNM18X6souPt8+bRFe+voBnDcyjE00jXNNFkLXd5C+y+OxSbbyIzs4WlHhyVcBCITr0YSSwiwgabmEWYUYoiXCKklY+IOj5ye+fGq3fC3wDHLEvw889YPE9bPOd5ysEy7rrD1R8SditDVUKGW2On3QjTj+wNA04wdOyBpeNCnSw9vK6otZbifsTztVE4XnQ8zAQwiNCl2KSE+ixB7ZBSx8JXpp8JWCEmXQ1zFJBYBYxKOj03IeSd6/dVOE6wmfRAJpCquSM5TKcQGLfx5pQ/d7ub/PPnLHyRvem3aiskJu4BX4zOBSXEHgddiMT9MOvDj5MzX005PTDxGiMsnxOQSEkHnFUJyMRCRdBEgJF8OcQOTfpWQcomQcJKQlAdjymsZ2W+m7pmctHNi0jZgfNJOYBJxF/BGwg7gp4nrfjtzuxqadqsHWhG22sLRWOCnVsT2W7XP4zjpxLDE48OSTg5PgZAqwaSeDXEeiCBeB8bGH4X1/pv5y2mhzUUT8NJo6sFBST3X2ywIHLhU+8m8ndU0fSPb2sw21FCUDVRpI03WRBHUDbIbSUzIIno/EhhtIzKORaVlDUsoHpZQFEEsiSReI6SfIaTmE2aeJ8w4R0i6Qki9Pir6UMSne36/dBs9tNuSZw8Qt577YNaOmF2lmRW6bSWD34vZQlU6lLjEwjsF/F5HMOQYp2pwDCOQzOT89axth+50lXF8j2nQ5AlbyEyly6kP+Hv96PWE5SPTT49KP/3qjMtR8ZAD8bomJF8NcQ2TVAyMiT8+jnjih/Gbb/Y7IG9AOSOUqfkSJV0sFGhU4BhWX5PIPn9v/uJTz+ZlP5xxrBpIz24CMrKagZlHMZ8frpx3tDrhUPMfNjwaP/cmgVgIOiNn3iQkFWGIF0JcwiTBn4bwLQnNT/6ri258uO1BYnZDxvGKlKNP005UAKknq4CMnGpg9rEqYM3Jx8uz78HagLIE5pOJz90xUGU6nYSDXCaYT60fjUo9HUXMGZmaO25mwfMRISUfk3wOk1ACTE45OTr28K/nLRvyhob2gJfN1jMYmjq2u4nvP3S14aPPt1VRdOC4iaWvIsvrKRKseYhXM8BqGKTjP+RDfL1leHr2sJSjEfEXI+IuEhIgFV3FglPyCGlnCTCWRZ+LSL/xGmzxxOMfrd5DgVBBiG3x/nLOrl/P3fMfXxQerNTvvDH0ftr+Djb+oriw44AfSimcq587hm2wn6f8SfLG802SUpb39oC5nytpGqRrvB7IP/0IvU5cFQmbM/HEqLRLETD4JRcQUoALhNSLhNRiQhokk3PA2OSj41Oz34ldVdyhUIXqaolaxhXzOWyxTmOFP2a24WtVKHzdoMgC9IptQI/E2iO19UotfTJLv8wEDCnQgCTQKEdZj9iQG0bFZQ9PLY4gQvRcAKISC4FhiecBAhGUF43IKIpKv/Bq0v4xsTvblKhVEeyTW3okJorOB7VJI9/aqw4CTQJbh9gKq7adaySrvD63GwWD0LLzZHqaQCFQmYziIeRUQUmq86CxSUfHEI+MTjw+Kj6bQLyBCS0jIQUyykVC4g1gbOLx8cScX85dRgsFMS7R6ZqhIUWzCJXT7EdvtP4qZV0VzVhDN9XSNNUUVT1VVk0SNgzxa0nc6j4qrFuAb7CNSTs4KgUajQJgRELRyMTiV9JOEVJPEtJzCRm48oAx8dW4AxNj909ZtQ1KYKhem1j8n8/aujz38RspRxad68+pVb2XsvdiaQtEkcNtC+Cv9XQBMBa7cGQHCLANQlf+76nQbkmfsn33hmyDfFkbhf1Cx1gw/HyR45V/caySccQ8Pk+u1VisDrxNgWONDf9KG8A1LcxuaEckfgBDI8wiAI9VfsQMoHMN6klpeaPjsiNxMXX2RY4JiWcIxLPgGPp1ZminOnwgbOzS0CkPUOuJg0gRegAjGceB/xC8wO1wuOx2tcUrUJqYEjVbqjWK/uJ4XMjxmMScUfHHXug44VjYMeTPrx2rsWMhqqQ7Dl9v/m3ahmq6sYZhqqNrw46rBoX1ZF7tIOf/jWO5H3UKpbMzr2690vDL5cUfbbpztFz6m8W52VeewPI63NbwdeRB/MWIXzuGgfNRU9+v5uy+1KF6xvY+pNoHOMIOCkvndUFdPYDQG4krI1JyCdBipkERex6nESC1IMR5QhoMUTB+nBmTfHBc6uF34pYXd8qUfrwAIqi2xBwO1ygS23UGxOLoKmq6DJbwFYVBg81hsDuMDjNgduoBi0sLuAOQa/Coc7uJ+72UwxOjd49MOhuVkDcs8RwA/SIm8QwwLLEAGJWQC7ybsOlHKdt1odoSNmSn16o3W0w2B4WnelDZere6lSzSwJKCYJbRL3GjgM/vdbllej9TZKYKtXSxQS8mIZci5DgwPunQOOLB8QknxkL5RryOCS/v/+p43nI8Rgb8sHXS6FrSkLJBEKxiufdfafj9rK3VDDNQy9BVUdS1FFnFgLCWzK8Z5Fb1UmGbAHgG+/jU/WOT944OdfajE86PSbwwLPV4JLQDaaD5VGT82eFJ51+L3Ts5Zs+0lZu54DgQGFQo99/tOPyoNz2n6a2M7B332Z9tvrYu+6LYh+wehx9WAMJ3Ocfn2uJkHSDAzBU/qvl4Wfa1Xn0p0w2OQXArif5CxzBaYGCZC8M1SHisGp2UOS7l8NshxxCI2LFKzBSx2RwDm2MUSWz7M89s2X5EJLOQ6Xy+VCuUK4UKpUgpASQqASBV8wCNwWFx+BVBdK2OMTl+39ip28Ex8CLH45ILxhDz34nf8F7iZpUX/12r0yRRCDR6I0cgKm/sPVF47av92btzCm5V1w6IJCyTn2HwyiVSEV/AFlv4CidHYaEKdXoRCTn/4nj8c8c5L3I85luONUF8ES+VriGRFXU8fw3Hu+ti9UfzdtUwLNV0cx12rKoZkpT3C2ogUQ9wKnup4aTFfXnHsJnSdPpjz0g55eQNd/lvpmctPdcRt/ve3K1ZAhdy+SBFY8eBkGN/uK6Gbf/ohRtxG/JvDZie0OxA28BQB4lq8DhsyAd19VuJK8K5emTaVULCBUIytC5nCSnnCclAqH9Ngg61cHTCkbFJ2W/HrC3u0EAcw0YqUKroAuGgCnWJPcXPemIWbjlUeGdI5qBJDFSJnivXAQK5ChAqFCKFQqyUA2aT1ud1wPLfbSRPjt89ZsrmqKSCYUnQJuLM/ArxAhBBLAReScIMT7wEFembsZvfTtgG5RLEsdtjlsq5coVGLFHQhJY2kqTgfu26Q2eW7Du06WR+STujnKXhSg1CpYUsQ4MS1C/19Uu9MgnT6zbAbEMyHJUCvWL2GEgS8dCXX8aEs9fzmusaMCY+azzx+C/nrWDgUSAIM0yh6wbIyiqWp5br33zm2WeLDlQzLJU0Uw1dX0FWVZEkz/r41YPcyn5ORQ8VVAHgeHTaoZEpmSPiCoHhicUjoJZMO01IPUVIzyNk5ENQRSYXT4w7OCE289NV25mhd3EsxqynfadrqNtKZf+x9ELM7vtpRyuSVu8T4ENt+HAWOPb78F1xsGJwDH3OhkOnU3cU3SFZHg5ZnjKcLf2kHhrzhY7xeAxA+IYdQx9VAIyKPzyWmBVyrA075iuUNL6AZkBVQ9qZaw8t23Oml2/sZGtVDtTLktFFCoAFgSWScEQijljMFQsBo14ddnyvaej1xL0TorePSrswPOXcixyD4KiE4jfjtmDHoTbG57fJFXwOVySVqUW6IE/paeeo7zQMHLx8feXhY2lbjq7NvXantK6bzAXBFAUiK/H9a6QShset/9rxMdA8JhE23Bc6Hh2XNT7xG8c4KIfoun6ysozurOUF1p58OH3p4Sq6pZxiqKZpy0iKikHR015e1QCnoo9d3k0JO+boX9qxzO/hO6wnKsl5dfTND8VT95b+dOGpuacbpy/aIvThoseNr3XBcYxPuQ47hm1/ydbMzw9cuzdkuTegf0a3N3X19NMYJg/USe7wPpDIFGiLc8K5GiogXAQlhboX4lUCEVqLIgIUC7HQH596O3pzcbtV4cPLzJOZKFxFtRbtfNj52y93H68mDzlRORffWaGWqSHjW2o4qVInTeZkSN0MmZsp8wAqlcjpNEBZdLN+4NXEfePjdg+feTUiDboj6JGAcGcc2gcSJukBIeXRZGLmpMQDklCdZfG6OJCJFVahygGR2iv0d6nRoBnVK+y3SPw9DzrmZJXMWLl39f4zuU/YZRR/gxDVCxBXJrR4HVCs8YMoMjUXGJ50ZVgoSQCvJJ8CwjksIuEqMDruyPjEY7+cv/Ibx2S6vo+kfDJkA8fLs27HrMiqpJmfkvVVVM3TAXn5gKi0h1fRzynvY5V1U8JlJjiOSj8emZodkVAckXDpFei8k24QMgoI6WcJM6A/vhBq266Pic8eHZ/1pzX7KHgTdPPt5rw62rHygR1lisWXyJMSd8/Mqf3jrNU8Dz4I4QyCaD/C9/1BoYuTAwQYwL7YuPeLo3ceUGy3ezVPqNba1vZuMuUlHCf8tWPltxzf5tiSMovSMy8+5FjrJa4OLeqSOftU3kGpA6BI7BQJZG8nHeNiSNwGg8Lns8Hy32oYnJiwd2zMTiw4oeCFjon3CamPXks+NImYGXbsCPqEKrlAaefKLAOQisVBcNynR216H2iuUaPLA4rcG9Vbsi/N3HJlzo5rey433+rScKTfcpz23HEU8fILHcc+dwyx9bVjHTh+RLKA4yWHb8SuzK6gmUpJukqKurRfVj4gfNLDrehnl/c+dwz8NxzDH+JYDLm11H13Ww43WfdW68ZM3xK37/Gvkr9k4y9+CzrxsXoIZb/Hi0J3DQkQZJ7gxqMn0g5cv0mx36V671A9zd1DXWSWw270+51cP/pJ3BcjiCci449Fpd0kJF6NIp4DXkm6BOCsAoTy9oj4G6MTb4+dtjS/UylDQQFy90MAcVynb3dFL9h3vZrSQNXRZDae3tdJYfPURrpIShdBxlbSxSqq2EAVGykSGyDXGhw+3PxcrqGAufGxeyKSCoDn+0Dw5gWcw+CC4Dze2jKuT4zeOSlml92LvykdOZG8l6HtEdipKj3HoaQZmRwjX2SnKU2DYg2HbwHaeaYnndxDD+uX516dceAQcceeNSdPCEMtFseD3o7f827iPsInp8YmFoe36YjUE8ArKWeAqISrwISE7DdST/901pfQH4MtaM86hlQtg7IyugGYvfvcjB1nHw6ZHlOtN3vVdwf0DwZVd/vkdzuZFVTp464BUAXvEtntozKOjkg7HJVwISr+wrDEy1EgNTWXAIMjaAbii4YlXZ4Ue/jVmENTVu5ih848UTq92U86cisHDtTLt5Xxfrk6/6dLT4ImsgXv2HGB1aDP63UFQrf8CQYQAWJuzYGjCTuKbgzZbpKcNwYdrb2UzkHmyzqOir02Nunua4lrCns1QuQFzWQpaqFZkldkrzp4vUfoHlKgfr6OKrP2sQQsmTbkWEoDxyJl2PGQ2EYRv7zj+AuEtJJJsbvfTNzvhlXgRAGp6X7uJU033zqkMHAderadxTXSWboBkZok1VHoajbPRNUEKepAtdRyrZ97vKJ61617WwoL6E67CJorF3ojesc7CXujphdMSL78IsevEo+/lnLyJzMWDXrx3MLG0c82knlWEFzOMCauz1l06AoIfsp0PKSYH9OspVTQrAbHpYPCu82deAe+x8PW61/WsTGIVE7v8dKuU+V9++vlu6pEf9hU9OMvst6PXUgyP3ccxI7xbSSeO9YG0dKd+z/9Kv/6kK2k3365x9I+wGjtp9sdJp/fxfGj9587zo5Kg54B0tffdhwx7QrE8fdSNpzv07GDNljsdobtSungB3Grzzwi9cvweeydbE2vwEgRa2hSHVUoB2hCBWiminQ0kY4qMlHFppd2HANVyZXXY3e9lbjXE8S3hTB10fdkLG7Yc0F3vwuRrKjfJKCpFTwzWavvFEsHZaYBqbFH7hzU+CgGNKjxD/DVbVThs6omqwuvQb0fTY7Z/kb8LkISfP6FCBCcdOGV1JOYlLNA2PH4hOxJySd+Pnf5UGgfiyQYrO8RNfZJShmOJ3T7b+ftWZX79Ga/8daA+Xa/8Uav7naPArjTznxKkjxsx3EMCCy2l3UMswdxfKKs58Sz7v210swGeWzmnXdm7Xs/Zj7J9LVj5Pf5PP4gvjFEMIgIkDEWb939u6XZJSTrtQF7cZepk8Ru7Bp6WceEKZeGx157g7juXJ+W4TXDYl8tJS3ccGrBjottAlRN1nUK3H0CfEU9Q6Yn8ZUUgYwKCBUARailCrUUkRF4aceJxVGpJa/F7pocswNyNfbURVs9JWXH7zMerT0muD/g7dKCYKBPoe4Uy+haZ7/E0Igv+dW0Csw9chddbqbJTGyhAgYvS4hJ0dtfi91JSC3C+9de4HhcfNaEhGO/XLCaGjpOADT0iFoH5aUM+yOq5aepm/beaL/Rhx3fH7Ld6jPc7JLd6VXe7WQ/GRA9aOsP52qGRveyjrW+oMLhOV3ZD6G8t0Z8pEXzeX7N5JTtP4ldAI5BMACDsd+PHfvwrdpCcbx854EP5mde7NZfJ3mKu63tZG51G8nqsHj9HnYA/Thu0QhiTmR81vC0a1BnDUs6B/yvjqOml0RFl0yKWXmhT8cJ2OQosCPr1gcfzztwuZnvQ40cZ6ck2Ct2tHNNFJmlnSEjC5QARaAAqAIVQBNoaELNyzoeHn9xTNKVNxJ2TYrZBokaX4HZwd71IbHwnbhL76e2pR1Bee2+HoWrXTLA4rBlik6ZBiMxA4N8Sz/PzKbLWVSZkqMImgMGO9SlaMy0Ta/G7yDMvUrIAMGhI13QzAApZ4GohBIAGqdRMUc+mL9qMHTcHhqBFpKil2W81G0616b9PnHrocfM4k5jSZ/tPsV9s89SSgGsdzu4t9vYJdXt4BjqSqbW/PKOkdTmyq8ezHnatbdKmNWiXnO9a1Lixp8nfkEN52rcMPn9AXxXW2ihsGNNAG08cuL9GTtzqgXXBt3FPdY2EqeydeBlHY+MuzEq/ubE6OWXBo0i5JEi//KtBf85bcmC3ZerGO5uGepTIny0nKWnK+2dLAWJjxniywEKDmvQrAZe1vGwWCj3ir6XtOct4h5wjK/A7GBv+11c0Q+Tzr+XcP79zyumbWs5/dDWIuQpNVABtAjlHVJ1r8IOkATWfp6Jw1BwmUopQxIw+XVW/GVpY6ZuejUu5Hhm0Yscj43PHjHt4H9+uQHiWA5Z1+vNu1KRc6H0RJUw8xHtRyk79t2jHH3Czn7GPV3Bz3pE21/ScuBay/Yz97adubev8JrYjXchiGyel3Ws8yOR2X6mhnSyrGdPJf9wo3znE/rkpE2/TVvGsOOjTrCN4vv3BLyh/VyhXA398f78i+8kbt52s6+ox3Gx297Yz61oGzI77a6AjxVAP4pfPCLpWGQ8zAp0Shcjk84BuJr9xnFoXY+IvjYh6e7k6BVXBk1S5AU27r20ef8V4tqT604+ftCjbBb4m7m2RraFJHf1iqx9fG0/XwtJm8RXUfgKgBripeM48WJETOGkpB1vpGHHFnDcwDjy8+k1w6e1v5rcPiylhhBd+vsV9t0PjE0kSwuFy1YAFLaWzFT3MdQDLC2Tp+SJdByuCAIAwgtW/biYLRPjtxNmFBEyoD0L7ctLPY0J7f8ZlngNGJdwPGrqwT+s2EoPneJCNVs37D+36KusxD13P153kfDzubHbbkRvuBSz8XL8+vOfrchNXp83c9v5jPVZn289uSozl673KXyIrn3p8RjmkGewguPcyv495ZwD1YIj1bzvpW7+aPYqfug73lz+QDDgBbBjXH8FsePsi9dfj1m3orC+sN18vtNa38uu7KC+rONXPi2emHwfHF8egDh2ipBrf86DB1WsLQUVUxYfyrrZVkmz9iuCLVxbJ9eIHfO0oJnEA8fKIV7YsRx4Wcfj00sI0WfHxW2enLzTaA85bmEf/1Vcy/jE2hHTO4an9o+bXfT9tBs/nftwzwlD4yCHJQOoHB1A5hpIHD2VJaUwJeQhBjgGwfogGh+37dXEnVjwrOIXOX4tLS/i0wO/XLi2z4vjGGb4TEnNyeKyL/Ob0g89+fnc7HVF3asLWtZf7Nx8oWXtmbrt52sOXm8/dKUy63rt6dsVoMoEuVrneFnH8C6O1ny2hgzpGhzvqeAebxC/m7Ht03nrRKH9XOAYgjjsGMCOYaku3C9/N2nb75aeLOy0F3Y6moYkpa1Ug9PpCAZhuX8Q/+XwpOzIhCMj0i9FELHgvzgOZzDiOQKxcFT09RHTSt5N/Kq4WytHXqHfXt0saehQtknQ2py7ny7YtTnvcQ3dDBm7ne8AuviWDo6xg6noZCkHIVeLtFSREvK2QKaCFggi43ojY1zM7knETELime9wHN7bNyphy/fmHrb78Rm+qEN04qfT6SMSSYRoBSFFS5jRHZXUHhFf+sHs/vjN9ieDvkq6pU/lphi5bD1lSN7B4feLpO1CDgyQOOsi9E5G5uTEnRGJ54enFj//u2HHyQVARMI1YDzx5Ijoo79duqkPBsiQ45YhTUO/4jYdxW67/una81f7XVe7LFc6Tbe6DXf7zNeaBNebRffauDebmE97OSIPjki63o0FpxwCwcNBM/HKcOJVQloeISUX7wlJOzMq/To0Dq/FHx0/7cDUlbsg5KAk5BqsZ2vJeZX9+8rZmVW8I5XMDxbuT1mxTebHh44hdmEg9vvwsUVn6MATdvygvvPNuI3vz9ibU6sBzdU9nCctlJd1PDoGO347YV1Rl0aF/CoU6Bw0DdCd9VzXw371rvPliauzVh0tKSNpKVpUTzf0imw9MBwK9IMiI1mgHuAqSDwpRah4WceRKZei0i6PiNv0avoesxsZHAh1inN/EUeOiBkkTJcSEhWE5N6RKf2j0+++n/zg39Kuz9/DPvPM0CUzdSuGSFI2Szsolbezua0CFhS6IJjtRxPjtk1K2DE8pWhEGizm33Y8MjZ7ZEzWBwvXDYV2gIgRquuTVXWJ7jDQZxsuZex/cJPsv0Ny3+x33OzSl7RBZ6y416UsqaPebePeb6PCNgGbFFlle6FjCOLU/BGp1wixF8Dx5Lgjf16ylff8iKTtVHnv6fLe/RWcA1XcnDreT+ftnr/lEHymL3SFBCTpAP5mM3CMjeN9me1U4aRpX71D3L72Mjm/3fGknfWolaFzeWywoSH0/QRwnBWZcHhk+sVIYkFE8rmIbzvGuzmx47GxN0dNv/ZO3NqL7SoNwsfaKAw3W4Bq6fo+hb+MpN5y+m7SqqNrs2/e65BCY9rEtjVz7F0CS5/ESZKY+oS6Xq6shyt76ThOvjws/dro+O3jk3YbXfjMWdTOPfSLmEYYj8fGywlpIgKRi69hT+0dHtNC+PPtV+P6/rhOtOsuukGx9SjtfWoGU0Cj8/rEXHxeA9RBCI2ftvH1hB1jk4uHxxWGz2TC+ROnUHze4CsJ14ExCScmpuS9P3tFuHfiB1Bdv6KqW3KpU/fLOftW5ZaXdOnu9urv9xnudcqvNwluN3MedokvV/c/7ORcbxgIn7NAM/m+y3FK3rCkK4T4i5Crv5ec84cF6/GX5HkR3+TMetQGNdfBKk5mJftMs/D9GZs2HyuEbTSAb28LY44fBXAIu/DBxQABFowuN70es/GD+VlTttzKqTc+7WCD5pd1PD7u1pjo6+D4fKtCjXzgmERz0ti+Fp6tjmFoFbjqmKYDl6rjlx9ccejq4x5lC8/RKfZ2Ca3NTF07S94v0pPEmm6O9KUdx52PSL06IXn3xNS9Vh++bTVqoB3+ZSw47hyfqCXMBs34Nn2E6K7Iaf0j4x6+lQKaL/9hOX3DFRHUCN0KBktAZ/K7+Ewd8kHWhXT9RsLOt5J2j0u9HDE9/0WOJ6TkTs44+3bywi43dizEp9NoKrvEp6v576dsOXRv8FKb6man+k6PDhzfbpNcb2DebeXfbKLebWXeaaOIvNgx+TtydchxRGIxDMkTpme+k3ryw0Wb4K8oPUhgdh253wyhfLiGl1nBAsffT16bU/IQHPvwHbtCdwXBt0H9+joJKyQovecnMzITdtz8wcxj2+8LnnYLnnTyNG4fpH4aQu8mLBmefDQy4eCo9PORxDPYcfLfiuOYG2Ojb3w/ft3FVqUW4e+tJw3ZSEP2fom1ma5sZhl6xa5nA5rM4uo5286lrD15u13WxPf3q1AD21pFlrRwdX1SY7dI99KOo4uGJZa8STzwRuJ+WwBf+4pIwjPz1pT8gFj0vZiGqKS2MekUfLunGDphumRUGm14EjWKWDY+tfF78zrmnQicbQ+0cgOtPGkPBWksVi/+tvR/m3Xkrfgdw2dcDv2h8JLmYVLOYRJuAKMTTowlnn49Ye59ng6SJKTrdrqptJWXeaPpl+lf3WgV3OuWPeoWP+wSPWhlP2znPu5gX68ZuNtKuVbb28TXiPx4FH84wPqu8Tg1HwRDHI+buv9N4jHi5iMcyBl+xDbYsx61wnicVQuOGSer6e8lrrxZ1QqO3W78bUjBAPRQ2DEejcOO5Tb06bqLsw6X/tu805+fbL7fzHjSwX1Zx6OnlYyZfv37CV8Vt6vCReMQ1TlAsnZwtJ1cPThuZhnbhb4amjnrRnv6+tyFe4tz7nbXMk29CtQttrby9K0cRQv7pWuuYQklkQlXQfCrsbvNXnz/aiS19hfcbJ6y9vqPkssJ0xpHJHNHzWIMg2iOZhHihiITaFFJFRPTH49KzH1/Vln8rsGzD71NLO0QB+nxdx2B42mbSiZN3/x8G3qB45FxOSNij7+X/uWhig5uaDcIVRas61cuPnz11zM23GgT3GwT3u8Q3mvn36yjgOYnnezzj1tvN5NvNg4KfTiI2W60/8r974rjtDP4mF58ERRckK43nrsLNZc2iAYk6pynnfnVA0druJnljH33On+YvKZhiAer3emC5AuDMWQzfNr8XxwbfGjusYq47TeSD1b9YU3Juccd91vZarcf0jgMNu8mLh2efCTk+FwkMf9vO04Ex9fGRl/Hcdyi0KMgvJdCcfYPmJuGhB1MqF0N7Wx9u8DbIfQ9JVuKa3kzthTO3XVp3+XaUrK+T+1vFVpr6dIG1kvXXGMTbo2ILnkv/tBb0/ZCosZngNqC8g4y/+Td8qUHHv7bgstvpLSOTesYP4NOiCMTpikIRAFhWn9ECmXkzAdjU+6MTCyfsla9rcR6rxX1h76TxInWFfW8GbuNkHyGkPFXjkN7bUOOx8NgOT3rR7NWxO0+UcnigWOZAzFUaOe5B/N3nX7UxYO0/KCF9qCVfqum92kH40k77U59fwND1iHUwYthRCilChLWbX+hYwjitDOQq19JKIbGCdJ1UQsVeidNANUPsU6V9eRXDRyuYh0sZ2woqvzpjA0MNb5RgNuD4zjs2IXP3oPJj8/LBPVrL3b9bknu5ju87884nnWl4k4j/WUdj4u5MT7m5ntxawsbJWqEvwttkGTt7tG3UMVdbGUrU1NHltYzLN2SYKsYVVAdVxpFC/ZejVtx+MCVuiqaqp5jaGAr+5X2l3U8Ou561LTLP0w88l7cQQhBXHOZfWYyF7UItBcrh4gHr72dXkaYWh+VyBqWyIhIkBHilQTi0IgZA5GppZNmlL8+5+L7aQU/IDZsOam/UY8P3TnQiRrVj1IP4BO4ZsFf/NuOJ0Eu/STz7ZRFE6Jn5jwsZbh8Gh/+ep46luFqA6VH5irtE5Z2cko72ffqB6v7+TWD/B6BAdobyKiiIOpV2/aVPHj704QXOk7OBceRxEsRiZdeT8iCUK4SGLlQc/nQk/Y+KKrzKvsOVjDA8Yr8h7/4fKvchduq0Lfo4qIafjp8+BJn7NiHxaO7beLfJq891qSasqPk5wv3XBrU8Vx4Hyy01T+ZmjEh5dA44gHCrIeE9DujE/KBKCLMEKzr0DUEIcYknB2bWPDu1J1XWt0mF4JWVcTQDnXxahlyDFNZx1TVsbT1bF0dx1THMTfwXTfbhRvPlCauy1l06MblJnFL6PuDKWwmzJnQj64108cTD4yK20NIPhc54xIh5TImdF5AZHJhiAKAMOMOMCF22/fSD+h8+FyfoB+xGDxGh1xKsSjui2+svHLzvdmX30gdHP1h7/DfDeK7JoNvIjsqiTJs+gDhs5bhUzpGT3/wXgYzcT8axFdx863og6krR87dSUjbAAVmJGxMqUWElCJCxlXCjBJCBii/EB4vI+P2Dk/M/M3i42suttbzgxCdUH9BHlb4AmyjmaqQ0VQKtlHPt5hhAIYNFwpjPkJ3RWhpcev3F+e/Mn3rxMTdwOikHOD5GRBJt4Hxcx4Q/nji3Rn5r8Znvf3xF9OWZCnd+DtSFC5U/KjyQhM7+0nPkVpRdr00el325weKIXKB0LWp1tBt2HywKgCcq0Gw1476lejnsUu3PaSvKekFx+uu1LPseF7FfvRv02ZMSD44NnF/yPHdFzqO/6+Ofc8dV9OkGLq8hq6oYahrmZoalqGGZWwUuqtZ1lud8oPXWz7fc2nG9vMHb3ZVcXwipTzs+Er9EPzdV1MPE9Iuwnj/v3Ec9xfHAR9i0Xm8Pp1g0OCqt0pu8WULC5/+fGn3sN/2j/wDNyoDoBHiBghT+gifUKOiu8bGto2cdu+dtBuvJ6I2MxoKqvzoq0N3QPCw2Vsjky8AWDDkj9RLhIwrhNlXCXNgkU8RMs6OST0SGbdv8vR1v150fH3es4u1PL7Dpwid5AsRogl4tQEfdJKaoB8cwzDcbUElvaKMnKffS98ZMX3b2OQDL3JMiL80Iv3mG0k5rxGP/2jailOPyPzQrcnJEu3lJ9X51ZRjT3oPVPCO1ok/XLRna3HV/8ax2+aVB9CfZqxbkFdxslkev7Pgd8syKUYvlIsSP/rp9NkTkw6Oid9LyLhLSL8dmXoMeL4XM70gxBlgePLhEalH3oxdVdSthjEDxn8Wl9PT31c1JKkaklZRZNVUeTVVWUNTVdO1NQDTWMe2NAvdZRT9kZvNs7afmbktf0Puwz4KDRIN9KlXGiCOMyelHolIw8f48CVP+KonvGfxleTzQDhXE9JuE9LuTIrZ9m5qptaH85Ur6B9i0UlURR9JIhuw6xh+592h2nWFT36VVvKDqa0jkjrHpvWNSOwgTCcRpjBGxNNHxg2+MrXm1aQHkZ8y9jxAQ8hgQjSGa/Ksr8anrxqfcBYYE39hVGzhsOlFUdFFIxKuwzgeEVc8KuX66IyiVxLyCVN3E2L2v7rgxL9tLFmRX5H5gHSzT1svQ/1mRLahPiNqU6ErXaqjT0jzTtX9cc35cUlZhI+3EaZljc0oHJZYEAUdadKlyORLhOSb+AqupOsE4jXCZ9mvzbs+dvqWqD+v+/Oy3QM2xHX5Ybt50sM+X9qSXUbJekY+UMnf8Yj209Q1V9pFkKNDjvF9BEKOIXLxKIwdh0+6FrnR8gPnP918/nSrcsedth/P2DCodUI/IAmg/4iZMzEpc3TsbkLGne9wHJV8CBy/FfcXx0wOu6uvt5IsriRLKkOaqygK0FxF01TTNM/IqmqGoY5jq+XYymimSw3s9bkPY1YcvnLrrtZih6R3o5UzKnbvmPh9+IIMcPkix6lhx9vfS82EOAbHzoCPxKANDMn6yTJuh47fZUTVEvttsmp1Tt3HC6oJ0+pCd2gjjUlhjUygDYshR04HaiYlNb2ZceaPK1GF3GJFDieaWfhodPKysXH5mIQL4xOLRsVfHR5zKSquZBTxJgycUYmXodEYlnR2RPrxEek5w9Mzh6Xuf2v6ql98vjd+Y97czGtLj90AFmQWzdhxhrit8Bdzdo76ZO2Ij1eNTjg8Ke3E6NSzw4m5L3I8MuXc6LQL46K3jfh0/e5rVTASQ1qlW1wlNb35D+qOV9COlVOzG2RzTle8n7iiTYOLxRc69rmcKBgQu1Hxs9afzt5yopaZ10BP2pU/qHXDigbHP42eN5m4f1zMLkJqCSH16vOzydMuYNKLQhQCw5IPD0/Nej1+7YUeHbwRSkcSl9/UN1A1KKsiyapJ8mqyonpIUUNR1lBVQDVV1cIzN3IM5WQYrXVtItuDbv6R65Xnr92RG+xihEqaOKOj94yN2zcs9QKu8p5fSxc6Ty8M5M+UooikG5HJN96I3vrDlAOa0Ln7JuTsZpGaOPw2gaSRqqroFTL75TK2RVIzUJt/q/IPq6+8l35z5JTHkxLJ45J6hscyCVMFEXGUEYmDkbHX3k7jzsrBOVGI+qWO1BW7RiYcjIzZNzz66LikU5OTL01MLBoXe3183I2R0TeHTS0hTL8SGX8jasatEbPvEmZeJaRcHJVUODrlPPRlkdHHh007OCo2a3wiZkLSidFxWVFxp0YR80emXh0ORhOuEGKhoLtLSAZuE5LvRCSVRCRdHZmYPyIx/420oyOn7fjxzM3ph0qaNFZ6EOe22wO9Z2vpB++2n2iQHKngZNVL/3NV3seLdnNDd6sB8E0EglBh4W9hg+oTd5I4V0PD7MTnM7dxND9IWXvgcV9OJenAww6KEd/1Ccbjf58+dzLxwASI47RrhJQXOo5MAsdHv+14kMNr7O2vHJBWDkpDpuVVZDlorqYogVq6BqiiqsBxJU3VAHU1x1jD0Db1kG1+/B2nF6up4+L2T04+Mhz+ROLZFzu+HnK8DSphbcixMejoYg7UMdiguYWhbaCoqN0SRr9c18ZUN1F9e5/0xO959GrCrVFTu4fH9I6I5RCiBRHx5OEJnYRPb7yb8finC1UNQiTFqeh249CPlhaPS80ifHogYuqhsbGF4+LOj4m+Cgyffn1M3J2RyXdHJN0JnYB8iZBWTJhxdQSxYFTyudHEvBHxp8YmHJ+UlvvmjLw3Z+SOjs8eT8wZn3YOiEq69Er8BUL8ZULC1Rc5Jny0YWzs7mlb8u9x8J136Aj1mPQny56C40P32k81STOfMdaWdL+dvnNd3n3Q/52OkcvtNELLIHUGPlm2a0nO1dyq/vONNKYttIsO6upp895K3PN63I4RKdA7nRmWcBuISLgDEBIxwxJLgDGxp8fH570zfdfldo8SevwAGmAY6zsE5X3S8j5ZRT+mEkwPynFYk0G5+Fkfv6yfV0OV1jPltVCXUcW1dAlDrIOZ47hQUTV9csK+N2CYSM4fnnBqOBEyG4DvHPL8SvPQHoko4sXhSUVvxmz6UepedWiM0CFbG7OvgkkDyjjKcp6qmqJ41i9q6eX3UOSGenbfxcqK+Yfy/rDw4eTER68RqcMSKJHxTEK0aFhyzYjo7jcymudkoqccJMXHOHdXkInZ11//fE9k7GpCwm4CcS+BeBIXXKmXIzNKRmbci0q9FRV7LWL61VHR18bF3yLEXiUQbxJSbxJSABhcLhFizxA+zcFnhyUUEGLOEmLxrQGGpV6LhNckQdgUE1KLI1IKIlMKxxOzxxGz3orb9mbctp8Q187cdbGwuh9KcXA8aPHf7B068bTqSJXgYBn3SI10+0PGJ+sL3k7a/KBXBBX781wdhKwM6w/K1udfFhxyHADZLkXoJlPzD1/4aMmOK51c0Mx14QFA4EXvT537PeKeN+J3jUg9F5GY/0LHMc8dX2n3gmNY3QN0Q307/1mPBCjrlZT3Ssv7JRX90soBSeWgpKxfUEuV1zMUVUPi8kF+1ZColi4FSBwZzCNsW9eaeJPj942P3gWCx+Kh63/nOA07hoJWF7S2MnpreawaLquUKXtEE9dQlQ1MbfuAsLaNoammG+vZxsL6ygWHy9/JAM0geJAQTSF8ph43u3r4tOqoaed+MXtg2Sl/vwI+bgihUz3Sj/eVTJ61a1gqjLiZeMd1Wv4r6RCCRYSYS4T4q2OId8Yl3xsbd3P41CuEjAeEjPuEFOihQXbxK+nXRswsiZpxBcryYalFw6AyT7pISCjGJF7FvMDx8pz7JZ1yKInAH8WBKjnyY4/LT5fX7S9lHa+T7n3G23Sb/Frsuh9m7KRa8EbwXY4DeFeHXeV0QZ19r4f5c+Lcgsqec9V9sJbhD/A86NcpK9+Yvu6NaeveyDgxNj5zwrTTk2PPTIo9M2F67qS4vDeTCt+IPzHus0Pvxe7/ftyBH3y8/HaL1hy6frBrQFzfynjWK3/WJy/rk5X1ycv7QbOsYkACQByHEFaSBJUkXgguMMRXwUYH2f5Bp2jCp2snT9vwVmr268lHx8cemBh/8NUEzJiEQ6PiMofFHwFGJmaPIh57J2H969NXQuKBONYjbyeLWkNjAGU0aRlVWkFWVZCVdQOKugF5wwCnro/FbGH1Vw32brmU96elt0bHPno1pW94cgthetewWMqE9KcTYssnJUiWnECVQjw2mxBbYLtyozp684kfpa0mpK4nENcQ5h0mzDtCmHWSMDMnKvFUVMLJidG5r8bk4buXwDgCDXTK8+uGXkk7E5lRGAFbRvKpCGJOBPHE8DAJx4fFHRuTsTsqacuk1E1vz9n1XuKy9xKWzdly7MyTtkGpXezAiyNxogqy+uzjrpz7nYUVQ3srFXvKZfvLBH9Ye/5HxLXELQWqILTj2CoQvmtTMHRnxdB9ykPHnYIBi9djgBoMVHcr7R/PX72p4HZ+eSdEMDhm2LDjyVPWABOTjgybsvONhMI3E8+9Fl8wMTpvQvQprDnhJPD6p9vfjdn30+lf3WxSGbzYcT9F0djOKu2RAk97JE97pc96IT9LyvpEQMWAsGJAVDHIrxwUVA7+xfEgW2YNIp4T3Wxiv52w/a24rRPjM8fH7p9MPDKZeHQy8fBk4qHxSUfGJx0dk3piXPrJ8WmnouKOvJ3w1buJG6ByhJWi8jqqetprqPRqKr2MKnlGlYDgcpKytl8ONA8JGga59CbGUB1FV9jUs+VS/2+/ejw5tW94Uv/w5L6RiaD5waipZa8m1H60lDk7U9wr9MrcLh9S6dFtun7fg7aPTz54b2MuIWUHIXk7IfEgIf3Y2LSCCTPOvZFYOCk2n5B4DmsO74lLOoNJzsNHkFJyI9PyRuDbEeWPTssblXJ6VNKpkcSTw5O3EuI2jE1Y++NFB2fsv5j5oLORa5SGNlZIhwwdqh6UXCwfAIrrmGfLSLvLZfuqlBnZz34wM/Pt6GWnKhjgGF78XY5hYLbb1BDXADRZW0+ei1u2rfBZG8OKD4ywXWjervzkrQVpO86n7LsVs+1y0ubTxE2niJsx8RuOx36VnbQpa8aOU7O3H52/5/iS3QeryAydHx/P6GNRqtubHnSLgYdAj/hRj/hxj/hJr/BJr+hpnxCAjF3WD7IFFYPCkGxhP0sEG5zQiSCfz8+8Pnf/NeLWS8nbryRsKIxfXxC3Ljd23elp689Gbyycuu3y9B1Xpmy9/Onm4kVZN+Yfusq24DcqvaiVwa8h82tIPBj7oQio7ldU9SvqeuXAfZrwIUNSOSAo6+XS20SDMDzvf1iUsufyGxnX355dPzG9akxSw7DpTcNjWsfEto+Nk87ch/bdRvUixAsdaVGgTob2XvXgrtL2hWfv/mLj8UmzNoxLXDMh6as3iZveIm76ftqBd1L2vZG85/Wk3ZNS9kxO2Tsxdc+ElD2j4reMSdw6IWHzuLiNE6LXToxZ91b8hneTt/xp3a4Fp4uznzVc62O0iDWwwpUBJPXg+5L28A1Pu6VXKsjHbvWffcq8UKs8dp+ZWWdcXEz63dKTP5m57xeJS0g6ZPTiHgk6YCBs14+8gBcflvA/dxzwW4we/I19fHuglsL7efzcnLvVNDNOmFBaP+yTPmW5yrjeR3z0VIRqRb4aoadeGmhVoxYVqpP4GsTOFoW3WWSoZatqqWyO1Q1BDJoHOLSKlvr7XSLgAdAtetgtetQtetwjeNwjfNLDB5728p7iyotfDpoHwLFgkAPJCZcCLBN6QnNUcv23Sc4nLFQnRjVCVCPAVIhRpQQ9laFSGSpXoctDnmds+/0hPQzGeAdTAFX2DlUPcoGKASmMC5V98speeU2PrKZbCqvyHlVQ0c8v7WSRG7nMdonh2iA1u7xryt4HP1n8LCquanRSz8TUrvHJLaNjWkfH3HljStt/LhxaddKdV27rliJZEJYOqDaih1LnGbrhUIdg+zPql5cbUw7e+WTjuZ8tyHl/9tG30w+8mYwFv5a6b1L6/knp+96ee/hHi3N+vfrMn7ddSTvyYGVx65EyTmGHtoQirDd4mQgBfD8eWUEwy+iuJ4uvPGs7/7jnUtngibuk0/+/9s4Cuq0rW9hqk7Rpm8IUZjozbadDnVeGKU6naQN2YjuJEwcbZuY0MZMki8wMMTOKWTIzyBazZHbQAbMs2fffR3I78zrprNdZ73X+t9a764siyxbd75x99r5wbrk8gTtAqzSeLbe8fjjtk6NxoHmXX5zVgaYmvQEO/6ljGJinJ+w26Okj0+jw3b9sOXQ0NFY7gUZ7cGxyzsMJ2blmDt0C1nkE9HIAsj6LA7PMISvwZ7ec2/AgdFin7S3Wvqqm1uLWXhclbb2liL7ytt5yuG2xlrdaK1utVW29jPY+Zkc/CuOd/d1GK/RjeB1IoOAFYYiFGh1uISJdgzvOnWvwqaD9Gecw7Sz6lWnGueHQKXjQgZknMXZXH6NrEKB3DQGMzn4GvH67ldlurWw2V7VaS9vhI1lKWixlbb21db11db3qq215x5Ou/nZn7Asbqp/ZVP/CNtkjHi24Va0PfSZb+mXbi+v1/7HbvDEU8yvBKjVY42305eHzwVe9hdluYvf67YPmcavuTrNypE7Wx2k10+t1RQ3G4kZTQVt/YftgUddImeImUzPK0d+Tmu41D9l099GEFuY5dHwBrFWwa7Rh7demKjosiezmDIkmqqqVXAW5tIrAMEUKBinCG1eKdX+9Uv6bHVHbQgre2hpQVdMzPO06pXzeGZhtaDIQZNf+HU7HcxMO+xgIvj8zCc0TRuULtIzl24/VmO503ZxrHLI1D8823cBElomrjeaclt6eOzbFPXvP3dmOm5Nt18c7b011j0533Z5iyrSVHUrduE0xOm6amGkfGKnRGsrqGotarC6KW60liN6yVmsZ3LZYylssFS0WpLkVunUvw0m7xtB7667m5rT6xhRkA7oJTHYDU9/H9HehdWOGOw7TvXn9OKa5j7XdxhpGbPm1hnS+nC0bqjePy4Zt8htz6jsYZNH0zn6gqmOgsmOgqr2vqh1e3AzwekYqms35TYbSjt7KzoGSFrNIZKiuNveVqOSpTdrdyaXvHGMtcWM/sqZzydquJR49j63oXvqVdNkKyeNflr7kJX5nL39LcNuRmO4E7mBJ++2uG1j//NwdzHEHm7qLuO+cCBliyYgNMzsxQHoBuTH0TqdIaBvQQNGt8yQauK8YwySmG5DwZghb4+g1cfT6ZG4rpbwxVaiMExjJdDkIjq++cS5X7u5b8qcDyZuj6g5Q6X/y/mZgAu2imJxGUwb8U8fzM47ZCXR8lx1t/YKUWKzo+3L7UXwup6RZf1Xak1uvvlrdkyLqOBGV6XOFlFDVUVxvZclulTcPFtb1VrQM0ztvVbReP4ovOoIvLGu5Wdx4ja+2FTVeL2sdzRT35TabcpvNeUCLpcCJS3lpSx9Q1gIduq+iua+ipb+yGVHb2dWiVNYojNIenVQ9LFT0Qx0n6rY0KQwNPdpGWU9zj6JRrW1QaWDgZ3X0ZJdJLgbF7jwRciE8Jb60ni8b4ajuXpXoiruuFXVdK5ANFXQNFnZZgKIuPdDUdE0itRbVW8pbBzNV11O7B1NbLSktZkaFTCo03s7oavmmuOWt0xU/29S2xEvx1NaGZavql61semxVw9KVDYtXNixa2bB0TcsyL8UbR3TvnepYcUnlESg7RLseXOgobMak5vtDN2y379sh9bFh923YnSl0BBYoH3YyaMNM9zH10P1mzaC0Tc2r60pldOUI1MX1lqI6S5pIG8uUkZk9NI7Sr7QjurqXKOkP4ZnCpCNH87s+8yt882SKN1nszxx0PxF5jFYJBcjYHHZ/9KZz4yXKtr6N0siuDV2oHDovitU24O74GGi+MYPmx4WIt+N86Maz4bFVdTGMhnSxLFXUmdOgOkrL+Gz36d2+ScSc6rxqY7ZIl8JWZAp12RJTGlfjcy5+w6noq0JzEltb3HQjhWsAzTnVg9mNRiCnyZjbZMpzUtBkBkpbFxyXNfeVA029LgQNjfz6BnazjNUkY7Ybqpo17FYtt11f3aEUtXSLGpvFza3iTpmkq5vVIa9q6WJX91wtFgZQsw9dJK/YcWH7WbJ/Og9S0KLOawAIzu8aLOiyFHSaCzt1gEhslkh7y5r7ixt7Ezt6kzr7rnb0Z3YO1Ff3CjiaO5ndY7lK7FS57MNLrYs9m3Brmp92b3xydfMTbq3L3NsfX9vyqFvtktU1i1dVLPmK9YR70a/Xl/5mU+pbW3I+3JXtfqxk4/mitCxuSUWtuKGlvl3c0M2rbq+s7WE0KKuateUNqpJqWZGks1TYUiJoLuXWFrNrQHA6qzuqtIlSUBdN7wLNMXxNWFkrVWSKklr9mdogjuEiXf/JpayXd1O8Y8TB3GtnivQv/nWvwOi4M4MGY/vMBDa/cO3qBzuetWOOOeR5bGZ2Cl1p1WEdmxZ2Kf604kBUSQu+SE2pMMZIBsPpWmqN7lgm/4+b/bcQyghsU2LDzejqG1TxMFU0TBYOfXQ4elsEPb6mN1pkTG8wpdYZrtZrMurVWY36rEZDNtAEpk1AbpM5rwmipTW/2VrY1FvY3FvU3FcMKx0BwdME8bMUaAUsZUAbYHX++ACKm24VNtzMqh6JZxn8M1v24SvdTiZ/vJt0JJoXWNCZVN2f0z6a1TqS0TSY3T5cJL9dLLubVtefXGPO67heIBtOazRdrVEUtBiEEgWT027Maxoo68IiJL27E1QvHxA+7K7BuQFqJyon8ocQ3YsQrmuNdSxBuK4+lvWHnezPzotPJukp7NqSBklBTXplTVpFNbWqKZbbEcfTRrGU1HIdrUIfWWGNLLeECBWBPJk/WxbIlYcL9HiRIYxrDGJqI/j9RH5/BG9wJ034p63EvxxPPZPREVJhorC7V5+jrTtHcGU/0CHB3bgDBmR01RBXduXKvOZgmHYeCYKDXAscwy+nHPMuxzfmMNW12z6no7aci4mkW5KF18LpGiLLEFVvvFLRtCeS9ebXoeuDimiiARJ/gCIaSu+YAs3v76duIVQk1PTGSswZjebUWn1arTK1WnG1XgdkNuiBrAYDkN1gzGkw5jaa8xrN+Q2W/EZrQaO1sLHXSV9RkxEoBpoB8O3C/EMUN98ubRktbrmT33AzWThALlNdudpyJqF6+dGYr47HbfDLPJMqiRUb8jpvZrYOxkv0yVJrWm1/VvNQTttIVmtvRpM5t1Gb32xoarUIJAplurSRVqXfGsl9/3jd4xskiz1+rOPkl3yy/7g7xf185W5SWvjVkrjyq4z68uqeBL4sjtsZyVBQ6T1xLEsyfzCRMxJV2QuOiTU6aoOVXGcKFxqCuZowrokotJJFQ0dTG744nfHpseR1AeXHkpsIzD4SZ9CvoOZ3648XNBthaIdM847T8Zj92yvRP9Cx6yoAKDdDl32C3o32LY/OY8n0jrfcDobly7Lrb/sXy0gcI1mqJ4o0RLZufWDu+/spPuFlwVWG6JobkdIbFNHw27tJm8LL42v6YqXWjEZrcq0huVqZKJGn1WqB9Fpdep0uo05/tU6fWWcAsutNQE6dKafenFtvyXOClDfoCxoMiEZDYaOxsGmB4mbQ+QCKGgwlTaaStv6y9oGC9pGc5oGUhoHE2t7gqu4jSfzVl1M/OBjx2XGaT3jB+Zw6AltV1tDHar8ubRhi8vXi4q7aCrmuFGGI5Lf4FXZuJfO/uljz6+1Vj7vX4Va2PeL5j44Xrg34MKLbiWzR32jFeTTj1lQ96SV4cWve5ydEm8M5+MKOdElVYQOjuDGN3pVc0U7gqshCrb/E+I1AQxPrCRxFML07jKmIEJgpYms41xxQqdkQVuHuX/jW3sh1IeWXi1WBFXqyYJDI6dt4kbLqaCB0YsjXoCwGJh3oUGqXV+Rwfsbl24E5AOQY9M47kGAH2tBpG59Dc7/CMzuHMI+DIRsvZcexrQSmDhwHMruoNSYS10BgaTeGlry9h7g1gkXg9oJgIq/f6bgivqY/RmJJqzcnVuvAcbJUkVqjAdJqFkxn1Oqu1uqBrDojkF1rzAbNdeZcJ3n1gC6/Xo9wyW5c4DvZ36deXwR/3GguaDRnN/VnNfWlNQ0BSU0jKS3Xo2v6vils3UIsXn427vMTkV+djd3vl3oxsiwtp66Ko2nl6GsrFDWxgsrgopxNwVHLTya/6hP/0nr2017sZ9a1LvFoe/RHO5Y94t2K8yx/fG3lMs+oP25OfX9fxJYryYdJyVFlJdmSHL46m6sMZytCGLLLoFlqJHIUeLacwFVTRUaS0HKpqGMTseqTkwnv7I/yDq/aEyMJZVmpopFQhhkcn0hvfmP9wbxGgwlSOaem+xCux+//FxzPYrN2+AU8NDszNwXZP2ReI3bsKqPlNfeTF+J5ibVDFK7xUkkbraaXyNIQmOqAsp6NoUXv7qNtI7NIwuEI/uA7e6k++Kq4mgGayJJYY4qV6JNqtCl1+pSaBZzR2wCk1xqBq3UmILPOlFVnyq4zZ9eboUM7+7TBRV4DYESXM2o0AXD/gZS29JQ0d+c3yfMaezIb1JkNqowGI5Bd35fT0F9SN1xaN1zCsyYXdOGp3Au+BRe2B5zwvkDx8s0/Eq88nNm0LbblvfOCVw80PL9d9MT66odW1S9xly/1UD7upV3srnp4tcvrP0f5d4ziPG6gy/C76XFu1Y+7S5e6Fb64vvzlzVVegU0HE6Q0bltKXUlJR1lZZ7JAlSrUpAgtKdB9qzTnk6Ub/Av+eiz+42MJn59OPZTacL5QHsgwUKUjRL41uvYaWWj9y6m4HWcDrs9jvXfRQbYQpSHnstngBnqo8/p7C47RVeqh3wILjucg/ZpdcAzAMyApvw7l+T3s420Bmy6m0PgmKs/oV9lFqbaQODoyVx/BNfkWd20ILXvvQKRXcDmB2//WHsqm8MqY6n4KHwmOEmoSpRrIvJJRh0ak1OhSwXSNPq3GAGTUGoGrtcbMWmNWrcs0IqdO7yK3HlgwDTh/fACFDZ1AbkM3kNWozmrSZDWZs5otFd2j4PgqR5/JNVSKB1m111mCwTKGqSSaGXiAePb9Pafe2Rn/+93Rr2wveHJD8TMbBY95SZ7a2P6kd9uyDV2L3DoeWqVe5GZ8zOt7Oh/I3zu+iXO/hlulxa024NbULfOQPuaW94JX4YsbIl//OuXDw5RtYXnn0tPSJCUl7VH0jvCC2vPxgqPkqo2Xs5Yfon24j+p+PuNgQk1QpZ5WcyOM0xshGgzn9QYzdGRR/4n02t9vCaA3yYdsC1H67rRtCkl0TM+gScl/2DEagiG3tmEO+DUM2vADGrtH59CrRJc1rjkUfDyeTWEpiTwDAeyyValNQxEcfRhDFcYyul3JeW1HxK5o8WvbCTByREoGSXxLlMhI5mmjhZo4qR7SHCABkBoSnSRJDclSQ0q1IbXakAbUGNJBOcJpvQYF80wXdYasBSCwf3f/P5FR05VRI8uslWfVKfJqNfl1mgqJDqjMa+GV9+jKdMYq03CarDucX7cvjb6eJHDzL/zgSOmLW8pe3NL+s+1tz2zTLtqgeWidGrfSiFtrWbTWiFutwf0VsOC+GnzE/Xs6AVfcdsVw7d8BfReBLvr6uRL3V+3DX+kWr9I8vFK1aI32Ec9G3Np6nHvlUz41rx4WeJJad6aW7ktO30hatZ2wdjfZ+2TqkbDKy1fbyZVGEm8ggjeA5/cFMY1RtcN4vonIUZ3Nql55NnJrePbolO3m+BQ4AhyOWdvsDOiyTY99KxgdHQChGXD9DXLsmIa6Cj0yZ5ucmR532NFcqTNOwXfmMYsNcz8YtPpMDKFSFintC6yU45lyMk9DEZiACH7v5WL5upCK32/Dv+oTsjagmCaGZBs5JnHUVJ4iUqCOhbpepI0T6eLEungniYBElyTRJUt0KYBUlyrVpUn1adWIdKk2vVqb4QJ8I9D47crU/pGrtbLMuu7semV2gwoc59aoSgWqEr6ynm9iF3eyiOyrZzNzfSgJq/0TPzgV+cahqF+tj3tlU+Hz3rlPe0kWedQ/5q3GrZPj1vYu2mDGeepxK3W4FSbcSusiN3Csx33+PcHAP3dsXLJS+9ByzUNf6pes1C9xUz+0Qo52Tq/ueXJLx1Lviic3AQl/PJD+1vGgP5+49Mb+cwR6QIyImNMVU6alMSw0poXI7SfxBwmCfnBMFoNpTbTUvC+G8cHewMy24bvTUPhit8fGnf7mpqYm5uwQeUHtDzt2bQND0ywi0JZtNOHPPDyE3RqfGZ7FmozX39xwfE9YRpzYSqhShFV1kjjyMLo8vq6fKh4IYeqDGCavkIpfrg/46HhKYJUutv5WCF1FFpihK0eJTTS+jsbXRwoQUQItEO0kzik+XqRNEGsTxZpEsTZJogFSJNoH4moB/0hitSWpxposMSWLTSU1fWV1AxX57fEURtq+aKKXX/YbB3LfOtj60q7qZ306cas7cKvaH17b/rCHAofQ49z1uDVG3BozzkPz0GpA9fAKwHWVZStuOfA9wcA/d9y5bEXHE191P/IlYMStMOBWDOJW9eNW3sRtGsR5duLWdeHWc5/eKXh2T9av96X/Ypf7lrBzweVxpZpMbn8stz+a3QuVMYFjDWHrqdJBAltB4qppzLY/77x4kpZlAXVo+gcANMEYjIwuGERCAaiQoFZGMRrSLZRx/RPH4w40swSUX+qbM74Z3Pc2nwku6YyX9JI4ikihNqbaGlLVfaVUThEPkMXX/Cr0n55Kf879m9VXcv0rNBE8I56tCyrviqvpcwo2RAsN0SJDjFAfI9LHivRxYkOcEGmOF2mQZhE4XiBJpH4g31P+HfFSs8txkshYKLGAZnpRZ3qcIHjVhQufHEl4ZWvSq9uFT67nLF0DjlWPrutc7AUocZ7KBceAmwHn/t/luHXpFy2PftG1+IuuJctBsPHhlSM4dwBecADnYVi6U/vIdvpjW8oWe6c8tz3rV3v3nE4LihQklGlT6SZKlZFcZQxnWcKYJop0wLdCQeZDyNRuCUj8/GBAXd94L8j7Fxw7p4sGx/MI159BPe2Yn3VM2+zTkHzdtjta+8ZX7z2/5XJaPAsisDyCLUuo6wuu6AxmaGLqrvlXGSmS615hjOfW+r6xN/LLS7n7E8Q06XCk89hBEsdA5hmpkLXxoU8bIgXGGLEpvtoSLdQBMUJNrEgTJ1LHiTXxYjVCqHkg0N0fSIxoMF46nCAeiBX0ZgqsuZIBerkqL6ul+PTViHUByS9ujH3Wo2GJe/NjnlbcKis669yzH+fZB8EZ9WA3GH2dsXRV+6OrncCdVcpFKwEzDvE9wQ/k73MulIo/vFr50Gp4TXhlOW5lD84NaFnk1bl0E/+FnfQnfcgv+MS9sjNupW/JjuiwBHFCQWcq25TE0EfQdSSGHs8zh3NNEQJ9KEtJYbYFF0rfctsaWyKAYgcGUGeR+yCQVgAtrnvf/fyDjuGH0bs3wTG8tGUayxK0f7D5ylFSWaxES2LLIjgqILbuGkloPZ0rw/MHPUPob+2P9SFxPjqe/MGR6GPpDUSeiSywQHYGJTWZB7J1ESw1iaOBoB0rMX8bt9UxQnWsUBULmkUqhED9QJw9/gFEC/pjxUPxov5oniWVYwTNrCptZanCWqQSBFcI/nIx93c7Wx7zanE6tiDHXn04DxAMmHDuZpy78iGod12C/zscOxNyzZI1GlR6uYHmbpxbN25112ObWhevq3jcm/HU5tx3Tkk9SXUXSpQEUVqZIoepT+daEhlIMIVtihBaiQJrMEMeWW0NLa5ZdRL/9YXw3mm0u2gMCfwHuy7+5vRvgl0/4yCrBlyKFxzbHQhsfGpsZMJ+34ZNX3OeabPfN3X1rsCQ8sbEWj2e2R3BUVDFkIUpQ9i9ZMn19QTOn3ZHBTJ7zxaqvriQ+R+7KWsDCkJYRjLfShX2RYr6KHwLka0jsDRkrjZSaKTxtQAkZUCUUBktVEWjW2WsUPtAnOP3g+DpEgUGGAIi+RqqQB0t0aeLdOkiPY+hopd2NRA5hUeTS947FfvLLcVPbKA/v63zUY+2JWtkaL27ayFcP+ypXeSpecije/FaoAvtT1yreBihxyFcMdkVn11G//k2EAV6ilfXoxtkj3qLn1ovXLau+PkNJS94U19cF/ebzcS/nszaSkgLLaxIEGQVNmYXN6XQ5akMRQxTFVklD2epiVxduEAfxteR+MowZufe4LhPtp1oV5rRJsqxqbmZhZH02wVC90L3/J7Xv19+0LF9+hZonpwbn8Ym7zu3i/K6bm8+SXO/GElktlOFWqpAG8rSBVQqYxruhnH79yU3v7g+OIBhjaq/dy6/GzS/vZ+y6kp2QJkCzzLQRH1RkgGqwIy6NUdD4ekoPAj7GhpPSeOrIvmQgSujBAogRqB5ILEQ1R9EHFcbz9NFCXQuxzShJpWvSRfqSvJamOU9xswuWWyNek8a87NvQHD+Us/OpZ7guAtd69xd97CncfE63WIvzcP/bY5BsBa3rmPxulacB2uJG2vJ6vxnPEFz/ntHeKv9uKcz2sOZ3Kv1guym/PL2goqOpMruxEpZFF0RzVBG8PRkvhEvNILmCJ7iRDrvnfX7Y6rq7trQFgsQjDZ1/Kflv+bYtR8C1czwSyibEGhbiAOdCnPX4QRy89s2dKnjXLb8owP+e6h54YyuGKkRzwUMEeJr/nTT6XzVz9cFny1UBzD7SOJrAQyzTwTz3YPRG4JL9sUKrxR3R/AsNKGVzAfNWoDMVQMUnhKg8RVAJF8eKZBH8dU/ihROezKnLVLYESXsDK3pDqnuDqxVBNcpaSIVVagsqlCU0NUNGd2VRMHVrfHBn1xi/nJd5QtrRY+7iZ9wVy7xUj+6wYJbZ8R5mHCegNaJGucFgC0n33f8z/dJdCzd1r50K+8pH/YT3um/3JT/u52pX5ws8LjCDMiVkCqrcmrZhU2JVa3xlc1EcTetTpPAkMXTu2hseTRXRRIZIkT6cJEOOJnO8gpIOBQU1T+LjY3ZwCU2OYnNLvRG53D6bZd04sqwfpxjdIDa7E37/OgcmksWbTMDx8PT2N7I/FXnyKfSBVSBhiyyAiCYLL1xrkj74obQi6X6b8qNYbwBiN7+lbpjGc2vbvT/y8nEvTH8gHIlCUZop2MCDMwux1wFOIY8zqkZbuU0rvJHAY6T2K00QXuUqDOstiekWuYv7QaI3G4Cuyu7sDOvRNZ4tacurbMlVCK8UMV5yZv+C08QLHlijXKxl/qR9c6y2P2/y3HrEp/WRzYLntkifeFrxrtH29aEdl7M6SNxulKrZWk1nKJmcJxEbwPHIdw2ILaqI6ayncLoprHkeJ4mjKMK4iqDeCoQ/Mctp/X3MdOEs7NCvjw1hU1M/iuOF/7/Ly+9E9iOM0Ff7L4YksVJaRyMFpsulKlINdfxNTef9vI7mN4QwrMmNQzhmUoyvQNypQC2eWVA4as7wr/4JutsYRdBNEAQWMO4psAqJVXSFymxBlfJg8plVKExRgIJmprE73TSheDJnPQ4USCgsSM0TrRAqFABhAsQRD6CzEVEsRGxTEQCA5FER7ADuQm7kmhvHAn69baKn63n/HJr19KVDbhPu3HvDixbZX3sSw3uE+Pjq/VLV3ThPlcs+kqPWw6oFiF6lnwJyJasBLqfWN/+yFrxY+skT2woeXZz/pPeCc/7JP9iq/+7Z2hfhlCPpOcGMeOu1qcVdEQx5NEsZTRLBcQx1EAkWwUQeQiyuNe3rIfIN0XVDIazNRShmUiXbQvL+Xzn+fx63S3n2T2oHgKFU3fRgQA/fvnRjmFgrlUPrDkatPEcMbRSRmAqKHU3AzjmYNHwKzvJ3iSGL10XwdGE0eVUZhc4Pl+qDOH3HcxofPNg5J/2ROxJlESIeolCK03aH1ClCCiX0cSWhPpBisAQWtUdWtXzP+1Ynq6sIdVKd6Vkfn6F/vzG4mUebYu/6H5slRL3Z+Piz/WLPlPjPlYvWQ7IF32lfnT1DzluWeTW/qiH9Alv0VKv8p9vl7x2TLo8qNk9QnSO3uDH58Y1SdO6cioUOeWKGJYS+CHHISwt2KWI+/zK5aFMFVVsOZHIfnv7lXhWq3ocJdLgGEbh2TmH/Sdz7NqOXdagXrX7rPvZyGgYTWtHfCuUfpzeTy5mfXwu3Y9lDmXriQIzha+PEpuj6q9Dr/WrVJ3MaV7lm/WHHSF/PZd0OqeZJLRAPyYJzSFMdShDRRKY4OuR+MZvjbqQO3Ha5UGoV5K4LlymEXiBAiDwEZCnACj+cxWRbEQ0C+EyHcdAVFbIqyoVtelNJeGVFRvCYt4/lPOcZ+bT7tU/8xI84da51E3+pKf+4dU6tHHKDerptqWrgJ7FCAPa07DaglsLKJd46x7fWv/GSdVfg1gH4qWnM0si6dxUMTu/m1soL6lSF1epktjqBKYqhqWJYWsS6FogsQpBY2uAMAEihKlJaLoZSpeHM5UZjX37KEV/2Xn+VGSebtQOdmGIHJ1Bs+ehHQxobxFE5R+9/GjHtx1oOzbk3NHFgg93+++NyAfBkXXXfNnWdST2K9vxgVwrRdJHlfZDVwPNBGEvBGeSZIAk7r9UIvMhVX5yMu7NvYQtpArfsu7YuiGwG1Qpx7O1VJGFLDD9TzvOz2spKmxvzGxtyGw1hTBrDyZXv3+86Jfekqc9qnCfty5eof7ZeuT44VVDD6014pb/kGPt0s2apT6yj69gx0tvpLf3xdXx0qXSnAZ6dgeQXdSVXdQZU9kdW9UTzVLHspHgBzomiaxBdHUEV5vcNPJNlvj9nb67AuO7bmPD6LLK2F07OEZT56FYjeb6+Ekc2zA018fwFDpWhFggetPrwE5yKYzKBPHAoYyGZ9f5ni5WkGpvhAj6/Rj6II4Zar4oiZUqMkNnpYjMcfXD5/NbVlxMfe8Q5fOziXvi+PAl45tuhnGNV8oVQUxdBFfzN3hqJyonUFoACyK/4+/dk51QOAiqE5qTSPbfoNTKwwRt0WVNifR2XkkPI7edH8zMP5GZ9N7J8Je35z+9sfSFbfU499YlXkOLNphwq2WL3QH1Qwgzbi1gQTMDeTbjvJpwnpWvH9Fujm1MFHVnN+VVNF4tlCZwu+M5Mhqvh8rtjuCrADJHB0QzjEAMwwCQOXogFIpPAWrZ/uWyjIZe39zq99fvPxgSb7o1AcUqrGcAerBLMDA5a5+BdOvHL/+KY2hO12bQUCG/i52PLfroIHFDYCZRPHi5UvObr4mbo4XE6uv+bHMw1xIm6Iut6YesKrCiO0raC702nK0NqlJG8E07aIzl55PBtJtf9smsRjyk3JJ+GKr/px2Tqrvxos6EqrZERgenSAZ0Jba0xTS0Hspmb6CI/3Ss+Pkt1biVTYs8enEeBtyqH3IMgtuXeKf/wifzV1spO0LFNFY5t6uI3gKC49hdIBg0k6CbQvWBNvBpfshxGEsN7R4Ef7I/eOPpUIFqBIZCCJZQ38CqXujBSPaczXm81r+w/GjHY+P37HZ0HfSb41OQf/VNYscjC788FHQ4kR9Q1vXpubTPzqeHikf82FZi3WiQcIhAh2+riRIZKFwNJNsElpLI1UGxHyEwXyho8wwpfGs/+aOT8bviBFcq1YEsA5FrdAJ3AD2Cp3WidqJE8OVOIB3toXJU30H5O8jcB3OR3+grbiNIVESpOpqtpzG0aSX69FIDP99QmtSZtyvZ/89n0n61Pes3u7lPbah61N2IQ7j2OqgeRvQsdgfalq3veMq78mfrC5auTvj9duHaoDb/YnO0OKO4Ia2oPqasOa6ilYQqQ1WIUB/M1wULTUAY3wjAGgBcmSOB3hVY1OR1KnzzJWqTygw9+N49WK9zmGMCs41hc9PY3Mz0rM0+PzfjOvv0xy8/2rGrbY3bUSuDAQM+Ttc97GIy/b19+GMpolUBBb/fiQ/g9l1hWShN9y5UGckcFYmlIDIVEWwlla+PFJnIAiMeRiO2Ds81hPPMZ/Pbvrqc+ZstQe8eid4Wxf2fduwnbQdC+d0hPBm1Sk1jaK6WmbIrLYxMFT1DUXLgatDH5wtfO1T25nHhs5sYj3v8kOP2J73rl7gzX9gkemVn7KtbIn7uGfvV6doLWQXMzlwIEvQOgMpX02DQFRlDBPofckzjqj7cG7zigG9pmxV6MOBwQKeFHAvsQpIFq9k2A484Bd//lzryv+DYBi1r1uFwzKOPAIzMYX3T2JV09lvex784FfX+vrCDKdX+VWqidIQgHQ6v6IgVG2Clh1d2RQr1VJ42jKGgiUx4GKUEJqgOSUJrMEt/PLNhxZWsV7cEfXw0ZgeFGcrQxtaOUITWELoaohlUjRSRMUKgI/BUBK6KyEcQePJwTjeJoaCy1VE8XRRfR+NqKRw1maOGmEHios0sES6cMd/VSiJYnQRGG5mriZVaSIKBgAqtX6UZzx9JqL7t7V+2cr3/8Us5vHhpBZmd5hMc9PEB0TMe3CdW8x5fKX56TeNTa+qfWC1/1E2zzNO6BEVyjfOwns6H1nTg3Bse82p9alPlkYROIqszr7M5ozmnoK2kXE6TGOEzX6k1nuR0fyNSB9abSXxVlNSQBoEtu/ad9YcOhKXwOtHs2WDw3pRtdmIUCXaMOSdimgJcux3QJusFBT9u+dccT8867BA9XI6vOU+1axjBwgqkIPjxT3asDy+FRPpUoQzq5uRaa7RAG1LeHsGUJ9X30yBqVXZHiswEjo7IM+B5RhiJicJePN98saT7QEr18rOpHx2O/uRYjA+hPLBCkdh4I7Zu0DmKd+PBn0hPFRtIQo2zNyvJIjWNAzmqmgKwVGSWCu5AM4J3+SHHkQI5OA4p7yKylCThAFk4SBBcJ4pueF4uXH0u+9jFbGpSXWNuZ11Wa0tYhehStvbtow2/9OEs/Yq7dEXDMnfQ3LVoRTvar/yFDrfSstir/1FvxaPrOnBudY94tCzzDv74UNqmkPLQ8sb0psJSWUZ2YzBdRhbqTvPkgU29IU29Z9iywIp2ilDrm8j5fJvv6ci84mYTDHk3IatyzYw3P400/zsdo+snT9sdM3PoyiMoHRibR6fAQjGnuj4VdJX14eYTL7sdJNE7aQI9masOLGmj8rVUvg7WKTxCExqIHFj7WorAQIbKiqOFuA1lcZS0L1LaRxaaLxZ07I7mfnEu+Y3d+HcPkLyC8s/lNVPQRlMLEQIdGwpKVQgLOrGOAsV3TV+UwEjj6ylcLZmD9mgBERw1kQVlFYqE3+ZuCKKTuCpFhsAYBwN/kYzM6UtpuHuxyugWTv/1PtJXxIrzZR3hYlMaT53O15RUdRWUtTbQqgrPxCWuPBn27varL62/+uv1tY+61z7iNoQyr1WDuOXXcCsHcWsA11bP4mVrKp9dz/jzae3OxG6KVJfQXFnUDSRKjWFlrb5VzTFN5hSx8igtf+uhkD2nSQ0qyy076ipjc9j41CTEZOhFU2OjLruuI3hcxwWA/p8o54JA7XRs+87xBIwTzok4QLNuCoO48/qms5sD0y5k18bX9OLp3RQerH0NniEnoFHZJVhPQvtY9CS+AeVfPLhFBwSGsTThbANF1IfnGo+kSJefT3lrL+Hj49FrA3LAbhBdGURXEPmG6Np+sBvGVl0qao1gqSKYSrilcKAlwVigA8d4huKHHEeVyZLZ2hRBXzLfSuMN+BUqVoVW/morfg2NfaCoK0xoBMfxdFk8Q5ZX0pyZX2cqaOlOFXf45zH3kfkfHy/4w9a6pe41j6zuR0cIrRzCfXkDt3oIh6bh1D7krnt4Df15b8bz3mkvbc1/bV/Ozuh2ooBZrqos7iGzeqJ4KlqdjiRRHabkvrv51KmAZMN1VILec4bDSXDrsEOxBGvYGSz/fY4hHXA4AJQXzCPFDggj9rm525MzkB5AQTU8iRVIu7edD/9k26kryeUpLTehRIbaCVItisAIgzFk15B5QYIdwVZBXI0SGqLQOA01horEVhIhI+Pp8WBdaA7j6E9m1a8JyHlrH/F3WwPdfLPO5LaGc01hHFMIU08W9Sc2jxK5WgJHg2ep8Gw1kaOFpkPhGyBIuLZ0PgCePqiim8o1JteNXM5tX3E6+YOj0RvwZb48nb/AECTSh4gNZGgTHFUsXY42m5R1pbPVlSxNYbmsgsyMOZGQ9pcz5Nd3ZS11K3xmXfPTPu3Pb2t/YkP9Ive6R9e0PeXdtGR599Nrm572Fjy8suApn8Z3LjQeLTAGiwVpzT1MS3y6YNPXvuv3XqRm0LsN6BAM6LjQfe+Nj0GWBfcnbbapWRvcccVnl91vj+xBG7sWNPyY5cc7nnc4sQPzTlxHAYLg+7Y5lPo7z7WqbNEdjbj66fYzW4il53MbY2r6ATxLTRYYIsXm4AoZ9DkSBG22Cnq5SzDkZTS+Nqp2IJyr8y2X+VX0hHF0INu/UnEuv3Ujoezj4zG/3Rzw9j7S5oiqy6U9YWxTMEOX1DScUD8YLbWiyM9WAySeDnK676v9FmhnULJH8s0nksRfnkz4+ABtG41FEFhDpFbkWKgLrzZT+NpwRk9MVU+awBBb2pFQISssk5XSFS35HdK0+q5zeYKvoxrfOcV8aQcft4qL+6ruYbemRzwaliI6n3BrWrxc+uia+mVeRc9szn9yY9yH5+mbYqpiJPEXckDw7sP4Am7bTQfquCAZdELfnbHPQidGa/PbH/+djl3xGbmGd4Wo4gIpnpucRFctHbej2RSgBlDfmDlHTHj/EHUjodSvvCecow+s6KGKLXE1ff4l7bESM4zWREY3mSWnsuUkhozM6KKxewLo3USBPrKmlywxB7PUAVVy6M1UaT+eZwGjxzKaVl7O+f3W8N9tCfvqQvbeuOrzBU3+FTI8DMMCPYGrhQAO3ZoEDQgVJ2gD03dQnFyQGr+pMe/LrH7/bOxHRyj7Ytkktjoa4goHIoESAjsZ8nOGJqJcHlumSmGZInnXqOyhUKYhhK6D5hgnNRewejJKWziRrISTcSl/PkL6/daiF3xKXtzCfXoTe9kG1bOrGh/6cwvuM/XStZond3Uu2lS57GvucwcyvwgIfmWX/45gvcAyNYPdG0fThsMwh9knnOkUOipj2oHOPnPVSK4MayE+u+yiWvlfybp+fD924nQMdToam9Ebz9smJsAsmuMeejPcQ5d+tKMODYY+PhHz7v6IU1kNUAKFMlUElipKYokEJUw5oaoLCsRYoRbGqkiOPAqyZaE+jKMOZinxPC1V2kut7oPc279SGSHoJfAseK41jGO5UqreEyv5y+n0324O+49dQSu+ST6YxA+olIFjAk8bAXZ/2PHFatMX5KJXdgW9dybmRLoURpAo6PQQ56HBcdV4tiqMIafS1bFcQyrbnMwwhFdYaNwRmniIwLGEV8kgvQDB6SXNDem1DRl1A6GslkPJ0rdO5D6znv6Yl+TnO5oXfdT52OeqR917Fq1sx23oWryJ+cyeqid3El87hP/DgdhzSdbqgXtjaG89CL4+NY8c28Yd9hkYcCFGT9vnJueR5n+n4x+73LRhrdrxM/jcDz2O+1xIiKnqTpBYI+iKMJYystpKrbUEcxT+rA68SBVRrQoVyGIquuPpigSWOoGliWFpY1iaSI4himsksPRENtRaVgLPGsLrDWSZLtMNlyq0m6nMT8+mvLo9FHj3ePyasLLDOe1Bgn4/Xn+weCS05law9IavYOQb7uBl3vAVwbU/HI567WjMakLJOYYSX2f25SqusNsINRq8pDtcJMPzu8J4HXhuF4HXTeIryAJUX4Wxzf50fQDDEMKz4kUDJGdri2HqYpjanLLurBJZUaokMiTvwhbfzZ/srHjucPFTe/mLt4kf26XE+fTgvPU4NxNurevoIvoLni1vHzSHlWAtoyhN7ft2Rz/ERteAPL/Qi+Ax6DBTzgPdXUxi8xPO6yf+E1xR1tUyXM+C5X/c8agDnVtnHceuMnvWnYr6YNPFHfjCjKaRYIYcSt5groJSa45utpJr9cG8Tj9mS2xlDxBV0RMJmVGlnFalpLJ0oDmCYyRxTQR+LxDK7wvmWv3ZZl+mCS/s9WfqThd07IwXfuWf//qByF9tDf2FT9AHZ6+up/L2ZLYfK1aH1IySWyZ9EhuXrQ/64EL6xjjhmSq5n8AYXmOitgySGvT+vM4wISTVXXgBAgQTeDICpxugiociBP1hXGsoAG/Ns0LcDqrSRtE1yXxLMVOTU97DLmoTlMn46dL8iFLuS6fLnz0oWLJdvHSnCrdZgdtkxXkNLfJRLPIAx+U/W1P1nEfchzv5O8PNZS1Y//zM/UmkBXrw2NT0JIx6SPDd+2M26M1z81Nzc8Ckc1MEdG7ge1K/x7/HMYrbs3N3IC7ZMVan6VJ0lvuJ8E93XQotbUUTXwiMJI42sLTLr7iDwjVmtN6miS0UoenbmkoHQD1NgNRMoIVUiMJXkxEqMtoVAQWSgizujxD2hnKMAVWaK+XK80Vdh9LqtkVyPzuX9tquiFe2hLy+n/busfg3DkS9eTD6w9MpexK6g1mj0fW2MN5oEGMgQnSLwBu8WKgMZ1sJnD4yb5AqGI4UXKfxr1G51ymckZBKdRhdE8aGbN8SJhwIFw6ECgZC+P2+xSo8y5rM7Y+uNEYk1J/yK965i+bhFbD3030H/nLQ/8/7fD/YE/+yd9SLHmWPr6x80k3yyOq6J9a2vrC57YXNlY+vLVmyqvbN47e2J823WxytZsx82zn1Nui1zY7PgCgHOHN2aNS3UaheEOhyufALFy6xLv7+cRc/gWPIHm/ZHDedF5G7jmH6cSy73rAzOPnDPUHefqmn0yQEhjKueiChdojI0l7KbXZuo0Y7LWCkhPSYKjRCHoRnKSkCHTgm81QkhBI0UwVqqlAdSNfgeeYIUR9J1E+rGYluuEkQ9n9TpghgGr4pV+2IFb13LO6XGwN/uTHg5xv8lq0++86hnD8fK1h+sdwrVLCVKtkb33Q2tzuIbg6o0AVVGsLoZgKrl8QeJHOGKOwRIEo8EI3OBRkAx74M/bkSxal82fHczhNpzWt9Cz/ZRvxgU+iKDcGrN4Xt2Rt98VJ++C78tve2X3l/t+RK3ngoq35dCPs5L/azXh0v+IBjNm45C/dXxpNeol9spf9qe8lzG4neh2RpVZjpFjY44Ri+i405zxl2YNO2WdC8oMl1mBY8bls4FvNvCoHvBAN//7iLn8DxDDY6i66sNTWNTd6as0O+PYphsuF7UaV1646Fvr/hwsHQ/JgKbUylNqbCmFtz24+vh1LVj6vx52mD+ZoQgQ7PV4dDx4Whka+gcLvInE4auz2S2xHD64yDuCroo1VfI4uHguh633JVCNOAUjOOOUo6dChR8t5+8m83+bl9c/Wbwo5wpvZSftsOsnTlheKPD6d+cjT93b0xL68L+rWn35+2ET86HP/hofgPDyZ8eDD+o4NJHx9O+fRI+mfHMj7cR/pwP+nd/eS3dhN/t5Pwm+1hv96Of2k7/vl1AZ9dyNlG4u+giM4ltYYUaA6Fc99ZF/rSSi98GXtkErttx6bNd2509/UlMcv2+Ec9+3naK2skL22WvLyl5Wmfhic2tC7Z2LLYW/CMp+AZr1b3b7C4GkxzFzNOOG5PwFq7Z58dn0dRGvIxDJ1t6uwuMCZ/G5a/Y8Hl35t2jfEufgLHU9itMfu1cXRB0ylXTYVSjRnMMoMp72CQXn3+ddBrq8/u9MuPKFBQi9URjcPEhiFCbV+I2BTE1wTx1OCYKNKC4AienMLpIrM7qex2Gqcj2qmZKOgPYZn8KzRBDD1FMhRTd4PIt14u6Vl+NuXtPRGfHIs5nChBO7I4xpAqiK5QOt8hsq8FV1r9S02+xdqLeYqT6a2HE+s34xmbwqo2BFV4+Zd6+JYBnr4VXn6V6/1zvAPzNoaXbiMzvo4X70+rP5TTcTRfRq4bPVmgOJvdHVRpORJZ/cF26vLdseei69vvzTTfnjDemLgGQ+g9+LbzmG4M045hZcqhk4nVr2wtfnS5ALda9LBbI25dx1If3lNreU+uTf356qI/+vDOUWe53TPX702N3HHl1TCgQp6FTTqviPr/rWNnvx2dx+47sHtT85Ojk7fvzkK9hUL3tQlscBzTDttTihvX7Qn4YsO53WdiTuWIL5c1hXPlJBGUvBCHlUQIzgIoW7Uk5zZREkeDNk1zNBSOFgjkDASw+0MFw6Sa2+H8oUPpLV9cyPrdNvzvt4buoHIJHHME3xpG15K4ZgrfElql9q+EF5cRhfJwnowoUkTW6Sk1mlBuF0mqiZCoCWJVuFAZylcG8+RBXEUQV45n6uHpIQxNOEuP9qDwTaHwpgxVCEMBpdrRONabW6+8vu7M8cgKZvfd7tvYbRs6acVlCNa/DdYyNO+7U1gf9NEbWLVhKIVV5xOU9NrGtF96Fr22vWWpV+vj6+p/7lPznHf6018Vv7xBeSEJq+nH5CNoNi9oKFMYuu68fR4SLkizF469/QeVrkceYP0ncDyNrkdya3zm2oQNsi74yjZwDKUh9GnXLVTSN+2Y8RaWRe/ZeTrq5U1nPj1N2R1X6Vvegucq8FwlgaMkcFVoMIacC51goaWgfYgIMB3IGcSLb4QLrx3J7PzkzNWXN4e9dzjOh8Qm8HoheocyYFzvIyO7GjxTByMrSQRpmpIsUZHESoKwB0yHC7pBdghXFsrvDhMqoIoLF6nDhepQgSqYryTzLBEcE55tIKL9Y5ZwNJ+C/HxR21/PxP7W55v3dgZeyq6tH0KTIbpmeIS2e38edTlwjGTAunYluBC778xhxilMfhtruIVVagYPp+T8ZlP7E+ubl3ryHnfnPuaW+/M1hb/yinl7Y8L7W7oSSsdFPWhLGPTdWbRFETmG8ur/Q8fOkycXgFEF4dw+N4u2hS58faj6789it6Yc18dt/O4+v7j8TzYeect956ZzlJBMHqWiE1/UHFIsi+aaaPyhkAp9CL0/uvpeZM14MGPIjzO4Lb7h3RPpr+ygvHs8xSdSdKlcR5RcD+X2AmEcCxDOMeO5ZgLXTOSag9jtIdzOcEEPQaQgitUEMCpUhcFgX2MMgwyOKw/iKcIlWkK1IUysCeTJqUIrlOaus/H88qq3BKV9uuvc6+v2HwymZQqaDLfGb0CAsjulzmN3oPiBlgs4Cx2XD+es4fOT8/aJudn5mVkMuGvHrk9ghlt25VBfIrP468vUl1YRf/5FxfMelS94ip/0rHvWm/+rTa1vHeoPzsMar2F37BD0Ru1o4g+oqOam7GjdOU3POObG7XZ4fWhSE87pyWF9QuE06XDY5uadiv+tjqF1uhzDJ5uYR2vq7ixmGsMG7ZhqFMvkdWw+T3vH6/CH265sOB9/Ml4UWNARKRhOrB0l8W+cz1Nto9a4+9Gf8gh4aTv5o/M5W2JrzpfpQgTDYYKhIE4fQThIFA1BLgZQoPsK+yBoE3lmcrWaJFURUSdeOCobHANX6B0QmcNEmlCh2p/T48fuDhGqImqNoXT16av13kHZb+8MesX94Id7/INzuNW9E7Lrk4PQNJ1j7j3n5LOu7/JDjtH+I9ACKwDSZfgDeM7QNNZ7H00H2jKA5bf3Xcxoeedw0ZOr2EtW1Dyznv6cJ/OFdckfbGOsO1+dVY4Nj8Fb9N8ddUzOzk3b52AtOrAZ+9zUrB3eCt7X2csXhnBwPD0/D/p/Isdof4UrdCCcX3rhfHY09x+MXIADswGzaBJA8I7O+xiDEDWD3ZnBFKbRpOLaY/4J73meft/rzGe7I7zOpq46lfHe15Q3tpE/OpBwMFlyJrclmKGhiHsjpf1kkRXP1Ycy1cF0BdpuytZEQCXG1RLY6nCGIrSqB0/XE+gGAt1EZJgjGL0RzF4Ssx+IE92M4l+L4g9FC0bILOv5jJZ1vrnv7Yp4c+Ppt3zOrDtDoJTVdg6O3XSmjaNotisEGots9x1Tt+Zto5jt9tzUDZddV5x0nvs9P7YAGphcv1yohcDGtMN2ewytA3jRG9NY98jtiqbaAwTCH9dEvrSa9utVcb9ZG/2yG+U3biyPs9MpIqzzDnZ9CnVrV0uamgNmbfbpKTRt8bRzawm8PnphBArvsPz7HKM1MDMHH2x+CoqD7xxPTWHT09i0HU0xBQ0TuAMV9hxKTultN33TGzZdynxjM/7nX5552SPwo/0JXsEF22nMk5n1fuXyMLaOwDNE8I1kIURmV5FtoIpMkWIzTQSgajtaNBQjHo4VX4sWDlM5A+GVpoBCzeUcxQ48Z2soc82F3Hd2kF9yv/hH78A1FzOPxUsK2gbFfXajHY21UA7o7s3DwIo66pxj3DZtm4FuDOsTFI1j9jug+Ycc38PmgEnnbmHnsPntQAprArg26TBdh1fHhhxY9z2Mr5+N5Ag9LqS+tiH33e2Jb2zE/+rL2Lc3MTZc0PEax+RWdGQ90mzHxmdnZ+x2G7rC4tTc3JjDPjGPNmq7TP9Ejl1fwXUOlnN32bd7q5yfYX7ONueYts3NwggDf4Z6hrM12GfmJ8emx8ZnwbfrFdBhEs6TrO/OY8ZRTCzrTS6vDk0q8Tge8OW+8x/4HHrdY+frnrs/3HJ0xcHLnqdD9hNS9uGT94Ql7Q5N3BWauDssaU94yl586qazUd6naeuOkd0OhH/5ddAnm775wOPsO+4nvQ4QNx2lHvFPo2VXCzqH9LfRfLUw1kI0hmJvFFbmd9/FYZtE00CjY57mZsedQyF8FwBJm3EyjUHtgCZK+g74a9v8nMPhsNvtzq/r3JQF3/TeFHqqc4H/J6Ev2u0T0NrH7beMA9cZzdXE9LzlB/Gvrk779Zq8P2z0f9ez8mDwcEkNprqF2j70ABjnYO04WwysXcfsHLyDa9M3yr/+3Y5tMCIjx45Z0IyEY/Pjd8ZRF0Z/jD4idHsoDidn0beAvAYVnPaFY04GZzDVdbse6uwxrO2aTWy4VdxqiGHUX04pO0JK97lM8b4IgR3vfiJ41bGgVccCVx8PdjsRsicg9UDI1ZOkIv8kbkxJZ2FNv0g+2WTGOvvRrMNIJ2TINqx/AgmGd4Ef4UEoh0C2a2hxQC4BccgBUXJyDrqNY9I+OzEzM2abnYSv80OOnXuO4BvNz8EyizSjnBtMOLvyzPSsw4Gyk3GHfWxmBjTPj05i95yTrw/b0cFyBS0Dh+PL3/4aHF/8j1WXP96Qe8C/J587rxxEZSmEO6djtN7m0GmoMN6hYAGv/xM4nsFmgVkUim2u0Rc1fIQdIrZLuutkWIjXELvhQ9pm58bGJiYnoBp0tkOoD9GpPqhNOBzjU1OjNhu0XjAO0WrcNTDddsyNTE0PTdmuz87dcob3G8556wdn0TGjlql58+S8eQoDbmJT1x3jw9P3ByfvDk+M3ZiZvGufHXNe+Xsamxu33Z20j0G/cIaM0Wn7yLczi6J3R4HWAeEWjXSz0xPw+Z0heWFMgSdAO5jEbIBrXuGFffuuBg7ZlrNvQbOdnYPOBtEVWsr8Ncf0LXR6sFPT7NzEOIxVzjeEnjHpmLl5f+7u1NzE7Pzk7P3b96wGC5bfKj8WHfW+T9BvV5JW7OSeo5iqajHtdVvvTezWtOtjojWNOpbT+r/TMfqOgLPdOVcC9F4ANcCFp8J9CDt258ER8HnRnhjnqoDYODG/kMeMQ8+GKOoy7VrLaJuLUzPguuN6BLojAI5HsRl4MjzLueEIvRy8qHPshLdBLc3leB6V7rdQojA3MzsL496461pYqFuiKwrDp0Lz1Y1NzdyeRq8G7w78oGNIK0HzPziGD+xsGejzLyzwOSBw3behr+sMg/MTrgnl4W1nsaYbWPMtrGl4NruucJ//uTdWnfjr+oTDV3qb5ROGIdT1IRFzbft0NcCfwPH/Lf+9C8S22dnZ6fvjY6N3xoduWHrUwtzyOH/C9r+siTwbqBe3ofz8jgNlENB2IHmx/5/j/6ULinuuk6Lm50fu3db02szXWUl5YQfPJ3xD6GLUYCNoAxl2F4qr+f9z/L9ssdmhHrbPTs9MT0xiEzAMOkcwYOQ+dm0Muzl9S27hppcUUFNV0KfRMICuJ/F/y/+mBQZ0lK/AP0jLp+3Y9Cw6VxhAWd8cCtGQFNyyTVtuDnbounkN6lb5/wOBitg9b7tIggAAAABJRU5ErkJggg==</xsl:text>
|
1830
|
+
</xsl:variable>
|
1831
|
+
|
1556
1832
|
<!-- convert YYYY-MM-DD to (MM/YYYY) -->
|
1557
1833
|
<xsl:template name="formatDate">
|
1558
1834
|
<xsl:param name="date"/>
|
@@ -1970,12 +2246,14 @@
|
|
1970
2246
|
|
1971
2247
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1972
2248
|
|
2249
|
+
|
1973
2250
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1974
2251
|
|
1975
2252
|
|
1976
2253
|
|
1977
2254
|
|
1978
2255
|
|
2256
|
+
|
1979
2257
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
1980
2258
|
<xsl:attribute name="margin-left">12mm</xsl:attribute>
|
1981
2259
|
<xsl:attribute name="margin-right">12mm</xsl:attribute>
|
@@ -2117,203 +2395,242 @@
|
|
2117
2395
|
</xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
|
2118
2396
|
<!-- <xsl:call-template name="add-zero-spaces"/> -->
|
2119
2397
|
<xsl:call-template name="add-zero-spaces-java"/>
|
2120
|
-
</xsl:template><xsl:template match="*[local-name()='table']">
|
2398
|
+
</xsl:template><xsl:template match="*[local-name()='table']" name="table">
|
2121
2399
|
|
2122
|
-
<xsl:variable name="
|
2123
|
-
<xsl:call-template name="getSimpleTable"/>
|
2124
|
-
</xsl:variable>
|
2400
|
+
<xsl:variable name="table">
|
2125
2401
|
|
2126
|
-
|
2127
|
-
|
2128
|
-
|
2129
|
-
|
2130
|
-
|
2131
|
-
|
2132
|
-
<!-- <xsl:if test="$namespace = 'bipm'">
|
2133
|
-
<fo:block> </fo:block>
|
2134
|
-
</xsl:if> -->
|
2135
|
-
|
2136
|
-
<!-- $namespace = 'iso' or -->
|
2137
|
-
|
2138
|
-
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2139
|
-
|
2140
|
-
|
2141
|
-
|
2142
|
-
<xsl:call-template name="fn_name_display"/>
|
2402
|
+
<xsl:variable name="simple-table">
|
2403
|
+
<xsl:call-template name="getSimpleTable"/>
|
2404
|
+
</xsl:variable>
|
2143
2405
|
|
2144
2406
|
|
2145
|
-
|
2146
|
-
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
2147
|
-
|
2148
|
-
<!-- <xsl:variable name="cols-count">
|
2149
|
-
<xsl:choose>
|
2150
|
-
<xsl:when test="*[local-name()='thead']">
|
2151
|
-
<xsl:call-template name="calculate-columns-numbers">
|
2152
|
-
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
2153
|
-
</xsl:call-template>
|
2154
|
-
</xsl:when>
|
2155
|
-
<xsl:otherwise>
|
2156
|
-
<xsl:call-template name="calculate-columns-numbers">
|
2157
|
-
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
2158
|
-
</xsl:call-template>
|
2159
|
-
</xsl:otherwise>
|
2160
|
-
</xsl:choose>
|
2161
|
-
</xsl:variable> -->
|
2162
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
2163
|
-
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
2164
|
-
|
2165
|
-
|
2166
|
-
|
2167
|
-
<xsl:variable name="colwidths">
|
2168
|
-
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
2169
|
-
<xsl:call-template name="calculate-column-widths">
|
2170
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2171
|
-
<xsl:with-param name="table" select="$simple-table"/>
|
2172
|
-
</xsl:call-template>
|
2173
|
-
</xsl:if>
|
2174
|
-
</xsl:variable>
|
2175
|
-
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2176
|
-
|
2177
|
-
<!-- <xsl:variable name="colwidths2">
|
2178
|
-
<xsl:call-template name="calculate-column-widths">
|
2179
|
-
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2180
|
-
</xsl:call-template>
|
2181
|
-
</xsl:variable> -->
|
2182
|
-
|
2183
|
-
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
2184
|
-
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
2185
|
-
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
2186
|
-
|
2187
|
-
<xsl:variable name="margin-left">
|
2188
|
-
<xsl:choose>
|
2189
|
-
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
2190
|
-
<xsl:otherwise>0</xsl:otherwise>
|
2191
|
-
</xsl:choose>
|
2192
|
-
</xsl:variable>
|
2193
|
-
|
2194
|
-
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
2407
|
+
<fo:block space-before="18pt"> </fo:block>
|
2195
2408
|
|
2196
|
-
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2197
2409
|
|
2198
2410
|
|
2199
|
-
<xsl:attribute name="space-after">6pt</xsl:attribute>
|
2200
2411
|
|
2201
|
-
|
2202
|
-
|
2203
|
-
|
2412
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
2413
|
+
<fo:block> </fo:block>
|
2414
|
+
</xsl:if> -->
|
2204
2415
|
|
2205
|
-
|
2206
|
-
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2207
|
-
<xsl:attribute name="space-after">18pt</xsl:attribute>
|
2416
|
+
<!-- $namespace = 'iso' or -->
|
2208
2417
|
|
2418
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2209
2419
|
|
2210
|
-
|
2420
|
+
|
2421
|
+
|
2422
|
+
<xsl:call-template name="fn_name_display"/>
|
2211
2423
|
|
2424
|
+
|
2212
2425
|
|
2426
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
2213
2427
|
|
2428
|
+
<!-- <xsl:variable name="cols-count">
|
2429
|
+
<xsl:choose>
|
2430
|
+
<xsl:when test="*[local-name()='thead']">
|
2431
|
+
<xsl:call-template name="calculate-columns-numbers">
|
2432
|
+
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
2433
|
+
</xsl:call-template>
|
2434
|
+
</xsl:when>
|
2435
|
+
<xsl:otherwise>
|
2436
|
+
<xsl:call-template name="calculate-columns-numbers">
|
2437
|
+
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
2438
|
+
</xsl:call-template>
|
2439
|
+
</xsl:otherwise>
|
2440
|
+
</xsl:choose>
|
2441
|
+
</xsl:variable> -->
|
2442
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
2443
|
+
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
2444
|
+
|
2445
|
+
|
2446
|
+
|
2447
|
+
<xsl:variable name="colwidths">
|
2448
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
2449
|
+
<xsl:call-template name="calculate-column-widths">
|
2450
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2451
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
2452
|
+
</xsl:call-template>
|
2453
|
+
</xsl:if>
|
2454
|
+
</xsl:variable>
|
2455
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2214
2456
|
|
2457
|
+
<!-- <xsl:variable name="colwidths2">
|
2458
|
+
<xsl:call-template name="calculate-column-widths">
|
2459
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2460
|
+
</xsl:call-template>
|
2461
|
+
</xsl:variable> -->
|
2215
2462
|
|
2463
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
2464
|
+
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
2465
|
+
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
2216
2466
|
|
2467
|
+
<xsl:variable name="margin-left">
|
2468
|
+
<xsl:choose>
|
2469
|
+
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
2470
|
+
<xsl:otherwise>0</xsl:otherwise>
|
2471
|
+
</xsl:choose>
|
2472
|
+
</xsl:variable>
|
2217
2473
|
|
2218
|
-
<
|
2219
|
-
<attribute name="table-layout">fixed</attribute>
|
2220
|
-
<attribute name="width">100%</attribute>
|
2221
|
-
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2222
|
-
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2474
|
+
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
2223
2475
|
|
2476
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2224
2477
|
|
2225
2478
|
|
2226
|
-
<attribute name="
|
2227
|
-
<attribute name="margin-right">0mm</attribute>
|
2479
|
+
<xsl:attribute name="space-after">6pt</xsl:attribute>
|
2228
2480
|
|
2481
|
+
|
2482
|
+
|
2483
|
+
|
2229
2484
|
|
2230
|
-
|
2231
|
-
|
2232
|
-
|
2485
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2486
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2487
|
+
<xsl:attribute name="space-after">18pt</xsl:attribute>
|
2233
2488
|
|
2234
|
-
|
2235
2489
|
|
2236
|
-
|
2237
|
-
|
2238
|
-
|
2239
|
-
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
2490
|
+
|
2240
2491
|
|
2241
|
-
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
2242
|
-
<xsl:attribute name="{@name}">
|
2243
|
-
<xsl:value-of select="."/>
|
2244
|
-
</xsl:attribute>
|
2245
|
-
</xsl:for-each>
|
2246
2492
|
|
2247
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2248
|
-
<xsl:if test="$isNoteOrFnExist = 'true'">
|
2249
|
-
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
2250
|
-
</xsl:if>
|
2251
2493
|
|
2252
|
-
<xsl:choose>
|
2253
|
-
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
2254
|
-
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
2255
|
-
<fo:table-column column-width="{@width}"/>
|
2256
|
-
</xsl:for-each>
|
2257
|
-
</xsl:when>
|
2258
|
-
<xsl:otherwise>
|
2259
|
-
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2260
|
-
<xsl:choose>
|
2261
|
-
<xsl:when test=". = 1 or . = 0">
|
2262
|
-
<fo:table-column column-width="proportional-column-width(2)"/>
|
2263
|
-
</xsl:when>
|
2264
|
-
<xsl:otherwise>
|
2265
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
2266
|
-
</xsl:otherwise>
|
2267
|
-
</xsl:choose>
|
2268
|
-
</xsl:for-each>
|
2269
|
-
</xsl:otherwise>
|
2270
|
-
</xsl:choose>
|
2271
2494
|
|
2272
|
-
<xsl:choose>
|
2273
|
-
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
2274
|
-
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
2275
|
-
</xsl:when>
|
2276
|
-
<xsl:otherwise>
|
2277
|
-
<xsl:apply-templates/>
|
2278
|
-
</xsl:otherwise>
|
2279
|
-
</xsl:choose>
|
2280
2495
|
|
2281
|
-
</fo:table>
|
2282
|
-
|
2283
|
-
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
2284
|
-
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
2285
|
-
<xsl:call-template name="insertTableFooterInSeparateTable">
|
2286
|
-
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
2287
|
-
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2288
|
-
<xsl:with-param name="colgroup" select="$colgroup"/>
|
2289
|
-
</xsl:call-template>
|
2290
|
-
</xsl:for-each>
|
2291
|
-
|
2292
|
-
<!-- insert footer as table -->
|
2293
|
-
<!-- <fo:table>
|
2294
|
-
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
2295
|
-
<xsl:attribute name="{@name}">
|
2296
|
-
<xsl:value-of select="."/>
|
2297
|
-
</xsl:attribute>
|
2298
|
-
</xsl:for-each>
|
2299
2496
|
|
2300
|
-
<xsl:
|
2497
|
+
<xsl:variable name="table_width">
|
2498
|
+
<!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
|
2499
|
+
100%
|
2500
|
+
|
2501
|
+
|
2502
|
+
</xsl:variable>
|
2503
|
+
|
2504
|
+
<xsl:variable name="table_attributes">
|
2505
|
+
<attribute name="table-layout">fixed</attribute>
|
2506
|
+
<attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
|
2507
|
+
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2508
|
+
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2509
|
+
|
2510
|
+
|
2511
|
+
|
2512
|
+
<attribute name="margin-left">0mm</attribute>
|
2513
|
+
<attribute name="margin-right">0mm</attribute>
|
2514
|
+
|
2515
|
+
|
2516
|
+
|
2517
|
+
|
2518
|
+
|
2519
|
+
|
2520
|
+
|
2521
|
+
|
2522
|
+
</xsl:variable>
|
2523
|
+
|
2524
|
+
|
2525
|
+
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
2526
|
+
|
2527
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
2528
|
+
<xsl:attribute name="{@name}">
|
2529
|
+
<xsl:value-of select="."/>
|
2530
|
+
</xsl:attribute>
|
2531
|
+
</xsl:for-each>
|
2532
|
+
|
2533
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2534
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
2535
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
2536
|
+
</xsl:if>
|
2537
|
+
|
2538
|
+
<xsl:choose>
|
2539
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
2540
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
2541
|
+
<fo:table-column column-width="{@width}"/>
|
2542
|
+
</xsl:for-each>
|
2543
|
+
</xsl:when>
|
2544
|
+
<xsl:otherwise>
|
2545
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2546
|
+
<xsl:choose>
|
2547
|
+
<xsl:when test=". = 1 or . = 0">
|
2548
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
2549
|
+
</xsl:when>
|
2550
|
+
<xsl:otherwise>
|
2551
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
2552
|
+
</xsl:otherwise>
|
2553
|
+
</xsl:choose>
|
2554
|
+
</xsl:for-each>
|
2555
|
+
</xsl:otherwise>
|
2556
|
+
</xsl:choose>
|
2557
|
+
|
2301
2558
|
<xsl:choose>
|
2302
|
-
<xsl:when test="
|
2303
|
-
<
|
2559
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
2560
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
2304
2561
|
</xsl:when>
|
2305
2562
|
<xsl:otherwise>
|
2306
|
-
<
|
2563
|
+
<xsl:apply-templates/>
|
2307
2564
|
</xsl:otherwise>
|
2308
2565
|
</xsl:choose>
|
2566
|
+
|
2567
|
+
</fo:table>
|
2568
|
+
|
2569
|
+
<xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
|
2570
|
+
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
2571
|
+
<xsl:call-template name="insertTableFooterInSeparateTable">
|
2572
|
+
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
2573
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2574
|
+
<xsl:with-param name="colgroup" select="$colgroup"/>
|
2575
|
+
</xsl:call-template>
|
2309
2576
|
</xsl:for-each>
|
2310
|
-
|
2311
|
-
|
2312
|
-
|
2313
|
-
|
2314
|
-
|
2315
|
-
|
2316
|
-
|
2577
|
+
|
2578
|
+
<!-- insert footer as table -->
|
2579
|
+
<!-- <fo:table>
|
2580
|
+
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
2581
|
+
<xsl:attribute name="{@name}">
|
2582
|
+
<xsl:value-of select="."/>
|
2583
|
+
</xsl:attribute>
|
2584
|
+
</xsl:for-each>
|
2585
|
+
|
2586
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2587
|
+
<xsl:choose>
|
2588
|
+
<xsl:when test=". = 1 or . = 0">
|
2589
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
2590
|
+
</xsl:when>
|
2591
|
+
<xsl:otherwise>
|
2592
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
2593
|
+
</xsl:otherwise>
|
2594
|
+
</xsl:choose>
|
2595
|
+
</xsl:for-each>
|
2596
|
+
</fo:table>-->
|
2597
|
+
|
2598
|
+
|
2599
|
+
|
2600
|
+
|
2601
|
+
|
2602
|
+
</fo:block-container>
|
2603
|
+
</xsl:variable>
|
2604
|
+
|
2605
|
+
|
2606
|
+
|
2607
|
+
<xsl:choose>
|
2608
|
+
<xsl:when test="@width">
|
2609
|
+
|
2610
|
+
<!-- centered table when table name is centered (see table-name-style) -->
|
2611
|
+
|
2612
|
+
<fo:table table-layout="fixed" width="100%">
|
2613
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
2614
|
+
<fo:table-column column-width="{@width}"/>
|
2615
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
2616
|
+
<fo:table-body>
|
2617
|
+
<fo:table-row>
|
2618
|
+
<fo:table-cell column-number="2">
|
2619
|
+
<fo:block><xsl:copy-of select="$table"/></fo:block>
|
2620
|
+
</fo:table-cell>
|
2621
|
+
</fo:table-row>
|
2622
|
+
</fo:table-body>
|
2623
|
+
</fo:table>
|
2624
|
+
|
2625
|
+
|
2626
|
+
|
2627
|
+
|
2628
|
+
</xsl:when>
|
2629
|
+
<xsl:otherwise>
|
2630
|
+
<xsl:copy-of select="$table"/>
|
2631
|
+
</xsl:otherwise>
|
2632
|
+
</xsl:choose>
|
2633
|
+
|
2317
2634
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
2318
2635
|
<xsl:if test="normalize-space() != ''">
|
2319
2636
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
@@ -3028,7 +3345,9 @@
|
|
3028
3345
|
</xsl:template><xsl:template match="*[local-name()='dl']">
|
3029
3346
|
<fo:block-container>
|
3030
3347
|
|
3031
|
-
<xsl:
|
3348
|
+
<xsl:if test="not(ancestor::*[local-name() = 'quote'])">
|
3349
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
3350
|
+
</xsl:if>
|
3032
3351
|
|
3033
3352
|
|
3034
3353
|
<xsl:if test="parent::*[local-name() = 'note']">
|
@@ -3043,6 +3362,7 @@
|
|
3043
3362
|
<fo:block-container>
|
3044
3363
|
|
3045
3364
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
3365
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
3046
3366
|
|
3047
3367
|
|
3048
3368
|
<xsl:variable name="parent" select="local-name(..)"/>
|
@@ -3168,7 +3488,7 @@
|
|
3168
3488
|
<xsl:with-param name="table" select="$html-table"/>
|
3169
3489
|
</xsl:call-template>
|
3170
3490
|
</xsl:variable>
|
3171
|
-
<!-- colwidths=<xsl:
|
3491
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
3172
3492
|
<xsl:variable name="maxlength_dt">
|
3173
3493
|
<xsl:call-template name="getMaxLength_dt"/>
|
3174
3494
|
</xsl:variable>
|
@@ -3197,13 +3517,22 @@
|
|
3197
3517
|
</xsl:when>
|
3198
3518
|
<xsl:otherwise>
|
3199
3519
|
<xsl:choose>
|
3520
|
+
<!-- to set width check most wide chars like `W` -->
|
3200
3521
|
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 2"> <!-- if dt contains short text like t90, a, etc -->
|
3201
|
-
<fo:table-column column-width="
|
3202
|
-
<fo:table-column column-width="
|
3522
|
+
<fo:table-column column-width="7%"/>
|
3523
|
+
<fo:table-column column-width="93%"/>
|
3524
|
+
</xsl:when>
|
3525
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 5"> <!-- if dt contains short text like ABC, etc -->
|
3526
|
+
<fo:table-column column-width="15%"/>
|
3527
|
+
<fo:table-column column-width="85%"/>
|
3203
3528
|
</xsl:when>
|
3204
|
-
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <=
|
3205
|
-
<fo:table-column column-width="
|
3206
|
-
<fo:table-column column-width="
|
3529
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 7"> <!-- if dt contains short text like ABCDEF, etc -->
|
3530
|
+
<fo:table-column column-width="20%"/>
|
3531
|
+
<fo:table-column column-width="80%"/>
|
3532
|
+
</xsl:when>
|
3533
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 10"> <!-- if dt contains short text like ABCDEFEF, etc -->
|
3534
|
+
<fo:table-column column-width="25%"/>
|
3535
|
+
<fo:table-column column-width="75%"/>
|
3207
3536
|
</xsl:when>
|
3208
3537
|
<!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 1.7">
|
3209
3538
|
<fo:table-column column-width="60%"/>
|
@@ -3235,12 +3564,32 @@
|
|
3235
3564
|
</xsl:otherwise>
|
3236
3565
|
</xsl:choose>
|
3237
3566
|
</xsl:template><xsl:template name="getMaxLength_dt">
|
3238
|
-
<xsl:
|
3239
|
-
<xsl:
|
3240
|
-
|
3241
|
-
<xsl:
|
3242
|
-
|
3243
|
-
|
3567
|
+
<xsl:variable name="lengths">
|
3568
|
+
<xsl:for-each select="*[local-name()='dt']">
|
3569
|
+
<xsl:variable name="maintext_length" select="string-length(normalize-space(.))"/>
|
3570
|
+
<xsl:variable name="attributes">
|
3571
|
+
<xsl:for-each select=".//@open"><xsl:value-of select="."/></xsl:for-each>
|
3572
|
+
<xsl:for-each select=".//@close"><xsl:value-of select="."/></xsl:for-each>
|
3573
|
+
</xsl:variable>
|
3574
|
+
<length><xsl:value-of select="string-length(normalize-space(.)) + string-length($attributes)"/></length>
|
3575
|
+
</xsl:for-each>
|
3576
|
+
</xsl:variable>
|
3577
|
+
<xsl:variable name="maxLength">
|
3578
|
+
<!-- <xsl:for-each select="*[local-name()='dt']">
|
3579
|
+
<xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
|
3580
|
+
<xsl:if test="position() = 1">
|
3581
|
+
<xsl:value-of select="string-length(normalize-space(.))"/>
|
3582
|
+
</xsl:if>
|
3583
|
+
</xsl:for-each> -->
|
3584
|
+
<xsl:for-each select="xalan:nodeset($lengths)/length">
|
3585
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
3586
|
+
<xsl:if test="position() = 1">
|
3587
|
+
<xsl:value-of select="."/>
|
3588
|
+
</xsl:if>
|
3589
|
+
</xsl:for-each>
|
3590
|
+
</xsl:variable>
|
3591
|
+
<!-- <xsl:message>DEBUG:<xsl:value-of select="$maxLength"/></xsl:message> -->
|
3592
|
+
<xsl:value-of select="$maxLength"/>
|
3244
3593
|
</xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
|
3245
3594
|
<xsl:param name="key_iso"/>
|
3246
3595
|
|
@@ -3389,6 +3738,7 @@
|
|
3389
3738
|
|
3390
3739
|
|
3391
3740
|
|
3741
|
+
|
3392
3742
|
|
3393
3743
|
</xsl:variable>
|
3394
3744
|
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
@@ -3402,6 +3752,10 @@
|
|
3402
3752
|
</xsl:if>
|
3403
3753
|
<xsl:apply-templates/>
|
3404
3754
|
</fo:inline>
|
3755
|
+
</xsl:template><xsl:template match="*[local-name()='underline']">
|
3756
|
+
<fo:inline text-decoration="underline">
|
3757
|
+
<xsl:apply-templates/>
|
3758
|
+
</fo:inline>
|
3405
3759
|
</xsl:template><xsl:template match="*[local-name()='del']">
|
3406
3760
|
<fo:inline font-size="10pt" color="red" text-decoration="line-through">
|
3407
3761
|
<xsl:apply-templates/>
|
@@ -3495,6 +3849,10 @@
|
|
3495
3849
|
<xsl:param name="text" select="."/>
|
3496
3850
|
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
3497
3851
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1')"/>
|
3852
|
+
</xsl:template><xsl:template name="add-zero-spaces-link-java">
|
3853
|
+
<xsl:param name="text" select="."/>
|
3854
|
+
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
3855
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1')"/>
|
3498
3856
|
</xsl:template><xsl:template name="add-zero-spaces">
|
3499
3857
|
<xsl:param name="text" select="."/>
|
3500
3858
|
<xsl:variable name="zero-space-after-chars">-</xsl:variable>
|
@@ -3755,6 +4113,11 @@
|
|
3755
4113
|
<!-- replace start and end spaces to non-break space -->
|
3756
4114
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
|
3757
4115
|
</xsl:copy>
|
4116
|
+
</xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
|
4117
|
+
<xsl:copy>
|
4118
|
+
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
4119
|
+
</xsl:copy>
|
4120
|
+
<mathml:mspace width="0.5ex"/>
|
3758
4121
|
</xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
3759
4122
|
<xsl:variable name="target">
|
3760
4123
|
<xsl:choose>
|
@@ -3776,7 +4139,10 @@
|
|
3776
4139
|
<fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
|
3777
4140
|
<xsl:choose>
|
3778
4141
|
<xsl:when test="normalize-space(.) = ''">
|
3779
|
-
<xsl:value-of select="$target"/>
|
4142
|
+
<!-- <xsl:value-of select="$target"/> -->
|
4143
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
4144
|
+
<xsl:with-param name="text" select="$target"/>
|
4145
|
+
</xsl:call-template>
|
3780
4146
|
</xsl:when>
|
3781
4147
|
<xsl:otherwise>
|
3782
4148
|
<xsl:apply-templates/>
|
@@ -3986,7 +4352,7 @@
|
|
3986
4352
|
</xsl:if> -->
|
3987
4353
|
</fo:inline>
|
3988
4354
|
</xsl:if>
|
3989
|
-
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
4355
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
|
3990
4356
|
<fo:block-container id="{@id}">
|
3991
4357
|
|
3992
4358
|
<fo:block>
|
@@ -4055,6 +4421,8 @@
|
|
4055
4421
|
<xsl:variable name="bookmark-title_">
|
4056
4422
|
<xsl:call-template name="getLangVersion">
|
4057
4423
|
<xsl:with-param name="lang" select="@lang"/>
|
4424
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
4425
|
+
<xsl:with-param name="title" select="@title-part"/>
|
4058
4426
|
</xsl:call-template>
|
4059
4427
|
</xsl:variable>
|
4060
4428
|
<xsl:choose>
|
@@ -4072,13 +4440,34 @@
|
|
4072
4440
|
</xsl:choose>
|
4073
4441
|
</fo:bookmark-title>
|
4074
4442
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
4443
|
+
|
4444
|
+
<xsl:call-template name="insertFigureBookmarks">
|
4445
|
+
<xsl:with-param name="contents" select="contents"/>
|
4446
|
+
</xsl:call-template>
|
4447
|
+
|
4448
|
+
<xsl:call-template name="insertTableBookmarks">
|
4449
|
+
<xsl:with-param name="contents" select="contents"/>
|
4450
|
+
<xsl:with-param name="lang" select="@lang"/>
|
4451
|
+
</xsl:call-template>
|
4452
|
+
|
4075
4453
|
</fo:bookmark>
|
4076
4454
|
|
4077
4455
|
</xsl:for-each>
|
4078
4456
|
</xsl:when>
|
4079
4457
|
<xsl:otherwise>
|
4080
4458
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
4459
|
+
|
4081
4460
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
4461
|
+
|
4462
|
+
<xsl:call-template name="insertFigureBookmarks">
|
4463
|
+
<xsl:with-param name="contents" select="contents"/>
|
4464
|
+
</xsl:call-template>
|
4465
|
+
|
4466
|
+
<xsl:call-template name="insertTableBookmarks">
|
4467
|
+
<xsl:with-param name="contents" select="contents"/>
|
4468
|
+
<xsl:with-param name="lang" select="@lang"/>
|
4469
|
+
</xsl:call-template>
|
4470
|
+
|
4082
4471
|
</xsl:for-each>
|
4083
4472
|
</xsl:otherwise>
|
4084
4473
|
</xsl:choose>
|
@@ -4097,8 +4486,44 @@
|
|
4097
4486
|
|
4098
4487
|
</fo:bookmark-tree>
|
4099
4488
|
</xsl:if>
|
4489
|
+
</xsl:template><xsl:template name="insertFigureBookmarks">
|
4490
|
+
<xsl:param name="contents"/>
|
4491
|
+
<xsl:if test="xalan:nodeset($contents)/figure">
|
4492
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/figure[1]/@id}" starting-state="hide">
|
4493
|
+
<fo:bookmark-title>Figures</fo:bookmark-title>
|
4494
|
+
<xsl:for-each select="xalan:nodeset($contents)/figure">
|
4495
|
+
<fo:bookmark internal-destination="{@id}">
|
4496
|
+
<fo:bookmark-title>
|
4497
|
+
<xsl:value-of select="normalize-space(title)"/>
|
4498
|
+
</fo:bookmark-title>
|
4499
|
+
</fo:bookmark>
|
4500
|
+
</xsl:for-each>
|
4501
|
+
</fo:bookmark>
|
4502
|
+
</xsl:if>
|
4503
|
+
</xsl:template><xsl:template name="insertTableBookmarks">
|
4504
|
+
<xsl:param name="contents"/>
|
4505
|
+
<xsl:param name="lang"/>
|
4506
|
+
<xsl:if test="xalan:nodeset($contents)/table">
|
4507
|
+
<fo:bookmark internal-destination="{xalan:nodeset($contents)/table[1]/@id}" starting-state="hide">
|
4508
|
+
<fo:bookmark-title>
|
4509
|
+
<xsl:choose>
|
4510
|
+
<xsl:when test="$lang = 'fr'">Tableaux</xsl:when>
|
4511
|
+
<xsl:otherwise>Tables</xsl:otherwise>
|
4512
|
+
</xsl:choose>
|
4513
|
+
</fo:bookmark-title>
|
4514
|
+
<xsl:for-each select="xalan:nodeset($contents)/table">
|
4515
|
+
<fo:bookmark internal-destination="{@id}">
|
4516
|
+
<fo:bookmark-title>
|
4517
|
+
<xsl:value-of select="normalize-space(title)"/>
|
4518
|
+
</fo:bookmark-title>
|
4519
|
+
</fo:bookmark>
|
4520
|
+
</xsl:for-each>
|
4521
|
+
</fo:bookmark>
|
4522
|
+
</xsl:if>
|
4100
4523
|
</xsl:template><xsl:template name="getLangVersion">
|
4101
4524
|
<xsl:param name="lang"/>
|
4525
|
+
<xsl:param name="doctype" select="''"/>
|
4526
|
+
<xsl:param name="title" select="''"/>
|
4102
4527
|
<xsl:choose>
|
4103
4528
|
<xsl:when test="$lang = 'en'">
|
4104
4529
|
|
@@ -4134,6 +4559,12 @@
|
|
4134
4559
|
<!-- <xsl:text> </xsl:text> -->
|
4135
4560
|
</xsl:template><xsl:template name="getSection">
|
4136
4561
|
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
4562
|
+
<!--
|
4563
|
+
<xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
|
4564
|
+
<xsl:value-of select="."/>
|
4565
|
+
</xsl:for-each>
|
4566
|
+
-->
|
4567
|
+
|
4137
4568
|
</xsl:template><xsl:template name="getName">
|
4138
4569
|
<xsl:choose>
|
4139
4570
|
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
@@ -4186,6 +4617,12 @@
|
|
4186
4617
|
<xsl:copy>
|
4187
4618
|
<xsl:apply-templates mode="contents_item"/>
|
4188
4619
|
</xsl:copy>
|
4620
|
+
</xsl:template><xsl:template match="*[local-name() = 'em']" mode="contents_item">
|
4621
|
+
<xsl:copy>
|
4622
|
+
<xsl:apply-templates mode="contents_item"/>
|
4623
|
+
</xsl:copy>
|
4624
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents_item">
|
4625
|
+
<xsl:copy-of select="."/>
|
4189
4626
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
4190
4627
|
<xsl:text> </xsl:text>
|
4191
4628
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
@@ -4210,6 +4647,7 @@
|
|
4210
4647
|
|
4211
4648
|
|
4212
4649
|
|
4650
|
+
|
4213
4651
|
10
|
4214
4652
|
|
4215
4653
|
|
@@ -4578,10 +5016,13 @@
|
|
4578
5016
|
</xsl:if>
|
4579
5017
|
</xsl:if>
|
4580
5018
|
|
5019
|
+
|
4581
5020
|
<fo:block-container margin-left="0mm">
|
4582
5021
|
|
4583
5022
|
<fo:block xsl:use-attribute-sets="quote-style">
|
4584
|
-
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
5023
|
+
<!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
|
5024
|
+
|
5025
|
+
<xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
|
4585
5026
|
</fo:block>
|
4586
5027
|
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
4587
5028
|
<fo:block xsl:use-attribute-sets="quote-source-style">
|
@@ -4735,6 +5176,14 @@
|
|
4735
5176
|
|
4736
5177
|
|
4737
5178
|
|
5179
|
+
|
5180
|
+
<xsl:if test="*[1][@class='supertitle']">
|
5181
|
+
<xsl:attribute name="space-before">36pt</xsl:attribute>
|
5182
|
+
</xsl:if>
|
5183
|
+
<xsl:if test="@inline-header='true'">
|
5184
|
+
<xsl:attribute name="text-align">justify</xsl:attribute>
|
5185
|
+
</xsl:if>
|
5186
|
+
|
4738
5187
|
|
4739
5188
|
|
4740
5189
|
|
@@ -4746,7 +5195,7 @@
|
|
4746
5195
|
|
4747
5196
|
|
4748
5197
|
|
4749
|
-
</xsl:template><xsl:template match="
|
5198
|
+
</xsl:template><xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
4750
5199
|
<fo:block break-after="page"/>
|
4751
5200
|
<fo:block>
|
4752
5201
|
<xsl:call-template name="setId"/>
|
@@ -4754,7 +5203,12 @@
|
|
4754
5203
|
</fo:block>
|
4755
5204
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
4756
5205
|
<fo:block>
|
4757
|
-
<xsl:call-template name="setId"/>
|
5206
|
+
<xsl:call-template name="setId"/>
|
5207
|
+
|
5208
|
+
|
5209
|
+
<xsl:if test="@inline-header='true'">
|
5210
|
+
<xsl:attribute name="text-align">justify</xsl:attribute>
|
5211
|
+
</xsl:if>
|
4758
5212
|
|
4759
5213
|
<xsl:apply-templates/>
|
4760
5214
|
</fo:block>
|
@@ -4900,6 +5354,8 @@
|
|
4900
5354
|
<xsl:value-of select="translate(.,'. ','')"/>
|
4901
5355
|
</xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
|
4902
5356
|
<xsl:value-of select="substring(.,1,1)"/>
|
5357
|
+
</xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
|
5358
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
4903
5359
|
</xsl:template><xsl:template name="convertDate">
|
4904
5360
|
<xsl:param name="date"/>
|
4905
5361
|
<xsl:param name="format" select="'short'"/>
|
@@ -4924,6 +5380,57 @@
|
|
4924
5380
|
</xsl:variable>
|
4925
5381
|
<xsl:variable name="result">
|
4926
5382
|
<xsl:choose>
|
5383
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
5384
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5385
|
+
<xsl:text> </xsl:text>
|
5386
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
5387
|
+
</xsl:when>
|
5388
|
+
<xsl:when test="$format = 'ddMM'">
|
5389
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5390
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
5391
|
+
</xsl:when>
|
5392
|
+
<xsl:when test="$format = 'short' or $day = ''">
|
5393
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
5394
|
+
</xsl:when>
|
5395
|
+
<xsl:otherwise>
|
5396
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
|
5397
|
+
</xsl:otherwise>
|
5398
|
+
</xsl:choose>
|
5399
|
+
</xsl:variable>
|
5400
|
+
<xsl:value-of select="$result"/>
|
5401
|
+
</xsl:template><xsl:template name="convertDateLocalized">
|
5402
|
+
<xsl:param name="date"/>
|
5403
|
+
<xsl:param name="format" select="'short'"/>
|
5404
|
+
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
5405
|
+
<xsl:variable name="month" select="substring($date, 6, 2)"/>
|
5406
|
+
<xsl:variable name="day" select="substring($date, 9, 2)"/>
|
5407
|
+
<xsl:variable name="monthStr">
|
5408
|
+
<xsl:choose>
|
5409
|
+
<xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
|
5410
|
+
<xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
|
5411
|
+
<xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
|
5412
|
+
<xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
|
5413
|
+
<xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
|
5414
|
+
<xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
|
5415
|
+
<xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
|
5416
|
+
<xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
|
5417
|
+
<xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
|
5418
|
+
<xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
|
5419
|
+
<xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
|
5420
|
+
<xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
|
5421
|
+
</xsl:choose>
|
5422
|
+
</xsl:variable>
|
5423
|
+
<xsl:variable name="result">
|
5424
|
+
<xsl:choose>
|
5425
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
5426
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5427
|
+
<xsl:text> </xsl:text>
|
5428
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
5429
|
+
</xsl:when>
|
5430
|
+
<xsl:when test="$format = 'ddMM'">
|
5431
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5432
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
5433
|
+
</xsl:when>
|
4927
5434
|
<xsl:when test="$format = 'short' or $day = ''">
|
4928
5435
|
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
4929
5436
|
</xsl:when>
|
@@ -4939,7 +5446,7 @@
|
|
4939
5446
|
<xsl:param name="charDelim" select="', '"/>
|
4940
5447
|
<xsl:choose>
|
4941
5448
|
<xsl:when test="$sorting = 'true' or $sorting = 'yes'">
|
4942
|
-
<xsl:for-each select="
|
5449
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
4943
5450
|
<xsl:sort data-type="text" order="ascending"/>
|
4944
5451
|
<xsl:call-template name="insertKeyword">
|
4945
5452
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
@@ -4948,7 +5455,7 @@
|
|
4948
5455
|
</xsl:for-each>
|
4949
5456
|
</xsl:when>
|
4950
5457
|
<xsl:otherwise>
|
4951
|
-
<xsl:for-each select="
|
5458
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
4952
5459
|
<xsl:call-template name="insertKeyword">
|
4953
5460
|
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
4954
5461
|
<xsl:with-param name="charDelim" select="$charDelim"/>
|
@@ -4965,6 +5472,9 @@
|
|
4965
5472
|
<xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
|
4966
5473
|
</xsl:choose>
|
4967
5474
|
</xsl:template><xsl:template name="addPDFUAmeta">
|
5475
|
+
<xsl:variable name="lang">
|
5476
|
+
<xsl:call-template name="getLang"/>
|
5477
|
+
</xsl:variable>
|
4968
5478
|
<fo:declarations>
|
4969
5479
|
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
4970
5480
|
<pdf:dictionary type="normal" key="ViewerPreferences">
|
@@ -4977,13 +5487,16 @@
|
|
4977
5487
|
<!-- Dublin Core properties go here -->
|
4978
5488
|
<dc:title>
|
4979
5489
|
<xsl:variable name="title">
|
4980
|
-
|
4981
|
-
|
4982
|
-
|
4983
|
-
|
4984
|
-
|
4985
|
-
|
4986
|
-
|
5490
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
5491
|
+
|
5492
|
+
|
5493
|
+
|
5494
|
+
|
5495
|
+
|
5496
|
+
|
5497
|
+
<xsl:value-of select="*[local-name() = 'title'][@type='main']"/>
|
5498
|
+
|
5499
|
+
</xsl:for-each>
|
4987
5500
|
</xsl:variable>
|
4988
5501
|
<xsl:choose>
|
4989
5502
|
<xsl:when test="normalize-space($title) != ''">
|
@@ -4995,19 +5508,21 @@
|
|
4995
5508
|
</xsl:choose>
|
4996
5509
|
</dc:title>
|
4997
5510
|
<dc:creator>
|
4998
|
-
|
4999
|
-
|
5000
|
-
|
5001
|
-
|
5002
|
-
|
5003
|
-
|
5004
|
-
<dc:description>
|
5005
|
-
<xsl:variable name="abstract">
|
5511
|
+
<xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
|
5512
|
+
|
5513
|
+
<xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
|
5514
|
+
<xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
5515
|
+
<xsl:if test="position() != last()">; </xsl:if>
|
5516
|
+
</xsl:for-each>
|
5006
5517
|
|
5007
5518
|
|
5008
5519
|
|
5520
|
+
</xsl:for-each>
|
5521
|
+
</dc:creator>
|
5522
|
+
<dc:description>
|
5523
|
+
<xsl:variable name="abstract">
|
5009
5524
|
|
5010
|
-
<xsl:copy-of select="
|
5525
|
+
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
|
5011
5526
|
|
5012
5527
|
|
5013
5528
|
</xsl:variable>
|
@@ -5120,6 +5635,7 @@
|
|
5120
5635
|
|
5121
5636
|
|
5122
5637
|
|
5638
|
+
|
5123
5639
|
</xsl:variable>
|
5124
5640
|
<xsl:if test="$documentNS != $XSLNS">
|
5125
5641
|
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
@@ -5179,6 +5695,11 @@
|
|
5179
5695
|
<xsl:call-template name="getLang"/>
|
5180
5696
|
</xsl:variable>
|
5181
5697
|
|
5182
|
-
<xsl:
|
5698
|
+
<xsl:choose>
|
5699
|
+
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
5700
|
+
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
5701
|
+
</xsl:when>
|
5702
|
+
<xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
|
5703
|
+
</xsl:choose>
|
5183
5704
|
|
5184
5705
|
</xsl:template></xsl:stylesheet>
|