summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-09-07 03:00:40 +0000
committerNorbert Preining <norbert@preining.info>2023-09-07 03:00:40 +0000
commit96f1d7a9e9fe6e682cbd19d1bf2b7797891160b6 (patch)
treedb66495642dab6f4a4ecbb03d8a5e65c8c02e54c
parent30e902c79d7838a9ec84133dec2415eb48968762 (diff)
CTAN sync 202309070300
-rw-r--r--FILES.byname150
-rw-r--r--FILES.byname.gzbin2545774 -> 2545744 bytes
-rw-r--r--FILES.last07days247
-rw-r--r--biblio/ctan-bibdata/ctan.bib34
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3703978 -> 3704308 bytes
-rw-r--r--fonts/arsenal/Makefile16
-rw-r--r--fonts/arsenal/README11
-rw-r--r--fonts/arsenal/arsenal.bib2
-rw-r--r--fonts/arsenal/arsenal.dtx171
-rw-r--r--fonts/arsenal/arsenal.ins3
-rw-r--r--fonts/arsenal/arsenal.pdfbin74824 -> 85893 bytes
-rw-r--r--fonts/arsenal/sample-math-arsenal+kpsans.pdfbin0 -> 67926 bytes
-rw-r--r--fonts/arsenal/sample-math-iwona.pdfbin54073 -> 62313 bytes
-rw-r--r--fonts/arsenal/sample-math-kpsans.pdfbin46128 -> 58187 bytes
-rw-r--r--fonts/arsenal/sample-math.dtx94
-rw-r--r--fonts/arsenal/sample-text.pdfbin67018 -> 67017 bytes
-rw-r--r--fonts/parsinevis/LICENSE93
-rw-r--r--fonts/parsinevis/ParsiNevis-Bold.ttfbin0 -> 82840 bytes
-rw-r--r--fonts/parsinevis/ParsiNevis-BoldItalic.ttfbin0 -> 86408 bytes
-rw-r--r--fonts/parsinevis/ParsiNevis-Italic.ttfbin0 -> 83056 bytes
-rw-r--r--fonts/parsinevis/ParsiNevis-Regular.ttfbin0 -> 79592 bytes
-rw-r--r--fonts/parsinevis/README.md23
-rw-r--r--fonts/parsinevis/parsinevis-sample.pdfbin0 -> 54403 bytes
-rw-r--r--fonts/parsinevis/parsinevis-sample.tex27
-rw-r--r--macros/latex/contrib/numerica-tables/README.txt12
-rw-r--r--macros/latex/contrib/numerica-tables/numerica-tables.pdf9434
-rw-r--r--macros/latex/contrib/numerica-tables/numerica-tables.sty93
-rw-r--r--macros/latex/contrib/numerica-tables/numerica-tables.tex1277
-rw-r--r--macros/latex/contrib/robust-externalize/README.md7
-rw-r--r--macros/latex/contrib/robust-externalize/robust-externalize.pdfbin0 -> 448699 bytes
-rw-r--r--macros/latex/contrib/robust-externalize/robust-externalize.sty1302
-rw-r--r--macros/latex/contrib/robust-externalize/robust-externalize.tex2113
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl10
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb124
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc16
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2470668 -> 2471044 bytes
-rw-r--r--timestamp2
-rw-r--r--usergrps/usergrps/cz.html4
40 files changed, 10902 insertions, 4367 deletions
diff --git a/FILES.byname b/FILES.byname
index e67bffe193..e59bfc98fe 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2058,12 +2058,12 @@
2023/07/04 | 1675 | biblio/citation-style-language/README.md
2023/07/04 | 12878 | biblio/citation-style-language/vancouver.csl
2023/07/04 | 4522435 | biblio/citation-style-language.zip
-2023/09/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/09/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/09/05 | 2808760 | biblio/ctan-bibdata/ctan.bib
-2023/09/05 | 3705697 | biblio/ctan-bibdata/ctan.pdf
+2023/09/06 | 2809478 | biblio/ctan-bibdata/ctan.bib
+2023/09/06 | 3703978 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/09/05 | 4107584 | biblio/ctan-bibdata.zip
+2023/09/06 | 4105146 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5423,7 +5423,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2023/09/05 | 91097 | FILES.last07days
+2023/09/06 | 80041 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -13210,24 +13210,25 @@
2016/12/11 | 1063 | fonts/arphic-ttf/README.md
2000/01/06 | 749 | fonts/arphic-ttf/release.txt
2016/12/11 | 16877700 | fonts/arphic-ttf.zip
-2023/09/03 | 1340 | fonts/arsenal/arsenal.bib
-2023/09/03 | 109912 | fonts/arsenal/Arsenal-BoldItalic.otf
-2023/09/03 | 115628 | fonts/arsenal/Arsenal-Bold.otf
-2023/09/03 | 9925 | fonts/arsenal/arsenal.dtx
-2023/09/03 | 274 | fonts/arsenal/arsenal.ins
-2023/09/03 | 109884 | fonts/arsenal/Arsenal-Italic.otf
-2023/09/03 | 74824 | fonts/arsenal/arsenal.pdf
-2023/09/03 | 114436 | fonts/arsenal/Arsenal-Regular.otf
+2023/09/04 | 1343 | fonts/arsenal/arsenal.bib
+2023/09/06 | 109912 | fonts/arsenal/Arsenal-BoldItalic.otf
+2023/09/06 | 115628 | fonts/arsenal/Arsenal-Bold.otf
+2023/09/06 | 14380 | fonts/arsenal/arsenal.dtx
+2023/09/04 | 362 | fonts/arsenal/arsenal.ins
+2023/09/06 | 109884 | fonts/arsenal/Arsenal-Italic.otf
+2023/09/06 | 85893 | fonts/arsenal/arsenal.pdf
+2023/09/06 | 114436 | fonts/arsenal/Arsenal-Regular.otf
2023/09/02 | 19102 | fonts/arsenal/LICENSE
-2023/09/03 | 4372 | fonts/arsenal/LICENSE_FONTS
-2023/09/03 | 1611 | fonts/arsenal/Makefile
-2023/09/02 | 1065 | fonts/arsenal/README
-2023/09/03 | 5234 | fonts/arsenal/sample-math.dtx
-2023/09/03 | 54073 | fonts/arsenal/sample-math-iwona.pdf
-2023/09/03 | 46128 | fonts/arsenal/sample-math-kpsans.pdf
-2023/09/03 | 67018 | fonts/arsenal/sample-text.pdf
+2023/09/06 | 4372 | fonts/arsenal/LICENSE_FONTS
+2023/09/05 | 1940 | fonts/arsenal/Makefile
+2023/09/06 | 1533 | fonts/arsenal/README
+2023/09/06 | 67926 | fonts/arsenal/sample-math-arsenal+kpsans.pdf
+2023/09/05 | 5111 | fonts/arsenal/sample-math.dtx
+2023/09/06 | 62313 | fonts/arsenal/sample-math-iwona.pdf
+2023/09/06 | 58187 | fonts/arsenal/sample-math-kpsans.pdf
+2023/09/06 | 67017 | fonts/arsenal/sample-text.pdf
2023/09/03 | 9086 | fonts/arsenal/sample-text.tex
-2023/09/04 | 527741 | fonts/arsenal.zip
+2023/09/06 | 625440 | fonts/arsenal.zip
2020/12/21 | 53599 | fonts/arvo/doc/arvo-samples.pdf
2020/12/21 | 620 | fonts/arvo/doc/arvo-samples.tex
2020/12/21 | 4299 | fonts/arvo/doc/LICENSE.TXT
@@ -112174,6 +112175,15 @@
2014/09/13 | 690388 | fonts/parisa/source/parisa-regular.sfd
2014/09/13 | 1618746 | fonts/parisa/source/parisa-shadow.sfd
2014/09/13 | 5749842 | fonts/parisa.zip
+2023/09/06 | 4375 | fonts/parsinevis/LICENSE
+2023/09/06 | 86408 | fonts/parsinevis/ParsiNevis-BoldItalic.ttf
+2023/09/06 | 82840 | fonts/parsinevis/ParsiNevis-Bold.ttf
+2023/09/06 | 83056 | fonts/parsinevis/ParsiNevis-Italic.ttf
+2023/09/06 | 79592 | fonts/parsinevis/ParsiNevis-Regular.ttf
+2023/09/06 | 54403 | fonts/parsinevis/parsinevis-sample.pdf
+2023/09/06 | 708 | fonts/parsinevis/parsinevis-sample.tex
+2023/09/06 | 551 | fonts/parsinevis/README.md
+2023/09/06 | 212883 | fonts/parsinevis.zip
2011/01/07 | 740 | fonts/pcarl/pcarl.bib
2011/01/11 | 13268 | fonts/pcarl/pcarl.dtx
2011/01/07 | 1888 | fonts/pcarl/pcarl.ins
@@ -231500,11 +231510,11 @@
2023/08/22 | 1183 | macros/latex/contrib/numerica-plus/README.txt
2023/08/22 | 620896 | macros/latex/contrib/numerica-plus.zip
2023/08/22 | 1200 | macros/latex/contrib/numerica/README.txt
-2023/08/22 | 708348 | macros/latex/contrib/numerica-tables/numerica-tables.pdf
-2023/08/21 | 47014 | macros/latex/contrib/numerica-tables/numerica-tables.sty
-2023/08/22 | 111595 | macros/latex/contrib/numerica-tables/numerica-tables.tex
-2023/08/22 | 1123 | macros/latex/contrib/numerica-tables/README.txt
-2023/08/22 | 646052 | macros/latex/contrib/numerica-tables.zip
+2023/09/06 | 780793 | macros/latex/contrib/numerica-tables/numerica-tables.pdf
+2023/08/30 | 49609 | macros/latex/contrib/numerica-tables/numerica-tables.sty
+2023/09/06 | 124712 | macros/latex/contrib/numerica-tables/numerica-tables.tex
+2023/09/06 | 1035 | macros/latex/contrib/numerica-tables/README.txt
+2023/09/06 | 685210 | macros/latex/contrib/numerica-tables.zip
2023/08/22 | 1184724 | macros/latex/contrib/numerica.zip
2010/05/02 | 113649 | macros/latex/contrib/numname/numname.pdf
2007/07/05 | 16487 | macros/latex/contrib/numname/numname.sty
@@ -235645,6 +235655,11 @@
2006/04/04 | 1957 | macros/latex/contrib/robustcommand/robustcommand.ins
2006/04/11 | 72818 | macros/latex/contrib/robustcommand/robustcommand.pdf
2006/04/11 | 62251 | macros/latex/contrib/robustcommand.zip
+2023/09/06 | 463 | macros/latex/contrib/robust-externalize/README.md
+2023/09/06 | 448699 | macros/latex/contrib/robust-externalize/robust-externalize.pdf
+2023/09/06 | 55778 | macros/latex/contrib/robust-externalize/robust-externalize.sty
+2023/09/06 | 115037 | macros/latex/contrib/robust-externalize/robust-externalize.tex
+2023/09/06 | 438597 | macros/latex/contrib/robust-externalize.zip
2019/01/29 | 162849 | macros/latex/contrib/robustindex/multisample.pdf
2019/01/24 | 7898 | macros/latex/contrib/robustindex/multisample.tex
2019/01/29 | 1037 | macros/latex/contrib/robustindex/README.md
@@ -291268,8 +291283,9 @@
2022/12/13 | 344 | systems/texlive/tlnet/archive/bibcop.x86_64-linuxmusl.r65257.tar.xz
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.x86_64-linux.r65257.tar.xz
2022/12/13 | 336 | systems/texlive/tlnet/archive/bibcop.x86_64-solaris.r65257.tar.xz
+2023/09/06 | 30119848 | systems/texlive/tlnet/archive/biber.aarch64-linux.r68188.tar.xz
2023/03/13 | 23394672 | systems/texlive/tlnet/archive/biber.amd64-freebsd.r66588.tar.xz
-2023/03/08 | 267448 | systems/texlive/tlnet/archive/biber.doc.r66455.tar.xz
+2023/09/06 | 267444 | systems/texlive/tlnet/archive/biber.doc.r68188.tar.xz
2023/03/13 | 21468376 | systems/texlive/tlnet/archive/biber.i386-freebsd.r66588.tar.xz
2023/03/07 | 21085868 | systems/texlive/tlnet/archive/biber.i386-linux.r66402.tar.xz
2023/03/09 | 261024 | systems/texlive/tlnet/archive/biber-ms.doc.r66478.tar.xz
@@ -291280,8 +291296,8 @@
2023/03/09 | 24391288 | systems/texlive/tlnet/archive/biber-ms.windows.r66478.tar.xz
2023/03/09 | 35440820 | systems/texlive/tlnet/archive/biber-ms.x86_64-darwinlegacy.r66478.tar.xz
2023/03/09 | 23549792 | systems/texlive/tlnet/archive/biber-ms.x86_64-linux.r66478.tar.xz
-2023/03/08 | 736 | systems/texlive/tlnet/archive/biber.r66455.tar.xz
-2023/03/08 | 963828 | systems/texlive/tlnet/archive/biber.source.r66455.tar.xz
+2023/09/06 | 736 | systems/texlive/tlnet/archive/biber.r68188.tar.xz
+2023/09/06 | 963880 | systems/texlive/tlnet/archive/biber.source.r68188.tar.xz
2023/03/07 | 87334336 | systems/texlive/tlnet/archive/biber.universal-darwin.r66402.tar.xz
2023/03/07 | 24383064 | systems/texlive/tlnet/archive/biber.windows.r66402.tar.xz
2023/03/07 | 17056788 | systems/texlive/tlnet/archive/biber.x86_64-cygwin.r66402.tar.xz
@@ -291601,8 +291617,8 @@
2019/02/28 | 276436 | systems/texlive/tlnet/archive/blockdraw_mp.doc.r15878.tar.xz
2019/02/28 | 4856 | systems/texlive/tlnet/archive/blockdraw_mp.r15878.tar.xz
2019/02/28 | 924 | systems/texlive/tlnet/archive/block.r17209.tar.xz
-2023/07/01 | 150744 | systems/texlive/tlnet/archive/blopentype.doc.r67517.tar.xz
-2023/07/01 | 15968 | systems/texlive/tlnet/archive/blopentype.r67517.tar.xz
+2023/09/06 | 150744 | systems/texlive/tlnet/archive/blopentype.doc.r68184.tar.xz
+2023/09/06 | 16056 | systems/texlive/tlnet/archive/blopentype.r68184.tar.xz
2019/02/28 | 124652 | systems/texlive/tlnet/archive/bloques.doc.r22490.tar.xz
2019/02/28 | 1748 | systems/texlive/tlnet/archive/bloques.r22490.tar.xz
2023/07/16 | 304236 | systems/texlive/tlnet/archive/blowup.doc.r67640.tar.xz
@@ -292454,7 +292470,7 @@
2022/06/10 | 700 | systems/texlive/tlnet/archive/collection-latex.r63515.tar.xz
2023/01/11 | 744 | systems/texlive/tlnet/archive/collection-latexrecommended.r65512.tar.xz
2023/08/26 | 1008 | systems/texlive/tlnet/archive/collection-luatex.r68053.tar.xz
-2023/08/01 | 1688 | systems/texlive/tlnet/archive/collection-mathscience.r67779.tar.xz
+2023/09/06 | 1692 | systems/texlive/tlnet/archive/collection-mathscience.r68179.tar.xz
2023/05/12 | 564 | systems/texlive/tlnet/archive/collection-metapost.r67071.tar.xz
2023/02/18 | 496 | systems/texlive/tlnet/archive/collection-music.r65862.tar.xz
2023/08/10 | 1600 | systems/texlive/tlnet/archive/collection-pictures.r67868.tar.xz
@@ -294631,6 +294647,8 @@
2019/02/28 | 496576 | systems/texlive/tlnet/archive/fitbox.doc.r50088.tar.xz
2019/02/28 | 2228 | systems/texlive/tlnet/archive/fitbox.r50088.tar.xz
2019/02/28 | 5812 | systems/texlive/tlnet/archive/fitbox.source.r50088.tar.xz
+2023/09/06 | 257256 | systems/texlive/tlnet/archive/fitch.doc.r68179.tar.xz
+2023/09/06 | 3192 | systems/texlive/tlnet/archive/fitch.r68179.tar.xz
2022/08/18 | 730120 | systems/texlive/tlnet/archive/fithesis.doc.r64135.tar.xz
2022/08/18 | 792156 | systems/texlive/tlnet/archive/fithesis.r64135.tar.xz
2022/08/18 | 45332 | systems/texlive/tlnet/archive/fithesis.source.r64135.tar.xz
@@ -296418,13 +296436,13 @@
2019/02/28 | 344 | systems/texlive/tlnet/archive/l3build.amd64-freebsd.r46894.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/l3build.amd64-netbsd.r46894.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/l3build.armhf-linux.r46894.tar.xz
-2023/07/21 | 745980 | systems/texlive/tlnet/archive/l3build.doc.r67681.tar.xz
+2023/09/06 | 746616 | systems/texlive/tlnet/archive/l3build.doc.r68181.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/l3build.i386-freebsd.r46894.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/l3build.i386-linux.r46894.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/l3build.i386-netbsd.r46894.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/l3build.i386-solaris.r46894.tar.xz
-2023/07/21 | 36268 | systems/texlive/tlnet/archive/l3build.r67681.tar.xz
-2023/07/21 | 31496 | systems/texlive/tlnet/archive/l3build.source.r67681.tar.xz
+2023/09/06 | 36408 | systems/texlive/tlnet/archive/l3build.r68181.tar.xz
+2023/09/06 | 31508 | systems/texlive/tlnet/archive/l3build.source.r68181.tar.xz
2021/02/25 | 340 | systems/texlive/tlnet/archive/l3build.universal-darwin.r57908.tar.xz
2023/02/20 | 2308 | systems/texlive/tlnet/archive/l3build.windows.r65891.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/l3build.x86_64-cygwin.r46894.tar.xz
@@ -298078,8 +298096,8 @@
2019/02/28 | 6528 | systems/texlive/tlnet/archive/mi-solns.source.r49651.tar.xz
2022/01/24 | 14130568 | systems/texlive/tlnet/archive/missaali.doc.r61719.tar.xz
2022/01/24 | 85820 | systems/texlive/tlnet/archive/missaali.r61719.tar.xz
-2023/09/01 | 2228328 | systems/texlive/tlnet/archive/mitthesis.doc.r68126.tar.xz
-2023/09/01 | 14940 | systems/texlive/tlnet/archive/mitthesis.r68126.tar.xz
+2023/09/06 | 5332044 | systems/texlive/tlnet/archive/mitthesis.doc.r68187.tar.xz
+2023/09/06 | 10744 | systems/texlive/tlnet/archive/mitthesis.r68187.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/mkgrkindex.aarch64-linux.r46208.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/mkgrkindex.amd64-freebsd.r16472.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/mkgrkindex.amd64-netbsd.r30191.tar.xz
@@ -299312,8 +299330,8 @@
2019/02/28 | 344 | systems/texlive/tlnet/archive/pedigree-perl.x86_64-linux.r25962.tar.xz
2019/02/28 | 348 | systems/texlive/tlnet/archive/pedigree-perl.x86_64-solaris.r25962.tar.xz
2023/07/24 | 23660 | systems/texlive/tlnet/archive/penlight.doc.r67716.tar.xz
-2023/08/29 | 59104 | systems/texlive/tlnet/archive/penlightplus.doc.r68098.tar.xz
-2023/08/29 | 9648 | systems/texlive/tlnet/archive/penlightplus.r68098.tar.xz
+2023/09/06 | 60772 | systems/texlive/tlnet/archive/penlightplus.doc.r68185.tar.xz
+2023/09/06 | 9584 | systems/texlive/tlnet/archive/penlightplus.r68185.tar.xz
2023/07/24 | 101464 | systems/texlive/tlnet/archive/penlight.r67716.tar.xz
2019/02/28 | 416 | systems/texlive/tlnet/archive/perception.doc.r48861.tar.xz
2019/02/28 | 6304 | systems/texlive/tlnet/archive/perception.r48861.tar.xz
@@ -299467,8 +299485,8 @@
2020/09/29 | 23380 | systems/texlive/tlnet/archive/phonetic.r56468.tar.xz
2019/02/28 | 44080 | systems/texlive/tlnet/archive/phonrule.doc.r43963.tar.xz
2019/02/28 | 1132 | systems/texlive/tlnet/archive/phonrule.r43963.tar.xz
-2023/08/26 | 155292 | systems/texlive/tlnet/archive/photobook.doc.r68057.tar.xz
-2023/08/26 | 33028 | systems/texlive/tlnet/archive/photobook.r68057.tar.xz
+2023/09/06 | 155784 | systems/texlive/tlnet/archive/photobook.doc.r68182.tar.xz
+2023/09/06 | 33108 | systems/texlive/tlnet/archive/photobook.r68182.tar.xz
2019/02/28 | 142148 | systems/texlive/tlnet/archive/photo.doc.r18739.tar.xz
2019/02/28 | 2756 | systems/texlive/tlnet/archive/photo.r18739.tar.xz
2019/02/28 | 8908 | systems/texlive/tlnet/archive/photo.source.r18739.tar.xz
@@ -299509,9 +299527,9 @@
2020/07/28 | 2536 | systems/texlive/tlnet/archive/pinoutikz.r55966.tar.xz
2019/02/28 | 110192 | systems/texlive/tlnet/archive/pitex.doc.r24731.tar.xz
2019/02/28 | 22664 | systems/texlive/tlnet/archive/pitex.r24731.tar.xz
-2023/08/27 | 767652 | systems/texlive/tlnet/archive/piton.doc.r68075.tar.xz
-2023/08/27 | 15156 | systems/texlive/tlnet/archive/piton.r68075.tar.xz
-2023/08/27 | 44644 | systems/texlive/tlnet/archive/piton.source.r68075.tar.xz
+2023/09/06 | 804316 | systems/texlive/tlnet/archive/piton.doc.r68186.tar.xz
+2023/09/06 | 16472 | systems/texlive/tlnet/archive/piton.r68186.tar.xz
+2023/09/06 | 47496 | systems/texlive/tlnet/archive/piton.source.r68186.tar.xz
2019/02/28 | 317704 | systems/texlive/tlnet/archive/pittetd.doc.r15878.tar.xz
2019/02/28 | 8884 | systems/texlive/tlnet/archive/pittetd.r15878.tar.xz
2019/02/28 | 38588 | systems/texlive/tlnet/archive/pittetd.source.r15878.tar.xz
@@ -301283,9 +301301,9 @@
2019/02/28 | 102708 | systems/texlive/tlnet/archive/steinmetz.doc.r15878.tar.xz
2019/02/28 | 1352 | systems/texlive/tlnet/archive/steinmetz.r15878.tar.xz
2019/02/28 | 4880 | systems/texlive/tlnet/archive/steinmetz.source.r15878.tar.xz
-2023/08/12 | 5403096 | systems/texlive/tlnet/archive/stellenbosch-2.doc.r67894.tar.xz
-2023/08/12 | 1550020 | systems/texlive/tlnet/archive/stellenbosch-2.r67894.tar.xz
-2023/08/12 | 2065404 | systems/texlive/tlnet/archive/stellenbosch-2.source.r67894.tar.xz
+2023/09/06 | 5403040 | systems/texlive/tlnet/archive/stellenbosch-2.doc.r68183.tar.xz
+2023/09/06 | 1550016 | systems/texlive/tlnet/archive/stellenbosch-2.r68183.tar.xz
+2023/09/06 | 2065420 | systems/texlive/tlnet/archive/stellenbosch-2.source.r68183.tar.xz
2023/08/24 | 3071164 | systems/texlive/tlnet/archive/stellenbosch.doc.r68039.tar.xz
2023/08/24 | 703440 | systems/texlive/tlnet/archive/stellenbosch.r68039.tar.xz
2023/08/24 | 415332 | systems/texlive/tlnet/archive/stellenbosch.source.r68039.tar.xz
@@ -301955,7 +301973,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2023/09/05 | 428984 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68167.tar.xz
+2023/09/06 | 429060 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68178.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -301977,7 +301995,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2023/09/05 | 114096 | systems/texlive/tlnet/archive/texlive-scripts.r68167.tar.xz
+2023/09/06 | 114120 | systems/texlive/tlnet/archive/texlive-scripts.r68178.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -303850,16 +303868,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2023/08/07 | 125713 | systems/texlive/tlnet/install-tl
-2023/09/05 | 5742923 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/09/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/09/05 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/09/06 | 5742539 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/09/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/09/06 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2023/09/05 | 21038550 | systems/texlive/tlnet/install-tl-windows.exe
-2023/09/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/09/05 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/09/05 | 26028679 | systems/texlive/tlnet/install-tl.zip
-2023/09/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/09/05 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/09/06 | 21035825 | systems/texlive/tlnet/install-tl-windows.exe
+2023/09/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/09/06 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/09/06 | 26028704 | systems/texlive/tlnet/install-tl.zip
+2023/09/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/09/06 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2023/03/19 | 1229 | systems/texlive/tlnet/README.md
2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -303869,7 +303887,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/08/03 | 50576 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/09/04 | 7250 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/09/05 | 7338 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/08/23 | 221470 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -303911,12 +303929,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/09/05 | 18231496 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/09/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/09/06 | 18233658 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/09/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/09/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/09/05 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/09/05 | 2467448 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/09/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/09/06 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/09/06 | 2470668 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -314629,7 +314647,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2023/09/06 | 186 | timestamp
+2023/09/07 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
@@ -315969,7 +315987,7 @@
2023/07/11 | 9625 | usergrps/usergrps/bg.html
2023/07/11 | 9301 | usergrps/usergrps/br.html
2023/07/11 | 9594 | usergrps/usergrps/cn.html
-2023/07/11 | 9757 | usergrps/usergrps/cz.html
+2023/09/06 | 9780 | usergrps/usergrps/cz.html
2023/07/11 | 9874 | usergrps/usergrps/de.html
2023/07/11 | 9238 | usergrps/usergrps/dk.html
2023/07/11 | 9165 | usergrps/usergrps/ee.html
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 80db26dc00..26fe3d98dc 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 8a68d44975..654f810f0d 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,3 +1,79 @@
+2023/09/06 | 9780 | usergrps/usergrps/cz.html
+2023/09/06 | 963880 | systems/texlive/tlnet/archive/biber.source.r68188.tar.xz
+2023/09/06 | 9584 | systems/texlive/tlnet/archive/penlightplus.r68185.tar.xz
+2023/09/06 | 86408 | fonts/parsinevis/ParsiNevis-BoldItalic.ttf
+2023/09/06 | 85893 | fonts/arsenal/arsenal.pdf
+2023/09/06 | 83056 | fonts/parsinevis/ParsiNevis-Italic.ttf
+2023/09/06 | 82840 | fonts/parsinevis/ParsiNevis-Bold.ttf
+2023/09/06 | 804316 | systems/texlive/tlnet/archive/piton.doc.r68186.tar.xz
+2023/09/06 | 79592 | fonts/parsinevis/ParsiNevis-Regular.ttf
+2023/09/06 | 780793 | macros/latex/contrib/numerica-tables/numerica-tables.pdf
+2023/09/06 | 746616 | systems/texlive/tlnet/archive/l3build.doc.r68181.tar.xz
+2023/09/06 | 736 | systems/texlive/tlnet/archive/biber.r68188.tar.xz
+2023/09/06 | 708 | fonts/parsinevis/parsinevis-sample.tex
+2023/09/06 | 685210 | macros/latex/contrib/numerica-tables.zip
+2023/09/06 | 67926 | fonts/arsenal/sample-math-arsenal+kpsans.pdf
+2023/09/06 | 67017 | fonts/arsenal/sample-text.pdf
+2023/09/06 | 625440 | fonts/arsenal.zip
+2023/09/06 | 62313 | fonts/arsenal/sample-math-iwona.pdf
+2023/09/06 | 60772 | systems/texlive/tlnet/archive/penlightplus.doc.r68185.tar.xz
+2023/09/06 | 58187 | fonts/arsenal/sample-math-kpsans.pdf
+2023/09/06 | 5742539 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/09/06 | 55778 | macros/latex/contrib/robust-externalize/robust-externalize.sty
+2023/09/06 | 551 | fonts/parsinevis/README.md
+2023/09/06 | 54403 | fonts/parsinevis/parsinevis-sample.pdf
+2023/09/06 | 5403040 | systems/texlive/tlnet/archive/stellenbosch-2.doc.r68183.tar.xz
+2023/09/06 | 5332044 | systems/texlive/tlnet/archive/mitthesis.doc.r68187.tar.xz
+2023/09/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/09/06 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/09/06 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/09/06 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/09/06 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/09/06 | 47496 | systems/texlive/tlnet/archive/piton.source.r68186.tar.xz
+2023/09/06 | 463 | macros/latex/contrib/robust-externalize/README.md
+2023/09/06 | 448699 | macros/latex/contrib/robust-externalize/robust-externalize.pdf
+2023/09/06 | 438597 | macros/latex/contrib/robust-externalize.zip
+2023/09/06 | 4375 | fonts/parsinevis/LICENSE
+2023/09/06 | 4372 | fonts/arsenal/LICENSE_FONTS
+2023/09/06 | 429060 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68178.tar.xz
+2023/09/06 | 4105146 | biblio/ctan-bibdata.zip
+2023/09/06 | 3703978 | biblio/ctan-bibdata/ctan.pdf
+2023/09/06 | 36408 | systems/texlive/tlnet/archive/l3build.r68181.tar.xz
+2023/09/06 | 33108 | systems/texlive/tlnet/archive/photobook.r68182.tar.xz
+2023/09/06 | 3192 | systems/texlive/tlnet/archive/fitch.r68179.tar.xz
+2023/09/06 | 31508 | systems/texlive/tlnet/archive/l3build.source.r68181.tar.xz
+2023/09/06 | 30119848 | systems/texlive/tlnet/archive/biber.aarch64-linux.r68188.tar.xz
+2023/09/06 | 2809478 | biblio/ctan-bibdata/ctan.bib
+2023/09/06 | 267444 | systems/texlive/tlnet/archive/biber.doc.r68188.tar.xz
+2023/09/06 | 26028704 | systems/texlive/tlnet/install-tl.zip
+2023/09/06 | 257256 | systems/texlive/tlnet/archive/fitch.doc.r68179.tar.xz
+2023/09/06 | 2470668 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/09/06 | 212883 | fonts/parsinevis.zip
+2023/09/06 | 21035825 | systems/texlive/tlnet/install-tl-windows.exe
+2023/09/06 | 2065420 | systems/texlive/tlnet/archive/stellenbosch-2.source.r68183.tar.xz
+2023/09/06 | 18233658 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/09/06 | 1692 | systems/texlive/tlnet/archive/collection-mathscience.r68179.tar.xz
+2023/09/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/09/06 | 16472 | systems/texlive/tlnet/archive/piton.r68186.tar.xz
+2023/09/06 | 16056 | systems/texlive/tlnet/archive/blopentype.r68184.tar.xz
+2023/09/06 | 155784 | systems/texlive/tlnet/archive/photobook.doc.r68182.tar.xz
+2023/09/06 | 1550016 | systems/texlive/tlnet/archive/stellenbosch-2.r68183.tar.xz
+2023/09/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/09/06 | 1533 | fonts/arsenal/README
+2023/09/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/09/06 | 150744 | systems/texlive/tlnet/archive/blopentype.doc.r68184.tar.xz
+2023/09/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/09/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/09/06 | 14380 | fonts/arsenal/arsenal.dtx
+2023/09/06 | 124712 | macros/latex/contrib/numerica-tables/numerica-tables.tex
+2023/09/06 | 115628 | fonts/arsenal/Arsenal-Bold.otf
+2023/09/06 | 115037 | macros/latex/contrib/robust-externalize/robust-externalize.tex
+2023/09/06 | 114436 | fonts/arsenal/Arsenal-Regular.otf
+2023/09/06 | 114120 | systems/texlive/tlnet/archive/texlive-scripts.r68178.tar.xz
+2023/09/06 | 109912 | fonts/arsenal/Arsenal-BoldItalic.otf
+2023/09/06 | 109884 | fonts/arsenal/Arsenal-Italic.otf
+2023/09/06 | 10744 | systems/texlive/tlnet/archive/mitthesis.r68187.tar.xz
+2023/09/06 | 1035 | macros/latex/contrib/numerica-tables/README.txt
2023/09/05 | 99252 | macros/latex/contrib/exesheet/exesheet.dtx
2023/09/05 | 952445 | macros/luatex/latex/piton.zip
2023/09/05 | 945723 | macros/luatex/latex/piton/piton.pdf
@@ -9,6 +85,7 @@
2023/09/05 | 7805 | macros/latex/contrib/l3build/l3build-arguments.lua
2023/09/05 | 770 | macros/latex/contrib/stellenbosch-2/doc/CHANGELOG
2023/09/05 | 744734 | macros/latex/contrib/l3build/l3build.pdf
+2023/09/05 | 7338 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/09/05 | 7316 | macros/latex/contrib/l3build/l3build.lua
2023/09/05 | 72818 | macros/luatex/generic/penlightplus.zip
2023/09/05 | 72714 | fonts/khatalmaqala/sample-of-khatalmaqala.pdf
@@ -18,14 +95,9 @@
2023/09/05 | 6196 | systems/texlive/tlnet/archive/arsenal.source.r68169.tar.xz
2023/09/05 | 6020 | macros/latex/contrib/l3build/l3build-typesetting.lua
2023/09/05 | 5758656 | systems/texlive/tlnet/archive/bib2gls.doc.r68172.tar.xz
-2023/09/05 | 5742923 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/09/05 | 5111 | fonts/arsenal/sample-math.dtx
2023/09/05 | 5001 | macros/latex/contrib/stellenbosch-2/source/stb-nomencl.zip
2023/09/05 | 4972 | macros/latex/contrib/l3build/l3build-ctan.lua
-2023/09/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2023/09/05 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/09/05 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/09/05 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/09/05 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/09/05 | 4879 | obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.rst
2023/09/05 | 465647 | macros/latex/contrib/stellenbosch-2/doc/templates/template-stb-article.zip
2023/09/05 | 462 | macros/latex/contrib/photobook/DEPENDS.txt
@@ -34,32 +106,26 @@
2023/09/05 | 4392 | fonts/khatalmaqala/OFL.txt
2023/09/05 | 4338 | macros/latex/contrib/l3build/l3build-stdmain.lua
2023/09/05 | 4295431 | macros/latex/contrib/stellenbosch-2/doc/templates/template-stb-beamer.zip
-2023/09/05 | 428984 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68167.tar.xz
2023/09/05 | 42719 | macros/latex/contrib/stellenbosch-2/source/stb-bib.zip
2023/09/05 | 4172 | macros/latex/contrib/photobook/scripts/cls2tex.sh
2023/09/05 | 4150 | macros/latex/contrib/l3build/l3build-zip.lua
-2023/09/05 | 4107584 | biblio/ctan-bibdata.zip
2023/09/05 | 410048 | systems/texlive/tlnet/archive/metsymb.doc.r68175.tar.xz
2023/09/05 | 408922 | fonts/khatalmaqala.zip
2023/09/05 | 383036 | macros/luatex/latex/piton/piton-french.pdf
2023/09/05 | 37237 | macros/latex/contrib/l3build/l3build-check.lua
-2023/09/05 | 3705697 | biblio/ctan-bibdata/ctan.pdf
2023/09/05 | 294607 | macros/latex/contrib/exesheet/exesheet.pdf
2023/09/05 | 29193 | obsolete/macros/latex/contrib/substitutefont/substitutefont-doc.html
2023/09/05 | 2916 | obsolete/macros/latex/contrib/substitutefont/substitutefont.sty
-2023/09/05 | 2808760 | biblio/ctan-bibdata/ctan.bib
2023/09/05 | 2745 | macros/latex/contrib/l3build/l3build-unpack.lua
2023/09/05 | 2724 | systems/texlive/tlnet/archive/wordle.r68170.tar.xz
2023/09/05 | 2659147 | obsolete/macros/latex/contrib/substitutefont.zip
2023/09/05 | 264426 | macros/latex/contrib/fitch.zip
-2023/09/05 | 26028679 | systems/texlive/tlnet/install-tl.zip
2023/09/05 | 259514 | macros/latex/contrib/exesheet.zip
2023/09/05 | 2576 | systems/texlive/tlnet/archive/highlightx.r68171.tar.xz
2023/09/05 | 2563 | macros/latex/contrib/photobook/README.md
2023/09/05 | 2545 | macros/latex/contrib/fitch/README.md
2023/09/05 | 248637 | macros/latex/contrib/fitch/fitchdoc.pdf
2023/09/05 | 2473 | macros/latex/contrib/l3build/l3build-help.lua
-2023/09/05 | 2467448 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/09/05 | 240064 | systems/texlive/tlnet/archive/arsenal.doc.r68169.tar.xz
2023/09/05 | 237936 | fonts/khatalmaqala/ttf/khatalmaqala-italic.ttf
2023/09/05 | 237479 | macros/luatex/latex/piton/piton.dtx
@@ -68,34 +134,28 @@
2023/09/05 | 2211 | fonts/khatalmaqala/sample-of-khatalmaqala.tex
2023/09/05 | 217924 | macros/latex/contrib/stellenbosch-2/doc/templates/template-stb-report-eng.zip
2023/09/05 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua
-2023/09/05 | 21038550 | systems/texlive/tlnet/install-tl-windows.exe
2023/09/05 | 20965 | macros/latex/contrib/l3build/CHANGELOG.md
2023/09/05 | 207848 | fonts/khatalmaqala/ttf/khatalmaqala-bolditalic.ttf
2023/09/05 | 201992 | systems/texlive/tlnet/archive/arsenal.r68169.tar.xz
2023/09/05 | 2008 | systems/texlive/tlnet/archive/collection-fontsextra.r68169.tar.xz
2023/09/05 | 197004 | fonts/khatalmaqala/ttf/khatalmaqala-regular.ttf
2023/09/05 | 195909 | macros/latex/contrib/photobook.zip
+2023/09/05 | 1940 | fonts/arsenal/Makefile
2023/09/05 | 1907844 | systems/texlive/tlnet/archive/bib2gls.r68172.tar.xz
2023/09/05 | 186120 | systems/texlive/tlnet/archive/highlightx.doc.r68171.tar.xz
2023/09/05 | 185519 | macros/latex/contrib/stellenbosch-2/source/stb-thesis.zip
-2023/09/05 | 18231496 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2023/09/05 | 1816 | macros/latex/contrib/l3build/l3build.1
2023/09/05 | 1799480 | systems/texlive/tlnet/archive/bib2gls.source.r68172.tar.xz
2023/09/05 | 17894 | macros/latex/contrib/photobook/scripts/make-spreads.sh
2023/09/05 | 174746 | macros/latex/contrib/photobook/photobook.cls
2023/09/05 | 169376 | macros/luatex/generic/blopentype.zip
2023/09/05 | 16840 | systems/texlive/tlnet/archive/metsymb.r68175.tar.xz
-2023/09/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2023/09/05 | 167212 | fonts/khatalmaqala/ttf/khatalmaqala-bold.ttf
2023/09/05 | 15712 | systems/texlive/tlnet/archive/metsymb.source.r68175.tar.xz
2023/09/05 | 1540 | macros/latex/contrib/l3build/l3build.ins
-2023/09/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/09/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2023/09/05 | 1527 | macros/latex/contrib/photobook/LICENSE
2023/09/05 | 1482 | fonts/khatalmaqala/README.md
-2023/09/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2023/09/05 | 1452688 | systems/texlive/tlnet/archive/tex4ht.source.r68174.tar.xz
-2023/09/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/09/05 | 14467 | macros/latex/contrib/photobook/scripts/README.md
2023/09/05 | 144593 | macros/latex/contrib/photobook/photobook.pdf
2023/09/05 | 13860 | macros/latex/contrib/fitch/fitchdoc.tex
@@ -105,7 +165,6 @@
2023/09/05 | 13018214 | macros/latex/contrib/stellenbosch-2.zip
2023/09/05 | 1262983 | macros/latex/contrib/stellenbosch-2/source/stb-beamer.zip
2023/09/05 | 12469 | macros/latex/contrib/l3build/l3build-file-functions.lua
-2023/09/05 | 114096 | systems/texlive/tlnet/archive/texlive-scripts.r68167.tar.xz
2023/09/05 | 113921 | macros/latex/contrib/stellenbosch-2/source/info.zip
2023/09/05 | 112740 | macros/latex/contrib/l3build/l3build.dtx
2023/09/05 | 11070 | macros/latex/contrib/l3build/l3build-install.lua
@@ -126,7 +185,6 @@
2023/09/04 | 7354904 | macros/latex/contrib/mitthesis.zip
2023/09/04 | 7325 | macros/latex/contrib/fitch/fitchdoc-dimen.pdf
2023/09/04 | 73107 | support/bib2gls/examples/sample-textsymbols.pdf
-2023/09/04 | 7250 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/09/04 | 720294 | support/bib2gls/bib2gls-begin.pdf
2023/09/04 | 7108 | support/bib2gls/convertgls2bib.1
2023/09/04 | 7088 | systems/texlive/tlnet/archive/wrapfig2.r68164.tar.xz
@@ -151,7 +209,6 @@
2023/09/04 | 54287 | support/bib2gls/examples/sample-bacteria.pdf
2023/09/04 | 54079 | support/bib2gls/examples/sample-chemical.pdf
2023/09/04 | 5352169 | support/bib2gls/bib2gls.pdf
-2023/09/04 | 527741 | fonts/arsenal.zip
2023/09/04 | 52578 | support/bib2gls/examples/sample-nested.pdf
2023/09/04 | 52565 | support/bib2gls/examples/sample-hierarchical.pdf
2023/09/04 | 51932 | support/bib2gls/bib2gls-en.xml
@@ -183,6 +240,7 @@
2023/09/04 | 37280 | systems/texlive/tlnet/archive/proflycee.r68162.tar.xz
2023/09/04 | 3725770 | macros/latex/contrib/mitthesis/mitthesis.zip
2023/09/04 | 3672 | support/bib2gls/examples/mathsobjects.bib
+2023/09/04 | 362 | fonts/arsenal/arsenal.ins
2023/09/04 | 359276 | systems/texlive/tlnet/archive/bibcop.doc.r68160.tar.xz
2023/09/04 | 3496 | support/bib2gls/examples/books.bib
2023/09/04 | 338 | support/bib2gls/examples/interpret-preamble2.bib
@@ -239,6 +297,7 @@
2023/09/04 | 1376648 | systems/texlive/tlnet/archive/proflycee.doc.r68162.tar.xz
2023/09/04 | 1371 | support/bib2gls/examples/citations.bib
2023/09/04 | 1344 | support/bib2gls/examples/sample-nested.tex
+2023/09/04 | 1343 | fonts/arsenal/arsenal.bib
2023/09/04 | 130 | biblio/biber/biber-linux-aarch64/README
2023/09/04 | 1291 | support/bib2gls/examples/sample-chemical.tex
2023/09/04 | 12775 | support/bib2gls/examples/sample-multi2.tex
@@ -262,7 +321,6 @@
2023/09/04 | 1070 | support/bib2gls/examples/sample-units1.tex
2023/09/04 | 1031 | support/bib2gls/examples/baseunits.bib
2023/09/04 | 1009028 | info/biblio/texbook3.bib
-2023/09/03 | 9925 | fonts/arsenal/arsenal.dtx
2023/09/03 | 9874 | systems/win32/miktex/tm/packages/penlightplus.tar.lzma
2023/09/03 | 9810 | macros/latex/contrib/proflycee/tex/proflycee-tools-ecritures.tex
2023/09/03 | 9665 | systems/win32/miktex/tm/packages/highlightx__source.tar.lzma
@@ -308,7 +366,6 @@
2023/09/03 | 7583 | systems/win32/miktex/tm/packages/luamaths__source.tar.lzma
2023/09/03 | 7497 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
2023/09/03 | 748633 | systems/win32/miktex/tm/packages/piton__doc.tar.lzma
-2023/09/03 | 74824 | fonts/arsenal/arsenal.pdf
2023/09/03 | 74636 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
2023/09/03 | 74274 | systems/win32/miktex/tm/packages/texlogsieve__doc.tar.lzma
2023/09/03 | 73303 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
@@ -325,7 +382,6 @@
2023/09/03 | 67776 | systems/win32/miktex/tm/packages/siunitx.tar.lzma
2023/09/03 | 6764 | systems/win32/miktex/tm/packages/ppt-slides__source.tar.lzma
2023/09/03 | 67224 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2023/09/03 | 67018 | fonts/arsenal/sample-text.pdf
2023/09/03 | 65819 | systems/win32/miktex/tm/packages/teubner__source.tar.lzma
2023/09/03 | 6511 | systems/win32/miktex/tm/packages/notomath__source.tar.lzma
2023/09/03 | 64557 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
@@ -358,7 +414,6 @@
2023/09/03 | 5500 | systems/texlive/tlnet/archive/cahierprof.r68148.tar.xz
2023/09/03 | 54620 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2023/09/03 | 54084 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2023/09/03 | 54073 | fonts/arsenal/sample-math-iwona.pdf
2023/09/03 | 53904 | systems/win32/miktex/tm/packages/pdfmanagement-testphase.tar.lzma
2023/09/03 | 536974 | systems/win32/miktex/tm/packages/xstring__doc.tar.lzma
2023/09/03 | 5343 | systems/win32/miktex/tm/packages/penlightplus__source.tar.lzma
@@ -368,7 +423,6 @@
2023/09/03 | 530011 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2023/09/03 | 529 | macros/latex/contrib/proflycee/doc/testscript.py
2023/09/03 | 52545 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2023/09/03 | 5234 | fonts/arsenal/sample-math.dtx
2023/09/03 | 519 | macros/latex/contrib/highlightx/README.md
2023/09/03 | 516829 | systems/win32/miktex/tm/packages/schooldocs__doc.tar.lzma
2023/09/03 | 5100 | biblio/bibtex/utils/bibcop/bibcop-logo.pdf
@@ -383,7 +437,6 @@
2023/09/03 | 47054 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2023/09/03 | 46874 | systems/win32/miktex/tm/packages/l3packages__source.tar.lzma
2023/09/03 | 465339 | macros/latex/contrib/updatemarks.zip
-2023/09/03 | 46128 | fonts/arsenal/sample-math-kpsans.pdf
2023/09/03 | 460336 | systems/win32/miktex/tm/packages/lwarp__source.tar.lzma
2023/09/03 | 459124 | macros/latex/contrib/updatemarks/doc/updatemarks.pdf
2023/09/03 | 45888 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
@@ -393,7 +446,6 @@
2023/09/03 | 44170 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2023/09/03 | 440529 | systems/win32/miktex/tm/packages/rank-2-roots__doc.tar.lzma
2023/09/03 | 43836 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2023/09/03 | 4372 | fonts/arsenal/LICENSE_FONTS
2023/09/03 | 43719 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
2023/09/03 | 4359 | systems/win32/miktex/tm/packages/ppt-slides.tar.lzma
2023/09/03 | 4331 | systems/win32/miktex/tm/packages/rank-2-roots.tar.lzma
@@ -454,7 +506,6 @@
2023/09/03 | 27630 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2023/09/03 | 2760 | biblio/bibtex/utils/bibcop/README.md
2023/09/03 | 27578 | systems/win32/miktex/tm/packages/numerica-plus__source.tar.lzma
-2023/09/03 | 274 | fonts/arsenal/arsenal.ins
2023/09/03 | 27293 | systems/win32/miktex/tm/packages/numerica-tables__source.tar.lzma
2023/09/03 | 271656 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2023/09/03 | 27136 | systems/win32/miktex/tm/packages/wrapfig2__source.tar.lzma
@@ -525,7 +576,6 @@
2023/09/03 | 16592 | systems/win32/miktex/tm/packages/pxchfon.tar.lzma
2023/09/03 | 16215 | systems/win32/miktex/tm/packages/xetexref__source.tar.lzma
2023/09/03 | 16191 | systems/win32/miktex/tm/packages/udes-genie-these__source.tar.lzma
-2023/09/03 | 1611 | fonts/arsenal/Makefile
2023/09/03 | 16048 | biblio/bibtex/utils/bibcop/bibcop.dtx
2023/09/03 | 16028 | systems/texlive/tlnet/archive/context-handlecsv.r68150.tar.xz
2023/09/03 | 157346 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
@@ -544,7 +594,6 @@
2023/09/03 | 140620 | systems/win32/miktex/tm/packages/udes-genie-these__doc.tar.lzma
2023/09/03 | 140423 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2023/09/03 | 137729 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2023/09/03 | 1340 | fonts/arsenal/arsenal.bib
2023/09/03 | 1340246 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2023/09/03 | 133898 | systems/win32/miktex/tm/packages/ptex-manual__source.tar.lzma
2023/09/03 | 13083 | systems/win32/miktex/tm/packages/commutative-diagrams.tar.lzma
@@ -560,16 +609,12 @@
2023/09/03 | 117096 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
2023/09/03 | 1167686 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
2023/09/03 | 116539 | systems/win32/miktex/tm/packages/novel.tar.lzma
-2023/09/03 | 115628 | fonts/arsenal/Arsenal-Bold.otf
2023/09/03 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
-2023/09/03 | 114436 | fonts/arsenal/Arsenal-Regular.otf
2023/09/03 | 1135221 | systems/win32/miktex/tm/packages/proflycee__doc.tar.lzma
2023/09/03 | 11350 | systems/win32/miktex/tm/packages/schooldocs__source.tar.lzma
2023/09/03 | 1125438 | systems/win32/miktex/tm/packages/hvextern__doc.tar.lzma
2023/09/03 | 112043 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2023/09/03 | 1113193 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
-2023/09/03 | 109912 | fonts/arsenal/Arsenal-BoldItalic.otf
-2023/09/03 | 109884 | fonts/arsenal/Arsenal-Italic.otf
2023/09/03 | 109776 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
2023/09/03 | 10955 | systems/win32/miktex/tm/packages/huawei__source.tar.lzma
2023/09/03 | 1095407 | systems/win32/miktex/tm/packages/teubner__doc.tar.lzma
@@ -649,7 +694,6 @@
2023/09/02 | 122960 | systems/texlive/tlnet/archive/siunitx.source.r68140.tar.xz
2023/09/02 | 1206 | info/ptex-manual/README.md
2023/09/02 | 115974 | info/ptex-manual/ptex-guide-en.pdf
-2023/09/02 | 1065 | fonts/arsenal/README
2023/09/02 | 10596 | systems/texlive/tlnet/archive/huawei.source.r68139.tar.xz
2023/09/02 | 1012994 | info/ptex-manual/eptex_resume.pdf
2023/09/01 | 9889 | macros/latex/contrib/jwjournal/README.md
@@ -711,7 +755,6 @@
2023/09/01 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex
2023/09/01 | 25170 | macros/latex/contrib/stellenbosch-2/tex/stb-thesis.cls
2023/09/01 | 2493 | macros/latex/contrib/stellenbosch-2/README
-2023/09/01 | 2228328 | systems/texlive/tlnet/archive/mitthesis.doc.r68126.tar.xz
2023/09/01 | 22231 | macros/latex/contrib/siunitx/siunitx.dtx
2023/09/01 | 2128908 | systems/texlive/tlnet/archive/tagpdf.doc.r68128.tar.xz
2023/09/01 | 2087 | macros/latex/contrib/iwonamath/sample.tex
@@ -736,7 +779,6 @@
2023/09/01 | 1546902 | macros/latex/contrib/siunitx.zip
2023/09/01 | 15234 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
2023/09/01 | 151780 | systems/texlive/tlnet/archive/texlive-msg-translations.r68130.tar.xz
-2023/09/01 | 14940 | systems/texlive/tlnet/archive/mitthesis.r68126.tar.xz
2023/09/01 | 13586 | macros/latex/contrib/iwonamath/iwonamath.dtx
2023/09/01 | 1321 | macros/latex/contrib/iwonamath/ot1iwonamathlc.fd
2023/09/01 | 13165 | info/install-latex-guide-zh-cn/chapter/ubuntu.tex
@@ -906,130 +948,3 @@
2023/08/31 | 10207 | macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
2023/08/31 | 1004 | macros/luatex/generic/luaotfload/luaotfload-embolden.lua
2023/08/31 | 1004836 | systems/texlive/tlnet/archive/xepersian.doc.r68117.tar.xz
-2023/08/30 | 990 | macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex
-2023/08/30 | 950 | macros/latex/contrib/tagpdf/ex-formula-problem.tex
-2023/08/30 | 938 | fonts/metsymb/CHANGELOG
-2023/08/30 | 934 | fonts/metsymb/source/metsymb_mwe.py
-2023/08/30 | 9208 | fonts/metsymb/CONTRIBUTING.md
-2023/08/30 | 8746688 | systems/texlive/tlnet/archive/pdfmanagement-testphase.doc.r68107.tar.xz
-2023/08/30 | 8625 | fonts/metsymb/source/metsymb.pfb
-2023/08/30 | 8436 | systems/texlive/tlnet/archive/hvextern.r68104.tar.xz
-2023/08/30 | 8281 | macros/latex/contrib/tagpdf/global-ex.png
-2023/08/30 | 827 | macros/latex/contrib/tagpdf/ex-softhyphen.tex
-2023/08/30 | 813792 | systems/texlive/tlnet/archive/babel.source.r68111.tar.xz
-2023/08/30 | 788860 | systems/texlive/tlnet/archive/ppt-slides.doc.r68108.tar.xz
-2023/08/30 | 7854 | macros/latex/contrib/tagpdf/ex-formula-problem-luatex.pdf
-2023/08/30 | 777229 | macros/xetex/latex/xepersian/xepersian.pdf
-2023/08/30 | 71387 | macros/xetex/latex/xepersian/xepersian-doc-basics.ltx
-2023/08/30 | 700 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
-2023/08/30 | 698 | macros/latex/contrib/tagpdf/ex-tagpdf-template.tex
-2023/08/30 | 6936 | systems/texlive/tlnet/archive/texfot.r68110.tar.xz
-2023/08/30 | 690418 | macros/latex/contrib/mathastext.zip
-2023/08/30 | 68820 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
-2023/08/30 | 66 | fonts/metsymb/AUTHORS
-2023/08/30 | 6626 | macros/latex/contrib/tagpdf/ex-attribute-luatex.pdf
-2023/08/30 | 6364 | systems/texlive/tlnet/archive/ppt-slides.source.r68108.tar.xz
-2023/08/30 | 61129 | fonts/metsymb/source/metsymb.sfd
-2023/08/30 | 60 | fonts/metsymb/source/metsymb_mwe.mplstyle
-2023/08/30 | 598548 | systems/texlive/tlnet/archive/l3kernel.source.r68106.tar.xz
-2023/08/30 | 574466 | macros/latex/contrib/mathastext/mathastext.pdf
-2023/08/30 | 5461 | macros/latex/contrib/mathastext/README.md
-2023/08/30 | 5447 | macros/xetex/latex/xepersian/xepersian-doc-envcs.ltx
-2023/08/30 | 53708 | systems/texlive/tlnet/archive/pdfmanagement-testphase.r68107.tar.xz
-2023/08/30 | 514716 | systems/texlive/tlnet/archive/schooldocs.doc.r68109.tar.xz
-2023/08/30 | 5109 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
-2023/08/30 | 5101 | fonts/metsymb/README.md
-2023/08/30 | 49177 | fonts/metsymb/source/testfont.pdf
-2023/08/30 | 465275 | info/biblio/texbook2.bib
-2023/08/30 | 4593 | macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
-2023/08/30 | 455333 | fonts/metsymb.zip
-2023/08/30 | 454 | macros/xetex/latex/xepersian/xepersian-doc.ltx
-2023/08/30 | 44905 | macros/latex/contrib/tagpdf/tagpdf-roles.dtx
-2023/08/30 | 44287 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
-2023/08/30 | 43450 | graphics/pgf/contrib/hobby/hobby.tex
-2023/08/30 | 431339 | macros/latex/contrib/mathastext/mathastext.dtx
-2023/08/30 | 420 | fonts/metsymb/source/metsymb.tfm
-2023/08/30 | 4172 | systems/texlive/tlnet/archive/ppt-slides.r68108.tar.xz
-2023/08/30 | 4149 | macros/xetex/latex/xepersian/xepersian-doc-preamble.ltx
-2023/08/30 | 410 | macros/xetex/latex/xepersian/xepersian-doc-boolean.ltx
-2023/08/30 | 4102 | macros/latex/contrib/tagpdf/ex-alt-actualtext.tex
-2023/08/30 | 3962 | macros/latex/contrib/tagpdf/tagpdf.ins
-2023/08/30 | 3923705 | info/biblio/tugboat.bib
-2023/08/30 | 38725 | macros/xetex/latex/xepersian/ftxe-0.12.py
-2023/08/30 | 37463 | macros/latex/contrib/tagpdf/tagpdf-data.dtx
-2023/08/30 | 35164 | systems/texlive/tlnet/archive/texfot.doc.r68110.tar.xz
-2023/08/30 | 343316 | macros/xetex/latex/xepersian/xepersian.dtx
-2023/08/30 | 34221 | macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf
-2023/08/30 | 33669 | macros/latex/contrib/tagpdf/tagpdf-checks.dtx
-2023/08/30 | 336476 | systems/texlive/tlnet/archive/pxchfon.doc.r68103.tar.xz
-2023/08/30 | 3359 | fonts/metsymb/CODE_OF_CONDUCT.md
-2023/08/30 | 332267 | fonts/metsymb/source/metsymb.pdf
-2023/08/30 | 32716 | fonts/metsymb/source/metsymb_mwe.pdf
-2023/08/30 | 32607 | macros/latex/contrib/tagpdf/tagpdf-user.dtx
-2023/08/30 | 323017 | macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
-2023/08/30 | 31552 | macros/latex/contrib/tagpdf/ex-list.pdf
-2023/08/30 | 3099 | macros/xetex/latex/xepersian/xepersian-doc-captions.ltx
-2023/08/30 | 3028 | systems/texlive/tlnet/archive/schooldocs.r68109.tar.xz
-2023/08/30 | 28 | fonts/metsymb/source/metsymb.map
-2023/08/30 | 28548 | macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
-2023/08/30 | 2650 | fonts/metsymb/source/metsymb.afm
-2023/08/30 | 2609 | macros/xetex/latex/xepersian/xepersian-doc-intro.ltx
-2023/08/30 | 2590 | fonts/metsymb/source/metsymb.enc
-2023/08/30 | 25876 | macros/xetex/latex/xepersian/xepersian-doc-pkgs.ltx
-2023/08/30 | 24880 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
-2023/08/30 | 24730 | macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
-2023/08/30 | 236376 | macros/xetex/latex/xepersian/xepersian-doc.pdf
-2023/08/30 | 23311 | macros/latex/contrib/tagpdf/acrobat.png
-2023/08/30 | 2278 | macros/latex/contrib/tagpdf/tagpdf-code.tex
-2023/08/30 | 22269 | biblio/bibtex/bibtex-x/ChangeLog
-2023/08/30 | 2192 | biblio/bibtex/bibtex-x/tests/bibtexu-char.test
-2023/08/30 | 21761 | macros/latex/contrib/tagpdf/ex-AF-file.pdf
-2023/08/30 | 21515 | macros/latex/contrib/tagpdf/tagpdf.dtx
-2023/08/30 | 213460 | systems/texlive/tlnet/archive/babel.r68111.tar.xz
-2023/08/30 | 2115 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex
-2023/08/30 | 2108 | macros/xetex/latex/xepersian/xepersian-doc-title.ltx
-2023/08/30 | 2022 | macros/latex/contrib/tagpdf/link-figure-input.tex
-2023/08/30 | 19990 | macros/latex/contrib/tagpdf/ex-formula-problem.pdf
-2023/08/30 | 19976 | systems/texlive/tlnet/archive/pxchfon.r68103.tar.xz
-2023/08/30 | 19160 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
-2023/08/30 | 19087 | macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
-2023/08/30 | 18969 | fonts/metsymb/source/metsymb.dtx
-2023/08/30 | 18938 | macros/latex/contrib/tagpdf/ex-attribute.pdf
-2023/08/30 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
-2023/08/30 | 18304 | macros/xetex/latex/xepersian/img/ireland.jpg
-2023/08/30 | 17742 | macros/latex/contrib/tagpdf/ex-alt-actualtext-luatex.pdf
-2023/08/30 | 17623 | macros/latex/contrib/tagpdf/tagpdf-tree.dtx
-2023/08/30 | 173872 | systems/texlive/tlnet/archive/l3kernel.r68106.tar.xz
-2023/08/30 | 1730 | macros/latex/contrib/tagpdf/tagpdf.bib
-2023/08/30 | 1658 | biblio/bibtex/bibtex-x/tests/bibtex8u-mem.test
-2023/08/30 | 16448 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
-2023/08/30 | 16351 | macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
-2023/08/30 | 15976 | macros/xetex/latex/xepersian/dkun-0.3.py
-2023/08/30 | 15884 | macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
-2023/08/30 | 15867 | macros/xetex/latex/xepersian/dkun-0.4.py
-2023/08/30 | 1571495 | macros/latex/contrib/tagpdf/tagpdf-code.pdf
-2023/08/30 | 1494 | fonts/metsymb/LICENSE
-2023/08/30 | 14904 | fonts/metsymb/source/metsymb.otf
-2023/08/30 | 14616 | macros/xetex/latex/xepersian/img/weather/rain.jpg
-2023/08/30 | 1445 | macros/latex/contrib/tagpdf/ex-structure-obsolete.tex
-2023/08/30 | 141163 | macros/latex/contrib/tagpdf/pac3.PNG
-2023/08/30 | 1390 | macros/xetex/latex/xepersian/README
-2023/08/30 | 13804 | macros/xetex/latex/xepersian/undk-0.6.py
-2023/08/30 | 137424 | systems/texlive/tlnet/archive/pdfmanagement-testphase.source.r68107.tar.xz
-2023/08/30 | 1325 | macros/latex/contrib/tagpdf/ex-attribute.tex
-2023/08/30 | 13088 | macros/xetex/latex/xepersian/img/weather/clouds.jpg
-2023/08/30 | 1288932 | install/macros/xetex/latex/xepersian.tds.zip
-2023/08/30 | 1237 | fonts/metsymb/source/metsymb.ins
-2023/08/30 | 12348 | macros/xetex/latex/xepersian/unldk-0.2.py
-2023/08/30 | 123030 | macros/latex/contrib/tagpdf/tagpdf.tex
-2023/08/30 | 12007176 | systems/texlive/tlnet/archive/l3kernel.doc.r68106.tar.xz
-2023/08/30 | 1177 | macros/latex/contrib/tagpdf/README.md
-2023/08/30 | 1160 | macros/latex/contrib/tagpdf/ex-AF-file.tex
-2023/08/30 | 1136200 | systems/texlive/tlnet/archive/hvextern.doc.r68104.tar.xz
-2023/08/30 | 1123565 | macros/xetex/latex/xepersian.zip
-2023/08/30 | 110 | fonts/metsymb/source/umetsymb.fd
-2023/08/30 | 10996 | systems/texlive/tlnet/archive/schooldocs.source.r68109.tar.xz
-2023/08/30 | 10896 | macros/xetex/latex/xepersian/img/weather/sun.jpg
-2023/08/30 | 1082447 | macros/latex/contrib/tagpdf/tagpdf.pdf
-2023/08/30 | 1063 | macros/latex/contrib/tagpdf/ex-list.tex
-2023/08/30 | 1021980 | systems/texlive/tlnet/archive/babel.doc.r68111.tar.xz
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 6a34bd42c0..b28d330b28 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 06-09-2023, 02:01:08
+%% created at 07-09-2023, 02:00:13
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -3297,8 +3297,8 @@
title = {The \texttt{arsenal} package},
subtitle = {Open Type font by Andrij Shevchenko},
author = {Boris Veytsman},
- date = {2023-09-05},
- version = {0.1},
+ date = {2023-09-06},
+ version = {0.2},
license = {ofl,lppl1.3c},
mirror = {https://mirror.ctan.org/fonts/arsenal},
url = {https://ctan.org/pkg/arsenal},
@@ -25625,7 +25625,7 @@
title = {The \texttt{fitch} package},
subtitle = {\LaTeX{} macros for Fitch-style natural deduction},
author = {Richard Zach},
- date = {2023-09-05},
+ date = {2023-09-06},
version = {0.6},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/fitch},
@@ -49401,8 +49401,8 @@
title = {The \texttt{numerica-tables} package},
subtitle = {Create multi-column tables of mathematical functions},
author = {Andrew Parsloe},
- date = {2023-08-22},
- version = {3.0.0},
+ date = {2023-09-06},
+ version = {3.1.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/numerica-tables},
url = {https://ctan.org/pkg/numerica-tables},
@@ -51251,6 +51251,17 @@
url = {https://ctan.org/pkg/parselines},
}
+@manual{ctan-parsinevis,
+ title = {The \texttt{parsinevis} package},
+ subtitle = {“Scheherazade New” adapted for Persian typesetting and scientific writings},
+ author = {Sajad Kazemi},
+ date = {2023-09-06},
+ version = {1.0},
+ license = {ofl},
+ mirror = {https://mirror.ctan.org/fonts/parsinevis},
+ url = {https://ctan.org/pkg/parsinevis},
+}
+
@manual{ctan-parsitex,
title = {The \texttt{parsitex} package},
subtitle = {A localized Persian and bidirectional extension of \TeX{}},
@@ -59338,6 +59349,17 @@
url = {https://ctan.org/pkg/roboto},
}
+@manual{ctan-robust-externalize,
+ title = {The \texttt{robust-externalize} package},
+ subtitle = {Cache anything (TikZ, python, ...) in a robust, efficient and pure way},
+ author = {Léo Colisson},
+ date = {2023-09-06},
+ version = {1.0},
+ license = {mit},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/robust-externalize},
+ url = {https://ctan.org/pkg/robust-externalize},
+}
+
@manual{ctan-robustcommand,
title = {The \texttt{robustcommand} package},
subtitle = {Declare robust command, with \textbackslash{}newcommand checks},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index bcf883aa8b..85fb17c6f3 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/fonts/arsenal/Makefile b/fonts/arsenal/Makefile
index 4ca8e0e4f3..c550b15f5f 100644
--- a/fonts/arsenal/Makefile
+++ b/fonts/arsenal/Makefile
@@ -6,7 +6,11 @@ FONTS = \
Arsenal-Italic.otf \
Arsenal-Regular.otf
-SAMPLES = sample-math-iwona.tex sample-math-kpsans.tex sample-text.tex
+SAMPLES = \
+ sample-math-arsenal+kpsans.tex \
+ sample-math-iwona.tex \
+ sample-math-kpsans.tex \
+ sample-text.tex
PDF = $(PACKAGE).pdf ${SAMPLES:%.tex=%.pdf}
@@ -35,6 +39,16 @@ all: ${PDF} $(PACKAGE).sty $(FONTS) LICENSE_FONTS
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
do xelatex $<; done
+
+sample-math-arsenal+kpsans.pdf: sample-math-arsenal+kpsans.tex $(PACKAGE).sty $(FONTS)
+ lualatex $<
+ - bibtex sample-math-arsenal+kpsans
+ lualatex $<
+ lualatex $<
+ while ( grep -q '^LaTeX Warning: Label(s) may have changed' sample-math-arsenal+kpsans.log) \
+ do lualatex $<; done
+
+
sample-math-%.tex: $(PACKAGE).ins sample-math.dtx
xelatex $<
diff --git a/fonts/arsenal/README b/fonts/arsenal/README
index 0868e9e8e0..46a8e05837 100644
--- a/fonts/arsenal/README
+++ b/fonts/arsenal/README
@@ -20,3 +20,14 @@ From https://github.com/alexeiva/Arsenal
somewhat lyrical sentiment abides to the Ukrainian nature of the font.
This package provides the fonts and LaTeX support for them with matching math.
+
+Changes:
+
+ Version 0.2, 2023-09-05. Added option math=arsenal+kpsans: a mix
+ of Arsenal and KpSans glyphs. At present
+ the correct spacing works only with
+ LuaTeX. Now the default for math is
+ iwona, if XeTeX is detected, and
+ arsenal+kpsans, if LuaTeX is detected.
+
+ Version 0.1, 2023-09-03. The first release version. \ No newline at end of file
diff --git a/fonts/arsenal/arsenal.bib b/fonts/arsenal/arsenal.bib
index fcfc2a1059..81a712bd7e 100644
--- a/fonts/arsenal/arsenal.bib
+++ b/fonts/arsenal/arsenal.bib
@@ -42,7 +42,7 @@ year = 2023,
@manual{free-math-font-survey,
title = {The \pkg{free-math-font-survey} package},
subtitle = {A survey of available free Mathematics fonts},
-author = {Hartke, Stephen},
+author = {Hartke, Stephen G.},
url = {https://ctan.org/pkg/free-math-font-survey},
urldate = {2023-09-02},
date = {2006-11-07},
diff --git a/fonts/arsenal/arsenal.dtx b/fonts/arsenal/arsenal.dtx
index 3607489c58..16db2a0a07 100644
--- a/fonts/arsenal/arsenal.dtx
+++ b/fonts/arsenal/arsenal.dtx
@@ -17,11 +17,11 @@
\usepackage[tableposition=top]{caption}
\urlstyle{rm}
\begin{document}
+ \RecordChanges
\DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
-%
% \GetFileInfo{arsenal.sty}
% \title{\pkg{arsenal}---\LaTeX\ support of Arsenal fonts by Andrij Shevchenko}
% \date{\fileversion, \filedate}
@@ -69,6 +69,7 @@
%\label{sec:ug-options}
%
% \begin{variable}{default, sfdefault, math, scale, Scale}
+% \changes{v0.2}{2023/09/04}{Added arsenal+kpsans value for math option}
% The options for the package use the key-value interface.
% The part |=true| for the boolean options can be dropped.
%
@@ -79,12 +80,28 @@
% \item[sfdefault] whether to make Arsenal the sans serif font of your
% document, either |true| or |false| (the default).
% \item[math] whether to enable math support. The currently
-% recognized options are |none|, |kpsans|, and |iwona|. The
-% default depends on whether Arsenal is your main font: it is
-% |iwona| if yes, and |none| otherwise. If |iwona| is selected, we use
-% \pkg{iwonamath}~\citep{iwonamath}. If |kpsans| is selected,
-% we use \textsc{otf} version of KpSans
-% fonts~\citep{kpfonts-otf}.
+% recognized options are |none|, |arsenal+kpsans|, |kpsans|, and
+% |iwona|. The meaning is the following:
+% \begin{description}
+% \item[arsenal+kpsans] Use native font for math, adding missing
+% letter from the \textsc{otf} version of KpSans
+% font~\citep{kpfonts-otf}. Unfortunately this option presently
+% does not work properly with \XeTeX, using wrong font
+% dimensions resulting in rather bad spacing.
+% \item[kpsans] Use \textsc{otf} version of KpSans
+% font~\citep{kpfonts-otf} for math.
+% \item[iwona] Use use \pkg{iwonamath}~\citep{iwonamath} for math.
+% \item[none] Do not define math fonts, leaving the math setup to the user.
+% \end{description}
+% The default depends on whether Arsenal is your main font and
+% which engine is used:
+% \begin{enumerate}
+% \item If Arsenal is the main font, and \XeTeX\ is used, then
+% |iwona|.
+% \item If Arsenal is the main font, and Lua\TeX\ is used, then
+% |arsenal+kpsans|.
+% \item If Arsenal is not your main font, then |none|.
+% \end{enumerate}
% \item[scale] the scale for the font, by default 0.89. The option
% |Scale| is a synonym.
% \end{description}
@@ -162,8 +179,29 @@
% \cs{textsmileblack} (\textsmileblack).
% \end{function}
%
-% \end{documentation}
%
+%\subsection{Math support}
+%\label{sec:ug-math}
+% \changes{v0.2}{2023/09/04}{Added a section about math support}
+%
+% The support of math is presently experimental. We offer several
+% options, as discussed above in Section~\ref{sec:ug-options}. Iwona font
+% matches Arsenal in color and sizes, but some letters and proportions
+% are different from those for Arsenal. KpSans seems to be slightly
+% darker. The option of taking Latin letters from Arsenal and the
+% missing symbols from KpSans is attractive, but is currently
+% recommended for Lua\TeX\ only, since the font parameters seem to be
+% misinterpreted by the \XeTeX\ engine.
+%
+%
+% As discussed in \pkg{kpsans} documentation, if you use this package
+% (options |kpsans| and |arsenal+kpsans|), do \emph{not} use
+% \pkg{amssymb}. The corresponding symbols are reimplemented in
+% \pkg{kpsans}, and (almost) all \pkg{amssymb} commands are available
+% by default when one of these options is chosen.
+%
+% \end{documentation}
+% \clearpage
%
% \begin{implementation}
%
@@ -182,7 +220,7 @@
%<@@=arsenal>
%<*package>
\ProvidesExplPackage {arsenal}
-{2023-09-03} {0.1}
+{2023-09-05} {v0.2}
{Arsenal font by Andrij Shevchenko}
% \end{macrocode}
%
@@ -206,10 +244,10 @@
\keys_define:nn {arsenal}
{
default .bool_set:N = \l_@@_default_bool,
- defaul .default:n = true,
+ default .default:n = true,
sfdefault .bool_set:N = \l_@@_sfdefault_bool,
sfdefault .default:n = true,
- math .choices:nn = {none, kpsans, iwona}
+ math .choices:nn = {none, arsenal+kpsans, kpsans, iwona}
{\tl_set_eq:NN \l_@@_math_tl \l_keys_choice_tl },
scale .tl_set:N = \l_@@_scale_tl,
Scale .tl_set:N = \l_@@_scale_tl,
@@ -239,7 +277,13 @@
{
\bool_if:NTF \l_@@_default_bool
{
- \tl_set:Nn \l_@@_math_tl {iwona}
+ \sys_if_engine_xetex:TF
+ {
+ \tl_set:Nn \l_@@_math_tl {iwona}
+ }
+ {
+ \tl_set:Nn \l_@@_math_tl {arsenal+kpsans}
+ }
}
{
\tl_set:Nn \l_@@_math_tl {none}
@@ -302,7 +346,7 @@
% \texttenge,
% \textruble
% }
-% Currency symbolse
+% Currency symbols
% \begin{macrocode}
\DeclareUnicodeSymbol{\texthryvnia} {"20B4}
\DeclareUnicodeSymbol{\texttugrik} {"20AE}
@@ -339,7 +383,10 @@
}
% \end{macrocode}
%
-% Now kpsans. Mostly from~\citep{kpfonts-otf}.
+% \changes{v0.2}{2023/09/04}{Separate scaling for upper and lowercase
+% for kpsans}
+% Now kpsans, see~\citep{kpfonts-otf}. We adjust separately
+% upper and lower cases\ldots
% \begin{macrocode}
\tl_if_eq:NnT \l_@@_math_tl {kpsans}
{
@@ -355,9 +402,101 @@
Scale=\l_@@_tmp_tl,
BoldFont=KpMath-SansBold.otf]
+ \setmathfont{KpMath-Sans.otf}[
+ range={
+ scr/{Latin},
+ bfscr/{Latin},
+ frak/{Latin},
+ bffrak/{Latin},
+ up/{Latin, Greek, misc},
+ bb/{Latin, Greek, misc},
+ it/{Latin, Greek, misc},
+ bbit/{Latin, Greek, misc},
+ tt/{Latin, Greek, misc},
+ sfup/{Latin, Greek, misc},
+ sfit/{Latin, Greek, misc},
+ bfup/{Latin, Greek, misc},
+ bfit/{Latin, Greek, misc},
+ bfsfup/{Latin, Greek, misc},
+ bfsfit/{Latin, Greek, misc},
+ },
+ Scale=\fp_to_tl:n {\l_@@_tmp_tl * 0.9},
+ BoldFont=KpMath-SansBold.otf]
}
% \end{macrocode}
%
+% \changes{v0.2}{2023/09/04}{Added the warining about using
+% arsenal+kpsans with \XeTeX}
+% And arsenal+kpsans. We again adjust separately upper and lower cases\ldots
+% \begin{macrocode}
+\tl_if_eq:NnT \l_@@_math_tl {arsenal+kpsans}
+{
+ \sys_if_engine_xetex:T
+ {
+ \ClassWarningNoLine{arsenal}{Option~ arsenal+kpsans~ may~ not~ work~
+ with~ XeTeX~ engine.~ Please~ use~ lualatex}
+ }
+ \tl_set:Ne \l_@@_tmp_tl {\fp_to_tl:n {\l_@@_scale_tl * 1.1}}
+ \RequirePackage[symbols]{kpfonts-otf}
+
+ \setmathfont{KpMath-Sans.otf}[
+ Scale=\l_@@_tmp_tl,
+ BoldFont=KpMath-SansBold.otf]
+
+ \setmathfont{KpMath-Sans.otf}[
+ range={cal/{Latin},bfcal/{Latin}},
+ RawFeature=+ss01,
+ Scale=\fp_to_tl:n {\l_@@_tmp_tl * 0.9},
+ BoldFont=KpMath-SansBold.otf]
+
+ \setmathfont{KpMath-Sans.otf}[
+ range={
+ scr/{Latin, num},
+ bfscr/{Latin, num},
+ frak/{Latin, num},
+ bffrak/{Latin, num},
+ up/{Greek, misc, num},
+ bb/{Latin, Greek, misc, num},
+ it/{Greek, misc, num},
+ bbit/{Greek, misc, num},
+ tt/{Greek, misc, num},
+ sfup/{Greek, misc, num},
+ sfit/{Greek, misc, num},
+ bfup/{Greek, misc, num},
+ bfit/{Greek, misc, num},
+ bfsfup/{Greek, misc, num},
+ bfsfit/{Greek, misc, num},
+ },
+ Scale=\fp_to_tl:n {\l_@@_tmp_tl * 0.9},
+ BoldFont=KpMath-SansBold.otf]
+
+
+ \setmathfont{Arsenal-Regular.otf}[
+ range={
+ up/{Latin, latin, num},
+ tt/{Latin, latin, num},
+ sfup/{Latin, latin, num},
+ bfup/{Latin, latin, num},
+ bfsfup/{Latin, latin, num},
+ },
+ Scale=\l_@@_scale_tl,
+ BoldFont=Arsenal-Bold.otf]
+
+ \setmathfont{Arsenal-Italic.otf}[
+ range={
+ it/{Latin, latin, num},
+ bbit/{Latin, latin, num},
+ sfit/{Latin, latin, num},
+ bfit/{Latin, latin, num},
+ bfsfit/{Latin, latin, num},
+ },
+ Scale=\l_@@_scale_tl,
+ BoldFont=Arsenal-BoldItalic.otf]
+
+
+}
+% \end{macrocode}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
@@ -367,5 +506,5 @@
% \bibliographystyle{plainnat}
%
%
-%\PrintIndex
-% \ No newline at end of file
+% \PrintIndex
+% \PrintChanges \ No newline at end of file
diff --git a/fonts/arsenal/arsenal.ins b/fonts/arsenal/arsenal.ins
index 1c172fa202..7d11b835a7 100644
--- a/fonts/arsenal/arsenal.ins
+++ b/fonts/arsenal/arsenal.ins
@@ -7,6 +7,7 @@
\generate
{%
\file{sample-math-iwona.tex}{\from{sample-math.dtx}{iwona}}%
- \file{sample-math-kpsans.tex}{\from{sample-math.dtx}{kpsans}}%
+ \file{sample-math-kpsans.tex}{\from{sample-math.dtx}{kpsans}}%
+ \file{sample-math-arsenal+kpsans.tex}{\from{sample-math.dtx}{arsenal+kpsans}}%
}
\endbatchfile
diff --git a/fonts/arsenal/arsenal.pdf b/fonts/arsenal/arsenal.pdf
index ef65ab08ef..a68e93129b 100644
--- a/fonts/arsenal/arsenal.pdf
+++ b/fonts/arsenal/arsenal.pdf
Binary files differ
diff --git a/fonts/arsenal/sample-math-arsenal+kpsans.pdf b/fonts/arsenal/sample-math-arsenal+kpsans.pdf
new file mode 100644
index 0000000000..b7455cb751
--- /dev/null
+++ b/fonts/arsenal/sample-math-arsenal+kpsans.pdf
Binary files differ
diff --git a/fonts/arsenal/sample-math-iwona.pdf b/fonts/arsenal/sample-math-iwona.pdf
index a62eba25cb..1f972b578d 100644
--- a/fonts/arsenal/sample-math-iwona.pdf
+++ b/fonts/arsenal/sample-math-iwona.pdf
Binary files differ
diff --git a/fonts/arsenal/sample-math-kpsans.pdf b/fonts/arsenal/sample-math-kpsans.pdf
index d24e75bbb8..5b1e606f45 100644
--- a/fonts/arsenal/sample-math-kpsans.pdf
+++ b/fonts/arsenal/sample-math-kpsans.pdf
Binary files differ
diff --git a/fonts/arsenal/sample-math.dtx b/fonts/arsenal/sample-math.dtx
index 7e84d2c398..cf3296ca91 100644
--- a/fonts/arsenal/sample-math.dtx
+++ b/fonts/arsenal/sample-math.dtx
@@ -1,9 +1,13 @@
\documentclass{article}
%<iwona>\usepackage[default, math=iwona]{arsenal}
%<kpsans>\usepackage[default, math=kpsans]{arsenal}
-\usepackage{natbib, hyperref, amsmath}
+%<arsenal+kpsans>\usepackage[default, math=arsenal+kpsans]{arsenal}
+\usepackage{natbib, hyperref, amsmath, bm}
+\urlstyle{rm}
\usepackage{microtype}
\setcounter{secnumdepth}{0}
+\usepackage{hologo}
+\providecommand*\XeTeX{\hologo{XeTeX}}
%<iwona>\usepackage{amssymb}
\usepackage[ukrainian, english]{babel}
\providecommand\pkg[1]{\textit{#1}}
@@ -28,7 +32,10 @@
\title{Sample of Arsenal font with
%<iwona> Iwona
%<kpsans> KpSans
-math}
+%<arsenal+kpsans> Arsenal + KpSans
+math
+%<arsenal+kpsans> (Lua\TeX\ engine)
+}
\author{Boris Veytsman}
\date{Arsenal package version \fileversion, \filedate}
\maketitle
@@ -38,9 +45,10 @@ math}
The samples below are based on the example from~\citep{Hartke06,
- free-math-font-survey}. The math fonts are scaled based on lower
-case characters.
-
+ free-math-font-survey}.
+%<iwona>The math fonts are scaled based on lower case characters.
+%<arsenal+kpsans>Arsenal + KpSans math may not work correctly with
+%<arsenal+kpsans>\XeTeX. Please use Lua\TeX.
\section{English}
\label{sec:english}
@@ -58,25 +66,6 @@ Let $f$ be analytic in the region $G$ except for the isolated singularities $a_1
\[
\max\{|f(z)|:z\in G^-\}=\max \{|f(z)|:z\in \partial G \}.
\]
-\vspace*{-1em}
-
-
-\ABC \quad $\ABC$
-
-\abc \quad $\abc$ \quad $01234567890$
-
-$\AlphaBeta$ \quad $\alphabeta$ \quad $\ell\wp\aleph\infty\propto\emptyset\nabla\partial\mho\imath\jmath\hslash\eth$
-
-$\mathrm{A} \Lambda \Delta \nabla \mathrm{B C D} \Sigma \mathrm{E F} \Gamma \mathrm{G H I J K L M N O} \Theta \Omega \mho \mathrm{P} \Phi \Pi \Xi \mathrm{Q R S T U V W X Y} \Upsilon \Psi \mathrm{Z} $ $ \quad 1234567890 $
-
-%$\mathit{A \Lambda \Delta B C D E F \Gamma G H I J K L M N O \Theta \Omega P \Phi \Pi \Xi Q R S T U V W X Y \Upsilon \Psi Z }$
-
-% don't allow overfull boxes
-{\par \tolerance=0 \emergencystretch=100em $a\alpha b \beta c \partial d \delta e \epsilon \varepsilon f \zeta \xi g \gamma h \hbar \hslash \iota i \imath j \jmath k \kappa \varkappa l \ell \lambda m n \eta \theta \vartheta o \sigma \varsigma \phi \varphi \wp p \rho \varrho q r s t \tau \pi u \mu \nu v \upsilon w \omega \varpi x \chi y \psi z$ \linebreak[3] $\infty \propto \emptyset \varnothing \mathrm{d}\eth \backepsilon$\par}
-
-$\mathcal{\ABC} \quad \mathbb{\ABC}$
-
-{\boldmath $\alpha + b = 27$}
\section{Ukrainian}
\label{sec:ukr}
@@ -100,26 +89,71 @@ $a_k$, і якщо $\gamma\approx 0$ в $G$, то
\[
\max\{|f(z)|:z\in G^-\}=\max \{|f(z)|:z\in \partial G \}.
\]
-\vspace*{-1em}
+\selectlanguage{english}
+
+\section{Alphabets}
+\label{sec:alphabets}
+
+\bgroup
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{1ex}
-\ABC \quad $\ABC$
+Uppercase and math\\
+\ABC\quad \textit{\ABC} \quad $\ABC$
-\abc \quad $\abc$ \quad $01234567890$
+Lowercase and math\\
+\abc\quad\textit{\abc} \quad $\abc$ \quad 0123456789\quad $01234567890$
+
+Greek\\
$\AlphaBeta$ \quad $\alphabeta$ \quad $\ell\wp\aleph\infty\propto\emptyset\nabla\partial\mho\imath\jmath\hslash\eth$
+Lowercase Greek and math\\
+$\abc\quad \alphabeta$
+
+Uppercase Greek and math\\
+$\ABC\quad \AlphaBeta$
+
+Greek and misc\\
$\mathrm{A} \Lambda \Delta \nabla \mathrm{B C D} \Sigma \mathrm{E F} \Gamma \mathrm{G H I J K L M N O} \Theta \Omega \mho \mathrm{P} \Phi \Pi \Xi \mathrm{Q R S T U V W X Y} \Upsilon \Psi \mathrm{Z} $ $ \quad 1234567890 $
+%Mathit\\
%$\mathit{A \Lambda \Delta B C D E F \Gamma G H I J K L M N O \Theta \Omega P \Phi \Pi \Xi Q R S T U V W X Y \Upsilon \Psi Z }$
-% don't allow overfull boxes
-{\par \tolerance=0 \emergencystretch=100em $a\alpha b \beta c \partial d \delta e \epsilon \varepsilon f \zeta \xi g \gamma h \hbar \hslash \iota i \imath j \jmath k \kappa \varkappa l \ell \lambda m n \eta \theta \vartheta o \sigma \varsigma \phi \varphi \wp p \rho \varrho q r s t \tau \pi u \mu \nu v \upsilon w \omega \varpi x \chi y \psi z$ \linebreak[3] $\infty \propto \emptyset \varnothing \mathrm{d}\eth \backepsilon$\par}
+Mathbold\\
+\textbf{\ABC}\quad $\mathbf{\ABC}$\\
+\textbf{\abc}\quad $\mathbf{\abc}$
+
+Math and symbols\\
+$a\alpha b \beta c \partial d \delta e \epsilon \varepsilon f \zeta \xi g \gamma h \hbar \hslash \iota i \imath j \jmath k \kappa \varkappa l \ell \lambda m n \eta \theta \vartheta o \sigma \varsigma \phi \varphi \wp p \rho \varrho q r s t \tau \pi u \mu \nu v \upsilon w \omega \varpi x \chi y \psi z$ \linebreak[3] $\infty \propto \emptyset \varnothing \mathrm{d}\eth \backepsilon$
+
+Mathcal\\
+$\ABC\quad\mathcal{\ABC}$
+
+Mathbb\\
+$\ABC \quad \mathbb{\ABC}$
-$\mathcal{\ABC} \quad \mathbb{\ABC}$
+%<!iwona>Mathscr\\
+%<!iwona>$\ABC \quad \mathscr{\ABC}$
+
+
+Uppercase mathfrak\\
+$\ABC\quad\mathfrak{\ABC}$
+
+Lowercase mathfrak\\
+$\abc\quad\mathfrak{\abc}$
+
+
+Bold math\\
{\boldmath $\alpha + b = 27$}
+Primes:
+$f', f'', f'''$.
+\egroup
+
+
\selectlanguage{english}
\bibliography{arsenal}
\bibliographystyle{plainnat}
diff --git a/fonts/arsenal/sample-text.pdf b/fonts/arsenal/sample-text.pdf
index 7dfff97337..b645892bbf 100644
--- a/fonts/arsenal/sample-text.pdf
+++ b/fonts/arsenal/sample-text.pdf
Binary files differ
diff --git a/fonts/parsinevis/LICENSE b/fonts/parsinevis/LICENSE
new file mode 100644
index 0000000000..abf4829e58
--- /dev/null
+++ b/fonts/parsinevis/LICENSE
@@ -0,0 +1,93 @@
+Copyright 2023 Sajad Kazemi (https://github.com/SajadKazemi/parsinevis)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/fonts/parsinevis/ParsiNevis-Bold.ttf b/fonts/parsinevis/ParsiNevis-Bold.ttf
new file mode 100644
index 0000000000..663d961e6f
--- /dev/null
+++ b/fonts/parsinevis/ParsiNevis-Bold.ttf
Binary files differ
diff --git a/fonts/parsinevis/ParsiNevis-BoldItalic.ttf b/fonts/parsinevis/ParsiNevis-BoldItalic.ttf
new file mode 100644
index 0000000000..a01c758074
--- /dev/null
+++ b/fonts/parsinevis/ParsiNevis-BoldItalic.ttf
Binary files differ
diff --git a/fonts/parsinevis/ParsiNevis-Italic.ttf b/fonts/parsinevis/ParsiNevis-Italic.ttf
new file mode 100644
index 0000000000..408f581e90
--- /dev/null
+++ b/fonts/parsinevis/ParsiNevis-Italic.ttf
Binary files differ
diff --git a/fonts/parsinevis/ParsiNevis-Regular.ttf b/fonts/parsinevis/ParsiNevis-Regular.ttf
new file mode 100644
index 0000000000..d1f57f9975
--- /dev/null
+++ b/fonts/parsinevis/ParsiNevis-Regular.ttf
Binary files differ
diff --git a/fonts/parsinevis/README.md b/fonts/parsinevis/README.md
new file mode 100644
index 0000000000..adc6502b11
--- /dev/null
+++ b/fonts/parsinevis/README.md
@@ -0,0 +1,23 @@
+# parsinevis
+v 1.0
+September 6, 2023
+
+=======================
+
+### License
+
+SIL OFL license version 1.1 <https://scripts.sil.org/OFL>
+
+=======================
+
+### What is this font?
+
+This font is made by editing SIL's "Scheherazade New", making it better for Persian
+typesetting.
+Scheherazade New has SIL OFL license.
+Visit <https://software.sil.org/scheherazade/> to read more about the Scheherazade New.
+
+=======================
+
+Author: Sajad Kazemi <sajad.kazemi.ctan@gmail.com>
+Copyright (C) 2023 by Sajad Kazemi <https://github.com/SajadKazemi> \ No newline at end of file
diff --git a/fonts/parsinevis/parsinevis-sample.pdf b/fonts/parsinevis/parsinevis-sample.pdf
new file mode 100644
index 0000000000..fe0ec7166c
--- /dev/null
+++ b/fonts/parsinevis/parsinevis-sample.pdf
Binary files differ
diff --git a/fonts/parsinevis/parsinevis-sample.tex b/fonts/parsinevis/parsinevis-sample.tex
new file mode 100644
index 0000000000..2c16854d30
--- /dev/null
+++ b/fonts/parsinevis/parsinevis-sample.tex
@@ -0,0 +1,27 @@
+\documentclass[12pt,a4paper]{article}
+\usepackage[a4paper]{geometry}
+\usepackage{ptext}
+\usepackage[computeautoilg=on]{xepersian}
+\settextfont{Parsi Nevis}
+\settextdigitfont{Parsi Nevis}
+\setmathdigitfont{Parsi Nevis}
+\setlatintextfont{Parsi Nevis}
+
+\title{\lr{``Parsi Nevis'' font family v1.0}}
+\author{\lr{Sajad Kazemi}}
+\date{\latintoday}
+
+\begin{document}
+\maketitle
+\section*{عادی (\lr{Regular})}
+\ptext[1] 0123456789
+
+\section*{پررنگ (\lr{Bold})}
+{\bfseries \ptext[1] 0123456789}
+
+\section*{خوابیده به راست (\lr{Italic})}
+{\itshape \ptext[1] 0123456789}
+
+\section*{خوابیده به راست پررنگ (\lr{Bold Italic})}
+{\bfseries\itshape \ptext[1] 0123456789}
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/numerica-tables/README.txt b/macros/latex/contrib/numerica-tables/README.txt
index 95f62fcfe6..1aeb1f548d 100644
--- a/macros/latex/contrib/numerica-tables/README.txt
+++ b/macros/latex/contrib/numerica-tables/README.txt
@@ -13,13 +13,12 @@ numerica-tables allows the creation of possibly multi-column
tables of mathematical function values in a wide variety of
formats.
-Version 3.0.0 requires version 3 of numerica and the booktabs
+Version 3.1.0 requires version 3 of numerica and the booktabs
package. numerica must be loaded before numerica-tables.
-Version 3.0.0 of numerica-tables allows non-uniformly stepped
-row-variable values, and comma lists of numbers or expressions
-to serve as row variable values. Table entries can now also be
-presented in fraction form. See numerica-tables.pdf for details
-on how to use the package.
+Version 3.1.0 of numerica-tables adds an index to the docu-
+mentation and allows the rounding value to vary with row or
+column (or both). See numerica-tables.pdf for details on how
+to use the package.
Manifest
%%%%%%%%
@@ -29,4 +28,3 @@ numerica-tables.sty LaTeX .sty file
numerica-tables.pdf documentation for numerica-tables.sty
numerica-tables.tex documentation source file
-
diff --git a/macros/latex/contrib/numerica-tables/numerica-tables.pdf b/macros/latex/contrib/numerica-tables/numerica-tables.pdf
index 41dc95cb88..c9f8ad108f 100644
--- a/macros/latex/contrib/numerica-tables/numerica-tables.pdf
+++ b/macros/latex/contrib/numerica-tables/numerica-tables.pdf
@@ -52,13 +52,13 @@ endobj
<< /S /GoTo /D (subsubsection.2.1.2.2) >>
endobj
36 0 obj
-(\376\377\0002\000.\0001\000.\0002\000.\0002\000\040\000r\000d\000a\000t\000a\000,\000\040\000r\000f\000i\000l\000e\000,\000\040\000r\000v\000e\000r\000b)
+(\376\377\0002\000.\0001\000.\0002\000.\0002\000\040\000r\000d\000a\000t\000a\000,\000\040\000r\000f\000i\000l\000e\000,\000\040\000r\000v\000e\000r\000b\000\040)
endobj
37 0 obj
<< /S /GoTo /D (subsection.2.1.3) >>
endobj
40 0 obj
-(\376\377\0002\000.\0001\000.\0003\000\040\000R\000o\000w\000-\000v\000a\000r\000i\000a\000b\000l\000e\000\040\000c\000o\000l\000u\000m\000n\000\040\000f\000o\000r\000m\000a\000t\000t\000i\000n\000g)
+(\376\377\0002\000.\0001\000.\0003\000\040\000F\000o\000r\000m\000a\000t\000t\000i\000n\000g\000\040\000r\000o\000w\000\040\000v\000a\000r\000i\000a\000b\000l\000e\000\040\000v\000a\000l\000u\000e\000s\000\040\000\046\000\040\000c\000o\000l\000u\000m\000n)
endobj
41 0 obj
<< /S /GoTo /D (subsubsection.2.1.3.1) >>
@@ -70,13 +70,13 @@ endobj
<< /S /GoTo /D (subsubsection.2.1.3.2) >>
endobj
48 0 obj
-(\376\377\0002\000.\0001\000.\0003\000.\0002\000\040\000A\000l\000i\000g\000n\000m\000e\000n\000t\000:\000\040\000r\000a\000l\000i\000g\000n)
+(\376\377\0002\000.\0001\000.\0003\000.\0002\000\040\000F\000o\000n\000t\000:\000\040\000r\000f\000o\000n\000t)
endobj
49 0 obj
<< /S /GoTo /D (subsubsection.2.1.3.3) >>
endobj
52 0 obj
-(\376\377\0002\000.\0001\000.\0003\000.\0003\000\040\000F\000o\000n\000t\000:\000\040\000r\000f\000o\000n\000t)
+(\376\377\0002\000.\0001\000.\0003\000.\0003\000\040\000A\000l\000i\000g\000n\000m\000e\000n\000t\000:\000\040\000r\000a\000l\000i\000g\000n)
endobj
53 0 obj
<< /S /GoTo /D (subsubsection.2.1.3.4) >>
@@ -130,13 +130,13 @@ endobj
<< /S /GoTo /D (subsubsection.2.2.1.1) >>
endobj
88 0 obj
-(\376\377\0002\000.\0002\000.\0001\000.\0001\000\040\000H\000e\000a\000d\000e\000r\000\040\000s\000t\000y\000l\000e\000:\000\040\000s\000i\000n\000g\000l\000e\000-\000c\000o\000l\000u\000m\000n\000\040\000c\000a\000s\000e)
+(\376\377\0002\000.\0002\000.\0001\000.\0001\000\040\000S\000i\000n\000g\000l\000e\000-\000c\000o\000l\000u\000m\000n\000\040\000h\000e\000a\000d\000e\000r)
endobj
89 0 obj
<< /S /GoTo /D (subsubsection.2.2.1.2) >>
endobj
92 0 obj
-(\376\377\0002\000.\0002\000.\0001\000.\0002\000\040\000H\000e\000a\000d\000e\000r\000\040\000s\000t\000y\000l\000e\000:\000\040\000m\000u\000l\000t\000i\000-\000c\000o\000l\000u\000m\000n\000\040\000c\000a\000s\000e)
+(\376\377\0002\000.\0002\000.\0001\000.\0002\000\040\000M\000u\000l\000t\000i\000-\000c\000o\000l\000u\000m\000n\000\040\000h\000e\000a\000d\000e\000r\000:\000\040\000c\000h\000s\000t\000y\000l\000e)
endobj
93 0 obj
<< /S /GoTo /D (subsubsection.2.2.1.3) >>
@@ -154,7 +154,7 @@ endobj
<< /S /GoTo /D (subsubsection.2.2.1.5) >>
endobj
104 0 obj
-(\376\377\0002\000.\0002\000.\0001\000.\0005\000\040\000N\000u\000d\000g\000i\000n\000g\000\040\000t\000h\000e\000\040\000h\000e\000a\000d\000e\000r\000s\000:\000\040\000c\000h\000n\000u\000d\000g\000e)
+(\376\377\0002\000.\0002\000.\0001\000.\0005\000\040\000N\000u\000d\000g\000i\000n\000g\000\040\000h\000e\000a\000d\000e\000r\000\040\000e\000n\000t\000r\000i\000e\000s\000:\000\040\000c\000h\000n\000u\000d\000g\000e)
endobj
105 0 obj
<< /S /GoTo /D (subsubsection.2.2.1.6) >>
@@ -214,7 +214,7 @@ endobj
<< /S /GoTo /D (subsection.2.4.6) >>
endobj
144 0 obj
-(\376\377\0002\000.\0004\000.\0006\000\040\000S\000e\000c\000o\000n\000d\000\040\000r\000o\000w\000-\000v\000a\000r\000i\000a\000b\000l\000e\000\040\000c\000o\000l\000u\000m\000n\000:\000\040\000r\000p\000o\000s\000=\0004)
+(\376\377\0002\000.\0004\000.\0006\000\040\000S\000e\000c\000o\000n\000d\000\040\000r\000o\000w\000\040\000v\000a\000r\000i\000a\000b\000l\000e\000\040\000c\000o\000l\000u\000m\000n\000:\000\040\000r\000p\000o\000s\000=\0004)
endobj
145 0 obj
<< /S /GoTo /D (subsection.2.4.7) >>
@@ -265,107 +265,118 @@ endobj
(\376\377\0002\000.\0005\000.\0001\000.\0002\000\040\000S\000c\000i\000e\000n\000t\000i\000f\000i\000c\000\040\000n\000o\000t\000a\000t\000i\000o\000n)
endobj
177 0 obj
-<< /S /GoTo /D (subsubsection.2.5.1.3) >>
+<< /S /GoTo /D (subsection.2.5.2) >>
endobj
180 0 obj
-(\376\377\0002\000.\0005\000.\0001\000.\0003\000\040\000T\000h\000e\000\040\000t\000\040\000o\000p\000t\000i\000o\000n)
+(\376\377\0002\000.\0005\000.\0002\000\040\000T\000h\000e\000\040\000t\000\040\000o\000p\000t\000i\000o\000n)
endobj
181 0 obj
-<< /S /GoTo /D (subsubsection.2.5.1.4) >>
+<< /S /GoTo /D (subsubsection.2.5.2.1) >>
endobj
184 0 obj
-(\376\377\0002\000.\0005\000.\0001\000.\0004\000\040\000P\000a\000d\000d\000i\000n\000g\000\040\000t\000h\000e\000\040\000e\000x\000p\000o\000n\000e\000n\000t\000:\000\040\000\050\000p\000a\000d\000\051)
+(\376\377\0002\000.\0005\000.\0002\000.\0001\000\040\000P\000a\000d\000d\000i\000n\000g\000\040\000t\000h\000e\000\040\000e\000x\000p\000o\000n\000e\000n\000t\000:\000\040\000\050\000p\000a\000d\000\051)
endobj
185 0 obj
-<< /S /GoTo /D (subsection.2.5.2) >>
+<< /S /GoTo /D (subsection.2.5.3) >>
endobj
188 0 obj
-(\376\377\0002\000.\0005\000.\0002\000\040\000A\000c\000c\000o\000m\000m\000o\000d\000a\000t\000i\000n\000g\000\040\000s\000i\000g\000n\000s\000:\000\040\000s\000i\000g\000n\000s)
+(\376\377\0002\000.\0005\000.\0003\000\040\000I\000n\000d\000i\000c\000a\000t\000i\000n\000g\000\040\000s\000i\000g\000n\000s\000\040\000o\000u\000t\000s\000i\000d\000e\000\040\000t\000h\000e\000\040\000t\000-\000n\000o\000t\000a\000t\000i\000o\000n)
endobj
189 0 obj
-<< /S /GoTo /D (subsection.2.5.3) >>
+<< /S /GoTo /D (subsection.2.5.4) >>
endobj
192 0 obj
-(\376\377\0002\000.\0005\000.\0003\000\040\000D\000i\000f\000f\000e\000r\000e\000n\000c\000e\000s\000:\000\040\000d\000i\000f\000f\000s)
+(\376\377\0002\000.\0005\000.\0004\000\040\000R\000o\000u\000n\000d\000i\000n\000g\000\040\000t\000o\000\040\000v\000a\000r\000y\000i\000n\000g\000\040\000v\000a\000l\000u\000e\000s)
endobj
193 0 obj
-<< /S /GoTo /D (subsection.2.5.4) >>
+<< /S /GoTo /D (subsection.2.5.5) >>
endobj
196 0 obj
-(\376\377\0002\000.\0005\000.\0004\000\040\000F\000o\000r\000m\000a\000t\000t\000i\000n\000g\000\040\000s\000p\000e\000c\000i\000a\000l\000\040\000v\000a\000l\000u\000e\000s\000:\000\040\000Q\000?\000\040\000a\000n\000d\000\040\000A\000!)
+(\376\377\0002\000.\0005\000.\0005\000\040\000D\000i\000f\000f\000e\000r\000e\000n\000c\000e\000s\000:\000\040\000d\000i\000f\000f\000s)
endobj
197 0 obj
-<< /S /GoTo /D (subsubsection.2.5.4.1) >>
+<< /S /GoTo /D (subsection.2.5.6) >>
endobj
200 0 obj
-(\376\377\0002\000.\0005\000.\0004\000.\0001\000\040\000S\000t\000a\000r\000\040\000o\000p\000t\000i\000o\000n\000:\000\040\000\134\000n\000m\000c\000T\000a\000b\000u\000l\000a\000t\000e\000*)
+(\376\377\0002\000.\0005\000.\0006\000\040\000F\000o\000r\000m\000a\000t\000t\000i\000n\000g\000\040\000s\000p\000e\000c\000i\000a\000l\000\040\000v\000a\000l\000u\000e\000s\000:\000\040\000Q\000?\000\040\000a\000n\000d\000\040\000A\000!)
endobj
201 0 obj
-<< /S /GoTo /D (section.2.6) >>
+<< /S /GoTo /D (subsubsection.2.5.6.1) >>
endobj
204 0 obj
-(\376\377\0002\000.\0006\000\040\000O\000t\000h\000e\000r\000\040\000m\000a\000t\000t\000e\000r\000s)
+(\376\377\0002\000.\0005\000.\0006\000.\0001\000\040\000S\000t\000a\000r\000\040\000o\000p\000t\000i\000o\000n\000:\000\040\000\134\000n\000m\000c\000T\000a\000b\000u\000l\000a\000t\000e\000*)
endobj
205 0 obj
-<< /S /GoTo /D (subsection.2.6.1) >>
+<< /S /GoTo /D (section.2.6) >>
endobj
208 0 obj
-(\376\377\0002\000.\0006\000.\0001\000\040\000N\000e\000s\000t\000i\000n\000g)
+(\376\377\0002\000.\0006\000\040\000O\000t\000h\000e\000r\000\040\000m\000a\000t\000t\000e\000r\000s)
endobj
209 0 obj
-<< /S /GoTo /D (subsection.2.6.2) >>
+<< /S /GoTo /D (subsection.2.6.1) >>
endobj
212 0 obj
-(\376\377\0002\000.\0006\000.\0002\000\040\000S\000a\000v\000i\000n\000g\000\040\000t\000a\000b\000l\000e\000s\000\040\000t\000o\000\040\000f\000i\000l\000e)
+(\376\377\0002\000.\0006\000.\0001\000\040\000N\000e\000s\000t\000i\000n\000g)
endobj
213 0 obj
-<< /S /GoTo /D (subsection.2.6.3) >>
+<< /S /GoTo /D (subsection.2.6.2) >>
endobj
216 0 obj
-(\376\377\0002\000.\0006\000.\0003\000\040\000V\000i\000e\000w\000i\000n\000g\000\040\000t\000h\000e\000\040\000L\000a\000T\000e\000X\000\040\000f\000o\000r\000m)
+(\376\377\0002\000.\0006\000.\0002\000\040\000S\000a\000v\000i\000n\000g\000\040\000t\000a\000b\000l\000e\000s\000\040\000t\000o\000\040\000f\000i\000l\000e)
endobj
217 0 obj
-<< /S /GoTo /D (chapter.3) >>
+<< /S /GoTo /D (subsection.2.6.3) >>
endobj
220 0 obj
-(\376\377\0003\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e\000\040\000s\000u\000m\000m\000a\000r\000y)
+(\376\377\0002\000.\0006\000.\0003\000\040\000V\000i\000e\000w\000i\000n\000g\000\040\000t\000h\000e\000\040\000L\000a\000T\000e\000X\000\040\000f\000o\000r\000m)
endobj
221 0 obj
-<< /S /GoTo /D (section.3.1) >>
+<< /S /GoTo /D (chapter.3) >>
endobj
224 0 obj
-(\376\377\0003\000.\0001\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000d\000e\000f\000i\000n\000e\000d\000\040\000i\000n\000\040\000n\000u\000m\000e\000r\000i\000c\000a\000-\000t\000a\000b\000l\000e\000s)
+(\376\377\0003\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e\000\040\000s\000u\000m\000m\000a\000r\000y)
endobj
225 0 obj
-<< /S /GoTo /D (section.3.2) >>
+<< /S /GoTo /D (section.3.1) >>
endobj
228 0 obj
-(\376\377\0003\000.\0002\000\040\000S\000e\000t\000t\000i\000n\000g\000s\000\040\000f\000o\000r\000\040\000\134\000n\000m\000c\000T\000a\000b\000u\000l\000a\000t\000e)
+(\376\377\0003\000.\0001\000\040\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000d\000e\000f\000i\000n\000e\000d\000\040\000i\000n\000\040\000n\000u\000m\000e\000r\000i\000c\000a\000-\000t\000a\000b\000l\000e\000s)
endobj
229 0 obj
-<< /S /GoTo /D [230 0 R /Fit] >>
+<< /S /GoTo /D (section.3.2) >>
+endobj
+232 0 obj
+(\376\377\0003\000.\0002\000\040\000S\000e\000t\000t\000i\000n\000g\000s\000\040\000f\000o\000r\000\040\000\134\000n\000m\000c\000T\000a\000b\000u\000l\000a\000t\000e)
endobj
233 0 obj
+<< /S /GoTo /D (chapter*.14) >>
+endobj
+236 0 obj
+(\376\377\000I\000n\000d\000e\000x)
+endobj
+237 0 obj
+<< /S /GoTo /D [238 0 R /Fit] >>
+endobj
+241 0 obj
<<
-/Length 260
+/Length 263
/Filter /FlateDecode
>>
stream
-xuN@ E
-Dcϻ$ t@vC%}&D$*[9Z@nwz,2i+HN251馶cnPk3'jŐqx"ϔmRcwi&$̡2%U; W006}K"ČJ蕍ԓB(ukaǢP^VmQ7xuQ߈D3)>*s( YfS5瘇bnl)%/od
+xu=O0\}>۱7@H T|TI'B 1~X&y]&-;%i+HvHAEa<S}~U~vnUi-'j%!l>3Y~r&e$ E4r_>Lh5MHD% 1:UDYY2PJ;ORsdv屭}[ȠfŃ1X$4j!E6׏tTc+ fJ!:oRAf?
endstream
endobj
-230 0 obj
+238 0 obj
<<
/Type /Page
-/Contents 233 0 R
-/Resources 232 0 R
+/Contents 241 0 R
+/Resources 240 0 R
/MediaBox [0 0 612 792]
-/Parent 238 0 R
-/Annots [ 231 0 R ]
+/Parent 246 0 R
+/Annots [ 239 0 R ]
>>
endobj
-231 0 obj
+239 0 obj
<<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 1]
@@ -373,23 +384,23 @@ endobj
/Subtype/Link/A<</Type/Action/S/URI/URI(ajparsloe@gmail.com)>>
>>
endobj
-234 0 obj
+242 0 obj
<<
-/D [230 0 R /XYZ 132.768 705.06 null]
+/D [238 0 R /XYZ 132.768 705.06 null]
>>
endobj
-235 0 obj
+243 0 obj
<<
-/D [230 0 R /XYZ 133.768 667.198 null]
+/D [238 0 R /XYZ 133.768 667.198 null]
>>
endobj
-232 0 obj
+240 0 obj
<<
-/Font << /F39 236 0 R /F40 237 0 R >>
+/Font << /F39 244 0 R /F40 245 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-241 0 obj
+249 0 obj
<<
/Length 485
/Filter /FlateDecode
@@ -399,79 +410,74 @@ xڕTMo0怃?)^u+ fA 85B= 
pv(>Y3'D T- c!
endstream
endobj
-240 0 obj
+248 0 obj
<<
/Type /Page
-/Contents 241 0 R
-/Resources 239 0 R
+/Contents 249 0 R
+/Resources 247 0 R
/MediaBox [0 0 612 792]
-/Parent 238 0 R
+/Parent 246 0 R
>>
endobj
-239 0 obj
+247 0 obj
<<
-/Font << /F52 242 0 R /F37 243 0 R /F53 244 0 R >>
+/Font << /F52 250 0 R /F37 251 0 R /F53 252 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-247 0 obj
+255 0 obj
<<
-/Length 1573
+/Length 1733
/Filter /FlateDecode
>>
stream
-xڽXݏ6߿&ؠ{PmTUU*!Nmm}g<@EQNWia<ߌ
-'ڤ:  P_xA^/\(D"0cCԜiiRl~3Y=<*HYVۀ*LE@,>-\8{xfI0#c^=2R.62"?Z¢#rv8 yj iE,eAQ9>3,
-i< lnDI0=?;gPE BDߖMHy[d2JMAMKbэxyq_g|֍sL ntB5-䜥q(fN,1!X4FS lˬ{(R>H2GJz?焘3
-\xج]E]_{R>TDB
-4X)
-HD@(NH90hH!fLw]#}8Rzo_Ζ9~L(o/\2)3$! zvrtsCO9҈ϰ80p6,3Wz,ʓ-ahiZ"C$j!{&Agx)l!f{>.Y<<%NjsC 5,m6`+AoMV葿_QV1zݱ|[T(<:' RDƾS̷O53s&CUlrSlEmߓN Q}.V G@A,6b//=ŇHCa_'=n`PB*ƪ yk$⋺F eM?<ygb_t>sO\[Xb֮XXO
-U
-U}:Du_jzBX r_=`9
-yti7I˞$'ƼxpHvdJgPJ׫}n>0A<H``1w3om_#Ә u +
-]|h_Tqh'tLF s!EF{y,٩Ҷ'a&5C6s;'OpWI͌0J諮|<\m.
-ƥ[!vdKBh#%=˩D=;;Zc9%N4܀f5hP
-n9a! _]Sv_y77v<~0uӔe,?21CIƅ)?5*]27#`{!=ܬ|*
+xX[D~_7\챵OEt>
+i99{;' Cq:| "_x<V̏7!CB<Jtg2{8z\,V*Δ}Fpύ/ %lX>o+)"+-Ү0-VTw`&J
+Q$'Dt90
+t;=Iڮ64q ]3+>&L^^#I=1顳-ViDfR}a
endstream
endobj
-246 0 obj
+254 0 obj
<<
/Type /Page
-/Contents 247 0 R
-/Resources 245 0 R
+/Contents 255 0 R
+/Resources 253 0 R
/MediaBox [0 0 612 792]
-/Parent 238 0 R
+/Parent 246 0 R
>>
endobj
-245 0 obj
+253 0 obj
<<
-/Font << /F54 248 0 R /F37 243 0 R /F53 244 0 R /F64 249 0 R /F65 250 0 R /F52 242 0 R >>
+/Font << /F54 256 0 R /F37 251 0 R /F53 252 0 R /F64 257 0 R /F65 258 0 R /F52 250 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-287 0 obj
+295 0 obj
<<
-/Length 1469
+/Length 1497
/Filter /FlateDecode
>>
stream
-x՚IoF<5PNf_rK:mE-ipI7%DYeD=콿THiEGCJjO(|}tƈ_ͥ=^{%gTZQ $B,0T y6 ຨ2V`TާJh‘ AFv3L?i懷c/x{K 7,?Յ;liD-,)m-0-j ބ ^eAgnwM7+>u4oUX R"xn}e;^Cƾ:kVm>d ̄<yО!/->m5+±vdF8܂0 g%1QhT]uQXD&n3w#U֗7*i#͈P[k54S2&5L7d#i:74`@8S[~I?ѧb@H@QDAcD: qaj@lW#z8dA̗8=tTis' (ldȊUNY:xpQS+NOkVj*(^ <Y萡^}%
-ijxA{ IO`M鍼ƾ
-C8\Ĺ(SܮpQFz*HFh2Z':\#2 IAF| Pgc!ahؕlaa#+zZPSHkF㦢=dD'<T@R +LK:Cmd%ǖ1rj|5a~Ό)B(Ș`ǩ V0vM+;XJ$iMP-r`O8X4AjmZI`[k,v{<v$0~O]xBwߐDgt==uJ&ysgA}9ԚÉӄnBdCϛu6m
-GkAjrOEi+yRv^ɦѴCh<ƃ]wQ{9z:m 34jQ#.5ջlSٗoq:ZArQQݖj6"qRuD䁤d.!ulrmc]5MHVhZ]%be)/CUY&@-W
+x՚IF+tEU}vŮ*Tv#MI‰}^k5,h^~{>nzTHiE#!%'Bqo:>dˆ_D#5厀eKG%gTZQ $)B$0T? Y: 9̊[ͯ>Tb-|wz ^@2Bԛ!؎`JD3?|XGc~^d&v!K=1aG#"46YSGkp05oɄj݄ sMEO۱1E
+DIm
+܁4 g4`g zo@w&iX 2qn/XGzVzW_^髜&itlB|ZЌiҚ8Ԅ3ܐ|cj0[l;.™2k>B"
+; qU[DB`GY bF#H2u#3!f1<V;[e48;; ֛(^PǬtypJ3\aͬT*[dT~0r=,
+ĥ&2Vw
+̃iUHI45Iq@kͩᎍÀ:͌ޮe%֣ Cvq0_9"ȩG"7ENYE<\L)+G\ ?"*C)/ck8˪:*VG tH%ϗŜ08  an#rFPRgF㦢]zJCHF_ȻN$ظ´/٫3TD\rlq#4W#Vi0lsfL9~BAt|ϘYXγ늦hX-髄qMPڄ6;Uz~Yq`{[K̇Jwmz.%Ќޗn.whD.jvRȔ @eExΰ}9ԒÉ3f.dC=d-/Q0abm'+̱C!״i~-
+|C.ֻ.Jw辺Fv9yob=D~8j:"@R2lHQ<=eQW\NXi~[t_Ͼm\]WiM^Dz +W9gWDۏ-D vjiz4.iz/}
endstream
endobj
-286 0 obj
+294 0 obj
<<
/Type /Page
-/Contents 287 0 R
-/Resources 285 0 R
+/Contents 295 0 R
+/Resources 293 0 R
/MediaBox [0 0 612 792]
-/Parent 238 0 R
-/Annots [ 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R ]
+/Parent 246 0 R
+/Annots [ 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R ]
>>
endobj
-251 0 obj
+259 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -480,7 +486,7 @@ endobj
/A << /S /GoTo /D (chapter.1) >>
>>
endobj
-252 0 obj
+260 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -489,7 +495,7 @@ endobj
/A << /S /GoTo /D (section.1.1) >>
>>
endobj
-253 0 obj
+261 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -498,7 +504,7 @@ endobj
/A << /S /GoTo /D (section.1.2) >>
>>
endobj
-254 0 obj
+262 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -507,7 +513,7 @@ endobj
/A << /S /GoTo /D (chapter.2) >>
>>
endobj
-255 0 obj
+263 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -516,7 +522,7 @@ endobj
/A << /S /GoTo /D (section.2.1) >>
>>
endobj
-256 0 obj
+264 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -525,7 +531,7 @@ endobj
/A << /S /GoTo /D (subsection.2.1.1) >>
>>
endobj
-257 0 obj
+265 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -534,7 +540,7 @@ endobj
/A << /S /GoTo /D (subsection.2.1.2) >>
>>
endobj
-258 0 obj
+266 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -543,25 +549,25 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.2.1) >>
>>
endobj
-259 0 obj
+267 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.511 407.228 335.982 417.432]
+/Rect [202.511 407.228 339.303 417.432]
/A << /S /GoTo /D (subsubsection.2.1.2.2) >>
>>
endobj
-260 0 obj
+268 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.63 395.273 345.557 406.066]
+/Rect [170.63 395.273 385.491 406.066]
/A << /S /GoTo /D (subsection.2.1.3) >>
>>
endobj
-261 0 obj
+269 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -570,25 +576,25 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.3.1) >>
>>
endobj
-262 0 obj
+270 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.511 371.086 329.312 382.156]
+/Rect [202.511 373.3 298.484 382.156]
/A << /S /GoTo /D (subsubsection.2.1.3.2) >>
>>
endobj
-263 0 obj
+271 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.511 361.345 298.484 370.2]
+/Rect [202.511 359.131 329.312 370.2]
/A << /S /GoTo /D (subsubsection.2.1.3.3) >>
>>
endobj
-264 0 obj
+272 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -597,7 +603,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.3.4) >>
>>
endobj
-265 0 obj
+273 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -606,7 +612,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.3.5) >>
>>
endobj
-266 0 obj
+274 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -615,7 +621,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.3.6) >>
>>
endobj
-267 0 obj
+275 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -624,7 +630,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.3.7) >>
>>
endobj
-268 0 obj
+276 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -633,7 +639,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.3.8) >>
>>
endobj
-269 0 obj
+277 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -642,7 +648,7 @@ endobj
/A << /S /GoTo /D (subsection.2.1.4) >>
>>
endobj
-270 0 obj
+278 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -651,7 +657,7 @@ endobj
/A << /S /GoTo /D (section.2.2) >>
>>
endobj
-271 0 obj
+279 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -660,25 +666,25 @@ endobj
/A << /S /GoTo /D (subsection.2.2.1) >>
>>
endobj
-272 0 obj
+280 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.511 251.811 386.958 262.604]
+/Rect [202.511 251.811 338.362 262.604]
/A << /S /GoTo /D (subsubsection.2.2.1.1) >>
>>
endobj
-273 0 obj
+281 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.511 239.856 385.519 250.649]
+/Rect [202.511 239.579 380.233 250.649]
/A << /S /GoTo /D (subsubsection.2.2.1.2) >>
>>
endobj
-274 0 obj
+282 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -687,7 +693,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.2.1.3) >>
>>
endobj
-275 0 obj
+283 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -696,16 +702,16 @@ endobj
/A << /S /GoTo /D (subsubsection.2.2.1.4) >>
>>
endobj
-276 0 obj
+284 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.511 203.714 379.181 214.783]
+/Rect [202.511 203.714 390.002 214.783]
/A << /S /GoTo /D (subsubsection.2.2.1.5) >>
>>
endobj
-277 0 obj
+285 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -714,7 +720,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.2.1.6) >>
>>
endobj
-278 0 obj
+286 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -723,7 +729,7 @@ endobj
/A << /S /GoTo /D (section.2.3) >>
>>
endobj
-279 0 obj
+287 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -732,7 +738,7 @@ endobj
/A << /S /GoTo /D (section.2.4) >>
>>
endobj
-280 0 obj
+288 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -741,7 +747,7 @@ endobj
/A << /S /GoTo /D (subsection.2.4.1) >>
>>
endobj
-281 0 obj
+289 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -750,7 +756,7 @@ endobj
/A << /S /GoTo /D (subsection.2.4.2) >>
>>
endobj
-282 0 obj
+290 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -759,7 +765,7 @@ endobj
/A << /S /GoTo /D (subsection.2.4.3) >>
>>
endobj
-283 0 obj
+291 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -768,47 +774,49 @@ endobj
/A << /S /GoTo /D (subsection.2.4.4) >>
>>
endobj
-288 0 obj
+296 0 obj
<<
-/D [286 0 R /XYZ 132.768 705.06 null]
+/D [294 0 R /XYZ 132.768 705.06 null]
>>
endobj
-289 0 obj
+297 0 obj
<<
-/D [286 0 R /XYZ 133.768 667.198 null]
+/D [294 0 R /XYZ 133.768 667.198 null]
>>
endobj
-285 0 obj
+293 0 obj
<<
-/Font << /F67 290 0 R /F52 242 0 R /F37 243 0 R /F68 291 0 R /F53 244 0 R >>
+/Font << /F67 298 0 R /F52 250 0 R /F37 251 0 R /F68 299 0 R /F53 252 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-317 0 obj
+327 0 obj
<<
-/Length 1279
+/Length 1318
/Filter /FlateDecode
>>
stream
-xՙnFU=
-)H
-Ľ)aKI%m:p%*Fl+0`*|;3?H77LIe0[3$
-P2"?d*Ux3<,'a٤$bu4YYԓ?g?w ERM"c1v,ÓSwz%AZ "@
-v Y(0D29ɋ@>M鱐3R E_ߩ-_zÐ{[?MwU^fab6yO94j _n.{fอUA."io%yNˈ1:u oU%6}q <,H@%A )"B]]iTep)=x E)289QgyCʕe ł|nsF sƐ@@/@MȦ#nVaWї,I]$]u[bƓ.ҢlfmRnE>{B hnŞi$,*d>E (H%w~>ñf©צ[,*Ár L6k^Frܘ`PXfk׶\.U|֠Px~ <&LF? uB)ads~UZ$QSK8D<Ӏ<Ǥ9>3ObQekǍm}I1`DkTy"aHmF^u Z6\ujzr1Jm)+iWɇaF{P2w<nүOAQ|Tc)
-)@bݿ86jŒA>}=/a~\~M%sbx!Nc+^ľ;ZoE/{
+xՙnFU9S(6I[]l!(&G
+[$igRRai,Oboa > ^1ڍ77No^fTzәG1C!Lx{SLBe连(瓀*?L1 c*ͳr'wE] $?zv`svx#H) -6 @8ȋ<ЯE ʞk6E )9Os
+WbtpWy5?HW"qX:DXa***-h 0.Kx6
+(""ϓCzgT($tX/-䯺2zo *v\Ee&zYiV 6<hCV}rg:}-1 &H݋*I<)2bk%[;LQqΣE:a_y*AZeR;̙nׁ%_ww˨j
+g{ُFiquTD|eۡ5 9u'/@IHGVkI8V[3fy55+wZ2^<NuOcPPĄU{SH7*ٽP᫞4'd<>5l^ԕovDI2&KVʺ4*`kHcWQ6wEt"0Bb]%0ⷴ`41;`_y
+͟6buF]y%.*ߜ?n@E&(}^o-3qK$baGxg9Fg7n:tmMͨ}sfµ߉ڏGtCKSJ=M'M q)]?bSϨyOϖ4zQe<%K4N4DL7_w(lbЬs5@~ߐob1ץ> 6~Iv/<DԻkewv7Fv_+8N/ަZT3IIC΄£oH爩}fhrI?75
+*,1! =n0
+2'*DÊhZm`:r nՓcܞiLXJl3.KdIW3f57$d à )e=0$a_q;heP"Ct$w"D\+g> d
endstream
endobj
-316 0 obj
+326 0 obj
<<
/Type /Page
-/Contents 317 0 R
-/Resources 315 0 R
+/Contents 327 0 R
+/Resources 325 0 R
/MediaBox [0 0 612 792]
-/Parent 238 0 R
-/Annots [ 284 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 312 0 R 313 0 R 314 0 R ]
+/Parent 246 0 R
+/Annots [ 292 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 312 0 R 313 0 R 314 0 R 315 0 R 316 0 R 317 0 R 318 0 R 319 0 R 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R ]
>>
endobj
-284 0 obj
+292 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -817,7 +825,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.4.4.1) >>
>>
endobj
-292 0 obj
+300 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -826,7 +834,7 @@ endobj
/A << /S /GoTo /D (subsection.2.4.5) >>
>>
endobj
-293 0 obj
+301 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -835,7 +843,7 @@ endobj
/A << /S /GoTo /D (subsection.2.4.6) >>
>>
endobj
-294 0 obj
+302 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -844,7 +852,7 @@ endobj
/A << /S /GoTo /D (subsection.2.4.7) >>
>>
endobj
-295 0 obj
+303 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -853,7 +861,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.4.7.1) >>
>>
endobj
-296 0 obj
+304 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -862,7 +870,7 @@ endobj
/A << /S /GoTo /D (subsection.2.4.8) >>
>>
endobj
-297 0 obj
+305 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -871,7 +879,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.4.8.1) >>
>>
endobj
-298 0 obj
+306 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -880,7 +888,7 @@ endobj
/A << /S /GoTo /D (section.2.5) >>
>>
endobj
-299 0 obj
+307 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -889,7 +897,7 @@ endobj
/A << /S /GoTo /D (subsection.2.5.1) >>
>>
endobj
-300 0 obj
+308 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -898,7 +906,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.5.1.1) >>
>>
endobj
-301 0 obj
+309 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -907,356 +915,369 @@ endobj
/A << /S /GoTo /D (subsubsection.2.5.1.2) >>
>>
endobj
-302 0 obj
+310 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.511 522.795 302.054 533.588]
-/A << /S /GoTo /D (subsubsection.2.5.1.3) >>
+/Rect [170.63 522.795 261.207 533.588]
+/A << /S /GoTo /D (subsection.2.5.2) >>
>>
endobj
-303 0 obj
+311 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [202.511 510.563 374.588 521.688]
-/A << /S /GoTo /D (subsubsection.2.5.1.4) >>
+/A << /S /GoTo /D (subsubsection.2.5.2.1) >>
>>
endobj
-304 0 obj
+312 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.63 498.608 332.882 509.677]
-/A << /S /GoTo /D (subsection.2.5.2) >>
+/Rect [170.63 498.885 371.544 509.677]
+/A << /S /GoTo /D (subsection.2.5.3) >>
>>
endobj
-305 0 obj
+313 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.63 488.867 285.117 497.722]
-/A << /S /GoTo /D (subsection.2.5.3) >>
+/Rect [170.63 486.93 324 497.722]
+/A << /S /GoTo /D (subsection.2.5.4) >>
>>
endobj
-306 0 obj
+314 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.63 474.974 366.285 485.767]
-/A << /S /GoTo /D (subsection.2.5.4) >>
+/Rect [170.63 476.912 285.117 485.767]
+/A << /S /GoTo /D (subsection.2.5.5) >>
>>
endobj
-307 0 obj
+315 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.511 463.019 369.827 473.867]
-/A << /S /GoTo /D (subsubsection.2.5.4.1) >>
+/Rect [170.63 463.019 366.285 473.812]
+/A << /S /GoTo /D (subsection.2.5.6) >>
>>
endobj
-308 0 obj
+316 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 453.001 234.723 461.857]
+/Rect [202.511 451.064 369.827 461.912]
+/A << /S /GoTo /D (subsubsection.2.5.6.1) >>
+>>
+endobj
+317 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.716 441.046 234.723 449.902]
/A << /S /GoTo /D (section.2.6) >>
>>
endobj
-309 0 obj
+318 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.63 439.109 237.491 449.902]
+/Rect [170.63 427.154 237.491 437.946]
/A << /S /GoTo /D (subsection.2.6.1) >>
>>
endobj
-310 0 obj
+319 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.63 427.154 290.348 437.946]
+/Rect [170.63 415.199 290.348 425.991]
/A << /S /GoTo /D (subsection.2.6.2) >>
>>
endobj
-311 0 obj
+320 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.63 414.991 309.245 425.991]
+/Rect [170.63 403.036 309.245 414.036]
/A << /S /GoTo /D (subsection.2.6.3) >>
>>
endobj
-312 0 obj
+321 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.772 393.281 249.115 404.175]
+/Rect [132.772 381.326 249.115 392.22]
/A << /S /GoTo /D (chapter.3) >>
>>
endobj
-313 0 obj
+322 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 383.263 349.17 392.118]
+/Rect [147.716 371.308 349.17 380.163]
/A << /S /GoTo /D (section.3.1) >>
>>
endobj
-314 0 obj
+323 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.716 369.37 288.882 380.219]
+/Rect [147.716 357.415 288.882 368.264]
/A << /S /GoTo /D (section.3.2) >>
>>
endobj
-318 0 obj
+324 0 obj
<<
-/D [316 0 R /XYZ 132.768 705.06 null]
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.772 337.435 163.138 346.392]
+/A << /S /GoTo /D (chapter*.14) >>
>>
endobj
-315 0 obj
+328 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F64 249 0 R /F52 242 0 R >>
+/D [326 0 R /XYZ 132.768 705.06 null]
+>>
+endobj
+325 0 obj
+<<
+/Font << /F37 251 0 R /F53 252 0 R /F64 257 0 R /F52 250 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-321 0 obj
+331 0 obj
<<
-/Length 1895
+/Length 1894
/Filter /FlateDecode
>>
stream
-xڝXۯ4߿oiI$\c#"&nme,g.NRۓsλdWIz|d[+Jũv&vX~A&m:NTdwy 6{%kaʱ}*qn یo"8j=_t?cb;;rw@co/xɅEBĹ1[fظauzS5qyr뼻V )GC 6iT==^D}/
-߇ЮdꚒ T8z v.[㝴Jذhqolк
-tSU%cW5̞pr?JG_hXc?\[7f-Az5T N%^
-:@y ?YP!-Eo&f**T=M;'%/x ,D0MȀ Wh^a8qEzHbpx@l!xQx,}_u|Ĭ һǽGe,N@oѺGoHqv盡r3̌\f3M KkI9&Tbb
-ӄs׼
-SHo_-W\&́
+xڝXۯ4߿oioHi"GEM64'{`;sq䜀ڞǞodw%JߤN&qJ{<Rq;؈tX~Ae&m:LdwE ޶{%`}*q4l3"۾m2ऺ=#|iQpBA
+Gp!.eK{VIt[v>Mf=TWnn@ ~c$3NLmXQXneJucR+8dӭ$Np*
+U&IH3Go9cm҉%KRk\Lmbi;@СxByl' 8xi di.iB ^ڦA
+ǁ'#Ms뭩zOLb=µdW3ÅB>X9_zĬ һǽCe<N _!<ޢuAoHfq~ڡ͖3̌\f3M K4gsM~; {e% 1 Zy_7 t*0 \3^p4̇)WGqIc}
>B4
- |ykNtJ$ I h"6` ~F7P8_qB1C0B)}
-0oOo&! ԫl82ӳo߽1U)clUdjC
-~ glYt-K?LGzv zO쪐'WP*
-.i?TThᡓj^ZhE2ѱS[$R -{s:> 85r}GD3RP0<LBy1BHܨ:p4
-%_J(()Cx SE PC;3H)}(m@d”g h_Aȍ~6b1mΐ}uE%iLDq1So0ht8ba$HUtBSnL TqIvUiK]{J&[
-V=MʴO6)5X`AW[xAqQxAȅx"%,ї"fxI!:^Mوg%]~ g@ɮ9ON<v{F7(kRxg81k^,:RXq+-Ԩb*aùsU߀P F i焝d6S1RS!d]S*ΓVϷn
+ ]xkNtJw[$ I hH MӀ%[(@| ] aRF׸ 6aޝNg"C8h#WWpn\Ͼ}f
+RXRclUdV /ZAIٲZ4f13z2?LoF:v_
+*U!=OH&U 2RcU>Q
+6Ͼ
+Fpj:5)]2.RʦSNvY@ziE `FNel??qxN҅"!34D4#5? -S)T{h/č+o+ G/_RR
+G@YO!e|(v<\M xjj^`v[윱EJBi#$#5,=KhmF;~
+BnH#u;1OAE~]ٵpB$HutBSnL TqIvkܯuiK}wJKM
endstream
endobj
-320 0 obj
+330 0 obj
<<
/Type /Page
-/Contents 321 0 R
-/Resources 319 0 R
+/Contents 331 0 R
+/Resources 329 0 R
/MediaBox [0 0 612 792]
-/Parent 238 0 R
+/Parent 246 0 R
>>
endobj
-322 0 obj
+332 0 obj
<<
-/D [320 0 R /XYZ 132.768 705.06 null]
+/D [330 0 R /XYZ 132.768 705.06 null]
>>
endobj
2 0 obj
<<
-/D [320 0 R /XYZ 133.768 667.198 null]
+/D [330 0 R /XYZ 133.768 667.198 null]
>>
endobj
6 0 obj
<<
-/D [320 0 R /XYZ 133.768 318.437 null]
+/D [330 0 R /XYZ 133.768 318.437 null]
>>
endobj
-319 0 obj
+329 0 obj
<<
-/Font << /F67 290 0 R /F37 243 0 R /F53 244 0 R /F65 250 0 R >>
+/Font << /F67 298 0 R /F37 251 0 R /F53 252 0 R /F65 258 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-328 0 obj
+338 0 obj
<<
-/Length 2582
+/Length 2698
/Filter /FlateDecode
>>
stream
-xڝn>_#0 f rz7s%""ǻȿ^͗']6hH}O&daxs{(c$N7KBm}޷Ź: <*;vg$uC]<y("cV3q\WB}S&E_y(m? S*̜q SnK}kM_8<V6hDGy؜N
-#G2Gp;<yL/<֪9WʂmT;
-0e'x^l]{X\: 5YJ]Hsʆs¶6"IwАmALP>b/#8{rB xf2 yy[,<zWUwv| =6)x$+Ǽ˚tt*x]68x9,y+@YG.Ц@bV&Ay䅗D~^`lbk[*mvH0/ʌLkp*O䣍)2*
-> S,3+HX.r6`NvLj)X<,%`ԵRBň)0`A"{w,R*!WRXynz6J[ʮ/1=vl.\L2BSV'Y?%M]ěJ0i<
-"N `e)44td%x0R_ˍ\/)<ZwhUOgm90aSvbr6JRB#Vh
-<5JM4tpT @7>bE sE BY蜝5F0Mgw8R S5zb! F2=Kyߴό8C*F
-]U`{Rɷ.n]$ﺀQ r, MR!\}G i{
-ϸI~?SeҴ`xzXQ ~YQ2g3BD/!ӐQ|
-</ˠ,ir d93 1jRb7fp=G
-Jccs|_Wv*Ln}Zrf 0qQ)cV͕M84P`bEI;5mar*ڿ~M(1cGP,PD>D6h ėi'p,$b+pa<a|&apW5-x\x96ՐK&
-y*jz|_0y94h\f |, "X2<;es[>uECmO
-ϟ@ pEgg.ijKwXCHg,V,,-m燵rj`Rp&N'c;cmUWݕ-\PW0L3Jnl[7$3́PbC͸$B\OpEz2f]Po+0zyC >NC/`u_K&!5CEa?~~uB~رgn.}i2 t.J5(6/eJLg8c.X
-x26dc5I5|L1#i7%Lw1$*1$`x8 ֮`Er6\4Ӳf,_1T[ d^owOkWBݫu,e
-Gb.~hNH})l1Leq)D6̴ׂcFJ-te%ȋ$ uBLI E(t[fQ o1NYpƦwrLoh̨xD#߻P'˦
-{2?6GadbD1t} vV! w`ǫdaBu4zU 8]hk˗T䆷=M -u|tpӁU3bYd|Ss}8G4H3jU˞AJߑAPྕ$@
+xڝYKsϯБڲċaJ*hXC
+IM忧
+UCi+wl*<kow@/vg4CS5PZǭQQ_K}o/Er(;<MogI)r-ZP[ZH ӆSn@J$Hzn
+c )lmXR1lR{iJRҤuFsL?I=8&ࠢ2σp>u<6bt8jZ@O(B?=HfigN O^Pxb -:D
+ܜ[x`-}f.f§1_-˄7 ΀t;%<kb TPaqI '}&K) "A[*&1?%ɴ87sBg(H՛YM0"
+k^&Rt>
+?]0xskn$V|U96.U _F!mp (Z_߁xKn,[]).͑9]F׮QK<B
+r !cN> cag][ h~b iT 6 S5,(qjIQ\q[\d>#h C<8fg~jr4d5xY
+nbJ85:h@PPYx7.n^6QjWk*H.qQTeC4n>UỤpj'H;ip:WANW)AaM)6R
+#us~wCW>/W37QpVk= ~(pZeYRF?
+h6>`=$4vKK
endstream
endobj
-327 0 obj
+337 0 obj
<<
/Type /Page
-/Contents 328 0 R
-/Resources 326 0 R
+/Contents 338 0 R
+/Resources 336 0 R
/MediaBox [0 0 612 792]
-/Parent 335 0 R
-/Annots [ 323 0 R 324 0 R 325 0 R ]
+/Parent 345 0 R
+/Annots [ 333 0 R 334 0 R 335 0 R ]
>>
endobj
-323 0 obj
+333 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.85 334.529 255.07 345.322]
-/A << /S /GoTo /D (subsubsection.2.5.4.1) >>
+/Rect [224.85 345.495 255.07 356.288]
+/A << /S /GoTo /D (subsubsection.2.5.6.1) >>
>>
endobj
-324 0 obj
+334 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.329 302.649 428.303 313.441]
+/Rect [421.329 314.223 428.303 325.015]
/A << /S /GoTo /D (chapter.2) >>
>>
endobj
-325 0 obj
+335 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.454 170.588 263.926 182.544]
+/Rect [241.454 183.985 263.926 195.94]
/A << /S /GoTo /D (subsection.2.5.1) >>
>>
endobj
-329 0 obj
+339 0 obj
<<
-/D [327 0 R /XYZ 132.768 705.06 null]
+/D [337 0 R /XYZ 132.768 705.06 null]
>>
endobj
10 0 obj
<<
-/D [327 0 R /XYZ 133.768 472.913 null]
+/D [337 0 R /XYZ 133.768 473.175 null]
>>
endobj
-330 0 obj
+340 0 obj
<<
-/D [327 0 R /XYZ 133.768 375.099 null]
+/D [337 0 R /XYZ 133.768 385.762 null]
>>
endobj
-331 0 obj
+341 0 obj
<<
-/D [327 0 R /XYZ 133.768 331.54 null]
+/D [337 0 R /XYZ 133.768 342.81 null]
>>
endobj
-332 0 obj
+342 0 obj
<<
-/D [327 0 R /XYZ 133.768 299.66 null]
+/D [337 0 R /XYZ 133.768 311.538 null]
>>
endobj
-333 0 obj
+343 0 obj
<<
-/D [327 0 R /XYZ 133.768 267.572 null]
+/D [337 0 R /XYZ 133.768 280.057 null]
>>
endobj
-334 0 obj
+344 0 obj
<<
-/D [327 0 R /XYZ 133.768 211.989 null]
+/D [337 0 R /XYZ 133.768 225.082 null]
>>
endobj
-326 0 obj
+336 0 obj
<<
-/Font << /F37 243 0 R /F65 250 0 R /F67 290 0 R /F53 244 0 R /F64 249 0 R >>
+/Font << /F37 251 0 R /F65 258 0 R /F67 298 0 R /F53 252 0 R /F64 257 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-338 0 obj
+348 0 obj
<<
-/Length 1534
+/Length 1402
/Filter /FlateDecode
>>
stream
-xڕXKo8WЃ ,"%=,.Z`Om-6Q= QJC%[f/99m4~YdaBL%3…Ϳpv'$O_]_C?U<Zg m9Q[vlLoK RI@X.QIʒG]zgԥj=%]vӶLP7zv,(
-X0R@k%c뚅)TN;@aihXK^}ΧD*hlv RXW+d|d3䇀84;]ʯYgq774k#T>T],y 4 p͖g,1CNL$cwd=#`w]q ȕuZmxj5q/aPeJi+EElR(.l[$].MV881-@ZL%\tlW\뉣eWK,q-Y4W o6Ѓ/Q2p7*OaC؇H}nHֺ
-"Ew&dp7+1wJ_M<f{,VXw!I[Ti%r(gwTýx\ΞZDE
-ܥ+h"mg+)=p*ٟ+֛;_#~iFR^ھ7=&.a,H{}E1@8Qnk^ӷ>mOsj 'eo* bc0 ˲nj:?S7e{ sv)*!=3WOTҵ
-nq #7}5mevB֡6
-!S0,<A"8v_6O\e;c7
+xڕW;8+\5#>%+સ˦e&!ɛ3J
+4&9㼔t4l}(U
+#j{XqR˩TᖊeQԮ%ƙXeX&Gz#ĭ7H{=O~D 1)ۺ^%9Ke1rmmё<Ya2MRE ՆsV`wCTU;q?WſO2p/agޕтWl1Z&bN>j*m="!ha s+ѷO47#^ed* i3l;;C$_ioGڗmբY)]26W ^6ЃV;uU<6J1Y蹟gK 9S)|l2r OBfC
+GIF%cbW9YJa^0yu, !{ d_QP"nAJHV;ܪvG(& @@k;ds
+dC[2twmSjS?Rwi'erh%LL㳭. 23UHCd{rvk4,h(2R3wZC OlS\ܙK;&?hS 'RdZV
++U&8?g* x;c x}<`R#K[ C%j{?x6XbP ch
+tc( .OxUc)V߁
+[iPYg=DMZۈ%b
+@Pq DUϡhC5nW
+=6}dOP8<[n|s15<v`XN ajʷf7n}l&3ߙ5u°VΑ|"Z`JgTMSQ<i*k8SƋ8S(y挩r)B`l]a6Gqn>fk!4fa猥p-!h'k4!: T40F/D(/}C(~=|"qb^\CZ{mlT}hE s::]FSCOs]8UE27b3|1T>@@%aڀ (gZIofLwT
endstream
endobj
-337 0 obj
+347 0 obj
<<
/Type /Page
-/Contents 338 0 R
-/Resources 336 0 R
+/Contents 348 0 R
+/Resources 346 0 R
/MediaBox [0 0 612 792]
-/Parent 335 0 R
+/Parent 345 0 R
>>
endobj
-339 0 obj
+349 0 obj
<<
-/D [337 0 R /XYZ 132.768 705.06 null]
+/D [347 0 R /XYZ 132.768 705.06 null]
>>
endobj
-336 0 obj
+346 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F65 250 0 R /F58 340 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F65 258 0 R /F58 350 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-348 0 obj
+358 0 obj
<<
-/Length 1692
+/Length 1695
/Filter /FlateDecode
>>
stream
-xڥXKF̄y1TG7,햓O􀄖ڕw4M?lo{H,˄KLG:L,8~HcP4JTr-kmywjц4SZKbXwJDDhTӃw#mxڅp({I+y6ijB,c\P$-0İ;nǶoSCQ"x>`0gGI,"Knb0zNmw<Nw~>Y8:\H$˧䍇2; A96eeA̘&QS0pіWAy7ܻ=}{=&4,? nR-޿r{84wQS%k:CH߅T+HQ{<\cOIVm}4 +V"USɘbӜ@:OòMo(YF<bRe"PF0{E
-'jj2ۯȍ^ٍ^ u'VzK?=!
-iVt6B qc#;rZ0?F{ /b0
-
-T!
-&'381
-{0_u@w5SQ ?oo>qÐ
-?W uK;^Z[R`>!@p0·s{G< zUD-a&,JL5u0x:xB/_wV/*^
+xڥXKF̄y1TG7,I忧{z@bڕÖ4M~|&3HY m,t.YEq&Fbq+<# gi\у[.UVԔ / i`DZ"&*X )4ќ婦:PGqxW _Ká'1HWrL٤Ѫ Ųqa&C96_ID۪MG9\:&Q,Z: 7uG;p? ɂv%<yD
+ q]>m$o<u!wlʱ)+ Qo6$x@AnK@ݞ(z v3?lk8.Di[KķB톃viGx4˩{xgxOqSۭzd)!"~_A &28\cOIW-o^vyPH2ޟj3Ҝ@:OòMo(K Տe3pŤD)XB``Amn#y|N6@d7sb'$ } #:p.z4O]n%
+,ԧ\vM>o4y>^0w kGA0} <|"BFwʑl.IN6e(&?x w-ݦBښ11EřDT:HGjrEK?`Bp40]S<qh۹1, %*vw0l"7z7z*`[(2/0`
+/Y-)xf ,JxWBK:8ƪ,SH| rl VneD
endstream
endobj
-347 0 obj
+357 0 obj
<<
/Type /Page
-/Contents 348 0 R
-/Resources 346 0 R
+/Contents 358 0 R
+/Resources 356 0 R
/MediaBox [0 0 612 792]
-/Parent 335 0 R
-/Annots [ 341 0 R 342 0 R 343 0 R 344 0 R ]
+/Parent 345 0 R
+/Annots [ 351 0 R 352 0 R 353 0 R 354 0 R ]
>>
endobj
-341 0 obj
+351 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.612 454.053 420.334 464.846]
+/Rect [408.501 454.053 423.224 464.846]
/A << /S /GoTo /D (section.2.1) >>
>>
endobj
-342 0 obj
+352 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1265,7 +1286,7 @@ endobj
/A << /S /GoTo /D (section.2.2) >>
>>
endobj
-343 0 obj
+353 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1274,7 +1295,7 @@ endobj
/A << /S /GoTo /D (section.2.4) >>
>>
endobj
-344 0 obj
+354 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1283,68 +1304,69 @@ endobj
/A << /S /GoTo /D (section.2.5) >>
>>
endobj
-349 0 obj
+359 0 obj
<<
-/D [347 0 R /XYZ 132.768 705.06 null]
+/D [357 0 R /XYZ 132.768 705.06 null]
>>
endobj
14 0 obj
<<
-/D [347 0 R /XYZ 133.768 667.198 null]
+/D [357 0 R /XYZ 133.768 667.198 null]
>>
endobj
18 0 obj
<<
-/D [347 0 R /XYZ 133.768 416.126 null]
+/D [357 0 R /XYZ 133.768 416.126 null]
>>
endobj
22 0 obj
<<
-/D [347 0 R /XYZ 133.768 387.475 null]
+/D [357 0 R /XYZ 133.768 387.475 null]
>>
endobj
-350 0 obj
+360 0 obj
<<
-/D [347 0 R /XYZ 272.581 246.955 null]
+/D [357 0 R /XYZ 272.581 246.955 null]
>>
endobj
-346 0 obj
+356 0 obj
<<
-/Font << /F67 290 0 R /F68 291 0 R /F37 243 0 R /F53 244 0 R /F65 250 0 R /F75 351 0 R /F76 352 0 R >>
+/Font << /F67 298 0 R /F68 299 0 R /F37 251 0 R /F53 252 0 R /F65 258 0 R /F75 361 0 R /F76 362 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-356 0 obj
+366 0 obj
<<
-/Length 3004
+/Length 3003
/Filter /FlateDecode
>>
stream
-xڵnFQ^XL\` dwl6MQ6JԐIߪCr{4hta?]Xx%7?t%SnqYHi]ܮo:^).}ճM&BxV۲|wuCR7
-oö;؝.˺Sr2/9T}9Nh]&z G)oKXI 62yájuNXIdd
-f[8̷(2ɴ3&r@?‘ɹ͑ܓʄ` )AL:b\Bv@kkK
-zrSv2 m7*uCt5a,wep07ee$W:3.7#xeGppy@nFȍ(./?r"
- Ev?[>=T=Pw=
+xڵnFQ^XL\` dwl6MQ6JԐIߪCr{4htQ?]Xx%۫o~"K2vZ' gDi]/.u"qR>]6gM
+D&*L[ `w,Q~ˡwB-w0o.?2Ny["JJgdӖU[wʰN$3'n<-4x Nw,auo5w*5P+KfZ
+5yoKOl+P
+XK.൙#lI>,zI*'L TUGp`y¢@mfbi5jΚ!_R>ur,%$dZTI`F n 0 ƥ?lB :0D< |I&P1*d򥳛 Ns$)CuPk4
RF¦SQBقYwm#!+60K iMy'(C9 JFU+"RpHebE<Uv v`YN|
Q i"ǂYbxܱsO+M1&f~ 's P
-UGݜ76w7…tYmג=*IsqOl;hIhH1[i>]WU nhv>H'=M}
-r} |P
-cnB. Eʷc޾y`C$&Do{ʖDbNLIh`.t7=|
-,3 ˪'qLtTO#8|bCT@w}D8u_r><S{h5fMO@ SFYe6(g._D=KD 7l3j
-|L
+UGݜ76w7…tYmג=*IsqO?*wjђ_ѐcnS|$sPA
+`|k]6s#O{)=U7R>).88Z 4Rn#\)߶y a)[9-3&Uy?>q85[ˡ(h HFf"zn](܌R{y$!/'JEz^,0◤Yx
++XAP׫_}\h -nB9V;G=N7>=Aܻt2ǔJJT&;kEDy"J*c$g#eةhsid>3Mdw!T[y5!J_(Jڙ ,BY8wdU2;-#0KFr!X_~__r1yͼ.^BfJ
+'&^YDe.y11B r#ԲEl˾چH0Sm}<BXȪً
+!"0Qm%tQΪ]&h{#I. o
+gg
+m۰A·c!ԧȻ<#!잦2JZ@ DLB",9'|
endstream
endobj
-355 0 obj
+365 0 obj
<<
/Type /Page
-/Contents 356 0 R
-/Resources 354 0 R
+/Contents 366 0 R
+/Resources 364 0 R
/MediaBox [0 0 612 792]
-/Parent 335 0 R
-/Annots [ 345 0 R 353 0 R ]
+/Parent 345 0 R
+/Annots [ 355 0 R 363 0 R ]
>>
endobj
-345 0 obj
+355 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1353,7 +1375,7 @@ endobj
/A << /S /GoTo /D (subsection.2.1.2) >>
>>
endobj
-353 0 obj
+363 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1362,195 +1384,199 @@ endobj
/A << /S /GoTo /D (subsection.2.1.3) >>
>>
endobj
-357 0 obj
+367 0 obj
<<
-/D [355 0 R /XYZ 132.768 705.06 null]
+/D [365 0 R /XYZ 132.768 705.06 null]
>>
endobj
-354 0 obj
+364 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F55 358 0 R /F58 340 0 R /F64 249 0 R /F65 250 0 R /F61 359 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F55 368 0 R /F58 350 0 R /F64 257 0 R /F65 258 0 R /F61 369 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-362 0 obj
+372 0 obj
<<
-/Length 2537
+/Length 2534
/Filter /FlateDecode
>>
stream
-xڵZ[o~ϯУ N8CPle-[Jr.] Iɒ8ٳ_D sB?_%d>aBm!\fܦM٧_>35a%7ҏSDsh6FEu?hW97*M |ikhaqdʄ2OᏑ5$$ѨϤ?*u(MѶe]]"<:L.eƂFb`nXZ׍{Ƥd 3Y?[~lr+?faH0
-.Iwպud|83{͵]5 TQaCʈ3%l;lt
-N$gXf\v\<رw}|`}
-Ъ滪X斂Xa,`P\ZU\lIwuUCnu0(Y٫@ĞeaQLѩբ)9hZ7,ƽMyL^
-'= O{Sdn<V^IJ|DwшXF ["
-o`vR3JM̅N)TF(EBW~bpb=8?`V?j& ܊qEil)]p W-
-P*w@oބCYֻ{rZԏ+7wudz޲fSVr(D$VǺv ?NeKim}\:Oj9)v8RcSUyY;x?>}Ih&Ӣ{1euxbp0} 5 uװ|k?ebmL =3תx!/CT|w`)#P#KUmb `ZdKvjx
-T,`WZͧQij f@́EBNחğ]/)>oD.x<F9C޸픥]$ߣT!ZGPs[sY]e 3"D #>6|+g1MV\A 28#\ڮn
-@iHn,cb3٭}.^
+xڵZ[o~ϯУ N8CPle-[Jr.] Iɒ8ٳN^$1+3&J$4}„ FD+CP2MO7\}f4kJn֥1!涟ԏm Z~"fsnTz܏/2$3r 'Te#{H"IY78 )!qIU2P<mm˺Dx&uae뿋]
+gJ!BUw.%
+A#U];j4WR,'B&>`_D2׌Hupz6 #Jg#?\|`0L0% $
+M_JLfG7qXj!۱i) %(aq=E3C`9b^/~DZ[$Y6l2\e!2Qa&
+3m4
+0Yc)wG")9Y75Rf A@q|X9冽'Vy>swĪχU[ɄyG6`egWiͷ΀U)#}1H A/c`$7hH1'B477hʥgy4DCDlq['
+bqJ8Xo7QlHLXf\v\<qt}|`}
+Ъ滪X喂Xa,`P\ZU_Lvj[ wKׅJ*HdVe[?|eG/MDSV@<i"|6:SxD#~x7ub!=p*9pWڱ},Xk>0iW R#UtBDhWg)|½R|e ڦ;?L켜Aps7ox6)z^u𱂹"y,UlUx44sK\q.ae/$-p\N
+h&Ӣ{1euy  <  '<1vp'HfԘj}:f20**okdp-6Q<#\|CJ}! hfHV%ܔ+Si
+l
+*gr8.RQ݁iuG#93,.V3aP`,nfr8賙;H|+L$õ0<>0//vu~
+PW
endstream
endobj
-361 0 obj
+371 0 obj
<<
/Type /Page
-/Contents 362 0 R
-/Resources 360 0 R
+/Contents 372 0 R
+/Resources 370 0 R
/MediaBox [0 0 612 792]
-/Parent 335 0 R
+/Parent 345 0 R
>>
endobj
-363 0 obj
+373 0 obj
<<
-/D [361 0 R /XYZ 132.768 705.06 null]
+/D [371 0 R /XYZ 132.768 705.06 null]
>>
endobj
26 0 obj
<<
-/D [361 0 R /XYZ 133.768 427.009 null]
+/D [371 0 R /XYZ 133.768 427.009 null]
>>
endobj
-365 0 obj
+375 0 obj
<<
-/D [361 0 R /XYZ 244.949 276.522 null]
+/D [371 0 R /XYZ 244.949 276.522 null]
>>
endobj
-360 0 obj
+370 0 obj
<<
-/Font << /F53 244 0 R /F37 243 0 R /F64 249 0 R /F65 250 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F56 364 0 R /F67 290 0 R /F75 351 0 R /F76 352 0 R >>
+/Font << /F53 252 0 R /F37 251 0 R /F64 257 0 R /F65 258 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F56 374 0 R /F67 298 0 R /F75 361 0 R /F76 362 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-368 0 obj
+378 0 obj
<<
-/Length 2698
+/Length 2719
/Filter /FlateDecode
>>
stream
-xڝYYo~Un I3K yYk f'XMKv+zu3+uusIl(dWGNt'w~΄&Ui'(iK(=q7'*i06S۝y8p)u^yx>{f*h;'l|c5Ԯ_WP5NN%ǿL)C8_I]Z
-I˞$9knY$!7a,ci|șls* e&{#xaTA֯D$;p2pǪa(;w/閕Nٗ[QJ$x~>d2N$S5C(uCyOA3Ƕύ#oi
-;nn?}X6G}bdsBz'M'$%J.qݧ|4(=(R0N|/>AUIL,:^WݵA.?f$[\Z/". E4ӄeFqFf&eJ](4,>6G϶GvYe/mOǴVi/eew/=BE7L ;Ǜ&Ȱijʊ4n*Gp{vΎ-B:"p Nwf V+RY`׵r&I+&Tۓ٥<8Rn|\c&u2ܓLIЯaoF4mg:gº+M6Y@)|Ld @*|q әk6d>jxdMtGEm{g@{4P;==1T=mځUC
-ݳ}Ql
-0F){.`Dh7N/n'"\LPw$7T9Q;'WIPɷZb=έ-h`hI1YF1p2K?{3V:Ite]?@ŃǀD=ſN Ty?k`q!,o[guxhǻN%Qt;>|sS6zj);4&nrpHTh_0T#@rJq
-7䜃<ʳ=YLvm^_{NC
-~ ! .wjgM(9|n4,f\VP{6{\6Aѡ@QECMmM\xZs#ŗ7ui
-1Pt{,uA#p-mr(
-z}jz G1GW/ 댆ΜInӞ,e.IЙb Anع :l_L R UA鰊ZR#(/Q 6{>3]?Z-#M:`G-W/V"ө'EWegj1#Crl}DPR[;|
-鶠Lh7/SڔL*43
-` uRui6ѯViĿZ9Qmnnof99О{akVPOj2$o-]F Ozl; 2o3hSNM'f#ۃ7MTF{JI]p6@{+![ބ׳VfwΕ5\T?tcT?
+xڝYKoWmՀ[ÇD`7H.` +wneR+jsI(dWFo>QfsZǙ7&ba)oUQ𷠏]N<px ,E_]A<n;-dv~1;r\Wj__]C<pt--y65QU;)c5hҨ/e}:} $Ѿ=
+=yg
+T/L%qkP0feF
+)UۄJڠR^W_{8N,M͜ lM침-)ĉ7skP2Ɵ?rDVY/>tl'X疉P<j{:%Mݱ8<5V05(h1@
+H#we18* CkO5Z`04CWW;YzsI:5N݄E2q <,  a_0z%_ |J8T;#Y$E6jWt[ID)BLd$3Tٓ8o31 "/_g
+z_9qr%*/AD)=*XažEKhggIW*>@;
+
+Z)&[g&hΫ_q}c)E@QոקpCy
+<IYg233v&𴧄#77X
+yZ@\W.#)QE, N
+VTtK|dpzg*kXYՕUyg !r0$1Pպoh%nw8';\tEG.8Z0m<*wׯX"Ծ,ҸKi-PUQ_U+vrÖz.(eE
+q
+KFGXA2e}!A/6]b9Up_)`~HZ2ߘ
endstream
endobj
-367 0 obj
+377 0 obj
<<
/Type /Page
-/Contents 368 0 R
-/Resources 366 0 R
+/Contents 378 0 R
+/Resources 376 0 R
/MediaBox [0 0 612 792]
-/Parent 335 0 R
+/Parent 345 0 R
>>
endobj
-369 0 obj
+379 0 obj
<<
-/D [367 0 R /XYZ 132.768 705.06 null]
+/D [377 0 R /XYZ 132.768 705.06 null]
>>
endobj
30 0 obj
<<
-/D [367 0 R /XYZ 133.768 605.492 null]
+/D [377 0 R /XYZ 133.768 605.492 null]
>>
endobj
34 0 obj
<<
-/D [367 0 R /XYZ 133.768 207.116 null]
+/D [377 0 R /XYZ 133.768 207.116 null]
>>
endobj
-366 0 obj
+376 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F65 250 0 R /F58 340 0 R /F52 242 0 R /F68 291 0 R /F55 358 0 R /F61 359 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F65 258 0 R /F58 350 0 R /F52 250 0 R /F68 299 0 R /F55 368 0 R /F61 369 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-374 0 obj
+384 0 obj
<<
-/Length 2055
+/Length 2056
/Filter /FlateDecode
>>
stream
-xZMo6W(6 R-ۋ7@[XXYJ ɒBbI grNz󧻛0h%:!!%D
-(*0c-nmY)3O.lwor2im`ٱŷ s_O)yY|UI?"Ft6+52x -vk@<ciY4v^9QG1Ҕe^'xkin vOnG̭2/WU3m5ݾZym⡺-? "ԓ)ϳ">ؕU򏗏%7+/B@-y%
-i $^rv{d?Le[Oq<拫-U8NP>e5pW˶UMH
-@t8@q)7'`2xZt@#w`Ruqb^I.S.ߪ^9$-S\&ADyMC`~Բ5X8TFk[o[%E$J\ xmDڶ+".*O!FQ:bWeRp7(KĚ4Szk1uk'(+T>n2FumHfzz=$ˠ
-uDA4nbr, NMujVm\0SoۨC`mWw1
->#sg]s>;kmX @aS
-(^"6n2Nf5- ˟[ki]n /-r10r>2f׷v?\/]t^#|~/^&b86>8.|B`s Hp`v M8_mM<
-'Bؚ__yhgZ
-夥;k
-1 #%dT*rJ'JN%tN'lHx`1<"%"@(7" MK :KڠwqzN%9 sEtv g (=͂Y ΢;KsHb`eTlfݎYjgL a>,(,0R
-κYLHp$ "pSd(ďzG
-Z`DW.;jv((2P*>2E?;H 8ᗚF.4 ELtiN}5_KϚ6F:+ׇؾojaJް,d1ٕdF
+xZKo6W6orY[z-rV7]>$K
+:(z% C7"8OpW>0h%*!!%D
+(20c3>I.4Kמ\4n=e;?ԮPc sW("5.oV,ST{oA2($$h괨5k< AZƀlҲhڟlsHS
+r4y9㭹ە?<<#ٟG<yidoY]owjSM͘Ly *IY/x?[ׯ;"x},5
+꟪i K&*?7xYmWpEuI?Ʈ7sBޮ=hRmaJmOcG8s\# n+-5"tZ 
+<P.doh`\ P&i=u-waJmbAj x1U[~DMjXVrLje_yh<Cyt [(\_nv6l xh|Ql+PE3.Gٿ)K;YQP"; J.YK!.5$jf!a St
+>!JY<-c2FUmHfzѫz9HAO[YNMuj\NC驆a$io ^jb//,C
+_|'OFeMDw{\X{لg51 fg3.1i;ޚyzNuH#8)LOI[1ly(V5.]sY烨l&4а",Ԃ䖤^ @<}Bb >$ߍc $R/JHih\AvX:]$vsK0WDg1-X.s%^a,z4 ;i,vY vFśA223cው2@<J@I)[rd1!G
+‘T8*XdQdVqB^hl
+PPˑgU|jǑD:ȏzK$ XsU#gՎr{#h]uz.bIŪI/p~[>A)zER; [Y,4b+ɨՅ= о
endstream
endobj
-373 0 obj
+383 0 obj
<<
/Type /Page
-/Contents 374 0 R
-/Resources 372 0 R
+/Contents 384 0 R
+/Resources 382 0 R
/MediaBox [0 0 612 792]
-/Parent 377 0 R
+/Parent 387 0 R
>>
endobj
-375 0 obj
+385 0 obj
<<
-/D [373 0 R /XYZ 132.768 705.06 null]
+/D [383 0 R /XYZ 132.768 705.06 null]
>>
endobj
-372 0 obj
+382 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F56 364 0 R /F59 376 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F56 374 0 R /F59 386 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-382 0 obj
+392 0 obj
<<
-/Length 3318
+/Length 3333
/Filter /FlateDecode
>>
stream
-xڭَ}dIQ`]L`Ad嶲|}XEhy_,x뮢.&o]vǝH8r<JEnfI4tw۟:e
-j.,N?$:jT9x#`85~ Lq+7챧\n}FBWDyhk̝,w2Y;9|k{Qy,SPEd?Kf J`=c@hMA?%bUڵV'HTj:U^]8%kS&C1wxEK Z<ֹe
-ESX'br {vߪlA ( (W p؁3@]56}`pmA܄(Wjg}8
-`kiK*vQ.aXgpn֙bh ,†
-?֟mcA![ģuʉؔp;$ D[
-dgoq
-x9%oޛK73N>.Ȣ_0BA_/.{dXB+cmß1Řyj֤>ImO iF|+&XwȎO$b§s=<T@(vi|\Vݔ|QNFc._Uκk@;\O+TMR@g>uV-kd<K
-iG5_RgN•Oob7i2%\1 u"P>m,lR
-]2uNkL':[V1HE90^Ϭ2ީ 
-v9nTJ{NB%?fpalr1M,ז,zBeAȇוJER~I$ϊPhG8n**<E%04$¹n פf鳵49){U;lwH,M6l7Ľ,CFPhӯ`J[̅ :
-\&ox+ y+K#/-F/U4Mohv믙|E.~ 6չP,nq[89_/"Y4yX20_@r 0c[ ׄpQh\>x
-u/6]>(&kTPyU< D[q8N!\ROEn?Ý1OY
-PŇi=p_l *w",>oq >\o}jƐni${j֓FB
->&)_{,F|KkOo=sr
+xڭˎ>_SN=,f
+yZ@J&TUbvt,ڛ!?7h7%pX!_.NDɥV'TV":ڵ/NIeHНO}<5̼ɓ4#!پ[s \5֚'7fW.TQ< DЭL5{lyyqlCCi9vhv"
+^(Ӣȗ_K
+qVNSgݙ [sfÁy|@Jg,:2
+
+ +:ys8 hQ1BJGz+;p~٫gV^!
+ _52xKs#x/.$È̓P7cKPHOQ"lEp<pt4þH~8UQIkEl>ƲCGkʼnؔxz$ D[
+~C0ty,E]²kb*.bڷ̞ 3+470_TOedS>K+(|)oA{KRо"y];B 2u
+.$ɤوPʑ'HЉ
+9cAܝ!OAK%޺Je=/o %H@#K@((ִJјX !uf<)cy,*@/"tbpPRU,978qх ť|~T}^`Zx|ڶ@ UPhe*0HR-ӵU|
+N!VWbŠSlac?AQG~ ezh[X"@HH9Γ22f4̩pöOIO;TZw(r`f.fF.,}=e1/ zR 9؞?P8U"
+%6=zsv<%
+5ߚ_,{of}KQФ}붡FSQ\<AT=W;wc>$THvglW!8<kG'I|*+ EArඒӊbё?&ʑJH&K_חzBuELJRŋ")^"KHw]∵'WEiY"R+8-4 -I]i kWOYO@FBd}v;-FeyM
+JU^c.$ٙx=*`*DC[pM[Q[Qb$Xq <WQhvY\xE.~ 6չQq[89_uʞO%}\`-8`bAvi%_W^<sE<*33o2?+_T߽kTP
+}FXB,2Lc;;}dfyx'Ρ؋wf G`ŴXչ ›5ϋa Xݳ(,5s)k Icv8Y6J| k @\&nV|StH'XWVF||on
endstream
endobj
-381 0 obj
+391 0 obj
<<
/Type /Page
-/Contents 382 0 R
-/Resources 380 0 R
+/Contents 392 0 R
+/Resources 390 0 R
/MediaBox [0 0 612 792]
-/Parent 377 0 R
-/Annots [ 370 0 R 371 0 R 378 0 R 379 0 R ]
+/Parent 387 0 R
+/Annots [ 380 0 R 381 0 R 388 0 R 389 0 R ]
>>
endobj
-370 0 obj
+380 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.942 653.748 298.413 665.704]
+/Rect [282.598 653.748 305.07 665.704]
/A << /S /GoTo /D (subsection.2.4.3) >>
>>
endobj
-371 0 obj
+381 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1559,7 +1585,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.3.8) >>
>>
endobj
-378 0 obj
+388 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1568,7 +1594,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.2.1.2) >>
>>
endobj
-379 0 obj
+389 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1577,190 +1603,196 @@ endobj
/A << /S /GoTo /D (table.2.3) >>
>>
endobj
-383 0 obj
+393 0 obj
<<
-/D [381 0 R /XYZ 132.768 705.06 null]
+/D [391 0 R /XYZ 132.768 705.06 null]
>>
endobj
38 0 obj
<<
-/D [381 0 R /XYZ 133.768 342.478 null]
+/D [391 0 R /XYZ 133.768 342.478 null]
>>
endobj
42 0 obj
<<
-/D [381 0 R /XYZ 133.768 236.425 null]
+/D [391 0 R /XYZ 133.768 236.425 null]
>>
endobj
-380 0 obj
+390 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F58 340 0 R /F55 358 0 R /F65 250 0 R /F67 290 0 R /F52 242 0 R /F68 291 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F58 350 0 R /F55 368 0 R /F65 258 0 R /F67 298 0 R /F52 250 0 R /F68 299 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-387 0 obj
+397 0 obj
<<
-/Length 2072
+/Length 2129
/Filter /FlateDecode
>>
stream
-xYK6-rf&v4@[6{Ply-T\IlRwdɑE7O#=D4yz0QBut8+iE0<]Fẘ8}_d"D|;K)q7imׁf3 U۔_"+MiK#- F=0kDILn"nZ@KhT (!3$+9I}(q;6*diDd3eiD@B}J-QZyu]%.| Lf9DZ@o留ְp)y I9M[e9c$Qi?.i "~GX bԯ @DO
-ۖu9Nr>Ǫx~#'Rȱ#}9X~9,Z'`/Yy9‚دY}9JK-k/0u<p /8r7D2A@ :7
-JxuOx<$ew|N o
-Na_Ny&6IOÌVhZ.rt.[iTnu-"9J{Fڛ
-_>--LdA 6]m
-}|] 1߄nfF!˚ipOra94 -OS|RrțLٗ|te92=_'T4 +)؛z~ƈW^G'S,%R.*5 ow^gå݉G*V끊up5*O9G5@t1%&47F<i v\$^p4:q6=3ɗdF[|=aB .#ʔܖ7;%׿1`br60g jyd}Xrlŷ/Qq3tƿ6k͏ kcWyqE9{G-}:ve)kɮĈjq#
+xYs۸_P7os3̥sN( EHq]
+AlVce4dMuD'00hoӇ]zuݴBj{iKT4Lw߻z}Xu;n;&!yx׾߉Yv*\ pP_ 91
+Gжd=(S:I0}S)8Bˁe:
+JxkvOx<$ew|N=3,y "KMl<sru9\IڋV]P@Unu-"9J=#M/
+Xr YP'P<ƙYc
+ծ-Ji߮qî*Pxwy+ҿjѮ]L9,\OƞZ?-\`ys=AR$/NT0EX$ٸ RZy1PؾRi۳|sp ޺:4eY2p`q ɛ)2P/;uIK&@EM %p@Az kav0/^/cl:󸇉b$(勐}8l[ncya]%CrF|p+1, \0b`#V.:.iΞjs&ɭ]Bem+?wY2spj-~{ ?/٦pj97UG8}o]&2aB{O2)T2&m ⿴~t_S>< R⬩6@pT‹2{L}')VHq`h,YʐP{`x8٪'SOν_٧ߏ iw SwF`}uQhBEx21Z
endstream
endobj
-386 0 obj
+396 0 obj
<<
/Type /Page
-/Contents 387 0 R
-/Resources 385 0 R
+/Contents 397 0 R
+/Resources 395 0 R
/MediaBox [0 0 612 792]
-/Parent 377 0 R
+/Parent 387 0 R
>>
endobj
-388 0 obj
+398 0 obj
<<
-/D [386 0 R /XYZ 132.768 705.06 null]
+/D [396 0 R /XYZ 132.768 705.06 null]
>>
endobj
-384 0 obj
+394 0 obj
<<
-/D [386 0 R /XYZ 250.58 662.328 null]
+/D [396 0 R /XYZ 250.58 662.328 null]
>>
endobj
46 0 obj
<<
-/D [386 0 R /XYZ 133.768 288.675 null]
+/D [396 0 R /XYZ 133.768 288.675 null]
>>
endobj
-385 0 obj
+50 0 obj
+<<
+/D [396 0 R /XYZ 133.768 186.672 null]
+>>
+endobj
+395 0 obj
<<
-/Font << /F37 243 0 R /F75 351 0 R /F76 352 0 R /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F52 242 0 R /F68 291 0 R >>
+/Font << /F37 251 0 R /F75 361 0 R /F76 362 0 R /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F52 250 0 R /F68 299 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-391 0 obj
+401 0 obj
<<
-/Length 2327
+/Length 2337
/Filter /FlateDecode
>>
stream
-xZKsWg=t٪8Ry&
--sKi#t;p~KUV X]op^*6_Pvd]9s|24"iy[.%.'h+DŽ턮b@&z <6
-Bс<)=ĺNzFCd{$ٴ<ځa~PQKzLlYqӘXet(%$~2E?GB矛уDTc3Hxe 'سXfVWw` P<<2R%z ieSN1\ʸqH zժۯ}P# sh
-ٌ@X-pCq2Zt^_|,gLiΜV08\f~nj\+|?=Nw`&mX
-OsF4;x:θTq _e܌R40,Ib|)͒K?NH&B9!%瓤 Iri/|F;A3};ҼR;ּnKߓ[*9έCmva8ӓ,3\ )4r׉F? ]/OF
- eR=>P-,9B:-#)(ks6kpρ[zPX? S
-NC0c_;Ggdœdn
-F, ͋KPN r'
-UT}[a iXIu颦wLT+@胻)J8M5w_Qo/m^#YRa!$җݱ!Sّ83W]"\җ
-م*/,Tg;ku fk"O`6_A")k_?&xKM_}<+%Vcb4vV/6aǡmhdNCՎ/)BwA+˽CV)xu{[s{vi@/Wu[Xo}U
-
+xZK ar[ҤUԤRڤo=}P۴ZYL@PQ=G6@
+A7хu!*Vnj:"JɈmX|zp:c)qn.Ba~,LʱjȖ/m;\ M?=(+nlġ2e)
+ }ɷ/A)L:^P6LOyTxa1xu-`ՉEcLݭ2)n'A# 㳪Wz=7FxmwwEeFZ~Wڱ}$V(jP: )y,+GDT>tE[" @-s
+: \ u \'[^t4n0Prg㙎bWX'//kGǔx{}{[
+
+%Gh˪JKau>:" j$^_83Qҩ/XCUmmTM۲׶D1)PWu/X">[rs7HQ}8J
+4`yK̂61mW.DW;"Pν3=Ziu
endstream
endobj
-390 0 obj
+400 0 obj
<<
/Type /Page
-/Contents 391 0 R
-/Resources 389 0 R
+/Contents 401 0 R
+/Resources 399 0 R
/MediaBox [0 0 612 792]
-/Parent 377 0 R
+/Parent 387 0 R
>>
endobj
-392 0 obj
-<<
-/D [390 0 R /XYZ 132.768 705.06 null]
->>
-endobj
-50 0 obj
+402 0 obj
<<
-/D [390 0 R /XYZ 133.768 667.198 null]
+/D [400 0 R /XYZ 132.768 705.06 null]
>>
endobj
54 0 obj
<<
-/D [390 0 R /XYZ 133.768 563.526 null]
+/D [400 0 R /XYZ 133.768 569.627 null]
>>
endobj
-389 0 obj
+399 0 obj
<<
-/Font << /F52 242 0 R /F68 291 0 R /F37 243 0 R /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F101 393 0 R /F98 394 0 R /F65 250 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F52 250 0 R /F68 299 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F101 403 0 R /F98 404 0 R /F65 258 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-397 0 obj
+407 0 obj
<<
-/Length 2354
+/Length 2373
/Filter /FlateDecode
>>
stream
-xZ[o~ϯ["N,iw Xdb)0P&cż\>~<$CUD\o,>bBHsAMחn~fĂ?-U̍Ň 4bS0iI-hA/%ƚ&4D*p2fFDZ8j5R_ZyVSaL22p\oj.mEG^b"!<1(EP/CU3+bx ӌC(:5dN_TD"# N JgY@4т1b3:pi$3.!sY#L3EubkjamRJ$_APBx 0D>)Dq%_@qKWtq?s^`}Un7?-u_=Rw5w@a+b R޺LD\].'+8tlnU DvhBe#^(b2ӻLS> JoubeYmGTؖm-ۼeM7NIJ P 0~dJƫrV7oqhf zlQp]+l)>T!w;onw]c e
-9pku|~mzzTĻ:XTf"Y`8l'†JD]g+@Od,ѣA\uX%g F./ !&k@*ЮP6u.VxHME@CMUٷBi5W~ 6>e4hqZ.P؃n5=}pDo~qҁ׍MuMY oE3<
-$/i]8YRtT
-|wM WX"2
-XXµ>
-X!|xN@!Ug^3؃cH)-싯~$\MoEJw f'o5eƞJ8ZVur>yy7&f2 M s2ɭI$SϠV8>L2v>s[33D'[Q:9v^&3z]o(k:RY+ gᓁ1C
-wU3\F͍whb}*47&P69C8V~p
-ԲOqZyO|ow|\N%Qr[7,oz[yM~3}楠)ԶDrynIMx}%a
+xZI-RЪdЗd$Hm$l-H =)Me--j6rE۫^qdU\Ehe"Gizq|{4T oh\?^bPL#X&#1z-R%D[}UBFW@NtL+%NRėpދUEhcF*BRvmN )+Kk(J,100YRD^t:#xL47]?͌Bx *?ddg6d4Dw aVMhqԒqWRIq]Y#LS]:S*uY
++8הP%^a!"̪ / ?װNJv6(><3(<1~yA VQQW=^:~R_
+=$\i}U;0ۥr/Kn.-٣d.g.@lfV#5DX6 ĺr\4냟8 ̬]/Eyeiɛ˒{ɪiX6J
+M&G1(o,P^eu ]mRTՂ(G̭3ʋ G.^\k#dTYߤfaEb1o1ѕ:a>.}m]]Pe a&ҝ5|\r"lVˆ omA n|#,I*Ĉb+նH+3a򿖽R/
+,U.[mp˂η.ݔM<5@$ŢuYx|GP7yY}Ru 1;3VnZ@+fUg>,xT@+nAz"\
+
+"$oH(Yv CBbcۍf kzE(t {gi(,8qķxLUP 9Ѩf
+ǹfAgԯy&[!|OrecCŠ7>ɊJv}Jlw)èAցu KD<o4:Z{8 bA2=2vU:Y!9!5821R:D[Hۆ}axia7[.!p@0:IaK p^優\u԰a^Iea߲׮6`*W&y3H[8hT,D@(BP[*4Âz9ޅt uJA=cԵ̐
+@O~;l"=Wx MԳ;.hbxCz(&fg 2c<;p|A(|OAwj00 3nwxcBB^W68d钐  ǀ2&/rq#ߕ~~~Vǃ|rxXg
+DyZk-ݮH8KoO0{h>EsP=rYA}z=вlZa*篵t6ӊ 5skp2`e%h!s^9C1sjXX•:j8~e)*9g_9[c/<y;| ^N$>؃eNs8_Y"_6$,@V/Er@̲ĹSל sɬpԬ[vɌM0єH96Ǵ
+u̩yfBgn]wV_Tx=R˄3)_}̿$!WFfgw
+׮8Dɻp~Ҭɪ}^d)7wx'oIoyȟǘ %sK +Q:Qއ
endstream
endobj
-396 0 obj
+406 0 obj
<<
/Type /Page
-/Contents 397 0 R
-/Resources 395 0 R
+/Contents 407 0 R
+/Resources 405 0 R
/MediaBox [0 0 612 792]
-/Parent 377 0 R
+/Parent 387 0 R
>>
endobj
-398 0 obj
+408 0 obj
<<
-/D [396 0 R /XYZ 132.768 705.06 null]
+/D [406 0 R /XYZ 132.768 705.06 null]
>>
endobj
58 0 obj
<<
-/D [396 0 R /XYZ 133.768 532.095 null]
+/D [406 0 R /XYZ 133.768 532.095 null]
>>
endobj
62 0 obj
<<
-/D [396 0 R /XYZ 133.768 157.558 null]
+/D [406 0 R /XYZ 133.768 157.558 null]
>>
endobj
-395 0 obj
+405 0 obj
<<
-/Font << /F55 358 0 R /F61 359 0 R /F101 393 0 R /F58 340 0 R /F98 394 0 R /F37 243 0 R /F52 242 0 R /F68 291 0 R /F53 244 0 R /F65 250 0 R /F64 249 0 R >>
+/Font << /F55 368 0 R /F61 369 0 R /F101 403 0 R /F58 350 0 R /F98 404 0 R /F37 251 0 R /F52 250 0 R /F68 299 0 R /F53 252 0 R /F65 258 0 R /F64 257 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-405 0 obj
+415 0 obj
<<
-/Length 2082
+/Length 2092
/Filter /FlateDecode
>>
stream
-xڽYKsFWp[yϐ-6UTrKH@M*== k= 3L?i`+|AbIep("B!Dpw=%xp[|ĆQ,Xz_57#S*FӴ#[."X:k,uXrZP>GBI'EVVUqؕ@Kޟ5&B}0Ra1uӚ$lW#X:9^*@ 7)8)ԍ;;hmVel4S7y)ϳ~ۭw
-˓feˤj042
-eIQ:B 9HFX;)soNUs(qhϣ# U2tVPL1b(cm7{ SrDJ=+8T$"pz*9FT)=UJmU)UجKӀW=a|94ͭ9toH+ /=H$ "VWRX-:x;2W~+ ɕyj}5´綱8WF(Nlg%`"K$|j()$EybQf|,Y71A K."Buk^;Jθ5ڣ7\Zggr PZjə0R D,/$SsIlʼn|w^Rx5YA o`bx` 2Šc<f ܉"< Ans~, (gch@u3?X[~n.KJ/mUw A6Za3ZM[:i NCh%mܔ hngk$e\V!Oll2F($!oglQ̐d,vgxdHiK > >:qvz02W tn-e'[x}kmN}+Ky3/qu*lP8
-SiSH )Ҥ{0H<h+@JD܊x!@;/G2 ɎLLK< b(&TݮDI[
-N67}QP(^7OK K$˕" p@Ed߻p'x8p " uHH}J(
+xڽYKs6W#xlƇt鴷>"%qL*II;]<H2%+N'
+(mowDbnnvu{c_dj4g Xw&o<s{,pUqSϨL8m
+uV3b! B5fȥBcƛlS;5vmU/%
+[旱Glܪ<~smܺ@8-yE50A^[PT, s %›, U}슺rz0ދGr2eH@|5
+#[i5
+C5:☮AF nVW]v ,N]cx2;.
+a<lh6yM9i:o}M  Fvo7y!uEn}/e"y76Z"EWBRUCCقf /2:%`/gFU88Kdܤd/z8[Bf&D=qN؂xO/Io;qHA`!K5{3w6, VD!`$AL' jY[ ^?[WTsK2;+SݶƨqW'*2 7 +ÊKkfw yQöuItt*6
+|E+쁒L03L`+IPPEެǩҜcD#8QVR2-m<t;
+g+~R2&DާƒNٓaOK ͌J4dYҞ&Y,R;vٕz_j PAIpƭ |ݩg:3=̰ ,
+Ci-LˌfEOL'rt' ~s3 GfXQD9=]7$zp ,c.yZylBmj-i?j8nm*Q#e 9thB+is-jMrN AI1H>0ă"w-"uhef3팭3$$ ͝t(xC6mCgu±g[(خ]?F*atB/bיzS_bMn^N-GAA((D~86ՍQ
+f7P#sD֌*ΔmyܬvmZph}OoBS 2?\}.(=:jCi<zѐދ{<iUstP2q 105.tq+J21S
endstream
endobj
-404 0 obj
+414 0 obj
<<
/Type /Page
-/Contents 405 0 R
-/Resources 403 0 R
+/Contents 415 0 R
+/Resources 413 0 R
/MediaBox [0 0 612 792]
-/Parent 377 0 R
-/Annots [ 399 0 R 400 0 R 401 0 R 402 0 R ]
+/Parent 387 0 R
+/Annots [ 409 0 R 410 0 R 411 0 R 412 0 R ]
>>
endobj
-399 0 obj
+409 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1769,25 +1801,25 @@ endobj
/A << /S /GoTo /D (subsection.2.4.6) >>
>>
endobj
-400 0 obj
+410 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.005 522.518 365.727 533.588]
+/Rect [350.933 522.518 365.655 533.588]
/A << /S /GoTo /D (section.2.3) >>
>>
endobj
-401 0 obj
+411 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.959 478.233 400.431 489.303]
+/Rect [377.888 478.233 400.359 489.303]
/A << /S /GoTo /D (subsection.2.4.6) >>
>>
endobj
-402 0 obj
+412 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1796,28 +1828,28 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.2.2) >>
>>
endobj
-406 0 obj
+416 0 obj
<<
-/D [404 0 R /XYZ 132.768 705.06 null]
+/D [414 0 R /XYZ 132.768 705.06 null]
>>
endobj
66 0 obj
<<
-/D [404 0 R /XYZ 133.768 509.574 null]
+/D [414 0 R /XYZ 133.768 509.574 null]
>>
endobj
70 0 obj
<<
-/D [404 0 R /XYZ 133.768 465.289 null]
+/D [414 0 R /XYZ 133.768 465.289 null]
>>
endobj
-403 0 obj
+413 0 obj
<<
-/Font << /F54 248 0 R /F53 244 0 R /F37 243 0 R /F52 242 0 R /F68 291 0 R /F55 358 0 R /F58 340 0 R /F56 364 0 R /F59 376 0 R /F78 407 0 R /F60 408 0 R >>
+/Font << /F54 256 0 R /F53 252 0 R /F37 251 0 R /F52 250 0 R /F68 299 0 R /F55 368 0 R /F58 350 0 R /F56 374 0 R /F59 386 0 R /F78 417 0 R /F60 418 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-412 0 obj
+422 0 obj
<<
/Length 2259
/Filter /FlateDecode
@@ -1831,17 +1863,17 @@ YKgfb5৅=6p(~j|> &U1+ʛ,Cֽ8@]h1|MP珥
K.o§J62bb\6_2̄Ή w
endstream
endobj
-411 0 obj
+421 0 obj
<<
/Type /Page
-/Contents 412 0 R
-/Resources 410 0 R
+/Contents 422 0 R
+/Resources 420 0 R
/MediaBox [0 0 612 792]
-/Parent 414 0 R
-/Annots [ 409 0 R ]
+/Parent 424 0 R
+/Annots [ 419 0 R ]
>>
endobj
-409 0 obj
+419 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1850,100 +1882,100 @@ endobj
/A << /S /GoTo /D (section.2.3) >>
>>
endobj
-413 0 obj
+423 0 obj
<<
-/D [411 0 R /XYZ 132.768 705.06 null]
+/D [421 0 R /XYZ 132.768 705.06 null]
>>
endobj
74 0 obj
<<
-/D [411 0 R /XYZ 133.768 570.427 null]
+/D [421 0 R /XYZ 133.768 570.427 null]
>>
endobj
78 0 obj
<<
-/D [411 0 R /XYZ 133.768 196.29 null]
+/D [421 0 R /XYZ 133.768 196.29 null]
>>
endobj
-410 0 obj
+420 0 obj
<<
-/Font << /F55 358 0 R /F61 359 0 R /F58 340 0 R /F56 364 0 R /F67 290 0 R /F37 243 0 R /F65 250 0 R /F53 244 0 R >>
+/Font << /F55 368 0 R /F61 369 0 R /F58 350 0 R /F56 374 0 R /F67 298 0 R /F37 251 0 R /F65 258 0 R /F53 252 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-417 0 obj
+427 0 obj
<<
-/Length 2711
+/Length 2720
/Filter /FlateDecode
>>
stream
xZ[o~#UX۽_Nᇴ8=m~(䁖h$$'" J?Xr9;ovgHf⏿94mƙ!L+J:{_/ȋmX
-!rNO2K=ˇRyT)a&/W;*zx۳|} 4cSh2- f4[2J3?uq'sp} QDDSi"t./G)U-͟cb_KF9|;/Mk4lεteukj*pz(\v&P@1?pwT1KY"2Hmq_ë+7eK4tИs V͢7-ZE#I!6e`SC=遁 DJՌz۾_Gkt|n,`&X⯈Fja:S\2ljVn2rLrKbs-ի\{mvU&芗ϹbXϽLiz,3Ph7unf]"GRP)?F&1ڂpDڣƪ\> ]~OPx8z Fcz]yt.`!܌q6)
-B@8Do TLڿ]Є-(<.PX=)1$W)hɚ!`T>08c 7ag[m_/tutp/qȉ8z_8Z<|ZDh:4!vW.& B޴
-L`<+n
-fQ1A _EPm4< (؉azӹ*7=//D
-Iy'N%20Fψ3 O q8sP&)qp!f3IzpQFx=39!D糎RK~>Xɤa糎J3ZҦey>8p糎;s>@Zu&5)M2m0vK8g4mpijI8SL/a/`e~a(wWNiKT8ڜ/'~)i/)<_J;{FJNDk'iQZbϸDxxsWTK8jX{4M0ԄwMU<g~m(e?T>ժ](BȦT}~Ԟy5a?KT(Qz |WmB 6,w@M“P:M2A١v*K4\
-Go6Wiae "/8*b P0N8Ҕm* -_P}wpMB^8W2œzȤ.pK^&o @{vLƇ2IX -6d%:uBQMFRj^ǵyaaD ל w{ܯ+|8DaQc"
- sk &Rm⣉V U,}Uw)cדCqNGxօ
- `l|wj*L_}l ˼J1JZq
-̌G}vE2޶UtbvFRt2?7|3.16wC.^
-|"i>W ƄRnф{lߗ0Pf:e) ?CPW?O dٗ|eN?f(1U
-f}ı**=T7v9/TDH2Zu]uo#V227&U"]ehBUɘ"\{w}JY fxI㐸 \۳ZZ3ZzxܖCvNȀC<[M$;#} ?T(
+!rNO2K=ˇRyT)a&/W;*zx۳|} 4cSh2- f4[2J3?uq'sp} QDDSi"t./G)U-͟cb_KF9|;/Mk4lεteukj*pz(\v&P@1?pwT1KY"<R`03,P$ۮ<|S[\5wx_hMq uRȼM$DOz` _R5c޶W$b(xġ ت <ַ:R-LTuK8 \F.In SlCzK"p.9P)Mgb
+nm+WpTJ*WȄ F[NCS{Xcu^ᷫ oL/aHt X+C,
+<_wא4z]FwiԑȠ_ H8
+lbpp'l
+nǝ7QpT80 rotCim@!ڲ|.›~6v4X'B4ӯ ]Lk#KRvx7! s27DeGxR 纕וԃz`U{FD@Xat q5
+ekc@B& < ʉB<k)l0 = wLȮʷ >>^R/KUW8XݷۢQ\79t?Ö2%.c |O^H*-Z Bj|}XYK
+7 y'^tHsj$#&+m,y-v
+9 q*u_uSƢ.2Nb5 _;^u˂p' wi`8XfM4*1c@t8*>0emU)b0-d
+o`b#5]cl(b?.ݼIEv}6*. %7=]ܢ /wa8|=;wuR4:Vן @Ȕ/W/$
+˜)7T^Ĕ))BīLR&*:PE!hwU徍
+sHZ|"b{ߘ<W|WQ&cpq)eA2Qx%C3/#smVziͨz卶r[zO Y9!li4T/l
endstream
endobj
-416 0 obj
+426 0 obj
<<
/Type /Page
-/Contents 417 0 R
-/Resources 415 0 R
+/Contents 427 0 R
+/Resources 425 0 R
/MediaBox [0 0 612 792]
-/Parent 414 0 R
+/Parent 424 0 R
>>
endobj
-418 0 obj
+428 0 obj
<<
-/D [416 0 R /XYZ 132.768 705.06 null]
+/D [426 0 R /XYZ 132.768 705.06 null]
>>
endobj
-419 0 obj
+429 0 obj
<<
-/D [416 0 R /XYZ 265.04 662.328 null]
+/D [426 0 R /XYZ 265.04 662.328 null]
>>
endobj
-415 0 obj
+425 0 obj
<<
-/Font << /F37 243 0 R /F75 351 0 R /F76 352 0 R /F65 250 0 R /F53 244 0 R /F64 249 0 R /F58 340 0 R /F55 358 0 R /F61 359 0 R >>
+/Font << /F37 251 0 R /F75 361 0 R /F76 362 0 R /F65 258 0 R /F53 252 0 R /F64 257 0 R /F58 350 0 R /F55 368 0 R /F61 369 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-425 0 obj
+435 0 obj
<<
-/Length 2075
+/Length 2052
/Filter /FlateDecode
>>
stream
-xXIoWTC>LI$1nCS%0EzXm=+i`0ַ~o)`+Q%AƲX.J$N8JTQp n`VpaWw71Rg`2@]R<y\Meҍ4eldV2 {F~ikZIؖV2tM_mi%lC)?AiP Pu#"s[vh{,gL],*mkMqe͙\_<sՎ‡)Lq=-y@Κ4
-yڲKt"q#TUSfiLt<4x:+SBc󮉣L,S)tK 8?=mI&X%4<hNdp:릣N~U#z4vFjfwPuC.ɍ{ a'л7͎DB;NBX?#B[brL< q#2K*[fYd9Wb
-`ͳ#2#4JdWEL1ܯ"KL z'/0DXvztUQH#t`)/-^N zJ h!is"I./X^fCAyOUய#
-$bNXMKcp1:B.ej9#8c˪8̺u1kD.Q/vl{Clc6>7RzjU1,|Y '(ݘ_hf\6aޮ8!C&P4O;֓6;P[h Zu䃶YmҰqK:ld\:l󮴻*UP72r]FM{Yz.@!.ufIB!sk@ˣ+hst\<-Bsr(ѫ%Sǒ+0Dl4'?š\
-(nd,1$# IJ`7 $
-1ƨfL
-C.
-PCGCH.%>cD[ϞKA<DAȉZaI"aY≾E ʺd~tN\`cʿ0|#M"Q7hb1WAq6!*Y%;zYE0]WJ
-%MHm C}*o Ŗy#* {YC]3k5xv=a~"{u4lL\G/ЊQ߅ܨS:x:Zcu}5
+xX[oF~[@̕-."@[8(EҶ9CRt1 ,s=F< x.}Pq4Qp R, 21W:j"V"l_>uvO &—!k׹uT+ݘqJhV#jI5K]OܷE^۲.
+:V򦯶U}@iP Pu#KW-hLeY*%\OY( U׭//Ok:nE|3Y~Uf k'Lq=-yy [^JgK}CEdbړåZ?]7 l`*Q^%EJǦE3+>λ79Z+-[2} /fGo>tX_BT?佅nO#"
+ܚ/Gd$G(i,^(cRc^]KL z'/l",;Z=^KG0R^ZH z91)1}9 Lre59<Ԍy((SU9/+gp<1%Y,<{@H؄X
+aSba9<
+!,
+?T^GbHJҜ3Ǧ8,GoC:(C颒|b397Yv9:|w} HD___9\n{ ̆+dBz;|sԗh EvP:N bUG[AO:82[lmF
+H*qNjlaBi<GH
+>]DM
+htBZRN:ir^qڤjYV;UB`7a5YGLsu q 1:48LA >%>@-弔CG~
endstream
endobj
-424 0 obj
+434 0 obj
<<
/Type /Page
-/Contents 425 0 R
-/Resources 423 0 R
+/Contents 435 0 R
+/Resources 433 0 R
/MediaBox [0 0 612 792]
-/Parent 414 0 R
-/Annots [ 420 0 R ]
+/Parent 424 0 R
+/Annots [ 430 0 R ]
>>
endobj
-420 0 obj
+430 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -1952,61 +1984,59 @@ endobj
/A << /S /GoTo /D (subsection.2.4.1) >>
>>
endobj
-426 0 obj
+436 0 obj
<<
-/D [424 0 R /XYZ 132.768 705.06 null]
+/D [434 0 R /XYZ 132.768 705.06 null]
>>
endobj
82 0 obj
<<
-/D [424 0 R /XYZ 133.768 433.534 null]
+/D [434 0 R /XYZ 133.768 433.534 null]
>>
endobj
86 0 obj
<<
-/D [424 0 R /XYZ 133.768 339.609 null]
+/D [434 0 R /XYZ 133.768 339.609 null]
>>
endobj
-427 0 obj
+437 0 obj
<<
-/D [424 0 R /XYZ 244.077 248.853 null]
+/D [434 0 R /XYZ 244.077 248.853 null]
>>
endobj
-423 0 obj
+433 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F64 249 0 R /F65 250 0 R /F67 290 0 R /F52 242 0 R /F75 351 0 R /F76 352 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F64 257 0 R /F65 258 0 R /F67 298 0 R /F52 250 0 R /F75 361 0 R /F76 362 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-431 0 obj
+441 0 obj
<<
-/Length 3081
+/Length 3072
/Filter /FlateDecode
>>
stream
-xZ[۸~ϯC͈.E^
-@@4f,DI;<nd&ȠIQ'Xݭ/˟tJEhu}Z8JVfu}XZw|iT+eՁwvevu;{{̳Cم*^gwY费Zxo/$ V݊P"Ҿcu`"9f]nu8v6ƬWb'HY_3`(]}r#%On6;n3/C^-8#[?eݑr"[.oZ^bOF4IeOeD(߷]Ւ4(}VMIEl^wf4d$S cՍR%e~nwG-w;'aK.g{- @g=0T&L ~1IV1 a&S1Uo|ld:J17GB~p_<Ѱ̂0XGfl&q޻z2d"H=h;v`ְPO>}Z8/R@IpH{W ;W9.^Tw<?-}ΊU&.#g@EXv"Q]%b=T:O9NuFt.}`ahs˯Vm
-td։z߭G*a
-+vhW.݇Z"t (] 2Цؓj y Pq2~%8o(-c1c#ceFqz瘝Xc>0_^p`\Y |%܎a\"f92Ei e0O;Oe-?o3Ԇѓ:D0gk`}ܢJ&4lHI6l)[-Ḯ`f=IЛ~;I"HaؠJ2qlaW3%ĩ Tv7K-ȠG kÛl@FġIx䈰:X\9kGG26zp`펤/=D_Ӓ"-NH.|xp!6[._Z#;GN;&f "@eϻ^St4 e,_%tC퇐ݞ!4n-]Kɣ\^IⳮUw3R_w Z$1Z:JIG:*a[R\ "ݛPMXSo4z8.XU{OeΙCAC:PjؕVҪKR]dS~VP2sGc&ldz\%II/gL)sdsS!.w~-Q(5kuw(~B>G{luaS_*$!2
-s.&:}2eɗ0$)ù@95Ȉ5yV’է PDqaz`*8+\WnN_@dbc‹]`c9~(狥e_J7˖sdtdk~[|oέٶuӝkRP(:
-.Cdq;`d4B+Pro ¼n. 4Qd幜gP[3?n ?j{ZHd),,e#y5ᴝj`hl~LQK7
-, } _G\=or?mTkI9Sio-}{!(VeQ
-
-f߈gMRi Q/qqbOC
-T*P}m~UW̠Qij2O
+xZ[F~_˪*. òM6,l4ݚaԑ}SHjɚMRթsEVNj@/^`UDەVQ\u庻/6ַjuţsgx,Nyϛ.]V>m. ^_B`ܭ/@QqO>&_NmdY4:oKYy-ZN.H+V$t남CQ^uɃ-Hymw㑧"Ѯ~^Ⱥ{^iPty/~pL8d{rK&Jq󶸫ZoʲAgUyP] ɔCDƙgecVnI:zvܫn鮖sV;Urpѵ9 mciYPA'\~1xAV1 ṦS(1Uo|:Ҥ:F1'П{)B7kne=ơiP/ȝKU^C:Qa5ǬhVkp~Y;5*S~2z΋ PcE ՆcCEՋ iEuCBX{ ^<
+l[\";dc뇽xt?̧oEݮBWqd\qqEҬ%c .
+)s_\#ל88+y 'PeT|' 0HᬸYѺK<FB
+;2,vBXPOϺl9LFg!l[s k-GF?,m;0<*̟
+Dr>Ju=pjn91P)SF&H9y'g vr'#ݣp ol~&9K5 \Q `[0W9+HGҜhy8_;I
+5X˦*2'_KN<zIG_6RLhLPttsQŜĘ&K+^+L"\!5Sgx{r6]Cf>dMsobh}*nI |&៬ݡ*h_Zȧ<mb??Q}i Ø ~^O Ci-Q1fJ^RY'b )KM}0}:}l{V\]_[ճ-*EE+dߌ=;qb=m\KRjb5)b,ȠJOJ}?Rt~tf#fGvK,;*%<<*_%̖)Pfێ>>)A
+1'#wQ59t$`ȝ}@oȘ;GYᣊ^ 9{ D <4Ayw 9 f3ss|M[Ƽ`
+3
endstream
endobj
-430 0 obj
+440 0 obj
<<
/Type /Page
-/Contents 431 0 R
-/Resources 429 0 R
+/Contents 441 0 R
+/Resources 439 0 R
/MediaBox [0 0 612 792]
-/Parent 414 0 R
-/Annots [ 421 0 R 422 0 R 428 0 R ]
+/Parent 424 0 R
+/Annots [ 431 0 R 432 0 R 438 0 R ]
>>
endobj
-421 0 obj
+431 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -2015,7 +2045,7 @@ endobj
/A << /S /GoTo /D (subsection.2.4.1) >>
>>
endobj
-422 0 obj
+432 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -2024,7 +2054,7 @@ endobj
/A << /S /GoTo /D (subsubsection.2.2.1.5) >>
>>
endobj
-428 0 obj
+438 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -2033,193 +2063,180 @@ endobj
/A << /S /GoTo /D (subsubsection.2.2.1.3) >>
>>
endobj
-432 0 obj
+442 0 obj
<<
-/D [430 0 R /XYZ 132.768 705.06 null]
+/D [440 0 R /XYZ 132.768 705.06 null]
>>
endobj
90 0 obj
<<
-/D [430 0 R /XYZ 133.768 534.414 null]
+/D [440 0 R /XYZ 133.768 534.414 null]
>>
endobj
-429 0 obj
+439 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F65 250 0 R /F52 242 0 R /F58 340 0 R /F55 358 0 R /F61 359 0 R /F56 364 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F65 258 0 R /F52 250 0 R /F68 299 0 R /F58 350 0 R /F55 368 0 R /F61 369 0 R /F56 374 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-435 0 obj
+445 0 obj
<<
-/Length 1817
+/Length 1819
/Filter /FlateDecode
>>
stream
-x[o6)(oe@^
-l)̓*+E,IP"I6H??O N~=糓7oH 22!!%u"BlwoJP" q >`Al_N9!PR"7'8w FʨֵIkNޟқ^ "$#{5 *!wtQSnZf:#fJ#*w-lIXReIvF?"t
-dйVk#IO1E]XBFQK"c4eT ؈y3d bh=t4 9O@
-G0:d% hN"{ ll6G(Y/PWChGS_*W)zOC JfN2!hxqђbF#E秂l3)B!4*Lkqvuy2<63in'4-bBUz寊yi!|Y`Uʥot[uW*ŲljmfU)4?f> @\yWO:_ؒwY:/;{_o.gEW}vRkMy*[4}YܜfF1rx;[mlYjk S
-T#J$5DSbʲ+'Mz9_g˻fQ;_%;; ZRyKe_nfNv!)Ӫ ~L roa9ZS~ڢ `F!.[U]{s6tZY:t Seh>!`]T/EY~bDԉ&(bo+WS:e_xÞC?|g!2jz~}JwpYq2F`QcL\B(R~pmOT.$L,I{ǜ
-M,0F܁IdXn@C:4w]__ c _V,ECWH<9h_xV*}-o]C{~?ϋlltOCHA$rɿ# GBH* B
-$1(䈚ؑBisd#;ȎGv<; YH Na"x$%2Y=ǃ4pM_nOe8o٣ZǔJ/WMK6
-h.HxVXFY }
+x[o6)(o6e@^
+l)̓"+E,IQ"rh'ٔ"$<"O4N>&8g'o
+d$UBCJD<9OO'g޼dDX0|6'sB'$!!0!D:oO/p2'Qɝkw.1X?+xD)!ɌP`T CTdFNYhmqDh?)ܵ$%cI헍$ pɠs|8=GFηbaXG-QyR/(֖Qq[ $`#ڢCH2dHR&d</( M@hlP' H856`f@_}՗YM}D\Ӌ>%+9oo3bEKPiB
+팆kMH0u~Ӑ19If2cEOJ]ַ-D4[eU"+l}m{]SU4"]Z0qJaO K/׭/^lb <t֬e彝 g_.ۦk,gy[~wuiVMf}QܞkF1ҲxQ|ֵlYjk S(jDB%61NvvE[uRy3By<?59iلD&x #Q/,v0OC[C Eo뮬*oΆN 3/
+M,5F܁IdX@}:>w]_#L[酱/e +
+@mvС+84WLs<x_e>`򳼸-j`IB!&J#>I)A-Bh {fG*9f$vwȎGv<xd#;>ŽD+~VG##҂SX(~ӿb5[=̃4pM_'Hefr2v&׵CZ!;Ju3L.1
+ C\7l ;9=1H#vbyDrP#:UVb]‰ɖK0Z,V~(}pYg??)쀜cE]}%X 衶]@} 1 u$LFtW˭biʏV4xä(x悄7 2/@
endstream
endobj
-434 0 obj
+444 0 obj
<<
/Type /Page
-/Contents 435 0 R
-/Resources 433 0 R
+/Contents 445 0 R
+/Resources 443 0 R
/MediaBox [0 0 612 792]
-/Parent 414 0 R
+/Parent 424 0 R
>>
endobj
-436 0 obj
+446 0 obj
<<
-/D [434 0 R /XYZ 132.768 705.06 null]
+/D [444 0 R /XYZ 132.768 705.06 null]
>>
endobj
94 0 obj
<<
-/D [434 0 R /XYZ 133.768 173.076 null]
+/D [444 0 R /XYZ 133.768 173.076 null]
>>
endobj
-433 0 obj
+443 0 obj
<<
-/Font << /F55 358 0 R /F61 359 0 R /F58 340 0 R /F53 244 0 R /F37 243 0 R /F65 250 0 R /F52 242 0 R /F68 291 0 R >>
+/Font << /F55 368 0 R /F61 369 0 R /F58 350 0 R /F53 252 0 R /F37 251 0 R /F65 258 0 R /F52 250 0 R /F68 299 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-440 0 obj
+450 0 obj
<<
-/Length 2298
+/Length 2297
/Filter /FlateDecode
>>
stream
-xZo_A<~]P6}JJ"D\I{gHJLt~)ÙPEf?x? 94]Ƅ FL+CP*ʻl.ͫqm^^Wn.'%$(E~X 2\x?Fr/ڶ߬ Յ޵óE<D3MS,H?ng{wqx6g8-_⼇EXvEB*Tow  ?!,@$&IJ8ZW֛ES.n+0[s 7M9(s
-0>v2mW1>>LC AÛ A7{Y`XF{aİk#$aU
- FaF')T0`<)`4N#k4`4
-Fmȥ/^1~ F?Hc4&O
-/
-7KX]j(Z;:/ZP&vr_a b˜X0q~Q1-Sxq"(|V蒰#"<$
-(DF`Os<"%$dG'*GZV@,{&BP!Cɣz(N܏ M|B;7/hT ;hKՠEP3l%<팛B._w]a eU[Ge;Q8iF;<D I!XToϼ,Fڠ]ifR.Y%V7GW'Gn)tH&\orC-y3)+arHo =dCY8 L4L36#1<EBDEO/ۦXH`xZUH 5i^s_o_Crpxpq1"AKqja<``PS΢N0Է/2h3 pR_$%0FC*K<XGR`<qJ9d޴0E![|ö>
-Kʃ=H;vyMʓD*>cAow B>ɧCҰЄTMdMGvCS 컢'D+thbi[uG~Ɖ>Q SF0f՘(lSЍ/@NAzҖoQfB?j(ϴIQOHLSG88.O}֣4R(o=W&fՒnB6m:@vF TB |BFAG~[߅Jh<ˠ~jƬ/܏fGS0Lx)?1xk/d?2ʳ28_k&}A\۫]k;OHb(5}Qx " nṵRM"J->ـ$[ӏ"kt}pxЍP򇻥*'c۶ _v5nzTo[=mym%dU@>p%um(|=Q_F-XM hxx Ac&/cg_Z@fqotSX*-5;r[((k?|uP)
+xZo_A<~]P6}JJ"D\I{gHJLt~)ÙPDf?x? 94]Ƅ FL+CP*ʻl.ͫqm^^Wn.'%$(E~X 2\x?Fr/ڶ߬ Յ޵rUy:-g,XƑ~ϾQ&Qř[T0[Fٜ1T|bM; %khnFI%Vh?aA]݄'iu0IR¬)0ڭlatqє۪: כsB-1tA2ڹ
+?AX
+ oKSn>[t3l|;|2f:!t0ZԻ('QX' >a4:D
+F=z2g
+$cv2 <BQ40r) 0G&d0Ԃhǯ$ A3oA%X0 PM_ccGkI >Vq;)WEn/6AW4pb H,)euOi8vcne贿hVRBP#~U2 cbmn(~XGŴL= `P^XK2̋(LXrbN= 49FykRZLGpAi %QH@Up?2-_4ܹ)}A۝bA{_%/d;(og܄r[h(:*܉<H3ʌ!$l-hH͎y2*x{g1J]50: p*찺9Z:8tO!C2: j1Xw]OVǏZ -CzK!Xh,af0q)*"B "Ox6DzF{bMFJL2$7PM؍ 2 pG\P#YCvu}D;%/(x0ҤR^,Ģ=:!̈S̑$<p/)R䃧H|`Ք$7U0e]RAڹs
+Qx"nu "Ұ2HSmю@m47 (I#G/ޤd-_Du <Bć[em5m@A>0;X}Hb;?pH+"P%,K-)C)"\DESB=nB7jc ig@q8hJFQiq;bm|h,_Z
endstream
endobj
-439 0 obj
+449 0 obj
<<
/Type /Page
-/Contents 440 0 R
-/Resources 438 0 R
+/Contents 450 0 R
+/Resources 448 0 R
/MediaBox [0 0 612 792]
-/Parent 414 0 R
-/Annots [ 437 0 R ]
+/Parent 424 0 R
+/Annots [ 447 0 R ]
>>
endobj
-437 0 obj
+447 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.785 172.254 457.256 183.046]
-/A << /S /GoTo /D (subsection.2.5.2) >>
+/Rect [434.785 172.254 465.005 183.046]
+/A << /S /GoTo /D (section*.3) >>
>>
endobj
-441 0 obj
+451 0 obj
<<
-/D [439 0 R /XYZ 132.768 705.06 null]
+/D [449 0 R /XYZ 132.768 705.06 null]
>>
endobj
98 0 obj
<<
-/D [439 0 R /XYZ 133.768 410.674 null]
+/D [449 0 R /XYZ 133.768 410.674 null]
>>
endobj
102 0 obj
<<
-/D [439 0 R /XYZ 133.768 159.615 null]
+/D [449 0 R /XYZ 133.768 159.615 null]
>>
endobj
-438 0 obj
+448 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F65 250 0 R /F58 340 0 R /F55 358 0 R /F61 359 0 R /F52 242 0 R /F68 291 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F65 258 0 R /F58 350 0 R /F55 368 0 R /F61 369 0 R /F52 250 0 R /F68 299 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-444 0 obj
+455 0 obj
<<
-/Length 2400
+/Length 2408
/Filter /FlateDecode
>>
stream
-xZKoWxw"[dl
-ttQmv3TX-JMҋ=dYa^3 YQyg.~BC˓_?ta\/. &IYh.rSnݿbu&W&6Vӥ,B&Nyw+z.6Wet)K XfXV#K-lϺ+z?@%cĪ
-d_\ljfUwRx='(캢"n_?)1Di uh<[v/߀Fo4|er
-㒃ǪV=h!Hlw-q& M w-:<% ^&Jnnʛd2-D~WasSd+hMAUh*Uk簔.{\+"/]
-D(w$fͫ}-~eu^ބ*ʺJ%vfeoM(pm.qDTsϲfMb-+_IS^o4-<*V>htЗsJ,wq]lj Qf]io3Jv3DPyioܜ3,ߴö8g9q"oc͹8?_?ka5e)KMj6 5Vwo' -ɅRnWX3,Im#w f o]_w=hJ
-S˂N6("4Z$" ,-gcSu:I}Lf2SDJR.ּ`LY˜(D1!^?GGSC,2TE,X#6ď:eo*&V YSi%Ϛ>0)Ϛ(ךr>kZYRm:5eyWk
-#|dhS*_'J#SAr|r&e*1W\asNGLg_2J6?js̖b[`F?Ir9_vӀ # gT#|<Ґp^×|FpAv-
-|q]a"O%
-b>nac&-rp?[+ܝA'/x/
-`y"
-4I+!&T3?TN1y4|z<%
-
+xZIo8Wfs_KSCӓ[Qɲ--%L<.Zb*""FgnZd$0 )L,6d^93IZRiiIUr>f<+>`ƻw:=m:@{$IY/P54!:LXgqJ7x/0wM2"[: hD;I_?OySy _-*so sSg
+tۺhۼtN)H:9]1,]LEES@BS{yfX!)蹉0\kE%dP M]z9޿ݧ!hly_5y1i/ Xi9:>`Dͬ:ra6ll
+a'jۆCmCS[vXߚG۔ C<kܭvyn}{*X&2I'_䶰Ëq y-ᦾ|kHo<޳6Ů źa^=ً6נɶX#>!{Oͯ&.[aDW˪v/3_P0?AG|^M{/jH> 8AOrZPTh^W|_?_%x!uȖ5#i(]:JuS@3^ 75xq/6bQ[ Zʇ.aH2!lTs&SnD:aX2"$&J#*DfIz"I=8l8nOIAh2Q~jM:Q $ 8*B.ޣ<ވɃ_VmySr#\7z~o)$Mf27\7|4bf57h~Uoz>oN@)|Q~}qZd,rPB!}S{]JHd>,)>߿f#D nRH>q8js9)By_LT
+<$C:9$$( # pXxfqΙ4± S.mST#89e^6:voi8;IVtlڴ:R&WK͓*|0K0rC[R'Wlg'zj'EB!8OIB]EB
+QN&zᴮ tw Jg7m`gNKIkե&&t7 ϙFO8qɘi "b!+<: 5>a0Iw3xdĖBm` c\챽 6NrF5ԟ]9[Z~'gե77uu`8W[iMXͳPj`@{>S{*-8K~qIlڋ0 ʿs|h G+!^M@py\%^'"x:ו+K͉.c9baԈw+egʗM
endstream
endobj
-443 0 obj
+454 0 obj
<<
/Type /Page
-/Contents 444 0 R
-/Resources 442 0 R
+/Contents 455 0 R
+/Resources 453 0 R
/MediaBox [0 0 612 792]
-/Parent 446 0 R
+/Parent 457 0 R
>>
endobj
-445 0 obj
+456 0 obj
<<
-/D [443 0 R /XYZ 132.768 705.06 null]
+/D [454 0 R /XYZ 132.768 705.06 null]
>>
endobj
106 0 obj
<<
-/D [443 0 R /XYZ 133.768 235.871 null]
+/D [454 0 R /XYZ 133.768 235.871 null]
>>
endobj
-442 0 obj
+453 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F65 250 0 R /F52 242 0 R /F68 291 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F65 258 0 R /F52 250 0 R /F68 299 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-451 0 obj
+462 0 obj
<<
-/Length 2339
+/Length 2330
/Filter /FlateDecode
>>
stream
-xZ[~_ʅ~  M2J9n^;hÈs?E>"я7ۛ? ydnw"Q6RR'vo)MTMvWl$l>-rH(M 7ѭKiy"[3hU]w~J>^b%L;q͗= FYqpA9\DEUBDR7ۛP&H1($G`@qe3Բb@DE
-ؘ UďpHZ׋&a∲L5o&HD+N dlfHGc0e^ʍ7%&kn@؜#~Pj"i7`[$됀1B&)1+p@ςBAU/fmzAhqdiS*O
-QiS irFOVq)|ڴF
-u}SͨM͍03jftj̧MP|>mJ*%isT"?U!*(l,v2CR:\^(1-3%ц_)H6
-7eI1ѺȄ3QnYG0}R6a8]6ܴ(U;0`"k B}
-@ISBy6!F H)%ԌB?#TW3
-1
-%
-}E3Ô8maզW
-AfN#zF(~ .DIEBeh|,O
+xZ[o~ϯ[Vy,bC<H֖md˕=nٓt5hyxh=D$\x~w{$lbS.R$FJqnrѤ?mֿ~\-էeaY.Ip"aW<r?-7uRdk<kޯ^ ]$:?`#>?=㚼'ȁ4+Nn C5Gk`JH|{
+$P)&uܽ'D[=holZV HQ3dJiBNUzb<LQ)h LЀ hLck_⦣͍_7\vb3pįqcJM$-&lj"F$%aEYP=լC?9
+jaBt8f&pػfPi0E6kadpY+E׌
+'
+n'42m[@i/8`x #s8H%Jt"RvS[[vH.8A-w2 YȪBqdlN2;0m+›1!\uw:>9U 'cIV ݐ!j@6yN+1˂7_Nmܡi3[(u}߃n+"i< \\f`&J%Nʲ
+
+12 BS]B((gb(!̜B S BR"V(9;?pV-h㬳O^$Q ` Ֆ
endstream
endobj
-450 0 obj
+461 0 obj
<<
/Type /Page
-/Contents 451 0 R
-/Resources 449 0 R
+/Contents 462 0 R
+/Resources 460 0 R
/MediaBox [0 0 612 792]
-/Parent 446 0 R
-/Annots [ 447 0 R ]
+/Parent 457 0 R
+/Annots [ 458 0 R ]
>>
endobj
-447 0 obj
+458 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -2228,55 +2245,59 @@ endobj
/A << /S /GoTo /D (subsection.2.1.4) >>
>>
endobj
-452 0 obj
+463 0 obj
<<
-/D [450 0 R /XYZ 132.768 705.06 null]
+/D [461 0 R /XYZ 132.768 705.06 null]
>>
endobj
110 0 obj
<<
-/D [450 0 R /XYZ 133.768 516.895 null]
+/D [461 0 R /XYZ 133.768 516.895 null]
>>
endobj
-449 0 obj
+460 0 obj
<<
-/Font << /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F67 290 0 R /F37 243 0 R /F64 249 0 R >>
+/Font << /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F67 298 0 R /F37 251 0 R /F64 257 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-456 0 obj
+467 0 obj
<<
-/Length 2731
+/Length 2807
/Filter /FlateDecode
>>
stream
-xYo_҅/. @1]KD%$e5إDwk?fgggg~;3B.oޚlQi,E¥&]ܭ]y4$ˎi-;lUWek'aD%Zgɧ7K뀺:wm^HFkd2&LHF6$cD6{u.ЪX,E4/x޷4J'aWNȽLTy&2Y<+GR&ZE[O椨eFac.X)\q+Rܼ53MfkDhn@HyN]S[uA
-DQ)vAce@f5P
-> F{ϳH&mdiVMȸao}vnM,]RU
-Ԃjh5aFhuL~ʰn+#p5YM a)eXȰ%ߕ+_<}Y\Hԃ^' EN<S<BzB~[^"n֦3r[+
-Bmejzp.mk ]/#Sp~`QbvLML_H=A.?,nHAeM?Zn)ys0Fjj_0tb$
-0+X-I><)+"w:E NafOW<EN,DѢ,f}B@r8c&067
-8Rpk n6!K1{NǬij~[+9ƧPu */FOu<p d=$ m'1@C f+'(%O
-vVH!sFOVZ왦sqt~q&d* {Ǫ0JD\Eqs3*m@nHP
-?`+05_{H6D2f@rl񞺒tW
-9u%=7!6zs35FL0}+˖1!)8թ > LтEuHVM=yN#Tp {KhˁKwC/2?Ͻn {CvQo/ )yQ_qf#o}CCvhr
-KG<b
-O=W=S|X뮙7.L>nN5 p|CÖWSxȇ{\q._XxE`9 `:ӰP`ْ*=~w?`Lfl7H
-8q \[1WԦcq\~}ۖgNY
-nW,(M>DK%кxvUT-~6fΥDWZZ7XWC/<ҕG3j Q##ޒr[,Q,-y Xu\.R`\V^
+xY[o~ϯ["&QE^l@ ز-lLs!%Lf
+a]j96pi1iñWXK\XR)QNt9V}S>TH;dB4.Z0)*ιdNtm6+EV|X
+W6p v5"w97  v, [u6㒦=vpٌs鉔S5}".gXW+߇ǽFs 'P>#$OUXj8#£lr-SU܎.g*.1r]<4-8ao8~'3QmxM7@=6ݭ{T4{``UW8h n+ RF3 OjR[MMMTd8Q4gu} [ג{cO-#!~ǝQSKCz\u*]`JtGJ3 ["ZY= 20&
+Aցo]n~l|3r1wL٨r`_=& حizv<CA 6Z$ ""y*N]O&"%>Vӎ& ̅3.\y9c~AKREu
+ꙻjE(Cj[ 4ih!
+:nu
+waCN1Xgyk ~~6.E1^py'­$O ӡ}moݱ%ٟl(F9.} *pXc H;*Lp#7Ax
+ѠfYp]SQUj.rx7!ߗ)4ќ
+ 8HJkm%^sSˆR:B,`__3ZI PNݚjo=D\owLfsp5{`h[YaB-Ov
+ȳ\[" S¾)ڷ;Ef#0),uم`4 chs UQ
+ϻ.fJ.DoX2N+C+<Y(lE`=E(
+ /
+?Q>/A_Ж~gLlC}rĊLٕKmdk ok'qZ;w\h.WXD$2f`N75ldLҗ@ R̛թS"E@yHVAm
+sdb} 8Lӻ0=Pe
+DyR儼ӬQՀ|&
+- -4xf]܌8PWųG5њe'Q)h}9c-l_~ƢXxv;jx
+7!NIs8Kꆋ㪾IZb
+z>mpNjZ^ uB/K?m]9+LZZ0od{56_)]yo8r`: ъ"9qWRYrhp"fKU;9|6`Tq ٪ %]p4\+wٗY)*Y/,Tݐ.6= @ҢB CR.M}$v{<H3?<CȐN&A_hJ-
endstream
endobj
-455 0 obj
+466 0 obj
<<
/Type /Page
-/Contents 456 0 R
-/Resources 454 0 R
+/Contents 467 0 R
+/Resources 465 0 R
/MediaBox [0 0 612 792]
-/Parent 446 0 R
-/Annots [ 448 0 R 453 0 R ]
+/Parent 457 0 R
+/Annots [ 459 0 R 464 0 R ]
>>
endobj
-448 0 obj
+459 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -2285,64 +2306,63 @@ endobj
/A << /S /GoTo /D (subsection.2.4.6) >>
>>
endobj
-453 0 obj
+464 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.754 522.242 406.226 534.197]
+/Rect [436.086 510.286 458.557 522.242]
/A << /S /GoTo /D (subsection.2.4.1) >>
>>
endobj
-457 0 obj
+468 0 obj
<<
-/D [455 0 R /XYZ 132.768 705.06 null]
+/D [466 0 R /XYZ 132.768 705.06 null]
>>
endobj
114 0 obj
<<
-/D [455 0 R /XYZ 133.768 350.342 null]
+/D [466 0 R /XYZ 133.768 341.332 null]
>>
endobj
118 0 obj
<<
-/D [455 0 R /XYZ 133.768 267.91 null]
+/D [466 0 R /XYZ 133.768 259.186 null]
>>
endobj
-454 0 obj
+465 0 obj
<<
-/Font << /F37 243 0 R /F55 358 0 R /F58 340 0 R /F61 359 0 R /F53 244 0 R /F65 250 0 R /F67 290 0 R /F68 291 0 R >>
+/Font << /F37 251 0 R /F55 368 0 R /F58 350 0 R /F61 369 0 R /F53 252 0 R /F65 258 0 R /F67 298 0 R /F68 299 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-461 0 obj
+472 0 obj
<<
-/Length 2036
+/Length 2021
/Filter /FlateDecode
>>
stream
-xڵYKsW𔢶$o3nU=$74[C!)L濧
-[?kXԛJ<5 X]t`#+1ywS'mr ;a}̈́@3lg7 5|$ %D
-z2IÜ*PڮJܶ ;t6\iN4V؍'M! GFݛpr34Z _S=`X'©(R8a/=4ݟ K2IBa><^ 줣[dKEwR/N%ޗM~*ySUoE:fx `6Go}y
-nǡ-;!ls2F'_J
-ՙ}.OHHsg!,c&Җ
-Uokw\.9˰nI{B*jw`_o2C:M
-!7XL#Q3no}XSy۟
-\*%uGu.dq8~ ?@1r ?׾~ͪC$1\r9tizN<(`I;5S`9D%IU'.!}pl#WxH8'OD+=H
-"2l}p{ 16Q"8G|nK4wo)IF0tn};f!gw>n4<³SuA>B(UAvW\rD^50Dgex.][P(LnKpP{Տ jϯ`] x@k*lb]m9Ԕnŭ4e,Q
+xڭYKs6WEDo3æjJڍoh
+XCKR8Sx"eV @'[8zp>'"2y(pIS4F*eqv_U)V CVY׳W8"LG)U#UVM
+e<x%KnPJd$@2Mc"*Zḷ/{x)+vB0%8./q9Eu6ZHH}у88FE}L_#Dh)K$gP
+g'Cjc)G(!i~8԰PqV yK6'gH9zk8]T ӽ;mM0ー, BR;5YI8"t\䠰
+]6=`]p- !nv?!vtoK
+ *CSI6h9
+^g?͡+_3k;R9ENA$i:Pnd]ar`m}mk픓lü / Crd?k?ofվ  LN)]aR+[2ft!izl`"v~y2"c^Y7K/7W Дo0`R83/7hhc]4M~
+.ہgIj=PYKơTx$SӰ!:+K{wLwml?-p"6
endstream
endobj
-460 0 obj
+471 0 obj
<<
/Type /Page
-/Contents 461 0 R
-/Resources 459 0 R
+/Contents 472 0 R
+/Resources 470 0 R
/MediaBox [0 0 612 792]
-/Parent 446 0 R
-/Annots [ 458 0 R ]
+/Parent 457 0 R
+/Annots [ 469 0 R ]
>>
endobj
-458 0 obj
+469 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -2351,94 +2371,97 @@ endobj
/A << /S /GoTo /D (subsection.2.4.5) >>
>>
endobj
-462 0 obj
+473 0 obj
<<
-/D [460 0 R /XYZ 132.768 705.06 null]
+/D [471 0 R /XYZ 132.768 705.06 null]
>>
endobj
-463 0 obj
+474 0 obj
<<
-/D [460 0 R /XYZ 292.465 662.328 null]
+/D [471 0 R /XYZ 292.465 662.328 null]
>>
endobj
-459 0 obj
+470 0 obj
<<
-/Font << /F37 243 0 R /F75 351 0 R /F76 352 0 R /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R >>
+/Font << /F37 251 0 R /F75 361 0 R /F76 362 0 R /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-467 0 obj
+478 0 obj
<<
-/Length 2499
+/Length 2501
/Filter /FlateDecode
>>
stream
-xZo_ i߻l59(rAhHb;%V[苹\ki>xwLb[i'WsOpL =XN>DӏygEoe@$,kzqۙi>aZ'ه|_O8s܅ui`tTRKXcԍTd3ǤPp럹ӹy,6i{s!-o.ӹZG1o[HPVNJCJ=GJ$evHӑ2σ
-Ur&IeZKzYJ> LjsY+Zܠ/d
-bR=\'±4]6=/5.fK+&~ r:2KVSWߤY,Ew &iɢ\#J-UQ(Q52/i:f1xڷ*Mn5'VDt3KpUiژa
-A`fQ,sG%v!
-Kcg5Yq j+~EA,Ə- 9Q`jջxJ8蟵9ϯ#e<10]bZ>%y}jh㨙ؤ4= 0>{z!}na &pKn P E8P.p+ܒq#Id'@RG꿎m g`Ga20܏@ؖ.Z>284#կ -) `w7r+z9k(Ѕ8ƓL{+j@e't՝C\棷+} 0'h-s樯!=
+xZo_ i߻l59(rAhHb;%V[苹\{i>xwLb[i'WsOpL =XN>DӏygEoe@$,kzqۙi>aZ'ه|_O8s܅ui`tTRKXcԍTd3ǤPp럹ӹy,6i{s!-o.ӹZG1o[HPVNJCJ=GJ$evHӑ2gfc˙nL)IՈq
+be:| ,x̌4hyt4 Le c$Ha21(1Abn`AΨ01(?Nߨvbف#?$|c~S߆QY;ƥTi2'SҼ
+=%DtuVM+$^כuJc *f4m},,ɉi4d&R01ЄQf1
+,?׺POlA pYYA_!cv!B()[뮂M/yQG[Q`2+EMY zfy:g—~9w՞GmϣC
+?I*oI8J+տP,daF&
+ &?CM|=O6څ,j }u,A4#<f[
+ v@md\jX'L86 M݆p fYH!!WaKj Y@olg.ҪJʇ۬o;L@Xcq7!'f!Fcaf_eG^ʁ|w
+Ft3Ie\t}h;"yw?0'ۂI@E\nVP|m8{Aɗ|7\e>δ;Upp@1M@ѕRO"*_oVuFFO_t7D\J4_/P.EQk}y!ɝs?n 6`l;ٓz6ʛOqUV`N3l9QXAE#f\ym) +,;#ВXuK܆b> @A,- 9QjջzB%859ϯ#e<Q0}bZ,|[fҸQ3 IA-i8 a|ChL#ԗ
+,J}3C=4i
+B!.%†O9sA m{9(a+p;eby,r<3 ܪ1<Jԫ1t&=Z xJCMapk#XxXIjHdsgG8Hc$?DHg^4~=$Q<x$cHNr$h^Z֙$ %S c‰0VYjGs0Y_ހ=sxǡCb% ?Ͻ
endstream
endobj
-466 0 obj
+477 0 obj
<<
/Type /Page
-/Contents 467 0 R
-/Resources 465 0 R
+/Contents 478 0 R
+/Resources 476 0 R
/MediaBox [0 0 612 792]
-/Parent 446 0 R
+/Parent 457 0 R
>>
endobj
-468 0 obj
+479 0 obj
<<
-/D [466 0 R /XYZ 132.768 705.06 null]
+/D [477 0 R /XYZ 132.768 705.06 null]
>>
endobj
122 0 obj
<<
-/D [466 0 R /XYZ 133.768 558.471 null]
+/D [477 0 R /XYZ 133.768 558.471 null]
>>
endobj
-465 0 obj
+476 0 obj
<<
-/Font << /F55 358 0 R /F61 359 0 R /F58 340 0 R /F67 290 0 R /F68 291 0 R /F37 243 0 R /F65 250 0 R /F53 244 0 R /F56 364 0 R /F59 376 0 R /F62 469 0 R >>
+/Font << /F55 368 0 R /F61 369 0 R /F58 350 0 R /F67 298 0 R /F68 299 0 R /F37 251 0 R /F65 258 0 R /F53 252 0 R /F56 374 0 R /F59 386 0 R /F62 480 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-474 0 obj
+485 0 obj
<<
-/Length 3177
+/Length 3096
/Filter /FlateDecode
>>
stream
-xڽZY~_1O7샗P
-<Ui}Bw,#`s'@DsꊷỎPx9f@EֻCEj7
-Á4J4aÏk.4
-D,/ꇽ#,L& VҊQ;J
--9Y}bz 0rpU!KtDsK4jӚ6c#`ZY#j6c<eDu;nwo .,Ψ0o5ɽ
-v.*?fl-\\ d+[ҕɝ;zn0ڏxÅ8Zh㇩9aIeܦ AE1 tK!0QY?qs;<i+b
-$.ʌ{2tfoX1 MeܹFj5_c=T-(~ig֡rD q vHQI}k,smN/ـԈ0F,&PThu{* ojrH?Y
-}%,^\<1+!b(ͬy{
-ъ[h)^{HO`~Vf9p'م)^_¶AG1=
- E*PKYpf܏ J (>Osq7
-W8Kި.VQm6 B3wx_\(F 'ڦڐ1|hAAd8 l쓺EY`,at-qRHPF~qepc$ǰ(H" ǐJNJ
-
-,p>eWw7?
-p>w}ȫ0cAy!C? $K
-$蚑J<2Ra%RE-tɸj ]-W]/eR~K:cP$I~RV[5" Ir!~!6OμN{s))X-(p[kUvRV ':"]j"{ǂ0Ҁ*{ eMRWEpB 5\zCYpQڄz"ls=v$l2\~jզy'WUcH=`"LqxL0=9{ >:ٖVda(UT2$')d^1v+R3|Kv#χjzMbg @^ș}7qMЌQ=N [1'9[fQ\[V:nS]"dQL|=k;̪f)]V8#y\"!<LA
+xڽZYܸ~_OqO0-()pAvd'Auhnetbu {#1Mby 7/_x'DFݟvB 6Dq U?~@ ?kkewin?T/6;ږ-/_xHoݐۃLľXlȑLp(j"f {(yI eup{2޿i<ڶ< 5N달b_qc"I(%)^ta1l[ZJ"O}w&ȩe^o4>ϳaO[S2!~PV1RF퇬)b$Q/7͵-.}s,jNwwk;jQ"t6~ZJ!/eE}S=J9EL"8nŻP %~NV\SRmdY9Xު߹_ڳzjРz6qCBKVCR&S9bj WSP
+2Y ~u TT\~xCwMIql({hIBgQuP*xf$I2afz}j-@eB,м0dBI7D<i Pqt<KjBVC&4MU8G
+dACt0M6.]q_m l{uwWJ ᄌw8t E4˜@&[
+d GO&DSse6yTϘl9MpZ i)F-8on$=I[q}u~ \
+=xd'4_1v8By. fs:& M'%S8qzY˳[@U6Պ;FWjPኅ ڟlhXyWd:g;qF }nw!o177Nq*'oLB
+ ,\Q×g\@m(! ).np@S
+CYwkw|#dsҐL >Ã޸^z_>O[.@pf]50FHTAZN@_m@ڰr:`\)p Eu
+$ 0i+!(OK R뻂zxwH&ӨEBge.8l;iVh*Qe
+v>#8sĆ>N!olӃ#֞ 5A chz"4.+֑s `ted)D\@µ-*9@.\{PVDlqHet 0+.GN]3ETɇ޺1+S}R[cHf P)O.5ph溋nxZ_c q ^ԘUͪaƛTly6t\e^F@LpwHppG2#W!4},Ƃ @;ң݌mO0*Z R4m_8,8
+?<
+tJ/:1Z./?^0$a 3fZ}l*wMJ/h] s{!;\&>"-zm#5*PXqɷrYp[=ŲFj#xV3#*,a tT:q!lSL #U7
+lT0Ȩbq4㼣-p6e$cӜﺓI(u &Z0EtU Cq`<Uj7pu4X/q~<9ڿˆ~
+̀ {?CJ^XJa <$H —
endstream
endobj
-473 0 obj
+484 0 obj
<<
/Type /Page
-/Contents 474 0 R
-/Resources 472 0 R
+/Contents 485 0 R
+/Resources 483 0 R
/MediaBox [0 0 612 792]
-/Parent 446 0 R
-/Annots [ 464 0 R 470 0 R ]
+/Parent 457 0 R
+/Annots [ 475 0 R 481 0 R ]
>>
endobj
-464 0 obj
+475 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -2447,304 +2470,303 @@ endobj
/A << /S /GoTo /D (subsubsection.2.1.2.2) >>
>>
endobj
-470 0 obj
+481 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [453.237 398.352 475.708 409.145]
+/Rect [137.594 374.442 160.065 385.235]
/A << /S /GoTo /D (subsection.2.4.6) >>
>>
endobj
-475 0 obj
+486 0 obj
<<
-/D [473 0 R /XYZ 132.768 705.06 null]
+/D [484 0 R /XYZ 132.768 705.06 null]
>>
endobj
126 0 obj
<<
-/D [473 0 R /XYZ 133.768 667.198 null]
+/D [484 0 R /XYZ 133.768 667.198 null]
>>
endobj
130 0 obj
<<
-/D [473 0 R /XYZ 133.768 574.594 null]
+/D [484 0 R /XYZ 133.768 574.594 null]
>>
endobj
134 0 obj
<<
-/D [473 0 R /XYZ 133.768 380.364 null]
+/D [484 0 R /XYZ 133.768 356.454 null]
>>
endobj
138 0 obj
<<
-/D [473 0 R /XYZ 133.768 270.183 null]
+/D [484 0 R /XYZ 133.768 246.273 null]
>>
endobj
-472 0 obj
+483 0 obj
<<
-/Font << /F67 290 0 R /F37 243 0 R /F58 340 0 R /F53 244 0 R /F68 291 0 R /F55 358 0 R /F65 250 0 R /F61 359 0 R /F52 242 0 R /F64 249 0 R >>
+/Font << /F67 298 0 R /F37 251 0 R /F58 350 0 R /F53 252 0 R /F68 299 0 R /F55 368 0 R /F65 258 0 R /F61 369 0 R /F52 250 0 R /F64 257 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-479 0 obj
+490 0 obj
<<
-/Length 2936
+/Length 2978
/Filter /FlateDecode
>>
stream
-xڵZ[o~ϯۑ+^%u{P
--# q2_ gyչmhBqd.Bvնid>IgA˫ HP w' 熬}n#Wg(
-xh{@FIYq0$>j ߨBlF4o =4] E SOSU\U#K|C_h2M#-W.' ϸﬥ7.x8"><4x!<bFo 2RUu]c57(F%tC, r,O$ƃ*7,#
-l~A=< p/3ejYyA^ЦJMsCpRN$Sf>pU<M͠4@,3C`C7v
-A'BiB,1C$aձ|>ີy,^
-f (x˔ r*/^
-&/oY{ta떞QCq g\gS"@֐ɻ Mb9>۞^ NۤgS|Y}\!?N#xOEܡ=;ZU=qKn/J.dR Z.#Jm:<5*)qc۽lMxy!64"Bi9"a2"
-* ayP(吆͓yb耞|Dْ"9z╃-^P3ծ?[9/u/ 㢘YCmԿ=#%BY
-MΡ7;v3He74P[-+ݫFzQ~BJK ǓFlOex}Q7LfC䑲Cf{$oj8Ӑ[Mvӊ ^!`h[jjxcր1>7P>gm:W.sRf a {0dbp92!9
-i\xt9@G,+ճ_y\IESu 8Y (DPIX<X'Q(
-"x]XdWesnﹻۙ~vK!YgElef9>͙Yk F=<,o<v1r
-P_])J,_6:-g.Sf-P2*/4^D1KWw
+xڭZYo8~ϯ[+@];X3ݗZX,%9IJdίʉWwxU잟6W?}٪Ef&T4Ʉj[}6{_?}NTIa
+ MwmT u,LxkGzmtuyX -?5oeTWVPmqO ޾LtN\3Si*
+ZK)r6`GXiaN%?=],jU mvj; Ͽy:QoCٕ(Qpz$vQ2꫻5f[3\6;S={ؾ'8]{ D
+^ݷm{?!0RF{BR:l U5uTt+xݭx/W/DDFak
+W`ت(Bِ\bJc0T5 -D/L)tLH)
+-7je{SRaI,@'0baZ"tA~F?Bsޕgwۦ Y{"fqpK#V0KNcsJxU?L<((,<?h'QrK aQοʞc#kWm/+G,d<9mWm,t~ϣhȂ?΂ %ՠ 3314;,
+xY-*YdD8 "<
+l>B(yx `
+!pYe);T~Dx)XֺE nFNd6;AaD&:+@dk:BXlLB,9z%G`Nw5 E!((dzkۺאsT
+d/S" p8|Gr~aPn2ђ4Z'>QV(td1\BhOʚC4!>DmGS4{k\>Ԧk2 1"M'~cۅ2U2
+=y╃-Q3On8Y@YC4gC{z\uiK?K@u-95 GIuv_j@vaD__85'6|Ox~:dTl<p/A [%/X"S/2c0=ă7]6@lMlI(e$\aY̓-qvT&İ#H 5 <ѷ`z
+<؅I3GOfcenc!+.*Z5;0mƺAKs Nָm=]R-}}NQ K-2pFvȊlDǕ6w3Lo R0`*`| PW7-NI^(*WDr3pũ`(s /$s>X~4t+ivqqUjlP+(J3ETB|8;5SG0f4=یWGo=!.{bw։J"YyNԚnɆ$s͜0U{frg<Lɠ``lbk %֋?[]fW((lɭp?qУ1Po^&u(zEgBM?,oA~?YK3yOo2J@$<v1H+@3='Y^ŭ7DQa)[Տ"JFBE$d
endstream
endobj
-478 0 obj
+489 0 obj
<<
/Type /Page
-/Contents 479 0 R
-/Resources 477 0 R
+/Contents 490 0 R
+/Resources 488 0 R
/MediaBox [0 0 612 792]
-/Parent 484 0 R
-/Annots [ 471 0 R 476 0 R ]
+/Parent 495 0 R
+/Annots [ 482 0 R 487 0 R ]
>>
endobj
-471 0 obj
+482 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.986 653.748 475.708 665.704]
+/Rect [460.986 629.838 475.708 641.793]
/A << /S /GoTo /D (table.2.7) >>
>>
endobj
-476 0 obj
+487 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.82 367.378 347.543 378.171]
+/Rect [332.82 343.468 347.543 354.26]
/A << /S /GoTo /D (table.2.7) >>
>>
endobj
-480 0 obj
+491 0 obj
<<
-/D [478 0 R /XYZ 132.768 705.06 null]
+/D [489 0 R /XYZ 132.768 705.06 null]
>>
endobj
-481 0 obj
+492 0 obj
<<
-/D [478 0 R /XYZ 184.252 283.803 null]
+/D [489 0 R /XYZ 184.014 283.249 null]
>>
endobj
-477 0 obj
+488 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F75 351 0 R /F115 482 0 R /F76 352 0 R /F114 483 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F75 361 0 R /F115 493 0 R /F76 362 0 R /F114 494 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-489 0 obj
+500 0 obj
<<
-/Length 2562
+/Length 2901
/Filter /FlateDecode
>>
stream
-x˒۸>_RM .rIvr@KԈ58!x]43IJ|Pnt.t Ϸ7߉la\/nw &ɴYh.vK*]ɧs^dRP6lEYk\ql6.N"z8D,Y! OU>†0USeu=i
-yuCo]0IcĪ@{8ZRGK9?>^?!9j p2|w@DU{@Mu8Oal;.)My
-Yl=
-|zZʦvWOh?8&ؕD)6e)NN ‚V%۲yI/
-L\luk_Dwt1^:: .uu>m# !ҰNv:O5D1KD;llƋj4
-
-Li9cς@cP
-&'I#Y3\3ٟu!s!~9/VK*b I4hA[qL%uRiKԸ_8tBf-cJ;H{E^9IO0wmsnwvĮ;f<4e)tރ^`)LLM ]/sسQ)Y^?7(Ĉ k"–P}Q{}Ӥ.B,-+2͘3
-U:mX9ҔiJASO3*~]oh UygSn}? @J>ۼ)RWl0
-w
-HwCkU9Fd+l\ ;So)Оyn.BE\n! tUMʺ he;c F2g-%ƠO6EbQlNa)Zqnc)8l{,OE/ב3xbf$u
-\"!b \C
-J~TgBt\cI]x %IFgy˷> U;)\ ; Mx^6h.E^^..y?;ت~S|;hH9/-"|j;csBw
-:6vDF,)\8(Tbv܆ (KX6yWx>dqo|ӭU燾Etb֔H4b=ۤG ?s .Უ cLP|~tS֥<\禭󐂜YbLn^?B}
-^&jF5鮪nzL, zoČ~ mq|,iatۛ
+xn=_ᷕ6w ,ؗv!3@5 qTs`<5tm]y(<<<zFg^G,vƤ!)3R…]nfW./%IYm Ӥ8îXϹIv8]y_*ǹ}78ҤiAw%l*:k2@ޔ>m4yEKeiϳ%J OF
+2ѽ!^`M8rsdͱ?L CXΎu8h}  \GGvHXUa?$@?
+YNJ^uq}@&RI?C{29nɧg(6qr%$QMT:?x`5MMQUtppV3q֫״~?劣袽yoX'<6iiXKq(8fHy 1xR fd`] j(˂P۩@y8N7,Zsr%p9 
+3;Dδ7!<ଢ଼X2Tk}F
+Nz+N]c'AP3kؘװ qoccO˸i@
+\D]_TAD"ZQ0ΔFA3־< 1W}hoF$:'8299A$FN)|䔚3GNi"FN}.r3J3iGNhkҙS:"=tB(I) d_X#i$8Kч V:Ygp
+ژo<链UX<7( QY $ xC:aJrϵ,j3\
+ .A]ZݕJ2v!wՋ\n9b G9mp?oc]{!gKKOA}Ly-x
+s!e} {s\OjB|I
+<hVmJhQYq Ű6OW@5;|G(0@6$ƕk|Epp/.XIϋѲh*Un7*x5c{<^úb
+ʕL֮ٞ)
+)[ݧ벪Pv&ؑhXH3c Wid:VږSZ4R2
+ʌ\hh< [mY?݉ju-cv\H-W-yGM+ ]Ŗ~^J-L*klt rDyc|,1dJcշK:Z<!\k؄_ɧ HS}{a-h< [4o$l ΢ډ7; 뺧S~ToW9
+d}㛫x$C 3&B=z`$}ѠR~cs1WhR<vϒ$>:}m|mg]Ս$ u&78vUO8Kqn2{n*EF Q:V3젼y%TKIx_dYd*njw&&G4cfDZgZݾJdah۹l߆ød>M.
+g| [2k x'UJ 6G0)ϩ !&uOI doR`
+Qs,^g9r(ynMRȯ|m7Y @-6KeiņYcT^(]/9`m3 iS ȊG>ᡓgMhh F^/`YP [PpA!IgGk% m ,Ndhqj۝PhS\M$;ȁӵ'>u
++V5ΤѺ6ޫyr"1$&KI
+_` /r *i<uS}9JFv(n,NC[SZ?HopӍfrq*J!.sʔte zj%`b ]ueKV]&mh/
endstream
endobj
-488 0 obj
+499 0 obj
<<
/Type /Page
-/Contents 489 0 R
-/Resources 487 0 R
+/Contents 500 0 R
+/Resources 498 0 R
/MediaBox [0 0 612 792]
-/Parent 484 0 R
-/Annots [ 485 0 R 486 0 R ]
+/Parent 495 0 R
+/Annots [ 496 0 R 497 0 R ]
>>
endobj
-485 0 obj
+496 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.05 374.234 180.27 385.304]
+/Rect [150.05 350.901 180.27 361.97]
/A << /S /GoTo /D (subsubsection.2.1.3.6) >>
>>
endobj
-486 0 obj
+497 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.12 374.234 391.843 385.304]
+/Rect [377.12 350.901 391.843 361.97]
/A << /S /GoTo /D (section.2.3) >>
>>
endobj
-490 0 obj
+501 0 obj
<<
-/D [488 0 R /XYZ 132.768 705.06 null]
+/D [499 0 R /XYZ 132.768 705.06 null]
>>
endobj
142 0 obj
<<
-/D [488 0 R /XYZ 133.768 405.004 null]
+/D [499 0 R /XYZ 133.768 381.67 null]
>>
endobj
-487 0 obj
+498 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F58 340 0 R /F65 250 0 R /F55 358 0 R /F61 359 0 R /F67 290 0 R /F68 291 0 R /F119 491 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F58 350 0 R /F65 258 0 R /F55 368 0 R /F61 369 0 R /F67 298 0 R /F68 299 0 R /F119 502 0 R /F62 480 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-494 0 obj
+505 0 obj
<<
-/Length 2551
+/Length 2572
/Filter /FlateDecode
>>
stream
-xڭZYo#~ׯ<
-v߇ob6Xo^#q$G Tu\TMwOOuUsyP<=1E`J[B)/7KSܮ7~+&->
-z!NXBZJ+Nܪ쉘Pg&3僒 K3Z8e023',h gt'к%-ܝQ)=mr@bT8Fx
-Hhn9Mĭ$nAb+@YYA͉bGG%Ӌ}Vot}4ʢ=-l@\ջUeW9`jD!uҳJ4AVgmқN>nd,з:z Rn~}3%HC_R]=x0U taSM2$C^$v1ˎi' !XcW0gG4ҕӴc|7vڽ
-]v}'iwJѠ?`yr|&(ؿr:\濠
-R:h :}Ne@z,P6B!bßO--Um℞ir<mh@ik
-+Ѧ $m@uP'%R\ש^C%L2eO;s/_ZI4Z~sm5oe275t&ش5܊f.s׬At3|Dҋu
-iar784ObhZ"z=U2Q[gHo ~5- nf+se8oxn)5qqkG-ýz/5d
- Jj:lor= ~'C@,鿥(1
+xڭY[o~P)< .
+}0PJ9%ho= )~5l[sEH3Ѡ=T»Ԝ@]ZJR*/Dz 1{?ahG&ED9%x)
+9 H lj qR(ߟwvMvk>H^9+@ J$|}r!}k;)eR"ԄzW _6t&~*O!whAA溡|A8:*ڕI
+옊盄vRؽ@X1!02Q-![4.oTD'0A~<ށ`|6 U,/Ö_@M خotm+ë%9mX !MB5 ]$I'm@[02v3ܞ.$%˷a op}K#ák3ב`,)'-k[, v,!2 1Z
+m(MbS1qo71u]&Br’m Ґl`Gom3tNWn=+ŭ[!HC1]a6|i p9E3œӳ"\O1<)}1){gC[/TƆb^z㈞ZO;<Q}g )^>[w DNRwy[ˋ
+)ǃӊV % T!,H}Ixo"@X8ȼe@]|,=ЅE/n5ŋ2mGq
+Nh (mREzط<" 5i)Y%sApe,7Ƕ˛ ͎ȇ\4;'QϢۀ$Tw.V%_BcǛæ(
+BڏP|l
+jofU[|8PԣϨQa mtӀ YF3LXL YY/p]
+/,c@D
endstream
endobj
-493 0 obj
+504 0 obj
<<
/Type /Page
-/Contents 494 0 R
-/Resources 492 0 R
+/Contents 505 0 R
+/Resources 503 0 R
/MediaBox [0 0 612 792]
-/Parent 484 0 R
+/Parent 495 0 R
>>
endobj
-495 0 obj
+506 0 obj
<<
-/D [493 0 R /XYZ 132.768 705.06 null]
+/D [504 0 R /XYZ 132.768 705.06 null]
>>
endobj
146 0 obj
<<
-/D [493 0 R /XYZ 133.768 234.477 null]
+/D [504 0 R /XYZ 133.768 224.016 null]
>>
endobj
-492 0 obj
+503 0 obj
<<
-/Font << /F55 358 0 R /F61 359 0 R /F58 340 0 R /F37 243 0 R /F54 248 0 R /F53 244 0 R /F119 491 0 R /F65 250 0 R /F67 290 0 R /F68 291 0 R >>
+/Font << /F53 252 0 R /F119 502 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F62 480 0 R /F37 251 0 R /F54 256 0 R /F65 258 0 R /F67 298 0 R /F68 299 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-498 0 obj
+509 0 obj
<<
-/Length 2629
+/Length 2616
/Filter /FlateDecode
>>
stream
-xڵ]s۸ݿBtk#&p;ӛi3}k䁖h EH*.H95 X.W+o/^Q3o][ XjʚIeVo7wIS_J|n/IQѳ{ -㰈k<_?i[wTf.E8au)ӤkئzhXmwգɫoyO)>mQ#T!28OWm m[~R 艂eǙ||]Jŵb8ˬh@K\Wdx0tcܫ7F( KS pC&֜iku-{ݕ HcVLq~5μL{<KMnl u
-#iE-.pf?fmr- Lyq T5={
-K
-
-Zuo "<Nսfd3F:Pg ]&֙<$SF,YcB^L
-jQ@e"MZQpD}0^ G|z
-2X<6CwuYw6 O En
-I|JH.
-鍑 R}4 G%}YH\aP!TSM^*@&0C*@TG0v8O<2: Ϫh?
-~437 Ȕ%y! DG *@D.0%`HZ2#wBp!_QHnવa|{6ӠhPy7YY>X=O&FyYvV@pxbHGeMg
-=rH
-,qEe8rM/]@^"dp P%eh:䣘tKeS.<9EWd%Wt@8IGm ~Q}фhr|P&I
-SAiHw9d@IK#X>y93!?/>LZ&A F
-R`PT*ft(Љc/L48e(V)ʸ\xa菮^ t<[? Zx}oXX&,TɄ3s OeKH 6P2 @QM9/1XuSJ0-:B,[;-ɬ?us#O;J\+Kag!CR):I:?Ma9sR"BEpT?(9{dfC$[,g
-K`zsjCm&a2+C&F5CrBBPipTe=0!}YcfG϶0>FDaM5`0yᮡ`ᴿ`
-*cWUQ%}cmfXub_F=dz] 3\. JaQ8,njD<^NBRwCҡ?myϷu!EB *l<e;&}*U}մ|}5L=]v%vN>k64!W=JYzym { y}
-&nԗ^޿* |I;@
-L 80xͪdϾ;\h&#XN1'n6q~G:wپri͞ۼ)Rq
-ˡC'c? 0]IZB-r ^7 jt(T,uuhg,8tP\N8H̲ Y[4o=pAf}(
+xڵ]s۸ݿBrk#$KݙLsw]ӧ$l(RGRIL{w)ٙS3\~B|u⫟.x|sLVoVB)&vIeVow뺺vVҭ탏춈<}[?i;TwTf.ð麭slMe4,鮅`lOyW$U Vv[
+b.;O޲|IP(㉙nO1gExu94@:= /Վ%̠|=4Gȃb?
+2UTB_B%IZ !B~Ek *w!5E-D..pB%%ZxP+W_]2
+ɍ ɍR], G&.&àCP:Tr y¨:l:/$V(W|UKQLG3+|@L!$wKF!b;FK-2@=60%`(HZ2#wBpmBrW8ۓ@Fx {P<y28pzOp2a㉹#Mm!$!)
+
+QA3zD:a1Q~&N=p"
+䟅9HIoGrp| 'TH6mI| R
+!h.(*X ʸ}mR=PP#Wu}
+T|RDf=kmCZ@qcb ^(ݥ.n^_UWuaٕWώU86P_E?!C<]Hy=7UӃ ]ÒӂY Yp
+"nb*F QLhRbo,sX4C0b_cM>^aW1U}CJ.%>%ײ+ H3z' ]BdH 6Ĝ g0/s+pյ/&@  "Š$V8uL;$s/o^*vh+-I|K;N]v3֙3nQiOLu&ڵюm
+|ǽF{Q'g=lc~&Ҟh[g=Q9i'v6ڣ=J;Kv~f?3Ħx-x?iY2`f(p0R&$൪MKpq!o`>{d} icK}rr#^
+P NKMTB24tDuvt&@cC:iJ_
+%F%K,Wf(e%
+wC1W8ye 13' ~5yH B?7+
endstream
endobj
-497 0 obj
+508 0 obj
<<
/Type /Page
-/Contents 498 0 R
-/Resources 496 0 R
+/Contents 509 0 R
+/Resources 507 0 R
/MediaBox [0 0 612 792]
-/Parent 484 0 R
+/Parent 495 0 R
>>
endobj
-499 0 obj
+510 0 obj
<<
-/D [497 0 R /XYZ 132.768 705.06 null]
+/D [508 0 R /XYZ 132.768 705.06 null]
>>
endobj
-500 0 obj
+511 0 obj
<<
-/D [497 0 R /XYZ 133.768 557.618 null]
+/D [508 0 R /XYZ 133.768 557.618 null]
>>
endobj
150 0 obj
<<
-/D [497 0 R /XYZ 133.768 169.513 null]
+/D [508 0 R /XYZ 133.768 169.513 null]
>>
endobj
-496 0 obj
+507 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F55 358 0 R /F58 340 0 R /F52 242 0 R /F65 250 0 R /F61 359 0 R /F68 291 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F55 368 0 R /F58 350 0 R /F52 250 0 R /F65 258 0 R /F61 369 0 R /F68 299 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-505 0 obj
+516 0 obj
<<
-/Length 2525
+/Length 2532
/Filter /FlateDecode
>>
stream
-xڵZ[ۺ~_G]3j@]%Gf!M;Ļ/"ijq. M(~JՋ_(%,(D+) 2]EocF19LƷTb\xɖ6/g/~:JIByI4p:I3ld/50q: |fLy3hnBoAP"R$%iMR#Fa REѬ[I"q*:~e4_Rfq| iGX͇bC4" 6"!:g6[ A.HQypfmm[=x
-$8MQNbqwL\_:o]~
- <
-yr>mk)E fd 3I'oEն6,Vct3 </U@[X>cī.{X/O4Vh
-D'ª;'Fkvld7nSm]\bٮ,TrѺeklQ#^*W!m{* 4)KZٹ+8 HgOVߖ{(@iou^03D̓*U4jUB}.ls @BB5Eҷ Ʀ_p!NߒwE9u(
-r9@g! #(6|q[V߶>61թ{XH!b9YyI Q>eYXPcAd6W*ȑ3~W |lEaFy:H+D}veVr %н{{QZzIL0Iuje767yu:/}mzt=Gn7:^рjЛ`&ih) 6XfCw3 Ӻ
-9 mHKМ%@MHX'z>4( )QÖ1N籲ae 9a?#Vu9ꪦgj<Vze1VubXPP&©^9SPKK:]=$ã
-xֻ]r;$(oǢƜB`yˁXu9cB~^gGK/`
-ՁvG70tƿv{k{h̗ܳydgŃͦ򯯳:VVFEhuӛswG ]DK[$Fx|2 %7
+xڵZ[۸~_G3j;`wE_,HR@5c5H ͦ3/"i㹟I(~JՋ(%,(D+) 2]EocF19LƷTb\xɖ6/g/~:JIBzI4p:J3lY x8wr}rO8XfgXk7j5}_HTscϣ%`#^`
+h-$X~]D?y6+WO
+&]cs[4!BM@A>d˪Svw(#ʝ; ]Fd'Q7cG۬!POnq=Aԓq5 Ĺ{ЯkP-(DI4QU
+~TQGvֶ$lҴsoגB^dD |8#D:q Sէhn@&4$3 T"50` q Ub
+`N V>Rq pSci1H"thO#l9g>ք%,#9nta)1͡-]ޘ3"x)>,ر;~r`xV]
+رC~^@gG9^.
+B#F/RvwΩI Qާ@K|ꀀ|&PKDĄH.Ya9 Toϕ I,XŰNʀg.uR< Vq0z:2XOŜο0% N?m8Eu_b`|Ɋ^,v=>9rMO|G
+'fVxmjntmVgjHw@z h5e{Es7wƍ}F]y^WvX"Ƈ-tǢqmUlr )fnwhBmmVym
+G7tƿv=\^+,e4YMTu֞3<^2~z߸6wעo Z"1«0M`<P;<
endstream
endobj
-504 0 obj
+515 0 obj
<<
/Type /Page
-/Contents 505 0 R
-/Resources 503 0 R
+/Contents 516 0 R
+/Resources 514 0 R
/MediaBox [0 0 612 792]
-/Parent 484 0 R
-/Annots [ 501 0 R 502 0 R ]
+/Parent 495 0 R
+/Annots [ 512 0 R 513 0 R ]
>>
endobj
-501 0 obj
+512 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -2753,7 +2775,7 @@ endobj
/A << /S /GoTo /D (section.2.1) >>
>>
endobj
-502 0 obj
+513 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -2762,630 +2784,734 @@ endobj
/A << /S /GoTo /D (subsection.2.1.4) >>
>>
endobj
-506 0 obj
+517 0 obj
<<
-/D [504 0 R /XYZ 132.768 705.06 null]
+/D [515 0 R /XYZ 132.768 705.06 null]
>>
endobj
154 0 obj
<<
-/D [504 0 R /XYZ 133.768 667.198 null]
+/D [515 0 R /XYZ 133.768 667.198 null]
>>
endobj
158 0 obj
<<
-/D [504 0 R /XYZ 133.768 574.594 null]
+/D [515 0 R /XYZ 133.768 574.594 null]
>>
endobj
-503 0 obj
+514 0 obj
<<
-/Font << /F67 290 0 R /F37 243 0 R /F64 249 0 R /F53 244 0 R /F55 358 0 R /F56 364 0 R /F58 340 0 R /F52 242 0 R /F61 359 0 R >>
+/Font << /F67 298 0 R /F37 251 0 R /F64 257 0 R /F53 252 0 R /F55 368 0 R /F56 374 0 R /F58 350 0 R /F52 250 0 R /F61 369 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-510 0 obj
+521 0 obj
<<
-/Length 2105
+/Length 2175
/Filter /FlateDecode
>>
stream
-xX[o~P#.-4y))@^⬤=6 Z
-;oN(~Iͷ?"X<EBHK*e}=R`62&ɲ,?t`';v-7Jp2bˊ"eҢ4Qʊ^&` B**<CxX&()!ɡOQI*pt>&7 /*nnK\ʂǶúbXk[C(OKrE~HUz5p<ʽ .+]RsHnx^A"3uMuΒEIПp*,S-FΡ &$bFu*dg$[̙HK+k}Ȳ~H4δ[0.gͽaﭐ)Uc\FY/׎DX/߭!J5:4\ B6{s-֛5ټb w4_x?oMͬnNL&/-/"1\JVeR
-+445SglS2A7<6ahâao{k{j 6¼{k!O5N3<E`ģ-d;;bM?;mLZ\7'CM96I!_{=Ч>"*
- μY}hY9M sq}w[ƍNn(^׿Hۮi(l-͎<
-",6g40c(<3 9AӞ<ԟxb>
-*>yK?0iY<zQ࢈~Ww緉ŶΜݧ^[g0HB~O0a l9Xa"{+Řl+raCc;mC}펁H'\nd=y$P={pNǶLh L ǘ^Ϩ} l0Fm ,+(l
- .t@u>1
-5iuhl9Z s;5Y]=T0L}mV1^TC,ZM$ق f 74mH
-$u2M3O}P hGr9f33p>@bu49ӽƗ?cð6mX(8(\Q m. Uk xc{S5ꓠLH1uЀ<Sm^8 \t|wC`͢nh"vF[`b7b8%7eto5ƳAcXA5fc t?W[hX<y<n뭏81I<9ﶝ{MכM%|Pq%Zҩ(P >qvᤃ)&/]}bE1<^| {_Id_RR=M)9<aE1<,}.PH
-pO=D&
+xڭXݏ LTK-`w׽42αs3ssg %)")G*I%я7߿mRʣ}Q%BWч~S>nZJl4;a#nm&b[]tӛ|덄aHTD6"1E;|DL%”&zHJRøu3d
+46d7~&uC#uM+Ž,Y,9
+>2/ːȤASDfI<lv.Rc`تB#YRmRYФM:> jm5"̑rR ] .rRߪoz Y?&Z5;PtcpW2=@ZDS]5#km,%OuVLҥMZg!J~޵W.zSE<":0DDxitIk1"mw+RRaƑ;Wף '
+AW xoAp .097LNsEa0y P%DJ
+i<rDWפ(ԿopsԀ>>p&ޝ`jC|p} s]:[/L>-GGI/Cm
+xP2%ϊ;BD` Zh.x 9d# @wmʶ\ka{PgΕ{Y7spn-iS!pGJw.j`~k{D خidJ> 3I,;<(;utA|;;J2((^ޱ\7
+pn=&
+xcxRP\]RM*;3<O%x|l1q
+y@^#aX2#&zqE"xLkx] L-RFBIUo:7}C( ْW1s(=N]ės
+b#-r[j//dy5ۅQb:t ӱ^uFp6r{_gEo5-~HXA;{,R}}ԟ?ސ1v:Buw;=|^+.{/QKX ^ߩxӅ
+ЭILb7
endstream
endobj
-509 0 obj
+520 0 obj
<<
/Type /Page
-/Contents 510 0 R
-/Resources 508 0 R
+/Contents 521 0 R
+/Resources 519 0 R
/MediaBox [0 0 612 792]
-/Parent 484 0 R
-/Annots [ 507 0 R ]
+/Parent 495 0 R
+/Annots [ 518 0 R ]
>>
endobj
-507 0 obj
+518 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.594 303.837 167.814 314.629]
+/Rect [150.477 267.971 180.697 278.764]
/A << /S /GoTo /D (subsubsection.2.1.3.8) >>
>>
endobj
-511 0 obj
+522 0 obj
<<
-/D [509 0 R /XYZ 132.768 705.06 null]
+/D [520 0 R /XYZ 132.768 705.06 null]
>>
endobj
-512 0 obj
+523 0 obj
<<
-/D [509 0 R /XYZ 270.505 662.328 null]
+/D [520 0 R /XYZ 270.505 662.328 null]
>>
endobj
162 0 obj
<<
-/D [509 0 R /XYZ 133.768 512.802 null]
+/D [520 0 R /XYZ 133.768 488.892 null]
>>
endobj
166 0 obj
<<
-/D [509 0 R /XYZ 133.768 417.32 null]
+/D [520 0 R /XYZ 133.768 383.392 null]
>>
endobj
170 0 obj
<<
-/D [509 0 R /XYZ 133.768 335.177 null]
+/D [520 0 R /XYZ 133.768 299.312 null]
>>
endobj
-508 0 obj
+519 0 obj
<<
-/Font << /F37 243 0 R /F75 351 0 R /F76 352 0 R /F67 290 0 R /F53 244 0 R /F65 250 0 R /F52 242 0 R /F58 340 0 R /F55 358 0 R /F56 364 0 R >>
+/Font << /F37 251 0 R /F75 361 0 R /F76 362 0 R /F67 298 0 R /F53 252 0 R /F65 258 0 R /F52 250 0 R /F58 350 0 R /F55 368 0 R /F56 374 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-516 0 obj
+527 0 obj
<<
-/Length 2315
+/Length 2479
/Filter /FlateDecode
>>
stream
-xYKo6WŐw,"xn-DI= Cj-bvcbǪ"M M~o߾2*P]8'ZDdrHnҫ߾Wl0Pj,
-~1__|`M0R$-MDŽmu\%E 6䗋Vf"MbL$G*F&FN/CD^mϋeš/PFwqCm7V"I
-C:YΫw3'4l2oqCcŽ6P;`8>( Wݴ?6eQTg
-H.AEt;"cxb$#R4n1SR0@XVFDiDiDk)"qx\xMpL_iwjr \m^4݄_/hr1iQe,(:_/W C"3B7LL6޼iۏz7!-~
-o6w
- _I곪0)( y۰o]ޭ6uE tȍ
-!,jHt," {Y 1pYڅ>c1 8vtB.tzpUtq}OBGY9:&c
-~@^, 9
-{yS4X20w(4D@AzXIJ 1zuqWux5
-ۖcIhEGǮPbČKb!i0d ;3.=$m1]7˺֋+z뽕QbA2-ȴß7WIq/S/r:Y4x`#gDaVx]I"!m,p,,Q0ceƙ؍nvpzxZAd#I +qWy+A,7=h(C;.!3w
-dXu }5l:~%MPEGU\n˄\!P;|籱QC+ǟ|7WrU0
-~5E]\53[%kѾU§"+$TTha*ߘ&2V]c[ͮݾd͍]Sk,W=tbKʧ蝪׻Ew31]0э_9W4gw;EDivR ;mw>Uw Fos×"W ^TkFvx
+xZK6ϯ!UKe%xItTeS&ski #qdrƃakk}`d*ɒ߯?9M4҂.#q"Dzܤ_&3Nxz7Mso1e>d3'FŖ˼572o|â(GSi6pH49aTbUbmel~`?y ;Y4QɌ3_:t NLiЪ:\v}
+ts#
+`)6  <f*
+uG URXACVR:?=ؑ %.Ƒ0NDGކ_j; /25`}j8Z`_+ai.Z
+_MԽ \Mp,)} gʢٙK5S
+Dۛ7 S,80Bѓ- 86pbDII{}$r-gwяD ~Fo! 3W +8
+=4Æ)~%Э<I''"c-.8-MzߥZ7s}R c&,WOB{ QT75tW{HӨQ$_i s;q`;t {7! /pwv6)RcB.%JO\*j⛶[@9 :XRB[,3 gm&7fX LRpL3V\Ɗ#8sGv$r,t܎
+J5 (
+G򌖙2C#(8"xrΌQ6;'f䧇 u~a)Su,>5#z2[m_FQL,7⃓!${pC}*ApW@d>³Ea %i[vimVuJ]wKujd8vN:HF2QUD! bykYu^E۝`{-W(M(OsFT3&Š ݶ}fPC}Q@ o5NLMj
+ 2j'7 0etA] 8BhaGw0Z3fVh3w|oo~<ܾn<]z1jnG*9pd4! pE '#
endstream
endobj
-515 0 obj
+526 0 obj
<<
/Type /Page
-/Contents 516 0 R
-/Resources 514 0 R
+/Contents 527 0 R
+/Resources 525 0 R
/MediaBox [0 0 612 792]
-/Parent 518 0 R
-/Annots [ 513 0 R ]
+/Parent 529 0 R
+/Annots [ 524 0 R ]
>>
endobj
-513 0 obj
+524 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.035 456.503 435.255 467.295]
-/A << /S /GoTo /D (subsubsection.2.5.1.3) >>
+/Rect [405.035 208.401 427.507 219.194]
+/A << /S /GoTo /D (subsection.2.5.2) >>
>>
endobj
-517 0 obj
+528 0 obj
<<
-/D [515 0 R /XYZ 132.768 705.06 null]
+/D [526 0 R /XYZ 132.768 705.06 null]
>>
endobj
174 0 obj
<<
-/D [515 0 R /XYZ 133.768 569.472 null]
+/D [526 0 R /XYZ 133.768 321.37 null]
>>
endobj
-178 0 obj
-<<
-/D [515 0 R /XYZ 133.768 273.167 null]
->>
-endobj
-514 0 obj
+525 0 obj
<<
-/Font << /F55 358 0 R /F61 359 0 R /F58 340 0 R /F114 483 0 R /F75 351 0 R /F56 364 0 R /F78 407 0 R /F59 376 0 R /F52 242 0 R /F37 243 0 R /F53 244 0 R /F65 250 0 R /F62 469 0 R /F68 291 0 R >>
+/Font << /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F114 494 0 R /F75 361 0 R /F56 374 0 R /F78 417 0 R /F59 386 0 R /F37 251 0 R /F60 418 0 R /F62 480 0 R /F52 250 0 R /F65 258 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-521 0 obj
+532 0 obj
<<
-/Length 1998
+/Length 1980
/Filter /FlateDecode
>>
stream
-xXYo~#Zٗ. 4@.~s\2q)!n3 )R;fp`Dљ9|g&ɷ'8~k!29NcHIHBc*9_'W%JM,9 iOH'%Nw Fʨ䝗&F"N 䗓Qzh@$w%F6' dn0P0$줏 ȍ`@ԘFT.(GۆVH>pl$c@<d&dNT,T)H
-Xbb7
- Ö#x21ӹ&{fߜat%dJI)cb8a
-d)>]"jz+Ub`!r':9k!Q\J V?x[PElZ@oJ#ɧnV6bc#Pp)S5 4w(x8M'Dqi"#Di^ڧfi{c݀$J[.್.%"m^^ccpd;%шӂ^4vU8]q$sEִadm'T8曛iz˯ @q"ߔK_!x\ܛ y&
-{݆۬7 qШA_Oď*xu"-MTYފ&ڑA0C-BR:_eKf*yTB,Šz3uƶ(Wyz`ୡ2D_FKAUǗyڍob#3{ܧ3Rh-jPV%oy8} Ma~kDUj×74Lvk[oa1OA!(.z*@Ҕiʣ#9xWײj6J?JqejʁH8ox"dZ`΂uUHVVg6Lz&CU$P2l\6 A .ȼsUqKnƋ}X@aXxF'!Xvҷu ^VA
-~h,/'M{&
-9|JÌ@c?RYl^kH}_ʕI2Lcdc
+xZ[oV~#5OPٶ/PLT"J;B)G4-y87sh_8~w}AFR]E1$!1]ϣjv{ӫ7 %!-\|}2HDCGRJluqs9|)H}tt`~oJ#@sa(E{bn!IdGW>n4lWBn
+#89)98NtNL,^N6<i*&u''EO ׋^vhhJ#昤=jkԀ8>kN5J!^s$6m>߉XNl/!\>MlgQh0eDI_t%9G*~uߧMIv>K>]Id}F)ᓬ|Em`PAU
endstream
endobj
-520 0 obj
+531 0 obj
<<
/Type /Page
-/Contents 521 0 R
-/Resources 519 0 R
+/Contents 532 0 R
+/Resources 530 0 R
/MediaBox [0 0 612 792]
-/Parent 518 0 R
+/Parent 529 0 R
>>
endobj
-522 0 obj
+533 0 obj
<<
-/D [520 0 R /XYZ 132.768 705.06 null]
+/D [531 0 R /XYZ 132.768 705.06 null]
+>>
+endobj
+178 0 obj
+<<
+/D [531 0 R /XYZ 133.768 546.683 null]
>>
endobj
182 0 obj
<<
-/D [520 0 R /XYZ 133.768 547.164 null]
+/D [531 0 R /XYZ 133.768 298.701 null]
>>
endobj
-186 0 obj
+530 0 obj
<<
-/D [520 0 R /XYZ 133.768 161.608 null]
+/Font << /F55 368 0 R /F61 369 0 R /F58 350 0 R /F59 386 0 R /F62 480 0 R /F56 374 0 R /F67 298 0 R /F68 299 0 R /F65 258 0 R /F37 251 0 R /F53 252 0 R /F52 250 0 R >>
+/ProcSet [ /PDF /Text ]
>>
endobj
-519 0 obj
+536 0 obj
+<<
+/Length 2174
+/Filter /FlateDecode
+>>
+stream
+xZ[o~У&X/i]6m$@[yvMNsH׎&X(|9n2痗gJ.3.TgZ….7U[]V.
+cT*+#N)?
+UuE!]}ֶa<T#`DXZ]}j6 P>9{syA7XƔ LfZ(w4o2J30r9M$3e<{IcZ`-. cIU!Ov8PaqrqFTY+(}T;
+d6yJ|lĪ`Rt!]p326䂶&iē*'F
+%T'ak JOn0 /7XNFꐚX>*|ѷR̓E(D2rOIy(aU/5L*%O V 5Ѐԯཆ@ѿWepgp n~ ^3|F@t tO?O7/$9t QqDJK 㙂46wuiޖmbv[ė;JViR]b㭯09qwqTUJ(4ku5Ux33Jlr pkqǞ7ud-)wbO}V1Lj=om+[` \}Ym]!J"[MNx\2s|j߾jA7@^h.Qh~A-]Wi kir_/{ ӚC\YC`'ࢦjw<fs`hM1gT` ([Os}x>ӯn`O'+h@:2MS@
++>BV]S_Vk|Sƈ\MuHD'iimaB8rA( TI ՟U3X hTyR6ml]j|
+闚_솄c&:QX@}8-y8f`8P䌸1>\Ct ]Ɔtض1=x]#mž):y4Ej{w }ܶHYr[1pOs>%z4'(`+-%'$Y%J1HSZZ2¡qddSpɍoqܐ-YCѥI)NU =a0k>ρh N]p%|H=_׻] m]|Uo?'Ǥtle|8SNLjװ03t"R̼sDhA4[`nlb%W7 06xz1d*]G :snrȠp{V!D iDK_BXnpJSJH5X.v L }:'huA{1>[
+? ?zb*uQͨ5
+EUs9L|~:oXm.hd68 $#pw~!ʇr3۹Ӎ!?8 YkLysyH
+endstream
+endobj
+535 0 obj
<<
-/Font << /F55 358 0 R /F61 359 0 R /F58 340 0 R /F59 376 0 R /F52 242 0 R /F68 291 0 R /F37 243 0 R /F65 250 0 R /F53 244 0 R /F67 290 0 R >>
+/Type /Page
+/Contents 536 0 R
+/Resources 534 0 R
+/MediaBox [0 0 612 792]
+/Parent 529 0 R
+>>
+endobj
+537 0 obj
+<<
+/D [535 0 R /XYZ 132.768 705.06 null]
+>>
+endobj
+452 0 obj
+<<
+/D [535 0 R /XYZ 133.768 454.154 null]
+>>
+endobj
+534 0 obj
+<<
+/Font << /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F59 386 0 R /F37 251 0 R /F65 258 0 R /F52 250 0 R /F68 299 0 R /F54 256 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-525 0 obj
+540 0 obj
<<
-/Length 1955
+/Length 1561
/Filter /FlateDecode
>>
stream
-xZIoFWH%d{tz(DD%Ri7 WӒۈS" ۾ygpt#_x-EdTFa )#)LD,ή3AȊzv~Laof "2?XUV̨w6ដlFˬZO{o%ۼme
-).6eϭ>ݛ0k^TQQB2"\.K+ه1W_[f* J +iRofB6Mǭ6%gYemdg Α2}2ͬFG/]zmTYH}f)XXEdȭ0IS?ś!"w+G12{02T'Ǽ3Xd?M H ^B]
-2mm|oԄ/ƀ|ǠÀBkSnī*(_Ey (q^Gx|lܓ[LQ석 BvtPWC#cCͱ/|;0h׈6?v2㡴^YzE:Q 
-X}}uB .G\oq[x2VL/<%$aFKu`+~[&88R.x֥b'xL}'1<ϊKpy@7oj&HJ!LX|gv`5~i)6;UiPbO &nh :W9ھd(w $&$=*1ԃKe\,tyvF 1\|I=0<KgfO>]c='죚Gm-–'܋@ɗ |v}3ϭ(mEXE8|LiCK+Q/2D
-
-* ঎Ij7Q"MYr.rѻ#=8" Q-:qg U7s%/8 IJ|@ zWz PP= e΋0bW}S T&OXŎZܡ4R2֔CKӁHR=!:z="ve0c:&T/ׄt'Hw(!FȻP2aBQ :S$܃{었>]c{ 7"OXbP:GbUOұc<\@厃#rcv.ܙ6vw孁h)#ArC=
-rP+=#>@ޣ!S{
-8_.JɬFHѻ }f|c^Ky*cD3 ⧦ •!]huƏ{*MM:heyqbP!;8bWVp6ݶ7;@yi=~,g**-؃(+"]庲;n{(2(a`ODmy
+xZKs6WV*Q,hǗ4m2C9 cTL Dz8c vA췠ht#FN."() 2:D{J?,i wX&t<:;yIF8Q@lPI ^rV'pV'Q"o;=N٩xUUgΕO? =c-rVmq=+M8nPlPpRPj,ѯ'G
+ōxuPPlq %
+-MhSG 0J1
+bMO4!WocG,%:dK,΀ԽBO61}O10.qjg4`YW[k0|=vɺ:7[A[jڍ\N4.+RSXU1C btUmz-=9aB=wd=mG{PoKo,{tzm;Ǩ{[l>nsDC>߮HPфk{/@ u|k~5k_s9
+շeGm2mLcpZOFiuaF&ΧEY*A\ [ S8fq n[ cWU@4CZ^4*f \;VMU:1%E1~i
+5.9q6/Rl# ҍN m*t:Xo\fyOV
+D(c~N~O:wO:@|O:\Q;H܅C|RtPx/e-4](Z߅wAoð5jV~| >k
+KrQe^cy˸,<<+Ӫx NKnP["E~r{ɞp1Uu۽Ǯ1 [lخw (Ni F=5FW'I>O{I体31GpW
endstream
endobj
-524 0 obj
+539 0 obj
<<
/Type /Page
-/Contents 525 0 R
-/Resources 523 0 R
+/Contents 540 0 R
+/Resources 538 0 R
/MediaBox [0 0 612 792]
-/Parent 518 0 R
+/Parent 529 0 R
>>
endobj
-526 0 obj
+541 0 obj
<<
-/D [524 0 R /XYZ 132.768 705.06 null]
+/D [539 0 R /XYZ 132.768 705.06 null]
>>
endobj
-523 0 obj
+186 0 obj
+<<
+/D [539 0 R /XYZ 133.768 247.963 null]
+>>
+endobj
+538 0 obj
<<
-/Font << /F65 250 0 R /F37 243 0 R /F53 244 0 R /F54 248 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F59 376 0 R >>
+/Font << /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F59 386 0 R /F37 251 0 R /F65 258 0 R /F67 298 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-529 0 obj
+545 0 obj
<<
-/Length 1929
+/Length 2814
/Filter /FlateDecode
>>
stream
-xZKoFWDsf7 y
-q#d=_/+$"H@^D G4PcP2 +2"K,ɥ<fȗ,yp%4$RHB$^zNǞA>J#c,?<N0:jn]͞w.δ![gOn&rX #5R&4X}&$n&d86 Skգg}RN lKBuju8TUޖ-h'9`zp±a{e`$euڽ}Y/raaDۓcA
-`{FCcbne Vʮ0"x!ӼZ9@@H#YZx6[&r1 lcecdX8Cg<]
-u{'x'@pLJ|#c|^H[prly vJ۲]/_]W[{1Lt }Jz|f0#)Ő˔|I(~ܠD*
-HqbF'ftbF'ftbFGfFK~C:xuТcAgE=815È)P=hpA@'^tE'^tE_/G͉h_L(0-˜h\#a^@5[wiLt( |R1j}M RZr71w<G:Yևއ~B6H%M^/llw"ΔrD^ s{\4tMp_#J$S/_sB8 fBE/[^7U}~ R x!;
+xZ[o~#Z_C 4.Pݺ}I
+ i2aBЖ1A>l?M2xacf7R}['ь=Z3ImiD3h'.G]S(2=9y<^lyz@tyFǗUymsܗU׶R%р8jzHfN:)N43.zEϸ="N5ϾXX>PQ`
+8R 47PQxjM>R
+'SUua^`Pa緐@y^w$Im3o/)Yc&'8dz$#
+
+TPe>MuQAeHҖdOjm9"6􉀻S+@:N8fxbm/8Ly> JeDp15_uSSo0qUmV8Bx ߀7mOQFCc{<IT\x/ss@\w_B2cET ք X` W㘁o)˛!O
+ "1
+Oxio
+ )-g]lE b Og
+R^ɪ:O!Ύg)Z2$#TvYQ:ѢXo`e ݅ˠ]05\11lavYnWq%*A?6_.#$
+HGr՛4VENɑyk3c/+plYo@<WzB!ڭC 51pq( <z
+6Xu 50S;WDn89mwծ4yH :Hak¹٩#fL3+?
+w0
+7Te`p
+E„iY{Wܩ ́-;;
+u2? 0O>O)#iN|`ZY!>/雁s* s#Go›D>쫅[]CϾ_,Tʝviv2&SߒF`7G`^bw9޿?"oƿP2niiv4ΠB4~G#3mXE=A%
endstream
endobj
-528 0 obj
+544 0 obj
<<
/Type /Page
-/Contents 529 0 R
-/Resources 527 0 R
+/Contents 545 0 R
+/Resources 543 0 R
/MediaBox [0 0 612 792]
-/Parent 518 0 R
+/Parent 529 0 R
+/Annots [ 542 0 R ]
>>
endobj
-530 0 obj
+542 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.121 439.587 215.341 450.38]
+/A << /S /GoTo /D (subsubsection.2.5.1.1) >>
+>>
+endobj
+546 0 obj
<<
-/D [528 0 R /XYZ 132.768 705.06 null]
+/D [544 0 R /XYZ 132.768 705.06 null]
>>
endobj
190 0 obj
<<
-/D [528 0 R /XYZ 133.768 194.391 null]
+/D [544 0 R /XYZ 133.768 472.644 null]
>>
endobj
-527 0 obj
+543 0 obj
<<
-/Font << /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F59 376 0 R /F37 243 0 R /F65 250 0 R /F67 290 0 R /F68 291 0 R >>
+/Font << /F55 368 0 R /F61 369 0 R /F58 350 0 R /F65 258 0 R /F37 251 0 R /F53 252 0 R /F67 298 0 R /F56 374 0 R /F59 386 0 R /F62 480 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-533 0 obj
+549 0 obj
<<
-/Length 2215
+/Length 2109
/Filter /FlateDecode
>>
stream
-xn8Q|ZLv=Cڢm d9-y`}HJ=d{1b%h4xHz1!HMUBPuzCTMxs˄l2k\%Xn6Y\&cQ8qQ-]n=8/nbbxhQ1]2KIB9MIw_myeWY[<8hEDsHEڕ6Ō"LHB8)Dƛ̸wS~
-@UqWUv@7Y_r9
-&
-d~y}QB%4p<9J/^㯛fMw$e}b KtN%;qjhUBL"޼oLӿ-@#|>S;M
-~V2'DTRku'j6YYWT[%s} {̰ꀲ)l /ס|Bblu_p{M!8]4\?\-FH2vtͽhǠ*zD 8Ǒ7 ,? ]
+xڽYKsW(e% $R=l%ڜ6W` rHtdZMTI
+1SQg}Os×]AwF|sp~432dfΒ Ǵ DTL9wk<0L[T"Sӊy)`ѯ~
+o3ES+c5Jxs*(8BB:w
+ƋjSVv.H:'@xA<3RZ͸
+zkxÂ#E'Zva/4AH4'
+.T[Jx+{CD OD"bB'F+KVGa )K!~^>I!f2?  d.KuTʩm\,0[`76^Z<^Lz }6_
+$p"8r\ڌBj8t*A
+P +xY VZxk"'yENi&.pRn5Tc%acqXS
+1v&/O;_>m% !E(D9M; V&
+e#j3jT`2" J
+^!g+ }!>04p-)nRP
+=(},]06
+I3FQR[:ǺmܦN<idA̋ u.q ~]Ԅ$=03aq]D]F{ғ`Ç~hNe"$5}YIT=5>}ɍe)tܤ'PPTxE1&?J"5"Tp%D⊲B$4#1T@e73p^44ܪNC5TWPJ3L}PC54W(1/*R - ? 03fU, B5g8es %\@}  tLHX~lhyS^
+@ lޢ%R'),$@2tkm^M崸WA5վ9-8ٿvO~A$qk\"Gd}]/g
+
endstream
endobj
-532 0 obj
+548 0 obj
<<
/Type /Page
-/Contents 533 0 R
-/Resources 531 0 R
+/Contents 549 0 R
+/Resources 547 0 R
/MediaBox [0 0 612 792]
-/Parent 518 0 R
+/Parent 529 0 R
>>
endobj
-534 0 obj
+550 0 obj
<<
-/D [532 0 R /XYZ 132.768 705.06 null]
+/D [548 0 R /XYZ 132.768 705.06 null]
>>
endobj
-531 0 obj
+194 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F78 407 0 R /F65 250 0 R >>
+/D [548 0 R /XYZ 133.768 435.101 null]
+>>
+endobj
+547 0 obj
+<<
+/Font << /F37 251 0 R /F55 368 0 R /F58 350 0 R /F62 480 0 R /F65 258 0 R /F53 252 0 R /F61 369 0 R /F67 298 0 R /F68 299 0 R /F78 417 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-538 0 obj
+554 0 obj
<<
-/Length 3642
+/Length 3152
/Filter /FlateDecode
>>
stream
-xڥkF;܇ {<4qu!E+\Wc[d$uO^ށM_v神~n~์g)KгKbt3!f*؞uW|)uG:Ȋi4iЩڽi~.`\өjKmի"/wneAțd0e{SvgGr14eqmC&.ݱ%,i[ DA(/V/G@G-Ox:4v\qvM6hVsl1ptCy4pk\lƃjۃJ=/Eă=|MWlhPc6; cxe!c&Uy} whBYNER!8h+7oD̒$!ELTU}Ⱥ'9
-TO'͚}u*64qepX{X
-_=Lq/2Mv:lueٜJDZ]v^ h5^-4Vn϶>{`U(|s7Gq汷"TLL\X?B2 2OE8,ebO3L0r."΁é !ҮscD><gȮfJˎ<,
-Y{l E"K|"0Mљ2X{eu<a݌aV# d;ήH! xtu (+Q>xj[[ZHpQSV}_UY3g`XڮTZ +؂ȂŸN@ PlqQ"\Z:V5(LY08Zdra)Py>Et{Ә#+biNЂ 18hu*Uay[W [V5v'YFk>݁
-Yb95F^W?R4M,_].T2.Sxl!/E`অV@CShbaiO(zY>g)XT|9bU$GLI}ʼn:K7:㰷yw*Cl{Ɵ_|P~I=?a!y8s9~ KWCj;Nb,\|Ji$wC^ sC_), @]׎g*TV_^z+(C4|#Eo$
-zfFNU`w*h]I#ECm})+s"y_pq2\eTl5O /mb곷6r8<Q_'tX" [Lw-%D_
-18Ld vFNd"Da!g 'dj
-H`Jh vl
-gHѺB6OT mk̃DC䝎U3-2^, rNln
-K&0h,T4 DCĈҟ~)C0D |?뻿p M'68b`$uJlgA *SzkX@lsl\m>s~YgܛICGwkV7EQxjT,ŹmSa TИz<hNG[ٟy<Sb {y%\Kf4=f5vN|hm*Ƣu&c>dcaa!]=Av fO#kr[>;Ԣz[x ޫF}`UXER\EoWkk:\7lX[.%WeԤ[)۳1`n}M83Ȗd= ?+fyI?E7=:^ PY? XAC!ʂ[ErW%C,i6 f
-&eCbCu5DYQۘ@\I8DsyT)uOr
-l㸳"Zɴn‘uצ,9q*4C5qg.]52ȖVDllթb꺪TrK]ցU¶N}Co;S^4P1DW:yU7G^},|EhE}*Lh
- cլbM=h)zߴׅ3'M-|1OYGX5~~Uo^Wo&$6$`K 1S6$4+69R bQp
-A͘8䔘v±g |0h#{|,5q8ק7B?p@dOOü%hfɎ8`қ|=Q߻0N)K&fOMQ#H@KS0
+xk۶
+SIi.wg7vwʓ(5EIg7],}
+v݂/~<˳g/],e.R"6Ieū.WZhS̕ʛZ-nnO26Enre~Vd˕L"xMW&Ϻl<FvUJ7mw|}gk%KIq781XhQV)sU;+Fy\ikE[sPn WVm?6)qt*})vETDOÛ,itEE RDNa DS5lGm]D?c!=e hPI"*\\;?{aR{NB"5gVy{/ə[r&&dԢ:Pn䂃Io F
+iM]
+^(u:P ;7;R ۟3<@4̧-dhc<=;3=8壠6
+Ez#)}{=k# *Fzp W5.}{6搣xP3o3`f   lD*WEČ'i@g?\=Ck F1p}Hb}8{/6.na
endstream
endobj
-537 0 obj
+553 0 obj
<<
/Type /Page
-/Contents 538 0 R
-/Resources 536 0 R
+/Contents 554 0 R
+/Resources 552 0 R
/MediaBox [0 0 612 792]
-/Parent 518 0 R
-/Annots [ 535 0 R ]
+/Parent 561 0 R
+/Annots [ 551 0 R ]
>>
endobj
-535 0 obj
+551 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.459 512.106 255.92 524.32]
+/Rect [249.459 178.844 255.92 191.058]
/A << /S /GoTo /D (Hfootnote.1) >>
>>
endobj
-539 0 obj
+555 0 obj
<<
-/D [537 0 R /XYZ 132.768 705.06 null]
+/D [553 0 R /XYZ 132.768 705.06 null]
>>
endobj
-194 0 obj
+198 0 obj
<<
-/D [537 0 R /XYZ 133.768 605.492 null]
+/D [553 0 R /XYZ 133.768 272.23 null]
>>
endobj
-542 0 obj
+558 0 obj
<<
-/D [537 0 R /XYZ 149.011 188.171 null]
+/D [553 0 R /XYZ 149.011 138.182 null]
>>
endobj
-536 0 obj
+552 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F65 250 0 R /F67 290 0 R /F68 291 0 R /F120 540 0 R /F64 249 0 R /F61 359 0 R /F55 358 0 R /F58 340 0 R /F56 364 0 R /F123 541 0 R /F121 543 0 R /F124 544 0 R >>
+/Font << /F37 251 0 R /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F65 258 0 R /F78 417 0 R /F67 298 0 R /F68 299 0 R /F120 556 0 R /F64 257 0 R /F123 557 0 R /F121 559 0 R /F124 560 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-549 0 obj
+564 0 obj
<<
-/Length 2375
+/Length 2980
/Filter /FlateDecode
>>
stream
-xڵY[s۸~`] Ķf;d}Hם-yђ4s
- C#Mpb #Ma A<nPII6
-C(l& ΗLh!eg%w'#oG9}8Abr^ר%1ZX_Άs<)ONm!9R'L
-֧e^j-M dbK m-fRӆWi:1TcDI=ߐŒ|S>T|f^`cK@%`&&`:d`Tv(3@Qîʆ;H8O,%w7Kix<l
-/ §I?2E^vE;eOPڭ}8iVY?)ͮ򑨈ϡAdο=l.[?VG;jpâ+; -g"Fom@i:/o:k֎CYUn.myk|Bvhlܬl@&/ӓCEYH 7ak/Uv[ + jv5.KI͎] g9eϪPR$eln SIY޵}d$%bK!)<R[!H쭄|08$IR?f'/їXBvE dbH<0V,yAibnj XT0#4=L&F$'+ |YQ]dMv&=vGY3>2 4#=O
-d#f C{$'Tc(By
-G+a 8"O[H4M7mWg$d޸upXBWXű#nWٻW55]J׶M#I [/W@m>5 `c-bj)1>/r^%wolT<?>˒P_)Q ,羽$q-4 ϗJ.N^08:T:% .ArĥuE6Lں虾!R|GRrM]y% wӵ^L;v}"PE( zo6A"lWnpx R*ߗ}2a$V4f٠ŏ|iEw<@ "@Q9fХXa#>/gwL!&f]i^Q/9%pq0E;[h_ZL
-&r]Eqg( sT.!F?I"yǾHr;#Xj'Ge,neKJDz!<}soIg&
-p‰]uP7?΁@C4 +
-_"@GU|so>AEPPYmo¸íIpT P1ƍ ڄ+ s& X阣ǻ;Gu`Զ
-sxٷu<1C96o8(`f>ڵo[]c 2yIֺx{iiX(-a*["j
-U1n،*~y4uڪưvAQ,VLDeƺ
+xڵZY6~_CB9B`%vle=r\DXH)}
+aLG͛yT#e|zaSԕ&J"{k)F,֔DN4:zT4Z-ג(5iG1A@;&D_8V٫3AL->+0@όQD^H a:<$$<[n\N̫t}VMڨ;]3ň++!,6dToE{*u^:@0bG9W%2"u'ELۣ?N ^Պ㷟ZnpJ_'t($/'X *x[ߜR[UD*k)@mqAP{/yR6uS:r(̍tx
+Ś%698NQn{1a) |n܁uHmffkddk0l-6#B
+G"M8# }՗Pa4+:1pjY|tt0c_d
+ 
+R MnSCψz(z(z$ pא~1f ΏwsxOxt8GMO(꣙c K߷n0>
endstream
endobj
-548 0 obj
+563 0 obj
<<
/Type /Page
-/Contents 549 0 R
-/Resources 547 0 R
+/Contents 564 0 R
+/Resources 562 0 R
/MediaBox [0 0 612 792]
-/Parent 553 0 R
-/Annots [ 545 0 R 546 0 R ]
+/Parent 561 0 R
>>
endobj
-545 0 obj
+565 0 obj
+<<
+/D [563 0 R /XYZ 132.768 705.06 null]
+>>
+endobj
+202 0 obj
+<<
+/D [563 0 R /XYZ 133.768 181.468 null]
+>>
+endobj
+562 0 obj
+<<
+/Font << /F61 369 0 R /F37 251 0 R /F53 252 0 R /F58 350 0 R /F65 258 0 R /F64 257 0 R /F55 368 0 R /F56 374 0 R /F52 250 0 R /F68 299 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+570 0 obj
+<<
+/Length 2718
+/Filter /FlateDecode
+>>
+stream
+xZmo_
+8ȴEX$u;wfgIQ
+'Rr;pF|r3ᓿxOM<VD(ŜM'8&_M.TɦN?oX-өr&Y/r묡QgUK7rU<QVu4\'tJa쁋@Gf̈́ݒuGy350虰f2ye@XN
+["-ajE >$7LvTע}t 5,xISh|]M[4`hMN.ڂ ҭ&_o;zQw툕(tK([_~2`8#R*1 y%?`
+Enc01mzݒyܔq˗\(AJ7횖\o:u@xWz:o0
+dYU%: 09\5:挆a Q;F42}Hguv9"Y BD0yL<wךooBHz4kdeV}QB:}z!fcH
+6aEW=-+m]yMuyU>.\jSmJlG;&t<\  'b#1U&~E71tiJO7!#A>T8[f՞`(Ґ4F2ՇfYTźȖEQ]
+Bx*h&y{~y!2a០+Is3?UX ;FttP;"/rJh' sE2#fC$c d̽gP]2SK>TKl0@R\XRg3Y׼2kfn#L=55[^|5xW3ߡ'R}=_h δ.>
+?a>
+qzA_UKx4
+-䟣
+ٟy=ٯ.1:"=]XgU_T :cS.JH뎗
+W~( F&R/Xc}zDj!#0٧ӿ4v+E܆|0"dbX,D)i844ǦB j ?)iQSW:K."~Ӄ8-|Xc# uii@Ymv
+>cP#!cjnCWLr he-bE ^ϖg^z'E
+HXbi1V_6
+endstream
+endobj
+569 0 obj
+<<
+/Type /Page
+/Contents 570 0 R
+/Resources 568 0 R
+/MediaBox [0 0 612 792]
+/Parent 561 0 R
+/Annots [ 566 0 R 567 0 R ]
+>>
+endobj
+566 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.579 247.944 386.041 259.881]
+/Rect [379.579 511.069 386.041 523.006]
/A << /S /GoTo /D (Hfootnote.2) >>
>>
endobj
-546 0 obj
+567 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.164 235.989 214.887 246.782]
+/Rect [200.164 499.114 214.887 509.906]
/A << /S /GoTo /D (section.2.2) >>
>>
endobj
-550 0 obj
+571 0 obj
<<
-/D [548 0 R /XYZ 132.768 705.06 null]
+/D [569 0 R /XYZ 132.768 705.06 null]
>>
endobj
-198 0 obj
+572 0 obj
<<
-/D [548 0 R /XYZ 133.768 472.495 null]
+/D [569 0 R /XYZ 133.768 311.93 null]
>>
endobj
-551 0 obj
+574 0 obj
<<
-/D [548 0 R /XYZ 149.011 151.71 null]
+/D [569 0 R /XYZ 133.768 226.941 null]
>>
endobj
-547 0 obj
+575 0 obj
<<
-/Font << /F55 358 0 R /F61 359 0 R /F58 340 0 R /F52 242 0 R /F68 291 0 R /F37 243 0 R /F53 244 0 R /F65 250 0 R /F64 249 0 R /F123 541 0 R /F121 543 0 R /F125 552 0 R >>
+/D [569 0 R /XYZ 149.011 147.646 null]
+>>
+endobj
+568 0 obj
+<<
+/Font << /F37 251 0 R /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F65 258 0 R /F64 257 0 R /F52 250 0 R /F126 573 0 R /F123 557 0 R /F121 559 0 R /F125 576 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-556 0 obj
+579 0 obj
<<
-/Length 2187
+/Length 1682
/Filter /FlateDecode
>>
stream
-xkoF857~69 鵸kH #m"R#ٝ%%t4!`ghv#8;zL.2&1f"ًG4AԄZD"KX9zzv6XƔ @BkMl6[8N~(1doq鈑EĕJ9p2qn+E=W5"(I,^'](
-7 P\\ŧMZaJg?!
-E%!aB4==.tgāM*=g$=%2ħSIY@gʁgpֱIggT3JU#g'8pqqgg! [ى*Rl> m~%W>ifZ&KL>e
-vo)0-B
-{8FI-?CuJ[ʿ҂qmW
-Zo?r:.WGдq켕B0p%aA~V)lV)
-|i6mc`V7HEFfգ\lٺjB=)\lYÎ̻r]u/Co6Ap}kDNgKuE޻o˵GC 3dň]H(O9%r],w/ngv¾2U0J~8 QBw,wT?>cKC(xqv<̚. zT5~xQʓ)?<B0"Hr=l7aDž2As
-o eQ4%*Fal?Yz]՗ KY~-dXUO*p9.N84qW(31y17yY5"77q}f$g Tz"@}cH
-
-Pfrԋ)V7O84 O$1 ޅdBҼK&B8L~E2EDiAtmjĚ% 0jybբqIŒ?GYwJg
-2YXJY F{X(
-_T
-u7[{]uϧ9`J:\9Lp'qCOY`B I\.n) sE,j7eԴb _CɄUrTOꃄFDLzh(o蓩:∵C~:lg?Ȃ- U%au[( ~UYErp*].wvP?{|>}\|8yt''xw{D<8t~annMhv>A(@+a#n1z:md1 0R":a!ڠj㈅Vd0'3RHQ4miamj~I6^
-޲J,"
-9H5puR&/"W9}3QQ`jzm5+'-{ۀ5C a5x
-"Uz/b{\N{j[QokxXpYAB <, 7É,YS8%h<M/Ldpʤխ$4,,}oz^awmؽ:C<(I6ݣmׇA%FMi[fVGhKP
+xڵX[F~WmRi)v`—vVPr̹78]͂/|[=zYbAlaΐgP>[mfzKLY?I+\^r2>/[f觸ǑV qʦ=_޾ZYN}N-Yi4w-%Y_<a6 &TGIbB@Ԑ\AX?
+D1Km~_DV"I0GxPAP(NP;L!a:% E՛qHA"Eq1N)%4!]8 Q۪P1" %(f6'9$ zӐ{EҶn[A"?e-a +aU]f$keјfKZTFe
+xŎ<)ps楐K[2{dR3ZӠ'i
+4P7Pf%c8 wGN ^uYcVUdsgq: Nq*< k6MGW|e)S4I}3\ P_;s3ڮ?L"*,zŽڠ
+EVF44?*? .㯒 pQ*[J
+k/𦆧EYz_5Klvg AVN!
+п"5 it*:鴀G˶'1,NzMoPSaT |#3{68FNS hW
endstream
endobj
-555 0 obj
+578 0 obj
<<
/Type /Page
-/Contents 556 0 R
-/Resources 554 0 R
+/Contents 579 0 R
+/Resources 577 0 R
/MediaBox [0 0 612 792]
-/Parent 553 0 R
->>
-endobj
-557 0 obj
-<<
-/D [555 0 R /XYZ 132.768 705.06 null]
+/Parent 561 0 R
>>
endobj
-558 0 obj
-<<
-/D [555 0 R /XYZ 133.768 562.466 null]
->>
-endobj
-560 0 obj
+580 0 obj
<<
-/D [555 0 R /XYZ 133.768 472.809 null]
+/D [578 0 R /XYZ 132.768 705.06 null]
>>
endobj
-202 0 obj
+206 0 obj
<<
-/D [555 0 R /XYZ 133.768 297.564 null]
+/D [578 0 R /XYZ 133.768 573.646 null]
>>
endobj
-206 0 obj
+210 0 obj
<<
-/D [555 0 R /XYZ 133.768 242.763 null]
+/D [578 0 R /XYZ 133.768 518.845 null]
>>
endobj
-554 0 obj
+577 0 obj
<<
-/Font << /F55 358 0 R /F61 359 0 R /F58 340 0 R /F37 243 0 R /F52 242 0 R /F65 250 0 R /F53 244 0 R /F126 559 0 R /F64 249 0 R /F62 469 0 R /F56 364 0 R /F67 290 0 R >>
+/Font << /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F62 480 0 R /F56 374 0 R /F37 251 0 R /F67 298 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-563 0 obj
+583 0 obj
<<
-/Length 2058
+/Length 2101
/Filter /FlateDecode
>>
stream
-xYI6p}7-8 NzLKfr GɖL$|"v_ċz+9,T
-Dq.7 k<l^<elzu{T7WZИ.֔\;YWk7O?l~wn\K&Ek칵}ߗ40وUa7_;oeLp՜a6to_=kAI&J, ?"h3EBfWi
-Vd<=Z1q_JR1HC*<cr<V$ɇLO "d_~r=(l" m(({r!U V YE옿s1h 0NK2Qes\sΣ~T)aq T/N׵fWݾ56~gQE_|*v7/ـC<! S#n3KP~:$glfNr:Ty<)'KE;o1uAE }Wjfڙ? z\(فzWVP΅2Y;SWC2TupCUC$8:}:p2V&FtQjUfH|>2QA49_'x’~>dG5]=KϦ TK
-Wx|S( 7;\[SpMFFXiKg 4LTǐ4@Hmkhm Nӧ۩sbui|ʷ)B\C",vnc@X3Êe[pN^C9u3<Z08mH##SS򓥟İ˶u8Ԟ?x8v&%(T زWR<n)Xv ݕZ遲 E"KD9gKj>`<Lw8gFOܷ>09Ilm/,ƼCnpRCΦwpؖ-.PYcB0=ůI[#HZr菸G*
-~kcl%Sڔwrw\ʞ"ߖ[oxHsŹO(lN{+)ۦQI&1v$K4߹Ԇ=8,!>IA[2J5l%6Kh=
-X¡y2]E
- +)[2 +l!$YNU@'1{J7Y~1 R'}gK-Uig|=
+xnFP9P VVU L&C0=*[I!)/0^(ӝ(H|Q-޾tr;__^A%6f”$J.r9J>2!CV|3+TQe6eֹ&ɜ1bU|xմ._gl,m[}nk|KD+/ޭajjkab.W !o^:HxIx|@@qj,h
+0 nT*7b ͛\J\OBX: xm 3(Ń_7yLXDw'XІma{du]Wo[dk{!zN.u4yҨQ74&ʍ)9|_UHj
+upֶ
+ %MKV
+ eMY lӂ}[<][2:c҆ M~IJ@G ns:< 7Y`VDgM40@`4x ƻ.7z>k"@SX`{|`ճB~@!7Pec lظM;ચ4<, c@G05" rHLP z_/PR!kpAn_d9H/B}r.yuG+9曥Wi!Gʨ&z
+5jÊ:|\Hr l!L堎6'iLr9$WDqw
+Eyxw7TY ظP=#ۣei}VS`,
+X_.>ď f? +CkCaޟOދ6goGp:d+
++N ~L]lBΒc%|)7淸1q1 x)JR.el1p'a ߎSckƾĢs)EXY>psWv|C03C3EFquKMR+)S,;:1:33FOp&1iNgN;w
+&Q'{Nc# d>|}  ux`ZfvU ғXʾ_BL3^t!O){CįcPM]F7wZ|;3
endstream
endobj
-562 0 obj
+582 0 obj
<<
/Type /Page
-/Contents 563 0 R
-/Resources 561 0 R
+/Contents 583 0 R
+/Resources 581 0 R
/MediaBox [0 0 612 792]
-/Parent 553 0 R
+/Parent 561 0 R
>>
endobj
-564 0 obj
+584 0 obj
<<
-/D [562 0 R /XYZ 132.768 705.06 null]
+/D [582 0 R /XYZ 132.768 705.06 null]
>>
endobj
-210 0 obj
+214 0 obj
<<
-/D [562 0 R /XYZ 133.768 233.339 null]
+/D [582 0 R /XYZ 133.768 513.836 null]
>>
endobj
-561 0 obj
+581 0 obj
<<
-/Font << /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F37 243 0 R /F126 559 0 R /F65 250 0 R /F67 290 0 R >>
+/Font << /F53 252 0 R /F55 368 0 R /F61 369 0 R /F126 573 0 R /F37 251 0 R /F65 258 0 R /F67 298 0 R /F58 350 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-567 0 obj
+587 0 obj
<<
-/Length 1496
+/Length 2039
/Filter /FlateDecode
>>
stream
-xYKoFW !mHKhHEe.),;fڢcrvf8 p[xU # >Dp$M BjL 6fՇ`% F #$Io8 1b(alE8w4nM86NU@ /3d霰b8[}zHcĢ
-cVeQC./>mlQh_E'=tLO0_c6w_O.6 ~n0_qXX]Ȑ8Јbd( F?r^Q" ٙƂX/W/=q@  A`Mq0O+W1 b׍>pF!*!T ̋-K^UQYܜʡ-$t#FZlQS-JT:mi#􀶅%7ViD]+05쁇#ikrUBM[daޘ.;5z"GJxV1X3>sԖhtظl_zT#e\]{G%' "ʉH -Pk<'#B1n563g=(r3b^3>/ XqBN(.KJ Nd):N  Ͼ4pPB:NF8g Nީ渥iF}
-ZB}Yo([)(<Zl3;gӵҰ4kqOF[Mz\DYPe<jl |,>binܷOo0s֍{qXV<;!h6ibsw?zT$
+xYYoH~1c~db
+qm_;RƵ"L+EAi[D)בEH<LQV\ iX,Q Otg@KHcPfv.8qgZ:8 <wnD
+H͔Y v Tś?w&Ov8Toy˚^R
+twJ-
+'`bB8.N qrj!~h8ѩyڪ˅d(i?,tJsAt2hsD`R
+pi41IFð(Cu])hk3y.+d!G[aùR+ۼ\/_i^J8NGyvzOrnؤ :ǛbE6^kC5\_&r8a>n-ן}JUk lp?| yPfmzuzTm*AI)&S>GeSwqnhDE<*<!Gy;'~r
+'9:=HFœ
+Z5\ 94 +!Ia``uXYͼ.:^p.M!X9L4'B=Y<&8Α؈MDe'Ư9@Cʸ„Q d1nav94L
+JNڈmЈZš].M6Z3Xի*p? %
+mJ`][ZDLᏴoX(Kx (@,N9
endstream
endobj
-566 0 obj
+586 0 obj
<<
/Type /Page
-/Contents 567 0 R
-/Resources 565 0 R
+/Contents 587 0 R
+/Resources 585 0 R
/MediaBox [0 0 612 792]
-/Parent 553 0 R
+/Parent 561 0 R
>>
endobj
-568 0 obj
+588 0 obj
<<
-/D [566 0 R /XYZ 132.768 705.06 null]
+/D [586 0 R /XYZ 132.768 705.06 null]
>>
endobj
-565 0 obj
+218 0 obj
<<
-/Font << /F53 244 0 R /F55 358 0 R /F61 359 0 R /F58 340 0 R /F37 243 0 R >>
+/D [586 0 R /XYZ 133.768 264.143 null]
+>>
+endobj
+585 0 obj
+<<
+/Font << /F53 252 0 R /F55 368 0 R /F61 369 0 R /F58 350 0 R /F37 251 0 R /F67 298 0 R /F128 589 0 R /F64 257 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-571 0 obj
+592 0 obj
<<
-/Length 1274
+/Length 300
/Filter /FlateDecode
>>
stream
-xڍVKo8W2`|*ChYhؖ!ɉ }gH(=$y~3#<%4ן$41ax!\dIBr6ofTb @Y² &WwL*e-oQu>6}?J\Ml݄jjrد'trIS>f}*w@3@؀pZ<GɂP&c$S1f[wXO ɲ΀Ȫu!?QA(u
-K>S!l+YC@#ҵҁK ȷDzOx hϠ -O7>(OX$&F/kg?aVbTNik'k
+xej1>ER2Ĝ$)tS,
+bĩ^tA|&.B.w.ŖL:ϯ`4H+#yFIm,+l_Y1@ʇBf1"CB 2Y7z.( m!A~l~]
endstream
endobj
-570 0 obj
+591 0 obj
<<
/Type /Page
-/Contents 571 0 R
-/Resources 569 0 R
+/Contents 592 0 R
+/Resources 590 0 R
/MediaBox [0 0 612 792]
-/Parent 553 0 R
->>
-endobj
-572 0 obj
-<<
-/D [570 0 R /XYZ 132.768 705.06 null]
+/Parent 594 0 R
>>
endobj
-214 0 obj
+593 0 obj
<<
-/D [570 0 R /XYZ 133.768 593.26 null]
+/D [591 0 R /XYZ 132.768 705.06 null]
>>
endobj
-569 0 obj
+590 0 obj
<<
-/Font << /F37 243 0 R /F53 244 0 R /F67 290 0 R /F128 573 0 R /F64 249 0 R /F55 358 0 R /F61 359 0 R >>
+/Font << /F55 368 0 R /F61 369 0 R /F37 251 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-579 0 obj
+600 0 obj
<<
-/Length 1123
+/Length 1129
/Filter /FlateDecode
>>
stream
-xڽWMs6Ẅ́0dʹɭnq4YHJR.H5;^$zxpqod!BJf#՚|١2VSԛ)fD }ޤ9Y<
-Ť2 EJ&
-mu#(#;fVkE%mvMo%IYjdH@0i.ke1𴍏.$"J@Loۢ|lz6t95~B &GIR}JFѬ.BIϋP<k| AeQ{Y-@x!0*N_~\'`[~gjWc&D:d*H_|D8%Oݫ{"&UdG>/Ik5qX iŰd%8ꟗ (h2Q`S 4+=x#|mBvQ[
+xڽWMs6W΄0dʹɭnq4EYHJR.4;^D}x]r@8rq834YYv0d"_M6IT&_bY8IUƜP\mYe0]>OB1 DCmFCD
+~hЦ^uaUqrn:bc,ifF>ʶ*e,$ o)@;v2?l|>.]D˔!nY sj~F!RmHOcb~@ˢ,jPWjSȻhqz 8iHsq *⯈%0tL&tLb>D8%Oë;"YdK>/ 8̅QCbd-RwϘ
+lF1`75npd(N C<k+`X]amfXk<7cqԈ 8Ww\Ȁvmnh;I @{O#&je:r[[C!OL$ut0ֻl~g}xXڣ"`M@O]bo5s@)3,橛.Fa1Ќ6f ` LVQܩ
+q !R6nLD%N8Gba~/sj2p`7-9XvAxqhUvH2kOrjT9? $HPo;GǗ8*ŊSTg_cΆ+
+XqLXxM<><$OE%˘4r'EIt
endstream
endobj
-578 0 obj
+599 0 obj
<<
/Type /Page
-/Contents 579 0 R
-/Resources 577 0 R
+/Contents 600 0 R
+/Resources 598 0 R
/MediaBox [0 0 612 792]
-/Parent 553 0 R
-/Annots [ 574 0 R 575 0 R ]
+/Parent 594 0 R
+/Annots [ 595 0 R 596 0 R ]
>>
endobj
-574 0 obj
+595 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -3394,7 +3520,7 @@ endobj
/A << /S /GoTo /D (subsection.2.1.1) >>
>>
endobj
-575 0 obj
+596 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -3403,65 +3529,68 @@ endobj
/A << /S /GoTo /D (subsection.2.1.2) >>
>>
endobj
-580 0 obj
+601 0 obj
<<
-/D [578 0 R /XYZ 132.768 705.06 null]
+/D [599 0 R /XYZ 132.768 705.06 null]
>>
endobj
-218 0 obj
+222 0 obj
<<
-/D [578 0 R /XYZ 133.768 667.198 null]
+/D [599 0 R /XYZ 133.768 667.198 null]
>>
endobj
-222 0 obj
+226 0 obj
<<
-/D [578 0 R /XYZ 133.768 488.032 null]
+/D [599 0 R /XYZ 133.768 488.032 null]
>>
endobj
-226 0 obj
+230 0 obj
<<
-/D [578 0 R /XYZ 133.768 436.7 null]
+/D [599 0 R /XYZ 133.768 436.7 null]
>>
endobj
-581 0 obj
+602 0 obj
<<
-/D [578 0 R /XYZ 133.768 410.287 null]
+/D [599 0 R /XYZ 133.768 410.287 null]
>>
endobj
-582 0 obj
+603 0 obj
<<
-/D [578 0 R /XYZ 133.768 296.012 null]
+/D [599 0 R /XYZ 133.768 296.012 null]
>>
endobj
-577 0 obj
+598 0 obj
<<
-/Font << /F67 290 0 R /F68 291 0 R /F53 244 0 R /F52 242 0 R /F75 351 0 R /F76 352 0 R /F37 243 0 R >>
+/Font << /F67 298 0 R /F68 299 0 R /F53 252 0 R /F52 250 0 R /F75 361 0 R /F76 362 0 R /F37 251 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-587 0 obj
+608 0 obj
<<
-/Length 1403
+/Length 1420
/Filter /FlateDecode
>>
stream
-xXMFWͨGU*Wgo+6Y3 쀴vrIt~zGِͯ!b
-!9 %5f\zE_ǭQRɧ"(t讪I} _ݛ db&3PKnmQD)8@a#A;-"X[Gi55w~%2>hͰ ). ({ƂPmƒR(v]r,ZS+'3*URaֺyE&,VT9X^n %ژȿwMޣyb# )VQ'E~_^t:PD[ƱaJ}S` pΣ}U_ҝT<C}Tlr-лlQVBS=Ă!"41R*,F>ύRHEϒ˅V]Y RF\)c̡:y/g8Bb~z׳j%$L9u0a0ǡGdh\i R|rnk2tд`00kH\2صcLh!ڨjvK*f 0h{@JG1P ë+\R .$GMO)>oׯXu1QL+_+]mXٟy.
- R k^Wm<bLJz:.c\ !0b2<uc:%(΄ :?n H3Wנڲ4@Hڳj2(3O(HiRbC rh] BUFH@i.fDs&KV!@UĪBXݜк=u'~֘Ic{ΝX`&6mps67cS>Y>x#%e%8&pS|U\7eF'?:f=QV!LRUAdVr` xY
-]Q05t~Yz1ش:W"GNRmI
+xXɎF+f
+zz_ LA=M"9MJɉZUu- CYWɐV1nwr2HIvG5gaDWY)OnxP"ڕ!nk^}޽YM)o25vgg" !%
+LQ
+2,Jt(g5^n}>
+&Ncq&&r8bi._tU@pH б[aHioX+Orqr zESa'L іI.SM0.yە]vOP/TJBwY<4bKc4FLu ֆ?
+, iYLC4YsFO(Pp2wy:m7iUxoyZY '&p27_Xf:]T 3:ޭ٫W7ffp2<.6|6p FsvL{ ݢ;޺-\\P86Y~;0^u=%=/hD
+&hXuԄz/T
endstream
endobj
-586 0 obj
+607 0 obj
<<
/Type /Page
-/Contents 587 0 R
-/Resources 585 0 R
+/Contents 608 0 R
+/Resources 606 0 R
/MediaBox [0 0 612 792]
-/Parent 593 0 R
-/Annots [ 576 0 R 583 0 R 584 0 R ]
+/Parent 594 0 R
+/Annots [ 597 0 R 604 0 R 605 0 R ]
>>
endobj
-576 0 obj
+597 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -3470,77 +3599,79 @@ endobj
/A << /S /GoTo /D (subsection.2.1.3) >>
>>
endobj
-583 0 obj
+604 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.351 468.121 307.983 479.19]
+/Rect [291.351 456.166 307.983 467.235]
/A << /S /GoTo /D (section.2.2) >>
>>
endobj
-584 0 obj
+605 0 obj
<<
/Type /Annot
/Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.455 353.847 345.998 364.916]
+/Rect [320.455 341.892 345.998 352.961]
/A << /S /GoTo /D (subsection.2.2.1) >>
>>
endobj
-588 0 obj
+609 0 obj
<<
-/D [586 0 R /XYZ 132.768 705.06 null]
+/D [607 0 R /XYZ 132.768 705.06 null]
>>
endobj
-589 0 obj
+610 0 obj
<<
-/D [586 0 R /XYZ 133.768 669.191 null]
+/D [607 0 R /XYZ 133.768 669.191 null]
>>
endobj
-591 0 obj
+612 0 obj
<<
-/D [586 0 R /XYZ 133.768 483.185 null]
+/D [607 0 R /XYZ 133.768 471.23 null]
>>
endobj
-592 0 obj
+613 0 obj
<<
-/D [586 0 R /XYZ 133.768 368.91 null]
+/D [607 0 R /XYZ 133.768 356.955 null]
>>
endobj
-585 0 obj
+606 0 obj
<<
-/Font << /F52 242 0 R /F75 351 0 R /F76 352 0 R /F37 243 0 R /F130 590 0 R >>
+/Font << /F52 250 0 R /F75 361 0 R /F76 362 0 R /F37 251 0 R /F130 611 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-598 0 obj
+618 0 obj
<<
-/Length 1326
+/Length 1289
/Filter /FlateDecode
>>
stream
-xڵWM6WB*.I(H!HrZZd9ͯòn\,"of޼tz3#r1y-pBc RRc%Z}zdYeIJ$yds>0og.!Cof`a_1-{Z>GQð1Rpf--"Xg=5bBb2^?gZ"N+86).YӜe}Ls~"|RmL $)*Uwe*'s
-Ud
-Tu lF X?Iy?N(J>HI>4}r \dþv
-pA` Gۻn=;
-mo3]QV_n:~Q~ n* ?`6`aWwmNPx g8Ä3}J
-pVͦ(]%c/~@ ~1 PؠI(YIDcEZ7MU緕WI~I)T B"iLeKyQ"1$2;h$d
-"L:u~yiR!_9kV{J6B[›6ʔMٱ4<XS 33@g 1:j5RibNu]'4Lr3NYz4UNҦC }ف0k'4
-P~eOOU2D+7>.|7찃^?J̈́ U`li'}CS20Sdl-mYZ<ݴ%m3;E|dr$ts3aͮ sXg)& qG>LO`o? `RB>p^ f`Aq{ AP.y
+xڵWMoFWl/(P CZ @K+)*$e'.iQ$;m/ܝy3혠[D+ɐV1kD9ZƌKXɫU~lj͕Hb)7"YWum>6,]3ofTߢ30ư>` N=_.fIa
+F!<ϳ`#_Hc!/ R8 eDN; ˌIZW\}5` X& qS!6`' A}|<S
+R?A0*0esB9KdiM]k#f3 9, Jd#da,yS*W`1ɕ"kBTqyq㺪ȮÊUPP!<+y
+ns(S6<nda8aЌiWv TOx $2˪24~
+.o9/\
+oଫjOrο
+?=V&ÆDr}pӎ*z5aB`ka(a7O#
+PpW,ۺj߄9qI&0x.wUdۇ 
+p3)!9]Qv3qus8,_0tEwo\g8ɇ\CMἤXi`&NkqSCu*b^,~yGR?&;ލ.
+ ౱CΔ:ED
endstream
endobj
-597 0 obj
+617 0 obj
<<
/Type /Page
-/Contents 598 0 R
-/Resources 596 0 R
+/Contents 618 0 R
+/Resources 616 0 R
/MediaBox [0 0 612 792]
-/Parent 593 0 R
-/Annots [ 594 0 R 595 0 R ]
+/Parent 594 0 R
+/Annots [ 614 0 R 615 0 R ]
>>
endobj
-594 0 obj
+614 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -3549,7 +3680,7 @@ endobj
/A << /S /GoTo /D (section.2.5) >>
>>
endobj
-595 0 obj
+615 0 obj
<<
/Type /Annot
/Subtype /Link
@@ -3558,252 +3689,2345 @@ endobj
/A << /S /GoTo /D (section.2.4) >>
>>
endobj
-599 0 obj
+619 0 obj
<<
-/D [597 0 R /XYZ 132.768 705.06 null]
+/D [617 0 R /XYZ 132.768 705.06 null]
>>
endobj
-600 0 obj
+620 0 obj
<<
-/D [597 0 R /XYZ 133.768 669.191 null]
+/D [617 0 R /XYZ 133.768 669.191 null]
>>
endobj
-601 0 obj
+621 0 obj
<<
-/D [597 0 R /XYZ 133.768 519.051 null]
+/D [617 0 R /XYZ 133.768 519.051 null]
>>
endobj
-602 0 obj
+622 0 obj
<<
-/D [597 0 R /XYZ 133.768 321.09 null]
+/D [617 0 R /XYZ 133.768 333.045 null]
>>
endobj
-596 0 obj
+616 0 obj
<<
-/Font << /F52 242 0 R /F75 351 0 R /F76 352 0 R /F37 243 0 R /F53 244 0 R /F64 249 0 R >>
+/Font << /F52 250 0 R /F75 361 0 R /F76 362 0 R /F37 251 0 R /F53 252 0 R /F64 257 0 R >>
/ProcSet [ /PDF /Text ]
>>
endobj
-604 0 obj
+746 0 obj
+<<
+/Length 1489
+/Filter /FlateDecode
+>>
+stream
+xZMo6W7Ctb lE 4=㰑%CE)-K$=m83|q୽z_nn#!hLwAb/xw[vsK#/I580
+
+5ziQ\I둦O(UelFb
+_\EAm00~<a߲Nʝ;Vt_]4]m4A
+)Ê}ć֧_~X>+k0f~&goa<G"XХmV&>/Kn
+~rZ/]O^--c#k8֒9_9y[
+endstream
+endobj
+745 0 obj
+<<
+/Type /Page
+/Contents 746 0 R
+/Resources 744 0 R
+/MediaBox [0 0 612 792]
+/Parent 594 0 R
+/Annots [ 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R 633 0 R 634 0 R 635 0 R 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 671 0 R 672 0 R 673 0 R 674 0 R 675 0 R 676 0 R 677 0 R 678 0 R 679 0 R 680 0 R 681 0 R 682 0 R 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R 708 0 R 709 0 R 710 0 R 711 0 R 712 0 R 713 0 R 714 0 R 715 0 R 716 0 R 717 0 R 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R 723 0 R 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R 737 0 R ]
+>>
+endobj
+623 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.33 525.729 159.538 533.394]
+/A << /S /GoTo /D (page.41) >>
+>>
+endobj
+624 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.154 525.729 173.361 533.394]
+/A << /S /GoTo /D (page.43) >>
+>>
+endobj
+625 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.404 512.777 206.612 522.989]
+/A << /S /GoTo /D (page.33) >>
+>>
+endobj
+626 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.642 502.067 210.85 511.98]
+/A << /S /GoTo /D (page.17) >>
+>>
+endobj
+627 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.111 490.859 211.319 501.071]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+628 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.526 471.183 220.734 481.395]
+/A << /S /GoTo /D (page.33) >>
+>>
+endobj
+629 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.574 460.224 187.782 470.436]
+/A << /S /GoTo /D (page.33) >>
+>>
+endobj
+630 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.574 449.514 183.175 458.924]
+/A << /S /GoTo /D (page.4) >>
+>>
+endobj
+631 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.814 449.514 198.022 458.924]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+632 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.661 449.514 212.869 458.924]
+/A << /S /GoTo /D (page.29) >>
+>>
+endobj
+633 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.508 449.514 227.716 458.924]
+/A << /S /GoTo /D (page.33) >>
+>>
+endobj
+634 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.16 429.589 178.368 439.247]
+/A << /S /GoTo /D (page.22) >>
+>>
+endobj
+635 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 420.623 173.66 428.288]
+/A << /S /GoTo /D (page.20) >>
+>>
+endobj
+636 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.276 420.623 187.484 428.288]
+/A << /S /GoTo /D (page.22) >>
+>>
+endobj
+637 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.867 407.671 183.075 417.33]
+/A << /S /GoTo /D (page.22) >>
+>>
+endobj
+638 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.69 407.671 196.898 417.33]
+/A << /S /GoTo /D (page.23) >>
+>>
+endobj
+639 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.867 398.705 183.075 406.371]
+/A << /S /GoTo /D (page.23) >>
+>>
+endobj
+640 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.69 398.705 196.898 406.371]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+641 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.867 385.753 183.075 395.412]
+/A << /S /GoTo /D (page.20) >>
+>>
+endobj
+642 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.69 385.753 196.898 395.412]
+/A << /S /GoTo /D (page.21) >>
+>>
+endobj
+643 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.111 365.084 211.319 374.047]
+/A << /S /GoTo /D (page.29) >>
+>>
+endobj
+644 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.818 354.125 216.026 363.088]
+/A << /S /GoTo /D (page.29) >>
+>>
+endobj
+645 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.745 343.91 168.953 351.576]
+/A << /S /GoTo /D (page.18) >>
+>>
+endobj
+646 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.568 343.91 182.776 351.576]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+647 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.68 332.951 209.28 341.121]
+/A << /S /GoTo /D (page.5) >>
+>>
+endobj
+648 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.2 321.993 246.408 330.162]
+/A << /S /GoTo /D (page.18) >>
+>>
+endobj
+649 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.985 309.29 251.193 319.203]
+/A << /S /GoTo /D (page.18) >>
+>>
+endobj
+650 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.808 309.29 265.016 319.203]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+651 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.402 300.075 243.61 308.244]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+652 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.225 300.075 257.433 308.244]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+653 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.888 289.116 233.096 297.285]
+/A << /S /GoTo /D (page.20) >>
+>>
+endobj
+654 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.711 289.116 246.919 297.285]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+655 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.811 276.164 198.019 285.823]
+/A << /S /GoTo /D (page.20) >>
+>>
+endobj
+656 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.634 276.164 211.842 285.823]
+/A << /S /GoTo /D (page.21) >>
+>>
+endobj
+657 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.223 265.455 234.431 275.367]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+658 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.107 254.496 251.315 264.408]
+/A << /S /GoTo /D (page.25) >>
+>>
+endobj
+659 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.955 254.496 266.163 264.408]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+660 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.778 254.496 279.986 264.408]
+/A << /S /GoTo /D (page.31) >>
+>>
+endobj
+661 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 243.288 173.66 252.946]
+/A << /S /GoTo /D (page.18) >>
+>>
+endobj
+662 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.276 243.288 187.484 252.946]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+663 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 232.329 173.66 241.987]
+/A << /S /GoTo /D (page.18) >>
+>>
+endobj
+664 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.276 232.329 187.484 241.987]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+665 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 221.37 173.66 231.028]
+/A << /S /GoTo /D (page.18) >>
+>>
+endobj
+666 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.276 221.37 187.484 231.028]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+667 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.867 212.403 183.075 220.069]
+/A << /S /GoTo /D (page.27) >>
+>>
+endobj
+668 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.16 199.701 178.368 209.11]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+669 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.007 199.701 193.215 209.11]
+/A << /S /GoTo /D (page.25) >>
+>>
+endobj
+670 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.83 199.701 207.038 209.11]
+/A << /S /GoTo /D (page.27) >>
+>>
+endobj
+671 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.846 188.742 195.054 198.151]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+672 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.553 177.783 199.761 187.193]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+673 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.401 177.783 214.609 187.193]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+674 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.745 168.568 168.953 176.234]
+/A << /S /GoTo /D (page.18) >>
+>>
+endobj
+675 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.568 168.568 182.776 176.234]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+676 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.378 147.148 207.978 157.061]
+/A << /S /GoTo /D (page.6) >>
+>>
+endobj
+677 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.618 147.148 222.826 157.061]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+678 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.723 137.933 191.931 146.102]
+/A << /S /GoTo /D (page.40) >>
+>>
+endobj
+679 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.547 137.933 205.755 146.102]
+/A << /S /GoTo /D (page.41) >>
+>>
+endobj
+680 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.495 118.257 199.095 125.922]
+/A << /S /GoTo /D (page.6) >>
+>>
+endobj
+681 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.833 523.985 388.041 533.394]
+/A << /S /GoTo /D (page.43) >>
+>>
+endobj
+682 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.658 503.861 338.866 513.27]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+683 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.505 503.861 353.713 513.27]
+/A << /S /GoTo /D (page.25) >>
+>>
+endobj
+684 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.352 503.861 368.56 513.27]
+/A << /S /GoTo /D (page.31) >>
+>>
+endobj
+685 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.073 492.902 348.281 502.311]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+686 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.92 492.902 363.128 502.311]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+687 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.546 483.686 392.754 491.856]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+688 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.501 470.984 370.709 480.897]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+689 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.348 470.984 385.556 480.897]
+/A << /S /GoTo /D (page.29) >>
+>>
+endobj
+690 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [429.398 460.025 440.606 469.938]
+/A << /S /GoTo /D (page.31) >>
+>>
+endobj
+691 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.692 439.851 432.9 448.02]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+692 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.515 439.851 446.723 448.02]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+693 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.673 428.892 399.881 437.061]
+/A << /S /GoTo /D (page.34) >>
+>>
+endobj
+694 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.496 428.892 413.704 437.061]
+/A << /S /GoTo /D (page.44) >>
+>>
+endobj
+695 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.871 416.189 396.079 425.599]
+/A << /S /GoTo /D (page.31) >>
+>>
+endobj
+696 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.695 416.189 409.902 425.599]
+/A << /S /GoTo /D (page.32) >>
+>>
+endobj
+697 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.122 406.974 418.33 415.143]
+/A << /S /GoTo /D (page.14) >>
+>>
+endobj
+698 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.945 406.974 432.153 415.143]
+/A << /S /GoTo /D (page.15) >>
+>>
+endobj
+699 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.845 396.015 416.053 404.184]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+700 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.668 396.015 429.876 404.184]
+/A << /S /GoTo /D (page.13) >>
+>>
+endobj
+701 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.224 385.056 358.432 393.225]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+702 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.047 385.056 372.255 393.225]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+703 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.69 372.354 420.898 382.266]
+/A << /S /GoTo /D (page.25) >>
+>>
+endobj
+704 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.513 372.354 434.721 382.266]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+705 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.673 350.436 399.881 360.349]
+/A << /S /GoTo /D (page.34) >>
+>>
+endobj
+706 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.496 350.436 413.704 360.349]
+/A << /S /GoTo /D (page.35) >>
+>>
+endobj
+707 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.343 350.436 428.551 360.349]
+/A << /S /GoTo /D (page.39) >>
+>>
+endobj
+708 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.845 341.22 416.053 349.39]
+/A << /S /GoTo /D (page.16) >>
+>>
+endobj
+709 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.668 341.22 429.876 349.39]
+/A << /S /GoTo /D (page.17) >>
+>>
+endobj
+710 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.171 328.02 453.379 338.979]
+/A << /S /GoTo /D (page.39) >>
+>>
+endobj
+711 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.917 317.559 432.125 327.472]
+/A << /S /GoTo /D (page.34) >>
+>>
+endobj
+712 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.74 317.559 445.948 327.472]
+/A << /S /GoTo /D (page.44) >>
+>>
+endobj
+713 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.979 306.6 392.187 316.513]
+/A << /S /GoTo /D (page.34) >>
+>>
+endobj
+714 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.802 306.6 406.01 316.513]
+/A << /S /GoTo /D (page.35) >>
+>>
+endobj
+715 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.65 306.6 420.858 316.513]
+/A << /S /GoTo /D (page.39) >>
+>>
+endobj
+716 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.525 295.641 444.733 305.554]
+/A << /S /GoTo /D (page.41) >>
+>>
+endobj
+717 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.349 295.641 458.557 305.554]
+/A << /S /GoTo /D (page.44) >>
+>>
+endobj
+718 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.565 284.682 411.165 294.595]
+/A << /S /GoTo /D (page.8) >>
+>>
+endobj
+719 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.315 275.467 414.523 283.636]
+/A << /S /GoTo /D (page.35) >>
+>>
+endobj
+720 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.138 275.467 428.346 283.636]
+/A << /S /GoTo /D (page.38) >>
+>>
+endobj
+721 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.015 262.765 393.223 272.677]
+/A << /S /GoTo /D (page.13) >>
+>>
+endobj
+722 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.862 262.765 408.07 272.677]
+/A << /S /GoTo /D (page.37) >>
+>>
+endobj
+723 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.685 262.765 421.893 272.677]
+/A << /S /GoTo /D (page.39) >>
+>>
+endobj
+724 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.902 220.722 367.11 230.132]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+725 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.749 220.722 381.957 230.132]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+726 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.853 209.514 400.061 219.726]
+/A << /S /GoTo /D (page.29) >>
+>>
+endobj
+727 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.853 189.39 400.061 199.601]
+/A << /S /GoTo /D (page.29) >>
+>>
+endobj
+728 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.365 169.514 343.573 178.924]
+/A << /S /GoTo /D (page.42) >>
+>>
+endobj
+729 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.212 169.514 358.42 178.924]
+/A << /S /GoTo /D (page.43) >>
+>>
+endobj
+730 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.365 160.299 343.573 167.965]
+/A << /S /GoTo /D (page.42) >>
+>>
+endobj
+731 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.26 147.597 413.468 157.509]
+/A << /S /GoTo /D (page.17) >>
+>>
+endobj
+732 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.107 147.597 428.315 157.509]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+733 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.931 147.597 442.139 157.509]
+/A << /S /GoTo /D (page.25) >>
+>>
+endobj
+734 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 147.597 456.986 157.509]
+/A << /S /GoTo /D (page.39) >>
+>>
+endobj
+735 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.165 138.381 411.373 146.55]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+736 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.679 116.513 386.279 126.426]
+/A << /S /GoTo /D (page.6) >>
+>>
+endobj
+737 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.918 116.513 401.126 126.426]
+/A << /S /GoTo /D (page.25) >>
+>>
+endobj
+747 0 obj
+<<
+/D [745 0 R /XYZ 132.768 705.06 null]
+>>
+endobj
+234 0 obj
+<<
+/D [745 0 R /XYZ 133.768 667.198 null]
+>>
+endobj
+744 0 obj
+<<
+/Font << /F67 298 0 R /F76 362 0 R /F75 361 0 R /F131 748 0 R /F115 493 0 R /F37 251 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+855 0 obj
+<<
+/Length 1494
+/Filter /FlateDecode
+>>
+stream
+xڵZIF8WD)%#M@Fa`_*6Ulۗ2=ӳ-xSf!B]3`¬Ch_YSoHVy7~؈ǀ,jHG=_ *֏={&q#<4xwMh-]2( 1.;1V:AL#I8p䠖dᇡTw?a׮Rs!|n]6ߨ5L Z0C 0!Yg~TD%Ҿ#
+r($>fd#eCj^ቩ$.yC;#~-[ģ uBA3S xsdӔMYI8b* )Sh>nItbqdUw$&RCù c0| I+Jz
+f$Z e(M!ub2fQH
+c^cl8z|:\۴{A525~ĒZ aE3"hE+vUcؖSg|.
+0"do= 日/1 SF#㯣Ǘ׮(W&>
+뤋]9613;BQ^p y]31k1:_5hXv[(B$ nVA-"=;؉FGZZ9.Mb^i$<z䚂oqL>o`pҕ6ER_f
+endstream
+endobj
+854 0 obj
+<<
+/Type /Page
+/Contents 855 0 R
+/Resources 853 0 R
+/MediaBox [0 0 612 792]
+/Parent 594 0 R
+/Annots [ 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R 743 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R 763 0 R 764 0 R 765 0 R 766 0 R 767 0 R 768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R 774 0 R 775 0 R 776 0 R 777 0 R 778 0 R 779 0 R 780 0 R 781 0 R 782 0 R 783 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 801 0 R 802 0 R 803 0 R 804 0 R 805 0 R 806 0 R 807 0 R 808 0 R 809 0 R 810 0 R 811 0 R 812 0 R 813 0 R 814 0 R 815 0 R 816 0 R 817 0 R 818 0 R 819 0 R 820 0 R 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 845 0 R 846 0 R 847 0 R 848 0 R 849 0 R 850 0 R 851 0 R 852 0 R ]
+>>
+endobj
+738 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.404 654.496 202.004 664.458]
+/A << /S /GoTo /D (page.5) >>
+>>
+endobj
+739 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.643 654.496 212.243 664.458]
+/A << /S /GoTo /D (page.6) >>
+>>
+endobj
+740 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.603 643.537 188.811 652.946]
+/A << /S /GoTo /D (page.44) >>
+>>
+endobj
+741 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.926 632.08 219.134 643.039]
+/A << /S /GoTo /D (page.42) >>
+>>
+endobj
+742 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.449 611.407 245.657 621.32]
+/A << /S /GoTo /D (page.36) >>
+>>
+endobj
+743 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.272 611.407 259.48 621.32]
+/A << /S /GoTo /D (page.38) >>
+>>
+endobj
+749 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.275 600.448 221.875 610.361]
+/A << /S /GoTo /D (page.8) >>
+>>
+endobj
+750 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.33 579.775 159.538 588.687]
+/A << /S /GoTo /D (page.41) >>
+>>
+endobj
+751 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.154 579.775 173.361 588.687]
+/A << /S /GoTo /D (page.43) >>
+>>
+endobj
+752 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.16 557.858 178.368 567.516]
+/A << /S /GoTo /D (page.13) >>
+>>
+endobj
+753 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 548.892 173.66 556.557]
+/A << /S /GoTo /D (page.31) >>
+>>
+endobj
+754 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.276 548.892 187.484 556.557]
+/A << /S /GoTo /D (page.32) >>
+>>
+endobj
+755 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.574 535.94 187.782 545.599]
+/A << /S /GoTo /D (page.32) >>
+>>
+endobj
+756 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 526.974 173.66 534.64]
+/A << /S /GoTo /D (page.10) >>
+>>
+endobj
+757 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.276 526.974 187.484 534.64]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+758 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 514.271 173.66 523.681]
+/A << /S /GoTo /D (page.10) >>
+>>
+endobj
+759 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.3 514.271 188.507 523.681]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+760 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 503.313 173.66 512.722]
+/A << /S /GoTo /D (page.13) >>
+>>
+endobj
+761 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.3 503.313 188.507 512.722]
+/A << /S /GoTo /D (page.14) >>
+>>
+endobj
+762 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 494.097 169.053 501.763]
+/A << /S /GoTo /D (page.9) >>
+>>
+endobj
+763 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.668 494.097 182.876 501.763]
+/A << /S /GoTo /D (page.10) >>
+>>
+endobj
+764 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.16 483.138 178.368 490.804]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+765 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.983 483.138 192.191 490.804]
+/A << /S /GoTo /D (page.31) >>
+>>
+endobj
+766 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 472.179 173.66 479.845]
+/A << /S /GoTo /D (page.14) >>
+>>
+endobj
+767 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.276 472.179 187.484 479.845]
+/A << /S /GoTo /D (page.18) >>
+>>
+endobj
+768 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.574 459.228 187.782 468.886]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+769 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.398 459.228 201.606 468.886]
+/A << /S /GoTo /D (page.31) >>
+>>
+endobj
+770 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.867 448.269 183.075 457.927]
+/A << /S /GoTo /D (page.15) >>
+>>
+endobj
+771 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.452 439.303 173.66 446.968]
+/A << /S /GoTo /D (page.39) >>
+>>
+endobj
+772 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.276 439.303 187.484 446.968]
+/A << /S /GoTo /D (page.40) >>
+>>
+endobj
+773 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.585 426.6 205.185 436.513]
+/A << /S /GoTo /D (page.5) >>
+>>
+endobj
+774 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.824 426.6 220.032 436.513]
+/A << /S /GoTo /D (page.34) >>
+>>
+endobj
+775 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.212 417.385 204.42 425.554]
+/A << /S /GoTo /D (page.23) >>
+>>
+endobj
+776 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.035 417.385 218.243 425.554]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+777 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.072 406.426 209.28 414.595]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+778 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.895 406.426 223.103 414.595]
+/A << /S /GoTo /D (page.13) >>
+>>
+endobj
+779 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.913 393.225 235.121 404.184]
+/A << /S /GoTo /D (page.39) >>
+>>
+endobj
+780 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.736 393.225 248.944 404.184]
+/A << /S /GoTo /D (page.40) >>
+>>
+endobj
+781 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.946 382.765 203.154 392.174]
+/A << /S /GoTo /D (page.31) >>
+>>
+endobj
+782 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.769 382.765 216.977 392.174]
+/A << /S /GoTo /D (page.32) >>
+>>
+endobj
+783 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.11 373.549 194.71 381.719]
+/A << /S /GoTo /D (page.5) >>
+>>
+endobj
+784 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.652 362.59 212.86 370.76]
+/A << /S /GoTo /D (page.16) >>
+>>
+endobj
+785 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.475 362.59 226.683 370.76]
+/A << /S /GoTo /D (page.17) >>
+>>
+endobj
+786 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.2 351.631 241.8 359.801]
+/A << /S /GoTo /D (page.7) >>
+>>
+endobj
+787 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.985 338.929 246.585 348.842]
+/A << /S /GoTo /D (page.7) >>
+>>
+endobj
+788 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.2 338.929 255.801 348.842]
+/A << /S /GoTo /D (page.9) >>
+>>
+endobj
+789 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.802 327.97 278.01 337.883]
+/A << /S /GoTo /D (page.10) >>
+>>
+endobj
+790 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.625 327.97 291.833 337.883]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+791 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.257 317.011 226.465 326.924]
+/A << /S /GoTo /D (page.10) >>
+>>
+endobj
+792 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.185 306.052 223.393 315.965]
+/A << /S /GoTo /D (page.11) >>
+>>
+endobj
+793 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.008 306.052 237.216 315.965]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+794 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.855 306.052 252.063 315.965]
+/A << /S /GoTo /D (page.34) >>
+>>
+endobj
+795 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.678 306.052 265.886 315.965]
+/A << /S /GoTo /D (page.35) >>
+>>
+endobj
+796 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.559 284.134 199.767 294.047]
+/A << /S /GoTo /D (page.13) >>
+>>
+endobj
+797 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.721 273.176 225.929 283.088]
+/A << /S /GoTo /D (page.15) >>
+>>
+endobj
+798 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.568 273.176 240.776 283.088]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+799 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.831 263.96 229.039 272.13]
+/A << /S /GoTo /D (page.14) >>
+>>
+endobj
+800 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.655 263.96 242.863 272.13]
+/A << /S /GoTo /D (page.15) >>
+>>
+endobj
+801 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.745 253.001 164.345 260.667]
+/A << /S /GoTo /D (page.8) >>
+>>
+endobj
+802 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.073 654.247 348.281 663.905]
+/A << /S /GoTo /D (page.15) >>
+>>
+endobj
+803 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.92 654.247 363.128 663.905]
+/A << /S /GoTo /D (page.17) >>
+>>
+endobj
+804 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.767 654.247 377.975 663.905]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+805 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.614 654.247 392.822 663.905]
+/A << /S /GoTo /D (page.25) >>
+>>
+endobj
+806 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.461 654.247 407.669 663.905]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+807 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.487 645.28 357.695 652.946]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+808 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.31 645.28 371.518 652.946]
+/A << /S /GoTo /D (page.13) >>
+>>
+endobj
+809 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 632.329 348.38 641.987]
+/A << /S /GoTo /D (page.8) >>
+>>
+endobj
+810 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 621.37 348.38 631.028]
+/A << /S /GoTo /D (page.7) >>
+>>
+endobj
+811 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 610.411 348.38 620.069]
+/A << /S /GoTo /D (page.7) >>
+>>
+endobj
+812 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.262 599.701 343.862 609.614]
+/A << /S /GoTo /D (page.4) >>
+>>
+endobj
+813 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.501 599.701 358.709 609.614]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+814 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.324 599.701 372.532 609.614]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+815 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.299 590.486 362.507 598.655]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+816 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 579.527 352.988 587.193]
+/A << /S /GoTo /D (page.28) >>
+>>
+endobj
+817 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.603 579.527 366.811 587.193]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+818 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 568.568 352.988 576.234]
+/A << /S /GoTo /D (page.30) >>
+>>
+endobj
+819 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.603 568.568 366.811 576.234]
+/A << /S /GoTo /D (page.31) >>
+>>
+endobj
+820 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.073 557.609 343.673 565.275]
+/A << /S /GoTo /D (page.7) >>
+>>
+endobj
+821 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 546.65 352.988 554.316]
+/A << /S /GoTo /D (page.10) >>
+>>
+endobj
+822 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.603 546.65 366.811 554.316]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+823 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.172 523.736 407.38 533.649]
+/A << /S /GoTo /D (page.45) >>
+>>
+endobj
+824 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.268 512.777 478.476 522.69]
+/A << /S /GoTo /D (page.35) >>
+>>
+endobj
+825 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.661 501.818 447.261 511.731]
+/A << /S /GoTo /D (page.6) >>
+>>
+endobj
+826 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.9 501.818 462.108 511.731]
+/A << /S /GoTo /D (page.24) >>
+>>
+endobj
+827 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.487 490.859 357.695 500.822]
+/A << /S /GoTo /D (page.12) >>
+>>
+endobj
+828 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.334 490.859 372.542 500.822]
+/A << /S /GoTo /D (page.16) >>
+>>
+endobj
+829 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.182 490.859 387.389 500.822]
+/A << /S /GoTo /D (page.34) >>
+>>
+endobj
+830 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.029 490.859 402.237 500.822]
+/A << /S /GoTo /D (page.35) >>
+>>
+endobj
+831 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 479.651 352.988 489.31]
+/A << /S /GoTo /D (page.37) >>
+>>
+endobj
+832 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.603 479.651 366.811 489.31]
+/A << /S /GoTo /D (page.39) >>
+>>
+endobj
+833 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.317 468.692 376.525 478.904]
+/A << /S /GoTo /D (page.33) >>
+>>
+endobj
+834 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.688 449.514 369.896 457.18]
+/A << /S /GoTo /D (page.36) >>
+>>
+endobj
+835 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.512 449.514 383.72 457.18]
+/A << /S /GoTo /D (page.38) >>
+>>
+endobj
+836 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.062 436.812 425.27 446.725]
+/A << /S /GoTo /D (page.37) >>
+>>
+endobj
+837 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.218 416.638 382.426 424.807]
+/A << /S /GoTo /D (page.33) >>
+>>
+endobj
+838 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.314 403.935 381.914 413.848]
+/A << /S /GoTo /D (page.6) >>
+>>
+endobj
+839 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.553 403.935 396.761 413.848]
+/A << /S /GoTo /D (page.33) >>
+>>
+endobj
+840 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.731 394.72 384.331 402.889]
+/A << /S /GoTo /D (page.4) >>
+>>
+endobj
+841 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.457 371.059 390.665 380.971]
+/A << /S /GoTo /D (page.45) >>
+>>
+endobj
+842 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.087 359.913 418.295 370.012]
+/A << /S /GoTo /D (page.46) >>
+>>
+endobj
+843 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.313 339.925 363.521 348.095]
+/A << /S /GoTo /D (page.25) >>
+>>
+endobj
+844 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.136 339.925 377.344 348.095]
+/A << /S /GoTo /D (page.27) >>
+>>
+endobj
+845 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.15 328.966 387.358 337.136]
+/A << /S /GoTo /D (page.27) >>
+>>
+endobj
+846 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.487 305.803 357.695 315.462]
+/A << /S /GoTo /D (page.33) >>
+>>
+endobj
+847 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.073 296.837 348.281 304.503]
+/A << /S /GoTo /D (page.46) >>
+>>
+endobj
+848 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.587 274.919 415.188 283.088]
+/A << /S /GoTo /D (page.6) >>
+>>
+endobj
+849 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.931 261.719 460.531 272.677]
+/A << /S /GoTo /D (page.7) >>
+>>
+endobj
+850 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.708 261.719 475.916 272.677]
+/A << /S /GoTo /D (page.10) >>
+>>
+endobj
+851 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.025 251.258 343.233 260.667]
+/A << /S /GoTo /D (page.18) >>
+>>
+endobj
+852 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.872 251.258 358.08 260.667]
+/A << /S /GoTo /D (page.19) >>
+>>
+endobj
+856 0 obj
+<<
+/D [854 0 R /XYZ 132.768 705.06 null]
+>>
+endobj
+853 0 obj
+<<
+/Font << /F76 362 0 R /F75 361 0 R /F131 748 0 R /F123 557 0 R /F37 251 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+858 0 obj
+[524.7 472.2 472.2 524.7 472.2 314.8 472.2 524.7 314.8 314.8 472.2 262.3 839.5 577.2 524.7 524.7 472.2 432.9 419.8]
+endobj
+860 0 obj
[525]
endobj
-606 0 obj
+861 0 obj
[922.3]
endobj
-607 0 obj
-[536.1 536.1 813.9 813.9 500 319.5 433.8 833.3 500 833.3 758.3 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.5 666.7 708.3 277.8 472.2 694.5 541.7 875 708.3 736.1 638.9 736.1 645.8 555.6 680.6 687.5 666.7 944.4 666.7 666.7 611.1 288.9 500 288.9 555.6 666.7 277.8 480.6 516.7 444.5 516.7 444.5 305.6 500 516.7 238.9 266.7 488.9 238.9 794.5 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1]
-endobj
-608 0 obj
+862 0 obj
[493.7 548.6 493.7 329.2 493.7 548.6 329.2 329.2 493.7 274.3 877.8 603.5 548.6 548.6 493.7 452.6 438.9 356.6 576 493.7 713.2 494.8 521.2]
endobj
-609 0 obj
+863 0 obj
+[536.1 536.1 813.9 813.9 500 319.5 433.8 833.3 500 833.3 758.3 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.5 666.7 708.3 277.8 472.2 694.5 541.7 875 708.3 736.1 638.9 736.1 645.8 555.6 680.6 687.5 666.7 944.4 666.7 666.7 611.1 288.9 500 288.9 555.6 666.7 277.8 480.6 516.7 444.5 516.7 444.5 305.6 500 516.7 238.9 266.7 488.9 238.9 794.5 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1]
+endobj
+864 0 obj
[531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531 531.3 531.3 531 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3]
endobj
-610 0 obj
+865 0 obj
[531.3 1062.5 0 414.9 295.1 324.7 619.8 590.3 590.3 885.4 885.4 531.3 295.1 403.1 885.4 531.3 885.4 826.4 295.1 413.2 413.2 531.3 826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 826.4 826.4 826.4 501.8 826.4 795.9 752.1 767.4 811.1 722.6 693.1 833.5 795.9 382.6 545.5 825.4 663.5 972.9 795.9 826.4 722.6 826.4 781.6 590.3 767.4 795.9 795.9 1091 795.9 795.9 649.3 295.1 531.3 295.1 555.6 795.9 295.1 531.3 590.3 472.2 590.3 472.2 324.7 531.3 590.3 295.1 324.7 560.7 295.1 885.4 590.3 531.3 590.3 560.7 414.1 419.1 413.2 590.3 560.7 767.4 560.7 560.7]
endobj
-611 0 obj
-[611.1 611.1]
+866 0 obj
+[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 963 935.2 963 578.7 935.2 896.3]
endobj
-612 0 obj
+867 0 obj
[865.9]
endobj
-613 0 obj
+868 0 obj
[525]
endobj
-615 0 obj
+870 0 obj
[513.9 513.9 513.9 513.9]
endobj
-617 0 obj
-[799.4]
+872 0 obj
+[799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620]
endobj
-619 0 obj
-[892.9]
+874 0 obj
+[892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4]
endobj
-620 0 obj
-[736.1]
+875 0 obj
+[736.1 1083.3 736.1 749 1036.1 1037 996 1109.9 1007 867.4 1064 1110.4 626.7 772.9 1138.9 955.6 1284 1075.7 1047.5 875.4 1082.2 1030 856.3 832.3 943.9 827.8 1279.2 1112.9 824.3 943.1 597.2 597.2 597.2 1361.1 1361.1 597.2 774.4 633.3 649.4 739.7 677 684 700.6 827.6 533.6 588.2 758.1 480.3 1228 880.8]
endobj
-621 0 obj
+876 0 obj
[680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6]
endobj
-622 0 obj
+877 0 obj
[575 575 575 575 575 575 575 575]
endobj
-623 0 obj
+878 0 obj
[659]
endobj
-624 0 obj
+879 0 obj
[668 592.7 662 526.8 632.9 686.9 713.8 756 719.7 539.7 689.9 950 592.7 439.2 751.4 1138.9 1138.9 1138.9 1138.9 339.3 339.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 339.3 339.3 892.9 585.3 892.9 585.3 610.1 859.1 863.2 819.4 934.1 838.7 724.5 889.4 935.6 506.3 632 959.9 783.7 1089.4 904.9 868.9 727.3 899.7 860.6 701.5 674.8 778.2 674.6 1074.4 936.9 671.5 778.4 462.3 462.3 462.3 1138.9 1138.9 478.2 619.7 502.4 510.5 594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 361.3 1013.7 706.2 563.9 588.9 523.6 530.4 539.2 431.6 675.4 571.4 826.4 647.8]
endobj
-625 0 obj
+880 0 obj
[569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4]
endobj
-626 0 obj
+881 0 obj
[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 500 500 611.1 500 277.8 833.3]
endobj
-627 0 obj
+882 0 obj
[625 833.3 777.8 694.5 666.7 750 722.2 777.8 722.2 777.8 722.2 583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.5 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 472 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 472 277.8 500 277.8 277.8 500 555.6 444.5 555.6 444.5 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.5 388.9 555.6 527.8 722.2 527.8]
endobj
-628 0 obj
+883 0 obj
[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
endobj
-629 0 obj
-[599.6 571 571 856.4 856.4 513.9 285.5 387.5 856.4 513.9 856.4 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 799.4 799.4 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.4 571 742.3 770.7 770.7 1056.1 770.7 770.7 628.1 285.5 513.9 285.5 555.6 770.7 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.4 571 513.9 571 542.4 402 405.4 399.7 571 542.4 742.3 542.4 542.4 456.8]
+884 0 obj
+[513.9 1027.8 0 401.9 285.5 314 599.6 571 571 856.4 856.4 513.9 285.5 387.5 856.4 513.9 856.4 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 799.4 799.4 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.4 571 742.3 770.7 770.7 1056.1 770.7 770.7 628.1 285.5 513.9 285.5 555.6 770.7 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.4 571 513.9 571 542.4 402 405.4 399.7 571 542.4 742.3 542.4 542.4 456.8]
endobj
-630 0 obj
+885 0 obj
[517.7 444.4 405.9 437.5 496.5 469.4 353.9 576.2 583.3 602.6 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9 571.5 490.3]
endobj
-631 0 obj
-[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+886 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
endobj
-632 0 obj
+887 0 obj
[656.2 625 625 937.5 937.5 562.5 342.6 462.5 937.5 562.5 937.5 875 312.5 437.5 437.5 562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 894.4 875 894.4 531.2 875 849.5 799.7 812.5 862.2 738.4 707.2 884.2 879.6 419 581 880.7 675.9 1067.2 879.6 844.9 768.5 844.9 839.2 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 575 312.5 555.6 849.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.7 437.5 625 593.7 812.5 593.7 593.7 500]
endobj
-633 0 obj
+888 0 obj
[511.1 1022.2 0 408.5 306.7 306.7 613.3 562.2 587.8 881.7 894.4 511.1 306.7 400.7 817.8 500 817.8 766.7 306.7 408.9 408.9 511.1 766.7 306.7 357.8 306.7 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 511.1 306.7 306.7 777.8 766.7 777.8 511.1 766.7 743.4 703.9 715.6 755 678.4 652.8 773.6 743.4 385.5 525 768.9 627.2 896.7 743.4 766.7 678.4 766.7 729.5 562.2 715.6 743.4 743.4 998.9 743.4 743.4 613.3 306.7 500 306.7 555.6 743.4 306.7 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.5 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.5 463.9 485.6 408.9]
endobj
-634 0 obj
+889 0 obj
[569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 323.4 323.4 892.9 877 892.9 538.7 877 843.3 798.6 815.5 860.1 767.9 737.1 883.9 843.3 412.7 583.3 874 706.4 1027.8 843.3 877 767.9 877 829.4 631 815.5 843.3 843.3 1150.8 843.3 843.3 692.4 323.4 585.3 323.4 555.6 843.3 323.4 569.4 631 507.9 631 507.9 354.2 569.4 631 323.4 354.2 600.2 323.4 938.5 631 569.4 631 600.2 446.4 452.6 446.4]
endobj
-635 0 obj
+890 0 obj
[500 0 277.8 333.3 277.8 551.1 500 500 500 500 500 500 500 500 500 500 0 0 388.9 777.8 388.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 722.2 0 683.3 0 777.8 0 0 0 0 0 722.2 0 0 0 402.7 0 402.7 500 500 500 0 500 500 500 0 0 0 0 0 0 0 1000 500 611.1 0 0 500 0 305.6 0 0 0 0 0 0 0 0 0 0 555.6 166.7 611.1 611.1 500 500 444.5 444.5 397.8 1140 777.8]
endobj
-636 0 obj
+891 0 obj
[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
endobj
-637 0 obj
+892 0 obj
[500 1000 0 391.7 277.8 305.6 583.3 555.6 555.6 833.3 833.3 500 277.8 373.8 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 555.6 750 277.8 500 555.6 444.5 555.6 444.5 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.5 388.9 555.6 527.8 722.2 527.8 527.8 444.5 500 277.8 500 555.6 166.7 750 750 722.2 722.2 763.9 680.6 680.6 784.7 625 625 625 750 750 750 777.8 736.1 736.1 555.6 555.6 555.6 722.2 722.2 750 750 750 611.1 611.1 611.1 838.9 361.1 555.6 484]
endobj
-638 0 obj
+893 0 obj
[575 1150 0 449.7 319.5 351.4 670.8 638.9 638.9 958.3 958.3 575 350 481.5 958.3 575 958.3 894.4 319.5 447.2 447.2 575 894.4 319.5 383.3 319.5 575 575 575 575 575 575 575 575 575 575 575 319.5 319.5 894.4 894.4 894.4 543.1 894.4 869.4 818.1 830.6 881.9 755.6 723.6 904.2 900 436.1 594.5 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.5 575 319.5 555.6 869.4 319.5 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.5 351.4 607 319.5 958.3 638.9 575 638.9 607 473.6 453.6 447.2 638.9 607 830.6 607 607 511.1 575 319.5 575 555.6 191.7 869.4 869.4 830.6 830.6 881.9 755.6 755.6 904.2 691.7 691.7 691.7 900 900 900 863.9 862.5 862.5 638.9 638.9 638.9 800 800 884.7 884.7 869.4 702.8 702.8 702.8 987 436.1 638.9 695]
endobj
-639 0 obj
+894 0 obj
[380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 761.6 761.6 761.6 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.2 734 353.2 503 761.2 611.8 897.2 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 500 272 555.6 734 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2]
endobj
-640 0 obj
+895 0 obj
[514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514 514.6 514.6 514 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6]
endobj
-641 0 obj
+896 0 obj
<<
-/Length1 2446
-/Length2 28436
+/Length1 2432
+/Length2 28264
/Length3 0
-/Length 29863
+/Length 29699
/Filter /FlateDecode
>>
stream
-xڴuP_=g%; 08 .5{p ܂{gn}>}o<UC^Q^l
-b~'٫/X?˯@ZZ_9Gk\*/DW_pr/kYk_X^rXߏnb?G`'H/95jzh'=론gfm)kEk?W~@ 71W1oeJӧR2Xrn
-M8\  Om&yzkbԕG·
-EMED ]BIʕ&FeQ+8-YW<URw ~E:s<,|\4EJ(:veD8xKb7I )yb9G5:=`伨{곞"08>/EXҺ 幔`ОF
-Wr
-\ah-鯫UڪTv);OJ0] E6}늤|=Å?9S% {||`5/qAVXZ
-4&)<j; *ҴQEG
-
-$GLCD
-/
-햀PZZ0<ao28IFDXV1eU@H 0)Ѫ#Yy|`ivߏ@9ek! X,tx.QDĶIsT䧥:<l@ŵ/hdm0k>5@
-Q(⟛F1ە/潷ſQ
-#ʇ [miV)aG\eFc<9HtXjxiS=cyNr- Ci"=<
-1RW!ޫ"`!q0B|E"n#=ubFed(?N?gj
-nngYJR<§LyGfʼnSaoX}r _ékOv1x2S+(D4U={~ apvz'~MZ:, beN<n]\JD C|+FT_
-`^"eABFzso3IXexq|.uqSM:-(rqNm:,y4!
-'$kI [clPCVfCئm/8 7w&JWa
-)WXւ 8#c,;܁N+ g[X٥q!Yb5i40\ʌP {єP' օg{6U䒴|tSBcUjADbQ~זM\n5YJ׻ ֓N/yF*ṿK*Iz'EvS*>he@s~qχtn_!zlFHy9)^x:̟!kz}
-(Ҫ)e[([&7G}+tDZ[o,Cȋy*:!DYnLwIEJCTΖ">,\c* n8p]. Yq22u! E>d[oe=vȟd<"EPqH4x #;D3ѹ޻߷vy#,@9CI_Fz =&5h;l{ f@ SiC`
-po)E.8w^<dvAMg 8>!vŰ;$p*od]>}bEȷ]f2dH)jܣKmzOD̑|) 1.!>gq^!x_LԆ
-U&2LMDGR
-?1v'5?!ͰA5Fsl]]X: /%6p[KpȏE/AJg(IL1M~pB۔LA:}ŏ栯j&6^<)r)kjCmhDO-q9/f޵P jAbU ]%
-Bj0R~@VD-}5LtDyDbf=l+޺,z X|9r6R|)Oyq ^wƊeu U>#!OXg
-> Ds%5W+П[[l䃳{L8-. u/Ý5
-U]?jw2F (,<yzC'&fC\l ) Ss[\v:_[EUi1B. dUך&_qj <3l`I;!>-aW>+(_FD[ןɝ`9{;Ty1r}vkm
-أcTQB,·__ϔ.8G5V]q%*(EP >[D5*Oic0sK~^ӛA8dP<Ӏh6Kܾ.Jt[$xʡ^wtZ{"ΛZ
-)C|SI gIC*CboA0gj'qc9"v_0P?B}!gsoMN_nr/,€<e"QrK
-82Cz!Dx1<g[060B-8)O[1k:6l }Fj\bU8/hKړW,t
-x W2or /99I]ү/roaQ)0e6
-/
-\+Ŭx,3 x8J 0{P9Um~&
-`L>ENyCAgHM(s3_p|“kAjAAhX'E
-MCᷪTu2'7uw`gE]J^}N׵%RϾ5h~_k2Qꔊdu5f#6p@`9Yzd^ YDÉ0]A^0C8oM
-qW6=_Tϡ:8YVT|Y v>Yiw4r=G!\!4&՗!.DF19: 63,c{c.@_?\`w6CJQy̵#~֔0b))AaK\G⿬u%^kVQVT}J}->
-[#D4n۷.G:#mlu.DqeTh Àp&fӟ
-&TkF hs;_N1UbqQC͠=wJ
-"["%<0 8G0YcOa° XQ0ud{;(}welʪeo
-ccr#Doh-.or>3;k!w{8-| PYB/&i>0[4Q4]8r>zf OfHV*(QneE_3 kW!1Ca|~ȞaElH@NQef!bXD.'u?u1bϣUV>cCm!dj%q DxdR1JC jfʠ7F*Fǜ#K@LovpA'sƪzWcO,/?RJyvs6;Dl!u2H"Jxe<Aѻ
-%ū҆"+D %`,=5i _t\Twq <@$9k5vZc{9Ӿzwf"ЌCSfr}Kac\E@GrvY%,~AFI.2i\-W^R
- OgoضrZµ^-c-$x 2.`B>ܹrܴM.^y*U41$";fXjЀdEE&f'~(ճ!ig<nǸH
-u=F%chʙd;ɂo/1%*&pu]dFEt8O7T?rn?:]2:{ HX?rbene,y'e4&W|Vڱ6UBNIpfLO@J
-la_#b<X qh ۬eaSx=ʍ fQY&Ac.\)nr#/)mp7}.R=ѓ}l27WeyA̫2}"Qƍ # d]cmmJsu8_6oYX-َ3?r%lȓ7z8mn_ cdH~Hq.Jfmgsڄ`f/ޚq(,BP5=̬7[-~Eb&./u!dVU cg%JROD>}ُg4@P5Z:մ>)C>LԜ&FtriY'
-B~+'R Sj7Ĺ穫d=Cwϙyʈ&]݁qP6lH=*zIOr$>j jIDv+S
-
- ==Ϯow9'Lb=xjhgIgĵ[%Nte<;:r94V۴rPgeUZAy n^Tzm>-U&+<~gLn2IuJs)? 6 MTm.7Pf^̍ uxy!C!RlM8^2uE?|ɠ)\5뒉}3gU3={X2w䚼0zg^~5O]8
-Z災R~ܕY8v ciwsٱ'] jG+L+ Z(|c.m3K#催*6$Z:C6/@ğO"yM^аwOV#R]<<ϻU8b
-{rGBi1@!s[N}aPLƩ Jwg q~mPkN-)'_>M0MdѾKĨmtM!i4!6ClcG79bHw~07q3:
--jAD,F5A(̯(Ge =r%l+}F9;O5"/?=5>p),A_|ᥪPeW :O`.u@^/KV"6̳ Oվo>2
-;7I&DlՕд;ep]E$V3ŵxTBVwK_An]'fRݯ,1=_4ccnA# R4M<5K Yh>TDNL FS \h:Pv0S{ި>PM7PJ?̪Q+:ȩ*z}Tp ugb.^_&_FIDǭ;n3[21%EJC͑5{7 +xfC}>^Yr87A
-R0f{jJ_A豩(>Mѯ|eU%;`j?u@6B(ջ$;d*?W q[0h0&MWHy_ '*_f`c-1D7mZύri@ ! 5h {!L#m=n#/븻=.,/gѾZn\ +DPzwm>h7z-..]Wd*f^g(uFF=-XGoF)g Rhju+QvRB><3 )=fHҗu^l QauUάiK5>';\,8tr>#?t0gKZmN[0!M{˞TuƂ5l֢P3{k qj]KNb8=v`1I*[D˹NQ9RZPpVoĹU <ҹ
-DgVG~Aʙ1uV:ak4ٹ//nq>?&5]9G?ʶ)f@ {dDvbt *Z*7aPjc)O-9Ugb)V|oV"h9پ7)Ǻ}#0´xu{ަWtEO7 ύ`x ~"jv,A/-W{r&%B*nL2WQM1pE%8vs(Ro|/ az Onmixf㑻PZLYlvQC,,,f~Ub\WH}ATX:oxb̭蔍ƹ׆Ge+41n C5<ڃ9֌hU>GqB|Cp2IeQu҉0ETh̷)8np0BJpx܆Kҕͩ0Vʧ-E=һy Y5%?+MDQB&vEX8"rxo~oކP!w!lyw26xVŜ|8g ]:M!v5Va33*KWBQFͳA]=FhB &,] IcJkK5-mD̦N@.ܵX\wrФ>G,)Й}|0
-QSc%~Ҙo'|# ڇmFHx~]àZ'l-5!IO@C, Ox⩽Ίu7y1/#F^ZG@QE')`d^F[eu$ޏ{g|dxo˛p(:$2[_"]fT@ 7xoFsGOѴhk/P:Y^*Bfkpp.yBΫ0ݱʩ{}8ɘ)?j`ff@l6!\C1O3pEV( <9\>Wkd[1ehO.9gVQW@mB6VG"_,#QSU3kM[ť^:)k#je9ȴ`,dzi/ğjS4Fr6A쉅 +N?!EUa&-D;Vucl8p.ihiE8|7{[jwXh /WSfЋQ-`,-f:A|$kwKJ1Ƽ~
-/O9Ui͹JTEs~kCy&Do3:&`Ȓ$Xި]JO _\;D=(7d:5G~r:>G|+\r.wvՋp?:>KC 4z\Ӷ" 6|=#Z$=rV?Ԥ}.{aǍ4|
-ޏpMnۼR5Xjb9rz~MFL%&嗆+6j<U?f"4"]0ueJC=Ha*^tq*==g,_1Pgv .Ĩ]Odsmp xh#v? Ov# 3/:
-u/$
-]-LvgT}tw(e (Ct% p.+X _oϢ1\^DZ[|oVhQ9feD|g$ːR[ex,$ryp4kI&]3eoOUdp)͟M޼glƗ w߇7Ḳ1-$0&Su *@5e\h6ߕ]?Bǀ
-z l܈ho|CdMv;Kxk 59w@.tqxMgǻ]͙b3J sRnE1e i2RÇ$ {5vr/X4eӋIQڝ}ߎhD1wzk7zY?VV ~FTMO{{jVddvE p:Oo˱ڜ:,P8ٓ&"(=
-w?q@]ڈp<7
-% >G{Zc.z~9$_|`<1Lfw7_d|v˫{;^wJ69H^Ipy 5eqyUkp&4L<w,#<8N3@>ʙB_L뢧 N<xkUkcn;|?ND'Keyt((s2PijrO&d0(=MШ.ᢈJ|3^AU#E`ZK@S/P,FҴ ?nD0K@w@ b]~nh< p7q7VX*ƿy6Z/Ö#MݯG<f
-})q9<cC:KGj!jE:x؃{9
-:(Ȭ>!ne[դ IC?sv teJ9k :*Mq|#Zk' 6k+-(H5y3fc-^ƝDD}D}hѦ? 0#A%Sx&=!TR7ݯdZ1XyYn߷\qQB6 K4eQa j#}D2&tZ(_'=
- MVi&KOgd}"s9\VNfs$5*m /V+x.J#7*/mi`z&U&mͩA$-lb
-݅
-`7p I[Y)I,],
-N'[MP[WdJvP,9YDuOlK/h*@mjdui#dc'#Z^d6P.
-px*CyĩG\}
-K:Un9`H#Yi;>è
-e)yzD,bu@>ؚt L,ݬޢL,⨇j4tЬz-za"⏚#;|@8DL/EߩZQيCi'S'?|8A~;iضZbAgƦVz{ {UN W=^BȆԽ; efc OF9aZg؜RwPi
-F$VG@,hA>_~u\<؏òDN0M͔4GIABAujUN!9ago`׈ߨ< L2έ+6pۣo/ B:TO򦼷)摷fT-6]濬73pKɔY Ns
-9yvRMɐ|yyOXö'ɚ_9|E *@^D 9C\x5*灻<R+,BGbfPWHֆ
-33.n."'>oGUR9eƦET04ϰ+΃p;aZ(upP 0qU'P0%Aݧi|>izQB;j`xlM(  9vS%Ļvx`BЙQ 9ӸZl*m</[.w9[QvabǤϮETQ oM&[y= cķ0eyɋA-z]|';˄OhXMϫԛAyK,ON,C!ʡ#80bMʇCQۅI-K/%QJ
-ަу|PL?e!s.\Hgo}{|ݯYm㸍XTN໥ T`N҃mzhlfH}x/mpq[<lk5Xr h@;#$aהzgFRQ#i$uo-Bkכ-s"1 wGpHKY
-۟ӷpy]|jQS;kViB T}dE6^d O.1&.GV
-7`b h5 .Xz昂[tZN*FD{@|`T\PRʸgjƒ5-l;JN+ ߯fUx'5
-%S'
-XTEuγDװgld_?-,Q糇8OkپLj`-p%}F]p,dctQP:4 MY
-Ҵ"53ۤ$jh71%ws-eB Jdݰ3tvFcwfx^kaj*5!<Xu|Y-s_R]T`#b]m VYv2_F#8,1⽻bazV2h,sab# 2ǻKֻpa/*_Q ( w5/
-w˱;FSԏlςoi^ g+HU+Bl*vRgݷL[Ga)7' ~9!f2YUZ}c<G:J+7l4
-Ywk#VTZ-`žp'$_Ű" [8ɧ&8qejJ{駹?ޗÑ%O!7n{2OX׸ΉY&\U(rmYSдEiBXpVɢD {U,E&TXP}"ASvW K{0X6;xW07lbˇEdUq&S3$DZrCa ޽!h5&`8S A@zR SBiB+{Ff'|5u?f#Gm_^\Ln=F6q1B m@N׹%EKM&J6NH#W#~v{[
-R*AhƝi,1).P?=OʉO/O{fw+NO`'Ux^x
-WԴ*d#(w= rcum&#$ER[.BrmK"Gx"
-X5ɑL._wƣk$p<|=)|v*u%o6twL`5.,%%[}[KaVF6 @aLR'
-9,K5hȕx<uRedWqe$T%1&J8XǚRq]!9%]ŚNiԽ;Maǜg5~vM&VP_@+ltJ `~rWC1s {M"_(&AfnIWL0[&K:1A_CKFu9|}-9lrY8g,y{ p,݄3}B6!W5%8Vq.+$)e0WSw9W
-th~#S#ʼn0gBBxtVрֺˀ9&Ydxs<* PopWoǀ('po>ntm[juT1JYVȹ$@q-}TPA8!EҲi2RjZbI$ThV%x|룾0
-W/DKv3m++WnFE8@u1-4Ta 3B'Ak]T$!ݾ>
-ځ#p<s.tXgz?h[\XP 8k Ĉh=oZ!oҰW^5S]իv4G^}
-jmݢMk6:D!e<-1ȭt/ЦzӅbuCr%]g]iy%V%h/> )Y9hB,r?ul
-hYK-`ȚA {'if8,nrɓt_̂e1~.7a8DF&l{~V4Crϡ~au NV+oґb;ֶU>R+mPP9|)w׆R1">CX""E%uA6A }X
-pYE`8ň0
-jFM28+ϊq_cT)#jb8%=<76S<<0`4KZ`$D'M²~+yoe ≲=O,6k=I.­Z! Cv⛀WOQIEY4`}"s_H ׀#_3DvI(Ǹ|qn{F%;6vS
-'TBM$K
-|oIGOw~&m$>aL&q$seoa=<+xu nzQL\IuicHJ*ߎ&|x`cVX8Ubs4-DF**ir)OrAj*0<MV1ΝL=8
-(bjׇyi$Y/AJsTlIӨ<*,)M~f2}?/$7|X%y8[Og .
-_/v{G[&Ru,nخ]* vHF+e= xD[z.m1sr4]a|_HMF} +0Rj̧I\%JZlfP
-Y[J."eȨң6EW vzL&فOкEm/ !Ϩ/ܒU/fQלrIhSBVs)HvЈLځ%૰n)Jg;y@M]12Гh\Clr?7fx¬bc?<BZ
-Ɛ.*T A-ntvK͕!(&RRTiU@m̩rj7m~Ntܔy;]VyLydgV^@!6m2ܲyNV~%AN<in4mpL@1wt
-E-q:: CL ૿NF5%"`YR=繼KB$hg6r(G5)] F֗y'M4<U1l{8[GڻG;+/r*.a|۸̾N QA!$bkWw0qƇxo׶"d kg^ݡ#SAY'gONEQoEETu$ Eq*SUox[Orf ,' s;M+3)f㪄;3]V6Bw˰VR%b{[2Nر5nmZ 9QT21RYbB2vNcWZW%cEyZC5eKک$ ipTԪ)q]9>j|@sSm **hY Y}khU"3Sb9q
-Ӳbb킊"o]'ϡ
-!k4ִU }揷OV>ٲJҪEns
-s[_bC<!QQ7)WhH^+׸=fƶD>ZKJ
- קډ<#r٢4ฒͫ
-I~CT
-߼z-ʤZEs[./5͟nao=.Of,3#0jMOp̏qK,K'\z}PBftp/^_IѪS
-0/FFύjvvs}`st Qwȓ}t{jtT\c>Io2 x OK?jpylBΚ=js0}/7^#|b΢K`
-ˏGYnRTfyhe ys{HOG(`t A:sȺjI8g_ P ?gPb_  qEVT16t#–t_S[y 폦Sq_F۰2\Dz)PktzJxLheYr{%5 {Oˌ=TZޥFs(*/M)gEpّ᤹*;M?hF)CiSff?(| RX"=ԑqhRE[gNǮ=ƹR/4bĤRr5COwG۾`rԖO{
-~Kz#V7Q58Ov;xmژHmN@
+xڴeT6L#H 20twHHwwwwHwtH#/o{=_533)HTDLF I #3/@N^leaf[
+PiU%TTR*J4UELUM] .&
+
+
+Z1OW[-/+Y?Dv  _-cyeW-,Kz-Z5&
+xhWDW_pr/kYMdrW>JNܽ=N`+_&@' 7]׋Uϝ(͓P0p"665KuA?
+.m?dPC
+?d9Sy||d3/qFQ\|Jk-B S&Ϧ/tJh;({;rʢBd#nh679 A,r F{j[Oc},l0Qq[Xjc'S-Uh# ӕ2e.2#[%DO#uX9zsM_V:
+?hBuYո5ϳ5)h-)dIЀ Br DyXFv
+yz3@Rx~kwz
+|zV{~|qdp*TWW Zm8~+qC\oxYHE`['wd"5Q1y_YG
+UM1h{y}TWybKYVvjc1g4b6]W ?;+LExRg59MgkWveWG ~t`J!)YB~W1~h"MҞ@Ǻ]]7ȔI( 0:V@/9E e}e}A#%p hYfڭkvuzt(`/T0n?DJT h|b-q/+.BF [WS2Ӡ"b(RMu [
+Ssϒ&2R阁l:wtcV3Jg˄%H'  4R3-t10?~M\}2(Oǐ_Œ旕%nS_c!""J:بQqwbCsI
+iX|YN]oWUlAF8U
+ej&zcziԨGY (/wD A>ađxIvZBY'9
+e%+{^{
+
+&з_~<O?*~Kh ySMl0M(fNP7x O%E3D}{lcWvF6ЛtYOC0+wrr_iL[+1YQKO?Nj1uTQ0Zz\!K)+7o0鶭.JAlu:E9#<J
+P<":L4] :N 73uE|$hGJN|V5$~ѫ9$x_,~ưyϻ 5 >GyրRyt&4lM.s_?̝eXk J
+[Dqk6C69Aw(!<o{i,ɑr/3h-N@x#6܀!m"A.
+^$^K6,#lR)>NV#a{S/ʼn3o
+KrWC)kO'iv#S+qR(D"Ua}Ipv'>-:zl^Mbe.|n=\J CkF ^6'ՈU^H9:k>d|>j1`>"ewL Lh_$%8$FJm\@QHp0ԩej8̣ ybŵN)4xU(i_2NC?Bt؄Yb}OĻx۔xP\pz=vk/Oz#O+V[ ݹ' qQm,%,~?V"c }4 D5J;l-sf7@$:<MBMy1{)b"<(v&sx#OO(9,ÖMh7՜Ĥӊfrmb-NS
+夃t/r#<( Bpbxw//& ݀3\0A-K!ԟ7KMHi'0G,zǵrE\)g-Grr3.;M<ʐYF %~JX+Kڦvudxݺo2+u@YdB9V} +\LԯP@uu,(A4%|oY2w ䷳Y@iA
+πMLZ7,fpx93:6*sqݤ#ѠIkgxsTw!a3Xܰ*$GQ戞o}q L%HI?)GC3aZ4"ʛOrL>JrE5D|oQJ@vjv[[<ʛcO꜔ւ8#c,;܃* gZZۥjq#Yb7i4F3X%+sMp' g{u䒌BTSbcUJAD0PFPfkKj66̬YNi'B~$<axvfJ/FTA*b#ڣP\cNqtk6d] r^Nx?
+a 7 vvZjBWpnn]
+E bw]v-y1wq?SDf>1-W_.dё}nh68r1@DeZϟtDDklhč 9Sxckaj^žNә^\T,ήqU4zŶDP4zﳗ]-ey1%"G,.hs=iaaQKۊsjW +#BFV'+2&Q&KF*Mi;|c vڱ^ %M8}WcSxc:T]ASbBHZL܆
+U&:DELGRN;^ؒӳX uR{cWJ~[EZ <GġyN|ovus j۽Zޛd;yhI&PK4E] o* y]ǷcHVT%0ZhBR:hڡ˱gQTq0tqQ[5i}EdzevfVUkH5~_z<Kx ֙~ªߛ#ΔjU[_:̇j|Jccw>` #LZ}2at!A?6ֵ߆gɮSQ1lENYYz:t!:ǷMIH8 t0-?mX|Oj9iabś*6>HvF2Bh ][
+F$^[Z\W r>*7j)j`=<\<,f2"$>/˭a׊e<@b%A)mi|
+D@&
+~\>܌SX'L54\y~o|
+ $Rg.}ؗ6Y2:{8_GMX{mTqHs 2:p<~ +˓d{u`@BO$oyZۯ ~\p2j%&xo5)BpBBv4gMO/$19g8gD  z[87,c zPy)GIS;~͟_8|^FO
+[K$FoH]U+Doy_:'=ouDOhM쳻 4&sxUFqFTҞm'|ŏe ˂\+~I⺊Nwbi*/a}W5<VH5F;or`mb60RT{;kV_MIfpUrsI56M"=V\>n摰 aĔ_I7%g;s78崰Bb,2mᶲ[P747נAս?2UɎpa0 #z7kZ+RN ?-gZ.z OiLJ8Hc5ݣx+HB <3DgX
+bRNg$b̦+ '(IDPq4"[Ʋ˺q7]|{wa!hK(C v41Y3z}u> ^/Ufvw䐉zn$&k1 -\\GQv!&{Ӏ?'n:g@:Ez9Q9t!UK9]gƭD C&2A2&FP7>
+$b:~H-lv-'\ZٹWM"wT~ؽN ZO-0}K!+Ѣk"xL0J׸ =ڜ|MF#M8BMpi#7Op48
+8H㟰!94iN"QDIU uW[3~6~i|lRG2L1 Lm ,q%U NfR ElQOf 7<%oh,LlQ"5V_)gc@X nqj٣yg
+-Nm3)Ԛ
+=VUQk$}/Hz7GW.>L2ҹ :%d^d8Kw֯Ի{;(I<(pt/ ;|WKjjn\\|^#ae.lpt9.Aq2aIgX\b*B;8t=
+2L,ɫUW/'5 ZoKB/nĴ#x{pE''AcC&9.dJ)X s;w]&:ht<N0#O$9V7A҈kXrs9Q)Qmvɽw`myV}w|D*Ԧ;߱wR 0_е_qc$(B p n H2qu
+ޣdZ<F*R!^o Kg<5h!G\&9;|vZ'PJPpKkU.ll5dUh^//j Sm$YKh=蚙T'ZgT8soS/Ll{2=6B2lvkŝ P]LRj~LΆv>2l7_:E sCChM>h,C\/'aquAl>gxY>RD;[Č^꧂&?/~5 mBkGђ0a++CDhK$_|!E q%^kVUQR}J }->G3D,~۷.G:#u|y".L~ehTQZ+5M\ͦ/M~_X+X,:P+&0D_E7ZH*-HhVucNmZ/;1Rms_Q6M)(LP eV$i
+5$ snA Dr?a Ap4aUǜ2I?
+T(HdFKUEg
+k6$xi<C3)ϝ|qʄ&S݁qP6lH3"zEOr,1b fID~+CqJa\h<7#VhD{jYdԕ)بLyO3@k,cen-iZ&ulL.r @n}SCwAxJc&|>*L֟3Q|{ g V$m<[\NM9;|H<3s]Ri}/s=^v#fyr:6ADZ"<8
+$,I-&)Nynw\G;@ځ&Ai|܊m،˚w4A/|ķ(d]b2\m>|I|s
+|AAh科^o?߳dDik}PQir$ ]钒aKJ%4(90}MޒQqrm@4l\eBac
+&dL١z?seѭ
+C~ڍR} H,OνUDP|8R-N)aDn"չfWJ66R_3Myz_ybR9{p'mzNF6Jmc1r\iGb͌Ӝr*Ԓ ;jܠ!c.A u$UF^:RK.嵌TFl\qr5`XN_ >D]w*'
+j
+W ۭ !ak0JI:9}"f*AOJ\Ԟ?bg~
+RĆjg
+X&,}}O;8~7&@+k64b-(qfXab~n;kս nCI*_GmHXqZJ~ֱ*FgHs75 Z\#SC7t:]8TK2xy7Di5_脤#M7 {ECZUW}@%o;- VC^}jи-H|.Qzcdl~P2j?JϽ0~ bˁ"_X/2Z=¤!HS*QkP2O>d8yPR
+l-f/?kP]?3Kf"?c6wBipe4>uTxZT_yciJ&AVb"e
+d۹>Czߨ3 Kveu-D8\Ä2̔b0C}_fa՘`xc
+$ PQt!k$dY{4NՊ)m򿮋ʄ=f1ۻy*ȏ2=}ܫ6۝e:a_ጊ3J\ߣנTtd!ZYeJR@ @Ϛ-r0h7zMK3 NX
+5M K6DYhO+ɡGM#4 TQd[GTMᣢr׻Z~SGpa*)uE|KBǯ綈5RB{~"-UtIg&b+?Bϯ̅Ndj1OG+Z^9ohB/P5Jl~ө ("&}M)GUi598s=a;*p|<r#yq1k>V\VsN7g)5r܄Kx% VAO3LBX/g
+-H:N9*tXA38ph7[H%Jh`(Z{}wԥ3 ȥ~)K]ny$SWOtͥ?EzA=k(dfRz5Kr袰 ÷?ZNkp[) 2Iw&bg%y{/IM0`aÊrgoŴB1%KdiGEx({kä <A*})yPA3F*UJ<
+)R?,y5)q뜣ݓT]}^
+ NT|4~Mj}TE0DdPcǃ)"pj0d
+,nbLZv?9Q+PS\ZWMdpGqK.VB\uV;{{|'f}x>A/5ޗ%rIefǸr!Kz{Ctzz]jtD(A0*=f$|pg?E*;J]C?7 oi8cOA6¢L
+:; 1Q
+ׅ*@Үa.v&WU}svɪ%.$h4
+;S IW4Zi*Mb~/B6>&.kJχ=tc{FPHaZ4_Ъ '1l`AǕ +.r>gpu<1o6g|҃E4sy}sNȸs]Ԗt3N8>E[5Ӛ a ph킨oO$''.W ,J&ńC4y_PjG2ä~cNNy>논dr2yn%r*.A9v۫Qm|mhS_dyŧ$^}YݍjOU7?J[h^
+w0)f襷%raPd-uގ8b5o;YT/Y sS7)^SWPt43O0ض
+_f>Z|Mb ʀ{Ǡw] 7N\CQq|f'SeޛGGӼx^0ޮa#IZrԝ PK҃ۊiALn<H ;-MPcAHS 7@bYT0ku\׼'573 ӣx+8J$墬 l fBKg|97 rE
+l+}樋>4DSnI>5]ޣqj FDUnl*(_PSiZcr4ZqA1׫@cMf.~q?  :c$8MJ$^{Ǥŝq;"˥b0!wl>xU(0~"{I=IϭZ=L ta>#%i܋Lyp:r /J?~䗶QmݐR_PB:aj?$3v7B>P2a<0yKN_сGYKp SEڇbw𒿢K2ܨ I@\Ga+& P5[8~+E % OۂR:饏o|"X4wC t/&vǥCY$~'n l \xewM|_OKi(.y5(I!QG'zJ prd3 fFtB,+ 9_x\Pݱ4¸:Xc9( E h@OЏv EV!FXw^0G
+FHKϝb( TwHut}F聸) 7&!N51}%^F\-<:d[@kgOXqRS^;N5ۂC›P;qޤZ,Zg ?ssf jWK)@ؔW+&x!nc0*V^ί#kX;K!k-_"~[NAYR](N7YSϾOiF}})LDS?O5oyK_LAh< iṶ7'5ne UMj[䏥B;鉁D`谲wC%7k @el^}(bwJ\C.c`1$H] ?Zi{\^P-}Zª (=0v2-v؞W;Hn5+ *<[;;zBMU-S%
+gsqap*|[\AFuq&GgӘ;N"ǚxa,-\ xsV=aقӂ?<)s|4(ۀS#[j>lgʭӕ9y
+/?3<9kgs܁#Z`~JK6
+B,y vsWes0𒮲 x\5/WaՔ|q+D@i㻼sx3aĤWpVw>~naÚ'qb
+@`}ZJo zPL, SBSUҟ`tJkK2ʶkp܍*K
+!d-wrc/~ Aj\]|@Q6 f-HrUB,V a ݦtM%ר2˚Z/9B"7Sk%$RBB!tM3.Wzfḁ<~1y-"OQP|g9{\id7bf!0Z:[<RrջjާU@dVz}uJ_B(BT9aN$=oP/Xz(o<>kźK+!/LDy5<ÚwB[ߣO=0r 5{-h@B?"Uخ*
+kpd+`se$8_T0V3qBAѲf3
+d+,LPِp Qt%XW43h$;4Ch>A6 gֵѤ S^vŏl");^ Ŭɣu~3;>k93,[џmʘE 6LI$FǡOOioїܼ*@zD~mag<N
+ϚI{e|n E0L;VvE D K-syT)W~#gcw ;WUŕHWc6ܸzy_]]YP4ϸ(נ b4BX=ۋvxM@B۟B/It'ӤguxGжjߙ8Rg!e}:LzٌK3{m`ղ{[rv<`$+qRٹn*h$(e$ܶu=ͅ4,
+eoA#E|)DT*]$8xG(u/t"5i86zBU!9?aV
+
+c V?06pIbOKD6 ո?Hu+C")&g Hr{ iʕ d0T} Ej"\e_!E͍)_:݉:dn&fٺн{X;Q,]J4 tؔZٛ' neoHaAeX Ht0k$2Rl|az ޻1x6^{~M@cd_A\D
+J^z颃Ʀ8:=j
+$J EP~dFUCԷqk KirVm%W,1(eV1]a>IgŸb<Xx)vN|Ϝ Seu2sWvP AUz^LR3|gi[/SRCs :I*S{(J&WEqi߷J-&r-WiUÅ[1B!q$( 6F(hF#',ߟX՜$^-)xͳ*
+/Rl.,~0%<tέb MFä:~ *uc& V}iQ>`A!ɇ3w +M aὪ >B5hdƕ}ӶBPQ%e3kb5Yun,)8rcuN̋vCÔ 71]<3,og!d?->vS2=^MhS̬s5e T}{! qN7l \x톷m0~!xR?&ڋArDXd]\dWTgDѺ}(IoacߵiG^QvĽ@Z:%d L\7qEgN+NeE\(?h
++,g֋V5) f֔1bŃxdo!;!P[43i!imi1an,4kD˻{A?gXlm`v\Ÿ:0hB"R׬=P?t_"sxI_e(ҎPщ |PEV| ].E<]X%~KkZzpᛄxqY!Sh=69ܹ1<uvMt1uK};
+va~b9uVSmF* Z:2>7K#W]YV 
+ͺ ]N[ )yjX4@-{52N
+3
+uf{y>#jPGѬiawkNܧɕiw”,p lf
+Xn]'FJS0BL^ s wk++Rfɸ):8{Ɨ+iA2&GN @[L4*ތQ0U\- S-fP$P[zpzkvIZѢwpD3PKq7 !tVg? K^D*RH'&ၹ&_J>KX/@f3s_2SvR}'OQ_%;#Yt`kiL lm~M0^x5 (da#C`9H(\@ڷ!1! xRׁ>_N:/嚫[q"._U7?MW0_:W]iv8!Qm:{:_ Ҩ$'𻪷5''䷙M4bQ׾ҰQyu_A$1-{재)kbjV7R~ǫN'U~4MkJr_ ߑj_#
+-gY
+vw";>yEj4vBȎ UQ:
+{V NOBqrQ} F|qӏcKB~`y44
+P9h{}i??ϙyjt,N̓=[֐+B.^Q46/xd9L%DddNT27$!gkXï
+ҿ+d("髶x,2qNӮȐ`Hfش@^|*gt^wf#7c$oCRY nBP>4i00F/GJƒ)Ku[ 1E'qd_ji6w"h-Lh>G6‘ziX;EhB5N1|{&N™1APPӔA~tlB#\?Vo";J,}MS7;sp"C6_VDtv`؏rw,W lIC;Z<yF+`Uk}~XZ/Teq0t
+v`?*(fTF4OWYH,H*Vrj7$RqE**Z)"k#s0LShӆR<CT0/U%:(bjP d%/,푒`QAl`-W8onzY]nQ@t ζ8 n5o# *rnp†1lSU~eǕ'0%m/?1VT{e.CW^|"fu4b=YW-_p'K^1kIW23:ql^;U'BۭelMm0z04sS| IɵWZ@٭\ɩWVP˩0p?{U ~s'%Wg9BL^x[&h"%rrRcr(>5ǏOTk1Vm؉&h!2xc%Wl@xB'qK[vJ7ˍww7ƅް<Kf8%GB1NU s2d6}y9E8PüXžOs$<A4Yw/M- lykʼ(c @JCcG&*w#esb.jMLb/5{39·
+8ʼnQWQI_[IgAuIwĆؚy$Gx&|nf-YJ=6[6_yQX
+]Pme~gQ[@C5+ȟ8QfAqGS}hy
+=1< XRm'ˀ'uj[ژǬď"'(1'uV?</*Mey! db 쉴*L.7I5+YؓšMOtM +Ə5!ZC7gw4#"u*jYXjV'vf,cW D(Cq+kBu0kl<ʮeCU_he7)%_L4C#6wf8? p&K"g5xV坸?'PYЂɚ!nmݳb:u#*RevоeS'5":e1Cz+ v]WG7 [Υq<X ǃ;UM<LLy90t+>VR{D-L/E'ӇZCZ;{up#91Sg&[kv9|5y!2,GR #NZ#)O50rr]u'0ZQ9ޠrtnϬ=DqZ'0B0 E-[[Zh)C"cfJGN΄}kw]<fԀ'A1;$=nbl{hXK)+]̺~< } GjWPx;i8<n]vX!҂dK[
+;ds.R#M9-#dҪl77l:1qENCl<@7+?y(&{e=A)5J ϰ#"_/B+qIse\LA.&?*2{x?ZJm{B+0Fn)px W
+D"ILB{Yɲu
endstream
endobj
-642 0 obj
+897 0 obj
<<
/Type /FontDescriptor
-/FontName /HCMXQD+LMRoman10-Bold
+/FontName /DECJEJ+LMRoman10-Bold
/Flags 4
/FontBBox [-486 -295 1607 1133]
/Ascent 686
@@ -3812,11 +6036,11 @@ endobj
/ItalicAngle 0
/StemV 114
/XHeight 444
-/CharSet (/A/C/E/F/H/I/M/N/P/R/S/T/U/V/W/a/b/c/colon/comma/d/e/eight/endash/f/fi/five/four/g/h/hyphen/i/j/l/m/n/o/one/p/period/r/s/section/seven/six/t/three/two/u/v/w/x/y/zero)
-/FontFile 641 0 R
+/CharSet (/A/C/E/F/I/M/N/P/R/S/T/U/V/W/a/b/c/colon/comma/d/e/eight/endash/f/fi/five/four/g/h/hyphen/i/j/l/m/n/o/one/p/period/r/s/section/seven/six/t/three/two/u/v/w/x/y/zero)
+/FontFile 896 0 R
>>
endobj
-643 0 obj
+898 0 obj
<<
/Length1 2482
/Length2 28199
@@ -3946,7 +6170,7 @@ M?$^6B?OQs*zQhS>YOxgGtA`+Ye~{s$
(Z$w K'!WW,pS_(a9#V8cq8t,^10򷢽͆!Gj Nt62F
endstream
endobj
-644 0 obj
+899 0 obj
<<
/Type /FontDescriptor
/FontName /QVUVDT+LMRoman12-Bold
@@ -3959,10 +6183,10 @@ endobj
/StemV 109
/XHeight 444
/CharSet (/A/B/C/D/E/F/H/I/L/M/N/O/R/S/T/V/W/X/a/ampersand/b/c/colon/d/e/eight/f/ff/fi/five/four/g/h/hyphen/i/j/k/l/m/n/o/one/p/period/r/s/seven/six/slash/t/three/two/u/v/w/x/y/z)
-/FontFile 643 0 R
+/FontFile 898 0 R
>>
endobj
-645 0 obj
+900 0 obj
<<
/Length1 1618
/Length2 18213
@@ -4032,7 +6256,7 @@ Hs nFx޳t1ڈ
@hycc5(s!F2/բ Ϛt)7!4T5~&.|J,jO|Wt0j{2iX{jkZ͸kK"H+
endstream
endobj
-646 0 obj
+901 0 obj
<<
/Type /FontDescriptor
/FontName /AHPNOF+LMRoman8-Bold
@@ -4045,46 +6269,52 @@ endobj
/StemV 122
/XHeight 444
/CharSet (/A)
-/FontFile 645 0 R
+/FontFile 900 0 R
>>
endobj
-647 0 obj
+902 0 obj
<<
-/Length1 1978
-/Length2 5382
+/Length1 2057
+/Length2 6333
/Length3 0
-/Length 6610
+/Length 7606
/Filter /FlateDecode
>>
stream
-xڵVw<}Gee~ɖ3ٲ)9fVf22JvfL4а-!+~GSz?:u?q*;b4A
-zz0B:@!Fp'"
- 1O
-І9b<H
-E0n?
-T8Q M
-t(_?'C>vH<+#@ Q#!?uzZ&$E0A/O|jr
-* 8"$ғ.Zh&!@$D4p#?w_4(> .oo_g?-P!H/!ɿR)Pp@*K6֤Մ<ZnGvHupEx@'u_I8M,54D~:0H &)p871IIJ"#'
-7G:rfCz]n'e|**/_Qq1@TL4p - Gï}Nh|
-Z
-NͶhU¶ ,v/O'\n\Kp,"ۛtW8q^`H4GӋqv:u_ ЧM7 eg{9O0>L,{)"燐IMjN -p,gwm%cJZI1©ޏa5ĽvGWN]{6!L) מbHSY'43SG=M_rե=ПLXWZ˝˿WӲPugYȒ;lʬM=m4msQ]0h<xW̥8U<o`aTNAocU29.I5/~ZKY RQJk;-?.-ʽhW1@/51*<4;9Fhg ~X?02u4Ի7k#>t!F^gl;m,Z)|pӯaН%M9/yyy۱t&̼թzE,lT''9 c#3FP~0,RE[n7Oj>hoc鍆Om=:B><k0{4sgD-zK)7gBOvs#$9:loQ"gYz_ E})37}uSgm8j:^[kJǬCUژ,y= CU
-AFN*3 j3acVC7pyAM!$$HԉqNk;Bt~Y^W=% u[e_Q LV o̮~brU PGOٟ(aP;V;+7m )^]y"f;ܩ>@7n_%=P&9ŌLا{?]pc외:'kJ2t:O?pGꫯ]p7K&y|*a<ܥ[ٲ6jOl" '1O4MRf⳧KF=./>4}J-M6f:կQcilwzPDLC'q~ AA_ / ldH$*Em)_ }xyvl]c,!Էě (JI'nL~uF|k.wIbgҌid4
-闖Tړcr] 1Ȟ\j-ai2}5Y9:1w8RTYjow!t.04"lpk
-ƂK}D雜aYq~1g
- 7 NWj7oGʫze# js ;'M3c;|7o<*ĭGt+GdlFCAf-zR1S}ԭ*zIzgZa~eRů`;J{mj;HXѷAQPŰw,Su2).?n<i:{*O/vGRe k?^ ,93 ['
-q! Py4Ǽ,]O.G H TK[8rVS}hCs\Ɉ75ceK51l6MJm-
-[Lx 4!\'όeiF\kƥNH@r|ML;ƺONkw oXi!vGhx:b|zy`SJ4jS0brp/Ն4T*S{z): ,Yt@i.x24‚{c^]H|YY;<ӳ #t٬22y,`dU]iqKn57bM.;Q>oTdr<fz#-_.]_ jt"t1A*β}0!bUʖSCRe۔;M̾|9!X_q{AwB"rAͧyZϛFǏѨ1}aQ [ûWmYXÁ7ҕHfs*$k$IhJJ$gc$܀0BV펀(]BfvMOĨH{ƆلCfJw(!ϵǴދ)IŲ\t]o>mF<ķUӞ& <S9c'Wھ+w2[hy\uOOaBg۝X"Q tW*\MȨe0_ +)aa&1j69 yx;sbyѻުi~7/,N$393(=)gq3muY
-4Qmh?yܡ[2z\i#ho+]fAM(
-_&]S\N^a/QxSHń^qBqy)QdQ]nXƵēv}c#l M¶IWYEvGKťtxԻ%&(sũZ+ 9>~}[_k*ٗ\wI9P;΁̪\f{Jᖷ'-]wl4s0jE}'|"-O ~:s*d!<p*.6NgRD=B'Gti4U)Rî1.fJ-* |YBnV 8Q;O~8>YZ?fZsE gI%Mz0~i5x4yC)+k;N:, __lyRE8P/U=w9Ӽԥz JD9o醟pm nzAVRNTʙ|Scc&l|@Sg@=_nJQܾwmpa8`DKR(X8vMxqt"%*k8=i+)s(Cab?a:!sb,fPNJZ2 37`cih706
-zc2q--ѵCUSPF)NB2(/ @[F謎G1*߅L;&OZuUקsz?Uj݅]c6{)>S{.Rܻyp t_Z6jqK7, _1ݛN^PͻM2x~Z8-oSv*8cbS*d%t6c%D +r3iW_C- |Ov]`x! vssɾq"ksԵ(Zӯ7⟜&NWnQ_kuËJj㦅|y&۫isOB^ ^1hC1HGT7Z`Yq|sgk6DĜF60m5q3:9,.fBn&k4UIi~aw a_@%|+&E+9i(u맾&.(ذ%ȅi
-nQJg
-yr\3cazg4u).UpE!2v\* ~jOƮM_TY
+xڵuwTS5)CEz&]z ! I" (*"H/Rwi"{ݧ*sמ{NV#A%0cED
+!TAA@(
+@
+>.2ABD/
+ h/n\XfojX#
+ 儅<!I (W
+w$
+!*DLR
+ %!@X`!
+m)=X??4}VVFx bXH
+'UwμҀu&NGEQpkDbΓJt#
+qҞ͊\L1]q\D!`wIDh$ cjI0=|܁pv ͒Ow_uxm?%ۄĥ~\ !.I7X'y/SwՆ]ҝbg]Qiѥ]AL}&\}/ذLr[hIPAsD
+uQX4-MxCL͂^*y;+rꏫ5\87^W ziz5cjU;=-F*̓<Nttȃ9L2qdiO3ZP A?8ZSܿ5]$푓sGuŘC,*MctAenE_<N~kv4['ku^׷i˭ 5U~90~Īiyfŝ|ޔAwMbݺ[~OR2^YKh
+x2@U2MFi,7!O6߂XYN~i8|SwZ>Mc3D)g3Rda.%GGYУ,^U9i$h_2D2p1} G4+vHԶY^󲓷DZO-k>Pyl |תW\7xrP T/<q<]<[VL?mohz*\+q(sS,}\ҹINcTmu|{BLq>"5#RLEm^v
+=<oqMuLЂ^WX}B:\:*΄KMfnrXz嘓EޢHh\l2ʓ0t˂*V/2 WwԆ! mD[
+:b7?,(FzV*Uiy'(Ur_9+\v"Jڻ˖3S"ߞ5N/~6X>5fJ0 I\XЗCS!4/tڥ8b
+_{egv N`AT%@A% qDKİ4Sw9mѲYCkELXēًd7 D4M{q>Ck2xA/ch# !5&0jsKu_~CH
+U>lޟ]' i # GtDz`7͌kH_RZ)o•
+J/~/Mh*f <VU/m"]꼢n2~;N*FSV,kP0$Nn'n:V[Xp8,)3 #R`ؑ,l[3 ^$վaFSW"7W>pC|흸φZG? 8,eZ(Q-$ܳJ{|Pj 56YE bfciḱU+OnZU~BO$ĵW\IBRtQFTM L  JE-;۝vq7})l4*S}
+pnF\)8~i,^KDzqx%_,
+KP_ Fet%g:!(!U_Au㯚Bdq*є]`d/
+N#L1>xn/Vîml>kksgeLdڛ+*`,1+'sml-K*9"\iy
+'w~bz"X<s|@-l4—rwCz@FcNVߪ+7!f<ղA4 Ϊǫ:^_fu7W{]4WZht
+v$d_fjlWM/~KMtd#
+NgٚyE"Ǐ(tngJP'9a;-e+D#5bhd| j@giwR}&`.&<+U
+*c$i9T.MM׋Z#.1qY8#2Ι+Gʜ
+2‰ڇv\:"^wI/-0!WLYoİ?nHO4w(R!ͦM @ӮZ6 t2 ?uۨB]evh˄>uVPLJ)\*
+a8>o6zgMɬ S t[!_k*=-!H:so̓\ͫ!'iYW95lVL ( $I"C{xlW'z[O :Ϸ\ghBj~PTKO~~cӐ.pCK,?{}0B`n6uQc3?80]}Nf0 Ue_[KEKAQ 6
endstream
endobj
-648 0 obj
+903 0 obj
<<
/Type /FontDescriptor
-/FontName /TZXAFF+LMMathItalic10-Regular
+/FontName /CWEEHJ+LMMathItalic10-Regular
/Flags 4
/FontBBox [-32 -250 1048 750]
/Ascent 694
@@ -4093,33 +6323,32 @@ endobj
/ItalicAngle -14
/StemV 60
/XHeight 431
-/CharSet (/X/a/comma/e/epsilon/f/g/gamma/greater/k/m/n/period/pi/slash/t/theta/x/y)
-/FontFile 647 0 R
+/CharSet (/X/a/comma/e/epsilon/f/g/gamma/greater/k/less/m/n/p/period/phi/pi/q/r/slash/t/theta/x/y)
+/FontFile 902 0 R
>>
endobj
-649 0 obj
+904 0 obj
<<
-/Length1 1673
-/Length2 1240
+/Length1 1688
+/Length2 2177
/Length3 0
-/Length 2257
+/Length 3233
/Filter /FlateDecode
>>
stream
-xڵTy\W1g*"D u
-
-.(,*WY,HBwQeB?3MU
-8 #(H` W(0VbB' ufF[,湹c X $(dHs4 9( MP<0"bXA2 7$u (%2ӄNr5|*ј&0HD BCY
-iLTLȑHBB6Gs`
--zIɤ2J>=xNfRrw۲~^<nX"s a{PUh^+N{|/Ԭ wÂjOX}kbפ}5?_N5q961طҖW!w8O}Q"혯OZU74ai[[c&VLڴ|3#NHzz톰BSVR|CIqH^c0G4ֲghl{P[̌.tZ]a>.9OtOU?n`}{‡-ˍÒg=Y2fQx[|]—w`0}Arڢb\>Dj "k_Xz r5߳3Fo-;l>7@q"IUF/{V|.ž6S~M<Z%6oS vMH[mfdnQ2>r왬lϟ%xɕ/j|UX4h½`ögzHQQvR?]":\|5~Rp!Z*+_zK5.'FЬ Y~s
-sa1/y>ck6ZxswYyu
-9<\[l|8ߪhqqӎ2cZdCt;C^O57%nlQ]BHBRr<b'B=Oy(޹k%q;79~cieU@H=СNu|T`uୁc=/7ڶd?O@RްK~i$NX<uq|{eX7{MR_R$!hY/`jNl)mS;o ]EMŔq^Y<.i@ܗ^nSʋvb>(Ȋ-~=㪃NYǧ<R~#?NMlַ~ݢJ7U8W߱m-lSLئڤ(_wovvO: Uor4g;M1]%z'T>juЕWJ=xy-sEPޞeΜ1Ɲֿڻ9W&Vy`ɓK;24%d Wh{m4$oy{~Ms~i޸v!w ]Ry#wN|_n
+xڵT{<TiO5raܶԸFFq)]3f2sΘ9ӸoJ&%[ޢJ!].Z*T$yόmws>s<>c"yh"J
+Y@$*pXP>`\ޫWq,+^%HPXYl =h9,͆ g~e<Pd!LO*Y@aLl824</EŪRa2YP2JI
+[ *
+`1rӉ ~B.`e:TIN) 2
+;U:2UX9k,GsɽwחnK}`,Z`Qwq4j.4S:u:7qOtuƴ'~\>!yD-vBCxNw/-KQ=?$݆t °(e-xMs.q{/9wzޞǽ Ec5İ"ߢƹMKzxEoiW䴽yA|P9B^9d.Ӝ k:Ji^o;zV yg׻iMӂ^JlMLn͓[K&\<dN[ڹ,ݱ<v]W7V=ְ$Bxjr|rKt19,t]a|ً f,Pϑ.arjȷR'/V]2l?Odşh__w5xv
+ֽ B箳2v um;uuTUDRTӪrXӷFlˌC*L^]#aE5l>g:i:,K:,ypISC8: yg_]Au%ݵ"Ɨ:@Ib~S3X#9|cBSGb Ҭ<|i({y
+KMO uy 6xOpuΦKnQmLJ`o6Q˛R#}~IǽGk/mVmn4)xzaguTۭ|}'AϦ]1U:Khe1芀:uIkhwWm\ 7f%%0~>P,heO!}{qGUKỷ+"z#S?jh2xW|fA}kaIQ+M[*q#3b=ЋqLJnܖTmj2E2㧙;atB_~VGdk.Z꫶6$fNw2QGLڥTtȌN^O 9[ƾ#5)b
endstream
endobj
-650 0 obj
+905 0 obj
<<
/Type /FontDescriptor
-/FontName /UBJCGG+LMMathItalic5-Regular
+/FontName /PNDPYA+LMMathItalic5-Regular
/Flags 4
/FontBBox [0 -250 1349 750]
/Ascent 694
@@ -4128,36 +6357,39 @@ endobj
/ItalicAngle -14
/StemV 84
/XHeight 431
-/CharSet (/slash)
-/FontFile 649 0 R
+/CharSet (/n/slash)
+/FontFile 904 0 R
>>
endobj
-651 0 obj
+906 0 obj
<<
-/Length1 1707
-/Length2 1664
+/Length1 1767
+/Length2 3097
/Length3 0
-/Length 2717
+/Length 4206
/Filter /FlateDecode
>>
stream
-xڵTw\^\%(*
-˂
-i)@ ʐ\d&N&`)eA+յbAT6V\w7tU޾?o~=)=;q(ƃ'a&DFE!<DdG4i8L.pt!Q $RbDH
-4I$6M91,DHD 1AW*T&'t&:: "I2NFIA3 x*eD D(GI
-$(]7'D
-M"p
-W$Dh> 5Ih`f+g<56 Cp, ~fG\Lj\" Ha%IJ.S+DP%tǾuF"M4k!N(E UZ(D^{o&&S@b=}4%iZB鋍}1Jd
-8R+o ,a%K=E?p1$'é?sBlJNN=Q$|k3<8M3y30S@FC=. X8gE;7_яVa5!.Z`Ce-xd|V<l[BKEO]tGHVTy0rx~Iԝ'\EmVuhQ; Wskkf<zocԭuB{gq;׎ﻆ"y n76-1@u䰖ңO'<ijjEr7%e[k.<ȥlӷ#Vn睚XSwbZr4sD>m$)mj+C3,䅜$FsF[ LtE &4FZM};<sȃHU_ZV>pPH(/WuЋ=Zh\$&̖:boH ˼D۱.{ݭ-B=>쬍R?ƈRw_^̑d ~f9֍Ukov~gyޱ&G|'dSptρvoF'|&~U6Qcpy㕧=:i\eLt&Mc]bK㋪g,k7͹ٳ&1s[e[G/2Ȏ#E[w]tET w3NpwsSQ\ő^gfɍ"ҝutʼniFӫuSϦ+6w_dZj]@I@EfUb
-/Ǟjy۵Z|hf%sfQ%kqAKBlK#7VBachK+j8̹w[tT{>S堡湽_`rtaWgWzɁ$֘k\/패NrŦ}ɶqo7:ѨI4e簂63ښ4|rӫúEaKNb'o|ⲧ#L:ܖ?alWM7P6(`dw
-$uZv9Jn~}kuyVX̟()X$Aqfׇ?}o[o5ѷIdų}󤮦{ccQֳ[^Z޿Du>ɾxhf;ٶgnj?%eƵȟęlTN1gs{bgl̙\TU0/:]W ";dR~<nF)}ܥqZ v~_9d { ]Uz0?Տ^m{~-]}/vesmXne*X 5o~U9 D81?찝CSD^c_*γVQyQ.3XrRe',VUo_6cѩy:|<_.3bhN54w[M7nAh֞^YYgZ˚:vǣjv*/.;]57N(<yr
-JWbO\ѣn3w/[~kEO{ eY/aN/V'J%%X%LLwdu.*\5ַ"ԤZwcRYgI\_prgefi!aM^MNr֣ ÿ:[zFnZQ%,M8dYvLU_Z{A d^a^ga
+xڵUy<T{OLHB"ka٣t3f, ҢR$"!ijb-zϨ{33=MNhs2Z hDņEQIh0M#2
+ ZN$+;8fbNݬ
+lņbLf`iK(T&
+3
+Wx7<5F " FPA2! b J(@X呵A-eaAԵ16i +K!Z@QXGPCg~eͦtP?3Nov<0Nf2De([]=9@4N4BiZ.6Į a+)L@Gw"} <2 t
+"d*
+@MlO+,]ܸ^o;G֬'Wx_>qf"c7u0zEU5[N`1KU*hb=7=!>|g}Oos3v<im<i_Ĩn(|$
+0co*앂N E/-9$44E rNy%d@TV)_`y#9(
+Np{bEV_ywp"R}+,cH;_dHWVهgBGIoOkǧQW`P~swSꔉC\lxcRO|;Q*^NPj?ʑ9h"B~΍d]~umW1XyC:?, +kOzL7$a-Ϋ׽e[MU'ԯ=q큔OMt/X{Y 預qlݕaV|gd0,&wQ1aCcTO4[|347@YQjN֭S&CfSIp:y'CSLΌ*n*(Q<t\U{3Vޮ' :Ekr\rX{i݅jAOB<&NZq%2Lbu_?MWzpη]1]0"![n3qT |sy% gkױK|Z73ZuRkHYOs+\1[9z]ֻT)*_nHXnSơWX5|]Ƣ5cjF=fPղoQrr%ԧUbAWP>Sۯ7|YK䦷bFy:tަOAsnW/z:#-So,2 n.(ױ>^0v顨庢WKHƝ=}Xb<^ߞ;ٵP?F:&1-؝S*2=0g_tDѵ"t~囉nV΅9 7O.o B,u(/OE5feZ Ï%doQz7MN]:\ FE^^L)v_#b_ƻNܞ T5;9dxYr69?TkzrB.9zh}Uetu+SkJ9uWsfR 0Ĥ?:liz%tU!AP9be8jRu5qkrwYͣ=) r^lݚy~E-L]Ok<=l];IBv$a> {c]bP7 {4f֭CE>kp64%/?B)Ձv|0C*NWS$E^~o6WfTz9li7qZׯN_]G)4vs託^|fg_ڥ-aU!T9NJL"\xKU"R5$P93UfkJ Gr&~{lMQA[/_.{z2#e .'ss|?e; ٭1}bi X c՝,7 \vuWikK_ ]aDw*\k,i಺fOp'Jv
+G
+)qp]3%rxőJ&`QRXԖjE'7=j
+W9f1"Tf_)אnuv턔T;S.U_vWt{-"3NT(aUFaG`ְra7K5ڹP%DD-j4Uٲi3syòaoa|!/nrFQ )Pӕ g
+RYjxF.[)Y߸,/1#Q@oOHuU2>6O퇳i$d:d_l#:rrرz?غabQ5c.EG^-ܿ{oJBׅ$\' pT7ίpNN6N6}0QcI 39'zVL(='%A*|vZQ\s[C*(,Q}EM{_\31>}'ԛcs^n#r}3I72.z ͚]T!oj)h{peMQv~nn~fړ&Ӿ 2R*klKOyey_ZV՚FgTړvVL
+D~y3ZuF=r
endstream
endobj
-652 0 obj
+907 0 obj
<<
/Type /FontDescriptor
-/FontName /VQNOES+LMMathItalic7-Regular
+/FontName /CVHMNY+LMMathItalic7-Regular
/Flags 4
/FontBBox [-1 -250 1171 750]
/Ascent 694
@@ -4166,38 +6398,37 @@ endobj
/ItalicAngle -14
/StemV 72
/XHeight 431
-/CharSet (/pi/slash/x)
-/FontFile 651 0 R
+/CharSet (/k/m/n/pi/r/slash/x)
+/FontFile 906 0 R
>>
endobj
-653 0 obj
+908 0 obj
<<
-/Length1 1676
-/Length2 1257
+/Length1 1691
+/Length2 2294
/Length3 0
-/Length 2278
+/Length 3352
/Filter /FlateDecode
>>
stream
-xڵT}\Lr+R^
-Kެy+ZRef(*N34G3sΨ^ڐQ^޼orϙXt?|y~|W"I0\!O 1F`Z\ŝ c ZB@qp $! ȠhHq
-h`Op@ $?ǩCT$dg`ؚڞp@CQ FrBB D hdC?r\_mA!"D,a^7o[I4N3tOEԸipd I$297i3hH <\݁p;`u*!TNP>1xbH*i}daN5N z`m
-2qb 
-{O%+yxiѵ {ZiirAK/0X' }i%b%TD pu
-U0ޤ$R$5Iq3
-N7UO Zf=sM뜎k-bI4W.V9Xuox)ְv7oN|V]p_XM9!(8egõC=B j?rNR돹֜n~bf}zUD3_t«5ՂNŬ-Q#nwv vg.1
-Z뱪=O& nHƣB-uYU>YmdvK
-TS͝v> =s<*6Rlto,3^dgߙ;lϵ1:m4ιYgfMX0MBQtip8Pݮ։s;6ؔ,۱R㺲yyEi+c^)UU+my`ךu@[
-a ƩUA-捨\|5t[]3J@}o#}O̪|-~Om$3
-Q-/\Uym
-xRbؿ-~׸)
-ǝJ@.UW͞og8zX[m}y9=!ckf.raPMx
+xڵTy<TkZPn/F15&[ef,1fp2s4sƒHm**S6JH"Q%$zp{?9|=ߣA1&`Qcpque(1!Hx"QNOφ2Pm( Y
+4pryP XbCpPiF-ٍjFB 1ܨ]\sQT?;A|$.7}5,Gs
+ `_>#YX;Pp>p
+9 ,y `#5\J}̟ÈPovL@T0 0Wji6vEx4#ۺ,L9 ̲֩A\@N>[0 , XBCۅ!$
+061E&ҜM$sF-̯k8  2<FkTkwHF
+?R)MIfk2uۜ>pc8~>yM@ln^*GK|dyZbĺ.S#7e{i"׮!<6QeZ
+vXb|f*B 'Ne<}@vc+Rqs/Y{9vn6~8^of<v4z.yFAͤ~
+lASϮyǿ=7E~\ߣI 7?b2j%p}3սOF\W=l!qCyeZb;xI3*WT{uk-lqc䄉!sED}U u&vIpt_MeOHu Mx?u3Y27LSvPZ& 8p+7i8Q_ZC#w5uuy ,5pV'BV@-1-y'rڤ7pEb7ԏΌt v$In'?;pCM ΞσkZE,|ɪoe.rG{{>+DoS|avdC?diN)p{֑}R(7tjǒ%DY1a[[C #u+VJ ?ݚQ#]ku-Bcg$VO;hŤS].Ceoʜ_ܣV)p/'+gKZbpMCmySiI_g.0l$S/_X CgG˻.^lb7ԡy3׏7'u G !m-&p[J_H,^(\Q񂹟~gshBE{_w(t_FX?=Gmg,?G&ǨYвtցP|k妕&4Wh{?)pm{K 6mtTɹ/3 TZVɦ
+%<
+K[m&V"GI-?QU|`1AӤ5wuXV#vYcE:dqM].pLe͸V:9ӻd?T|쮊^ub~pxOx`^4:ݧ+]4TQ)=,>r&X+lxkMP*˪knEC#˜.9zuFj߮-}>UI×.5޽e%m6k͙;ߟ?-X{[zO"]2(J97M+ܐYEǶ6 1ƻ֣ u",Ax4owJ"ZL^(pYytʿEG56,*׽;g</Z8V9#ٗ /2|]lG56ML94gp
+WuZW߸'Ͷ4KrM[S%&rTRkB7Ա]5?H^vRco G<B=Lg΂?ilx}UUjCr,ԏJ8yu!O<Pǻ pcroRMZ6,m.a<[IKa>nUܾ52+
+WNV;@ Nˊ[=\*uP k1
endstream
endobj
-654 0 obj
+909 0 obj
<<
/Type /FontDescriptor
-/FontName /MFTCYA+LMMathItalic9-Regular
+/FontName /VGYIRG+LMMathItalic9-Regular
/Flags 4
/FontBBox [-29 -250 1075 750]
/Ascent 694
@@ -4206,11 +6437,11 @@ endobj
/ItalicAngle -14
/StemV 28
/XHeight 431
-/CharSet (/less)
-/FontFile 653 0 R
+/CharSet (/less/n)
+/FontFile 908 0 R
>>
endobj
-655 0 obj
+910 0 obj
<<
/Length1 1663
/Length2 1385
@@ -4229,7 +6460,7 @@ xڵT{\SeV@*q@)$vv&+xx@ hPAD[&
D&3V]._'s7<lՍ+?~n%mH|%8`H~4hhSNBOβx7oukp{
endstream
endobj
-656 0 obj
+911 0 obj
<<
/Type /FontDescriptor
/FontName /UOBGNU+LMMathItalic10-Bold
@@ -4242,10 +6473,10 @@ endobj
/StemV 107
/XHeight 444
/CharSet (/x)
-/FontFile 655 0 R
+/FontFile 910 0 R
>>
endobj
-657 0 obj
+912 0 obj
<<
/Length1 3074
/Length2 35990
@@ -4398,7 +6629,7 @@ g3)vhu`-h^pN4!oJ*90iUL%
B i|T0vY0AYp r%oރe~K l _WوSHG>.awla%Tj0ۓS mY-e&&#֦T={acg~5 IkK-m\W$M،-L}?bNL`!s`H1H!ݿm.傪Mg컉NjT 
endstream
endobj
-658 0 obj
+913 0 obj
<<
/Type /FontDescriptor
/FontName /UKSWVF+LMRoman10-Regular
@@ -4411,102 +6642,104 @@ endobj
/StemV 69
/XHeight 431
/CharSet (/A/B/C/D/E/F/Gamma/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/ampersand/asterisk/asteriskmath/b/backslash/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/d/dollar/e/eight/endash/equal/exclam/f/ff/ffi/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/question/quoteleft/quoteright/r/s/section/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero)
-/FontFile 657 0 R
+/FontFile 912 0 R
>>
endobj
-659 0 obj
+914 0 obj
<<
-/Length1 1997
-/Length2 22042
+/Length1 2057
+/Length2 22810
/Length3 0
-/Length 23286
+/Length 24086
/Filter /FlateDecode
>>
stream
-xڴxeTۖ-),;'+\Kp.=#t=v}Ś^{]_5 PPPT33-m
-{KwtSO?
-dfgf, @Y
-Y
-k,LKfmR
-z-¸Kl~('wXΡkS$aK'AmkXR=
-;%ymOd
-5;_[:~Wxܬ
-úp,zi4?7jm5MЈhLgbAzۋ0c򤞝t
-)`8t=~5iHBf^)sxd(j!eAلeq֋'͑Dτ zi\Y>ڥݩY6dMC ~޸`$aY[՚3ܚ
-UkES/J1?kg+*N@)R<UOAwR4|9-JaA@mI OI-"e'VYqfQe-3}O%|;@ ysJ l/66,/]/[m&VTQJk{9ѫ\±<zˌ_j~rhaD}^GڽsbXMN 82 vF<`Oflp1ah>Cb"Z7`\$*ΠZ 0-τp<L (qAPm,jTѷhX0= ]~tʯ4%y Қ*v
-zG Gmʩ-ghm>D*{{#pWVam\`TF/-.ճT^Bdzt$& >L}y+FBӇ^6)g{sۏ GpfFkkj$cc>\y\>Q˶},bjYbOj0Q6,\JZW
-̛2IoERJd
- 暬5tI[R1lYP^kaTgvxqY:kODb%7ziעvJ|H= Tcx_GAGBa=шSd8ޢf_``l'<$~?=ՔOӫK:ig/EYxZ.@
-{HŷWF .矝ps7iZuۻC0N˪pv5RU
-K_cTYP9u+~l ̚@E;ޓ;1֣5I6as㦒gvڙBk)ݑǶ}ngƜ2et#LQvUE/Glw)$bK=
-ÃN[ӷwۦs:nL#ܸ=V
-:\{`:P!ZJ[Gٴ9-(dՄ]FZܓbTJvr~H#y"*C IPRm$x? Q
-5;0%IL3>𼕪F<9lgAL:XkW&\R5atAPL-WRy00a~po$i*#Sיv/zP4+dkT^Scr:ՓFhDi9ٱcjZĿM:>H/uۯ٠`{=?caSD0ZA`.]p̿FRR%4E,2nʀ#@W=*5ߙ' `j?.<v-t `raPY5'EsfUKÈKx9|g!nv*pő}'֝PɽÈ݇$KOЌ?"o[G娢5;2?Ŝ
-R'>>[*Qh,D2FIDCtK /q X44-םaOdC|1$XRAZ/ ?hbb
- {au 0v/a$ϝH#S9jBZ}s>L1u4pm'V`J?۽\-LJzOKk<FGB߲*!퉴Rk7lA,K
-9y+SތL1`Omؾz8S6?B)Ɍi 7#׻`PwK/jB`"0f?{C*MWՖCyijsi@Uy>ظ*_aU]S:aGBZgE{Ea_9Z
-WqAR+>,+Yfy5XޏH6U췹r:3m}^p|tEI]8k<͊bjr1YfLlr :1ڸHш670)VkT/df5rwm%cӳ^d/;9iӋcnO,*ozR
-X5 }> #X ̔op~SSՂ3jOAh_- ?`h7qn:mڦA42oG0tU_|47&Z2C<m8j)hf-=DFSR=w%$UE;Mi, CEyFC?)%-YpsƾUKOpN<{A%>AtWf/SݔZ f|~㱛 KT}M؆:BK2whQE&7@I$N xZ5rwWȕ@o"> O(qznoM7޹VF45,Oz]EYҲYRwR`M
--N&rOw:T:w{ʫ 7>I,w}=#a !ֵңJQaKH'
-x ưpoY}Re$|Ϙw7%[QjnFEN5'>r|p[J/1k^1I=@CyH?;Z0WrnZmb0ܨvH,mnЕt%_xbDc8G@{2ޥFoǁ+DBU5əbdzтRJQӪ\.nK*:ƵlhỂsly0(3ܐ*X&~Y.e@JB?)
-^FL}&.d&:Gz\R(77j `Z2<8ٵ1rJ[+S*JcB?QaK/<3l3zhMIkiGr,fj1_K
-ŤWpW`kmSxhyE(l
-ziiTO1~$? DYú.WgS-Pj__NvJK3gړ冾׬ ƅZE޶R_W5LW4jN^];0$`^TM
-o0Rdƞ_NZ^9TG.`n+K(+^D~><&_Ke;%I^~ $e++5P40^
-ť1^ήm^,=fWB&3F}3pN9T-5
-%j[QӲea@jOD{ iDi4UߜP&PؖTK/w }©BqJ}"+ NJk/aUX
-XC#ngR{_f;괗־QUqd~EDBƁ$pt@SQJDc7B&oPX-3e$g_54&\3,¸
-V5v)NG^3r$,79F~PInzmӁem]Iyn>:a_.r@iĆ^
-0';XI%69KDɽI&Sj9!<QW,rF%w0z 9&!(%7 ~x8v}OglNf3ScdϦ,+O%+)r!G+(A:HƧ}@ָDC௖<I"j 1 :j??vWq U%çX`h`>2jp$wCkNrjyjDMEhn29fC8i
-_)G?;aUH/ ݻAJN8NƤL3 ]5
-KJ_A-
-Z
-0%SwJ9 ߶nlry Hi^rXyL˺7CnLz˸Ø4[} ~jوLs>od (?o,][3o !ׇ\w 뉊Gmq^o $7ZOzIT0(xpYF_釬:DbSa+<2hüAɗF}8z62>p%ܭ^濿q6Fʅ<f-n@84W(>є0tg#J ѴrnƼ8p~wCVW h,-f.tĽQD06uirFq}r=
-.xR 
-Y*Y9pFM3亙nF8$/'M=0N uG#+gЏ6{wkt'[#Spd6xxޏj~& yj+{nn/'$9]cr"ҘfzCfgy(_E*5;K$ExFj2K^!7}naQJʋϷs}|OVpYjf^ Z:[gg
-*N3c-CD'%ՖYWC^mB [Ar?Ut/{u>^_/;4S\-@<\čN|ӟ<&}_fUo%I2[v<:5Ex+Q J`4N5XT2۔|{
-. ZJcɳd_]\S-x K]EOpɷm!KȸIQEa3]OQ__C*#7ftTr-tTU(<_v5CdmzSnUY}R_7Ym?J`PgE)<Ͳ|j}ik6 ^b
-ls˺C[8b /P2ehax5|nyPޢ2B6|]Hi~"Ug;0pMM)Ig/+YV.Twj_m=Z1X;eA⫤c 89\,---ժ&٥)S`'T4[qf*Hd]9dlQ|a8ΎVH
-O^RRc#r@O5Y*fJ :0 `MR;NbK.&_oBG5"
-&S
-
-_X0\͸"z:[qORJ` "EYT^g"8|TE'ZCX ]7k^8X[`aZ'FA
- 3*+ƏRcm_G/g"zYB>! í:1aBxYvu]ͺQ/BcY2IId܆KFͮ+tlԿ|bJ
-ob YCKC&"h~Ó865&"FPV)W-0x3H4 y ;2 }*IY&iFھ1ڃiwm+f,/V9<qx4+܃]]g],XaI0~ŽRUB=萙S[ʫyߢcUC-) MDGtG ^1&N#s*Nϫc`H#X,!h/kCwrW.Qd+ɵd^IKJCɹ] >wB%N_;V|Ƕ{CcR4j0<CVR ؽ~안rScUM:!}5TEPuf0֛,FNҘ@8瀟Մ՗lI<-٦*S+vךRN`^
-8~^%$uB4 K~GN a&*
-h}kKKT&>t㍖t݈pPY0"3 C%8|^hb=#vx晗q.fo#7vUko$<3bZC>9@VI\zVtr
-uYA*;-9Qk]0'zz! z7-~S-U «cU_YL56}1j'9W+6n>B2#ҙ?Z-w8xs=0)-ɀ=נ݈9]]bDim6a ǏRۢ4럗?Mi 1g*#Jι>AM*mO=_G39!M(DZK8+dn62I N 81B\:_Zu`s_f(N~hor "[slgr0{~ӱtm@e){9Q(ci9lf3~Pfy1X1MJGd𝜙q%/ E?T]Ɲfm/PYrv79*?SXAuV"XjmYSW6UԪ
-J L(GcMf6eؽJ 9c<
-jфelm*hnjzyZC %^Xc ElK ĥ2
-ARG|`-rE7W>M_k++z)̿jP/,QdEp+ߵLDJh)]&ةSƸ"X
-F!\lǸM;Xv{̱47OC_ 4c`Ҁk;DɮjpyINom2)ޥ44#a8W}%MUF:l?Lb t&
-&Op;Mp.b
-R)wJ2p }6uWu?K
-kfeZqj {5_􉼠eViVȇb읷۴W޴ڹ*"&^H.XVq a鲑fto9W .i{N ߄9)?M_D Y g:gni-&z$]mj#iOM9)NR.G>7v=[akWɃ:Oi~yp%7'yW}ǁ3 BGcV^A8$ YmSW8Np5@0
-{oJcaG g-/W^l&UGzVbbMHt|px 7i{ͯ)Sr.8,%Ls앧@D ҡbCKpK3SqDg.\t5f2t` '?"<}aԹ/Xȅ/|f Ai<\ÑEU2~uAбU3ũ /¼)@%f=%F6w8(_c⶜K$Ly U38qW;7\Z SEQ/R쐠vʛ#FO?UGyKA"AkGH87UV`(q';yN9j4&! \T)2/ºk. YY: NI$s%A'gj棻RLO.s IN*w*Tcjʱ^dKS n,<LE/
-Wܫ+c_/ ͟/" '-1<Њ?
-EyE9ϮOѫThOxYcՒQw0OJO57jzK=4&sY#pƴ}Q.v}IY;A~8H> Bl'dZEO ;= uFj ˲ }?|)
-r\ʴ"L'HQ^팜EQFue2JI:ۉ^&Zx::Ca%/]xҷp[
-kD4O!&y8ĺ }fuF3 ̾| 'cAeCCT6uw&{Q*`BqvHUqn4MNۓ@xvm@(~|aOT:3deݿ=cqul@= fU%|Qx
-mqKPZc7/۸Fۂen̠aW -ʀ(lcc`h~Y<GSc0^*2tq!ڛfѝip~Vj~QҐ
- J^g3[E^H;&R
-M0
-g(FGe TYf
-=
-N</b8ꉲ!4YiF4Z!#GKjೀ;Ȃ @"͛b?4rsQ)l!
-rA$XX, YAp4˜ٕнoL$.)=Kh8egu(N,ne~GPG+}<ދXf#sQQ B;2Lc&zܯ:ӷpMvhMiBp?Sʫ!jB/u~`jw={[0J=ϋ3Fd@%j:K E1l[}Pc]36}F_Q Us">ud}5fLm"jJ3%)2
-aPR:YCۮϤOkAtw3j@
-b[Awf]3=m*AnS=:xI?gl|Fp8h1Y#H:6`^v}Y<]s9O0P>d/\sHqK1G/]N)z mhf,-7e%*>!L|l+d2Oδ-%Fkv-|.BSe8{/NqHnR6%넧`;Ž.{:ʢل"J5z>D'6QZ_R?ܮOE\IzDRT+\{ցF.?(2B :6 AAESHi3"^>ss$Nq
-a^UHeP?2k-*ᱸu1c>0_ +mgO16!,ZP%8j;QtC~=>o<r^WDXeDt{uQ!|fn ]0R
-"B ^gP??2 1
-RUVٿ-QG*JwBVh9Oe_7_"rOdJ_r G}l^ҎEqf\mDYNS
-ѹn4as} p5R)[h@lpqL6BN}b@{/]\id">aƌcn!`'Be=
+xڴeTK5pww N$kpw\Bpݧ{^棳UKTԙLR &6fV~=;ʉ@E% 4Y9K
+ 0wpF\
+4t6ZD&8aFY W6o$OPbOh}P B=׸S99NPmht!bE|#> _ǃ
+ ]V~˕/9gۿ)~S&U"&SbɻFEPY)f79O2X*pMM]L:S7K>hO4a~R muk)^&ð'(KkG&/h};).|. c/Pcނv`F~u2*g_9~Cz^0[/Q;|pHna0 31Ӓ, rڑX$d%YZ5C]ya0qh}tKcaqƙ6n)( vƼzvf"B/\oH|v7 УDo + 8G'-,ђ
+"Q_j@;Q eVluOH!%Ղx+kJ[ڰf Ս!E/[p4#+Op˭[20H62bQXpsCW./?\nt<[n;$F8%D7NfvD<=<WC^8in_+YcKΫ:4U⤑Q6(ϾRbfZгrXشZe[AD4"LMMbiKfGAt4MMNRQCêmLVFڪ{K"=zO1vxIpp
+b>s'ә(Ȓ`R&NYݵ\<3jN]l2G]Ӫy-(1u64<Jq4ɯ:[YƑ侏
+]o4ٿa=3\1rUfQ6%|EJhm$EWVt9Z6٫o>%fD;n:c!"ǚUE}%я]N69=Xmt؋(sA,M[ 8LZWiDi_Nv2ĵh
+rn2>y1!;EL)i'YUDr"'gY!9ϞTVL(/K )ѣ<*6MiDo Ɲ6ۋ:#c!YQ¬Qh#[1"\CZV;NC
+#KYD; 2fF46{2GRIZE}bրW,/DҨP @ǂIEzZFno+b(M_kh,2 Z$>h驟\ V݋IJŢkmGH栽/ʍY?|ʖAߴVd)Y/>/qR
+#\n}}G5f4:\ QAU+zC]q1끾A:N
+*kn>5H6г\fMaԱkfMViXnUx_bycBϔuC*uPRu*yp KZ9!LJPk4<fr Ⱦtq+߬!FMS-$`Sb&
+O':?AzSK|1.¾Ϫ;{f3D*뤕~LYLӹ
+ɍϖ$7}i3 SEz rԣT?<'gϢ1%ycU9a/Yy_ՊI#~$]\zsG%z CU&rQ.h<"kj;ICZ/cbtXح]©
+m4*:t`Tt˽,sڎ[
+}D+Rhʕ(3k4LX`Eµh&,mG% HeAI'qvʜ|ۑ/*%?7 %?>R{)` v*~r _B֙Z -ˠς1(Z@ط0M_f ~mx^ Y;vƶ
+'i%57]4GL`lV|Q^\ 52ae6۔=!*r1Y]RՅ8
+D.rj ?BSMV3
+X:1pb6m+ 2q W~8>< R=i7ccLU[/eׅ\
+{L%A~ opb&zNw0}$eIņshu-YX: 7w_XAſ7SEcD!`Tpc ڤL`aGԩ"v {q^ìϊ4jԪaG0eoC}eW([U,Dg՘[ ~FjE PSewj3}ŵM`fYp$+/AzFttBs*w z+- 5MO3QW- [@J%F_sqJmІD
+8ƖT"h")JR["/dDq;3m
+**eD$o,"2ij@,LPU'sӉ5o+ԝSRwze1*<2aJ.Do
+yq!aSt9I?ih32[4rVzVVm"/iG
+=s (c6< "+5/막 k ]DDL>%;$=W5ze9ũ#p.;*xN%C5:iuMCa^Jl7IA i1W3B}!R~pu~tԃ΁V2"S|ԨΆ,42ӸRs{aV yBsh'5;FE|s;L<"t\bL,\ړƈDz*IBfQTdFP8J6w%!cIWG|WڴЇSsRfff2KL0ḌkAH7L%€ ?С /aXΓY;@Hڵ4A_ =ĻH6?jf-s:xlN((>:&ʜ @nDځ|V_E0Ol!KP1r_R5+q}M&\Idq< "ńCaOqJ+a5<i|}7c  NsXT.h <>f Rq,Rʬe:FKgg}/g XR %KEH<0oפϫO /#78
+ w+0}E?GpiiOݮf!Y(4Mrt%U/e*:ex1y|V '= w
+s#t'"s* :dVy|I4:
+VŸBȕm_] Dc C~x1,~d^+cbq(2#<R9K
+uc7ա$l*dHbW=G-PZP3F
+~$@$om5{R:'>4fČ_ ͱ*TPi}ɫkdRe-dRYWji>*ÚX5&!_-*WEa`ZMw\i0明ϫn4e~PlG\vJ{<b>r`c.IN;ۣcvɛ|, eFoR ̎%GgZ\Mw8>w _', _zu
+d-߇cO{ټ=O((0n<<ٱdZ?`ۓ<458%iꉅ\D:>Lc'ZB)X;e6U0Z!nW>7 Lh%)X|bHA{$~bpv\FQ%3r@14lC9^ޱ˼‰K½:yBo[w09iDTZo@푞ҟYl<AsRzzzڲ<jzjB2DbLޅQ{-hF3~ U5x@V7=uHBOb JR 2eZCN6;xTl=gUm _C~`Z'9,*"Aax,Idjz4]|~pPO!i711[JE :Dž4fBR#XSMdQ?/Oi\ U<BlE!?$5p۰n/SO&:(ڸaI2wxN]@R֖ݹǰ(I&9.&UϬasS oE[J]ׄv@S^ aD0lJdh4l
+y>ծ~\AlLc&|&eC@)/8eT_}e i`ؓe·6~QP^^g*3'K'6VW(4ٹdI8FM;87@E$-
+<Z֎ Oj}pAC3A, ql6P<G,8-L uOoωxeE􂓡MǓ՗ /6ʒ}MQ8]ar~D+ÆWlc o \>\7}3BY =`YҙJrfƈ(ӡ4oa:Q"M|?^dVhuY짍4M=9OLOOM@)QU6h"0^m;8
+s H>"fL4^t\ WK20w纾h4QW}l  evhMtUw3Wݯ-|*Ѐ34Zgמ]x*ELL.rT'k7DN׏xX4\'4dl&f{Yd(da%%tlkz3Œ݋J>.)°xȜjX\ML_/Љy07_;a45:3&^R-%Q HKӔT&Oa|z C<td plmXUy"t&ZeCye3Kgxr ~ XcN)RpjgG;Պl%"!ϊg^_fU `L :`ĴKv>9uRRl/d4cV>2I ư
+wkJ PL3JbzDF)?/ K(
+;7}SU&QƝwXK}„1SnȆJOJڹ1]D=on0qq"(HTlE[W 0G)MJGpf?D R~0qDǎy&UуwX))|wgr R㮨>aA[xq@/S,x)\{
+>AX
+TГ%n.,*RhT¹t ~u+ YTtRP#9pcO#MY9Mb;ԮPv٘©$fYmaP‚vu DNUw$~y|#&&W"܈$Dc%ʹl03 rNQ2"ۇ߾vVB}esG( trGSl30n+K8siK$i{)Y// J{1N%2:14̙+}LKtHD3Ew
+G$fQ
+Rč,LP,pv*ڰ(¡EAl0֫E0INM8k]܊+jXqq} sahU36?j5%|&̛@oq|T)z'nM6N5fh6%S3f
+WO|Xdy#7*PHS_٪ɂi~浯skO&b?['ܴpDueqʎ|3Pn/7.ğ06Yaf|
+cPW,WFƼ:}M 8Q
+Xnq. s
+ $^{!%X9J}pFgԽĀmn#.zJOujiofl#mƠ
+8]3Qύ
+e
+KsexTui F,+/y 3V&itI;z r2ض EHIu;2/P$L͠4oQ"{H!ہ|G!"嵐#:?"uq77̟G6C͎m=±3>9.L7zk.\tUӾ\O8d1M*Zצ4NI/-P#ýRb $ă;O9Wt],+gȰ3|65`Y"\ We^-@9D݄,uӕNs )Y<n
+
+_$f}o
+ν> }i":9Uj-KæYˎp *աGuދ= +Z3}*>މ3* gyY'J0xm|1ܒGqbĴs@ JJxNS'0Z iA+.ӵ9ch54a?=Ve,D4mD$K "Y[JT6Z3
+;ЌQJQ3k )&#̡yMA](>K< IKNy 갇,p@* ޡڔ6tHZ4OMa-uFX/ڐė㮥0=.\r]T;1(Vv㇅hkf0<S
+XWՌrvk1=3R*kaT5m'*2Q9zY*a
+h9/P(mOoKɷiodf 3ODҼ3&@7MciU!*\;M6a|) `~-5."r}U_^^ 03+/w,sD:
+<g9vfw5 K 9n b֤h2&gNw51w=i1g)8O%HWDDŽ+Fz7-Ĺ'Bۣؓp>G4{4kV(i30J2˧&#FĀmdFy gףlr}4,fq=M ݧp9#NGeCSh(i4i󐫝SVhkmDq n\.nG Lg2U/!ˢ
+X5<|>RV}Ŝ3 ?B=T*7=Dbz^ǴP<pmժDw:%8*Lr4r[dQUkB㛺aAB~@<F7={; G>"oѣ>ٟ14("S mq%W'iVg0hĖw󍗗'HƷ]cU+6vSe;io:< ?{v'aB|d^Y)ю :K4>NŐx)lCY}7/Z㡂)
+%WGr%:@W6
+,[fsנz0*lєu
+"= E50.?DKC#:61)xaU
+<DK! 3c1=BcxSz?2Hkq 갸a!Te3ڳF+JgJlosm|#Yke}.ڶ1-K"cM @$բFc-|ىS~6ʔxfki]~,%<ÈV'{;kT4s%Tj6GM|uY1ݱ'MrQҢF'ʱQ;~~)í^ѳUO?e>7'MlG>d~g#Oe`h }rk?# Ќ::ZF=J<bLTC$ wn H9\FeKj#!pLy@f co&~,Zʟ }^ Uf{vRR!0gjߤ%*syXI?>Oxuekwm%Ifs,oOɼE01綢ߘJj
+޻=/Ɩjt=r
+Cq 鴫 KG]-)r=[>#dq0Qp*`t6t)NlrM2}ȑ
+"٠!ra
+q4gtjN+wG Z<w`MY64 (`yz׃ H  yU zB#ۃNHx9rs:ȹsH
+AWUD7<=ΙWQQI+!,-6F(waB(4]|Z,~*SXgyDVr3&*f%1o7Enlۮhw Uhƻ
++#~h5_R㧶ЕJ] 6yoeIq,hw'Qm/oD\bL> ֟G5~}Љb쟃
+ͱrIC\kj(q<۞֘,[4Y컖FV
+Wl
+]
+ y][MgUno?,8My(x\iqιar6aUDkn'yL`*dl`uf#*nQ<tS~ehx6=lX)>~T?>2^䒎T]oM̹cUy"#UqdASb˚|:lizՄ]XID$xlbkTRtӨ!]C&/uHD21
+
+sKCIVХE?EO x(.Ÿ>z+G oURLdTC*判4/0ɹc:I`V xogm~j=`7nCzyt%Umqznkwp[2ɼʎٶܭiNeL4/N3aPi¥ąi'J\vEo\"'ҩҏʤ9C;85ҳ .LJ5l _opzނwr pHjA ׉9=2UAյm+mrLSHYҤrH*mC0 KH_,2Ôi
+lOr#6
+s[`#Z fS Nm> \}ԖmC@IU?P*IzC[b"gpuuKh-"pB{<2Q@d?#i  kimfdM tKdIo]v<LՆA
+VЈ`v<x7h)C 6 c% `49G
+}%M>28M]yNآѐSfiquuzY樜'r% ;H`
+6BlqGMT}CT0=:@\g?b1=B8Y,˕ +6u<JwUӶ9:.%95p|
+0)ʛ?›ޣ`[9x
+iȓV#myQ{>k eN7h%NZ腜<_w@P3ë/agwC܃1p]A0 (p}&w6|O7"9xW(H47 _d @{wlVpKrDPq]c-XG-ǎ۩go/^a)[nT djo%%I9<45GaxۛxIϵ4HdN=O5(Y M{>I%&x!s#Sg.ƟHϣ
+~5IdP$‚sMS a5s|hZ::aCZ8xۖt<X^Ef}_U"*B6]Xk}&gCZ/"X$3xzp}i}Ay &F]Y% r)p
+xuC5h݇YH6
+[|P\· >L yg֜L`1yvG+8Ri@[ 8יܣڕ) 5]#_(ӁE LiR{WN(`C&r"٩i<3E zA>0Y7*uJ?vGӦw5dS۾Uk\5zDu]?Nb44M\zaKP"¡5U/J9K@YD,s0D7Kr7e
endstream
endobj
-660 0 obj
+915 0 obj
<<
/Type /FontDescriptor
-/FontName /ERGWLJ+LMRoman12-Regular
+/FontName /WACCAK+LMRoman12-Regular
/Flags 4
/FontBBox [-422 -280 1394 1127]
/Ascent 689
@@ -4515,99 +6748,102 @@ endobj
/ItalicAngle 0
/StemV 65
/XHeight 431
-/CharSet (/A/P/a/comma/d/e/g/i/l/n/o/parenleft/parenright/period/r/s/t/three/two/u/v/w/zero)
-/FontFile 659 0 R
+/CharSet (/A/P/S/a/b/comma/d/e/i/l/m/n/o/one/p/parenleft/parenright/period/r/s/six/t/three/two/v/w/zero)
+/FontFile 914 0 R
>>
endobj
-661 0 obj
+916 0 obj
<<
-/Length1 1755
-/Length2 19766
+/Length1 1772
+/Length2 19895
/Length3 0
-/Length 20935
+/Length 21075
/Filter /FlateDecode
>>
stream
-xڴeT\ݶ-
-$CNa[p wwos9UZ5cUTdjL@) `obRZڙ8ؙYY9ĝ&`k [|T
-
-2RjL1)8w
-
-
-kC;G*4دC2W8()~f֑?PLwx'*[|qQaJ"vpXʾe<j4rC4S>ꂃaA3/ U³='7W&$8nJˌFD~oO)٧$lDahcu?S !j/arGaEܡc7 ],A5Kh<H/~SDX)z3-" MѪ~:vRչ@ 7`6kԍ%52  |6d/f5k%.Oj%ڴ](cMxb\ ^L2|YНwK0c(+@݃KZ6{5(D%h]׈Ζ-@ʝ]k宎1J)}wIX_۪&ugZfRg&ΰz#P2@_t?! 1#֞-̆&`#HA
-#.sC\dnsjmgWjj,y 1/x8Bk$[myypq"+f3~1֐hTYJ\˶Jp0`bMR=py:(U*O ^Uo_'|DfQBa=ϔZG#? 4#}$h jsgY dI+?D yY}$S%[&r]5Za#IkWW[< tz:dʥ ͋n,c$7 !8 >ϲu:B2;^;T#4$ Ξ,f !ԿYqQ4ZpTfz6 7Qk?=&(.o>01C+osP:gLػ?lP#5 Q6s\E*v`D`ֵӯ}r0Ä8#'BS^O?DCt}~`GxT|׆ 3<N'_"DĪ<DB^^˿쁞( 13࢐5@[w; ~,.$9&vz}LJt  HѺ1Vnl(h*gKGk/A#nw-Kaw?y.Tky?'} 2W;BmS:XBuZ0 Z[We;
-@$L0q'fS+}OaԾ>R#_Ѿ"_v^/fX.L*`>{5b>wf>)Ɗ!"'b
-ͬi@!*M~HПagk gd!?t3`DzIh:)R"Qc>FNE0wsL5[4UcıSz;D
-dv&Ans4)|k`$EY޹^ϷiZ̢:t8tp[#-ON06lK?e@gi!,VSRؤUl~9f
-ELBu[o7<;Jb}- ht\}^d/(nC_xy*Q%gGTFi.d }D~8wt=a'1Ɛ#iTwP2>a53I%{QYWfо.u5i0HA]L)Y 疸W
-'t9Qpoa~\#jDj&8ЁvЮ7},̩a.jͬ;^s[oWņOe?/=wphJ ܸۤ;m@fɞ'~`_?F OYGsx$@ZҺPb6֩W76{|\H=Nd5pSF;Pp1-b$-{Uc9ݪ̂$DSE~qX1yh0 ;]D ҝSﴄ>#cm
-ǹuG:tօ֯aul/|ٛZ/"l TTXE8$
-%![Ξvʈ@֑G ,4 D+X}ATRw7՟Xk'EߦbyT-圇"KGS *|9?]59;b&[@VBZ^,rM1׿0%d)iЮ,+d>u)]Qw)| 2T|Hl&TȘm֪tޢT̉=K@.B$}2&rcD\DuMQcc< į+WEb [w5
-xQHc^_]j M(n< 9=mن Jt#(>
-YmP:VlglEЯ}{oF"z%֭"G)锿cgM*ݱq n)6UIz\V}^k#ٿ tJ|Oע%
-6BIIտ˒*uLr.WW*F|q<1 22
-[&L쓱q5JӧqՆJ-RϓdiAJ.ں1eҊȎHŽ?Q%Uﱲ>+C%AÖn] M[_ֆ<IbIbRZ.௙~Y3D۲ %Nv O r#7ً4CޝOhJ0fc*il#t<Iqc,fF:1x[\sܳl'i64؄d߾aA"':UL }7;8R7Qf{Sz9UGu;c oR?Ę 6H$1ܷG3N3k*RsMQRX>;"L&wKO0Qygş` #U;-XKI-a6Ť賕q6yi@W5"-Ai\DU[3 ?G[A'?񌳗)\Zd]BSR/LlEQ" x7DOf'Dd=$j[c9tUi. 'AWr tFikRK']-]߮\@AJMհ8
-s8 Vn U#"/"8,uk2 p:it)+u$xs $ G{|@_0V?h3I.}9Iژ5 S/Wr7_ ߘ~{6be)HO:( (dHH1dn┛3w])*}Ml`<o߻W)KF9{_Wz7k! +Q'+'Ac#%eK
- Yx\FI~g iWzwFVS=;\N Iҩ Sc-@Eh*!R<Ae̫/
-?WYG }Z@ x~ЕVmˊ`MǗFdLZحT]wQLĆ'_3(MFw_O^g
-ط|jWdT
-20'?:x |%d: IҴƕˮلWV>KhC*K'R&GojMv4ݾT вg 2L2Li-uDYrϋYj[Ѐ:D+c`$8;g&8Ҧa?NnX .M,K] 'ya? tl}گMNQ,-ėQH\v0XFʊ A[U쇰 ٳ߃9+TȽtkҝcIN8߅Cc>?#A+E{hŵivalG ?3%DV[-
-VW1.` A|8w/+#oSImn1ipJsDe*Zym䁀 p?,#__@2Mss!kڵX:+KM}ɢ$)O{%cO#yV\IXLAޢONԳ"[:_p,n_SFgP\Yw<ŨgSz6 rUS⊟ R*ӤϨ$o[BJȎ[k"_/>XZ3\pyKb\E&U|t]qXNbwnkCso7bf+߰GLٳ=&OqHDIH\z1?ɷktVHb
-=}.C/6DD5OEݜ[׃T0M;FV|,)U:E3{?$6`^Vvl|LI@[C $Hx7S9uf
-w5~+弒x)CW)w6mҿ꒖4XDd8Q";{Nǭ+ȹѷY)oĽLYT塆5tdKbBm}:dP~[B}u!NqVUDG$A]皔c@¾q2Wü Y &L^ } _ s:1ݝ(pߒ-:Ln"+A|pF)#pi~\(iNܚjl,rSE28姮֢#_ ANtիwH 8Iܳ
-178ft:G;Mp9⽦sf;JA>[NTdb8©7Q;Mly5@mLceʔ͋qYn),JzҕhX#HI|*) m&IU[m
-^~O@4q~*} \$3{Ϣs1J&$!
-KXoQX<" 1l.;Bu􏔍U58v0
-n̳N4ȃڠw.b Nm?sGui6]X@~ü9Rh]Tp w0lU!)4N15[".EHƥS
-&\1+LV~ʍ'fé>n]$τ\8]hjavEsZ`,oEv8kW hynfC5z7; J/Nʦ8)|o]@li
-HP8=~35'UZ]8t2[46#jS SS$j
-Uyuu5Ϩ
-zo`\iR|45_U+ x489Vg!ٺU/?|$D
-UXn
-FY3Mm.!0z_b|e(O=`ˮ(_K~%[Dmߎ\V@Y=9"M/Ɵpa%8au?$0wy 0X!hЪ)e9T^-+'.(U\#O_[ eOw6u?۔
-.e] QYx{*_0?T߻~ㅗ_Hju
-kpRGcmN9HMb\5u3 /X,i;3pV"9{ cN'Oի}N½s"+$L@ h9ہ;۱ V5w)] s?ɗ<?ӢRn*-XIHPBh-a;7Vɂ|yN4U'1+7{w+Ǽ#FNk"I\-fnRYwۆߖ^w 3}$O[>hJ
-HA1~W (_Sr@^ю%v~-Ϭ aF*EѤa7l[55^(ϣX-k}…xt0}H]M+&קSAnD*ԙ.#T<_}ggT۝J+l;DV"|aP1Iʢo.J+LوҁlĂAjk8GXy,/&ͪUZ?'2J02mNW IЭVH9OuQA2HVnC
-'bP^:;\ cv\KR?~4HH$l˹xh hɈ`R(>lh-x >/|1wE$nzLb VF_k~fO<v/^ҏ1}d6PM_LCq,(]'"9$bUKaEnAvE4d}(EԐ,VuB|^NhI! >v2?oWux614;'sBv6nYOQ*=EuVQ.ju~8ӈPb((ߙ5eYOjސ X7yx ڝ"ؐ d0k5?QAz"|ܖvԿCB,6ʢ9p6@ 
-Ȭ >:᜸ )8o!6>q4m>]n)Τo}k6@2S:c(Q`q~3>j &Q溳 ?rSʗQ~ Jj-8H؋dt+œoPg 1ȐK$8U "{m'e(M7l*, {jwر(P v4 #rrPqY;׫rE(KYr]$SՒjN^Qc kɔcorP"I:>*?Sb=9haBp b~c4l .S%6.=A9dY
-ۖ`gu*p|gL86Q\.F$;SQ`X%:sf4﯍:~+@ _+?an,ݱY$fI8KDz%x~@a4tܟwLb9r|:ESax HqDsЬH^K
-pjuWe }1G*G*ͬ >}U 4@eE?L,ec<xs֨ij7Zd\NqKKcS
-b#(YV$b8;yp{9xiME٩GⱭԦl ',P!myS(E1CFigyzE6Bx.LTt&C*劯6ିo;ʸ8p;Tl03Z6߱iXR XՓ2kBֲ9c txB8Lv7K(3݁b~Pz 8*KQ0牺6'blf/Tz NAm]! AVGinB_#Oݦ]0G{~bnF\C~XP֗+oBZφD^ 9eU8TɵmV?|}ӗJZ
-ɂ);% ]CW2;$IJmۅr6^4qbԸeY5 l3j|#"MJ4@4xu.=3 ~`"_2=p`c)kYk/z}1tdeR%CBRG]"e]4
-4@IqMGUFĺo}Lӝn&fAd& ;1ð_ܭ.0PٖPoweee.9W,ۚް+}o x5
-]Xêã(7wۿRdtLHu{BrZk4,s}&N&9'u%]%[R '+ߵtF3115, {YkTͼࣺy}K_TjLL7{*[$A3\V<p|?瞤r(chH6RFY3qF L6ȺGIѺT|W*nT)G}/j_nߠ=s XC6U 1ߑlþ[c@ʁ :J;X
-̰_ 9AuDΊnxņ/ N+|V$Rڨ+(4LdѼufd,&ؕoV͞a.DzO믂: @z5f'ih' .3),7Օm᫈n
-שyѦ|?*xFRIVbv=YK3y04vvфSaEg5MyOG+Gx$' "\9$D^b75$G Exhu (d"gdEܲ-[ bh|8.SOH*&_QjRWe*8~tLh Yt)Ӡ(!.PC!!cIP/`KZ7<ƓOZ^jrʏO+zM!B2n|͂ 4٪ 5,Z\oUo>UГMp a*O:Z 61}4/ie
-4XgWvp+n I]r7 ݸ' L.A
-V?J)!X0.Vņ<69"'G <k p3kژ*۬N3D򖺷hVk24#8@2@\@T!B \~WrFI݄`c|ݡۣ0;2}ΨZ_17Ie:YRvৡAf WO~W[{}< ѥ;+kB[Tt2&E=:;\dPfgF\.rJA"v 
-`
-pw!@ )e,"'Fa
-O'B<n3S
-1=?~ؑ9+N?B#Dgz휃Cj^/6]XXBP D} ؈Z yET"~^ƕFR;|Ð  9zdJii~<j¬IpFغ*ف{2W/Uz ƒR JO\әvnDL!2@
-
-n"{T>1bL(vp킑5){ϿO5)#/Қ&3rbȔ*H !Ġ:?vJ}Q6KF{Ko|ײ;CR[:'2F7 52
- )a\Xa3KOjmuI}y`˵\GEb@5t>i,RQT<^BDtG٢0(ljP
-w
-+CfIt돭ϻ¸|
-J\u;4qex 1%YtZ-^rWc\~??};?AD6u[pRlpx;ī ֺRGעV0q]Ot:P<" }r#=Ի20 'Ӆ jΟ:(x 6G h>n
-F0+7&=SO4/RYYuӔebՂL:} OI\F\
-(Zb+QQsW(d SDGWDM'tgͅ9
-BEem./`7rxC NWeF;{X( W
-)VEҟQE-"}2z{|MynM|HHjC-_A5B-y[?N1k(6aAcjL9AybϼAKxcUM>2'7~b `6wL%,-G $[ol|j.6vG `V7@g*t%S\zyM~Z*ݩm
-Z|`iALi@o,[5V
-9P<FڽWV@2X*X?VE{ Re;qql~GBl;XHlOv&[ȇS5KӍ) jրw:@lV2dOR ~z: 2ҁ_ie.)uSu䦈l4UN_d&1HoFa{@5XR~ #U.J܅3f_tlIDb
-)c']a](sڒ:Oeq4!LtVۂoD85LƶiqY+({$. eMށ/ 5IJh)v
-MrDXd]\dWT/)=Bgѝ
-nZC[C(+HY{JP`x)!8-Fs Z|
-gEg/BK++<D Li㺃m~=ߚj?ѼdN1b[ ^•1@,(䆭( <kyicT%ieeeESwS7c^-Ή.#hdH~WFDU<]?fۑSN$x!+)z)Գ_L_
-gtI&(*NQy &Éiu`s50ɳ=QKTt1ZlΔS{2͐7Z8=#L׫(7
-=<8?\fI-w^/z Ms~
+xڴUXͺ-wwh=x @pwhww]Bpw'86Z{5=O?tSU}є
+ʌ"& #$։ +1dT9[:
+P, RLX_\ĔUT
+@^#wGr9 M V
+
+t4tޞ3W
+wO
+̽-+;G:0(zZݘZDfrc5YJ%C &Ogi;U&f' ,f
+k P1Zd_ gFx쬐wn%
+l䂻\4K@יWЍ[X!PBq(Ӟ1`{g;>&G$]9"^n$؊XC-=K7m/7ʃWm)u "č)UQ?!v baQr
+UHW}s
+=|gkCc',u6btUAQH JT
+7(EZܲe,ydn/pP lS*ūՈ(<t> [n^Nw`
+ Jt z~qzn Nox=hU
+WNxȜ9
+m?i^@_~[\1ǭSxH7$pE= s<eV)Q"XW(C "`Qx h0D_EoSa(B0z٭ 6A$=Gt0-O<w
+*gNf_`~q_5PNz"5ڵIMwcR8/!
+2)5+ ߥ&.1VbC&M?#۵Lfxȇif~Ŧz_[ՙs| #~Y{/{4M(D#y[= ϿjɁz' O=8?ΊRٺO]{xTd|4!^c
+9( Y
+`f|hsҕ~*R 16%1,:v_G\gUINO;ȩզmjĔg\PxV`=C-CsB}_8t!:r)+x'AJ|9W
+H͋,ݗ56EVQ;"5F
+{ qJWY`rAT" s-xa~6{S]QmIvPgmTʽMpO]ǚ)B pS)YCLDue^wP6=Ӻu{v{5‡\''K5>C0 ̆$nN`H=f+)β%Efy$p禳;'mpZ<C&ZQ7#*kkt!nF2 vo5( z$uݚ84,Շ_0o~n+_9cF*Z$CRJ:7)QpxRCNeihB
+A^eḃ83N擻M>Cx0&qHPam)5Eb-|`k4X g({⮛yW{ZڲV )aWO"ߎb#j_Q|7M\0,`ZSJ
+N\>KEYj9
+pY %JϽŸe36FoKhRč4$*]V7.'deM~NM譹Cp7\qHwōVk}#) csO#(v֕@B|EUJz'NN HR [ mϓ۽_"N;ݖGzTd/֚[n8`lV2Q^<Sb6LH͎梓?h~UAy/sk5ײ~U-V
+<ee5ۇ^\,>3S s >A_PQ>1 V}B踮Ó :O~>l S8h1Eޠ|1N ~= IjX93F.wtn1lxo(wf&ݍ&$ no"ұ4x(sn2yX )a%<:C+^,l_emHojkv.6cUI~n/}UM<|g<;QLe`ljZT7g"AyѡFaܷĬu9H)vmv&#W81/wU
+|zkQtO(uN ޖB3!]O*Wz<3liW⽆(CW34CD[9Zil~Dl>H Hvۄ)i3G
+ dۣ ^ѧԻ >fJ~{J^CES{KݐFzLz&gTbS֟?)mf\CtQǒ\9>g.=ouU{hD[}5Nd[i fyTf,
+9'jknim߮Py_;RKqƛUBwȥ3/DRh^PV /4ʱho"ZF(?6J4cWF*aX7
+2NbxFCKbVh2Z5Tu\J~S.MkEV"^3wۏ\=(kKDs 1ܫ98Ul}#Uf |S\ sOfM/ն!0_̰#_F[OkNӠk=7e.Pc+yv>|63&B7Bˍ9XU_3Wvskڛ4Œ@/?^G|?:D۾ĵAݏt5Vt.ju]Yݪݝ2OtZR,|qjuKNrw)_9PF x/vˈ(#6ة\dy-4xΩ*<O2bϓD_1c y+,$%SNVuXs8qq=4[bʇ"w[
+(*GfhJ0 Ž )z!;cjǼ8IA'&߅cAƧˤR[PhRNjNc.Qgh,췄V
+ UiOI+o".T8Fi ̩)P\
+yZQY#H{s_MUʮ%R.˒'~0[ЧjN G[t<~rݕ3~. 75ewO+ϠP~kBvq8]HPaFxj+( HQ>p,U|*EbԆZjDA*^2v*)Qk!sXdJ_ݢ%Np "Z" μFew +k6w:v9U( (R.
+dCG y %-kYNaƧb>97cTq"Ree]f$Пȧ*UKKK򍮓 Ug2τd4^E?Ce
+w!cY&l  GT[J~؂[ %%-|#S(t %̉;x\]yTY\1/zqIe)R{RMC2l)H7΃4!f8pDl—VaYo 9eSYrsoZY3Yl ;'VdOT{7) jqO}ӨIXm "5!VܮFXou-w%V8v _ZV>/Bj8h4Q*1S [/z/(hٽ+G:0y<74`c\U]i 5~9 YZKaX8ׅc`} ꉀFE ehu;StZk%R'<!F%Y퓰+JZ9,nUټE"ѣY>9bՕ?sv<3%Dhp EӟJ է
+O/17!ALݘX^ 빨^RdZj}"z[23r>@SԟLS,񌽓tE5V 8AڇŘqf3:=zG?#ۻ ҋe*L'?,1 R'טS2& _%}
+q"TY+ v\v%VG& 6b./^CunBMiQdcR$C:X<o Z .0Ѣ98zOjpۮؓB/ !5%1+E^S:xkqPN˹g[ ]~2 {[f/-\hM9k;t8*;
+|-7yp'n3j#ʱCXu+{'@j1&qDd`X7%.M+|ܜ,z^"]b p*\<B}0$д=fyUu1ڃ,PN.~~fL(go4Vdʌ6Ľ;ʳ
+JwEK -,p}X^ݖ,*KCbaHZר옰A#X
+C/[A^+s$M#ˎ<8SMq[ 8/0hN*^&),lnw))a(u'OX1t*GMԁE@%;.;߸!`r&@Z%vk8^KBm SF'fԊ ?5z`U]mNbk%၁ MDJVnCu%tV uwD*3—J5ihͰaԲvCjdInW|<uN׌q!ܴ])8Ls!&$xLԊR6&dЗ<7:#bHWW&"=[8KHD܌#zgWP6zвfƺam@nß3KuR"F#
+_#GImPfTg!!?lD入W3!AK tZGiY{ q6F#y+9N##&)Ѐイ-m°jS%RljN_,? %XĨh9hu$Y @,|ж^8|`ei;9 XrO".'6}ɚsd ɽ̞DנHzECHAEh)#
+t@Y T 59c?*m>Sd|?sS@=¹ 
+ȿH#5`1S,ڇ)!>lCB$fCrѐB&3@XϹZ3qF'j/K$] S.&2O h9vTn|9>hU~FA=<T*?ZT ̇VV4(\AnιAfNrM8boqn'IX"RuHtRFhgF{)
+/r'ivdGep:.$++}Lnd'<dHGLdzC*gQsNKt *ʂbqLI K4`R>IEe'O}8W;+>,4Fb^{ãV(U3;ߨxK6q#eʰ3Q+cUʴk<<q81;c&JOyUKZ6DNO
+aA]<?EŞwk$A//ʯ(kHV ?LɨZq@ `{0+X01J٢9Ȣ
+#89P+)JP=%[#K&y2/g4ۧ/Ik~/\{Cu.&
+<W4Kt`iEc諣]Qn ^ WC"4I,"UR'We oL*DW6MPަJ^_vJhse$o7wZ|=:t
+UDDeYr1J1`Vi6YMgmxEͱL
+2_B =WT0!<w`~,ORr2(TW$c9O(w"MK4۫8al4Gʳ| I.̼4ki;11~itfdbMUgq퍇ncEcE'|4zn.rzjq6`SoYe}F~b?up`uL3()kʪHf17 &䶥T DS2S.Ds5qsy3{O~VAe]UJ5\IY ȢDtM$u6 ΰR)#9KMzC%]bDOAg%βk,6a/nPw]s}tuSI]4mQԶd!(`ܛS]3@쑟yX
+eܫfW;ށo EeK
+OU9 ў.U\^-_qERay*,b@{9&FM餝' x.$<8E,*"4UǗH2ZeQCaHp=Zo-,jFuNAkaO
+^2i1IhF?38E*V>ߖ2Dh]t"@xR[
+m1p@S-@<c&f$D%E[cӠ5B<W7cdmoA+dɣ^
+3=J,ؒYs;Jmn'9:A^dX*߇':RSZFħ=| +\=\3/MPb݆ ty׬jg駬 VE`+
+ ƢXW2-d,Pr҂fu<(l]o308g\/.a[x[xtf%3'\7*Z J3<n}iǤ&ZxЏ^v\kkm6GcX}(!4;(UCg.= %l6uƻQ~v哻]W9v12ŜAtEB֔У)>Ǫ.p_l4(T8vG n}x<!qA#=rm #? 3-ln0HBvnhXNp]
+n3^[Բ)uZƾwI_W<midXd=77$aUlݥ0"I'O¼ĕY@N&^D$󙟶=ƗO]uL0K
+9Խ 2w ;ƭF9RmQd*fw J9cX H>Ks<$.d!FIoUe?w g`mk!DeJ<6f@cTQ7AR 7\*?n2fOE=nY% Bsݲ~yN6j8π>kS6-Ha>B9DF*kN5Qd?ҷ<·$?)_'?rETqJ.TZ^ 24At
+愆0)!,Ge0^#OocB3D.t=7Px!r5\Z9>:iä7!GxR7c_-/гޭ@
+ jZyYc}N-I\fl6kl{_Z:mWn`+g)N
+guD5Za8LlkM~ 7UQټbjc籩.bgSr>؂Yg+!ЦhBs)/1^+:"/Wtl_HL67N +=>_1ͥ ӑz5j R| X)37Iƕ%>eF,|TB%A1ek;\w+cP<|tQͱaexawxmc祘v#P\$4)&b 疢lour~wNWkRf=8`(o#c0mWj"ŲW/ɐҁ3 4:C2ۢ OC. G*
+oNS+El:Oˢ ξҜd5}Z%x4`6=w[jW85 C}<'HnM;Us=O9#-UsĻu~6oCzvF>Ԏ}$,$G[NU9P#[v&OA9jțs&^ZD'3:a+dLE^}y8.H]o l?E44'<3+ZhCڈrRGK<{{鮕lMcw-^a;c}&
+b1!=qA5 --ɍLm7} 744:=%"!OW8)\7Hv-oT;ԸSô՘WHo0xT>'??ѺuC=i^HChn aw VVlے<</˺p }RۗlYx}42{ab0zS^N>Տ zѼ4ڣ Қr< / ]Cw9BK; oэސ>}i^=?0ҩZu(6gsK[D4a~%彺$6-| U湱s\4{>Y0b5^#$34~эg=ԡaW?ӈE:X"C3D ǾL eRA1$L]=YviVfƐ;AB4n;–F!X
+/+DAEÙ 0dIؼk24|x'
+q*BVF
+G9pu2~qDv} *>ˏfщGz.Me[aJ/?S,#c=BEöih}e>[E2bQqG⩄WXR$ Cva"%ElXAlֿLq\4,>.+sz%^d|BjBM`w鈧V,kz:ol7KDDx _d~g񒋗;B
+Hf/Y#OЮ*EQr,4:q)@̐C(#GxLԯ]b$ 9-eBUcDOןK:*PՎSrKWC\wQsû[6WNɬyË#TCaFL8FriۯQ,
+T ?c}Z4<"ryb%4E1=6 D6 7SPf^
+qe@Z.)Gz:^>/mQRjsOdv.8=ut,3yA+ɸ8_G$ kmU_;Ne8~3rlF#o9 1)ƳSWbT^SWQ-ʡו*q(-A%?W
+u)֌;•\*&ȧ_#s;jzx0~:ʬJʚk'杘C\,y<qDKut~*8=]tB-Eryڇ歐-`1E+X3~r S0pns\aw; Q4K&Z&!`sOVk!JEJcхn<q2G oxSdqrёeFKlߞξ`ŝS矐nC
+eKPgE3Ϙywb(LJDX.:?RsHWLϓCo*X$m|qo>n性2(Jd6RnmzI
+]G 
+vU?Y$rʣW>DkFRdțAԻ؅kh1
+<8n7bJzP9EUH69Df ]U<NR,1L\ h1Y:TnZ5Px&I뤏i=(xBp
+ <?qA' z1IʞZݽFj1H6KO@lK
+
+VA6Gg$T}T!11Ă}՘hQhg0nI,asCg҆PR{!\W1ϰ9:byD G+ܴ&uA=JfI!5jZJ;AwLI2I-ygn~~ A7F_ ŀj]*h<88~8q*ar˰P%f[@D&V$8He[+պ ݻYOTLsJ8hB7
+y<:27mx;1ыL}\uuӼd4|qG[p0ьF?^JűB$M"0)A>'qӡ3
endstream
endobj
-662 0 obj
+917 0 obj
<<
/Type /FontDescriptor
-/FontName /BHJLJC+LMRoman5-Regular
+/FontName /FCWBYU+LMRoman5-Regular
/Flags 4
/FontBBox [-566 -303 1772 1126]
/Ascent 689
@@ -4616,81 +6852,84 @@ endobj
/ItalicAngle 0
/StemV 106
/XHeight 431
-/CharSet (/five/nine/one/seven/six/three/two/zero)
-/FontFile 661 0 R
+/CharSet (/five/four/nine/one/seven/six/three/two/zero)
+/FontFile 916 0 R
>>
endobj
-663 0 obj
+918 0 obj
<<
-/Length1 1652
-/Length2 13812
+/Length1 1666
+/Length2 13975
/Length3 0
-/Length 14831
+/Length 14995
/Filter /FlateDecode
>>
stream
-xڵeTݖ5Cp`C)*=8-wwwM n%{|kأȔ՘D&@I0ș
-3}`RZ;ؙYY9V`3l P2u~K}`eEHA@7
-{K{8ZYX:ҟlQf
-` 22+0noF+
-"2jLo1)1;;SOD\ `}L lg }Vo<9=Xm@`7[0obϢrpʈW m@g
-`xO*peaVҧ sɁB_3}@ET8/?Z*~*Jh2kf(,usfƷ
-P,nr%=pa"m|Z8"|-'2J8-\1)YKp=CMBT񋨵?2:j8юLcF`H`k"<w:4#ːA(Pec|q3S9LKl g*wΙs? 󺦺J
-%tzL5-7=2|qgi+D㙋`$$ 6dmŻ:\xŲ{5Z
-A=*Ȇz#n Bw铕W1;
-'bEMHÞd#w'8xu I .Ge#*4۔EԵ
-ս;\c96T> EPg;9D8t?V1RKDQb4z(`jV5IמozAq;d_p&ؘ3fc:D"Ӕѵ ++ܦ1rsLU4ڈZZ\NT=lD+#}A%(gGdz0@_
-Y=4r8 rUU^V`XFCSt[}jX^w)h`Eũ4S
-46i*{A/f+e/Λp|)iArd{F'C>@~B]$̯68x\=$c;BǠwIٚ|XUWW8N*NeQmM[&|ݦ.v͌X{j
-3/}$e?u{5hx|!$@vSޜ̷
-o[jfDjy7(9+偓
-'NmF,`EXU񞖷:)ϷI1}q-n.B>AУ7[48׎G؃T1Q-_$k65jsWNSS he}(w7kxM~%6#"|kS>‡goɔt?8œ|_uѢz>4Hd(3[^}uǨ*>|^FI3)Zd4r ", u"%*͆?L"WjN2LŚW zo9bu,
-Q^da1Vċr DX@s|cND+m*=J+W'kѵ-'|ʇ&I74]γYwV.q>஌WKgUd"66f+$gz!=8#r"i{Ws9mϼ4T ƵeX"˔{?E}Ee+,7#Br?9c.tbXn$'Z+ط7.vN4z#1N:Ǧ2mk<>w9G? l}mw<5Np'B!,QdҶO`I "
-/1mG}MGɴ[q&uNEVPlޗse. @yT`vk8f<%" C_i(_C'"`>}\|?y!SS$ļeIˌ |p6Q?aJLpu')"m6vl*]lŔ+JPWlV9*o!Seߍv7ߕ]b;Ab PX1K*NpަE>- 1_;|` Gؼ'nu9BpU=ue3^T̫B"Qa6*P,Hٞ[o-kx5򼀦){U <5В6 GѰ &<139dYd髏8 eVxQumDMW[_ud9) x -MѠ134e*v(:f2܈[vŒ|] -NL
-AqIgAq=U1GhAR #Sre
-r,L|Ϧbn9!P+FXfjDesM4( Ӷ0ẜ ¯XCFB3ͪpi yjt5g6r߈qi]H=#QV~O˓֌2: ;9K-e+yژrIInc ceAG,ǕmqEzʩl KJ0꧇jY;GX6p'vXލ'^5de06VB nR = ;8K y\؏xNzuOD(Ŧ=8'Eúo>Db+Nxjx4UێR-Ս1Ѯ:0 0}B#L{7r[U~n[A?_&$HsMQIZEIqW^`m[
-MLtpS?FJ:"n>iI-T|ȮIΌ{UQ.Ojĉ)rJкlSA0dH{I^+H^=6LYE8@NxOA"EgPV$}/P{0rCX3wQuKCozu *ԃLjY՚مSDa9Vq9Z1TV棿HSD{sR6D.P!Wlwr%@v!C1*zPEjs;GĂ|Qhfx ūv;YXد3(wN"+Lك>t;Pw& ax7 XoT
- [U;<Xr-3ˡy7d;(<5;(0JM6aם ®B(#ABG*0qB5
-<7o*g4rmCe~mlCb(} !,ӝm {/9thI8kԾE@ӻhGr~'|Q74HV@<i>஁u_y %MeU?&i{H&: K˲2NpS8'Q &q浆RRsVg7lqp|[PKj -(K)Bo_#yK\}(Q24ӫ^óH!JG[nce>hxh+#QvTE-hU}ȈJ1ˡAO
-t%sxDq~}gO):URew IF`mrLRe M7"]*Z``k+X?rke!Nձf |S(ZٓIq!w … L<g't5CGusNmP6CexA^#wwY
-S7+_?u; z, ~wF?ȑ=mPWl6wW1>- |,%*qDRUnW/v?4$Go[{ KAT-lX餗QjҫJZǜ8ZANo%IriK"Jky`9V=4|lA6}Vl;e|N^ ⽩|ODKIrFe˱_eq6g (Y=H9#*ɔn%RQޫ諎ԘO=)τ'7BHajGꗓ_
->OTxFYL.085C3nS;CXȦ-O
-p (&HRwٿx? "泤x€
-K J}I#Q߅b òK}ǩºU?hӔrTfh) "5C<mدP:-PeqHpE R'+a:FCX-}Lkl p~Ӛ>1arf{Ûg5*E} ,`>53eUJ|D?6{ W6y{/pjx0w)Qw>#N"+?@qt?koQ&(N߇/Ȭcy{N9]fc8QJ7_a
-`@f}'i1Ѿs,S g)2<KwlZg*(9se+Ƒ,,{GB5}
-`k &9}_/|Xk*24jP[cˢ+dTjٻDuT,u\|k<t]Ju000-/<kg.Mc3Nfƭd2Oo޿D$(AN"O;sĆhkl|)Q.=qߝ$QyYWS&@& y1~
-r9Nb+x6 ?ߍ0xZ S/K>-񀰺2l<¢vm:hp+ 8ϕ_~G &'1TzMo օ@s|bG(=ׯ]r08@>W9TAXSx.Oqޗ̮V&[aiKja;߅+M|醑<8Td6nu^(A'D镴<J~@kA]#3f. {s،ndc|4?PY~c;t+SjZ?s k*cbDz/gsVӤIzߗO?mVB\HdCd>g>~,uM\ރ([gFVPc~qru[*,?Sw;\[<rBs-mc@)}X!X`ݾm_iSs{CMmV2AO) ulOOMJ-#Y` u5qJ Β2'FoWSB} {I&y}ԉ=-94swî"o-X$P I[N`yiNtz-9M$h_'giU* !;W,*51nq&O{s 7~7?!u%@nZo*%HovisG."dyGUnH8xjJ 05{rY
- Bp++bЮ*ԉ߃\TS\څ! Q̌Ĉ){I4~Ph+r!WjhX/qN
-r}Bnc>{PDsQ`okTs_'KF1մeg`pC) ];JƓ͐o[zh|"rHXTEՈS_ t*Ypf+^H0
-L$D=6H <fœ+KWrƵCI֜MܤjCp{ދ\s^&k)v.…\VsZcH鳖=c'
-ac0s@ޅYlSklP{NĒ7" wh{>VW</Q9ݵuW[ݯӧsxk_LPu0D ]%*s#Ϗ:]~S|nJMVaix`ˤdNٸץdȺhH47ǔpVvȶ?i1a$
-c zy7Dj"OX6E+ɎN FbFIϴ6
-*J,fq_|Yj7Fxyy;as2p/;aR^Q]-z[Vӕ{}T- ɴD߁h|X9~vg
-EHzSQ3%_l;Ue`H+dguH AS#Ԛ-X"ԋu;.=˼JL"- 2ÐNbi<f2|VsV#;̃e෴{;1,o吖
-* N ^ B1eR}i"cbOMFߎzHÞs]IcTt=`[B$׏ᇃPH- fYF.'ڏUm鰒uC˞D0}{be>
-Gp(S%P&FjͿiȿ=tKS11,XZmH,ťhOuʹD-W*;J.*
-~BS9*[߬<E@:czθXB^֪v|Gl< \i
-dɢu_h:ju$MÖ)#VwRysXC1î(z{ ddcq<O%r8ߍ^݆yo.JbtГ)t'k+f@ߥ?=#GaMKk'ᇰlQz s|t_mm5}7qlEeƍ,:/ӻ_R
-Wjm$b:n"INYpIըMĢQYՇybJMޕUReÿĐH2NC(EG
-@d{_ Ƴ% #x,% kJڐJt`cϣ M1_@4ZZl%]\Ho3vPDdQ%8t=kW #x$li'&yюՙϬk
-  _vO~2F~l mqob4 i)PIUm1paK]AYΕՇ6f1(0#`ʖ V~hwнi--KE+O1Y5+L]$ff gtڟW6~&H7ڎ~n"+Kd.ܧpMoHL
-.5[IPH`/f^}d>Jں@>$v\N&~ !qẾDWUG(a4Bh^1F50aX䷫ Bl|u]c[)_x{Ƴmp"gc7y5K5''TQcWX*FVj}Z?306& n%V=+CP5q҈6I'h \ ϫ4-b:Ld"_%CI$&zm%jjbcO
-iBLuloǖ{;dca )-n= NL vqa5g|22><uBt%*;M^y8tkjn}WG+Y`\l)V7sC
-Mr3EP+epLOW~H[5ÇL͘B07_!dHfh#[PNsO`o'kj4b>,SJh̃3m 8[㩽6Eu/gd2lrt%l2V4oLKUnRZ@l(G=yY"Yh՘1!o]D&a5(x4nְkWX!a˥(cE|?@
-5CtY,F0CyQ4.C-G[&!VFf4:/|?VmKhJLwA23B >}}h e$@NbgLBXq#}3\Zc]LY'Q-10sXݚá%,"Yӥr$ m~rGOFF!`'a l (=w;E҇@>E
-\ aѐx^Ӥӡvޅ$uҗCh_qn#sԄ6O}Z{p9|z5Dm~=
-Т@~7C_Yto) fhI^i] Ğ"fV/^K
-͕4 +ʶkUcR?XG4B/u;$Sa ~%,ʠ]Maכ9!. |=VTnUEt
-^ wE8D?\T||-dзu!6 E{ϳjԒGw.+9{}%7mUY 0rB߃J
-sJd^SxKs@]h˔V*a9\6:)Ys)
-FUbhUEmxCnEf08-Y_(bw,$s8:0Zc [
-+nVU)<8{>WeŦf+.rkKNl<Cq?{
+xڵzUTQ-];ݽppwKp'Xp,]\׻jOg_EE$b6JALl̬|
+ʉHE%4vč|
+:9
+@rIiF[қ?N@࿴4v+$39A ӷ@gcg'_hF@t9wBLOmANVNN[wsfV6yI U5&7ၘo쀘ݝF'".a
+L/
+j,Ol4gPI&
+>ؾjN2S2%D`V̐_/ ;.hk!uGOb\$땶º̱5b;b/o'\jt~e#D?k;* g݉Wn`)0 `1l, ;H
+(,.Hxfqp":l3C@:&\l6T"JFĆӿXm, ٟq
+ݏ>SV+\Rgj m=H`[_(zu*ޛ񰊴cS:csQrž#j&w|NMI!ɇbXl=K^&2,(z}32:uEfgKW/yȩ 0 qƴMRN2e(Kr{:HJbnLZ#-w߶EɔwR&EHJrZI~Ѻ˂r*:tGG[.,}|!rr'` } ONޖ:|ʡ?!}6>j]tFԃEj.p~{SE+0q86$!%r~wmW4L yC02'x5k I}MNx:ҷ&g=u =єStH%wò,}ET'闁wUr.]]h23JŋSM,ה<cI{Ksl9NUA2BteC?Vt} rRXgt3)Y`ъѻVoZ6׍rzǭ<B$]$@nURTSqsuEjMP"r窱o6nSIT&qws^@ә) I10l#`jw D|*mk7|Jy6e-xSF{P2]~t̚h?%/q,)q:itӗYxkϹLA1 /<#.g41:2Hzz n3~+~,>*
+t(I>wKtj:֌1XX{qt2M#v|NLţ7BߝrJ2墼f?A^<o}bt`R.Qvxl!زxv[=l(խ\9V;L͙BǷXd'WM$aI4 Uݼ3- q"r9f7ሚab&%vҍv)^{~hw/pZzRſ £;H>{F2Âǣl:B+XJ"/-egf%rD5%3ux$- 0nW(\홃Ro^{Ks]?NkBi߽֊q q9}+
+ GGq;]'szɛ!m$e̬2wRm_;h|<J Č^w]#2}Eia13#ygouQ_^tXS"xbCay?ܡ]"7?(
+Xw<t|}$
+0yS.ư rrHNw)E٩$S
+󙕋A)RQ8
+6-O
+英d-Ǩ{+jr{C8yb%Fy+\hiyc|%xfآ@N'c ]zոSm8@, |Hnp<U虲
+kuыk)oEqd5Cw2
+ZpG,Z̹~=F
+b ~="2U9;:!|wV8
+^HJ#C]Ga/x%C3TBº{Q_JOyWWOrEaӟ/h5CEN"V(mL\΀h0kPg K]"lCJsdN/'m$S^N䱝0pU'(VqJbѽ)Em}nY>(*c͓9%FSnku [MoWXTQZ:п]n8lQ>2HD9XDɁα}<ufN.KbG@wiG쾴WV">,1ֺ6S'0 ^J /zWqN˻Ҟˡohsr#HE:L2N*ܿT;J/J4(:8;ꁒ}{\]"$'pzpk,r&zt~9k)g\;9FG8 joWe?v#2 0!oM𔘫W; G 1D-Hν?% 5( _P,M0!jNҦ9 NeYBCuiz_Pb̖nъ?^0hR_\sƸ=r5^w)Sh(_;:aKjOT5
+1cYgR6#!8 }ԏr8i2x؆1F09CJL#Hۯ dL ۥ1? CC"T%4'\n9-dXл@®Ƽ __ }}^^l3
++fIqAa۴gX!k<la-.;8Atک'lߓYW*[v9KEC,o= 6⑊䫚8faS%/ hDW/^;SТ(2$ԅ5&xƸ?C(8͒,5}uc +괭(f|n
+,1S?)1
+4jfPDEEnj[ʟ~ˎB-1ɉ@z[#(. 2 Nء^yɍ$72%W Nb\w79N+ӊK .us̕ڢm <&~mžG,g#QRnO5kS/ :ќ\'KC6쌐ur
+Dj4(_ladHt8_ɍKZ T-rUQƪ10O1l,?
+R R5jN+#ag C'V,\L.ZGpYw5OH`d8'ƃdډq"L1 k9'<r߃?Z,ՌQ00) BL;7~]>Ղ~п?L@ǮH"Y瘢4h$0c9/ǽa [
+MiOlt6s{ES݊驟J-oO N,:cdWm%Sgƾy(+ \kOl.tJмXoUY]d4(q/Xu(V"| @'#ތe()嫈G}zzEKYL;|ʨmg:ǡ7=@jzݧ'e¿<7L+#4<5lV"Ev^PcbnZl*չ/RԣX2 ?y*7۝ġLqo oeX%rA<"%nι Ƀw#b~h0z>4?f Pfiho(wQN1g"KL_|n5?uۡnC/XП)ONG֋{Nd
+Zg/ /2pmlV_oX>+~Ujy} "2!$tS
+XQo"M agk
+,c#+zٶSA᝚tگPuzCOaz&vSL@ѥskuSqٟ6aߚ`^U)ki:WGŒ^Hzk&΍Qˊ`ii-3G36?4qR?n(z[ꃺ&.X Eeh.¶ 0v^##7KEL.݉0
+-$)u >ahlx꺰v+=_q>ħG7ŇMiqRm
+)v @9 ڋʌM_f3Y9l<3wq(!c'csb.ej9j
+"|~ _FETz@Z y?t{̳dxf
+)ڢ;F} ~/? C$l7d&*2O.ʁ*/Ft[mAu&)ߔ~J3$R=\m03zNϨq:Nœk^Юhy]V {;|b5bW+o{'؞!Chy=ٲ'j-}U滱wiqoeÒ={Y|∤*4X]^~:iH޶srxذ 񗗓 /cick8ժj?0T_Q
+kd:ߑJ}uFJzb/r5̍6zƣ ^i'AD'dfبÖ;I_*[x:_2TP td}qAc h()/vɰ*Nd 2+D~}hxIM"-fO)Rc< }ЄT13q6m*efxUC=ŸI
+6{@ bKh
+ ($kD"w$w!=+B>°#1j4%mA2W ~Apk
+T ]F~)\MOݏ(;3Q/h4Q Ǵf?
+ zF]kthZ洇7k{2E}4,@53ٶeer\<?6{ W69{T83<d;)
+P\Zk9l~E8= 4
+3#S&G! 2XӇ٭K=yNM:CeuJ}Ktw6LւKݕm|3<nSղj/8,zYJ+
+F25u'8T<Xf!-zM`=}MjPh
+(Y#/0L?\*PH?&rB/a/ ylxw |NA% ݰ+[y x-
+~=۽D`y@60ԑl#-]dq2OR)!d~WZT?J%)rp.GקLwMNfN0M}ۡHIL< pBVn4zO3Z"t
+w2+mkg4x~O3E%Y̥M{E`l,`f,&FFC[BK^ %d 2WMus\ +q߃rn{:j{ x^MP%7YT<| U$ -3zTw`ڡ@2l|{4_Xȍ"cAeeV=.Vm5.x©x)`j>( <3.[jȈ"-/GซOƞ.]u8Y/)#Qņ YHTX >G$Pǐ:g-zN1y{6jFLmjC9C:׀ W3HN,`߮ XWXJQl#tj52TG,]73guJ\⭡mSt>!J([qv
+MлH
+<:se'I'^7\qg Kuupp470VvȦ?i1a$<2czy7Dr<OX&E+ɖv ZBzq&
+*J,Fq_+\iJFXYY;a32p,o;Ab,na'6] z6+彾 sɴ]G>쉏f]Y3B.7ӒT DINYHi%m<d0G3gz:-EUE&ӯ} 2CN!G_Ҋxͪd|Vs#;Eoi0qw(bX'J0'D<=/s 쿄 ?T ~j"cbONDݎ>|a>E]Icdwt;H<_?7"E֛ej=URJbDe4W .zCB߉}Dr+ΡDLOCg15VEv5wvD[RьyDeX\t\G} 7 Rp4nP
+\KPBi=5Ld|,#6u[JƌfZ ӧnK EX ۢtv
+-_w7"8|oÖ};гzF oAJOK'I&cb;iT03>zލ8!$W-u?5tD65+kP#`Azʑ̷{.H|R&|A
+Er EP+eptw07~H[LjP7_!d+!}
+(SM. [㉽EugdLb>t
+lVotsO*YHײNGpVͧ8P(rn3:[D.Q4bg)D&ҡ(xer4 nְ+W*)C'KTP=F ~tǿ`cSQ)CHnp&0{j=3j:--< Et %ʫN^ϗR@PZ7=[HDְČ6Q1@o`7 &ۛ[ֳ>wg"+o'/ȗ`"BBa5[4,Yh/,y
+jdžGiݺ͓7|vQ3>v\hxKF z#RTe,Ƅ%"yRQ-5VlZ{Dʪ H&˻BRFBbCWQcMy!}D|֗^Iw4<gC1K2.U dQGR`
+8ՂI"=D2t\ #
+-:MZUg
+'3[/"oIS4o0K3!g&s`
+9+>w-A> !TԼDAXqIk()m;~i-/WK"'n6'^ULe !)`}tem)ͰAގk`]l~x<g
endstream
endobj
-664 0 obj
+919 0 obj
<<
/Type /FontDescriptor
-/FontName /YNVWXX+LMRoman6-Regular
+/FontName /CNSQMW+LMRoman6-Regular
/Flags 4
/FontBBox [-515 -298 1647 1125]
/Ascent 689
@@ -4699,11 +6938,11 @@ endobj
/ItalicAngle 0
/StemV 83
/XHeight 431
-/CharSet (/one/two)
-/FontFile 663 0 R
+/CharSet (/A/one/two)
+/FontFile 918 0 R
>>
endobj
-665 0 obj
+920 0 obj
<<
/Length1 1850
/Length2 21666
@@ -4802,7 +7041,7 @@ H">W7E{ODf(.z+lIe=\4n注ۜ s`iՅxeX޻3Z
;YR6\sk}a1 6\~Dcb٠8'٢L,jIG땹vLn* 쪶l,+H{tuKr.dÝ<J\c L^@nab>gCdJƏ|tDSȾnc9dډrwj,c缸!^z9]ODp.<tRryIּ5 ,u,~Acf_VEF.CظC?
endstream
endobj
-666 0 obj
+921 0 obj
<<
/Type /FontDescriptor
/FontName /JALGHF+LMRoman7-Regular
@@ -4815,10 +7054,10 @@ endobj
/StemV 79
/XHeight 431
/CharSet (/A/eight/five/four/i/n/nine/one/seven/six/t/three/two/zero)
-/FontFile 665 0 R
+/FontFile 920 0 R
>>
endobj
-667 0 obj
+922 0 obj
<<
/Length1 2064
/Length2 24950
@@ -4927,7 +7166,7 @@ Ef!le2N*QdaQ>J§(H=LNB=j`
<]E>Eecĵ0`+3+%¥)QMCxgDC
endstream
endobj
-668 0 obj
+923 0 obj
<<
/Type /FontDescriptor
/FontName /WOJEAD+LMRoman8-Regular
@@ -4940,151 +7179,132 @@ endobj
/StemV 76
/XHeight 431
/CharSet (/D/I/a/b/c/comma/d/e/endash/f/fi/g/h/i/k/l/m/n/o/p/period/q/r/s/t/u/v/w/y)
-/FontFile 667 0 R
+/FontFile 922 0 R
>>
endobj
-669 0 obj
+924 0 obj
<<
-/Length1 2336
-/Length2 26957
+/Length1 2514
+/Length2 28953
/Length3 0
-/Length 28352
+/Length 30421
/Filter /FlateDecode
>>
stream
-xڴeXJ5$@n!KwwN 8ww =3{..h֭VU$* ¦ cΉ + 5aP;9
-+
-{oNW}']N\UXUKQ
-S ;r
-b u3r^~H <u
-U_9q
-UBJ!G8>[8-2ɏ8 ߏ^9Ǯ; UcUcQ}O҉PuHZda暟 uYB߰򢸅: PN`JoUm3ל{EҶsD: BCs9d>7(u/G &`}_$QCӞJS.՗M<!|}柙mF*B0B=@ʮ\Tޑp'>
-BS&{RF_"^JG̹*j:/n|w<OT툭Pb(hEQ|Wf_-p·K%yޠBD<Mia5t*=זܑ)rW3_8(YKdj40gtz2vHr*Yٝxd! Tg.Uh0,|`B5U[XqDV
-[/Px[ߏfٕT-{T2V㾒 &uD?Z.j!0Q[f:ŚSy(<(
-G5s?ܯj_!
-h?dzB6>}#ܺ+t$@hxaIkCD9XȦ7s6rJV̾9:
-S3P`si;>)dՁLU`{,7&. VVA"g߯R˸|
-ಾlBuBo9wA4n4d+$.GT%"#|S|Z/}PMdOڸhm泓@̛ۛO>꺎άHt)t=lbGM3[`\H-R 1.[\+{uYѮrMVk!ey)+F|,S te?S
-SJ2efY=m]͝9PZlA69=A.'<kKȤbVyz/@~N;aFVO8/"y1P"3X!7 TEU)єčz@Z +$hїo-;_rS+L@GOgM:dĢQ|ްK}V37kUC1gM/4# v+dg=nZe3&s硺bJm*
-V=,V + Y^]ﯗJ~C|d~[2P(dx{py
-RJaLKH{pڋ*g /.{+aKKjz܏wTI7 F" hXkat_c41탛V
-&shL%ъLb%.72e&\CL0u5aJVz4:\^3WhEᎦkU?jTq"IH/ Yq4HO} jH75պ?uޒS`M;m
-_
- j3Q UM9rliNA=[*kl}ԦtQG>f
- n ѯ
-
-B}1 y=.աQł<S&>
-;r8jD "hŌ چS*6&؈nEZ?bl.g /96HuC80*E\!*9+2ŧ\q1ɩ\LNԆjL5/W-DGZ˖BM2; ڠ-]BgQEKqYlqP!5GBFzZJ̒ञĒ~ ΒXqsp.uIY{sCVgTI^~Op`:. c1-߮Z̟%5<$u1z>˴3߇x"`$:e|Wzh!kFpAD Wy vR00_4 o/ttY܀)3ƳO/|g]z!N&ɝluFmE1z ZcwD捴Di#Om6i {/A^/֏B( bq~12;)?;r)@y"0E\ =W0/+8]|&1eWx6%[D+bcTo!  gp8LBR9c]'CWU'chj?/~w~ mh qX0W6 Ax{*ͩV x-q%ȚۧfŦpyR~:6Bzia)& \6+9T5"5CV1_B1Ocu2I(!tj@7 OUy'[3)Y3vi1}W! SU92 R3x6CYώRUm09u{ xv=[ďrJ6Q>)r: ~3~[@RoAfJI'3_feTdE Ou$gEXN+f: ob1o'u|ˉp`\IjJ(gX̨<Q8 $=މ`Wݶ\1 tC"&0avI5cR^X܍aڜ4rH뛜 ruZR0V Z
-T}0aͳ2.m1z x;7˒o%6֚2r_$亥SHuwarG:~$L%
-P琅͕{,;g" LD \G;ϥS2UGdW4KJ$cj7]vIjCCd_PE?~xK]-+Ԓ븟Q}+
-hk
-3B@cLĶzٝHQ
-r-PbSnQ\4E%.R=qĬQS)4YxVaލT$L[d`~!E8mCz_0]>1H!(HR3^ TVW:A
-LLx5Im׫߃S>n-.A-6G5m`)eK7/#QJsr7Ut&x0tZփbfA}{1EiMm=e?S$tYksءJ9):
-Yb#VZ PZ&i&i6X9&(PuDf׋)#>-- dVo/@8ߗЪ,=, {vAz(i/wf1O$:r1u4 ƫmպE/Z ;F$jYPqvY",+B(B@;ϡϋO*;,?^pe3O3r|+FkY~FF
-pvȹB~c7bTQe+2P&5\~n脘ڦ\|G`ͳ[)ʞnOBKA]Ph#bt\ 05EAdZ^TN5n
-j?:]Z{Cy-*ń Kiq{nXB|mK.xoDbqW=g)&zJmoUPL5 (˭Uo.$ VH kdQvPx,S91ͫo)uj l q}y&^}CE;
-AtvB(9|c>!0D8f0Z94:bMc0//NyTۛWE<k@j[h噴__^g,.wk-6he8bL>dt$\ p| j"X,ҼahM,fDb O} M^Ԍ0@
-i`io9K0{и=Pr.ZL$ICOHF.-RZ4.'v#0e-6*W%qa?c 'u*ii0[jS6X geQ9bp}\ "lv0AP;
-m h7N^գ;vYbh 7>.y !2r2g+#
-'eM(("cĨg#*"ZyTֆQR3Aه|$X#ƸD<nḦ́
-_ttFKZ$Oi3f ;!7}$C[Y~<><#ydc g$ C_kAH amޅ jȠ
-|"lʨ;%W^Tޚ(]VFyiF,.^@k64٠
-${0
-hqک{婫vBƘIeX'$YJh<aq"No:vKw}lG%g;rcVvrV=24ޏy wWg"|\R<{]ggN2hi!p洩!fh70kïqy&KXnK Ars1`Lly2b<$ )LJ8XQexjTzvjHsdɵnޛB \=UYi*ƒ+Ew+peRR U!
-x6}!s>ʅ 1fX(k]:RR
-7 nfSqf-ezBd|zXs;VR9V9vPmG@NdDoD <ݽnǓxYH|ZU %Y m]!"5|#}.J ù/b3El?<`t:l_-4Iw9X_.|ogV4_6IݛiB&5*xML5<t&`9JT<aX/!҄f
-:+?tyPֽ\60s0Ȼ0fe[ A|SvzT"nc:|aWHє#zB"r<20F,Sè)\؋L1elSCd y
-s-H(f4V׿?2+#|P}A .]G5!\ܨ@jTw᫖#…Ip*sz_ي.M[<tJT٘zLE:Fg`g~8\x,Y9 z+v[-YhstIɀމ3/$Yk]<qS
-_7b5'tl8b6*6cz4dgH%8.×\n[{]Cʹ,fv>kO 6}z7"mE`&]VgyStȵ~$ny9{tݓ9<}kFXg!-(A0H2E*?5XJֲ:#6L!HPה?_Hs2U*,x5-qy\Yv%c1}sZߍIŁ=9;#ڑ[kj=:{kDۗf"<*D}ަ/  Q3&kkEL#[; [4ilyd i-R_tUȠ^ffa@g {*ƃ QvOÄ0҂
-/ XaVdSYJZ{3¾E)mjk@fvh
-<^cHc V ! x a!/b>F񀤉lYu#˛47a(v>yjOLR{ۊ9y-ց0HeXAzwiV=CAqYpy'zxqdBE:T/QV;BIȆcCXLHzS8hIvm?]}Ϯ?"a-J9 >!ŧMFf(\A`C)5_*V!<Gv~68
-4.coG#d22|]Bb\vh*}h\ ~ZFu,4#=W~.WAt#Z7PVkߏ3j
-3]&ݗ$Fzɧь=l6`yU/9GKS*'BӲ>
-ʬ}(U*`]nH;\݅Hw"rX[7L4u/Hnjh4ܕ%0bEP F~9e4M%E(>h/TVi)sE N0l
-gQapZN]dv`5Y>=손{ePkh!LQE/"1!dl>M'Qעe$N}Ѐԝn!J+Q(eAG
-LH4|.6ʏǑ[yMg}u}qBT(^¨^g\lw 3*Vcp_dUǁ"=Dպz%JofÄsv2t\I回0avkiu[7SE1&#ou3!lJRUmM͖ڧnBk #|s/S=,PgDK`E}LǶь}$?豸)}
-ت)N/=w/׷2)#O2s BXjqkvI!")4lZ"n0˖xߕWv=Xs k%ԺO+fh3bԏ
-
-Rk}pwZbGqk4咽i[㐼;E4,
-C0HqNCU)oDdv;8DŰH0 'jݓY_ֹ^1mq}VB WՍ2|kg.y#_* &+o%}}p
-H_꼤. `D\21Ƀ *! zҌ-V;=80FΚD=b~dQW[kwVBfɚb4nQd.$Eo5_j˱%j;XiS!kFQ-,z۴vζ뚴Ga=/Z"?x3w}7h+=
-;smbMGχ?e6rR"sf&Ɩѿx{;]\(i ?acRԮ&cKjЈxs2 ZpM4HV3r o?C
-1߷ͺ
-1Q'+qL*AWfr$״Ah)^H|""XqrҘσ!K@DEBLi'u԰"R5WFIBk?W>I`t
-yVhBv\~gL-K\3T ! _u2Xҗ)F $Iq<|ּ+GRŐG/{,y
-g&Jj\hM1. w ŁFoCq
-A+ :ӅBlpaKІUmIAuBEFXZGdsJ ),dxzFfQA
-ՏKuظeE!HR8>ȁHx1 OбcN}7"(31Fӽ)
-n<SZ]' @#H*=tFjE
-V/EI]C׺͝6"(!cŎ} C0J Xzt~^*ӷp7
-LCcȶNnj
-=f`l62h:Cڕ6Kᵺ!.%juQ)PĴ,LKr0|j>]3@G2n&_( <=2PHxM4E*v1.7
-X[/.S#N Jᘖ [\2l*))P_ tYU
-k3V|T&K8L{Şu_I= ؖ(Q3%qsi];oe&_# 'JBjkV&:MÙ8F뼿$!/[
-Ee#E8wc}]|g˓Seb,IoQ_똛i[J׸5H] dͨ :oyß?꠻;}Xg3%,[S09h:^M;ZO;Gbl}{(]80Wƻ)
-Jٰ+g3^iҳoȟ_ 6?9U ts6-[ ܟLj֟9E+#`ROW*c8FK3<XHm\L;Y4A``E)V/@|aj
-[]vOJ%cGEaTk6 /R?3*aM5rKA#:l#Itv6k G<֏YBw;7}tG<Ul!j=j,8ŜZ& hDGE9ڵ``Op$c'K*G `Th, ;{.]|
-f^!lByM7jކdI|3az1~^#f}YAÓ_ZzPIM+(;@C8ab-[tjVm
-4HN(>^2{\5t[/1Z&
-BY-2# ,tuXjYI
-D(ʃb$Wʓ a Wn
-LU1#JmWS`
-H苜&ŝp.ɹM{u̩RZ<Œto2U{/~ޢ9##Ú%lESTT
-5:]_kk$2;a(':)B\a8F 1+ئ;'=F`hm<GAK]XB-qi0sg]q" Sr]Ϝe}r;, Jj@9)E?`xw-ౢXޓ9Bd\}e?XFH!=ȁZN-[?8v_i5f]`7 f9f]DCM`Ϝ 䜁mdiX܌N*DJH|t^  B]a~f[W9ᅨ'd~zLCEzg9\bkiOBU6yc`WO\Ì7ڨc_־$|{<Կ
- 3|!k]A69,=wƸzY۷NI!(9#Q-fEG: ?ԭ2E"b*;S˂׺`t)!6%Є";˂Mמ<4 /hzVZ\䡤q
-U1EY꒲6z<=UV &!3EDV
-]mɩwk9&%oQ^kNq\r_on9\yYN.7{C|XlA ±V6ϥ3S1R45H=<BԄ: Spk4zn<Y7ɝP쾝Na4WF>wH Z3,cobPE97
-5}ؒ`Aזtz^Sѽ9M=eIy;.qqZ8g6 I?mӠȔIwjyB!IRKXNVڃřEPB:V;H3:[,< =! c[Vp&SQa4p<e8wLI1sD;V{w+U8kl&{amaTA7㍖LxSDY:2ފΑ #Hc8o(>bH{"hCŕ)g
-sd7ko!wpMvܓ$Q+BY㴶܊Eȩ4>MQcljuP> a2Gy n~CXgP:!
-FhC3(]?CiiܿT93XcFk*Qgo©,00+ :gg sk
-)d 3;["^XO9m#9
-qdF ?AF:^{s;B9k P.HvUx(6@>^6fɁ2}@zJ.4&3?g&esyQE5ٙ^dܓG>gk/IBH@
-ɭ9O܁C (b!URu^GȂ6@i2{
-/Ce)#O(R+I|0/b׍'̺2_I_Gk4e
-X !)8ܴʇ,dBdw,f ^Cl3D CqIKkݽYb0R΄]L_0Gy(~/4Mj)39sIy ?<!IKQZ;d(t(qc_qe::}gfr+@;l "{s!`2s0#oBܔ"
-xLYPr*5^y;
-V6Ԟ5ėsVesP9нq MJIh牧֔wׅD}z޳ҵrXX¢pJklrݲR}gib'|"\7'n/<J|KI3Vh|8&
-NZl2I7X&RA' -C**B~)!~Pщuc؉QІͶޏ״Pdל~}g^t?S.yΚ<}b*>A;*ۦ uXmXā?[E8䂩&R*,tGG7 v>:lFɿ_`΅$?^k-we O-DQh?7o=֬]p7WwrUʣ3 >/3C@1gnPP=nВq. 7=֔ix{[kTgE{3f][lsY#@}hѤPH.
- Rk3vA` 3xm!ig{%}~#0^ێxW꽕A2dlI{%d2 N:c`+,Յpŧ:܎QVV$$4j؇&W
-&ށݛh_ݷj1T[6M\օw)qݰΟ
-Ʌ#0ưP_nt6,21wqk*4T#>oT_7=V\zYF_Sm"NB[n N&'N}VSQ:fHgR][pr9XNe54!kX1$CEhR')`I[Tɮο"Df+L4Y!JziBw5? 3"=zdkwC诵2iQr2?\YU#% #TNp~ᩀ߽nE>2
->m.YBfE"&RbeڗR+{,,3ayr- `a8-=8) t 3^F6%xRW]Α:B)YL,UV)q#캽?!5w]on텿Y9C茼x!D[!] Ny0odp5ːإ_kC Uu3zUU'I&R1+V,hޖh>ˊk321@ ;3t
-\㕻~N)
-XzӢcڂ5mVٝ01Hwxi?ҝډgqUXGOa4`}|0+
-t~?Jkr] "0^Kad'mkyS*kݞGrD#s6Ry#C3J=S9$(8d:CĵA(S-J fӨ˔s3Y#]KٕTI:
-L7FcqoMA2^B-Ih( 6syaٳc9e|qQjJzTps!,b?$΄<uubB&6%d iۊе9w I.H"V(zOq<8QJ&&hܪGRTuRS۳ש}HՌq$G++~"FP/ڢlЁҷsi&)@٫(t.=Ѣ`QQ{bxA#a%
-%vEg/~F $}`h#ͣ~TЮV Tv$c1LbOD=W[)0CY4las98+!s/syy*;ń>xDzn @c<3
-w_U?M+:@5E'^p@2'[-;c%6͍KN7H4^Ȏ
-"#3e 2SKt?$Rф$-Cq<&?yL*-!iL %ԃ̔Nn=’9^xZz.-VL$PAMRQ`%YGU'"䞜y>I+!Q*A ys:h=IWX:gW H#p5.Cn
-^Ɣz&7A
-byoQCYx<уh4^Bh3f~ ns);ɅcHÏ[a ;7Śi- ZBͅ+!kי~Pɢ+`=$ʬZZeĀSSwg[|\Lj4KL|.j ѐW`;@2}n6Sd ~l;ž}0x43#PCr~ z.bTPtr\(';HSp m)4˄鏔c?~I5_p
-
-?lwe +>wpz|\&,q`Qާ0|]@飥*.
-R }VYJ5C=: 2~j._ah T܁0\FP2c[Dx=ew2[$"3IXj ct *{Td;w5@(*0a'2bT
-w-bQ5C\ifݴsj[T`ID 8E6ØZח6tdvJv7T?苚 'W4]25Eۘ']PcȰ-A1*E
-'mz ̊2
-x(z]Si&饣5MS?Z%zRӖR/e"tQCi9i6aڢx?[ORйAwİrW#_nX+.(ۀl' I~!s?Wrt{gc@&Q&rN ]fpx)nwv9q>rW4 F)j;[[+D bBlX43NLSFG7@2|C`+vp?p0Wmi
-MI:w逹Y cTMФ0v-B9dLUB$ؑ5PȜ¢q[" y~m3)NVd{ݼtS>vP:*s4]hWk'ǚh-N3/CM<NĉT}*4ӕrT" D
-4['{{律m$ ~O3#'ܒȹ1He0jLH03qMZ^JohʜrZV)ɣ
-ڂ\N,y0JXQgbI4C#)qW[b[B:cu$
-PBdh)Fu頴 <
-Hw
-q^9(x}%,mlt)u
-:޲J[{ZTه>B`E;hdCADjfص*Hqd6
-sj~e\+
-plֳ_iHs?O9;݁s֘7;5ODK^ĞG j/[5htNYrp>25T)lj_)@aA`I^Ŧ麿/c!Y7ճ(Ee!W41
-XZT̥&n`
-+ƥ@3 [XI8T<PByS L/b}ѕ2d&g$# &-c(3eᲧaD,H`i1p6WSu?n /7'W ziocmٍ'])MO{]|!_\aˎ O=ĎΣKC`^fё $Eu-Ê(DFn*~.: @ysAEw:,'TVG_ڝ#nԴk#ܛyEx nrp6[0!3Va{shUn@x`BCkj //j= \uu|47=.ƊsT}`_xʛIѻcz8sքEmPpB&CW#
-7CA,c?aBQ;tr&h{JlUQ,BscXcqbci{1$95 ˩?^h4J?v FD/lBnu_̙80piAڋ |rʆ?; Q՝\$Zf=AW̉RF`^Ju|k0EUY}' ) %JN0[rNibM%+Sn.S1ZjH$-&ItAIc&s Vy:3cUΈԯYf}
-jm!j^tNE"֒&5,=CwM20ܔ&ƴlqMĘPlw @NbxƊw.FB<PV6 F#aQFH\qփLGj
-ݐ>+&<c'jԢ.$kD[Ϙek7$ìGNeGœe>cٗOxN1͸Fb{.ʊ
+xڴeT[5Cp )![p)pw=;~~Q*ҹd?XQ^(nkDS6W9[:
+PuPO;h
+(oT%le%oh ߖ5,B+@ 7"_\}l̬CK8YgfeJ[
+: BEs>`:3]H!]xo_@Ce9T>jlF[kW `7351Ūg蛓n/9 >rbgW0Qҗ3.n9' ~ˣ*lpOsBւGWf_-o8P>Gqs5{Iq=AE>[}^UkOtIL|hUW(trV_>;j+ԙg7N6cp |ԇvHt,^{`t2=@ٻ[(U`?$oL9Y$8uCf/ЬV_0iTcRx\yJ5pmp?474j'_4aTc*+Y n"1A0lk\aȎ8jciZ{/ץD'2c9-TrvV su2JuW*D_#3"|+p#[=#?S}(
+O!m(k'myi{>e0]Hr"- '`RApjAC}̗ HJs
+6[-d
+
+"BxȻk8cԣ¿AYLPs\(Jj3Px't6H}5t-5Yħ_/>iI @i<تQs4uO@S0h$o>S @`c^ TJ^d*@}ǬF%D32&ۙ:=Y'퐽*d⧞vb?wgxX,р5䧂5ϙ[dƭ;"0Vf.h T,2Br<"JL ȁ][k4~
+:Ɓ׵>:,5hgBku<&g6cL2[a\DI@)-UA>hw`9Dj43Vh u?G>"gFN.#&Hi5*<"9( \G3"sH@K{*̨MMV[e`06Xk!CUeILI,ꗒƻ){Y5PޡNPTp9 K<kB,!rzv.+vkf̌TTUͺa/5H}vg5rk&.!%Oms8dzt#Et] <"XBJt'v-7u&<PUv~7W8GsH?t}t+\ ?0:Ry\0Vf͵-gnHrz@qKD03YttB$hKz]7sof/)
+kicQ@(EvY>ѨB>baIFBpșQQC6cI+2% v+bg9jzjE-MyHTF @ftS[ 4LJ Z8k"VCҾ"q'sdž[p
+Q&JB *ci@"h˵Ly1g
+ƮTȧ~WPb|Еa yYhe2Jjg`zsӤ-xr!Wrru}G>V9A$\ I{\Y.FEJֿc^&EC8Y$ۼ=Z
+}ek
+OpFW L;},!Am!fDv,<@:n@=ΆRըLKɁʎJ6XVUΫc.Cx`"n7ϋ IHDLx]0R~R&,8r*cd "6 V"근A !KL: k߄a {_'f޳7|i8 y iI'ıѤ!ij/(B)RI6 Tʼnh30Oq.zEe*|*Qȷ2XH X;y=+UCsЁ"ƬmƹD4 kijOʾ~ +QU: y2 aV7^~ mqL(3Գ-XYOL<5/T-5H$$ՏQ])kEFkBLX}:YDz[/
+-Zev}w8Ve"l'!w<n/S0H~>Ņ8ur(Fu(fdfIMz7!`W#H1#;=o0]lwn$rmw
+b' }ӽ|sU.a]نa/[<9oBz5Z=#t{~)ukbO5ġB 9n@$a~x "#kno1AuDkjGnLׂs=#FAt ^]:kjW7' w˛C,2:bwɲUa)?NQƴM\[e#(Kw=h Y;xc#Fe_x=IFLl^L!^ۂ& z'Hzw}^!q`&+w ZpqJѾg6ݚ[ee?/"3coucC?ȗk"n̯ <)eZc5!8Ch>3&P(zEMM=ΞNpɃO!>X<ܢ$օs6],JCA/ۻ)ffݰۛ)XS?qS»~U+!7->,~T|Uo{qx?G콡RAɽ\7ȈEH "sGS֙>=
+Kuhϧж냣G_ɽi@[1*Jqռ,,S3m Ay߇7,RRe1㝍f9iс(ҚpCxԡbG
+\9 Ua>8 艹6iEknW. ' hC1U[ഫL21њ1aƳ 2f}rzlЇi [?ߠ\OYUz sq[*lΦ<!m7$n$ip<A)_1^8c얉]I4*c$>7"ܩN
+˽xb ImCqT{rT>?Q.X/v $q~J:ގh7᥽;{V0tFS7bjYlf8*NissA$6MZ<r%^zvTZҵ[+fvC"cǪ'򤕾-I8G#)hh_y
+E wN06{R/ Jf(lyp% Qe>]y-qO0HJM 1:!͂xFH6@TۖLo"F)f)C1_Y׻{&|'OثBԞ!@Jڷt|Q}Tb^]7ڷJ_/,,T fUCJ|M[pse*԰d0,YQ`9K0X A(B-_7P2_WiGh ˨sɋB
+vwnn+ fZxO>{) ZT7/Qʱ85G
+?Rz&B9tZ+S13FPq XƋv=(Cr Qd&nxrұܱ W
+ـ _aG_>C~1$M]K#WnNpFk6jX U`a
+c!b&om S0"ᓵ4_ڕ[Hqd#98z/B BT e9q)WMN%m}䠢c
+R7;H^d[&{N;#\9uǷK'ԔQEGTۨ=3hdkm@Kn,lP~v"\ݝ
+2_i1;`0
+
+ۉz5l̝4L}IEb>e<NGG'ltH-C|@!JhOfyt&>{[p0+8
+
+%7eȬ},&Hn<3O;l6?z_>C}aBMl*^yo/Ӭʀl5ooGe+G.scyEx}rj4EDJE<eܘOW*7w
+u6:=TMj-yQ&VN?/+ [{<q!qKݿhjᒈ@,=.TVZĐi!:4PB8wMʹ~
+Ikq Z[y ?H8 $m_+UܻLJy\̰0DNwCsTqmCy
+1Pw7ĭM qwqrsJ2`.uO&ptuȚ,ϴz Ey~rILD'0*%Ŋd7dFJ"0̵P_-hCiqxwS N<[yz$t~e1_-Y ơq.)2@8z1b~:LCɽ`(v
+Mft+mډdOpO 9.K:^7#Vu?2 y|&A
+
+!d3oӆ~0FB1[Eny\q zh>` kf8W`T٦t"@!?gΐ
+sd4.%g/?,t6:
+
+,ٔBXSbO
+G8?BJ U%i Fd1մ,]^5,]ԍqn[d%!"Qzӵ={i o+b;^=D^B %M46\6i5aP_>͜G&>ql9eM0"=2\;7N󖗎z;7}ؼ'β vwn576\Db>Uq:g@{AE^m϶ݔ4WSwtM1ۋ/plɄyCkֶb7Z==
+^z?= I8WУ[{'A[&i)UUspdY_r"~L#<~%myh Ĵ'DtwGݻٞşm{aְKÕ Qv1RDNRNHXImӦZWCG/=r#ۄ$"Rӱf~
+/> #EP@}AρZF{s=*ps.vHuCCHdH̷Zޓ.;\vKDLB.dSn)0 ގɢɰ6b]O~7sy_sEbT9.e^-s -юK^;h=vܩ{hDSqK#a1Qb,J`yd7${dllҧp|)RSnZ6M@dFқl{M|]JZSӞM5-^)O8ACT!uPy$kC2 #W7nh/#ثv6oR* >FjY0oKqUm5qE9
+">?9ٵ )W!7QSf~Vaho?$F*H*'jylM%:%]C_lts@/6MIGDri]o.4#AIw0: d:0, ?/A`"y;~;UKln{
+P"&]T
+dOܯTnC09o"jt<c6meǧ#9Vdx,݋q<aјX bN]K54t}=YȲd+ɥ"J"iAOi%~3dJ$\5WwՓ^7)aLTv~( '8*P;%硊bbZqΌ
+GGsQVƿ2h
+BZ^-R[T
+yӻGI>iDt/*^SllRmg/E^
+ %hk6ǿu_@7䀒W uLtaUDWE%q\vFiZ
+:yǣ`GGx/0HiꙂMG^;&WMԂJ܉ <2 :\KjTH|+7ۅ>s)fJG|d5BWYPF[F|/'qPV1X~i*^yjdȿ(|
+Z\Jn
+J}xTz搷$5p%lY3<W싄J8]N@,ڠv vQݤOYEZ}vՏ\Y,^+7vQ3B`ngs8lÐ6hYoAX9̈́/䷃`8UOgKȱJX~Ϳ=١,?4m&loj lF,+x}o̮`+X6*a{q5Y9A,B
+CGY~ԇT?L:)uVѫ=O|q~vq_oLnhA]`VM(FxzZmjon̾('!$"LQ}썩+r^vk Ҽbjfbhak,R!1 LݩW`SG"/˝0Zpzmܔ|\sND5s5ֳ}ڼ4_#ITڌwQ4vWQ'ïΌCͬ1g]igW(}6K| LAf9FLo
+<B͖w%z9=STs{eͧ<4ϣ@zI3cNՙ?U &FBszh8{6FP<$& 6Ϳjȼt.-LQ/?,+m|:\z7^
++nO
+@$UwV9St e_b
+=Z3vF|N}|D$23`演A)sT',?Zk))Cqx<M=!s`{ň!#NZxc+ڼat)Ʃ!Oل+#WO
+F_y>ucz;#AoRm"eCkFF$c<qMdLz(uɭ4 07#}i+JhT{ . lonmn8jGv!G'Hoö;udK6RPBV6rM lZU`8 7EЋe1D陙33ĵt"A ԱG[_U.QnԹʒR{1=⾊Izc;q@hSEGr#0~>캟'2Be: tAdlRQvDį<5-
+qd)6n+
+ 3y(/bE;A.V=͡
+Կ3@m?c 7.l``9hf;`(wpvMI@ƄX'IF$< AFZr+%4^AdT8}^ •)kplUDm3F!JѨ4B4X]NE(|~Ur`̡ġx%]U B<\S]h򋼱#ԏ
+e?Lkgx3zM:thcee΂!QxѨ?.ƙPض'e17$2`ʈ}Dr'vHɾtʞ*Ejr {PHЮbjى`tㆶ߸†yOb
+$&$ROC?ܨIٶ˥H^xǦwvc)>WCSI '=k?k.Â3+7 csbPk˾`=YHfWgk.c`3x.]ժZ@czk{c$g<~RgWTaz^43 \; V*,NB!zH/ۂW] . bBcf؂^.A
+Gr$ .kɵfg"(25ԎXEh.XwM*A(qNmLt0pv,Շ|%yL 77GdDC7/+7IUo*S9 }"9tjD[4T^h)$u,"Q]6~a*C{e ȩˠy$L+꧖M"'>}9)?^ep*[znR֓TN@ duyUٸW/%Zag."6t)]Uј=hѡ㒝˳9+Um: mb.:6?nplDY7|Q *KYnr%30c:un
+}GT\C 2kv.Jq
+x8zr0/N(R)#J#DP4*D@)vi 7n
+ɵJ~UR6_Og@53r^9;
+WX\bFG@̫?0#L^!1iF]4i
+V u6jQPbtzA]e1k/z%v־_`G+-L >L˔ A_g/8_k_G`Mv5$
+u鑬gq} }˂|"_Kh›np)"X~}Y z"Ў}}NQNڿ
+<-y.WyګZAR=2g}+gPg?QQ0"L,\U$4._'Pp ߫pzɚpeXϮq9H;' ?K,litawNQd@fYT1h[?[LHl<@n*O_5:,-TgQi"O.(Xn]>%l< 28-=|  T:?P;I&k,@(əā
+ox*p;)Ue娰]QFo @J6"2"8PhWàrUwkXwXbJw\Od)MVoZf  UTd%c<uN0x/YtlgF_edt8nψJ<"iӯбϪBTAae]
+v"u.R[}iP"^7ؐ<l mk?l0u.?{T|@7\W(cGmm(%UW OUϺө[MM?cTqhi9PF*%d҅й"z6{u箉C ;µؿ)QS-AhY?k|Ě/hd~'f
+l`Ty
+2gH7+޾1Ht ŕn&4Uz,'".P(&}d~!=00NK:`j\h7oarF>v_qT#; .g7V
+i&\OY( V A;l?~¡dKQQ&r4 pEYE Y v"=<C78>֖d RCdF.-wr.MufڠMѭZJ-73 ?&Hi/%Uxy\b.XHߊe)J/*dVh =&?9&\Z8نDqU|C# ~Bޮ<zk":61=$4s<<MB%eUIT3G _SZⲮ:S\TwQe_n
+B'9Ճh͛޸]^!{!Pџh:
+<]}=3
+tYJ!v![{BYt
+K=Gc}9UXX|,l1B὿AFWF %xP9XcM3p-Q:"M Pg/uP+8u6-#){DR̻d P-H0H(.єHۄ*Е)'fp30ȸ5||z ,{wMnu߆ۗUs6.
+3 )}'XvLx9Ƹ,K/蛳 R_o,N1K$*ϦvqAIV_/JKǦ@F_Ӏ2Y ,4Ҿ4tئS6)W+W^nkx]uZ2>kq^Jڵ#Qˇ!)2M==bWK" %|b+w)|^h-/PxOo8l[u.U]I-ss,VlX?ZS
+9E5woX`R_ ${oRʆ 9dS/kQgKt13Qû7PMF_d/m[cR c/*`ȫ/'b(4
+-r#r,:\*U R9K0 1ø丁C[ZX`(FEo/g^>OK KsߓEL3fPnGa"7}3_华~'9`ʂ#25;'L@6FR<®"7hߧ! e/L7ː-쿞>gJ;Yl](V-Zr{Q@ʸ3AAУ&W8~w*ZZI</}NS3iKa5j
+pvKJnIilav,uK ow>2
+{c^<SNjߵDӠU@T_d!jcIleMK0!|vTSGEJ?WiS?Lȓn ^nљGL9ҥiJ7r Hy"~
+}qgrVK6)[zD`>Ԗj02!T@z\՛^N96م
+n<%X
+ Vp#Y։G'cfAQS+K=~n(jdW;X/ZΊpTlJ;Ary1R_X#5u;mPh/!nM,'v)IoPeS0ƚN6<ΥQ׆o $
+'_QuZzRVvPvA34A7(ELfkTtA00sݯ
+51pIm/콚 %?%'(2U?c%d)1 41v&bj#dIѠ#o}晒+~w;g)s$J%3|]EͳQ.[M~j.ĵMy;z("!꨸QgM F^i >`s{D\DOE,fDIìàk7GJ!$[v^N
+lU\a/xg vܻ:[Y ݷ 0>!Uk̭|0463)3RJn?p
+jgd9?S8^>-z\Mp6tk("G ]|7jal<Β7O@@bPVDO=q f? wLcMtSWq'xإ'/yҊhS@,R8#
+o Sqz"3D
+6e($ʱa2b_==)-{EQ i\`Ԃ3?"Mx}*5L1|ЇKpA_|Wo<:>lD zlg|*H,,;bx<ZqjM◺;q:E1$M8gw;JzK1q̻7JfRdU(mrhzodF2 ?~}3O
+%ք{[Dθh!w]p*R`do 7␄F3
+I )F#A/c79чE秋:K+3)SnTpLxKP[8%| e%o\s˧$[P@߿$זPoPİ<:J<>=TuA}6V
+eT\6_DLu 5k
+ Ӊ^b=B-."OO7kX+ÿ"֦yA ibv7w|:} )|Sc
+l1\e&(Ĭ
+{}$ڨ7y-5 >=o_sT0Gp]8c?>P kc:8[V
+m<7Z:P~ @oK "e#aEqǣK&  "i*..>zpW%Fmuy 4%ilpFc髐\wiۗ,/}zqNP*:9 3iǝRr%^!b9I9GOԉX#D3HWӰ=2NyB♚M6
+Ӂ/VRh ~+HycoYɥtcW㺟'sLVJ^Ldr<?Jl$ދE"?:g
+f)<>x~a&e|QCtRcu=Cʶu]a91J/v k?G@fsM"=g73{#gM11p#+cAAUXB #+5s(T<L9>usdZ8AnHzu\3nY,q2ũO?Pc
+9:H݇˛c^pބgËQ(9tEǾj<K Kek +B#a0 Sּ/]O"Fu .Do 6`tw U6X0&oBm&9(d٪؟}mf j5aEEc >3YUF߼ƿh ;|ޝcg
+-zhi ˶b!&`53(yF^T!LZ\=pWR
+̀PRRJ؉=J>qoG-v_zGփJ&n~IՠOӷCڋ3S|Tg;jRE y+<Y73VlOͰn^4BZ
+qIWhTfy`])WH2rl=;;׆_p@b"lAʌ
+fܿ}?zRڌAz G?$ 3SK5~]I1dX#~6G1k캥AUpHj eFM-ghp*k,VTcRx8:;,9$:(|P).<Β[I^2zU+se׿@7'j\.ˈ޴ѷmױ6yfAY4VH04Cwn^TX<(@џ2q@`Ԟ)GEl;pnf
endstream
endobj
-670 0 obj
+925 0 obj
<<
/Type /FontDescriptor
-/FontName /ZENCVK+LMRoman9-Regular
+/FontName /TAETSC+LMRoman9-Regular
/Flags 4
/FontBBox [-443 -292 1454 1128]
/Ascent 689
@@ -5093,109 +7313,103 @@ endobj
/ItalicAngle 0
/StemV 90
/XHeight 431
-/CharSet (/I/a/ampersand/b/c/comma/d/e/equal/f/ff/fi/five/four/g/h/hyphen/i/k/l/less/m/n/o/one/p/parenleft/parenright/period/quoteleft/quoteright/r/s/semicolon/slash/t/two/u/v/w/x/y/z/zero)
-/FontFile 669 0 R
+/CharSet (/E/I/L/T/X/a/ampersand/b/c/comma/d/e/eight/endash/equal/f/ff/fi/five/four/g/h/hyphen/i/j/k/l/less/m/n/nine/o/one/p/parenleft/parenright/period/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero)
+/FontFile 924 0 R
>>
endobj
-671 0 obj
+926 0 obj
<<
-/Length1 2207
-/Length2 18843
+/Length1 2221
+/Length2 19040
/Length3 0
-/Length 20198
+/Length 20401
/Filter /FlateDecode
>>
stream
-xڴuXk>S(]B8ŊSݽw-R\ҳsvW.{g> %: (22 VFYWS{s
-/[+ߜ!?1ep+_
-**
-
-23t5uus%{ZP  'UIob }|M=LAn.mظ+"`icϙـ)*JIk0* Q_J(xX
-u(_[*&-TEvL%EG4?).veqHkJ %u6vDfPںQ0ڄlA8zi+D7c=*Ӆ Y f7
-XJrD  OJڽ;<2My:%7VQLJgO!uW'_JH 
-2@J.qW% c0Vߩl&!a>2kgOcOMH(jD Nzx߬h1`Qy
-ܟBMiL `wpnjKdZR"r'7LLJ2sj:]4{kEDy
-KdؙpI«QvC 9N1DWT7T(t5]!3m5O&Ѩn2W]2
-mKĨuOnj'0BP ;w|F4^n?7 gw5BxIQ/rȆ95-v><9ަD-5` G䃓;{
-ή<rc;&Cus9X=|jyڐd+[ bi+C._5V `V4%/}8X4Ta(
-wh~3}c^trF|%wcx]{XQ|ރ4<C**1Qv(dwS:_UzčU9M2іȓVRV`$9yNuOzR2}Ѭ,2FqB&mZ;Q0FJXd0QH B'K
-Zo rmiLWF>fxŵkb'ŪhՁ[(*2n5'!7O_9|_!1ny=*{iq픫Xo=;47"4Ehc!vK)㡉މV3Mp261n^ͽԅ=H&W5iSu7_֟ +FF==tF|_?kI}C TKk⨱.3wĥXSݤQ+[T<%.ʺ튒EKo-,BչONxp#tf5:he,B'#C
-_C?n|~D\\]R6&_?]A _zgb'% JMWJp%r#C?hٰ(Glk6]T ^]\}#P@\P 7F[lk>vS vq[ntgn9D7p\X
+xڴweX\[-n!Hp/ݝ¡p   ݃{}USǚk&'VR6
+ w
+d0Zۚ@
+j
+jo^NK)I/{)ߝ.&^?1mep#_rJJr
+w2
+ ';cY9KXy
+6 P-y;y_a͛pLoׯ!4ϟ@l7.,KPse! &21ft
+kv2[tyQmtT(dzy>po%}da0N;okp f7slXԨtTӌR2cJ:M kKyXy
+y2s;$Ԝxh0s%I+媱Ѻ69^_ %(bn2)Be[h~.mY*M[󪝓MjRmm3ʉ \(CG
+aۇ֏K-zh\0.~d{gO,8ICqi-ɹVŷD*xslQ2nn)؆ZBHmO?)Ρ7@*`S˂WdMǣ!-x\ (7Sh%y/l110& vL{ Y7hA©r9X/To(~^txkԊ㰑38 vIQ%o=9
+ڨ}_ gf>kȠ ;.ev.7hJI1 1/
+3o oiS[
-A~+| tt(sxʐ-Ĭ++~n,z'60vk+~{@\f+O8"AJ
-7kQdbVD0wdU;L|F~-lFyֳ(kmtz !)h{UEZ-Q$f= (p_dh7R6?y ?,SBX[zJg eeaԊ N!}҃m3Grf{WC3a DU"MzDLꝨ^*47Ei!V0SgU3md=:g.;>gvGao9-|O<%::[1AaKsx߅F_F=iQ 0m{9!=_m#O*TZ? |]I
-P٘_EIQ9t
-LK;Tyyr }+_6F1>.r+n7p- |n&w@RԣԢAީ.#893;AK*wNHÑy}s@\m[} %-Ҩ̉ҝ,3µ$;)Zz&@ՉJIT
-#~ws$gFcֽ ^KE(dk#J3s>)m%㊤+߆MO@y4:VɍSN#^ePoAn@JkƂpQLm"l!j@;AG}G!Mx7)i"yQ%{! ~kO{ 7,1Ƶכ §5ds1F
-5y)a֙~_-_!aSe$InC\؟UHQe˙~r2~}܁sʿMB2h^é=e@Ԉ=ʋǁ|nX+=ͻueuFA\&,3.^0ԺZur1cs#tZe/ du+5E3}PQtvD/\TwiREP+ķ`y>)vJ;):#.y (Ьg+g6K» yhOraZ߳uBz)p/U;M/y놤zaraT=a8Ҁz@I` ;'IEG/vG,emy+Qmg~>TSpFQ{9<M%%8`3 Vv ^Sg.Hd lqXaO4.<S.Гx0J[_/jc5iu<ٳJ"ɌZ9i0,=,IQ#s)W;n hcPiG8$7&ípxIf<;lF: ZO팊4]#a/7<IǾ+
-@Zw%-:#*Ք9{Go6r=O H".ʩ.k/sgrŋڜ`d Ymxy7a|[>a͡_&##W<*g!5{@{PmCH~V:.+n0qq~?*7 rmfX~* |n5DNk>
-dY(ːLCE3e,G7r{"jH>vr JA4!ӕ*+w>o5UIvT ~]6,F"~oL|>HI5a68 TGo35i+Z^(C~IigzrQD&Oۡ ^ϲ&GrܼK/ƥi~B/Rr sb_
-tpKrM,ax
-;޲Oj~M~a[2Xջbᛢ}+jSuqoH|h=ZUmm
-c0w2fC;Sf{+ܑ|n{g08"*Kmc\ ?t`4?SOb}X^3|97|Dž-VAZqjh } 6A/:Mh{c~ARԁC=*i3HME[uz/nԵ
-A`5-G@Zىзf<4"O$砏(rM| --XFKr|;V6u!; q4q.>-ZqšIW0|~OXӮK&t*џ(kTVT;ғ96INr~BA`YQȏWs9ƇԆ
-V[!vE v  ɌŒ̏-5ߑ^,]v\qrgpe:Tէ*}y qZWyYh%tM:MٍjQN(NS> +gX> v3u? >Uֻ0$}\WIՂAw:/rI$_u.]"8@^ 0nBN[8oX筒qc#lLY549f}7* ,&!{MLhpe uvRFlNV.aRHGI@Xyy/p5Ķ
-͟⡍1@_7@z[61ZTw'
-"u/QptM;߇ñ
-E/8^$>rXB@ h ?)W0|f0f)|p-uMWO6ubgN]ʣA:Rx@_K9%Gc=⅏":-o I<TnS 3|/aN=.̰կ
--mq<3
-q1L}/RMՍO\)Dz8;RdJn7nT ʩen)>
-Y4=$`2b( -+c0,.Fij GRc2K`,± M 9:#1̃O*H.W؅pQ} 'vE컼57(_7 jI !Cܧ DAq`qw HM/)el?D0,=˟$k`d)lڜVvӪ6IٸDBc`f2 t'OfGex67:Hݺ9C.p>D 
-z:\8WP*pI& mh
-ٞW_}OgSYamV5FFZ{F#{tdy~ɥGܻ%$\kmnVӑ2UF)VIe4ޭVX)𞿙Pƌm~di'~ s3}q6[+a6K V0q\å;ϧ.3߽ 7s!3~AMxFcj8FX$5@4>PZ$tzq%HɃ_.8ySYuQ4Lſ^HӺt;mvPVr`"TD0 ERs
- ]׬~}\'G|O*㶭{5(ϗjnЕƗm:>[6߽LJsXH~)vN:9|ٌ%
-p댯 WjhDFhM!^2myVI;$`ܴ+{WtBcWɷ Suw2@<𮳻$`ښqڭ7Ie᩺Z
-pZRN 6gTO35rujE[
-,lf?` ǺXYM_C7A"o?i
-9ҷvdr|r*WYG6z^qL׹$C> d9$ֻ>2
-3*K)d 1(u gg 8up1uWo:'XH ~wW ~_yvE4kj\{ Ubr
-p bM ç/8
-o߰D h7@Չͨ
-HFV߾nvXO^C#A*o&)`PN~0k $$A$t a0uc0d FJ~͂ZbM G«8L qB8dOQ4q-1yP|PBrJI ͲK\PJ<>E@OHypn*""3<S
-#MB]CYmq8{׉˩Bx<zjT'!$Nh&&f-p5i;*op}ڸ[=zu'SH`J߹}o#"'xSLꉠG1bdn3š*JVr3 aU.fvU$s}{a"k*g:ĉ[0K0LPxRW;!ez8B9TD03mq,e*?AyYÙHH #0b
-5Q  NZj/hYH򵐓?>Z"z5}dD^ybńsV
-hzChs9/!~$F6Q[ye[ҩ#g#գkvD要2Rɗ9_MiwV?.:2ɐ01I>,Zdy?B,lʼ/pk>ƕp1Wx?"{eѵ͎D.Api0)qmݷ~ cy#M'#]ˋLB Rܴq.bMqq3,h,]ilwO*Hp Z&N
-2cȒkGAHt]#N+<
-wõR zN9u3Jh2:8O9ݏEzA8 ٨EGUzws%6bu^q-Y;i-ڌa08h^0m*DxruY:ޫ=A{VT$NxxLUV>Zlq'= Q;C=q+`h@CUS/BHiwZPŢp1YjZ3?s /ILҎQwŨHubOGBQd2 (|sE={2 %DZ1#n(zӳJQIQ2QTlEǒgSdJV^D{,+9~致3Zs6QP0>^oݏV
-!;2..vo ;(9(9 큜> Ӏ.M)
-
-X^$DT(MP@l)'\Vp2)kTO r $D|N˂A=BrR:3:h/LKBÇ0c*ƫbHtL^:Tɏ"#c.!Cb'pòQ|`
-QBsB,:E+L9.sÔV"яB
-EK!YOAiDEIhܤ.s, } ^kbyOsз~$>n,J&CpsؑNm&3x
- Ȕx@Dowg‡Aj{M^qNW,<<4
-ѽI6RN,3c?ID M0f7(E/R冗[9# WThu7{!.NL%EźB,^2:WNq93a|oiV>_|^}My)m<hZ򥦈7i̴9܉F =[iE;tHlm"<DbY(a?nE*Cw_Q~z.bJ[b'H34Zl $%TI
-ͭv X+5>WuV3L.y͸PtXu'M}ʧnRw|HLQ>Ĭz0ΤΎ|7cIa_f |$gRț_Sq%+SZ̹
-Z
-$R~Yw1s4Dz]DRVݞlkbR¨5y1Ïr%F/稗Mhz/nyНvT]#[ppq7:idWzc5z,b*FU:c(DǼ e|ԵQl&i
-k#{|\?;hAm]Y\\$)<jUcrGeQ%BJ | w{K<VY 9#G,=5{4EeP/I SJSz2ѣ}./ #mIh{s~<}XJy#^H꾲^aHzyz{DALO'E%'ZtjLc:O'*؂BU&uNb4Wz
-uTCr[V4UUdMSn&ذ1Um6G֫@
-!AAy_OǬFMeZ!:{Ǜe=Z0&@N|Kf'2c<`2WgsN` {wE&I7g`V5%B?~DSI;,?2?ScF!,+UjeE@_f. v"xpy6#H1pO|N<4PÈu}a:g0ìLvL1"Z-ME@]Rp?C"% \@:?7 ;<+rW~Lf46޻}!❋i,j}/T'g#e
-^v'Or r9<J( 9ƯXfa[პOi3#[*BDȤt
-ȜpH׷u
-_FQ}fpP:'ŲrtPW5.-R#"ŻtH.|]+2ͺxTcdt@ug YS|mO$0UR v5!+1*?һ&ݣ:Aʪ]]Gl$K,JIﲼe뤇~VŠ"-+0WRzuRWDk5jf=V\[M'(@d}g{@jNǡS=[7WԵМ[06b!> DIVwǣP|\hjXР:^t$'̟OxsX]AC}&L)
- W~t &vQi~sij "ERc>#1JD7IWX6;R,CLߨ c5<)m٠|tKկp+始m&tW9ȜJwܙ$Ή5- Z+!4 Ǘ-&ap|#erR:sf5}?pN NU7"U) QtH>dCz(1Y?~4oI1&]}k(^{lۀoN23t5}s/W:#w+%Otw HLX:_jѠCqȨF}pG=˥VF }`H.C@4!
-=ɱ|TQS4#}̩R7ɸ5\aWl!CZ1:K6dSL̇zפa={<sl~l09t65a\pCnRHl6k߆PK 2 :۩~R03b{.锗y3GEÚ?FeS3gHc ~MbEs5YQ6ov9W\ϫn 2~{L~ך~:7Y$1e:
-XW]F:P~櫘u8:I` /,%AS,;zmuILѕEՂ,KBSaBs{]`AeGz~XhVf~}oTܿMЊ({
-{諹8
-A|W}#eف-7U}VOTi|(fD>lSW ##R"@$񑂺z9QkIBna9Q-c ]I 1\p`m8GM $! dEftim).?5
-c{uq Hrܼ)zY1F1v25T3?VzwfukYjdWM4%WԿ05`#|TՃlaH23g'VQ/EjY
- -}܀5w ʌ:ꩤkoF 2HP8h
- t6 kKz+}mQ+]s.hzֶ-$h]Q)RA/˭v2P5gF:paHCqt(.
-ʞb 7:.X̔Xl/&֩ˬDZO3?8 } EloD|8{v^IG5|H"&Ktؿ qA ݙppz&Ecߝ0)KG)`4ok
-ç4A >OKRWyjyUiڼ;zWŽ:5o[= <zzd'Ab!^7[S'Q0a:[6ꡫMԴK1!>
-tJk>O(>KQ
-> (YA{NwE<_#}UcwwK@t|m"*}e8­biu`LE!O%^Bf8>BbN{\䁛16ɂK)zBNfAXQT27G}[L}t 9u  `פ0dZ.r)4g&,r9!N$>/(DsTجQ۽+)jم'[i8s ˻ae{'#K\Sp=l8 _&5$:
-w<PtRS4: MK{![:C3CW0IHz7ǼhG>2e=d:@%0(AN?}IG!.RtҼ\5蟭Lj
-x}~!:2 t4fO(,L^@K@ux֪@b'Bo#&QDֆJ"!C/9qr,ټY{lՑGc؋o5Vt}'I-:sKzB"uӠMfL/%AU=*{h~0ؐ`G/%XD9Ǝ&j)]yQ3(&D帨kO.]#SM'BP2_,8. C͜ ܇ON'^[#b,K'ԉ[bP*[[eX@m `LZkVChG{F
-$R <v)/PN*[YExU苋cs`ՀMl
- @hhpURB5)
-|Tg=]7K y9'ݠ1眥!j?| C92¹Pds1[ω1wΝ|Rt?{[ȡV]Br@lgT4D#=[&
+Q9^k~|4+}]iY!.
+"Hl@9C(0(PfGsi7z,گ_&f@[@:2S{gV=JC>@, U Zl"0,렡"9yX*Xff[I}k.FWL JRxd{JӍ &Li%C-۩ͳLX2}IR~ÌG_>_@Q\QQQ0{sdc&$KL.VO9JHʛ׮Pj#v<6OL1P!#ª*pƜXKz+`g4qhplnC.ν|j҃'?횚;% Xf.~J67NIK4l=~"J[?
+ښKeZz*X QWBpUƮH>8=HXn<iLЧ_5LDr"-5
+ ()"Q-<yaoD$P~s魲ݱ
+WPW"rIo7{lՃDJ!g.M:>
+5SrB*8zyYn3I_8rݦ*0Ƕ>bsw2o/lJAgZH|itQmb+)x?2)[XDzpBግ]${"90Lg}j楷kHMMs1ȪemŚb%{ם2e Bڅ+1B nP~If
+"ȍTC
+OY#y}6Euo3cxYg>ڱ`l)1oV7qmOu0 pλM(瘁G{To>1r=l~4ȶԋ Rv@ )r]5ûEg?_!7ɀ[$^Z%T{+-/8bCV]4[A8h3t_2|,0ܱsmx[1|R[ %ri1{ТntY@Q/Dd2j^|0XLSq˨si81|
+0bIExK¹ՍU,Os<gD
+!u 7 .6b//toPӰh9r`&!4vO)@Q$nx{^9CG5 ߚFZ2YD,nKԖDk6%Hw1ׄo7HFU}྿%,s"V-0* BƁQ,D~8d5Hf.ɷe_3-
+qr΀BJ l3w8 {5vĆXWv1x)%|'
+ߙN6{5VG&tg.&_KF2zuj-z;Zbin Ԧ n1#'/(ebڥF"[m5VM?Aw}qPAU(ynIe=\erYLiNByX\-<X?tnL8&͏/ά϶Je LC7.VTf5lL%nў\v
+fLるa.2n(CmOS!,pfA&=v (_UYҚSY^q˄]5}`iG\%q\
+sfҩ&z!q>8ܟ7]VǪSjyfDG̑jdeB3Xu7h!%E&#c[I*<ՍA0@LRai 6dd%
+wO<C񌉕
+M<&m͠Ekg}2~9EKiRHJOXA ӫ v/!bSf1:
+==N ≮5d)l< b̠w/ULgu!iO=6АTwBc6Y57Oa?mulZ
+l:kq:F(Zɒ*7x_AaAre HM\.O[kG[cNxpɯoV_mS̃3^HLDJ:ٱ 鴡ܥ%fbQ>i~EXIm"b/OAWucs0L#M=]iҧQ9lf| 2"-QZ<o1^/AJ3:dՀrpQ+~ b.^A% v:$ TmN%fne.$f i/RG0qdQc{n@iGt9^i%s<?^0Tu,!{J|,kf1!|Z9">xlcKhL5ڟb _Y0Vt7ևx&ȵ]\G?$?h>YWvɰ3u띌aAQ`y ~R'M fR^=E0$"*S nܦ+lg .Ib4 A*h 05)jvS[Zv~-uhab*n2%􂨨9SٛJcXk?%u~ӃAzX*g ,>yKݶ'GBApX\dWLګƁaeyj3E1 ey|>KG.k˶bc]-XLèCHu$2<?h@8 D
+݅H'HuΊn!֗Vx6P3%$*l1sY&j0уo($<Vdnʗq1R_L_.pϖc q[HQo`'nXQ7\ӣ{RΥWێ+6j6 6,=mGʚT!7`蛥qUFRjgGȯq;1'<dcUʗM@o#ڄwB2wl+龉/V0Lsy}"ƞw]RSed (t_ܹ=\)qo4E8 ^'&w Qz"jEp||j}m$'Uu!G->~o8h%h׫=u FC_JLRǟ Ӧ!(([u$I]3-#=! 95q <FUh,d8u]4 -@{P([Y'<hd)ja{0X eaOl`j#+ttFջLB?~y>V<9ϔ&BT;Gӓ3L,g<~
+Z`t);P`7⊟l PM`~(p]QyA8Tɿ AH
+òxN,| Y Jd'
+]bd@Bh8_g`*mb6@}wQ55&M۟+QT&BBG_µuGBZmz1U
+럪 栖|(1<i3cqK0[%U%r]pMۨ1W{cf)3ȃ`f7~ ]-J\P'ske4BL-,S335AgPAVZ~(lsfY$n2i
+s $ȉt"#h/๵0/j0@vȖ[q0ߵN3 qtȺDxU-r-?T>{ X1 麅t}M98H~1M<!aG@ȠOq4jr&)!mS:s%X/@a ?[HmLq\(O4ߋnGwb='FG>
+?DѩAbWZ?]T^2#C}}6$ G'%!tGG jݷl?Jiɋ{RR>F8%mI4A6?Tzi~F3X5Yh&FTqpTsi_&tc^J'c>8WavO5]h~'> }8OL膊&LC*oa-.[7baIQk/`zsx$v~hQn3N ݊A?P<)CI@r 5%Ly|%dyA:Muj3])d06[_~Q_2ƍc!fY"J=^1Na̛L3|fXHYnX 
+jחO(Z1j9<Zs赑MX 0HҌҩ$x;>}q̶mCc
+Cs1ŝv)έURjBb*Axv^g5Ȟ.I KSSN ]Q)-[l&sYBֱ7n&+訳\YrZXzͼK40;}ᒪi`Bpwc12~w9{%JHi>ORА+hϑKܲVj r6Srpyb9rSI= ;0b#Kkg|fn>28' d6K2[#C̙T ~Ug#
+Zo(:+u^2 ߜ8M'yUV -F .[}mz
+U;*
++yw95bP^;GcyUuP?JTrhR-!{mB!QF 2Uj
+m`=VSN}OƲk+GdU|G @_tWAO~+l-
+3Ca 7fk;:ֲyZ؁~NLzRG&1>Xd`/Qjm<J+q/~ުC1Yփ %[
+^h ڨ
+љv>F&&׾sV'4s,,ќ]}D0
+|Bg}ꕄ F3Pb.Z؃YJ<m:*`D+ YKَA |=\}=Xnribo>
+~UfȘZSïdNמpI|#:,:†
+Z1a*W)N&2f&TO q䕔SWY*&a4'aP{E'x=HW,\7 Z+mH\]>o,u2E;KZB/!fW&^W }{nj?p>["Ma31Pȫ,# :l8
+~EP,g32d%$V\
+gvv?A]Tj=Ͷl1^r&+7F#O) {$b[9{+q6_A\6ٍӐfOIlʎ\F?%hap ſY(EIGo͊6d?
+ 碔+ׇl`m#IEr wsPEWڰ(l}RT%iKs־"F8
+Y! 5Dt1,9+G BHZmf˧َ ,N05
+V $Pթmۡu cD>;g]@q~9mH#EuSL4’]cT|2,xt柞~b^Xo|#^vr,K< ѪY7b}QNYWڭᙸ_,Nqjp% ax5<y4_mYN#k+EYNo|pe?ks dZ9Ta:X!
+ 7U Դx&~#2QZkZ+PsٓڽogWf`kЇ?# &Zp&lycLHMSJ-+Ciņj#<xLxh*Ӥ6n@9Va ssG[x;6El2qܔ0$dù X׵$c-Jz]{ɈUZ2Ro7B(ע3\aڼAh SnlT3FKcT`Mĸ-ڱS|]m0R&t5%CH2͗p͢(Q xgưjE0Kos}Ϳ5<*fިR4?]|P qin;v' T+=ya$z<־+ڨ [mJ<0߸݊23:q^c89XfQcLgxԣe|KFv9|9j\b&,oK?R]}}-G USN0z :9 a\K+?8aӾmq-z0@TgX{" 7MgȲa\T\.#F3^'[w1EdC񤦿+*U_1KKSLK Y6hu}Qc)$rQ^ndfT `4q |՗˷\[v'=}&= B
+4񻠙Lu{PXK/m<l^L| d͟VNV_pA@'xФ+ث0~&ꇑ.p BS4hnmMYx3yIeٜbz8CʧS= xb&P֞ R&%!%|E^:Z̶ hΥkߙKPX[?0
+z6)?Tφ1ABE&{Lxڰ
+jb=\z^$pGK<
+D-MJy`?XcR}A]ݨVOFu8g: tJǙ/ՕrLQH&i y?_
+WA=g}61O~r%t'?Oc_
+WaŸ/9CpP1,H Gwf.2k!$6;H:.Q?PDܬU#&c tkWؓ
+]+ RgJ6f|/K<>%p*}F +% Pf#-AeܡPzB!H31%<ws+q4aoޕ_!%/=o_6jZPѡ4>zh;pzYEk槱Ɩm:& Mo&"iԢYX?aie$ՉAl޿:M!ypht[<]>|m{^1:r.u1q8-z/uUŚ Wa۲rˡpy 9BJݞog
+I;L#'LAKf~vC'%Ek}‘Giy0b3*r|k[?Mh;g2
+eϟvx0>R7 )s uc6<0#ɀӳ?0\0ٜ2sk.#
+]Y,hA~7)B-hz"MˢFq6%z
+B-j`4nF數HSdA//hTZlÀ :ĦR}n
+>`59ϒxt)D((JHh2% W$.ڑƟ@y`ª(J[/) bMGSGz@' 4n(O䜮炃 ٵC(CU)RuK(o.-B+ aBdX1PZ<Zgo>oWA1S|aEF+QdWvK?x*vr0KBlG.ʅKU1ԏ8jt>"A|e;"[|R}D)Dl @pϿq0
+p>h(p"ؒb21Z[Y`$E_Sz{&ʹ"}x: ֓RvG[lG$TTƫ^K35P)gXPʁ$ :Q)CEN8\Eqfg$6мRL l + 4gh9ϛ7"B4 DuV~8-?7,7;Q%o(eQ#QwZ xت5@tDb{7)VWy"?ZKng1 j{4&@P+ ȺkJOo:D\Y}=(%),9K /~I1My#vń_lU"RT6eS~t!+
+rc}k]٘=d5ed7\C$ENe%(2 &7McRj"TgwP.oО)B2ߙ,`/
+gȞ^ːc%P}`)h0`#4</=+Js#n(sT5rucm
+M0⫛=v}z^ףot>2n sS6-{MrDy_ 0ey)ɴ^yAZ>ΰ3mv*{i`ݍȷqy+^D;ÿtI2hQ(s܆|QR('*hTˏ݌|SD t 3Hx@U#.6)A7 )ј[\oޥ,_&&SЁ? t~&{IH=C^@ҺSSݬ
+,kY:sht&vE=] %}5W65ge\]ԥ* B)OQM+ݕK {;ܝ/rCG*˥ʭd\O ؃ލXݗA[eQtrv7^%\g͍AAr!`]66GCzܻF0jM?ϳMR5Mz &{ `X&T3ZZzwl˴Zb&p?? 3lR4 LYrxrhj=Zz vM8.d֬ a+FѓҲ7^#ܙ 5qBx-*QF,
+}՘>ivhp-=3Lzhv;N[CƜqڌc+
+hD2=ZSI/BG
+񊟧: ipå(D-uUuz,tzy q->X(Ø
+g$]F.vLZ?wg li=6[=ٕ;bk|%3E8_o'zDع|c{Mz L(m) %D msMIs"bOn΂gTY$XPIްRA%# MbxIC\blxS?AH;Wٻ;H Qק%2p#%teXO&2FnUȓ \lZec#JN
endstream
endobj
-672 0 obj
+927 0 obj
<<
/Type /FontDescriptor
-/FontName /WZVOQZ+LMRoman10-Italic
+/FontName /VNGPTC+LMRoman10-Italic
/Flags 4
/FontBBox [-458 -290 1386 1125]
/Ascent 689
@@ -5204,11 +7418,11 @@ endobj
/ItalicAngle -14
/StemV 56
/XHeight 431
-/CharSet (/E/F/H/I/L/M/T/X/a/b/c/d/e/endash/equal/f/ff/fi/g/h/hyphen/i/k/l/m/n/o/p/q/question/r/s/t/u/v/w/x/y/z)
-/FontFile 671 0 R
+/CharSet (/E/F/H/I/L/M/P/T/X/a/b/c/d/e/endash/equal/f/ff/fi/g/h/hyphen/i/k/l/m/n/o/p/q/question/r/s/t/u/v/w/x/y/z)
+/FontFile 926 0 R
>>
endobj
-673 0 obj
+928 0 obj
<<
/Length1 1637
/Length2 5249
@@ -5249,7 +7463,7 @@ fK7O|M*<
WS|`Zoe{7޵'Q @ΰܬ$}^+b?@p҆DKU}mopX@ zz:o#Pnn\LqzUКƂ v9I}ee@W*,a-Dv^rѽ^,bJbg>;d 9apmA'YM*;ڜ`h֙<)?(h
endstream
endobj
-674 0 obj
+929 0 obj
<<
/Type /FontDescriptor
/FontName /WXKWAB+LMRoman7-Italic
@@ -5262,10 +7476,10 @@ endobj
/StemV 70
/XHeight 431
/CharSet (/A)
-/FontFile 673 0 R
+/FontFile 928 0 R
>>
endobj
-675 0 obj
+930 0 obj
<<
/Length1 1757
/Length2 10931
@@ -5319,7 +7533,7 @@ IjWtVdo9^r$%0 KK/muC56Xйx-~7xMl5
b iT^!c$1:*s.wo!r(-eCej+r%ѭ:a%*иۧ"Q|">4paL>.$6.xKj}]bW(9=H_f$^2*E}A4HƑ\¶3g1𐣍g~Ev}j>xjЛ^mr(5I }@1o#`f-'1銪^bxV?
endstream
endobj
-676 0 obj
+931 0 obj
<<
/Type /FontDescriptor
/FontName /ETIJNB+LMRoman8-Italic
@@ -5332,10 +7546,63 @@ endobj
/StemV 66
/XHeight 431
/CharSet (/c/e/i/l/n/o/s/t/y)
-/FontFile 675 0 R
+/FontFile 930 0 R
>>
endobj
-677 0 obj
+932 0 obj
+<<
+/Length1 1697
+/Length2 6902
+/Length3 0
+/Length 8021
+/Filter /FlateDecode
+>>
+stream
+xڵtu\m4"
+
+V!8eR8G
+`w h{1`bnh440 1jdl)Pং
+Ao_'^-@w
+APnXq׆QX#`@/c/ ki ⅇCA <q/teҢ
+C^
+I d 7.QDL[[8QP4 r
+3x
+кeSPEܡt䲁}y? uPoIpDNU<bጦ&6I̻8^5M ( i<'' pǷ!Iۼp^mRVB(ޅ ѕ+뮠Mj%9+&ЬhgV
+ qwV̇ct/8R}421^jҪܵBasԏ4 X=H ]觔sED8|E<?WvrZ痼.L#NӮ5_P&zE& #Ibfό9 ]R49_CgJy'Y1eY)MA\-$@D 2? 4ZWCO &F3ϧed-}'e?|{L1F׬C$NC՝+N!iSZސn5{M ,yU^6gX?INƒaet.\ѪqPqYL1|ZTBR;cSoeR4AZ,[bL":hpxd?ƱļL ?LRיs1U𩝸EbSV1K%., SR#1h;7W_ Ԛλm?>WjWjPgQº'\0,Cޣ_zD!q3r733ON2:Vzf2툑EsbiGOuTϴ@w2ό X;e!v#7E,` 2)KOȳ͖3/lKB8wu5sOy]wn/3SǙ <"5:`鴱ͣrğy6 Z[FLV(CD(;G9\m;Lᎏk}yH-_kJMM2bri4c=.`FC[v*MZK? =U9_Ltm'bүm )_3~}J9ੂb}RrIYx߷+ BV^Kqʹj'=.f$sxp0Smb'3K;l9/"(J,1T{ő̰ubpWHhL#>FޙQ\yc#9*T0GVx>B]0ӟ8/1k&||o]ir䐟 "8r2#g+;n}Tw<\c <N#:9!dIzy&:MG'uTXA9$C&3̓huV_%N~{5?,I4owQg8Z&L`~+'@B-;۱nK2)#%|ŲHdS₾
+Tw 3Xo<*Vgw7QYM?hަdHL9h7}5냛i`F6>D݂Jᐽ-R|dғMODUvcX\%^'L4,QBb Cn4
+O(6sNZ pzG2~6 dnniK
+q0]ZIqˇw105GLqQPC
+r1Ut2}(k9gY%BE>}"e؈y±K!x ;\ #-qR nv\M~dh2i+ w+6:MCig ԴbJS>k; 7΋(,S|\!ZNPtNj]{//m0 ojzMTt6Զ `{ʋlʼ*96};kik)EֳWd&='={|G|wR΢հlrήq͡JpTY潪3Kr:Iw/~*J8گO4
+.¾x\8 mLyX˶BIHU{f1p KPK1CkI&Kzq|vJ'EfFFg[TT:4 9N`y4Uf{S"[G[~pVB~^zZ"}Tbv|uR`&DoF4(ա%u~ ݼ?l@B΃/W5<T>:Ļɛ5Mz ī$ڏ[8яQ$+#⏪ǹSҒܘ7uLo$6h F@ߕbmG`32
+.?6(])~}0>lQh~/iK[EaB']]JY+R*pehs.gaf `佲T$==\mf5=kqSF򏴌;=R"=CY^%j۪VzB\i9d^%Df>UG@+`ᑺz}zSƋJAMқM@8ٰflƼ}hV5R
+[JMS:)7NLvHRb *AgH\{X5ip)>qٸ'K(c O;YH$Ks;
+iҙNbT14牠|_ԅ~`|Z(oCt{הyѪ/#7ӵdLc`g=^F_Fgr9ذo=b.c;s
+F.?/gX8R/ONǕUuDi8c9qtMpr"cKp]έ0(<؞@Y{xQ8r(F#=5;okFqhe!AfYQű1>B\-mIYSyoۊ-E8sqcFxJ|by ڭvhDsdk0][U-YD''ew B-wvCm->wXj*Zp_kw-?~(sw2oY}+%M zX{2H[(c؏Rǹz.pvcZmP)~tVaDD i&_]vjH\Ј~q?a^՞J.G|GdR6v.$鷌Q6J)?j%%&O;>^İ5JȬ"QD8i
+WCfD _o5v_ݤ: hJ>d`4=UaL]A$`f2Q-NDpGS7b;ۯٺjye{\VgaAPD/W3i({PԨ b#ژCڏ_*:A' !=E9>-a;$C4CB"3+hte.-{C]Si}5uH'N}w:'ajqu+՛CF9i2׎oE0d4i
+#[u
+ 1yQ ~pr/ >=|dJ#1]RKs*ȉXe
+'a+ dQMvP WPh ~ZzD?g>:/mꞼR Tso։UZOS9)KQ+ʇXI<\#^ɭOhQՑׇH yb#މZ:P^Q ir~yNI ]#jNTHX!l}bha4noձqF)KÁCsC sb9JNK@޹5|h?Ó^LځWpUM>ӯEB* PkA4
+96'XTJS~
+vOeg&NF
+endstream
+endobj
+933 0 obj
+<<
+/Type /FontDescriptor
+/FontName /UHTCXY+LMRoman9-Italic
+/Flags 4
+/FontBBox [-469 -292 1419 1127]
+/Ascent 689
+/CapHeight 689
+/Descent -194
+/ItalicAngle -14
+/StemV 65
+/XHeight 431
+/CharSet (/a/e/l/o/s)
+/FontFile 932 0 R
+>>
+endobj
+934 0 obj
<<
/Length1 1991
/Length2 16803
@@ -5423,7 +7690,7 @@ O.hVE̜#ڀTQ< eU"p
PԺe Um#H6?`CNBF͖+"F>,|4GSvP_[߭9NuLa@(XʺX^?h'9]SlF:*_+@~qRЌѻi'S>*
endstream
endobj
-678 0 obj
+935 0 obj
<<
/Type /FontDescriptor
/FontName /QTMYSI+LMSans10-Regular
@@ -5436,37 +7703,44 @@ endobj
/StemV 78
/XHeight 444
/CharSet (/N/a/b/colon/e/exclam/fi/g/i/l/n/o/parenleft/parenright/period/q/r/s/t/two/u/v/y)
-/FontFile 677 0 R
+/FontFile 934 0 R
>>
endobj
-679 0 obj
+936 0 obj
<<
-/Length1 1915
-/Length2 2794
+/Length1 1932
+/Length2 2867
/Length3 0
-/Length 3967
+/Length 4050
/Filter /FlateDecode
>>
stream
-xڵUy<TO$ݒ-u6: ̘3c31cϥD IqoI%- my׼fΜ,~sIX;D!% aS!L$`}@ED!r q)h Mp"
-
-#2EfT8. &0 zh@x|0!{; 1tg¡Cłe2:8ttѵAV @'ٺj9Y,O
-ev/'GP\)0&4 _y{aa@
--3Dg?wZ]Yg3JDW#"g!L.7+s@[ǢF
-0LW'fW<ѩBBR&5kIW~[a pSYr΂ efːĜdΉ
-I8ѧ*N8H}5B#]lMiq[$7VU
-"qZ@!hnuǴ 2k'cinLJv㻪X+G{a u)ZkWcG=h]{K_
-QҎ_tq5^?׈h]Vlsu]f!!~S`{Н}'
-cYd׽X4khj+Vԉe+ן_4^MVFP(թwnf1^N:|Wԓgr^֜o͕ ,K{'TmٴW;w?5s}B쒉=r|`;%Hgͨ't<l ҽZah]Y0)FהsKՉ)u;x9ȺA^GJY`TyzDFtb5k*s۠,gdkUFCdGw09*'Z;#Aߧ41;\7K=zlŔ>qwX> Wز7@t:q$"]lJ]z{Nn4 # oVPS~wyةDsu[]icU2?="~ZWwlNp[UqE;mw6$Lu,j5ʭ-fԻ}Pv]oX[ӺIMn'_Ql㗢65I>cv՘Rϟv L"t{oNQt) gb41jGMX=gvg?vNH)m_L:fuWUF[?}J<ѩ8gi:p:g_@PLӗYq-h>WxBG T) x-6?C>bO^9s_=VZt)-)č~
-/e~b.xty LY쨀[ \N45HXf_Df =`n7<P]{
-^wz} lƮ=Y 08>G5gi,59ZRGd˃G5>{Ptkȹ@%koW=:԰R[+%)1O*kRodY͖zhϺGZuM3_9ݶp`j|eW€-d%۳?,s$@d=$| :mvҭnQS^>(kVo/24ᶝvbcj_* Rean@& )4B-ɼ' Y]99]Jߗ<ti`n}*T`.wZeˣ %{eۊ:<kh>1۬Y׻eqYPw{6+? MvW[9KkltvB>G;[\SQSuDܾZqCD'W\s_RdrQ'{.iM|Қ;
-D?8}{ +֤yDa/7`'8˝q?~i B2JU,X.(xi~͢]HEŎ8c]2n~ztu%m&^k]x@8 /f+JR;#6\9C}NgwʳtKƯH`ײY[0_mDnAv O=ʔDvRs߸sI݋&z,}W 0NS1 1UhI؟MMZ)A|C 61oqMekG9y:'XzY]ueP^MWV.=.9w!`٣K}6P4,Z8wai݂H 3rꗠ۝&t{^L1m;[rn|12GzԻֳQkݣQ/D/Q-+_80|[B%!Ƽ.UZ]7[:ercwfţe*Y"k/W^jWJZgs#H:&Y@AH2 g,Ǔ%m13o]?Gmhn!nzb|4Q ➤C{S]oqћ
+xڵUy<T{'j
+)263zGNٗ,309c5["r(DNJn)[)ޖ{|?9s||A+cͩX010=I\ 1Aі !!LA6 2) @\(4` @SJ$dR$$
+q[+u y݌r#xܨzcB,. s3@s3lN;lIXD{,#t#%o~>s+c/_,%d"(~H`7pVAt5?*`Cy/A  €
+}.( dm P  yZ6<É?tF
+ 3Ww8L2'εGT:H[n}LFœ
+iw%^*﮾T8>$>:M-=enۭb_k^냼}unȳ2-cUv^[ִ.ͭUTO<^`zn˚EGU+zLgM|zKի֎eo4 <vom{w5D"&〔\bQbdlq{qȼU:z};aCBMwkqLN.r o
+.>uhփ7}V%T7*)ޝmcUߐPo?Ʉ0VZp۴U,oIՠJ}v|iNy ]gkFng`W,^(G W\=quy5tN&%Mء7{^󯬡ǽ?
+J3ƅ6HFաzMFH[(b)9fnT+XX&YHuD4}VԄdef'b!/+[GF ^si܂!t;KVkA/JW1 jM<
++p|J '0TI<7WʷdzΝjxu*`UБw
+mq &؏I}1Q++sTit%Ur3wU&h~Ĵ(U1ϩ"[MH&7Min(.PpMɫl MoYr<msup͉p{lψ8Ѵ
+#gWdZ2C{6(hWcg$lܕ>|q=F҈nً4Vnu* [ M3MAh^1͹=ז0U()$?7OV؆~.\k:zfNT)$;+ )?(8b\ӱ wEUֆȣ+T%9u@G,f
+[$f[=Jx?ux JMHYbXԮ7墇4E?gmehL Cd{җݚ/oՠ*?/oc6֛kV-y B퓅ry
+ܐ ɏVƕnd`sDfuLx޼0o4&d2ig6ǷV
+.~HplNK&b`UE+#nV;F MČp~ɹTk)OTlz6Sy]n+SK*>j% |ΘT.>K^&&x_-֣kMag
++i,! S ICbJVc\;dVH<l\Y]]2;xJ[7Mh;m6~nQ`9F#tt^_Hb޸΍5sUOa\nt{x!z`Mw%3<RGj^gzhn<ټNf:e^Ʀ_Z 5?,_p`KQzV}"\Ae2!ٕ.z wqd}[<u 1뙨53$eW}1}]ksPbx) :=16fG2.qٽO)KjwGems8@P="VyOIwTmhHSb6fnTJE
+J^97{4`Rj{#0Ԣ|,8th}kov
+ylN K!
+C}}ʻJ+k3?jGd%^j)=X {HjڗKWJ2Q% a#7:qw#7
+IckֺH۹/1IoEW(-pb2nD׾r=D蚰3]o<vO[YE>jƚϛ ,|a}JxoaG[M6~/c)tMqvxQ/X<ltQOͶF !>'0_E"rӴQKJ7EhjVE׻]GL{`J"Iȅ]jyC#x5_T
+I=GrS.R\\Y3UVB &LqI
endstream
endobj
-680 0 obj
+937 0 obj
<<
/Type /FontDescriptor
-/FontName /EEFAQO+LMMathSymbols10-Regular
+/FontName /KBHFZY+LMMathSymbols10-Regular
/Flags 4
/FontBBox [-29 -960 1116 775]
/Ascent 750
@@ -5475,38 +7749,41 @@ endobj
/ItalicAngle -14
/StemV 40
/XHeight 431
-/CharSet (/angbracketleft/angbracketright/arrowdblright/backslash/greaterequal/lessequal/minus/multiply/negationslash/radical)
-/FontFile 679 0 R
+/CharSet (/angbracketleft/angbracketright/arrowdblright/backslash/bar/greaterequal/lessequal/minus/multiply/negationslash/radical)
+/FontFile 936 0 R
>>
endobj
-681 0 obj
+938 0 obj
<<
-/Length1 1684
-/Length2 1529
+/Length1 1727
+/Length2 1807
/Length3 0
-/Length 2571
+/Length 2885
/Filter /FlateDecode
>>
stream
-xڵTiX.\
-jED԰@X[i @AC TdcLKEEu(Z.B\r.׺-rgVi'O29ߡq4KC01 ͆~< |i<8Y-ApwPAJ eA8>x
-
-'J@Q Fa% qH 
-%A* 
-;)A"C$d ODfA8$b*t6p0 aD$8I
-+4 =Y2 R`J) JXQbN<,@ND "UdR6TI AN֔M &Rr# Q8U Qg#q J%كڥkflH3ubVeͻ-PUa Ad0^E Au66"46Ft\Mc"NQq&U>Bc 4h?y%*SnBIUaW9Ɩ 
- ft#h2R eP xx{,!|1pN
-PM/
-f|ewkǥǫKggYf(lW$n:4׌/T~V6y(m]^4/N2-=_H Ԇ:UGn7,~Y3mcתS\>YqrME%7ee_Vz R %imAqPo7!7ڌFy:a_ЦfmS|{%KZ>DiR{}II&7lDrwA+R͑v^ .lؒGk찎2A^VCnftcZx;D֒^k~Ľ9O)k/i6Q۟f}3:`OSUciA
->yf ˴!2+Śu83Bsjؾty+m?zW5p;cf907u]/ab3 uG?m=h43F10늏-6!1Zm36RZw~)]F
-{hQ}o) >ooXc53Dw6C鋽Ĭݳ,nwM//e[ /-Ǥ1OE@d $-
-2]lQ1z]dVfg?ù:=\d{76mjfioL䆬 8m_ڵ)'7|޷ndyk%\v9/y`O~}kyW+D(ӂS^rΠрjý3vN<
+xڵTy<TkVDR\yZ1cf•f,sƜ̜3͜1#"ZoF%](V"K$-h{[nʭgF?9|=c2+Ev`'dj|L_lK%|Hh:J21q`;f
+"a pfyWp
+&
+~l"RLÊHPN&E`T ˃<Qh%DĈFQw  "7  aBG%b̙?JnH^$Wp~|${b*7?n;
+Cňfrb!cy{zd_B{(A) Wx6fe:@9n@@sG>(_bR4߬\p-QdvC@oX4*WXųV(G0ђx!&\/.L|Hb(H'oqE'r1`7
+LN!ɌZ
+X
+b(dc,1!q='SR(BbrGV(m_:Ś87w.Dl9?06Ebx2v t`Cd襣6kQV,!esʼnyQ^-
+PȺ}pGa瓲cW$^?wg5 t~ %2 5=\sB(IG/6{sxi슌 Ū7G3;hEWH LGזO14l]|ٱ uXq8Ugj៖ӿλ[?qf+ǛMR&
+>mɳcv{3'TVW`~g7 +<܈^?:fjBz 9xK!rN~.*z mWkXzNx-%\V<4^i[&=x;{.\R44)i<!Jv$9Ӣ~͒nU_;/pYZfz} ǎӺ/.2l?eBN݅y7/Yʡ>n"xJ}iLQߧ|mU=h$ wy}1]wZlܚJx0YZxPj&
+CFoxPX?;^A擪U{u]Z0|ߠjveglu,ZuwGi3{nH
+ϐ|ZxPLO'
+v{_& *ȗ^*صg{ w]XC롆>oё{gO4]IՍVTy #' {WL=h^w)`;}i{c})4ҕ,㢘EPIeM)gto4:QmliVG$_j!uً"oePozEƪ;4 LjN.4';{zaYVZZ̮}ϭXǑtUiquo`O݌[me~/-jm?I7or,H$1"z.58ohWEQ[mtV9Vi:aU ќ
+Q=s9:#MmfY%7JY|g*_Qp,vSI. S|"K&niދL񋷽f|ZTOW
+%-Um'Js
+iI,]qD\s3'MXA,d3%;e}Ao'9xԼq;b5iH|LeFnxvQ£t>}ƶdΛ ҫ/!Svu5R>V0'oo@{&84Dڤ/ooz:gط<se6ς+tvҴ,qɎ6c\nМݹkӌm\n<)<Se:i<t]  W7iI O^aD``Ŭ YTe֣j4lk+)Tg|zV7s^.VI44V$>kXVS؍N.j*R; ~R*̸^Co(ͻ4)~B5u2'Ŗuy5}G"pj1u[ؙJ*:{`A8Qf[5.Bǵºt4wNRLle:?j}uo!KVr=}[]TZknhO_wvZmׅ'k1zz3'*=:1sX蚛{4Z˟C+T~6,;42ct~ŭchT>kU젭F,-1
endstream
endobj
-682 0 obj
+939 0 obj
<<
/Type /FontDescriptor
-/FontName /CIXFWA+LMMathSymbols7-Regular
+/FontName /VWOJXG+LMMathSymbols7-Regular
/Flags 4
/FontBBox [-15 -951 1252 782]
/Ascent 750
@@ -5515,131 +7792,121 @@ endobj
/ItalicAngle -14
/StemV 49
/XHeight 431
-/CharSet (/minus)
-/FontFile 681 0 R
+/CharSet (/minus/openbullet/prime)
+/FontFile 938 0 R
>>
endobj
-683 0 obj
+940 0 obj
<<
-/Length1 2138
-/Length2 25265
+/Length1 2153
+/Length2 25446
/Length3 0
-/Length 26568
+/Length 26729
/Filter /FlateDecode
>>
stream
-xڴeT۲5 ޸Cp4n]wMpwwwww K}w~sUjժ=)HTDm 6 Ff^AOA!f4
-hN ]@@mPu
-9`432ؚ
-jqPQV`aw0Q+-
-Ғj r-g o^F /?,
-o0
-~$Q{Ͼ? _khditp
-ji"o
-z{0Y5,mَCc!Vw^q<rŎXÍ%Ez$mG3gw-_#Ui|;"v.vML|(h1BnfxQ7㧌Xܭ,@ډ;^
-^A^`Ac@r@>9q,m~E$Uͬ.7g?gϐ!U:Ȕ A<A]:?xBيM <xNM_F_7-] ۤ'/Ie4s'gxLcΉ
-)Ci)JJb8юtBv)j3ZM*8T'mH3E92X,5l?6kS2oq
-O\{(٘2x1>Ȟ#DJ=u+&wJUB+Y܅3̃JTYiFd<.FcYJ3f7£w"Q3VE+̥%MXHWUҸZj 3s<v*ܱPxުq@Ӗd=fG+%A^9Ri[QbxO|J[7mZK
-9Qktn2:La)5+Gq[]՘/Vn*([ G$q($j3*E$)vAnIo&O]>=/[08/T}%%9DRzp٠LcopbkkPE|>X3#2c !hl~-9$ ̙̰ξ`D/cJkiY5|4\>BOwAچ-lF>7.f&.1tj 3 Tx_6X25=<aKlzV;y璪<p?V
-)%XM*&-X}=?8mmcV*ްQ/JEi| sGNrc1AM/_Fy:%_ K%<\܈11XW5H\[:Ox{oP0؁FIqb\PO~ĕb%
-K?:BFVUHYoՌې'N%y>^sDmuv 0W6
-C`])!ej \o* =-}hQl](À*9^ݬL5v&{F$<- l%x*'jʼqR+x2/Hw:-OʈX/<t@S =ACm~؊}NFn5A1Du< 70m/˕M!ӕߪQe3: bz5͵ |ft>ܟ$g^wؼ*wq$%A1(_|&k?DB>9PJŀįwik`+(6'bIAִsytE"& #LzY,_E,: K\?4.ߦB囘 4 y aia~G"/ac)~)t/ "z>Hu5ښ>oQ΋ SˆZ moUs'΋gL! <C9il@"D;Z tӚG~LN 7PyK~dXEJ3'9 t<r>E2df7Hu`B W@ǘB b$}rWtHYo:)
-*Ijdξ(C: ס.-ZahwD *|Lyv)h6<0Xz-O^tՈ:R:#-bDjpMz[خɁAcQ<vWdc9 [@9:M<uB~sEP;Қy{
-?(k=94p8*>Anփ/?g>٤]HeM9&U0A( R;f18/g]'%cB"/5AͅCm aOM&L+Z8mG1?{8
-D }ow5TcdE"^#{&M 1Tߔ',|']8!·$8RSqgm/9
--bdsPah'r#QJ6=z,@NNY83rD?c5tPlŁ ߖ/52"V:NF_$M}cSH7wi#~a8/^AE 
-[a3UdeTk| B7KB2V;BP3g!)w.a-X2ou˰.Z֐'~rPv 5QAW
-kj:!(E)@v$JwN,DߡD䳻a%$H9C?)4~cVXuPx-GZRijєҲ ֔_hzc"b
-%_ U|mgX ݪ.f
-ЌES7@rЄ_gTaVV?vՓ(hKZv2A>b8tNQ'bs CG`:
-#
-CJUwuDG$õt,S ?džJx&=5ٻŮS3~Ǽ\##+~㲤kZ<x
-W-[$=3U2TL]R! /DQz sdųI>
- O )CaI)7U6:sȖW:ĵɫ( -aNЮ]Ro܎?oЗu1\я5-r=TlT$ GLߣҪ!?W1z|tQmL )HC.BG%!Ҥ"e8?
-xڠnA~a=l{]j2Y*ٖj$
-{ _a?ۈ,*`Ht&ģgi%#*q58W(82[0~Gs yC,i)#
-Z|,Sei#AUY(}O&t|y΢z^JhT M͸m*(gQ^P`l{|ޢ.LcCJs?uV} T˃ca:}fPmAnlO󰅣Ge>A ij/(
-5?i4/cf-N{jbF3 KjUH wT}L=™!ߪB?nݦQPJȮӼ
-Y (_C#:OU&`E㴌NyiGbRCqkIs1ę(fv ^wX!@RmEND77sIH4P3ij|k!8^ܾ pMNE_7#Rȅ5?ggٷu7H'ү lڎP3,&5)i8N_AuIܥ<~=·%sPfrugG''պhM"#>+
-lp7hoZH1"OpVH =㎿T zjCv+?/e)TY[ܲpU+ZM⊌e 蹖ۯ`8R"%=x\hb"$U_ϴ2뿙 91_~~##퀶JиѷГ5}&1aPٛje6nfId^bG~/&ص‚<s+ıZAj> OKp-OMVӗ9#^hqNj>E djC;q3
-8TUZi (y|Q;g,UAS*ۏ
-}*}y̵zj:B鄣fyh<Zӽ;~k`|"zGd{Z[sZx$UR$ER_F 5s XQFP%Ѿ[:&}-0C&Ct4Ub]t1x6dYꥷ*))`BVVi58g̳yI4lIKM׵ZX#6Ug'6쾵4{\)E*֓ Eh
-ɳQ> tE})P.2^Yn5b0Yi:GD^5t-,f:B2H
-7k)8e/c 93;]h=_nVR*9CZH0!3qNXs1,vyϯH{Aevuj}N$2 qeCl-9^IMk\B=ñzlO'F+"O]@&
-,Os}>
-g--}h(r-ԴrW鼟sf%TZ6Jl*~1[0ފvt]^93MŊJw{m3/+,]S
-$aMJ0&Ǻ>jq6aMB9:-Ʈh1mDD16pX'ZDZSYͻW/ K\a &,Ȍk! j%;;+V[L
- ~,njt:WM5q&'P$]`ڲs(&6V7 r7 f\bJ<6OL3;%̠$}rWޤ%g=2q l\uR
-c ro#f_kwy7}Sx MD\fgϧW!Y}Esb¯TR-5Eh͡i>}niFr A$Tn`:
-\sH^snjK`:bMRc4phd\9ѻ b+>^w3c,#IAixguh& ?ݵȹdljȧŎdm#
- Y'^rӅfCϺs b5 rT fS<Ylydhfw*;?uůkX?&U
-J8>qN]nrZ*Y%T0ޕQ;ET2_| L{Yzw村 $qkju7q /j3m8ݾh
-Gwk5K}H ɋhYG%w蒧=湝}!OǁJ{0T 2~x#+r*#
- ݹ+16(j .̨$ufJX×щ(6ԻϦ> ;vu1){@KCY̩19UK٣'T6Wk,7wO]0{5esJ/vƷZh{g@mzXm_cdW K
-ض&=>ZVfHc˱&t,yySy=GȐ ~D3ُj+(qu;i <{&1!7i sme5EчAgu ŔTG>B~VusCOP@`nZbtS% wQqi
--L.lRWjFA&и*'QI"c{Ir9D(הZ瀸:ӎfD7$pd/G9dn
-
-'D{t<\wg(f)q fҳZhcl߁?75č Uli+omN_4 $ϋVUE}pjUz PCA=mOӯTLE(Q8NNtZeٞ*}C}#OMo)-l 0.akd3R- n<|.܆g31Zd)6d(:U| Љ~ vh:e,I0$~ibs.Q& |};2E:`v
-8Qj_s֩Sh(N-;4/E9XU9BZA
-`%%o+K n%(FȥLFۊe|$%*, Ö6#@tT*h&xE*`bz0{^o G<]_TOmkNLu:y=
-Ee.87SQK~mե3Ь4lV{ UCo{,Ċj<a>Ju?LIi?3?^YqSlǫv+XEU$o!&i{v+||`ܕ*?+/#CN]2Cli:8Q%)3v+|镽x:F>'ߘUIhVLX#5'˝ѕOy4 Lw\D_x&B&L0Wh-Iye6-LIH$̫,uM1% g'qA`h̠e-
-t׭(+'W.q{_īыͅY_;@} XEGZ`r(fCWFе0C2GjUB =h/x5>0QK6SypzT|ۓ˙qbZ
-NӶpCQǑFpC61{jKFZ~\#9dq. *<qc$F-SJj"@CWwЀxQb SEn<j&q Iw`8U}weJӒD wfRoPJBKd},ZR`=,͐-ګfr]h$ֽhK]vmml c@ViG K#o1l_ʷ"Y,Fԋؾ2+`(]|yZt6[}MK9E{0y^8J*|;"@mS&'UgMDJ?Zun/|8(~2]+h0Źj:*dAb!X߲JBfW^T-Ίa*9`XР[m'!TLB1ďq,O_"? Bt,Ro
-buH R-9/ۂV !NʨF̎@{\_a给L9m~y
-jP z&&!γRo̠"vP ֌Ev?49kkkOt(StcmUOXlɞ"c喌MA>y<‱Y6@(,ƻvԺȮX[҉{|DX pZN{E)(rmJVDO}_~(m$|BԪP'oL/T z2W, ^ LS$^i<\)¡Mi9&N߷]2L~p_sW!g,bc4o.wպ .JQԥERϛ9gnQs n6_Sp0֒>$v%cCPMoS- HHԗˏ-+k/z;ﳇ"W޳g^Yo !B]ÏIȮ@D\*OVk9.d~AO4񬒗6ŌQ hO@
--WV~uQ}{d<9PT"1buWӫP aq)tUmw~Uyy=͝@hOk
- ~-|gkTÝ=1bh8
-7D{`PR UIaۭ) XQ#5F˳L6[A4貧!Ҥ
-@s4@ 3}Xzg6'88f;;G}MbD|U,*$5 ī|6#g'Lu͙ULKT?{k JJhI6^٣>L]-4+5sz|4h}Z(@Ѯ£6!qܺ1㤾C|02mGBCí=u"|.l+inZމ4|i?ût6!4p̮UXNM퇁d T8~}QdI/Teaa~},y1$;3JA> ew rr=\"uʄM_b*#&̟?*an0PIp#[
-.MK_oc`)uuhյx/{ʺKPihT!? A
-SjiDf%us<t 3Xpg߳tV`gr֋"a3||K.a7 22OS#R_@`XwWQ]
--jIWp k;:#^34/gR PJkaLg`1R`L_XU~wJ^G}[v4` Y3#2P3yE6ҷUg+cdG1.#\t64Dɛ%an[but"i'e&ԝq]/b6X"BJ7/.Vec{'at |;㰨E-ݳN!fz
-փ2,-֌1!MgR8k(Uɜ/}{id<w]Mϖ*S{kI{4
-Э1S)7-u,8h|Vbpv=vfG^Ǿt:{~Y}`( <DDx }%ZIXm%ò鋈HLIx b/\u!b U<IQu#0o5vr-p}dPڡ) RM7i5S-#(*_ 7~G*\v61u4 csG'nItZbl{zuQL*}vog9陘0tGFg9֨~5j'hI<V,'\.cgQ: C[:]'(ף6fR`OTW,52&Wj+Y9~^q5ăur;4_mOvZ@<7ꡨ>ҬZQ6J o.ɟ^Jx\\
-O{ k`9.κI``"Cnu DHgqĄ#LPk #k tPN^JyjQlp
-@ピt$)G
-.lS#19uM6/KArOiΣ!7J_+CRO-O{9}#uR6Ǣ"Y6t(i koLb5d]11ڛҽ*Z@(z7bciߨ XlzRuâ=b ]P7 p8kBJyw>vIZ^"*Cp GR͡~YdΤ|tGWPdWըQ4
-M'4]1I[t_K4HarC+2)l<Y}w
-^8}PǑ
-c#Jy?z~z3bUz<o:$⎣eR(FªNb>Ew A޼O;(Cq5p f2~i"=2T$ILz[$ }WHx D.Xu}nh' Us#"4<q+g@A}xӼ5.&Wg-=E5ۤU@toZ뺘+D ȾD|vј3@K,B̴)lQ_{0ӳ3DKuTrvU. hj*9et}uY!w1GAGɕF왃\9%
-g䎀D*.piM%{: ` Pma&StgJ,1z\,rY1$Y\?VfCGN*C@%FNl#Ck䫚WVo9ƌ% `N 5\sW?s^b -V5 &$ /MZ udL\>?i|{٨Ѿ Cb|d{Cbvz.\',]T ?WΤPaxkԓqy>;i ڧ4[4#4%%=tJ Ʃ۞*Hw(I7B
-CTd~7{QE
-Ng~gSd_ 8ڤ[=̾9,ɬ c? t|Tl#oF|HעWʪX7 `K ( ֽz*bo o>ELjr;݆[cZ#R#G.:{f,2rf*go&z* {Iiy(#7G`#^+Ȟ@omE3
-Pꄟ>BBQ
-Df`C% ?CZ+|͵[F k ZY 1 UjL+5Ĉ9fP)ųS5ä,.YI8B1ݣ#[ժWO^UT(^'&J=Z7> (t Qu׷>bL[숮YXhhyrz8UX唂{ C
-vl-Q TgвV*U
-hr&
- o]"
-W >i"J7"hÝpH:^t1|)'ǂt޸Lhz1I[v9"PXTѤ-@ys  wA*"ɛ/c櫬om)a~'[b)lrtv
-lu .dz[XԢRp>.̗s9< 0XܢV<LPVee L: \!
-hQ)0ʃ'+L4&.\vFG؃AM+a SِtWls'(_ce!(URpE dKi_Ԋg/bںJ7Xt f~(w
-b
-k\IBPqӗZ#;!lLjR\"`I1ϛ5Oz:i lVkw4'02ȥ˙ʛ|C%YuXQ
-b/&4=)ej/Xu>{]_0(\ Rܶnwӵփ"MҰjq;5mи `r`Yހꪞ c%͠gzCN' Դtqem3fv}2AV׳G=d5:as D0cRɧ<^c ./#QEUh;PQ]?G^ML̛xa0ΰQO)iv
-W ;˓ipL_^ m]ٓ~j̓rʮvHBYa^@4֘T
-GAYW,9#&ŝWY.h@ jwi)H%.)Oeuaޝ(+y?0rhA+?SJf
-;{ׇԸ1fGMQxל.ʓhz.bXS[`Q?wbYe]2>"$Qjm z^^nww6L-x ;
-$e1bM}п;Ȅ>0l
-.P[OD3 H2l_=;(1u
- F2Cwa5Y~ܚwDE˜5DA$Kw2Ok0x\?Ozq'U ^HG<־Y<@G-C&;EE<0!d b=ɰqfwRlª~,d ܲl|,U.{>`׶Rlt똵2c),qu0[je9mC#9BԱOo& V;{Odtd(ת?@~
-XGCb!1^P>=CtGdSRjvԔ\C[ gk?}
-$=/W4]Ds3+^j֯X4f5X'?x{5W).koC]-VbBй(hZ|Ϝ X8X){DtQzgClwm6<o F{IAk1YR=*~`)Sa< GhT'_]2d|Lң ᘂ U-`W t˄.L2ZcqC-):W>le3u˃ ;WbSyIbaD ><ƗfM79SIf =~
-]:*RmElrkNcx|E& QڡykKhq\Bb/d"\'X 8{{!p<tp 9Y'|]22B
-}$
-FhyoN@sX7}lF-] }Vxcq'!QBU1 K~NP%h}gJ>I O?sӕA2 o3!ZGDX
-|,$2V|C"l`/U)<[IҪikӻ!s  Q[{7 r;ߌO]űfʖ޶qC2(Cc|w)VժϑH] ~")(S&#lc'%pB@mwȕFm 0~쎃2';<U yN ^:G[oc | /"ͱ2QuLLcQ,." Q#Jھ55uCtÎ5I&M4FY"Э#fc41 'Ml]y%ȋg$ՁZ20‚6I?.>*7L_%6,ϥ9!/EZ@E,ħK<Pnm1q-B yS8xl؂8o68R'Ǟ.5\a yr-&3NS31+i@;>1u&
-0C%kymn a%ˀ)Jv Фb^fKze_ރzy;aWppm|/IQ Q -à"{7P$Lx2/V%HzOqE1YLn՝ 81'ڈEWvIO}qFiތ{ ACJ[/ TCݔ<)|o&\Nr1(ϿTyx1gJ.W5׉gҼaPp݄5`S$s3V | cqgkE~oϴ n~{7hG+׍p+C
-QZ쯇%9Eq8@BTi`CPՃv$Jy`F@ԯcUO}x+4R[Q3oKpCmv7A?_w
-bs`\ⲑdusa %P8MácaD"tԔk.ƥӟm
-9҄E$xw
-F "a]%%oQBkmmx{V"`Tp:AkjkS ~(0tWZd}9|]oӜfJޑִvk1C%/R}Ob(t⢗ w[ M
-ӔF `Ê3IP9lda-¦!0Q.vp{(E}Ft(`&LS\]-x~=ύu!Vo˾ n:q\A"24K) H(
+xڴeX۲5kp!Xݵqq ! ;YO?o1fYG)( lAtL܀/vv_@Ltv&
+I)}yo9[:Y҃@YOH 7`|oO1[;wN'j^';7651Swg{U[ gSsf@
+ @\A]`a#0v"`_&./m3}O+S nZ8L3~b
+}" YRy6;bw=?b3|"^1dX\'Ie5îd|Ms\[M:_%
+fZM3y{Ddɋb9sզl!Fn:O/q[!}Q'i
+Z 6ir)>,'sZܴ԰ǡbr{?8Lz8x>2i]A8qI}_'oE#7'ӕkVvU teRV qEH!1@⡫c[0e`L}B4b. b9(7<n$^]En*H)wD6y~} -Z_K$CZ)]o"dECz,OXt\j
+QgB2@OՄ;DOS_v6^;;VIѳPGFt? C!Z]%:<)œ$݌a)8L̺Ȃ1C}{^6a?YPiIקx4#SܳtdMbckjWDJN6A21_H ) s67wlJmŚ[U1^#9-Ny\F+t񌰊?mc XΪ
+>N&.RI?3cXFboXo*eyB-cG^JS!^m0K' lZENezgbq^?ฮE+m$~^e[OJKzy~ &)ٍ};iv|wWEݖKALdhEFu w$xA^QK2tM$l%ӂ?\qyCs@3K/UU^GJܾ,_yEQ 8ܬN%zNml,.44|(ޛЀtHdϛEyKK> )@,\bMqߝ~0ϕ+H>)u+TÁ{e:墁ӾQ<ʶX3 NP:l|&3Є~R0NrxQ<$#Jxa1E:w&"O̺ܭ,8 FVQ&0aKuS<a ko+_yx0A^>"f~ ٍB22һ)K&45QCCƈ
+GU
+tJXM&p(p޶hrH8a3ƍ̋`$?>c9zʯ}rw5uƄp<S"rvq*n;,C7NoiV^oiVC~-Zd`b5r D!Zup|U1]E'[LRG=a8%Yzc瓸8q.UP'/8ޡC 䓫4rD H2q0e:ىJ4_V*@|eCv/odC=W@cR"dyEh8 ʘd dԙ4o\
+d57}^y).ar="\/LՉpVvZ
+7;ѩҋ/E<a)Fg(gվ>ѩ jlj/uTZṵQ_NF1Q6#ehO8)96\
+'hz m}8P5z 'į}ӒWoka̫bS3 %L(@ݰĸ`G ;ޤTd8m Cp1ÂI)œ+g mHGV<5gP0^îᮩ
+۵<A9Q2HW!y\3J>3t5&)/kFux˂ӫxOB{~&@8 sF֜R-66H\ч_OOP)<"bdLț fF >ZOh.Bs gɁ5"5jڛRCwӼmIb0`" "_Z^!
+z*^(=ͼANY65K"W$;y<!_i6QJ* AF>^?+k Va0')x'5 KWzҧ3f^~odq`7EǴMHphΓ/їx!ɓ",rεm}$j/Yg?5tuh5r*@N| O7il s?MiF@Jo|VqrՈ@QulGɮ!$39еo"t7ڰA Ĥ_qb/ټRV"ʾ#YvS3=!
+V˛2^vbb)Rʂ& id|َSǘ+.+U
+rj&Ǒ"T*8/L E.#W<5$&P#LR>7Tk% @C  #e
+ ܆.6ݟd0`]O?,,"p.:hW<)EZ]BöZ]8DNT;(rjM# |Uut2?}ZH & !)-m_o$wDYA;NЪV`w-,pri+z
+-p-2b>C';]Hr_a~a䜪EB0X((HɿT|<XE5])Vun&ݑef6!qi4Dq9w7j;e^<d6ȭ)TՙIi5aQ'TPq 6ȉR;jd@yG n,fpj2rIDRݶGǡ`(>IZ-A,2$X~.ߴ6Idw~?&!4XLww/8r4#\)vI1p1έ7CVC6^YI8)h󪷛A{^9 z gFP'6?T4;Fmk?QZ4W2fM,yG~#u MQ"zÌV9bʖ3Z=k +cfP+Uv&IT>̔B"y1aY[t=KG%ťTֺ:#PSp\ukQ
+ Pt[DL"/#kPh#YZ$D &CDwr1T#|$i$89 CrK=8$VKʞrvty.;leB|o <UG3m/MH4ª/ϛ1\<!it?]H MB*>3/GqA
+lUxA~LZKWlfOhSׂ~y-rAםc\_k\#-/(#=y:w𧇄+ܠxL" Ҕ\e3
+ zT%bDjI=6ҜSC.<F>[-l+ Bbv3r<jO7,7p 'ĵX#%ÊPhv-5J!s@to^ =5JqlpƂхi 66q&9huXQڱjEXu(aO©%{kg/dq[d1^-BIU\k>mP^L.˱_Q#4=nL۔)ܓ>nh2|bփQNR𡕫p w&GjHd2)m~l=X4DxQ>c6hŃ~!.A7R+ˍz8,&B7/)ظj5pQTwdY> ZZ }io'#LgTmR{_bUoqؚU}6E= W4Ǔ2d<
+{m{c'%iPWstN9BUA&ߤ:`]tsۜ_7Oz5e: #>-lqG %K2u<>M8ٺlJw:pj`EAJ[
+skXq"5PtҕZ?-֦L&*ޝc_/ql=8W8f]-)ܡ<tS[lZWd{J[C*y]Qj]QDn>Dz~ܤStJe3gۈ,< uuECA\M2/l^.q00·a^䛐u@gGq>S8f<zEYz'H+Yd V4]+ ui7J Qmrv 9+Lϫ?1
+fZ\v{
+6\E ݬg1j!tš\_3+nZIw]~ sWs¦P^jw{sCZuxrE1V@{Ĭo0-&ݣO@džΎ4]>yͥ
+mӹ@e.ID1y\Oo9A0 sYJ )_T#=
+ǝO &[@H96J3jiBl#!_s%3Ŭj`MleK܋]?W gBZȳ{Kߤ1mj/*lѽrQ`?,vY98*=[¯W2'_ j9Z'ˇOl 0Qr䗑oJ'OJg3ϰiTJhx;p58o:WhHHŐtd*8)Lk~tCžEINhr.AIMʼ}a:|E:.<z ι5veU U[\bKG$trߍE`VFBZaەXj60n|he(Agl mŎX'04/7Q~vh4JDN6Xﮕ0.OZCp/6/N7_sic-.u-׋ϗ+8废"CK :fu~U" ^q5mR: .̵U\Jlb-f `~`) |kGWӗqi*CkT=V;}ncbZpffq`IU9*>|Nb3PQowUr i0"2Po$$W&}JЫ+&LB g;zhn
+nomZB
+U:^ ~YU\*
+4=:1X$Djgmy`9tF΁=IiD ^8dLN:[R, rE7%(,ˤd^Zv`K%"݋VJR-Kɤ*2*p`le]Ȗ&q@+`IVe{}mN i*~WV,ƲXۇHaqjOۗ:kL-$%`K99͢|)סSƗ^ kh}Y ގEH8= DKDʂ>n{~}ԭOc݊'a]Hm <¹*e$B/HG U֮meM5MԻw} X\6,~C/{Ii w FKQyY+:}@u#1iQ_O/(u C`n=uwA=$tJ Kpa+ca#ȅĀzJtAH<EGa"Cཫ<D/]2DBbkS˿T9gǿ
+©ž
+>Vܗ:@Tb3S!b-S8h!7o-j"6CLvpXy Cvw\a{qeITaOPz̶Z p#uے1a*^V
+@p RcHoKoM
+p0FJHCV/XD-a`+6SeE$m%b!QуK9
+aRB2Kv1q|TicX@^Inٛ}'SH)d_pg"a#`SP۫]Rka?䬝3E拒Yg\K!3덺7HɕU.5itVbJ{Nw+ge{9 +"t$$s[1*htBاlrCU!kњS)'[6#K˅˫7ᬽ{QA0nZD: *^HרDIEE%:.,ewy$( GC
+׎. K&6*΁hR= d\[WtmzrKC#Fn$\ܶݭ=F"ױ,XFM¤BNa\4LްW ilOX{~SpZ]etB.GKq^7 =Y &FSfR`f٢d <=L,ā[gzK؃5AZP3XB_>81%V]hVB$_8(xȺ}h> D@E4ep]E[O!X_pww! J teʽAACR#a=a
+Wi_֓ Bİ%6ήZ5s>RxէG1(L
+)\4ꫛZg=gI y FPua [HuiQL.3h/ +71޸so(&vRj t3 %pfDZ*_Ku[8.t |?3z_X-JO6Rq{ro0yG~k9iLh!T&PDUw<{6D'﬜$iȀ !>jaY$ioy~%az2H|D*~IH>L82~2AzXO
+W傅1lF/Lb'n|C~_szBFn3(I>7ld~HSqw]Z9&1x42Ⱥ-Gh*`Hk|#>Ƙ'9[:`CSՉ|Aff N˵ň~q;
+Km?XV=s{< ܞIuSlBH)D8Z EдFqb%-|b``|M6m)nnqFڃ䖙w??`PLSEEr0\oRL#HO*=|=mE/6MbMgMq޲pw
+Rc6Du&dz ydH]ljMSg`!xic~xm(B"EM{=*͒UT1DlͣӼYxoRF/QB9u1a-G_+z9lg*(KwHpB9"-٠R־6V3x՚# B]*pWNudxP(؟0Qվ|XtSC,|Œq҆
+bcQ"pX\Ui
+o2]k{5:)1tK@2!N*oi1$` U{7kRɽ/峂8Ko7Y@kk! d^
+aYGVS/ {Oj(bDQ#9\ rCÍ LZdI =8{ \h 3C)il粓ebN\9%q ôPW:jiah7BWm'>2[go߹=a(L'lI3|p_B\prH"3 D5JM[El&}pU=sի+)b!S^W)~Gt].ǐ{:z7eyTc}MhQ,A!ヹ#3"
+\ ,CJ{d+mx-&
+tT֌>IT_m3~eƖ'I+]gC.pd<ʅUo,v~p#eՓ에 -.}"ҔߴW!jIRB gMm:o#W~qOoMsvD]5Ų_30s`9δU(A*OCXe_*7&̢
+K y4R]j<lo/WtUIyU?KN{{1q\UA6m܅6 lM! Nu}3brnާs$D'iiGӃ0MIBl)%%ֱqU 4j ~1D+uWr'JS6sSb(C4FO~ď
+(`/t_#&lVQ)^*V/eD?Cf'P:ّ΅)e" ǷQlYRfEÒ V\R03ZKpE~MYAz 'ytG>S
+w}uj?_F^XUM^Χ$bheKbL_rtTԁdMGDJ ]z3-<B[sTɀi2f?eO~b%`|xhY]<TmU,%
+n (+k~Q_ɛ۹4()&2d?)RRNI,~͢/=@0^z}-jҽ V`".G`ҫi-%&Dz/,4J;/دNZ`Af<Ȫs8.y+dy<
+},q ߷dNi,1mgd)ch@]q]aHu90;4K-AR3˜i; mpwGvY̷420-ɳl;*.8beш?:Zʀ;T(>uwn ivKʜ<<!"c*e? 6cF9;ԯz$kŐ*8'·
+@Y1Y~Bz>YOc}v'K;B|-J9bfNnhcRWOM
+ڦ-Q7QJp_%fZ fˀ!S[w[
+3g[/hɧ;ra:TcK5l;[~2a mzxRZtkJq831nHc3[vܭڲV(hi|`#7uZKqΝgx/\Ru55١p//22kj +ѫA<^zn `?"P“OiPT`/G4ldT
+G$+y148m]u7vnnednΒ~P
+4j
+LZq VO B?0\T U>e kFJGt=:vhӟG[
+n'\dgB5AJ巪 Ղ/T}`vbXh6h[t:i&E`[~ G_6~B!$%fO|yܘrwmn) {xޤ뙱,)pKA{!3ɝQfmjU/"]YTyY.r6݉Oqe-Ű LLg –ԶJ2ubL Yu ¯agCjYs
+m
++QwqUZ-c }rx%&dP^J^۫¾Sr>kkۜ+a%sbMl۶3m۶m;ٱ&mv/]]]zELS
+=jSzЏ>k:8H*_4T5O :T D
+T5t;`ڋl&gnghk;۬#qWsK}48D@̻4ȭ+|!1<)ʫI e
+/\?
+ȚZ?. 4RڀDN6s6 {{úҝkE ܂RpԹ 쩚Tv79EB5(jg*0Y WC6c"/; Vd&e]Q^kF>E{1[*OU a뜨_B޲qQVa#)f#Ƅ{ =`)x(D:6 lqȧᮋBHx\bS|Ewfr~ܴVV)@pDž|ܹd`~<|(EPbF~S$Wibw JxA_"ڕ;#fc %Ҁeʨ%='xe\3K[
+x>RetpW%4Е* k׳n|VP:|pAr]V>;A;Ns{v gw2T^bOePZSc=eю*OڔҐ92x̩ X| )@"\Dc?˖
+41-UCUO(u
+ސ.y? w̑87LpRw6o*k*
+>Tr^XJ~DĿfw6
+Kxm\Hټ6ޥ=u0Eβ s(h3uŹQgxeraKD[D!d&Wڗua)f*^WPD5 F/$ܸ<Eχ]V.[*uYRK*M!0e1RΚ%n1q b;`)';
+Љ٦$8.a_t'kr,`r:d퀽̨3}Z/D7if4$ur ۪W)?~_8 /z#a ו*Ѿd1Dw0=JX&
+,L :s-29-ޏAꖩºb8 wN=%5өA,L~`$(dpq?_i;n#ʧۭ*tMW]  ]:=nX ufzPGy2CDT8dG}ˉhF[513I_o E-}:JGNπp
+(ic+vԺU*r|k6~
+3O=_oBd'`<P(qF#=ɉtO"ۅ&qeEǡ& Go)>]9D>4`^LAr{a83-J
+mAK'`'Ys- bjP_ [=Wwݓtcŵk`\'cqUIٷ޾i<+-kӊ`GԐS5$$)}~L(qd`$k tZ
+Z328"
+L1OƵ.Pۧ i_x. W)pW+LUg9&P&v*t+:Jz ((Y!W_wM'׳xj~ቝgN*ݲ=Tv:jٮoGgLKt%rZRF,M?]ƛ..n
+T r zStqr,7vt)!%\x -yMTOЅ=<236Z8qF)E,j=u[ߓ^'~a]v }7'ћ@"!Lq8$Aɬv4kTQIq!ۮJeMx_:5
+NmtWwǯKlEh4;/)β<h\NVΈ$W2GQ '?hD_\iw!m+zJK? e֊:(,#j)dVA%!IJU0^ŠKO̤ŸotbI;A(S&\@o\FUƓ8Q{ÖqEai6Z]׆pWJU#"Ce
+7u︳W6 Ś/Bm׫y󛖋I(y)k&1sU6zɼVhȺoWxGz1j cɃ]'_7lTE5yPY $bG +)S있yB7{jMϻ6٩k8ډ# J'$Sm1Bي6&"?y{1aZWz CQę`MKQ~b.M
+JtYk4Y@9χ9I1>G!MÙr;r\.R0u,w~eg&G7( (aN<FVi~D'a2@'ܻf%$31b#(-mCډU.*o9V72~ )3ϳR?h.q)5ݓbGՒ9b1ț>M~W@MAvʉVjG[MԹh/@? T '"+g=0Ǯm"<. jX疒 ; "mנҳ4GJwx(~
+<J+/۷Hš7iԾ@WeQ9`:g>!7}k֚z)>a#s>+4>һȝ槵w^_Ar}Zw,Ʀe\ٙr pTeB2UYRґ;eJK38D^R cEQ`8u% x|8̓Pw13E/f,#qj[3p!N7 4~:ENձz?XDkGC`K cOlĞQ5gr]k !``ˁ2{XY2hOTm*)#|!@rѺ߷5JEؖ.tjXh7 R
+=Ky6MQJ=S۫,c6rQ(!_JM(?%ck'.eLؾ9Wy xO=c>|/+P,LR8 k~dͨ~چJ{ i+ :DTGk//(YlsJռ~Kv0VCS~7~ܢa@c7;ߊ=ITK
+xdݱV%
+?SG+ :B%`:ZX̘b}5. ñRu&fvׯpSMw<ܬϥZ(Dldh:R{̢-[ЃT^ J`[|X+%ؿU.n4(EhOZ[`0fE0.џ{G|h)1+
+&xD-t[C/֡ "Hίӻa)6dKBBV,`+p
+8J vy[Sh6$Ř~cfDrx0D/P |8@zdɸOm([vs\g,M ZD <^~;Q8nM'p/2膡1Q<c ,v*Gi?GeK* */Tn4%tRN+ZYw&tȄ_)bkx,:Z!ǻE^{a,]B@s ܳ+=!Mc`=dž+IrxZ1fe]=-"/ӢxE ~N:\S)sl:n3ZDŤBQ$]4to[_쇤;&e6 zw!V<=BI
+\1t0)jg=ǽgby
+RXۊ8rF 1j?4'یJV6j{ w1 Yhsދ6m*77Pp|0#i 4-wj|Y÷;r)Dp|a} ~i(0*
+~!@G=%{DHZUz] vpa3 z b6f:؆T F*QgWFVz'3pR@nFv
+wuꚘ_}/SmO6i;uIN R T8ɑh|De6C |mK`@Vν
+!+ѠћJ*Miwd |
+!'uUxi//NW4dpLE̫D2L|
+iY贁)g|`ƶ
+lazJp;' WYtv\؍?ubtqU]W1d;eE
+Υ^
endstream
endobj
-684 0 obj
+941 0 obj
<<
/Type /FontDescriptor
-/FontName /CPDWVB+LMMonoLt10-Bold
+/FontName /BGRPQJ+LMMonoLt10-Bold
/Flags 4
/FontBBox [-454 -308 734 1039]
/Ascent 600
@@ -5648,11 +7915,11 @@ endobj
/ItalicAngle 0
/StemV 83
/XHeight 431
-/CharSet (/A/Q/T/a/asterisk/b/backslash/c/d/e/equal/exclam/f/four/g/h/hyphen/i/l/m/n/o/p/parenleft/parenright/question/quoteright/r/s/t/u/v)
-/FontFile 683 0 R
+/CharSet (/A/Q/T/a/asterisk/b/backslash/c/d/e/equal/exclam/f/four/g/h/hyphen/i/l/m/n/o/p/parenleft/parenright/question/quoteright/r/s/t/u/v/y)
+/FontFile 940 0 R
>>
endobj
-685 0 obj
+942 0 obj
<<
/Length1 2902
/Length2 29740
@@ -5802,7 +8069,7 @@ oCv;j ؄E0mkb񬳝L["۟2Ԩ(a'bg(^7cPkNnշ*c
%n9Z
endstream
endobj
-686 0 obj
+943 0 obj
<<
/Type /FontDescriptor
/FontName /HCGIQG+LMMono10-Regular
@@ -5815,10 +8082,10 @@ endobj
/StemV 69
/XHeight 431
/CharSet (/A/B/C/E/F/H/I/M/N/Q/R/T/X/a/ampersand/asciicircum/asterisk/at/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/dollar/e/eight/equal/exclam/f/five/four/g/greater/h/hyphen/i/k/l/less/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/question/quoteright/quotesingle.ts1/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/zero)
-/FontFile 685 0 R
+/FontFile 942 0 R
>>
endobj
-687 0 obj
+944 0 obj
<<
/Length1 1909
/Length2 19088
@@ -5905,7 +8172,7 @@ l
9g>Zܫ+c_/ 6*qNH]%%bV{p-HV̕jg} nj*M!+
endstream
endobj
-688 0 obj
+945 0 obj
<<
/Type /FontDescriptor
/FontName /FBPQEI+LMMono12-Regular
@@ -5918,10 +8185,10 @@ endobj
/StemV 65
/XHeight 431
/CharSet (/a/at/b/c/e/g/hyphen/i/j/l/m/n/o/p/period/r/s/t/u)
-/FontFile 687 0 R
+/FontFile 944 0 R
>>
endobj
-689 0 obj
+946 0 obj
<<
/Length1 1828
/Length2 19393
@@ -6023,7 +8290,7 @@ $tkNLz[c&ڈBd1B)FVIwa j܈5}̳=|pJ荢
ewys~|Os %|xrT.u䂑NXR Jԯ1JzYE),bI5f#1*eTgT#Ur@%${k!|
endstream
endobj
-690 0 obj
+947 0 obj
<<
/Type /FontDescriptor
/FontName /VZTNFI+LMMono8-Regular
@@ -6036,116 +8303,121 @@ endobj
/StemV 76
/XHeight 431
/CharSet (/a/c/d/e/f/i/k/l/n/p/period/r/t/three)
-/FontFile 689 0 R
+/FontFile 946 0 R
>>
endobj
-691 0 obj
+948 0 obj
<<
-/Length1 2372
-/Length2 23327
+/Length1 2464
+/Length2 24361
/Length3 0
-/Length 24771
+/Length 25824
/Filter /FlateDecode
>>
stream
-xڴeT\[5%pw ݃;!ww'Knvb\s@NL/dbgugf`q+͜ , LLl"@C' ;[QC'  o O
--,lI%={#l&B k뾯<
-B?X7hvvȧEWZt#@9F l>\b|ycu}a2^ɲK$V>匚܋#]~#iԨ5̍@)gnJ7
- MQZNvSCj*&˔ V`旧ΧqaT9%W7Tôc7BjZ
-vLGCNMTv8S13 8zBQm -uף78u/<SB.ifU৿ڳW063k?ήCXRrKvU=DTꥈg$,z5%w!d <
-LJxl$nI2 m&j˵='(Yuݼ|
-'-, zSd[~ }l}puT%fh%ou:U]J;&,<gU޴૿ʤI>{&wMcNXFLT/˘DۊNmkݐ /^jF=bs8Eq-S7T' LhbBR_+p.<@ {t?ʢr(-eGf$y ~+wRMKk@~2^?IJJ9wK+M<gƪk3P)Iza?g%5`E`2Ojk>9-oSJ8E{`&<*YW66I?Zˉm!CR'[y<.uҬ ]'PAGp@THF#*I$Tݒ+7M1AJط [w`LIٱ}.ccȃ˖]ȁy@-ڂI:[j
-M'ۂHܫjRī?N*N#1B >~Օ03>6` &,+w:
-4ĻNu\E5rݖ?ᓅ
-}=X=% "0wTQZk=gR=i 4~sptbGiVOo3{i o`0-Yb{N `ͨ{s A!9
-6mE+*xTOqQ g(fv\1ҙ"jJf.7bֽO;e@L{Eey:5fq^~[dDqoļ8ncޯj.{Z"pzOMːs$%cf"uW9su#Qm7|f:Vgѫy秆/\R=WEȸ%)=ސm v`i$?=ꘚ` .FӚՓU";I!Nsyߞ?*}d Er͕vϙ{^%L+rGHNgQ8fz~,8Fh]7ώdU ߒ:\e(f#1{\xCGnU0?0Vﶪ 'TJ_C-l\qxFHSˈoKw+x8xlxάL?'{FTLԌkZ12͢g5Мw ؕJZ˥
-١9.3z#r$S)t0 s< #5>olGV⩃bb{4"hH _yytnm_0lO!5c:!j j#w4aaJٗ~\6LufGʋTgC5] 
-6!p%<iS$\6&
-H_dˍ
-akBu0(2vl 0Ͽe|@ah=&n1ͧ4غb<g o*^=;ja~zV^Vv[\%ՠ~#D5@D\k@CpA4W㏁ cEZ8*€&2fo]iбDӠx2
-/YYqڬk~.b{ƇnO}Թ}o_?~Q9o1 +JKS73LCެ]j}E#6(c+|DM፺f.0K.ك$4nf[HIuA*}ciֵۨY y`f8|!ȱ,)3(s38~h3:zɉaĸBdL4kRľkzqINTJ3G[X@O6_w-7νWt$Swq&My+#pWkΰqI"rkz{š5̲ˇkgʟӾTʝ]7쀛
-K5Osnd<٤<b?[7H.q
-~%.)
-yi{>9Nq^
-k6bf_$Sg kFܛ(U.KMvne,q3MsՠaN^CdNDep.'jj]
-īPɔ+
-ҏgAURKҲ̓<9T hQ;*)'4rvI,iԭd9<
-kGr:ٻ'Lz.Lܖ5BZҸ'xܭʒN0.diJe ˈ6cd]]c?M;[Z)xnpNB]CGVw^A
-VbD ]t{ ڝx~NNsyf-6SomL:o"~Ȼ[CZU3v9Ħ-<Oh{]30';Mx#ز!Zve!.^s)Gτ(蚪&ZiҫGn}:OO?;*iǕI3,j_>5w0f Ǩ~81;t(pM?,pL*,()G>F`An\B$& uI`%ZLdYzHX!K +Y5(eBd*֓#4^dEop;S}/\U/y*4ͣA
-LUd/ׁӪw0XJyS /s*֎2s+3EАfەSNR`'h>awyQ=RġSyGF~Cr~PދY{9R7Ce$9@7(6eA) fGhj u!hc렛Y/ E, <X~!5J6Fr՛ZwvR!_p* g*wAAbp[O`'7{էHvM{ g2W(k}plVYT)wQpD^|r!W:unFwM7Jn7ْ .@Db%+7F.Y};.^2Da;;: T}R-Irrx/5ӇdYM.z#M+"0% 2h^@&:H!ʝϬQ_ OEX?xE'lɠ GMuI!
-FWlb_,E_"MUɅV6y*܂sیmjIѲՀJz=˯1(3Cn厵P{"`p_dS~VBL
-><&=?KVG'ЗF[YN g $δVBߤ4$ݭG_A-]^ X*j&/[]4}2h#ʝћ`1
-sr\ثhzE/2Fv
-Nb{k9"H݇y\\S@K|DH`/URFᐡ ߆/D?`l7g dEyĘ2pMquTt&/-J
-0o V0dg\,f£TOؼ Zp&V*8Ub)(ޤ`Ez/w# y!3eG1#_~z5toů|IS$OE=0' wV5i_ 2;[(z{h\6azT$Z+ǯrqFuIʇNg<?KBYbI~ڇYP xYO:9X`\W 5{ȂL *,qC aɗOjZC\04I9cSBŽE"5^gxN Ԧir_drrXYKCfZ]?fjS_"W(lWjVh"vT9Ϥ,9&QQ>]]5G'^QƤwKWz%|&Fs"E;l22\R%JAS@v7"A+VRLoՑc< B OְIB>K~4*}?L8"_X.
-e"-T?0WRF}$f@zIzS{*W'TI!R9<hq
-pH ~輰'0 V,Rj7gI(XN},Gϗo$߷e)SXy<q1[OYhflwآ+n{ˀBl}ԘP\~evT.Uݭ צkSbۋ cu"C?LmӏELN]:Tc*̷̍v~nO."r5r@3(g͔ Bj2tos*#N{W>|60ma?@ԔuDB^aKT cN:00^GLvH:~Pc+Pf"b_- A
-rm6Wd,"Y5'3nխu6M엷 w xgu+N}TR{*[
-[Z"&ݍg\#/f^cD֯yt][ySdDZ*+h83YsńB&WƈԪɲH~ fXkQKUk#jEhWoe,Eph H"i
-*4E2e\h
-W= [ +Xc4)
-TjС0/k I/e֬2AR~ !2+xr "#$G1-Uc% [6Q n={, ֒STCڎTP_9l^eVY׮|Hs' ~p$=S Z-+|kCQxpUpwrؤة6_FF#$@tmV6B$uQ1Ѵᎉ7J>+.͗ d@q>Hc.5}1Qb/ VyGC{grST-rh?xC9362v^:5SIR*eq4:i҂?Z"]
-6M?<nZ(
- ᯢ-*p;gG'Jr=^U+Xn@$I < {}'0ꋽÇt6?2EX hQ+ŵNEg-b "+f<+Hv^Kq'G}N/7n
-5 ןW*}Rjnkҿ+'OM*3ar~.<MUn#Xc7(E'o0G
-<1dm/mˡqh `fgKl}-gPy5 CS/(^xk&wzzV/y;Z1sQWls<c_"fӝiXB4^R"kk-#O/:&Jae-cijarE9Z^ocj9x6X3:*V-<`D_pekTqIT}L~=2-RřzF&zT̈ \&Y$M=2](+ߴ|-%2/o?dvE8eV!\?NJjgdXbZvGĹPaV`)?Aw^6ˉΓo1+ i_( 5g) ̚" `(c2YڑwIቷlT™d_[MHVky4 ]&;*̞.) f 7,c~AĜ2fAvûhf^z[h>T_ yy֞ \=X<}՚O0?Bƴ_h
-QGu SoIJ>r
-U<n51U[\•=9WgZ!2)'=}£N zg_׉X6A@
-X{ީqWL
-
-"\.KjP1&YR[3E>\%3NB2W~ߘH HId7t~1P&{0ٙI)njh!BIa7"6>ہ̯I}"ć*Bmlćyf.$ܑ3O 0J_ t*H<a<x%~}q͐@Lr_pF1|=ambW3E30Ơ^GSNv]8S</;Fu/|)`OXcl؋"kB7Oo^kОZ}ɉbMBpt20zŢ:%3RXl^QTC^!2+E!w#OsV:𓐵8IrM"YfjeHz7 U-f+:U Ф|_ PS|?+B3x517
-|$dMCr/@
-wV …:JXZGKȐ,bq{@ׇ"#Td2v8<UPPeݐqЧkg ?GYcEZD
-ͯNf !L2
-Ǣ6ȣ # m|hlVH-jky_plS au+3VKCMPGY8C⅒f݄53FE`go($03S3>.EYjنWRps~kuy{M+/f qX4髬8ܻj@yu+Q+v䊣1c1tO1
-âXwz)JrDP:СѬ^~߶l*%_7^.'+f4cc[4ǂ}fW˚/1*I߃?"xFbYS.HͮLwITA㤃zX-z^!(b;򅈶EoJenI7)b$t9 M]kI7)j,N?>P٨Zg'oDU
-OY؄ nܰDj'EM`f"Vs=}C,MHlD^f=NdA\ÇO#HҠ?s`~1}XkLAks`BM,EB?' .FCYUϳI[uodpR)|^oeG@J).U)~K>Auَ(w_R2T9>CNrC
-b$ܽH\ĚiX ǣ^8}oqgIG,u0!SA݂6=-i-$~}B)z%<8p:O#XvH3??j9Zܸ
-)愎슿 ݏ~%*R6IsB|W;ޜlzGZ ? <FZu
-cE.Y8֋Tj$QE%3cG *@P;T"JI$EDU-XZ>v9DK!U%;NoYT-x/RH270('ݍ$chJïO]wL \b&CD~UKbY-X$WqV]H- mLFjVųj
-aO^q(%+
- |Az{o|?t(*2]Lj e"<~H?sWL а '=ka;\QI*MWY1՚fqb miF4W>!+F&nZٗSD鿖e*+kpƅdm\(q^Gt.BǒnFl7F9t`ߑ-Ä3{Kh+7CPvG~c"uM8QRz$ӘjSE GQY#1P!{
-˳.OMnϑ$ W"LN/)[ !R"\u| +Z,˕K +nJ:x|HI T}Ddׅ*%&⮠RPze
-f|2P~t,TŗL&]Nh$[=oBoD`aKn~I:8 
-*XjFs`j+$y x0 mf qYP)jGC,ӴР:O(͸n۶RRH8.~=+ Ţ>@#؝/)dbz p= X_ o
-l7" P̣N C d;nmʠAȨlt
- ̣g8!c]h:[Ԯ]45I3ji x( _q(!nWT{ cMil)P|%ٞC`D87'nk~c
-]7L.)AɒA |^i˨?\as$]#A\. É_Ey=_#2H뒒XAj4OA,q*ʔ >5JDp_MI^ _)} 2{ };'%&+äq^v8JS)y2@YBY@U GXY?XH
-ߞ>l-\k?굎$@[a6F)3iK(b'Sp!fw⦋NDYƑiGOe=
-QPyDmAV +̵\x'(A6YADзM1/s]k@7:ztv鏱#ȪSTFѰ_d$#̜6I_atYzew+|(Ts"[3 n !բRu|KxݘpULI,
-n /d[!7/P}SCm z&X^\<Kـ@EpG]
-3dNO+8KvWJPI!brgTn{wn $gIv
-Dޱא"҃y Ru
-yk2>5
-$޵eH;O\JEmZw8!C 5sw4u1 ]X #/^vya*6~ 9L%
- 6VP^RԙPx"/x<1co*Ӌ*S- Ni[s!ˎ^,Y.R)V%3SHa2^FsH Jep?0* ыf=<iNPdܽ'渽N/T&mql*KSl"JVXrT^.;z
-ߘ+}"pk6 ,WcY<FKAo7/\L|.&6I?Q#ц!6mH9>S9jCa7Yp$PȊ<.L*)o46L/t@ydF ʏg̷
-mڲkK8IǦ֨Bk.TV9Ro60淾p/*׼zrx܏^P@=u T{|6;l8>#XR+q7̏\%_<zN4 n2ke\iq1>7
-17]Tfg`0tsYk~ 
-.?)Se3,q2͆QY Pr.8,%L|^z}Àx9ά?P
- Wd3yDr
-&m%ȇ
-,Ԁ^@%)^A˱<ëze @ m%Ff1tH}chXqYh[vՕHN
-=ɧDZ9"'cIȮbes/(.NGjcsыljMfz(A&1wf
-,!ޱl
-d~ D6{xw)'Z6Nyx\NC5vr9d u%iQ ?9:/9ABĘ۸'#w!m(|ڞ"H$f~'EǴuYinS (BFM]b1mSJI14yM$s%qd3Q~+hӦtc'F
-D3|%霏~S8
-\;{yU^xQir4Jޛk.kjd9jWUغL#u gal P/t/M풹J]e$uGxC!a"M @һ``4<!m֏H\Lqs]ϵ[xW%3tlf&doMm4|ל\}E[Mwb./Sl>sRLߔ@5%&jrp&`lƥn:Fq3v0k[!WE:
-ek}
-L1qy?"Aֽ91Pcڄ)SflMJK u8kiZcIn}Ŧt=➏tH};oPPl[ѧN^m4ʰK|P_qhvͥjs,$0?Lw f33%YP%cB*Sf%I'V@yn>
-⼇vGh8I1X^ bǝGHB Be
-E/|ފpVJXDJKv
- !TLNh`Д˜Aw'@`MB/#)1w5|uNj/u69 Pg%eْQ9rzq<_ܛ=9Z&=46w ruFhH`ǯBJ !>%,$`e/z@
-m8!H6U
-jw*M'
-J
-#ѝJ]7 #qE3
+xڴeTK
+w'@]{pwoww  A܃휙oΙ]fUMI(b2J]YX
+ HI)4vً
+1KP90;@{ +{ -8D dea';#LE
+2jrgٱgrpO>q9(r
+̓ ɓnR[ٛՁY(#og
+o
+ 8_7c;+[:&Rج%<fJV.q/1xE-lKg'قG|X9
+P}##ZT7;ǟPݯ?
+pGeazu
+Դ{[/*g" coW5 Wh$ݾf]lhfK_+3m)PR84+w4m!, RߍEv XlDW(,P8.ӤI6$+E
+u}c(>taWQFYY'5ѹ?}yWϴx?6rq\|ӧe3wKŸ
+Xگ<zeFkKu'M.9]c0mc5tNmRܬ3bPp<+6tL'dn][ʻb,O>kFD&}ksxYmAS74DWtaix ޅΉRM}4zBQU9XĬ b< 
+mC n]чN
+'Z5lqX;Z9<^G+m t'uKb>U[d7^ޘgaHɈ^' uˮ6Y8ֽ^Dtg"R~ 4z܎EoKJ9S]-0tGp~ZhiEőkZw<7+#1Hw2A:un^0dcqd2<Èbnp[z`5kbh{UIuh6G臨U!ܥDks#4ٔ]YaYLGca[tB"W9~zƅ$0?4U
+&
+`6<&K@JÛqnF"cL{"']~\;[HƒU;[ȇ1LE#L J5.SY˽}h9g8'l54j_XۗAuZv0DӃ;=X /]Vkݹ8{Aհy%t;(lRu5'hgSE4n O,|vb~ƵUvNe}IWZ%28rQUf$Q?G[Td>Qc _ _HfIQGI0nٻup ~=,#C,ϳHkzV&|E͟kA_Zqɜ¬ pWJu]( kLpK G,XҌXG.L}1ޢEvgy;=b7IC\OC"yS@!6=wa
+pF,Fqcwy=Sհ#V6kHKB~"U a[!/!IZ
+A lѸV&*VlMV+?r4GT템ژ90 %vzGUOOh[##6΢GH6ӝvv*5AN e>(\)|n],˜<rmo̩ZBl[Q u?rX9 W$m:P%O,}qǴu(q S홱
+Q}^8]<tvS8)mqU\;m#>thmP`0[WςL{&$"" &t+FEt'z m Mb}tX2Q-_b)PW OFGavPq(]T7`a`G΋uBPIxGMGtRp%NE|5#& m|| m@<u΃:x%,=ё$#׊R/i<խs(3Ysǡ7n᝞ n8GKiJ֊c9jO
+M´uWt?D}B|wR2#g)e7Гdf9M1s;
++{`P*ZA57a\A}Z A1q`9.;6nɅiߙyz.e֬>s*#Zn2 #ǏkN85:1ڀSE_[7C;j<sƥN(RGpqٲGX0v>OMŹ^vC Y٦
+$ܷ@is0CBi*L7LsJ[u9fi %'^HV–#(Q~b7,,'3 WHF}j*0N~G.n{Iɧ9A l=L<Lc╊غPz-bQ2r ~]h%OkR!W0C5ch! @
+~b϶z@=Be4V%Kypo ctLV
+N벽8}$:uY: N nќC*w3Ր,S-oENLk7Z5_Y8jsyw=wqN2 i\wx,ka&v2!;eL8&+ox6>"'ފqu5@
+*11?|M=rR2
+:fZ5|h-%bR՘0:*v<,|Dş.*,-h@9No0!Nejz}k sx
+z?KB{=~..wBWB"4Hh PQƅhՆXMW_Z z~D"j^砣ti/oePߣWryF5 #^n ?l%ZjB P]ל"12H)bJvbVG
+0p݄'f+9_8:'|1(({Wzr eFφSVN5X;-ʾ+v~DForЭ4f<'R07Xkoc$*x"X|F҈:h3.d E%/(XD8#bNK%D8Ȗ]do ,$=ץy5y<(_<H$ Q$Mqbo/s&}YiqĴdD\Ͱ3,zl
+bll!Fr&Hg:=U07Mw0Wve Ւ]=E5
+'Û(y^9{{큧%FRvfT|!+DK9zۏׂѥWJ"
+ov'+%͡gIf=I+0x۩uc>I3Ű욡kqHDE[2Y8WCKL".H ȸ[ك} ^[u$2PW<Ҷ^r"ĥ+)uBГ60|£a9joe<.VD.L~DJ,QE㒣B<b\d,=!sڜ5zֱeKʩ0뗇׀,.h} «PD(:(9yJip#}q+ăAZ
+n<FG2N[k<31#|VëHCC%'5(zUkN/2i`7׫I=-?^ҕ*RoθD8p#j4k'%?=i~ʩ#NQm~E1I!Ѥ1ʪyx\{y82c bU&SD
+2DYVWXZ$4xm(T袾ywAz%fr#kYTe=j(v%61K
+G U)2snm dF0`As=UTsw&7ҐKu 3ZDh>IH+ 06}Z3Z%0ssA|KLDZ6nYwlrl<7~$G#&(eD^@K7q>4;CH cg|0'}IG94Q/3vE>wWbV3 v/\NYmFݰ4MFIA<õȕDFjd _x
++EX%(ʯYG ]Fm!}f詅i-N
+3RO1ۛKS%CkCÞs(R*R:)"GM؆Ret& ږۏet* ~\N5 l#&LPcpxðYaA(q"7zJ??M#dOf_Ss&Ɂ|07D;s A[+O58>WnM%baKa2GS+RŐ+RҽR)Q5 9Ȼirzɔ49K*#ObDvhn/۱4]C B9xAdղ'z[q2rڷtT=vɎhDYt[Bt[W/9 r#dm?j.gۻah}Va2>bQ^%Uv)똘Sn1r#1 ȭ؁膈kIN1,\/6ǔx]>-(΃ [WLj7
+..P\Xg,}TV"&Ph䔋qM;vbS yDg:P2bV NdL#id,V3Jʨ7gm2;jcbr[i!\mDڏtg+e˫(PVTb_PAzo%j1䕉> SM: SLd!YT_V]Q*@!QM,&#)G)1hxռzY.<-
+
+
+Yg!#f⩝XN
+ca\)VN,pUJ]  ܎72 C9UNVkxB9*C]Zm`^F㷫yqY bkyv
+ctQQ FeB "vJSJ.vAtDY0oUr鰴\K c<4`1)aI Zi,B"l'CŲuAIZl9f MTiwO/. ZwgS:Ĝ+{X'0ߛ#)Lؤ񿋎Vjse)J'P6Ge)p M64]yn60qr:^CgGpWcw<;Wi~T*:vEǏ[]|Qwc0Xe*q#h<JxCs)]K
+2mhڻqnA<n+E-?(+Uk&7DOп>AO}d;rɜQP>~'P|Oy",r{ƹ@/2 7emuwS^(gwk_}H&[Sh.#ybw9\jn<U4aGi$2Z/B4?MDڽӎ4zLrPs'y,9 v}\-M) qX")6{ii=ͣT^
+Bcb6.K[Tԁzx<(1bK3ŃqVNls}mnu?E߻@D!Yy|0H蕵 +|ѐn5<+\oR G Muz{'84R(.y1ߺkTzb%"*\G
+alW&O& 4{sĢr nez}' jZ {u~kـ=7݅ d߻r(Q}Q#>~ji-2O3|G)
+/[nZp|w*yj# 87AL$G L+@+*z:MKzhbO},e 35ZT`I\\.zkuN%ob7/p7*ژ pE_Tu .@(&<A̚-xljC0kl;* yҰ 9]*ťJs_5|$l.0,ӪC8fiy]CH>)DaNBK3Y,q~g'Oդ0c?e5n)8Tic4 :sކfX3ʑ}U~{U_=ֿtvbU E?U1>*jP"uNI ΃D;?3ǀUyO4#*@\ #aNm\n_fUl\Л.N<1K
+/[*
+>/"7ٔ-1>~#֔]k0W!!˾/.Gocfk~"I
+0xxkņM*VSRk:a>]V9H {JRQy<%1U5$)KR{kqOo BˋDFYMˇ(eVx5 ؞e-<b'ٸ,>[ǘ(d
+T&L)ѕo_>}⡀yǓ6RYM>.r_ͶWY!7.,K_26Vj3 R am - "62Ǣ\`us}Gpom̰k>۰rxԓݹnƇt ]3В{Zя G[$8~3FX MFmߗoߒ:8/'fm VՓ^УIwQ
+8@s^bh|վ“^ӫ{~%wf& u|{J߱y%>8%(Fƒ0%x$4JOD\,1;>!7+6w*1V.ku|%qÍ٥
+xm^rHh:MTfu߈թ`rI;Jo~Ԏ(B|Yq\[v>brGG]30UpY@ň^ʏ(P\ |pR=K7ronCri!8cH .׸BKcax _V8x&w iD ?gd.COx/TDwkp女lɭa SYسp,zuuRQKV?njDDH<ת(CEx4A؃tpWGMѡ4-Sɀ~ч#A8<#rjM"Ytz\rl҄Znk){{LlɂzO?5(pBNӾ;uvڈ` yUJӸ>zO_<,h?CkĄ
+ݨk `uy,W-l"R͢j7cFW
+^OqZ;D,iQkrDlp(ݓ JT1cL)anr8
+YR[{HdSF(z:"rRDpOb8>̭hR$֞R:/呖lVU^͏ΘaҖؒ}dkI'7S0n7r;K9EN"k%~xb@5}lu{8 !599bh$=xuHSCSl xBÏl~pq:t
+wPkkjw\NŅ*nXq5@, J4a` M(%#MH'T=i:[,$SiS3[ِTH.@m ˇ< d:&`w(q82h#ɕfH_ 0ÆmBڎWxGHED}l&4enMxt|)5BE^gJܭګ_}Fvy lc<{Y3P?++kVHD; KQC0ig
+KKZOÃ}^fԧ|ŃFm #Y7$L
+ԄD0Ql#MMq jOp İ=v!8&|)Q|#vH->oy(@Bi73}xG;#+5#;2Szկ… 3؜cX׼/gTzq+OE @qElSIKw
+1(bDuApzsܾσE hSc1tB i5>KZrS5VbF)Sm~!wR#k#3S`Hez6ߏ d7QYAJ6&:ǿkvח`Ce
+=SB UUY_8XTf2Bsw c|
+I$+d9ϿbW: ~jjy_06HKߔIͱ9XjKL:eXJc?/P9^FJ?30FS|ԧS
+[✂2f& m_zkveܠpfd|8 :cͯB ĐK4Z6wюmsZPhlضmLLl۶m۶5vlLl9:]jUa0+pPU`DL; IM~1! `|
+w4DrrQ?IK|r'%TM
+}T2p+DZ=31KY2˾okݛ޻7 ہC
+YhS z<쎓U7lz5T2g͓%$0MNQZCED/A P zTenR̗D^7[=h?)C IwM/(Ās
+}z{3(+0"?*!&d11Ƞۧ#0CA 3,=ܜoh#8!9nOgPr"7??B~y[q9|ilcD51e&lm?ەeI
+pm9qjwJϊA QvR"%ͽ^r-K p.D3fNy\DmŘOKF3Ii"CʋΠ
+ill+_xT!{~Ş!+.3nlڮI04( yo*l_y nʛ7c ٕd(G㗴D+7Ɋ)6"Ѧ?tB3$*estu3rD^5F9ꧽ)m2][ U 3$ڭ=SN-/L`ir0/3ԑ?|txTmX{ׇ\?ͭ-`B~G7Ѷj;m # F!iQŢȦg}>aѱm7YnR]:%AI֘:ٹie81JW5Cs]nӅFx#Bf\j=
+Ft/H}Eu.U"vfSܕI6z$z9frDښz(2
+ N+=˱vL=WIiqG]0-f1ùjrpКڇC|zDIAi>4~x "UcbBg LّPyLve`!,W( G$T\l&4b:eh" $qidP~e,LK
+VIs"'P^=DGz4s/*+ve=7
+_x-XY<f<sP,F}5ۺV7 jB^)VPI~&N4;BUkt84C oQ
+bWgf{3&~7xи*k}vZ.{ގ:,(,ZϺ؃ܓQa_`ҽUjOꓭ2 Ac:9&VrV~X| [~L^))~}߸1`0HŻh-/\%`CeLZ)ěu_X]ga
+ޠ *FWz;W)=x+|N*X.ؤ H8f)foI3ZڈAGxGI WHUBTg@z\"jEҸHޚh*<#.7lٿ!m?Sdck8?ғnⱙ*`:ۋ!<;adT<=_pѣ\L#4>UE͏hX#J:tzMcPƂf|(QVL'm0$' _Zn6@>krRW~O3T+7%"Ctȁ
+8Uv|8Kiu>R 2;. 3H!"O/7 CvPь |5 0O_>5PbG)2@s+֡[f`dt%".1:T j,FyoF^ /V!hϝ׺a؆񲦉s7f9r*s!7ŧax(pDA}}Y.^喨Ye}H Q={k@3);X)g5gTeHhf2cAz
+9 wƋ YƺLSPʎ
+
+i=e92ߓcD>O*"vo,lYGäBcoRM*i[3wΜFl[/nD9^\M؛%^E#Df}1/h:6fuYeJ=Xs@җڽ$!,\ĩMz.y{=iH-Q@NnAG1PS>%1G^+ۮjj>֯StirΦ@OgRnH_KQfjF«dS7YxLM؞󋨧6\W>NNRθ"[BWꢘ~\34DD}?
+FHxUdf|iEr-#XwcwɨoZֲTCPdIX=&|;'`̜f1cбg+@? W}!-WMskvsR:uVe>,Ë[`,$%/Yqp lPmMNU:8IN LK5+bEm `K_|c(d8@',d=2-u6Dqf,V;_ڌbASXk|r,W>1"gf#.!YW_VZ56hJ9T^tC0
+mY鬛QQtj\cdS,ݟ>Iv7s$/k!$jyGd{xA}/&0b %}[M JJK|Oe1B(HH hj|8\R`jޤAԸ3Xa }V).eB "NÃ^6tnTPjN&З[E@@5aL8l1IUgU-3=h#fU .s6$Q3MW 2jxFC ֩rl[$ ռwXJy᳎NX,yĮjՖEqgA*0d{5
+mu=t@>O͓}>׾GA^)rz9@+ ċ\ P?Ö3d9X"vKZgW8:ZI՟ԦG00:Eν+O"Y DhdবZ2RT.r΍;~CIͤ) ;jp_gA5j[GK5C/jOB07յnTe
+ƹ$ӍjǘKY#g|y3>:&  MDŽI#웄>$x0MM&"2i
+&BMnzr<w,3Ia@VQ6﯅p9bZ<H_/ܭ[LhXoѱ7,C+V3W6D0OJZ7D?Ϥ[;UC޻#xJ
+7dXޏ&/;˟{tZ䁝 ŪpF]YJ&^\E
+ÅWp Хi5DAVg!4nDw
+
+t<;3-d5 =6$
+v3yԵ)dr^pi;8l JMDFb1x<vZ`-F˓TH'$/1BPf}3~'*idVi$m<j,
+#ϡf2HIn61<Ee'%kn+=>%9spPt z6#bZV]PX;YrYONc+n qeSwW,&Y
+<K⸆O$n{x_t dwr t?.-VA?Yi?$7({
+207q5^K/KN
+vAQLGBG
+խbC{:X*W)WX"7
+ =z?}?Sg5}tVi't~:U%M:QS}y<o;a]ed]TG-rxR ݡ8|p̬o[h:hʩ%lRlM(̺2+<Eu-˹4 L>c !3#u6yجN/ 2h8ݟ
+#C r?"+Uilhi91݇'o\(X5t>I,2~3B,4\?`̻ }1H=ɿ CթYxwyu<:/(FL_+%sgdv38
+,'0#',A?g[_B{1tΤG H2-n% W" 8Pxa x6Oc$*[&@39nզ,!8M"EhO(9 >Uc8xULIM#%?SCx%OK؏UhXrxnTV;E$~zƿ, m0N "ŬS
endstream
endobj
-692 0 obj
+949 0 obj
<<
/Type /FontDescriptor
-/FontName /BENPDU+LMMono9-Regular
+/FontName /WAMEOP+LMMono9-Regular
/Flags 4
/FontBBox [-451 -318 734 1016]
/Ascent 0
@@ -6154,41 +8426,41 @@ endobj
/ItalicAngle 0
/StemV 74
/XHeight 431
-/CharSet (/A/B/Q/T/a/b/backslash/braceleft/braceright/c/comma/d/e/eight/equal/exclam/f/five/four/g/greater/h/i/l/less/m/n/o/one/p/parenleft/parenright/period/question/quoteright/quotesingle.ts1/r/s/slash/t/three/u/v/w/y/zero)
-/FontFile 691 0 R
+/CharSet (/A/B/I/M/N/Q/T/X/a/asterisk/b/backslash/braceleft/braceright/c/comma/d/e/eight/equal/exclam/f/five/four/g/greater/h/i/k/l/less/m/n/o/one/p/parenleft/parenright/period/question/quoteright/quotesingle.ts1/r/s/slash/t/three/u/v/w/y/zero)
+/FontFile 948 0 R
>>
endobj
-605 0 obj
+857 0 obj
<<
/Type /Encoding
/Differences [21/endash 27/ff/fi/fl/ffi 33/exclam 36/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F 72/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y 91/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright 159/section]
>>
endobj
-616 0 obj
+871 0 obj
<<
/Type /Encoding
-/Differences [13/gamma 18/theta 25/pi 34/epsilon 58/period/comma/less/slash/greater 88/X 97/a 101/e/f/g 107/k 109/m/n 116/t 120/x/y]
+/Differences [13/gamma 18/theta 25/pi 30/phi 34/epsilon 58/period/comma/less/slash/greater 88/X 97/a 101/e/f/g 107/k 109/m/n 112/p/q/r 116/t 120/x/y]
>>
endobj
-618 0 obj
+873 0 obj
<<
/Type /Encoding
-/Differences [0/minus 2/multiply 20/lessequal/greaterequal 41/arrowdblright 54/negationslash 104/angbracketleft/angbracketright 110/backslash 112/radical]
+/Differences [0/minus 2/multiply 14/openbullet 20/lessequal/greaterequal 41/arrowdblright 48/prime 54/negationslash 104/angbracketleft/angbracketright/bar 110/backslash 112/radical]
>>
endobj
-614 0 obj
+869 0 obj
<<
/Type /Encoding
/Differences [0/Gamma 33/exclam 40/parenleft/parenright 43/plus 48/zero/one/two/three/four/five/six/seven/eight/nine 61/equal 91/bracketleft 93/bracketright 97/a 99/c 101/e 104/h/i 108/l/m/n/o 115/s/t 120/x]
>>
endobj
-603 0 obj
+859 0 obj
<<
/Type /Encoding
/Differences [39/quotesingle.ts1 42/asteriskmath 136/bullet]
>>
endobj
-693 0 obj
+950 0 obj
<<
/Length 859
/Filter /FlateDecode
@@ -6199,20 +8471,20 @@ xmUMo0WxNWHv[jWHL @UǾضߺItճ;סq
)q4 5'G`~ӛ>Tg ]8 i/nTv<k0Yڲ1g3K`ڐY1q22%/ dchJ(S}Y:scݜ笟PcYB?A9Os֙3\Q.4aX=Z9#>c-+>c_ZZ~Z83z3[:ޭ ߬Lg3t3-g B|B|\3gg|2?z)BXIAup*^+&#sU-'H8q_u A8{N Y6ާ=_8N
endstream
endobj
-242 0 obj
+250 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /HCMXQD+LMRoman10-Bold
-/FontDescriptor 642 0 R
+/BaseFont /DECJEJ+LMRoman10-Bold
+/FontDescriptor 897 0 R
/FirstChar 21
/LastChar 159
-/Widths 638 0 R
-/Encoding 605 0 R
-/ToUnicode 693 0 R
+/Widths 893 0 R
+/Encoding 857 0 R
+/ToUnicode 950 0 R
>>
endobj
-694 0 obj
+951 0 obj
<<
/Length 859
/Filter /FlateDecode
@@ -6225,20 +8497,20 @@ xmUMo0WxNWHv[jWHL @UǾضߺItճ;סq
МQV1Կ'1t?ƺ9Y?ГrYs֟'g)43;YgD3\ib-z3zs ,>G|ZV|ƾ3ֵ33qgng3tZ[Yog,g[3 =L3z/gd ,gz)R؇O5[TTV *M2GZN(:pTjy0:q;~E衻mO1z'X
endstream
endobj
-290 0 obj
+298 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /QVUVDT+LMRoman12-Bold
-/FontDescriptor 644 0 R
+/FontDescriptor 899 0 R
/FirstChar 27
/LastChar 122
-/Widths 632 0 R
-/Encoding 605 0 R
-/ToUnicode 694 0 R
+/Widths 887 0 R
+/Encoding 857 0 R
+/ToUnicode 951 0 R
>>
endobj
-695 0 obj
+952 0 obj
<<
/Length 858
/Filter /FlateDecode
@@ -6251,20 +8523,20 @@ xmUn0CƆ
,>G|ZN|ƾt3u3t3qggw3t:;9g,g[3 =L3z/gķ|2?z)R8IIupj^+5&#su#'H8qyA8YvJ1zh9ށ
endstream
endobj
-573 0 obj
+589 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /AHPNOF+LMRoman8-Bold
-/FontDescriptor 646 0 R
+/FontDescriptor 901 0 R
/FirstChar 65
/LastChar 65
-/Widths 606 0 R
-/Encoding 605 0 R
-/ToUnicode 695 0 R
+/Widths 861 0 R
+/Encoding 857 0 R
+/ToUnicode 952 0 R
>>
endobj
-696 0 obj
+953 0 obj
<<
/Length 857
/Filter /FlateDecode
@@ -6276,20 +8548,20 @@ N)$W?g^,ɝظYs{ \wu4{S<.7զ7
55)FњSjR@J]!5<FSb"/!\,Ѹ8"\ 2:x0)ljsn l9ux\רi"EܰpJM}4$x0.?1Yß8x! !aM4cnGym: C[1Flx L^"K~2&NCC&^кY` YecO{"CgcY =9O('=g)YB|֙Bs:S|uF:#e~,٢+>G+>3qgegK+>c]+>O+>G|FV|~+>Cѻ V|B|ƺ ~!>_Sϔ+>B|&LOrBG/}XTK5?)Nkx$sy儢 G5.[ s'~׻ 8ElUCjF
endstream
endobj
-243 0 obj
+251 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /UKSWVF+LMRoman10-Regular
-/FontDescriptor 658 0 R
+/FontDescriptor 913 0 R
/FirstChar 21
/LastChar 159
-/Widths 637 0 R
-/Encoding 605 0 R
-/ToUnicode 696 0 R
+/Widths 892 0 R
+/Encoding 857 0 R
+/ToUnicode 953 0 R
>>
endobj
-697 0 obj
+954 0 obj
<<
/Length 857
/Filter /FlateDecode
@@ -6302,20 +8574,20 @@ kCX
&+jRP׊C8ƒI\U E'j\,@sGAC>Nwq8"٦: P
endstream
endobj
-237 0 obj
+245 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /ERGWLJ+LMRoman12-Regular
-/FontDescriptor 660 0 R
+/BaseFont /WACCAK+LMRoman12-Regular
+/FontDescriptor 915 0 R
/FirstChar 40
/LastChar 119
-/Widths 639 0 R
-/Encoding 605 0 R
-/ToUnicode 697 0 R
+/Widths 894 0 R
+/Encoding 857 0 R
+/ToUnicode 954 0 R
>>
endobj
-698 0 obj
+955 0 obj
<<
/Length 856
/Filter /FlateDecode
@@ -6327,20 +8599,20 @@ N)$W?g^,ɝظYs{ \wu4{S<.7զ7
МQV1Կ'1t?ƺ9Y?ГrYs֟'g)437YgD3\ib-z3zs ,>G|ZV|ƾ3ֵ33qgng3tZ[Yog,g[3 =L3z/gd ,gz)R؇O5_TTV *M2GZN(:pTZ8:qwYн6ݢ=_3o
endstream
endobj
-541 0 obj
+557 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /YNVWXX+LMRoman6-Regular
-/FontDescriptor 664 0 R
+/BaseFont /CNSQMW+LMRoman6-Regular
+/FontDescriptor 919 0 R
/FirstChar 49
-/LastChar 50
-/Widths 611 0 R
-/Encoding 605 0 R
-/ToUnicode 698 0 R
+/LastChar 65
+/Widths 866 0 R
+/Encoding 857 0 R
+/ToUnicode 955 0 R
>>
endobj
-699 0 obj
+956 0 obj
<<
/Length 856
/Filter /FlateDecode
@@ -6352,20 +8624,20 @@ N)$W?g^,ɝظYs{ \wu4{S<.7զ7
МQV1Կ'1t?ƺ9Y?ГrYs֟'g)437YgD3\ib-z3zs ,>G|ZV|ƾ3ֵ33qgng3tZ[Yog,g[3 =L3z/gd ,gz)R؇O5_TTV *M2GZN(:pTZ8:qwYн6ݢ=_;;t
endstream
endobj
-249 0 obj
+257 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /JALGHF+LMRoman7-Regular
-/FontDescriptor 666 0 R
+/FontDescriptor 921 0 R
/FirstChar 49
/LastChar 116
-/Widths 634 0 R
-/Encoding 605 0 R
-/ToUnicode 699 0 R
+/Widths 889 0 R
+/Encoding 857 0 R
+/ToUnicode 956 0 R
>>
endobj
-700 0 obj
+957 0 obj
<<
/Length 856
/Filter /FlateDecode
@@ -6375,20 +8647,20 @@ xmUn0CƆ
N7RIU񛇱~<>O\7IrՓ?]]C{t}N=COZի~{ UΝ'mR~' /@ U/1E)x2ZX]515(ln1"n۞dDv@~3D>i|'7aea|8<T(-P0~{5ƆUC珇uu棹 5oE9p]n+I&H8@l: ld`TYg``&*58`ԜR&4`4(pJ RHijFhg1YbQ.gh\Uaar;ss`q
endstream
endobj
-543 0 obj
+559 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /WOJEAD+LMRoman8-Regular
-/FontDescriptor 668 0 R
+/FontDescriptor 923 0 R
/FirstChar 21
/LastChar 121
-/Widths 610 0 R
-/Encoding 605 0 R
-/ToUnicode 700 0 R
+/Widths 865 0 R
+/Encoding 857 0 R
+/ToUnicode 957 0 R
>>
endobj
-701 0 obj
+958 0 obj
<<
/Length 856
/Filter /FlateDecode
@@ -6400,20 +8672,20 @@ N)$W?g^,ɝظYs{ \wu4{S<.7զ7
МQV1Կ'1t?ƺ9Y?ГrYs֟'g)437YgD3\ib-z3zs ,>G|ZV|ƾ3ֵ33qgng3tZ[Yog,g[3 =L3z/gd ,gz)R؇O5_TTV *M2GZN(:pTZ8:qwYн6ݢ=_K~
endstream
endobj
-351 0 obj
+361 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /ZENCVK+LMRoman9-Regular
-/FontDescriptor 670 0 R
-/FirstChar 27
+/BaseFont /TAETSC+LMRoman9-Regular
+/FontDescriptor 925 0 R
+/FirstChar 21
/LastChar 122
-/Widths 629 0 R
-/Encoding 605 0 R
-/ToUnicode 701 0 R
+/Widths 884 0 R
+/Encoding 857 0 R
+/ToUnicode 958 0 R
>>
endobj
-702 0 obj
+959 0 obj
<<
/Length 858
/Filter /FlateDecode
@@ -6426,20 +8698,20 @@ ilXY3t6no.XjR˺^o̙S^ww?U4H6!L@@B@q\s *
)q4 5'G`~ӛ>Tg ]i/nTv<k0Yڲ1g k`ڐY1q22%/dchJ(S}Y:scݜ笟PcYB?A9Os֙3\Q.4aX=Z9#>c-+>c_ZZ~Z83z3[:ޭ ߬Lg3t3-g B|B|\3gg|2?z)BXIAup*^+&#sU-'H8q|\e A8}\Q,znS/S
endstream
endobj
-250 0 obj
+258 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /WZVOQZ+LMRoman10-Italic
-/FontDescriptor 672 0 R
+/BaseFont /VNGPTC+LMRoman10-Italic
+/FontDescriptor 927 0 R
/FirstChar 21
/LastChar 122
-/Widths 633 0 R
-/Encoding 605 0 R
-/ToUnicode 702 0 R
+/Widths 888 0 R
+/Encoding 857 0 R
+/ToUnicode 959 0 R
>>
endobj
-703 0 obj
+960 0 obj
<<
/Length 857
/Filter /FlateDecode
@@ -6454,20 +8726,20 @@ ilXW3t6no.XjR˺^o3&su_U4H6!L@@B@q\s *
?a!SMW,:?8ÇqG湪N$ոX>n2ۇ}]>.pD=tMW)FuΎށ
endstream
endobj
-540 0 obj
+556 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /WXKWAB+LMRoman7-Italic
-/FontDescriptor 674 0 R
+/FontDescriptor 929 0 R
/FirstChar 65
/LastChar 65
-/Widths 612 0 R
-/Encoding 605 0 R
-/ToUnicode 703 0 R
+/Widths 867 0 R
+/Encoding 857 0 R
+/ToUnicode 960 0 R
>>
endobj
-704 0 obj
+961 0 obj
<<
/Length 857
/Filter /FlateDecode
@@ -6479,20 +8751,48 @@ N$L?f_,Ys..=pyp}GuYַC
֟Q.{s3uL(u&: XC/N|FN|NgXˉؗN|ƺN|N|&ޝ N|N'>w'>7'>S} uKR|)W|FL|OrRG/}XTG5?)Nkx$syn䄢 G5.[=MS s'~? j?El& ކ
endstream
endobj
-552 0 obj
+576 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /ETIJNB+LMRoman8-Italic
-/FontDescriptor 676 0 R
+/FontDescriptor 931 0 R
/FirstChar 99
/LastChar 121
-/Widths 608 0 R
-/Encoding 605 0 R
-/ToUnicode 704 0 R
+/Widths 862 0 R
+/Encoding 857 0 R
+/ToUnicode 961 0 R
>>
endobj
-705 0 obj
+962 0 obj
+<<
+/Length 857
+/Filter /FlateDecode
+>>
+stream
+xmUMo0+J! ᫊"RVmk
+N)$W?g^,ɝظYs{ \wu4{S<.7զ7u{R޺u=slܿ5/yI+T_~ 2ZkXm9)5Ez횳H~~?a`T'?y:&?M]槞/AjZ}ۃSo{༼
+ilXW3t6no.XjR˺^o3&su_U4H6!L@@B@q\s *<G`X
+S*0ԄEkNQFJ]r
+)q4} 5'G`~ӗ>Tg_c.\X7ьO*ezl,d mY50ymȋ,aYʘ8 xAf_14g%cxU>ob쉬f 9돱ncsO{(g1?\֟g Yg
+9LsQ.(ug^/u ?L[ V|FV|oV|3[: 3 ~!>CO!>S 33>Y^
+?a!SMW,:?8ÇqG湪N$ոX>n2ۇ}]>.pD=tMW)Fuދ
+endstream
+endobj
+748 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UHTCXY+LMRoman9-Italic
+/FontDescriptor 933 0 R
+/FirstChar 97
+/LastChar 115
+/Widths 858 0 R
+/Encoding 857 0 R
+/ToUnicode 962 0 R
+>>
+endobj
+963 0 obj
<<
/Length 858
/Filter /FlateDecode
@@ -6505,20 +8805,20 @@ N7R$ݪ񛇱~<>lۿYtՓиYs{
)q4 5'G`~ӛ>Tg ]i/nTv<k0Yڲ1g k`ڐY1q22%/dchJ(S}Y:scݜ笟PcYB?A9Os֙3\Q.4aX=Z9#>c-+>c_ZZ~Z83z3[:ޭ ߬Lg3t3-g B|B|\3gg|2?z)BXIAup*^+&#sU-'H8q|\e A8N Y6ݧ=_}sߊ
endstream
endobj
-559 0 obj
+573 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /QTMYSI+LMSans10-Regular
-/FontDescriptor 678 0 R
+/FontDescriptor 935 0 R
/FirstChar 28
/LastChar 121
-/Widths 607 0 R
-/Encoding 605 0 R
-/ToUnicode 705 0 R
+/Widths 863 0 R
+/Encoding 857 0 R
+/ToUnicode 963 0 R
>>
endobj
-706 0 obj
+964 0 obj
<<
/Length 859
/Filter /FlateDecode
@@ -6531,20 +8831,20 @@ ilXY3t6n.XjR˺^o?͙S^vw?U4H6!L@@B@q\s *
)q4 5'G`~ӛ>Tg ]i/nTv<k0Yڲ1g k`ڐY1q22%/dchJ(S}Y:scݜ笟PcYB?A9Os֙3\Q.4aX=Z9#>c-+>c_ZZ~Z83z3[:ޭ ߬Lg3t3-g B|B|\3gg|2?z)BXIAup*^+&#sU-'H8q_e A8޽_Q,znS/_g
endstream
endobj
-291 0 obj
+299 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /CPDWVB+LMMonoLt10-Bold
-/FontDescriptor 684 0 R
+/BaseFont /BGRPQJ+LMMonoLt10-Bold
+/FontDescriptor 941 0 R
/FirstChar 33
-/LastChar 118
-/Widths 631 0 R
-/Encoding 605 0 R
-/ToUnicode 706 0 R
+/LastChar 121
+/Widths 886 0 R
+/Encoding 857 0 R
+/ToUnicode 964 0 R
>>
endobj
-707 0 obj
+965 0 obj
<<
/Length 858
/Filter /FlateDecode
@@ -6557,20 +8857,20 @@ ilXYӷ|6nvo.XjR˺^k̙S^ww?U4H6!L@@B@q\s *
)q4 5'G`~ӛ>Tg ]i/nTv<k0Yڲ1g k`ڐY1q22%/dchJ(S}Y:scݜ笟PcYB?A9Os֙3\Q.4aX=Z9#>c-+>c_ZZ~Z83z3[:ޭ ߬Lg3t3-g B|B|\3gg|2?z)BXIAup*^+&#sU-'H8q|\e A8N Y6ݧ=_ߔ
endstream
endobj
-244 0 obj
+252 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /HCGIQG+LMMono10-Regular
-/FontDescriptor 686 0 R
+/FontDescriptor 943 0 R
/FirstChar 33
/LastChar 125
-/Widths 636 0 R
-/Encoding 605 0 R
-/ToUnicode 707 0 R
+/Widths 891 0 R
+/Encoding 857 0 R
+/ToUnicode 965 0 R
>>
endobj
-708 0 obj
+966 0 obj
<<
/Length 858
/Filter /FlateDecode
@@ -6586,20 +8886,20 @@ N7R!ݪ񛇱~<>lۿYtՓ;q\]U}s9nwu4{SC<Q]jO
МQV1Կ'1t?ƺ9Y?ГrYs֟'g)43;YgD3\ib-z3zs ,>G|ZV|ƾ3ֵ33qgng3tZ[Yog,g[3 =L3z/gd ,gz)R؇O5[TTV *M2GZN(:pTj0:q;qE衻mO1z ߞ
endstream
endobj
-236 0 obj
+244 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /FBPQEI+LMMono12-Regular
-/FontDescriptor 688 0 R
+/FontDescriptor 945 0 R
/FirstChar 45
/LastChar 117
-/Widths 640 0 R
-/Encoding 605 0 R
-/ToUnicode 708 0 R
+/Widths 895 0 R
+/Encoding 857 0 R
+/ToUnicode 966 0 R
>>
endobj
-709 0 obj
+967 0 obj
<<
/Length 857
/Filter /FlateDecode
@@ -6610,20 +8910,20 @@ N7R!L?f^,Yss..=}?y<{Q>I]Vm
֟Q.{s3uL(u&: XC/N|FN|NgXˉؗN|ƺN|N|&ޝ N|N'>w'>7'>S} uKR|)W|FL|OrRG/}XTG5?)Nkx$syn䄢 G5.[=c s'a8 W)FM
endstream
endobj
-544 0 obj
+560 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /VZTNFI+LMMono8-Regular
-/FontDescriptor 690 0 R
+/FontDescriptor 947 0 R
/FirstChar 46
/LastChar 116
-/Widths 609 0 R
-/Encoding 605 0 R
-/ToUnicode 709 0 R
+/Widths 864 0 R
+/Encoding 857 0 R
+/ToUnicode 967 0 R
>>
endobj
-710 0 obj
+968 0 obj
<<
/Length 857
/Filter /FlateDecode
@@ -6640,20 +8940,20 @@ ilXWӷ|6nvo.XjR˺^k3&su_U4H6!L@@B@q\s *
?a!SMW,:?8ÇqG湪N$ոX>n2 ۇ}}\P,zfR/
endstream
endobj
-352 0 obj
+362 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /BENPDU+LMMono9-Regular
-/FontDescriptor 692 0 R
+/BaseFont /WAMEOP+LMMono9-Regular
+/FontDescriptor 949 0 R
/FirstChar 33
/LastChar 125
-/Widths 628 0 R
-/Encoding 605 0 R
-/ToUnicode 710 0 R
+/Widths 883 0 R
+/Encoding 857 0 R
+/ToUnicode 968 0 R
>>
endobj
-711 0 obj
+969 0 obj
<<
/Length 600
/Filter /FlateDecode
@@ -6664,20 +8964,20 @@ xuTn@+fH@!BHMV{5@,lsw m6n냝g)>mW_Ni
Mg޲:]fMR2IV;e8p<_9"*G(dS>sQ  DDr "qX+&Gha:$r5PHi@S91jU|s(V8>l;JۈYDI aoykrA)ς1R;JS΄U!ar .Qsy4M纑9Ҍi~h7!cD<`1 ySMgg>2 cs(>ZC@ f fP7Fo?],}/Kۺ=/mS7m'{L:
endstream
endobj
-340 0 obj
+350 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /TZXAFF+LMMathItalic10-Regular
-/FontDescriptor 648 0 R
+/BaseFont /CWEEHJ+LMMathItalic10-Regular
+/FontDescriptor 903 0 R
/FirstChar 13
/LastChar 121
-/Widths 630 0 R
-/Encoding 616 0 R
-/ToUnicode 711 0 R
+/Widths 885 0 R
+/Encoding 871 0 R
+/ToUnicode 969 0 R
>>
endobj
-712 0 obj
+970 0 obj
<<
/Length 598
/Filter /FlateDecode
@@ -6688,20 +8988,20 @@ xmTM@+z&?DƉ1LF+BG
Ч }g?i{4 Z76C 0b S.0Y0XjGiʙ`2$C5%^s=j# \7c C1 ݏ7< &dL8f>0Ozʣ)LPקZFw?a ~NTKx6Ĭ# ᯋUEvi[1؀mQ]/8}&?K^
endstream
endobj
-408 0 obj
+418 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /UBJCGG+LMMathItalic5-Regular
-/FontDescriptor 650 0 R
+/BaseFont /PNDPYA+LMMathItalic5-Regular
+/FontDescriptor 905 0 R
/FirstChar 61
-/LastChar 61
-/Widths 620 0 R
-/Encoding 616 0 R
-/ToUnicode 712 0 R
+/LastChar 110
+/Widths 875 0 R
+/Encoding 871 0 R
+/ToUnicode 970 0 R
>>
endobj
-713 0 obj
+971 0 obj
<<
/Length 598
/Filter /FlateDecode
@@ -6712,20 +9012,20 @@ xmTM@+z&?DƉ1LF+BG
Ч }g?i{4 Z76C 0b S.0Y0XjGiʙ`2$C5%^s=j# \7c C1 ݏ7< &dL8f>0Ozʣ)LPקZFw?a ~NTKx6Ĭ# ᯋUEvi[1؀mQ]/8}&?Kh
endstream
endobj
-376 0 obj
+386 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /VQNOES+LMMathItalic7-Regular
-/FontDescriptor 652 0 R
+/BaseFont /CVHMNY+LMMathItalic7-Regular
+/FontDescriptor 907 0 R
/FirstChar 25
/LastChar 120
-/Widths 624 0 R
-/Encoding 616 0 R
-/ToUnicode 713 0 R
+/Widths 879 0 R
+/Encoding 871 0 R
+/ToUnicode 971 0 R
>>
endobj
-714 0 obj
+972 0 obj
<<
/Length 598
/Filter /FlateDecode
@@ -6735,20 +9035,20 @@ xmTM@+z&?DƉ1LF+BG
ٔB15*f€H֊zAl@e R3TE`̇G=O3~6"i0'DoR3l3`\aʳ`LԎҔ3!>teHkK1z\7FunƤAN4cAox*Mc7p|aGSYOF~4J2P-m-YYG_v_ҶnchiEe+ G>|_pLKr
endstream
endobj
-482 0 obj
+493 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /MFTCYA+LMMathItalic9-Regular
-/FontDescriptor 654 0 R
+/BaseFont /VGYIRG+LMMathItalic9-Regular
+/FontDescriptor 909 0 R
/FirstChar 60
-/LastChar 60
-/Widths 617 0 R
-/Encoding 616 0 R
-/ToUnicode 714 0 R
+/LastChar 110
+/Widths 872 0 R
+/Encoding 871 0 R
+/ToUnicode 972 0 R
>>
endobj
-715 0 obj
+973 0 obj
<<
/Length 602
/Filter /FlateDecode
@@ -6761,20 +9061,20 @@ xuTn@+fH0C%DjX搿ߩnJSSS]ݦx9Z<Jn֏f
eGSYn@FA4J2R-m-LXYG&Ov_ungh'iemk6-C>z
endstream
endobj
-393 0 obj
+403 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /UOBGNU+LMMathItalic10-Bold
-/FontDescriptor 656 0 R
+/FontDescriptor 911 0 R
/FirstChar 120
/LastChar 120
-/Widths 623 0 R
-/Encoding 616 0 R
-/ToUnicode 715 0 R
+/Widths 878 0 R
+/Encoding 871 0 R
+/ToUnicode 973 0 R
>>
endobj
-716 0 obj
+974 0 obj
<<
/Length 790
/Filter /FlateDecode
@@ -6786,20 +9086,20 @@ xuUMo0Wx B
8An)  +4bX*^cH`&f P;6 <9Bi2)LeTV.>HEW0*50^ s غ~${S$2ˀQ lC]j{Q\8jFجA`Z1Fcf1ur=#1SƤx- 907O`aaeVrLӔhVje y Q( a0<x?hkSIc/ -ur^vҁ7#!}BzUaQRZa~JÃy1KNqHC4cmӹy 7]t"jy3Vч.OOy/
endstream
endobj
-359 0 obj
+369 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /EEFAQO+LMMathSymbols10-Regular
-/FontDescriptor 680 0 R
+/BaseFont /KBHFZY+LMMathSymbols10-Regular
+/FontDescriptor 937 0 R
/FirstChar 0
/LastChar 112
-/Widths 626 0 R
-/Encoding 618 0 R
-/ToUnicode 716 0 R
+/Widths 881 0 R
+/Encoding 873 0 R
+/ToUnicode 974 0 R
>>
endobj
-717 0 obj
+975 0 obj
<<
/Length 788
/Filter /FlateDecode
@@ -6814,20 +9114,20 @@ bK4S/IAl@D8 VsX&GTA 1RU rKpHHXâV؜F‡01z
݌@zȏ/nØEX'&7nۭmZ YUܜ~tex{ɣ]
endstream
endobj
-469 0 obj
+480 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /CIXFWA+LMMathSymbols7-Regular
-/FontDescriptor 682 0 R
+/BaseFont /VWOJXG+LMMathSymbols7-Regular
+/FontDescriptor 939 0 R
/FirstChar 0
-/LastChar 0
-/Widths 619 0 R
-/Encoding 618 0 R
-/ToUnicode 717 0 R
+/LastChar 48
+/Widths 874 0 R
+/Encoding 873 0 R
+/ToUnicode 975 0 R
>>
endobj
-718 0 obj
+976 0 obj
<<
/Length 977
/Filter /FlateDecode
@@ -6836,20 +9136,20 @@ stream
xmVMo:WԤd} EHLX6dh}9; rp:\.gg)W|qߤMy7ͿCtuOޏ~<=~Ο涽O|; _Xj('̻/k?X﷧h.KO?Kl?cBfC'hjEvg?@`dx']a,Aw>Zŏx_Dhmw³#6z1 ||Wlj- ϛG+cבwlƔ \SOuJҀpaZ3P@1pm@ѪâA!cQB@bIJ!
endstream
endobj
-394 0 obj
+404 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /HCMXQD+LMRoman10-Bold
-/FontDescriptor 642 0 R
+/BaseFont /DECJEJ+LMRoman10-Bold
+/FontDescriptor 897 0 R
/FirstChar 48
/LastChar 55
-/Widths 622 0 R
-/Encoding 614 0 R
-/ToUnicode 718 0 R
+/Widths 877 0 R
+/Encoding 869 0 R
+/ToUnicode 976 0 R
>>
endobj
-719 0 obj
+977 0 obj
<<
/Length 975
/Filter /FlateDecode
@@ -6859,20 +9159,20 @@ xmVnH+A )AI+J:weǁ"!G7_We
> 1XR_}˞:+ϰnE>?sɥW_sSguxg*L%:SɥN*8=:-> G}ZN}p3u3tpggw3t:;9Ygg[3 =,3zg ϭϜ|y#W`du0_|Q`ifڂ|H2Ԗ,oH}],/o'pphʉ,g!N,i{}?v
endstream
endobj
-358 0 obj
+368 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /UKSWVF+LMRoman10-Regular
-/FontDescriptor 658 0 R
+/FontDescriptor 913 0 R
/FirstChar 0
/LastChar 120
-/Widths 627 0 R
-/Encoding 614 0 R
-/ToUnicode 719 0 R
+/Widths 882 0 R
+/Encoding 869 0 R
+/ToUnicode 977 0 R
>>
endobj
-720 0 obj
+978 0 obj
<<
/Length 975
/Filter /FlateDecode
@@ -6881,20 +9181,20 @@ stream
xmVnH+A )AI+J:weǁ"!G7_We{{nnpяקo0s|ܵw%2+sRw;ķż_,\
endstream
endobj
-407 0 obj
+417 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /BHJLJC+LMRoman5-Regular
-/FontDescriptor 662 0 R
+/BaseFont /FCWBYU+LMRoman5-Regular
+/FontDescriptor 917 0 R
/FirstChar 48
/LastChar 57
-/Widths 621 0 R
-/Encoding 614 0 R
-/ToUnicode 720 0 R
+/Widths 876 0 R
+/Encoding 869 0 R
+/ToUnicode 978 0 R
>>
endobj
-721 0 obj
+979 0 obj
<<
/Length 975
/Filter /FlateDecode
@@ -6903,20 +9203,20 @@ stream
xmVnH+A )AI+J:weǁ"!G7_We{{nnpяקo0s|ܵw%2+sRw;ķż_"\
endstream
endobj
-364 0 obj
+374 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /JALGHF+LMRoman7-Regular
-/FontDescriptor 666 0 R
+/FontDescriptor 921 0 R
/FirstChar 48
/LastChar 57
-/Widths 625 0 R
-/Encoding 614 0 R
-/ToUnicode 721 0 R
+/Widths 880 0 R
+/Encoding 869 0 R
+/ToUnicode 979 0 R
>>
endobj
-722 0 obj
+980 0 obj
<<
/Length 975
/Filter /FlateDecode
@@ -6925,20 +9225,20 @@ stream
xmVnH+A )AI+J:weǁ"!G7_We{{nnpяקo0s|ܵw%2+sRw;ķż_*\
endstream
endobj
-483 0 obj
+494 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /ZENCVK+LMRoman9-Regular
-/FontDescriptor 670 0 R
+/BaseFont /TAETSC+LMRoman9-Regular
+/FontDescriptor 925 0 R
/FirstChar 49
/LastChar 52
-/Widths 615 0 R
-/Encoding 614 0 R
-/ToUnicode 722 0 R
+/Widths 870 0 R
+/Encoding 869 0 R
+/ToUnicode 980 0 R
>>
endobj
-723 0 obj
+981 0 obj
<<
/Length 700
/Filter /FlateDecode
@@ -6949,20 +9249,20 @@ xuTMo0+J!m0U !mTto4j{z<?xҺ{s^7tr
zoZZgbT$Z|U
endstream
endobj
-248 0 obj
+256 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /UKSWVF+LMRoman10-Regular
-/FontDescriptor 658 0 R
+/FontDescriptor 913 0 R
/FirstChar 42
/LastChar 136
-/Widths 635 0 R
-/Encoding 603 0 R
-/ToUnicode 723 0 R
+/Widths 890 0 R
+/Encoding 859 0 R
+/ToUnicode 981 0 R
>>
endobj
-724 0 obj
+982 0 obj
<<
/Length 701
/Filter /FlateDecode
@@ -6972,20 +9272,20 @@ xuTn0+Cl
m8(zu$:`K$Q4pufn}f)ɻ|tùA<]u6m;O޴\+$ޚv}qff8*h$iƃ}E>.>ttPRJ(:X/rߴu&^!3PZM5^F$o߇7 V+1ؿһ`׮o7qIݞO!Znz/~N̿Z䄦buUWᴫ\k\r-Ve\[3sB A `ehHiJ }*>`!
endstream
endobj
-491 0 obj
+502 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /HCGIQG+LMMono10-Regular
-/FontDescriptor 686 0 R
+/FontDescriptor 943 0 R
/FirstChar 39
/LastChar 39
-/Widths 613 0 R
-/Encoding 603 0 R
-/ToUnicode 724 0 R
+/Widths 868 0 R
+/Encoding 859 0 R
+/ToUnicode 982 0 R
>>
endobj
-725 0 obj
+983 0 obj
<<
/Length 700
/Filter /FlateDecode
@@ -6995,163 +9295,180 @@ xuTMo0+J!m0U !mTto4j{z<?xҺ{s^7tr
@ r 0,jؘ@@t]DEQgOڥZk &Rg0y`!x8bǜם)`}qdBM
endstream
endobj
-590 0 obj
+611 0 obj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /BENPDU+LMMono9-Regular
-/FontDescriptor 692 0 R
+/BaseFont /WAMEOP+LMMono9-Regular
+/FontDescriptor 949 0 R
/FirstChar 39
/LastChar 39
-/Widths 604 0 R
-/Encoding 603 0 R
-/ToUnicode 725 0 R
+/Widths 860 0 R
+/Encoding 859 0 R
+/ToUnicode 983 0 R
>>
endobj
-238 0 obj
+246 0 obj
<<
/Type /Pages
/Count 6
-/Parent 726 0 R
-/Kids [230 0 R 240 0 R 246 0 R 286 0 R 316 0 R 320 0 R]
+/Parent 984 0 R
+/Kids [238 0 R 248 0 R 254 0 R 294 0 R 326 0 R 330 0 R]
>>
endobj
-335 0 obj
+345 0 obj
<<
/Type /Pages
/Count 6
-/Parent 726 0 R
-/Kids [327 0 R 337 0 R 347 0 R 355 0 R 361 0 R 367 0 R]
+/Parent 984 0 R
+/Kids [337 0 R 347 0 R 357 0 R 365 0 R 371 0 R 377 0 R]
>>
endobj
-377 0 obj
+387 0 obj
<<
/Type /Pages
/Count 6
-/Parent 726 0 R
-/Kids [373 0 R 381 0 R 386 0 R 390 0 R 396 0 R 404 0 R]
+/Parent 984 0 R
+/Kids [383 0 R 391 0 R 396 0 R 400 0 R 406 0 R 414 0 R]
>>
endobj
-414 0 obj
+424 0 obj
<<
/Type /Pages
/Count 6
-/Parent 726 0 R
-/Kids [411 0 R 416 0 R 424 0 R 430 0 R 434 0 R 439 0 R]
+/Parent 984 0 R
+/Kids [421 0 R 426 0 R 434 0 R 440 0 R 444 0 R 449 0 R]
>>
endobj
-446 0 obj
+457 0 obj
<<
/Type /Pages
/Count 6
-/Parent 726 0 R
-/Kids [443 0 R 450 0 R 455 0 R 460 0 R 466 0 R 473 0 R]
+/Parent 984 0 R
+/Kids [454 0 R 461 0 R 466 0 R 471 0 R 477 0 R 484 0 R]
>>
endobj
-484 0 obj
+495 0 obj
<<
/Type /Pages
/Count 6
-/Parent 726 0 R
-/Kids [478 0 R 488 0 R 493 0 R 497 0 R 504 0 R 509 0 R]
+/Parent 984 0 R
+/Kids [489 0 R 499 0 R 504 0 R 508 0 R 515 0 R 520 0 R]
>>
endobj
-518 0 obj
+529 0 obj
<<
/Type /Pages
/Count 6
-/Parent 727 0 R
-/Kids [515 0 R 520 0 R 524 0 R 528 0 R 532 0 R 537 0 R]
+/Parent 985 0 R
+/Kids [526 0 R 531 0 R 535 0 R 539 0 R 544 0 R 548 0 R]
>>
endobj
-553 0 obj
+561 0 obj
<<
/Type /Pages
/Count 6
-/Parent 727 0 R
-/Kids [548 0 R 555 0 R 562 0 R 566 0 R 570 0 R 578 0 R]
+/Parent 985 0 R
+/Kids [553 0 R 563 0 R 569 0 R 578 0 R 582 0 R 586 0 R]
>>
endobj
-593 0 obj
+594 0 obj
<<
/Type /Pages
-/Count 2
-/Parent 727 0 R
-/Kids [586 0 R 597 0 R]
+/Count 6
+/Parent 985 0 R
+/Kids [591 0 R 599 0 R 607 0 R 617 0 R 745 0 R 854 0 R]
>>
endobj
-726 0 obj
+984 0 obj
<<
/Type /Pages
/Count 36
-/Parent 728 0 R
-/Kids [238 0 R 335 0 R 377 0 R 414 0 R 446 0 R 484 0 R]
+/Parent 986 0 R
+/Kids [246 0 R 345 0 R 387 0 R 424 0 R 457 0 R 495 0 R]
>>
endobj
-727 0 obj
+985 0 obj
<<
/Type /Pages
-/Count 14
-/Parent 728 0 R
-/Kids [518 0 R 553 0 R 593 0 R]
+/Count 18
+/Parent 986 0 R
+/Kids [529 0 R 561 0 R 594 0 R]
>>
endobj
-728 0 obj
+986 0 obj
<<
/Type /Pages
-/Count 50
-/Kids [726 0 R 727 0 R]
+/Count 54
+/Kids [984 0 R 985 0 R]
>>
endobj
-729 0 obj
+987 0 obj
<<
/Type /Outlines
/First 3 0 R
-/Last 219 0 R
-/Count 33
+/Last 235 0 R
+/Count 36
+>>
+endobj
+235 0 obj
+<<
+/Title 236 0 R
+/A 233 0 R
+/Parent 987 0 R
+/Prev 223 0 R
+>>
+endobj
+231 0 obj
+<<
+/Title 232 0 R
+/A 229 0 R
+/Parent 223 0 R
+/Prev 227 0 R
>>
endobj
227 0 obj
<<
/Title 228 0 R
/A 225 0 R
-/Parent 219 0 R
-/Prev 223 0 R
+/Parent 223 0 R
+/Next 231 0 R
>>
endobj
223 0 obj
<<
/Title 224 0 R
/A 221 0 R
-/Parent 219 0 R
-/Next 227 0 R
+/Parent 987 0 R
+/Prev 15 0 R
+/Next 235 0 R
+/First 227 0 R
+/Last 231 0 R
+/Count 2
>>
endobj
219 0 obj
<<
/Title 220 0 R
/A 217 0 R
-/Parent 729 0 R
-/Prev 15 0 R
-/First 223 0 R
-/Last 227 0 R
-/Count 2
+/Parent 207 0 R
+/Prev 215 0 R
>>
endobj
215 0 obj
<<
/Title 216 0 R
/A 213 0 R
-/Parent 203 0 R
+/Parent 207 0 R
/Prev 211 0 R
+/Next 219 0 R
>>
endobj
211 0 obj
<<
/Title 212 0 R
/A 209 0 R
-/Parent 203 0 R
-/Prev 207 0 R
+/Parent 207 0 R
/Next 215 0 R
>>
endobj
@@ -7159,26 +9476,29 @@ endobj
<<
/Title 208 0 R
/A 205 0 R
-/Parent 203 0 R
-/Next 211 0 R
+/Parent 15 0 R
+/Prev 163 0 R
+/First 211 0 R
+/Last 219 0 R
+/Count 3
>>
endobj
203 0 obj
<<
/Title 204 0 R
/A 201 0 R
-/Parent 15 0 R
-/Prev 163 0 R
-/First 207 0 R
-/Last 215 0 R
-/Count 3
+/Parent 199 0 R
>>
endobj
199 0 obj
<<
/Title 200 0 R
/A 197 0 R
-/Parent 195 0 R
+/Parent 163 0 R
+/Prev 195 0 R
+/First 203 0 R
+/Last 203 0 R
+/Count -1
>>
endobj
195 0 obj
@@ -7187,9 +9507,7 @@ endobj
/A 193 0 R
/Parent 163 0 R
/Prev 191 0 R
-/First 199 0 R
-/Last 199 0 R
-/Count -1
+/Next 199 0 R
>>
endobj
191 0 obj
@@ -7206,7 +9524,7 @@ endobj
/Title 188 0 R
/A 185 0 R
/Parent 163 0 R
-/Prev 167 0 R
+/Prev 179 0 R
/Next 191 0 R
>>
endobj
@@ -7214,17 +9532,19 @@ endobj
<<
/Title 184 0 R
/A 181 0 R
-/Parent 167 0 R
-/Prev 179 0 R
+/Parent 179 0 R
>>
endobj
179 0 obj
<<
/Title 180 0 R
/A 177 0 R
-/Parent 167 0 R
-/Prev 175 0 R
-/Next 183 0 R
+/Parent 163 0 R
+/Prev 167 0 R
+/Next 187 0 R
+/First 183 0 R
+/Last 183 0 R
+/Count -1
>>
endobj
175 0 obj
@@ -7233,7 +9553,6 @@ endobj
/A 173 0 R
/Parent 167 0 R
/Prev 171 0 R
-/Next 179 0 R
>>
endobj
171 0 obj
@@ -7249,10 +9568,10 @@ endobj
/Title 168 0 R
/A 165 0 R
/Parent 163 0 R
-/Next 187 0 R
+/Next 179 0 R
/First 171 0 R
-/Last 183 0 R
-/Count -4
+/Last 175 0 R
+/Count -2
>>
endobj
163 0 obj
@@ -7261,10 +9580,10 @@ endobj
/A 161 0 R
/Parent 15 0 R
/Prev 115 0 R
-/Next 203 0 R
+/Next 207 0 R
/First 167 0 R
-/Last 195 0 R
-/Count 4
+/Last 199 0 R
+/Count 6
>>
endobj
159 0 obj
@@ -7603,12 +9922,12 @@ endobj
<<
/Title 16 0 R
/A 13 0 R
-/Parent 729 0 R
+/Parent 987 0 R
/Prev 3 0 R
-/Next 219 0 R
+/Next 223 0 R
/First 19 0 R
-/Last 203 0 R
-/Count 26
+/Last 207 0 R
+/Count 28
>>
endobj
11 0 obj
@@ -7631,974 +9950,1239 @@ endobj
<<
/Title 4 0 R
/A 1 0 R
-/Parent 729 0 R
+/Parent 987 0 R
/Next 15 0 R
/First 7 0 R
/Last 11 0 R
/Count 2
>>
endobj
-730 0 obj
+988 0 obj
<<
-/Names [(Doc-Start) 235 0 R (Hfootnote.1) 542 0 R (Hfootnote.2) 551 0 R (Item.1) 330 0 R (Item.2) 331 0 R (Item.3) 332 0 R]
+/Names [(Doc-Start) 243 0 R (Hfootnote.1) 558 0 R (Hfootnote.2) 575 0 R (Item.1) 340 0 R (Item.2) 341 0 R (Item.3) 342 0 R]
/Limits [(Doc-Start) (Item.3)]
>>
endobj
-731 0 obj
+989 0 obj
<<
-/Names [(Item.4) 333 0 R (Item.5) 334 0 R (chapter*.1) 289 0 R (chapter.1) 2 0 R (chapter.2) 14 0 R (chapter.3) 218 0 R]
-/Limits [(Item.4) (chapter.3)]
+/Names [(Item.4) 343 0 R (Item.5) 344 0 R (chapter*.1) 297 0 R (chapter*.14) 234 0 R (chapter.1) 2 0 R (chapter.2) 14 0 R]
+/Limits [(Item.4) (chapter.2)]
>>
endobj
-732 0 obj
+990 0 obj
<<
-/Names [(page.1) 234 0 R (page.10) 369 0 R (page.11) 375 0 R (page.12) 383 0 R (page.13) 388 0 R (page.14) 392 0 R]
-/Limits [(page.1) (page.14)]
+/Names [(chapter.3) 222 0 R (page.1) 242 0 R (page.10) 379 0 R (page.11) 385 0 R (page.12) 393 0 R (page.13) 398 0 R]
+/Limits [(chapter.3) (page.13)]
>>
endobj
-733 0 obj
+991 0 obj
<<
-/Names [(page.15) 398 0 R (page.16) 406 0 R (page.17) 413 0 R (page.18) 418 0 R (page.19) 426 0 R (page.2) 288 0 R]
-/Limits [(page.15) (page.2)]
+/Names [(page.14) 402 0 R (page.15) 408 0 R (page.16) 416 0 R (page.17) 423 0 R (page.18) 428 0 R (page.19) 436 0 R]
+/Limits [(page.14) (page.19)]
>>
endobj
-734 0 obj
+992 0 obj
<<
-/Names [(page.20) 432 0 R (page.21) 436 0 R (page.22) 441 0 R (page.23) 445 0 R (page.24) 452 0 R (page.25) 457 0 R]
-/Limits [(page.20) (page.25)]
+/Names [(page.2) 296 0 R (page.20) 442 0 R (page.21) 446 0 R (page.22) 451 0 R (page.23) 456 0 R (page.24) 463 0 R]
+/Limits [(page.2) (page.24)]
>>
endobj
-735 0 obj
+993 0 obj
<<
-/Names [(page.26) 462 0 R (page.27) 468 0 R (page.28) 475 0 R (page.29) 480 0 R (page.3) 318 0 R (page.30) 490 0 R]
-/Limits [(page.26) (page.30)]
+/Names [(page.25) 468 0 R (page.26) 473 0 R (page.27) 479 0 R (page.28) 486 0 R (page.29) 491 0 R (page.3) 328 0 R]
+/Limits [(page.25) (page.3)]
>>
endobj
-736 0 obj
+994 0 obj
<<
-/Names [(page.31) 495 0 R (page.32) 499 0 R (page.33) 506 0 R (page.34) 511 0 R (page.35) 517 0 R (page.36) 522 0 R]
-/Limits [(page.31) (page.36)]
+/Names [(page.30) 501 0 R (page.31) 506 0 R (page.32) 510 0 R (page.33) 517 0 R (page.34) 522 0 R (page.35) 528 0 R]
+/Limits [(page.30) (page.35)]
>>
endobj
-737 0 obj
+995 0 obj
<<
-/Names [(page.37) 526 0 R (page.38) 530 0 R (page.39) 534 0 R (page.4) 322 0 R (page.40) 539 0 R (page.41) 550 0 R]
-/Limits [(page.37) (page.41)]
+/Names [(page.36) 533 0 R (page.37) 537 0 R (page.38) 541 0 R (page.39) 546 0 R (page.4) 332 0 R (page.40) 550 0 R]
+/Limits [(page.36) (page.40)]
>>
endobj
-738 0 obj
+996 0 obj
<<
-/Names [(page.42) 557 0 R (page.43) 564 0 R (page.44) 568 0 R (page.45) 572 0 R (page.46) 580 0 R (page.47) 588 0 R]
-/Limits [(page.42) (page.47)]
+/Names [(page.41) 555 0 R (page.42) 565 0 R (page.43) 571 0 R (page.44) 580 0 R (page.45) 584 0 R (page.46) 588 0 R]
+/Limits [(page.41) (page.46)]
>>
endobj
-739 0 obj
+997 0 obj
<<
-/Names [(page.48) 599 0 R (page.5) 329 0 R (page.6) 339 0 R (page.7) 349 0 R (page.8) 357 0 R (page.9) 363 0 R]
-/Limits [(page.48) (page.9)]
+/Names [(page.47) 593 0 R (page.48) 601 0 R (page.49) 609 0 R (page.5) 339 0 R (page.50) 619 0 R (page.51) 747 0 R]
+/Limits [(page.47) (page.51)]
>>
endobj
-740 0 obj
+998 0 obj
<<
-/Names [(section*.10) 600 0 R (section*.11) 601 0 R (section*.12) 602 0 R (section*.2) 500 0 R (section*.3) 558 0 R (section*.4) 560 0 R]
-/Limits [(section*.10) (section*.4)]
+/Names [(page.52) 856 0 R (page.6) 349 0 R (page.7) 359 0 R (page.8) 367 0 R (page.9) 373 0 R (section*.10) 613 0 R]
+/Limits [(page.52) (section*.10)]
>>
endobj
-741 0 obj
+999 0 obj
<<
-/Names [(section*.5) 581 0 R (section*.6) 582 0 R (section*.7) 589 0 R (section*.8) 591 0 R (section*.9) 592 0 R (section.1.1) 6 0 R]
+/Names [(section*.11) 620 0 R (section*.12) 621 0 R (section*.13) 622 0 R (section*.2) 511 0 R (section*.3) 452 0 R (section*.4) 572 0 R]
+/Limits [(section*.11) (section*.4)]
+>>
+endobj
+1000 0 obj
+<<
+/Names [(section*.5) 574 0 R (section*.6) 602 0 R (section*.7) 603 0 R (section*.8) 610 0 R (section*.9) 612 0 R (section.1.1) 6 0 R]
/Limits [(section*.5) (section.1.1)]
>>
endobj
-742 0 obj
+1001 0 obj
<<
/Names [(section.1.2) 10 0 R (section.2.1) 18 0 R (section.2.2) 78 0 R (section.2.3) 110 0 R (section.2.4) 114 0 R (section.2.5) 162 0 R]
/Limits [(section.1.2) (section.2.5)]
>>
endobj
-743 0 obj
+1002 0 obj
<<
-/Names [(section.2.6) 202 0 R (section.3.1) 222 0 R (section.3.2) 226 0 R (subsection.2.1.1) 22 0 R (subsection.2.1.2) 26 0 R (subsection.2.1.3) 38 0 R]
+/Names [(section.2.6) 206 0 R (section.3.1) 226 0 R (section.3.2) 230 0 R (subsection.2.1.1) 22 0 R (subsection.2.1.2) 26 0 R (subsection.2.1.3) 38 0 R]
/Limits [(section.2.6) (subsection.2.1.3)]
>>
endobj
-744 0 obj
+1003 0 obj
<<
/Names [(subsection.2.1.4) 74 0 R (subsection.2.2.1) 82 0 R (subsection.2.4.1) 118 0 R (subsection.2.4.2) 122 0 R (subsection.2.4.3) 126 0 R (subsection.2.4.4) 130 0 R]
/Limits [(subsection.2.1.4) (subsection.2.4.4)]
>>
endobj
-745 0 obj
+1004 0 obj
<<
-/Names [(subsection.2.4.5) 138 0 R (subsection.2.4.6) 142 0 R (subsection.2.4.7) 146 0 R (subsection.2.4.8) 154 0 R (subsection.2.5.1) 166 0 R (subsection.2.5.2) 186 0 R]
+/Names [(subsection.2.4.5) 138 0 R (subsection.2.4.6) 142 0 R (subsection.2.4.7) 146 0 R (subsection.2.4.8) 154 0 R (subsection.2.5.1) 166 0 R (subsection.2.5.2) 178 0 R]
/Limits [(subsection.2.4.5) (subsection.2.5.2)]
>>
endobj
-746 0 obj
+1005 0 obj
<<
-/Names [(subsection.2.5.3) 190 0 R (subsection.2.5.4) 194 0 R (subsection.2.6.1) 206 0 R (subsection.2.6.2) 210 0 R (subsection.2.6.3) 214 0 R (subsubsection.2.1.2.1) 30 0 R]
-/Limits [(subsection.2.5.3) (subsubsection.2.1.2.1)]
+/Names [(subsection.2.5.3) 186 0 R (subsection.2.5.4) 190 0 R (subsection.2.5.5) 194 0 R (subsection.2.5.6) 198 0 R (subsection.2.6.1) 210 0 R (subsection.2.6.2) 214 0 R]
+/Limits [(subsection.2.5.3) (subsection.2.6.2)]
>>
endobj
-747 0 obj
+1006 0 obj
<<
-/Names [(subsubsection.2.1.2.2) 34 0 R (subsubsection.2.1.3.1) 42 0 R (subsubsection.2.1.3.2) 46 0 R (subsubsection.2.1.3.3) 50 0 R (subsubsection.2.1.3.4) 54 0 R (subsubsection.2.1.3.5) 58 0 R]
-/Limits [(subsubsection.2.1.2.2) (subsubsection.2.1.3.5)]
+/Names [(subsection.2.6.3) 218 0 R (subsubsection.2.1.2.1) 30 0 R (subsubsection.2.1.2.2) 34 0 R (subsubsection.2.1.3.1) 42 0 R (subsubsection.2.1.3.2) 46 0 R (subsubsection.2.1.3.3) 50 0 R]
+/Limits [(subsection.2.6.3) (subsubsection.2.1.3.3)]
>>
endobj
-748 0 obj
+1007 0 obj
<<
-/Names [(subsubsection.2.1.3.6) 62 0 R (subsubsection.2.1.3.7) 66 0 R (subsubsection.2.1.3.8) 70 0 R (subsubsection.2.2.1.1) 86 0 R (subsubsection.2.2.1.2) 90 0 R (subsubsection.2.2.1.3) 94 0 R]
-/Limits [(subsubsection.2.1.3.6) (subsubsection.2.2.1.3)]
+/Names [(subsubsection.2.1.3.4) 54 0 R (subsubsection.2.1.3.5) 58 0 R (subsubsection.2.1.3.6) 62 0 R (subsubsection.2.1.3.7) 66 0 R (subsubsection.2.1.3.8) 70 0 R (subsubsection.2.2.1.1) 86 0 R]
+/Limits [(subsubsection.2.1.3.4) (subsubsection.2.2.1.1)]
>>
endobj
-749 0 obj
+1008 0 obj
<<
-/Names [(subsubsection.2.2.1.4) 98 0 R (subsubsection.2.2.1.5) 102 0 R (subsubsection.2.2.1.6) 106 0 R (subsubsection.2.4.4.1) 134 0 R (subsubsection.2.4.7.1) 150 0 R (subsubsection.2.4.8.1) 158 0 R]
-/Limits [(subsubsection.2.2.1.4) (subsubsection.2.4.8.1)]
+/Names [(subsubsection.2.2.1.2) 90 0 R (subsubsection.2.2.1.3) 94 0 R (subsubsection.2.2.1.4) 98 0 R (subsubsection.2.2.1.5) 102 0 R (subsubsection.2.2.1.6) 106 0 R (subsubsection.2.4.4.1) 134 0 R]
+/Limits [(subsubsection.2.2.1.2) (subsubsection.2.4.4.1)]
>>
endobj
-750 0 obj
+1009 0 obj
<<
-/Names [(subsubsection.2.5.1.1) 170 0 R (subsubsection.2.5.1.2) 174 0 R (subsubsection.2.5.1.3) 178 0 R (subsubsection.2.5.1.4) 182 0 R (subsubsection.2.5.4.1) 198 0 R (table.2.1) 350 0 R]
-/Limits [(subsubsection.2.5.1.1) (table.2.1)]
+/Names [(subsubsection.2.4.7.1) 150 0 R (subsubsection.2.4.8.1) 158 0 R (subsubsection.2.5.1.1) 170 0 R (subsubsection.2.5.1.2) 174 0 R (subsubsection.2.5.2.1) 182 0 R (subsubsection.2.5.6.1) 202 0 R]
+/Limits [(subsubsection.2.4.7.1) (subsubsection.2.5.6.1)]
>>
endobj
-751 0 obj
+1010 0 obj
<<
-/Names [(table.2.2) 365 0 R (table.2.3) 384 0 R (table.2.4) 419 0 R (table.2.5) 427 0 R (table.2.6) 463 0 R (table.2.7) 481 0 R]
-/Limits [(table.2.2) (table.2.7)]
+/Names [(table.2.1) 360 0 R (table.2.2) 375 0 R (table.2.3) 394 0 R (table.2.4) 429 0 R (table.2.5) 437 0 R (table.2.6) 474 0 R]
+/Limits [(table.2.1) (table.2.6)]
>>
endobj
-752 0 obj
+1011 0 obj
<<
-/Names [(table.2.8) 512 0 R]
-/Limits [(table.2.8) (table.2.8)]
+/Names [(table.2.7) 492 0 R (table.2.8) 523 0 R]
+/Limits [(table.2.7) (table.2.8)]
>>
endobj
-753 0 obj
+1012 0 obj
<<
-/Kids [730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 735 0 R]
-/Limits [(Doc-Start) (page.30)]
+/Kids [988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R]
+/Limits [(Doc-Start) (page.3)]
>>
endobj
-754 0 obj
+1013 0 obj
<<
-/Kids [736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R]
-/Limits [(page.31) (section.1.1)]
+/Kids [994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R]
+/Limits [(page.30) (section*.4)]
>>
endobj
-755 0 obj
+1014 0 obj
<<
-/Kids [742 0 R 743 0 R 744 0 R 745 0 R 746 0 R 747 0 R]
-/Limits [(section.1.2) (subsubsection.2.1.3.5)]
+/Kids [1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R]
+/Limits [(section*.5) (subsection.2.6.2)]
>>
endobj
-756 0 obj
+1015 0 obj
<<
-/Kids [748 0 R 749 0 R 750 0 R 751 0 R 752 0 R]
-/Limits [(subsubsection.2.1.3.6) (table.2.8)]
+/Kids [1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R]
+/Limits [(subsection.2.6.3) (table.2.8)]
>>
endobj
-757 0 obj
+1016 0 obj
<<
-/Kids [753 0 R 754 0 R 755 0 R 756 0 R]
+/Kids [1012 0 R 1013 0 R 1014 0 R 1015 0 R]
/Limits [(Doc-Start) (table.2.8)]
>>
endobj
-758 0 obj
+1017 0 obj
<<
-/Dests 757 0 R
+/Dests 1016 0 R
>>
endobj
-759 0 obj
+1018 0 obj
<<
/Type /Catalog
-/Pages 728 0 R
-/Outlines 729 0 R
-/Names 758 0 R
+/Pages 986 0 R
+/Outlines 987 0 R
+/Names 1017 0 R
/PageMode/UseOutlines/PageLabels<</Nums[0<</S/D>>1<</S/D>>2<</S/D>>]>>
-/OpenAction 229 0 R
+/OpenAction 237 0 R
>>
endobj
-760 0 obj
+1019 0 obj
<<
/Producer (MiKTeX pdfTeX-1.40.25)
-/Author(\376\377\000A\000n\000d\000r\000e\000w\000\040\000P\000a\000r\000s\000l\000o\000e\000,\000\040\000\050\000`\000\040\000`\000\045\000%\000%\000`\000\043\000`\000\046\0001\0002\000\137\000`\000\137\000\137\000~\000~\000~\tru\000e\000\051)/Title(\376\377\000n\000u\000m\000e\000r\000i\000c\000a\000-\000t\000a\000b\000l\000e\000s\000\040\000\040\000v\000e\000r\000s\000i\000o\000n\000\040\0003\000.\0000\000.\0000)/Subject()/Creator(LaTeX with hyperref)/Keywords()
-/CreationDate (D:20230822113257+12'00')
-/ModDate (D:20230822113257+12'00')
+/Author(\376\377\000A\000n\000d\000r\000e\000w\000\040\000P\000a\000r\000s\000l\000o\000e\000,\000\040\000\050\000`\000\040\000`\000\045\000%\000%\000`\000\043\000`\000\046\0001\0002\000\137\000`\000\137\000\137\000~\000~\000~\tru\000e\000\051)/Title(\376\377\000n\000u\000m\000e\000r\000i\000c\000a\000-\000t\000a\000b\000l\000e\000s\000\040\000\040\000v\000e\000r\000s\000i\000o\000n\000\040\0003\000.\0001\000.\0000)/Subject()/Creator(LaTeX with hyperref)/Keywords()
+/CreationDate (D:20230906080207+12'00')
+/ModDate (D:20230906080207+12'00')
/Trapped /False
/PTEX.Fullbanner (This is MiKTeX-pdfTeX 4.15.0 (1.40.25))
>>
endobj
xref
-0 761
+0 1020
0000000000 65535 f
0000000015 00000 n
-0000032575 00000 n
-0000686796 00000 n
+0000033530 00000 n
+0000753815 00000 n
0000000060 00000 n
0000000159 00000 n
-0000032635 00000 n
-0000686726 00000 n
+0000033590 00000 n
+0000753745 00000 n
0000000206 00000 n
0000000333 00000 n
-0000036151 00000 n
-0000686655 00000 n
+0000037221 00000 n
+0000753674 00000 n
0000000380 00000 n
0000000498 00000 n
-0000041145 00000 n
-0000686529 00000 n
+0000042087 00000 n
+0000753548 00000 n
0000000544 00000 n
0000000695 00000 n
-0000041206 00000 n
-0000686419 00000 n
+0000042148 00000 n
+0000753438 00000 n
0000000743 00000 n
0000000901 00000 n
-0000041267 00000 n
-0000686345 00000 n
+0000042209 00000 n
+0000753364 00000 n
0000000954 00000 n
0000001223 00000 n
-0000048084 00000 n
-0000686221 00000 n
+0000049022 00000 n
+0000753240 00000 n
0000001276 00000 n
0000001568 00000 n
-0000051361 00000 n
-0000686147 00000 n
+0000052320 00000 n
+0000753166 00000 n
0000001626 00000 n
0000001721 00000 n
-0000051422 00000 n
-0000686073 00000 n
+0000052381 00000 n
+0000753092 00000 n
0000001779 00000 n
-0000001950 00000 n
-0000058358 00000 n
-0000685949 00000 n
-0000002003 00000 n
-0000002219 00000 n
-0000058419 00000 n
-0000685875 00000 n
-0000002277 00000 n
-0000002430 00000 n
-0000061030 00000 n
-0000685788 00000 n
-0000002488 00000 n
-0000002646 00000 n
-0000063848 00000 n
-0000685701 00000 n
-0000002704 00000 n
-0000002832 00000 n
-0000063909 00000 n
-0000685614 00000 n
-0000002890 00000 n
-0000003096 00000 n
-0000066768 00000 n
-0000685527 00000 n
-0000003154 00000 n
-0000003368 00000 n
-0000066829 00000 n
-0000685440 00000 n
-0000003426 00000 n
-0000003643 00000 n
-0000070107 00000 n
-0000685353 00000 n
-0000003701 00000 n
-0000003892 00000 n
-0000070168 00000 n
-0000685279 00000 n
-0000003950 00000 n
-0000004161 00000 n
-0000073117 00000 n
-0000685205 00000 n
-0000004214 00000 n
-0000004430 00000 n
-0000073178 00000 n
-0000685081 00000 n
-0000004478 00000 n
-0000004651 00000 n
-0000079110 00000 n
-0000684982 00000 n
-0000004704 00000 n
-0000004890 00000 n
-0000079171 00000 n
-0000684908 00000 n
-0000004948 00000 n
-0000005187 00000 n
-0000083315 00000 n
-0000684821 00000 n
-0000005245 00000 n
-0000005479 00000 n
-0000085610 00000 n
-0000684734 00000 n
-0000005537 00000 n
-0000005743 00000 n
-0000088565 00000 n
-0000684645 00000 n
-0000005801 00000 n
-0000005960 00000 n
-0000088626 00000 n
-0000684554 00000 n
-0000006019 00000 n
-0000006239 00000 n
-0000091505 00000 n
-0000684476 00000 n
-0000006298 00000 n
-0000006457 00000 n
-0000094502 00000 n
-0000684385 00000 n
-0000006506 00000 n
-0000006752 00000 n
-0000098045 00000 n
-0000684255 00000 n
-0000006801 00000 n
-0000006980 00000 n
-0000098107 00000 n
-0000684176 00000 n
-0000007034 00000 n
-0000007307 00000 n
-0000103764 00000 n
-0000684083 00000 n
-0000007361 00000 n
-0000007592 00000 n
-0000107810 00000 n
-0000683990 00000 n
-0000007646 00000 n
-0000007833 00000 n
-0000107872 00000 n
-0000683858 00000 n
-0000007887 00000 n
-0000008042 00000 n
-0000107934 00000 n
-0000683793 00000 n
-0000008101 00000 n
-0000008255 00000 n
-0000107996 00000 n
-0000683700 00000 n
-0000008309 00000 n
-0000008491 00000 n
-0000115128 00000 n
-0000683607 00000 n
-0000008545 00000 n
-0000008785 00000 n
-0000118172 00000 n
-0000683475 00000 n
-0000008839 00000 n
-0000009072 00000 n
-0000121369 00000 n
-0000683410 00000 n
-0000009131 00000 n
-0000009392 00000 n
-0000124714 00000 n
-0000683292 00000 n
-0000009446 00000 n
-0000009585 00000 n
-0000124776 00000 n
-0000683227 00000 n
-0000009644 00000 n
-0000009808 00000 n
-0000127619 00000 n
-0000683097 00000 n
-0000009857 00000 n
-0000010039 00000 n
-0000127681 00000 n
-0000682979 00000 n
-0000010093 00000 n
-0000010290 00000 n
-0000127742 00000 n
-0000682900 00000 n
-0000010349 00000 n
-0000010523 00000 n
-0000130746 00000 n
-0000682807 00000 n
-0000010582 00000 n
-0000010751 00000 n
-0000130808 00000 n
-0000682714 00000 n
-0000010810 00000 n
-0000010947 00000 n
-0000133364 00000 n
-0000682635 00000 n
-0000011006 00000 n
-0000011227 00000 n
-0000133426 00000 n
-0000682542 00000 n
-0000011281 00000 n
-0000011478 00000 n
-0000138232 00000 n
-0000682449 00000 n
-0000011532 00000 n
-0000011686 00000 n
-0000145157 00000 n
-0000682331 00000 n
-0000011740 00000 n
-0000011996 00000 n
-0000148491 00000 n
-0000682266 00000 n
-0000012055 00000 n
-0000012265 00000 n
-0000151397 00000 n
-0000682150 00000 n
-0000012314 00000 n
-0000012433 00000 n
-0000151459 00000 n
-0000682071 00000 n
-0000012487 00000 n
-0000012583 00000 n
-0000154049 00000 n
-0000681978 00000 n
-0000012637 00000 n
-0000012812 00000 n
-0000157677 00000 n
-0000681899 00000 n
-0000012866 00000 n
-0000013046 00000 n
-0000159612 00000 n
-0000681783 00000 n
-0000013093 00000 n
-0000013222 00000 n
-0000159674 00000 n
-0000681704 00000 n
-0000013271 00000 n
-0000013506 00000 n
-0000159736 00000 n
-0000681625 00000 n
-0000013555 00000 n
-0000013740 00000 n
-0000014131 00000 n
-0000014263 00000 n
-0000014553 00000 n
-0000013790 00000 n
-0000014430 00000 n
-0000014491 00000 n
-0000662143 00000 n
-0000649726 00000 n
-0000680246 00000 n
-0000015316 00000 n
-0000015204 00000 n
-0000014638 00000 n
-0000645214 00000 n
-0000648596 00000 n
-0000661013 00000 n
-0000017180 00000 n
-0000017068 00000 n
-0000015414 00000 n
-0000678112 00000 n
-0000651982 00000 n
-0000655368 00000 n
-0000019255 00000 n
-0000019406 00000 n
-0000019559 00000 n
-0000019713 00000 n
-0000019865 00000 n
-0000020019 00000 n
-0000020176 00000 n
-0000020334 00000 n
-0000020498 00000 n
-0000020662 00000 n
-0000020820 00000 n
-0000020983 00000 n
-0000021147 00000 n
-0000021309 00000 n
-0000021472 00000 n
-0000021635 00000 n
-0000021799 00000 n
-0000021962 00000 n
-0000022126 00000 n
-0000022283 00000 n
-0000022437 00000 n
-0000022595 00000 n
-0000022759 00000 n
-0000022923 00000 n
-0000023087 00000 n
-0000023251 00000 n
-0000023415 00000 n
-0000023578 00000 n
-0000023731 00000 n
-0000023884 00000 n
-0000024042 00000 n
-0000024200 00000 n
-0000024358 00000 n
-0000026438 00000 n
-0000024638 00000 n
-0000018867 00000 n
-0000017317 00000 n
-0000024515 00000 n
-0000024576 00000 n
-0000646343 00000 n
-0000659884 00000 n
-0000026602 00000 n
-0000026760 00000 n
-0000026918 00000 n
-0000027076 00000 n
-0000027240 00000 n
-0000027398 00000 n
-0000027562 00000 n
-0000027716 00000 n
-0000027874 00000 n
-0000028038 00000 n
-0000028202 00000 n
-0000028366 00000 n
-0000028530 00000 n
-0000028688 00000 n
-0000028846 00000 n
-0000029004 00000 n
-0000029168 00000 n
-0000029322 00000 n
-0000029480 00000 n
-0000029638 00000 n
-0000029796 00000 n
-0000029948 00000 n
-0000030101 00000 n
-0000030315 00000 n
-0000026122 00000 n
-0000024762 00000 n
-0000030254 00000 n
-0000032695 00000 n
-0000032402 00000 n
-0000030426 00000 n
-0000032514 00000 n
-0000035617 00000 n
-0000035779 00000 n
-0000035931 00000 n
-0000036520 00000 n
-0000035469 00000 n
-0000032806 00000 n
-0000036090 00000 n
-0000036212 00000 n
-0000036274 00000 n
-0000036335 00000 n
-0000036396 00000 n
-0000036458 00000 n
-0000680363 00000 n
-0000038432 00000 n
-0000038259 00000 n
-0000036644 00000 n
-0000038371 00000 n
-0000665271 00000 n
-0000040472 00000 n
-0000040626 00000 n
-0000040778 00000 n
-0000040930 00000 n
-0000044765 00000 n
-0000041390 00000 n
-0000040316 00000 n
-0000038543 00000 n
-0000041084 00000 n
-0000041328 00000 n
-0000654238 00000 n
-0000664400 00000 n
-0000044924 00000 n
-0000045143 00000 n
-0000044625 00000 n
-0000041540 00000 n
-0000045082 00000 n
-0000673402 00000 n
-0000669840 00000 n
-0000048207 00000 n
-0000047911 00000 n
-0000045293 00000 n
-0000048023 00000 n
-0000675895 00000 n
-0000048145 00000 n
-0000051483 00000 n
-0000051188 00000 n
-0000048409 00000 n
-0000051300 00000 n
-0000057660 00000 n
-0000057819 00000 n
-0000053955 00000 n
-0000053782 00000 n
-0000051646 00000 n
-0000053894 00000 n
-0000667021 00000 n
-0000680480 00000 n
-0000057983 00000 n
-0000058147 00000 n
-0000058480 00000 n
-0000057504 00000 n
-0000054105 00000 n
-0000058297 00000 n
-0000060969 00000 n
-0000061091 00000 n
-0000060796 00000 n
-0000058643 00000 n
-0000060908 00000 n
-0000063970 00000 n
-0000063675 00000 n
-0000061267 00000 n
-0000063787 00000 n
-0000668774 00000 n
-0000672158 00000 n
-0000066890 00000 n
-0000066595 00000 n
-0000064160 00000 n
-0000066707 00000 n
-0000069412 00000 n
-0000069571 00000 n
-0000069725 00000 n
-0000069884 00000 n
-0000070229 00000 n
-0000069256 00000 n
-0000067093 00000 n
-0000070046 00000 n
-0000674649 00000 n
-0000666147 00000 n
-0000072903 00000 n
-0000073238 00000 n
-0000072771 00000 n
-0000070431 00000 n
-0000073056 00000 n
-0000680597 00000 n
-0000076427 00000 n
-0000076193 00000 n
-0000073401 00000 n
-0000076305 00000 n
-0000076366 00000 n
-0000078891 00000 n
-0000082767 00000 n
-0000082926 00000 n
-0000079294 00000 n
-0000078759 00000 n
-0000076603 00000 n
-0000079049 00000 n
-0000079232 00000 n
-0000083090 00000 n
-0000083376 00000 n
-0000082619 00000 n
-0000079457 00000 n
-0000083254 00000 n
-0000085671 00000 n
-0000085437 00000 n
-0000083539 00000 n
-0000085549 00000 n
-0000088345 00000 n
-0000088688 00000 n
-0000088213 00000 n
-0000085834 00000 n
-0000088504 00000 n
-0000091567 00000 n
-0000091332 00000 n
-0000088851 00000 n
-0000091444 00000 n
-0000680714 00000 n
-0000094282 00000 n
-0000097666 00000 n
-0000094564 00000 n
-0000094150 00000 n
-0000091730 00000 n
-0000094441 00000 n
-0000097825 00000 n
-0000098168 00000 n
-0000097526 00000 n
-0000094714 00000 n
-0000097984 00000 n
-0000100580 00000 n
-0000100861 00000 n
-0000100448 00000 n
-0000098331 00000 n
-0000100738 00000 n
-0000100799 00000 n
-0000107426 00000 n
-0000103826 00000 n
-0000103591 00000 n
-0000101011 00000 n
-0000103703 00000 n
-0000670906 00000 n
-0000107590 00000 n
-0000111404 00000 n
-0000108058 00000 n
-0000107286 00000 n
-0000104028 00000 n
-0000107749 00000 n
-0000111556 00000 n
-0000111830 00000 n
-0000111264 00000 n
-0000108247 00000 n
-0000111707 00000 n
-0000111768 00000 n
-0000667896 00000 n
-0000677141 00000 n
-0000680831 00000 n
-0000114752 00000 n
-0000114914 00000 n
-0000115190 00000 n
-0000114612 00000 n
-0000111969 00000 n
-0000115067 00000 n
-0000679086 00000 n
-0000118234 00000 n
-0000117999 00000 n
-0000115367 00000 n
-0000118111 00000 n
-0000121431 00000 n
-0000121134 00000 n
-0000118424 00000 n
-0000121246 00000 n
-0000121307 00000 n
-0000124340 00000 n
-0000124494 00000 n
-0000124838 00000 n
-0000124200 00000 n
-0000121594 00000 n
-0000124653 00000 n
-0000127332 00000 n
-0000127804 00000 n
-0000127200 00000 n
-0000125014 00000 n
-0000127496 00000 n
-0000127557 00000 n
-0000130521 00000 n
-0000130870 00000 n
-0000130389 00000 n
-0000127993 00000 n
-0000130685 00000 n
-0000680948 00000 n
-0000133488 00000 n
-0000133191 00000 n
-0000131112 00000 n
-0000133303 00000 n
-0000135886 00000 n
-0000135713 00000 n
-0000133677 00000 n
-0000135825 00000 n
-0000138294 00000 n
-0000138059 00000 n
-0000136049 00000 n
-0000138171 00000 n
-0000140939 00000 n
-0000140766 00000 n
-0000138470 00000 n
-0000140878 00000 n
-0000144944 00000 n
-0000145281 00000 n
-0000144812 00000 n
-0000141089 00000 n
-0000145096 00000 n
-0000656497 00000 n
-0000650855 00000 n
-0000145219 00000 n
-0000653110 00000 n
-0000663272 00000 n
-0000148122 00000 n
-0000148276 00000 n
-0000148614 00000 n
-0000147982 00000 n
-0000145526 00000 n
-0000148430 00000 n
-0000148553 00000 n
-0000657624 00000 n
-0000681065 00000 n
-0000151521 00000 n
-0000151100 00000 n
-0000148832 00000 n
-0000151212 00000 n
-0000151273 00000 n
-0000658753 00000 n
-0000151335 00000 n
-0000154111 00000 n
-0000153876 00000 n
-0000151737 00000 n
-0000153988 00000 n
-0000156025 00000 n
-0000155852 00000 n
-0000154275 00000 n
-0000155964 00000 n
-0000157738 00000 n
-0000157504 00000 n
-0000156149 00000 n
-0000157616 00000 n
-0000647471 00000 n
-0000159233 00000 n
-0000159392 00000 n
-0000161702 00000 n
-0000159920 00000 n
-0000159093 00000 n
-0000157889 00000 n
-0000159551 00000 n
-0000159796 00000 n
-0000159858 00000 n
-0000161860 00000 n
-0000162013 00000 n
-0000162418 00000 n
-0000161554 00000 n
-0000160070 00000 n
-0000162172 00000 n
-0000162233 00000 n
-0000680057 00000 n
-0000162295 00000 n
-0000162357 00000 n
-0000681182 00000 n
-0000164090 00000 n
-0000164243 00000 n
-0000164642 00000 n
-0000163950 00000 n
-0000162543 00000 n
-0000164396 00000 n
-0000164457 00000 n
-0000164519 00000 n
-0000164581 00000 n
-0000644174 00000 n
-0000164779 00000 n
-0000643063 00000 n
-0000164802 00000 n
-0000164827 00000 n
-0000165374 00000 n
-0000165529 00000 n
-0000165970 00000 n
-0000166591 00000 n
-0000166622 00000 n
-0000166647 00000 n
-0000643927 00000 n
-0000166670 00000 n
-0000643561 00000 n
-0000166713 00000 n
-0000643733 00000 n
-0000166738 00000 n
-0000166763 00000 n
-0000166788 00000 n
-0000166867 00000 n
-0000166918 00000 n
-0000166941 00000 n
-0000167533 00000 n
-0000167612 00000 n
-0000168260 00000 n
-0000168933 00000 n
-0000169324 00000 n
-0000169890 00000 n
-0000170513 00000 n
-0000170876 00000 n
-0000171433 00000 n
-0000172039 00000 n
-0000172446 00000 n
-0000172795 00000 n
-0000173186 00000 n
-0000173951 00000 n
-0000174727 00000 n
-0000175169 00000 n
-0000175622 00000 n
-0000205606 00000 n
-0000206000 00000 n
-0000235793 00000 n
-0000236190 00000 n
-0000255582 00000 n
-0000255812 00000 n
-0000262542 00000 n
-0000262850 00000 n
-0000265227 00000 n
-0000265466 00000 n
-0000268303 00000 n
-0000268548 00000 n
-0000270946 00000 n
-0000271186 00000 n
-0000273708 00000 n
-0000273944 00000 n
-0000311762 00000 n
-0000312390 00000 n
-0000335797 00000 n
-0000336109 00000 n
-0000357165 00000 n
-0000357435 00000 n
-0000372387 00000 n
-0000372625 00000 n
-0000395590 00000 n
-0000395878 00000 n
-0000422147 00000 n
-0000422450 00000 n
-0000450923 00000 n
-0000451331 00000 n
-0000471650 00000 n
-0000471983 00000 n
-0000478421 00000 n
-0000478654 00000 n
-0000490832 00000 n
-0000491081 00000 n
-0000509272 00000 n
-0000509582 00000 n
-0000513669 00000 n
-0000514021 00000 n
-0000516712 00000 n
-0000516954 00000 n
-0000543643 00000 n
-0000544000 00000 n
-0000575494 00000 n
-0000576090 00000 n
-0000596490 00000 n
-0000596768 00000 n
-0000617471 00000 n
-0000617736 00000 n
-0000642628 00000 n
-0000644274 00000 n
-0000645403 00000 n
-0000646532 00000 n
-0000647658 00000 n
-0000648788 00000 n
-0000649918 00000 n
-0000651045 00000 n
-0000652173 00000 n
-0000653301 00000 n
-0000654429 00000 n
-0000655559 00000 n
-0000656686 00000 n
-0000657814 00000 n
-0000658944 00000 n
-0000660074 00000 n
-0000661204 00000 n
-0000662334 00000 n
-0000663462 00000 n
-0000664590 00000 n
-0000665468 00000 n
-0000666342 00000 n
-0000667217 00000 n
-0000668091 00000 n
-0000668969 00000 n
-0000670037 00000 n
-0000671100 00000 n
-0000672346 00000 n
-0000673593 00000 n
-0000674839 00000 n
-0000676085 00000 n
-0000677331 00000 n
-0000678304 00000 n
-0000679276 00000 n
-0000681267 00000 n
-0000681385 00000 n
-0000681479 00000 n
-0000681549 00000 n
-0000686903 00000 n
-0000687081 00000 n
-0000687256 00000 n
-0000687424 00000 n
-0000687592 00000 n
-0000687762 00000 n
-0000687931 00000 n
-0000688101 00000 n
-0000688270 00000 n
-0000688440 00000 n
-0000688604 00000 n
-0000688802 00000 n
-0000688996 00000 n
-0000689195 00000 n
-0000689414 00000 n
-0000689654 00000 n
-0000689896 00000 n
-0000690147 00000 n
-0000690423 00000 n
-0000690699 00000 n
-0000690980 00000 n
-0000691238 00000 n
-0000691424 00000 n
-0000691510 00000 n
-0000691621 00000 n
-0000691734 00000 n
-0000691861 00000 n
-0000691978 00000 n
-0000692075 00000 n
-0000692113 00000 n
-0000692290 00000 n
+0000001958 00000 n
+0000059332 00000 n
+0000752968 00000 n
+0000002011 00000 n
+0000002284 00000 n
+0000059393 00000 n
+0000752894 00000 n
+0000002342 00000 n
+0000002495 00000 n
+0000062061 00000 n
+0000752807 00000 n
+0000002553 00000 n
+0000002681 00000 n
+0000062122 00000 n
+0000752720 00000 n
+0000002739 00000 n
+0000002897 00000 n
+0000064950 00000 n
+0000752633 00000 n
+0000002955 00000 n
+0000003161 00000 n
+0000067828 00000 n
+0000752546 00000 n
+0000003219 00000 n
+0000003433 00000 n
+0000067889 00000 n
+0000752459 00000 n
+0000003491 00000 n
+0000003708 00000 n
+0000071177 00000 n
+0000752372 00000 n
+0000003766 00000 n
+0000003957 00000 n
+0000071238 00000 n
+0000752298 00000 n
+0000004015 00000 n
+0000004226 00000 n
+0000074187 00000 n
+0000752224 00000 n
+0000004279 00000 n
+0000004495 00000 n
+0000074248 00000 n
+0000752100 00000 n
+0000004543 00000 n
+0000004716 00000 n
+0000080166 00000 n
+0000752001 00000 n
+0000004769 00000 n
+0000004955 00000 n
+0000080227 00000 n
+0000751927 00000 n
+0000005013 00000 n
+0000005186 00000 n
+0000084362 00000 n
+0000751840 00000 n
+0000005244 00000 n
+0000005460 00000 n
+0000086672 00000 n
+0000751753 00000 n
+0000005518 00000 n
+0000005724 00000 n
+0000089620 00000 n
+0000751664 00000 n
+0000005782 00000 n
+0000005941 00000 n
+0000089681 00000 n
+0000751573 00000 n
+0000006000 00000 n
+0000006235 00000 n
+0000092568 00000 n
+0000751495 00000 n
+0000006294 00000 n
+0000006453 00000 n
+0000095556 00000 n
+0000751404 00000 n
+0000006502 00000 n
+0000006748 00000 n
+0000099175 00000 n
+0000751274 00000 n
+0000006797 00000 n
+0000006976 00000 n
+0000099237 00000 n
+0000751195 00000 n
+0000007030 00000 n
+0000007303 00000 n
+0000104882 00000 n
+0000751102 00000 n
+0000007357 00000 n
+0000007588 00000 n
+0000108847 00000 n
+0000751009 00000 n
+0000007642 00000 n
+0000007829 00000 n
+0000108909 00000 n
+0000750877 00000 n
+0000007883 00000 n
+0000008038 00000 n
+0000108971 00000 n
+0000750812 00000 n
+0000008097 00000 n
+0000008251 00000 n
+0000109033 00000 n
+0000750719 00000 n
+0000008305 00000 n
+0000008487 00000 n
+0000116543 00000 n
+0000750626 00000 n
+0000008541 00000 n
+0000008784 00000 n
+0000119620 00000 n
+0000750494 00000 n
+0000008838 00000 n
+0000009071 00000 n
+0000122817 00000 n
+0000750429 00000 n
+0000009130 00000 n
+0000009391 00000 n
+0000126169 00000 n
+0000750311 00000 n
+0000009445 00000 n
+0000009584 00000 n
+0000126231 00000 n
+0000750246 00000 n
+0000009643 00000 n
+0000009807 00000 n
+0000129144 00000 n
+0000750116 00000 n
+0000009856 00000 n
+0000010038 00000 n
+0000129206 00000 n
+0000749998 00000 n
+0000010092 00000 n
+0000010289 00000 n
+0000129268 00000 n
+0000749919 00000 n
+0000010348 00000 n
+0000010522 00000 n
+0000132431 00000 n
+0000749840 00000 n
+0000010581 00000 n
+0000010750 00000 n
+0000134968 00000 n
+0000749708 00000 n
+0000010804 00000 n
+0000010931 00000 n
+0000135030 00000 n
+0000749643 00000 n
+0000010990 00000 n
+0000011211 00000 n
+0000139801 00000 n
+0000749550 00000 n
+0000011265 00000 n
+0000011533 00000 n
+0000143277 00000 n
+0000749457 00000 n
+0000011587 00000 n
+0000011787 00000 n
+0000145891 00000 n
+0000749364 00000 n
+0000011841 00000 n
+0000011995 00000 n
+0000149721 00000 n
+0000749246 00000 n
+0000012049 00000 n
+0000012305 00000 n
+0000153323 00000 n
+0000749181 00000 n
+0000012364 00000 n
+0000012574 00000 n
+0000159222 00000 n
+0000749065 00000 n
+0000012623 00000 n
+0000012742 00000 n
+0000159284 00000 n
+0000748986 00000 n
+0000012796 00000 n
+0000012892 00000 n
+0000161864 00000 n
+0000748893 00000 n
+0000012946 00000 n
+0000013121 00000 n
+0000164383 00000 n
+0000748814 00000 n
+0000013175 00000 n
+0000013355 00000 n
+0000166990 00000 n
+0000748684 00000 n
+0000013402 00000 n
+0000013531 00000 n
+0000167052 00000 n
+0000748605 00000 n
+0000013580 00000 n
+0000013815 00000 n
+0000167114 00000 n
+0000748526 00000 n
+0000013864 00000 n
+0000014049 00000 n
+0000191998 00000 n
+0000748447 00000 n
+0000014098 00000 n
+0000014151 00000 n
+0000014545 00000 n
+0000014677 00000 n
+0000014967 00000 n
+0000014201 00000 n
+0000014844 00000 n
+0000014905 00000 n
+0000728930 00000 n
+0000715385 00000 n
+0000747036 00000 n
+0000015730 00000 n
+0000015618 00000 n
+0000015052 00000 n
+0000710873 00000 n
+0000714255 00000 n
+0000727800 00000 n
+0000017754 00000 n
+0000017642 00000 n
+0000015828 00000 n
+0000744902 00000 n
+0000717641 00000 n
+0000721027 00000 n
+0000019857 00000 n
+0000020008 00000 n
+0000020161 00000 n
+0000020315 00000 n
+0000020467 00000 n
+0000020621 00000 n
+0000020778 00000 n
+0000020936 00000 n
+0000021100 00000 n
+0000021264 00000 n
+0000021422 00000 n
+0000021585 00000 n
+0000021747 00000 n
+0000021909 00000 n
+0000022072 00000 n
+0000022235 00000 n
+0000022399 00000 n
+0000022562 00000 n
+0000022726 00000 n
+0000022883 00000 n
+0000023037 00000 n
+0000023195 00000 n
+0000023359 00000 n
+0000023523 00000 n
+0000023687 00000 n
+0000023851 00000 n
+0000024015 00000 n
+0000024178 00000 n
+0000024331 00000 n
+0000024484 00000 n
+0000024642 00000 n
+0000024800 00000 n
+0000024958 00000 n
+0000027093 00000 n
+0000025238 00000 n
+0000019469 00000 n
+0000017891 00000 n
+0000025115 00000 n
+0000025176 00000 n
+0000712002 00000 n
+0000726671 00000 n
+0000027257 00000 n
+0000027415 00000 n
+0000027573 00000 n
+0000027731 00000 n
+0000027895 00000 n
+0000028053 00000 n
+0000028217 00000 n
+0000028371 00000 n
+0000028529 00000 n
+0000028693 00000 n
+0000028857 00000 n
+0000029015 00000 n
+0000029179 00000 n
+0000029337 00000 n
+0000029490 00000 n
+0000029648 00000 n
+0000029806 00000 n
+0000029970 00000 n
+0000030124 00000 n
+0000030282 00000 n
+0000030440 00000 n
+0000030598 00000 n
+0000030749 00000 n
+0000030902 00000 n
+0000031056 00000 n
+0000031271 00000 n
+0000026761 00000 n
+0000025362 00000 n
+0000031210 00000 n
+0000033650 00000 n
+0000033357 00000 n
+0000031382 00000 n
+0000033469 00000 n
+0000036688 00000 n
+0000036850 00000 n
+0000037002 00000 n
+0000037591 00000 n
+0000036540 00000 n
+0000033761 00000 n
+0000037160 00000 n
+0000037282 00000 n
+0000037344 00000 n
+0000037405 00000 n
+0000037467 00000 n
+0000037529 00000 n
+0000747153 00000 n
+0000039371 00000 n
+0000039198 00000 n
+0000037715 00000 n
+0000039310 00000 n
+0000732058 00000 n
+0000041414 00000 n
+0000041568 00000 n
+0000041720 00000 n
+0000041872 00000 n
+0000045706 00000 n
+0000042332 00000 n
+0000041258 00000 n
+0000039482 00000 n
+0000042026 00000 n
+0000042270 00000 n
+0000719897 00000 n
+0000731187 00000 n
+0000045865 00000 n
+0000046084 00000 n
+0000045566 00000 n
+0000042482 00000 n
+0000046023 00000 n
+0000740192 00000 n
+0000736629 00000 n
+0000049145 00000 n
+0000048849 00000 n
+0000046234 00000 n
+0000048961 00000 n
+0000742685 00000 n
+0000049083 00000 n
+0000052442 00000 n
+0000052147 00000 n
+0000049347 00000 n
+0000052259 00000 n
+0000058635 00000 n
+0000058793 00000 n
+0000054915 00000 n
+0000054742 00000 n
+0000052605 00000 n
+0000054854 00000 n
+0000733809 00000 n
+0000747270 00000 n
+0000058957 00000 n
+0000059121 00000 n
+0000059454 00000 n
+0000058479 00000 n
+0000055065 00000 n
+0000059271 00000 n
+0000062000 00000 n
+0000062183 00000 n
+0000061827 00000 n
+0000059617 00000 n
+0000061939 00000 n
+0000065011 00000 n
+0000064777 00000 n
+0000062359 00000 n
+0000064889 00000 n
+0000735563 00000 n
+0000738948 00000 n
+0000067950 00000 n
+0000067655 00000 n
+0000065201 00000 n
+0000067767 00000 n
+0000070482 00000 n
+0000070641 00000 n
+0000070795 00000 n
+0000070954 00000 n
+0000071299 00000 n
+0000070326 00000 n
+0000068153 00000 n
+0000071116 00000 n
+0000741439 00000 n
+0000732934 00000 n
+0000073973 00000 n
+0000074308 00000 n
+0000073841 00000 n
+0000071501 00000 n
+0000074126 00000 n
+0000747387 00000 n
+0000077506 00000 n
+0000077272 00000 n
+0000074471 00000 n
+0000077384 00000 n
+0000077445 00000 n
+0000079947 00000 n
+0000083814 00000 n
+0000083973 00000 n
+0000080350 00000 n
+0000079815 00000 n
+0000077682 00000 n
+0000080105 00000 n
+0000080288 00000 n
+0000084137 00000 n
+0000084423 00000 n
+0000083666 00000 n
+0000080513 00000 n
+0000084301 00000 n
+0000086733 00000 n
+0000086499 00000 n
+0000084599 00000 n
+0000086611 00000 n
+0000089406 00000 n
+0000089743 00000 n
+0000089274 00000 n
+0000086896 00000 n
+0000089559 00000 n
+0000137735 00000 n
+0000092630 00000 n
+0000092395 00000 n
+0000089906 00000 n
+0000092507 00000 n
+0000747504 00000 n
+0000095336 00000 n
+0000098796 00000 n
+0000095618 00000 n
+0000095204 00000 n
+0000092793 00000 n
+0000095495 00000 n
+0000098955 00000 n
+0000099299 00000 n
+0000098656 00000 n
+0000095768 00000 n
+0000099114 00000 n
+0000101696 00000 n
+0000101977 00000 n
+0000101564 00000 n
+0000099462 00000 n
+0000101854 00000 n
+0000101915 00000 n
+0000108463 00000 n
+0000104944 00000 n
+0000104709 00000 n
+0000102127 00000 n
+0000104821 00000 n
+0000737695 00000 n
+0000108627 00000 n
+0000112483 00000 n
+0000109095 00000 n
+0000108323 00000 n
+0000105146 00000 n
+0000108786 00000 n
+0000112635 00000 n
+0000112908 00000 n
+0000112343 00000 n
+0000109284 00000 n
+0000112785 00000 n
+0000112846 00000 n
+0000734684 00000 n
+0000743931 00000 n
+0000747621 00000 n
+0000116169 00000 n
+0000116330 00000 n
+0000116604 00000 n
+0000116029 00000 n
+0000113047 00000 n
+0000116482 00000 n
+0000745876 00000 n
+0000119682 00000 n
+0000119447 00000 n
+0000116794 00000 n
+0000119559 00000 n
+0000122879 00000 n
+0000122582 00000 n
+0000119885 00000 n
+0000122694 00000 n
+0000122755 00000 n
+0000125795 00000 n
+0000125949 00000 n
+0000126293 00000 n
+0000125655 00000 n
+0000123042 00000 n
+0000126108 00000 n
+0000128857 00000 n
+0000129330 00000 n
+0000128725 00000 n
+0000126469 00000 n
+0000129021 00000 n
+0000129082 00000 n
+0000132211 00000 n
+0000132492 00000 n
+0000132079 00000 n
+0000129519 00000 n
+0000132370 00000 n
+0000747738 00000 n
+0000135092 00000 n
+0000134795 00000 n
+0000132734 00000 n
+0000134907 00000 n
+0000137797 00000 n
+0000137562 00000 n
+0000135307 00000 n
+0000137674 00000 n
+0000139863 00000 n
+0000139628 00000 n
+0000137986 00000 n
+0000139740 00000 n
+0000143053 00000 n
+0000143339 00000 n
+0000142921 00000 n
+0000140026 00000 n
+0000143216 00000 n
+0000145953 00000 n
+0000145718 00000 n
+0000143528 00000 n
+0000145830 00000 n
+0000149507 00000 n
+0000149844 00000 n
+0000149375 00000 n
+0000146142 00000 n
+0000149660 00000 n
+0000722156 00000 n
+0000716514 00000 n
+0000149782 00000 n
+0000718769 00000 n
+0000730059 00000 n
+0000747855 00000 n
+0000153385 00000 n
+0000153150 00000 n
+0000150089 00000 n
+0000153262 00000 n
+0000156513 00000 n
+0000156667 00000 n
+0000157067 00000 n
+0000156373 00000 n
+0000153574 00000 n
+0000156821 00000 n
+0000156882 00000 n
+0000725540 00000 n
+0000156943 00000 n
+0000157005 00000 n
+0000723283 00000 n
+0000159346 00000 n
+0000159049 00000 n
+0000157286 00000 n
+0000159161 00000 n
+0000161926 00000 n
+0000161691 00000 n
+0000159509 00000 n
+0000161803 00000 n
+0000164445 00000 n
+0000164210 00000 n
+0000162090 00000 n
+0000164322 00000 n
+0000713130 00000 n
+0000165163 00000 n
+0000164990 00000 n
+0000164609 00000 n
+0000165102 00000 n
+0000747972 00000 n
+0000166611 00000 n
+0000166770 00000 n
+0000169097 00000 n
+0000167298 00000 n
+0000166471 00000 n
+0000165261 00000 n
+0000166929 00000 n
+0000167174 00000 n
+0000167236 00000 n
+0000169255 00000 n
+0000169409 00000 n
+0000169814 00000 n
+0000168949 00000 n
+0000167448 00000 n
+0000169568 00000 n
+0000169629 00000 n
+0000746847 00000 n
+0000169691 00000 n
+0000169752 00000 n
+0000171449 00000 n
+0000171602 00000 n
+0000172002 00000 n
+0000171309 00000 n
+0000169939 00000 n
+0000171755 00000 n
+0000171816 00000 n
+0000171878 00000 n
+0000171940 00000 n
+0000174753 00000 n
+0000174902 00000 n
+0000175052 00000 n
+0000175202 00000 n
+0000175350 00000 n
+0000175500 00000 n
+0000175650 00000 n
+0000175800 00000 n
+0000175949 00000 n
+0000176099 00000 n
+0000176249 00000 n
+0000176399 00000 n
+0000176548 00000 n
+0000176697 00000 n
+0000176847 00000 n
+0000176996 00000 n
+0000177144 00000 n
+0000177294 00000 n
+0000177443 00000 n
+0000177593 00000 n
+0000177742 00000 n
+0000177892 00000 n
+0000178042 00000 n
+0000178191 00000 n
+0000178340 00000 n
+0000178487 00000 n
+0000178635 00000 n
+0000178784 00000 n
+0000178933 00000 n
+0000179082 00000 n
+0000179232 00000 n
+0000179382 00000 n
+0000179532 00000 n
+0000179682 00000 n
+0000179832 00000 n
+0000179982 00000 n
+0000180132 00000 n
+0000180282 00000 n
+0000180432 00000 n
+0000180581 00000 n
+0000180731 00000 n
+0000180880 00000 n
+0000181030 00000 n
+0000181178 00000 n
+0000181327 00000 n
+0000181477 00000 n
+0000181625 00000 n
+0000181774 00000 n
+0000181922 00000 n
+0000182072 00000 n
+0000182222 00000 n
+0000182372 00000 n
+0000182522 00000 n
+0000182672 00000 n
+0000182821 00000 n
+0000182971 00000 n
+0000183121 00000 n
+0000183271 00000 n
+0000183420 00000 n
+0000183570 00000 n
+0000183719 00000 n
+0000183868 00000 n
+0000184016 00000 n
+0000184166 00000 n
+0000184315 00000 n
+0000184465 00000 n
+0000184615 00000 n
+0000184765 00000 n
+0000184915 00000 n
+0000185062 00000 n
+0000185211 00000 n
+0000185361 00000 n
+0000185511 00000 n
+0000185661 00000 n
+0000185811 00000 n
+0000185960 00000 n
+0000186110 00000 n
+0000186260 00000 n
+0000186410 00000 n
+0000186560 00000 n
+0000186710 00000 n
+0000186859 00000 n
+0000187009 00000 n
+0000187159 00000 n
+0000187309 00000 n
+0000187459 00000 n
+0000187607 00000 n
+0000187755 00000 n
+0000187904 00000 n
+0000188054 00000 n
+0000188203 00000 n
+0000188351 00000 n
+0000188498 00000 n
+0000188645 00000 n
+0000188795 00000 n
+0000188945 00000 n
+0000189094 00000 n
+0000189244 00000 n
+0000189394 00000 n
+0000189544 00000 n
+0000189693 00000 n
+0000189843 00000 n
+0000189992 00000 n
+0000190142 00000 n
+0000190292 00000 n
+0000190441 00000 n
+0000190591 00000 n
+0000190740 00000 n
+0000190890 00000 n
+0000191039 00000 n
+0000191189 00000 n
+0000191339 00000 n
+0000191489 00000 n
+0000191638 00000 n
+0000191787 00000 n
+0000194778 00000 n
+0000194927 00000 n
+0000195076 00000 n
+0000195226 00000 n
+0000195375 00000 n
+0000195524 00000 n
+0000192060 00000 n
+0000173709 00000 n
+0000172139 00000 n
+0000191937 00000 n
+0000724411 00000 n
+0000195672 00000 n
+0000195821 00000 n
+0000195970 00000 n
+0000196120 00000 n
+0000196269 00000 n
+0000196418 00000 n
+0000196568 00000 n
+0000196717 00000 n
+0000196865 00000 n
+0000197014 00000 n
+0000197163 00000 n
+0000197311 00000 n
+0000197460 00000 n
+0000197608 00000 n
+0000197757 00000 n
+0000197907 00000 n
+0000198056 00000 n
+0000198206 00000 n
+0000198355 00000 n
+0000198505 00000 n
+0000198655 00000 n
+0000198805 00000 n
+0000198955 00000 n
+0000199104 00000 n
+0000199254 00000 n
+0000199401 00000 n
+0000199549 00000 n
+0000199698 00000 n
+0000199848 00000 n
+0000199997 00000 n
+0000200147 00000 n
+0000200297 00000 n
+0000200447 00000 n
+0000200597 00000 n
+0000200747 00000 n
+0000200894 00000 n
+0000201041 00000 n
+0000201189 00000 n
+0000201334 00000 n
+0000201483 00000 n
+0000201630 00000 n
+0000201778 00000 n
+0000201927 00000 n
+0000202077 00000 n
+0000202227 00000 n
+0000202377 00000 n
+0000202527 00000 n
+0000202677 00000 n
+0000202827 00000 n
+0000202977 00000 n
+0000203127 00000 n
+0000203275 00000 n
+0000203423 00000 n
+0000203572 00000 n
+0000203722 00000 n
+0000203871 00000 n
+0000204021 00000 n
+0000204171 00000 n
+0000204321 00000 n
+0000204470 00000 n
+0000204618 00000 n
+0000204765 00000 n
+0000204911 00000 n
+0000205058 00000 n
+0000205207 00000 n
+0000205357 00000 n
+0000205507 00000 n
+0000205657 00000 n
+0000205806 00000 n
+0000205956 00000 n
+0000206105 00000 n
+0000206255 00000 n
+0000206404 00000 n
+0000206552 00000 n
+0000206701 00000 n
+0000206850 00000 n
+0000206999 00000 n
+0000207148 00000 n
+0000207296 00000 n
+0000207446 00000 n
+0000207596 00000 n
+0000207746 00000 n
+0000207896 00000 n
+0000208044 00000 n
+0000208193 00000 n
+0000208343 00000 n
+0000208492 00000 n
+0000208640 00000 n
+0000208789 00000 n
+0000208939 00000 n
+0000209088 00000 n
+0000209238 00000 n
+0000209386 00000 n
+0000209536 00000 n
+0000209686 00000 n
+0000209836 00000 n
+0000209986 00000 n
+0000210135 00000 n
+0000210285 00000 n
+0000210435 00000 n
+0000210584 00000 n
+0000210733 00000 n
+0000210883 00000 n
+0000211033 00000 n
+0000211243 00000 n
+0000193774 00000 n
+0000192199 00000 n
+0000211182 00000 n
+0000708678 00000 n
+0000211369 00000 n
+0000709833 00000 n
+0000211502 00000 n
+0000211525 00000 n
+0000211550 00000 n
+0000211705 00000 n
+0000212252 00000 n
+0000212693 00000 n
+0000213314 00000 n
+0000213431 00000 n
+0000213456 00000 n
+0000709586 00000 n
+0000213479 00000 n
+0000709176 00000 n
+0000213522 00000 n
+0000709365 00000 n
+0000213845 00000 n
+0000214171 00000 n
+0000214488 00000 n
+0000214567 00000 n
+0000214618 00000 n
+0000214641 00000 n
+0000215233 00000 n
+0000215312 00000 n
+0000215960 00000 n
+0000216633 00000 n
+0000217024 00000 n
+0000217621 00000 n
+0000218244 00000 n
+0000218619 00000 n
+0000219176 00000 n
+0000219782 00000 n
+0000220189 00000 n
+0000220538 00000 n
+0000220929 00000 n
+0000221694 00000 n
+0000222470 00000 n
+0000222912 00000 n
+0000223365 00000 n
+0000253185 00000 n
+0000253577 00000 n
+0000283370 00000 n
+0000283767 00000 n
+0000303159 00000 n
+0000303389 00000 n
+0000311115 00000 n
+0000311438 00000 n
+0000314791 00000 n
+0000315032 00000 n
+0000319358 00000 n
+0000319611 00000 n
+0000323083 00000 n
+0000323325 00000 n
+0000325847 00000 n
+0000326083 00000 n
+0000363901 00000 n
+0000364529 00000 n
+0000388736 00000 n
+0000389060 00000 n
+0000410256 00000 n
+0000410531 00000 n
+0000425647 00000 n
+0000425887 00000 n
+0000448852 00000 n
+0000449140 00000 n
+0000475409 00000 n
+0000475712 00000 n
+0000506254 00000 n
+0000506706 00000 n
+0000527228 00000 n
+0000527563 00000 n
+0000534001 00000 n
+0000534234 00000 n
+0000546412 00000 n
+0000546661 00000 n
+0000554802 00000 n
+0000555043 00000 n
+0000573234 00000 n
+0000573544 00000 n
+0000577714 00000 n
+0000578070 00000 n
+0000581075 00000 n
+0000581334 00000 n
+0000608184 00000 n
+0000608543 00000 n
+0000640037 00000 n
+0000640633 00000 n
+0000661033 00000 n
+0000661311 00000 n
+0000682014 00000 n
+0000682279 00000 n
+0000708224 00000 n
+0000709933 00000 n
+0000711062 00000 n
+0000712191 00000 n
+0000713317 00000 n
+0000714447 00000 n
+0000715577 00000 n
+0000716704 00000 n
+0000717832 00000 n
+0000718960 00000 n
+0000720088 00000 n
+0000721218 00000 n
+0000722345 00000 n
+0000723473 00000 n
+0000724601 00000 n
+0000725731 00000 n
+0000726861 00000 n
+0000727991 00000 n
+0000729121 00000 n
+0000730249 00000 n
+0000731377 00000 n
+0000732255 00000 n
+0000733130 00000 n
+0000734005 00000 n
+0000734880 00000 n
+0000735758 00000 n
+0000736826 00000 n
+0000737890 00000 n
+0000739136 00000 n
+0000740383 00000 n
+0000741629 00000 n
+0000742875 00000 n
+0000744121 00000 n
+0000745094 00000 n
+0000746066 00000 n
+0000748089 00000 n
+0000748207 00000 n
+0000748301 00000 n
+0000748371 00000 n
+0000753922 00000 n
+0000754100 00000 n
+0000754277 00000 n
+0000754450 00000 n
+0000754620 00000 n
+0000754788 00000 n
+0000754956 00000 n
+0000755126 00000 n
+0000755295 00000 n
+0000755465 00000 n
+0000755634 00000 n
+0000755808 00000 n
+0000756006 00000 n
+0000756201 00000 n
+0000756401 00000 n
+0000756621 00000 n
+0000756862 00000 n
+0000757105 00000 n
+0000757348 00000 n
+0000757616 00000 n
+0000757893 00000 n
+0000758173 00000 n
+0000758456 00000 n
+0000758643 00000 n
+0000758750 00000 n
+0000758861 00000 n
+0000758974 00000 n
+0000759102 00000 n
+0000759229 00000 n
+0000759331 00000 n
+0000759371 00000 n
+0000759550 00000 n
trailer
-<< /Size 761
-/Root 759 0 R
-/Info 760 0 R
-/ID [<4F00E04857E01A10C8786515AFE47643> <4F00E04857E01A10C8786515AFE47643>] >>
+<< /Size 1020
+/Root 1018 0 R
+/Info 1019 0 R
+/ID [<4B5580D2574824A72A44A2FA09A9D6E1> <4B5580D2574824A72A44A2FA09A9D6E1>] >>
startxref
-692966
+760227
%%EOF
diff --git a/macros/latex/contrib/numerica-tables/numerica-tables.sty b/macros/latex/contrib/numerica-tables/numerica-tables.sty
index e39ec24f5b..c1808141e4 100644
--- a/macros/latex/contrib/numerica-tables/numerica-tables.sty
+++ b/macros/latex/contrib/numerica-tables/numerica-tables.sty
@@ -10,8 +10,8 @@
\RequirePackage{booktabs}
\ProvidesExplFile
{numerica-tables.sty}
- {2023/08/21}
- {3.0.0}
+ {2023/08/25}
+ {3.1.0}
{Create mathematical tables of function values}
\msg_new:nnn {numerica-tables} {version}
@@ -68,12 +68,48 @@
\cs_generate_variant:Nn \__nmc_sci_num_table_signs:n { x }
\cs_new:Npn \__nmc_table_rc:N #1
{ \str_if_eq:nVTF { #1 } \c__nmc_r_tl { row } { column } }
+\cs_new_protected:Npn \__nmc_table_rvround_pre:
+ {
+ \fp_set_eq:NN \l__nmc_table_r_fp \l__nmc_table_rstart_fp
+ \prop_put:NVx \l__nmc_subst_var_prop \l__nmc_table_rvar_tl
+ { \fp_use:N \l__nmc_table_r_fp }
+ \__nmc_table_reset_rounding:
+ }
+\cs_new_protected:Npn \__nmc_table_rvround_post:
+ {
+ \fp_add:Nn \l__nmc_table_r_fp { \l__nmc_table_rstep_fp }
+ \prop_put:NVx \l__nmc_subst_var_prop \l__nmc_table_rvar_tl
+ { \fp_use:N \l__nmc_table_r_fp }
+ \__nmc_table_reset_rounding:
+ }
+\cs_new_protected:Npn \__nmc_table_cvround_pre:
+ {
+ \fp_set_eq:NN \l__nmc_table_c_fp \l__nmc_table_cstart_fp
+ \prop_put:NVx \l__nmc_subst_var_prop \l__nmc_table_cvar_tl
+ { \fp_use:N \l__nmc_table_c_fp }
+ \__nmc_table_reset_rounding:
+ }
+
+\cs_new_protected:Npn \__nmc_table_cvround_post:
+ {
+ \fp_add:Nn \l__nmc_table_c_fp { \l__nmc_table_cstep_fp }
+ \prop_put:NVx \l__nmc_subst_var_prop \l__nmc_table_cvar_tl
+ { \fp_use:N \l__nmc_table_c_fp }
+ \__nmc_table_reset_rounding:
+ }
+\cs_new_protected:Npn \__nmc_table_reset_rounding:
+ {
+ \tl_clear:N \l__nmca_tl
+ \__nmc_fpify:VN \l__nmc_round_xpr_tl \l__nmca_tl
+ \int_set:Nn \l__nmc_round_int { \fp_to_int:n \l__nmca_tl }
+ }
%--------------------------------------
\tl_new:N \l__nmc_x_tl
\seq_new:N \l_tmpd_seq
\tl_const:Nn \c__nmc_r_tl { r }
\tl_const:Nn \c__nmc_l_tl { l }
\bool_new:N \l__nmc_table_multifn_bool
+\bool_new:N \l__nmc_table_round_bool
\seq_new:N \l__nmc_table_multifn_seq
\tl_new:N \l__nmc_table_valign_tl
@@ -122,6 +158,7 @@
\tl_new:N \l__nmc_table_rheadi_tl
\tl_new:N \l__nmc_table_rhnudge_tl
\tl_new:N \l__nmc_table_rhnudgei_tl
+\int_new:N \l__nmc_table_chfrac_int
\int_new:N \l__nmc_table_chround_int
\int_new:N \l__nmc_table_chstyle_int
\int_const:Nn \c__nmc_table_chstyle_int { 5 }
@@ -239,6 +276,12 @@
}
\int_compare:nNnF \l__nmc_dbg_int = { 11 }
{ \int_zero:N \l__nmc_dbg_int }
+ % \int_if_zero:nF { \l__nmc_table_rfrac_int + \l__nmc_table_chfrac_int }
+ \int_if_zero:nF { \l__nmc_table_rfrac_int }
+ {
+ \int_compare:nNnT { \l__nmc_table_chstyle_int } > { 2 }
+ { \int_zero:N \l__nmc_table_chstyle_int }
+ }
}
\cs_new_protected:Npn \l__nmc_table_settings_ctitle:
{
@@ -347,6 +390,8 @@
}
{ \__nmc_table_get_ini_vals_aux:N c }
}
+ \bool_if:NT \l__nmc_table_round_bool
+ { \__nmc_fpify:VN \l__nmc_round_xpr_tl \l__nmc_toss_tl }
\seq_gpop:NN \g__nmc_error_where_seq \l__nmc_toss_tl
}
\cs_new_protected:Npn \__nmc_table_get_ini_vals_aux:N #1
@@ -653,7 +698,7 @@
{
\bool_if:NF \l__nmc_num_only_bool
{
- \int_if_zero:nF \l__nmc_table_header_int
+ \int_if_zero:nT \l__nmc_table_headless_int
{
\__nmc_table_headercnum:
\tl_set:Nx \l__nmc_table_header_tl { \__nmc_table_header: }
@@ -669,7 +714,7 @@
{
\__nmc_table_upper:
\exp_not:o \l__nmc_table_header_tl
- \int_if_zero:nF \l__nmc_table_header_int
+ \int_if_zero:nT \l__nmc_table_headless_int
{
\\~
\__nmc_if_mod_zero:nnT { \l__nmc_table_rules_int } { 7 }
@@ -828,6 +873,8 @@
}
\cs_new:Npn \__nmc_table_headern:
{
+ \int_set_eq:NN \l__nmc_table_chfrac_int \l__nmc_frac_out_int
+ \int_zero:N \l__nmc_frac_out_int
\tl_if_empty:NT \l__nmc_table_chead_tl
{
\seq_clear:N \l_tmpa_seq
@@ -847,6 +894,7 @@
}
\tl_set:Nx \l__nmc_table_chead_tl { \seq_use:Nn \l_tmpa_seq { & } }
}
+ \int_set_eq:NN \l__nmc_frac_out_int \l__nmc_table_chfrac_int
}
\cs_new_protected:Npn \__nmc_table_chstyler:NN #1 #2
{
@@ -857,12 +905,14 @@
{
\bool_if:NTF \l__nmc_table_coli_only_bool
{
- \__nmc_table_header_auxi:Nx #1 { \l__nmc_table_cvar_tl = #2 }
+ \__nmc_table_header_auxi:Nx #1
+ { \l__nmc_table_cvar_tl = \exp_not:o #2 }
\bool_set_false:N \l__nmc_table_coli_only_bool
}
{ \seq_put_right:NV #1 #2 }
}
- { 2 } { \__nmc_table_header_auxi:Nx #1 { \l__nmc_table_cvar_tl = #2 } }
+ { 2 } { \__nmc_table_header_auxi:Nx #1
+ { \l__nmc_table_cvar_tl = \exp_not:o #2 } }
{ 3 } { \__nmc_table_header_auxiii:NV #1 #2 }
{ 4 } { \__nmc_table_header_auxiv:NV #1 #2 }
{ 5 } { \seq_set_split:NnV #1 { & } \l__nmc_table_chead_tl }
@@ -872,7 +922,7 @@
\cs_new_protected:Npn \__nmc_table_header_auxi:Nn #1#2
{
\seq_put_right:Nx #1 { \__nmc_table_header_nudge:Nnn c
- { \exp_not:n { #2 } } \l__nmc_table_chnudge_tl }
+ { \exp_not:o { #2 } } \l__nmc_table_chnudge_tl }
}
\cs_generate_variant:Nn \__nmc_table_header_auxi:Nn { NV,Nx }
@@ -897,12 +947,13 @@
\cs_new:Npn \__nmc_table_header_nudge:Nnn #1#2#3
{ % #1=r(ow)/c(ol), #2=var, #3=nudge
\tl_if_eq:cNTF { l__nmc_table_ #1 calign_tl } \c__nmc_r_tl
- { $ #2 #3 $ }
+ { $ #2 #3 $ }
{
\tl_if_eq:cNTF { l__nmc_table_ #1 calign_tl } \c__nmc_l_tl
{ $ #3 #2 $ } { $ #2 $ }
}
}
+\cs_generate_variant:Nn \__nmc_table_header_nudge:Nnn { NnV }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cs_new_protected:Npn \__nmc_table_form_body:N #1
{ % #1 <== \l__nmc_result_tl
@@ -976,9 +1027,13 @@
}
\cs_new_protected:Npn \__nmc_table_form_body_cvcols:N #1
{ % #1 \l__nmc_result_tl
+ \bool_if:NT \l__nmc_table_round_bool
+ { \__nmc_table_cvround_pre: }
\seq_clear:N \l_tmpd_seq
\seq_map_variable:NNn \l__nmc_table_body_cols_seq \l_tmpa_seq
- {
+ {
+ \bool_if:NT \l__nmc_table_round_bool
+ { \__nmc_table_rvround_pre: }
\seq_clear:N \l_tmpb_seq
\__nmc_table_form_cols:NN \l_tmpa_seq \l_tmpb_seq
\seq_put_right:NV \l_tmpd_seq \l_tmpb_seq
@@ -1042,6 +1097,8 @@
{ 2 } { \__nmc_table_form_cols_rii:NN #1#2 }
}
{ \__nmc_table_form_cols_riii:NN #1#2 }
+ \bool_if:NT \l__nmc_table_round_bool
+ { \__nmc_table_cvround_post: }
}
\cs_new_protected:Npn \__nmc_table_form_cols_ri:NN #1#2
{
@@ -1083,7 +1140,9 @@
}
\cs_new_protected:Npn \__nmc_table_form_cols_riii:NN #1#2
{
- \__nmc_table_form_cols_rii_aux:NN #1#2
+ \__nmc_table_form_cols_rii_aux:NN #1#2
+ \bool_if:NT \l__nmc_table_round_bool
+ { \__nmc_table_rvround_post: }
\int_set_eq:NN \l__nmc_table_c_int \l__nmc_table_b_int
\int_set_eq:NN \l__nmc_table_b_int \l__nmc_table_a_int
\seq_map_variable:NNn #1 \l_tmpa_fp
@@ -1100,6 +1159,8 @@
\fp_set_eq:NN \l_tmpb_fp \l_tmpa_fp
\int_set_eq:NN \l__nmc_table_c_int \l__nmc_table_b_int
\int_set_eq:NN \l__nmc_table_b_int \l__nmc_table_a_int
+ \bool_if:NT \l__nmc_table_round_bool
+ { \__nmc_table_rvround_post: }
}
\int_set:Nn \l__nmc_table_a_int { 1 }
\__nmc_table_signs:
@@ -1206,9 +1267,15 @@
{ \seq_set_from_clist:No \l__nmc_table_rdata_seq \l_tmpa_tl }
{ \__nmc_error_what:n { File~#1~not~found~in } }
}
+\cs_new_protected:Npn \__nmc_table_rounding:n #1
+ {
+ \bool_set:Nn \l__nmc_table_round_bool { !\tl_if_blank_p:n { #1 } }
+ \tl_set:Nn \l__nmc_round_xpr_tl { #1 }
+ }
\keys_define:nn { numerica/table }
{
view .code:n = \__nmc_dbg_int:nn { 1 } { 11 },
+ round .code:n = \__nmc_table_rounding:n { #1 },
%
rvar .tl_set:N = \l__nmc_table_rvar_tl,
rstop .tl_set:N = \l__nmc_table_rstop_tl,
@@ -1253,10 +1320,10 @@
chround .int_set:N = \l__nmc_table_chround_int,
%
ctitle .tl_set:N = \l__nmc_table_ctitle_tl,
+ cmidrow .tl_set:N = \l__nmc_table_csubttl_tl,
csubttl .tl_set:N = \l__nmc_table_csubttl_tl,
- csubttl .tl_set:N = \l__nmc_table_csubttl_tl,
- header .int_set:N = \l__nmc_table_header_int,
- header .initial:n = 1,
+ headless .int_set:N = \l__nmc_table_headless_int,
+ headless .initial:n = 0,
rules .tl_set:N = \l__nmc_table_rules_tl,
rules .initial:n = ThB,
foot .tl_set:N = \l__nmc_table_footer_tl,
diff --git a/macros/latex/contrib/numerica-tables/numerica-tables.tex b/macros/latex/contrib/numerica-tables/numerica-tables.tex
index 47db7981a0..29f0e48129 100644
--- a/macros/latex/contrib/numerica-tables/numerica-tables.tex
+++ b/macros/latex/contrib/numerica-tables/numerica-tables.tex
@@ -18,6 +18,8 @@
\usepackage{url}
\usepackage{multirow}
\usepackage{amsmath}
+\usepackage{makeidx}
+\makeindex
\usepackage[pdfusetitle,
bookmarks=true,bookmarksnumbered=true,bookmarksopen=true,bookmarksopenlevel=2,
breaklinks=false,pdfborder={0 0 1},backref=section,colorlinks=true]
@@ -52,13 +54,15 @@
\DeclareMathOperator{\gd}{gd}
\usepackage{upquote}
\usepackage{xfrac}
+\usepackage[indentunit=1em,totoc,columnsep=1.5em,
+initsep=10.25pt plus 5pt minus 3pt]{idxlayout}
\reuse{}
\makeatother
\begin{document}
\title{\texttt{numerica-tables}~\\
-{\large version 3.0.0}}
+{\large version 3.1.0}}
\author{Andrew Parsloe\\
(\url{ajparsloe@gmail.com})}
\maketitle
@@ -74,7 +78,7 @@ the \texttt{numerica} package to be loaded.\medskip{}
\noindent\begin{minipage}[t]{1\columnwidth}%
\begin{shaded}%
\begin{itemize}
-\item This document applies to version 3.0.0 of \texttt{numerica-tables}.
+\item This document applies to version 3.1.0 of \texttt{numerica-tables}.
\item Version 3 of \texttt{numerica} needs to be loaded before \texttt{numerica-tables};
(\texttt{numerica} requires \texttt{amsmath}, \texttt{mathtools} and
a reasonably recent \LaTeX{} system).
@@ -83,17 +87,24 @@ a reasonably recent \LaTeX{} system).
Functions}, edited by Milton Abramowitz and Irene A. Stegun, Dover,
1965, abbreviated to \emph{HMF}, and often followed by a reference,
like Table 1.2, to a specific table.
+\item Version 3.1.0 of \texttt{numerica-tables}
+\begin{itemize}
+\item adds an index to the documentation;
+\item adds the ability to round table entries to different values depending
+on row or column (or both) in the table;
+\item fixes two minor presentation bugs.
+\end{itemize}
\item Version 3.0.0 of \texttt{numerica-tables}
\begin{itemize}
\item adds the ability to use numbers or expressions from
\begin{itemize}
-\item a comma list for row-variable values, either as values or verbatim;
-\item a macro containing a comma list for row-variable values, either as
+\item a comma list for row variable values, either as values or verbatim;
+\item a macro containing a comma list for row variable values, either as
values or verbatim;
-\item a file for row-variable values, either as values or verbatim;
+\item a file for row variable values, either as values or verbatim;
\end{itemize}
\item adds the ability to use functions of a stepped variable to generate
-varyingly stepped row-variable values;
+varyingly stepped row variable values;
\item adds the ability to suppress the header row;
\item is compatible with the additional features of \texttt{numerica} version
3.0.0,
@@ -126,20 +137,21 @@ be loaded explicitly (as above), with options if desired, \emph{before}
\texttt{numerica-tables}. It is \emph{essential} that the version
of \texttt{numerica} loaded is version 3.
-All tables are `formal tables' in the sense of the \texttt{booktabs}
+All tables are `formal tables' in the sense of the \texttt{booktabs}\index{booktabs@\texttt{booktabs}}
package, which is loaded automatically. Such tables have no vertical
-rules and few horizontal rules.
+rules\index{rules} and few horizontal rules.
\section{Table structure}
-I take as my source of models of mathematical tables those presented
-in \emph{Handbook of Mathematical Functions}, edited by Milton Abramowitz
-and Irene A. Stegun, Dover, 1965, not because the typesetting is elegant
-(it often isn't) but because \emph{HMF} displays a wide variety of
-table styles. The editors of that volume were faced with a host of
-different problems requiring a host of different solutions. The \verb`\nmcTabulate`
-command of \texttt{numerica-tables} aims to reproduce most of those
-different solutions, within \verb`booktabs` elegance.
+I\index{table structure} take as my source of models of mathematical
+tables those presented in \emph{Handbook of Mathematical Functions},
+edited by Milton Abramowitz and Irene A. Stegun, Dover, 1965, not
+because the typesetting is elegant (it often isn't) but because \emph{HMF}
+displays a wide variety of table styles. The editors of that volume
+were faced with a host of different problems requiring a host of different
+solutions. The \verb`\nmcTabulate` command of \texttt{numerica-tables}
+aims to reproduce most of those different solutions, within \texttt{booktabs}
+\index{booktabs@\texttt{booktabs}} elegance.
To create a table we need to specify a function or functions to tabulate.
The values a function takes will generally depend on a primary parameter
@@ -154,30 +166,30 @@ to a second parameter generates a second, third,\ldots{} column. Sometimes
rather than a second parameter, a second, third, \ldots{} function
of the first parameter is tabulated in the successive columns.
-In this document the first parameter is called the \emph{row variable}
+In this document the first parameter is called the \emph{row variable}\index{row variable}
\textendash{} its value determines which row we are in; the second
-parameter, if present, is called the \emph{column variable \textendash{}
-}its value determines which column we are in. A table generally (but
-not always) presents the values of the row variable in the first column,
-the \emph{row-variable column}, sometimes in distinctive type (e.g.
-bolded). The values of the column variable are presented in a \emph{header
-row} above the table body of function values. Above the header row
-there may be a \emph{title row} and perhaps a \emph{subtitle row}
-where other explanatory material can be displayed. Sometimes there
-is a \emph{footer row} beneath the table body. Vertical rules are
-absent, horizontal rules used sparingly \textendash{} for example,
-at the top and bottom of the table, or under the header row, but not
-in the body of the table.
+parameter, if present, is called the \emph{column variable\index{column variable}}
+\emph{\textendash{} }its value determines which column we are in.
+A table generally (but not always) presents the values of the row
+variable in the first column, the \emph{row variable column}, sometimes
+in distinctive type (e.g. bolded). The values of the column variable
+are presented in a \emph{header row} above the table body of function
+values. Above the header row there may be a \emph{title row} and perhaps
+a \emph{subtitle row} where other explanatory material can be displayed.
+Sometimes there is a \emph{footer row} beneath the table body. Vertical
+rules are absent, horizontal rules used sparingly \textendash{} for
+example, at the top and bottom of the table, or under the header row,
+but not in the body of the table.
\section{Shared syntax}
-The \verb`\nmcTabulate` command (short-name form \verb`\tabulate`)
+The \verb`\nmcTabulate`\index{nmcTabulate@\texttt{\textbackslash nmcTabulate}}
+command (short-name form \verb`\tabulate`\index{tabulate@\texttt{\textbackslash tabulate}|see{\texttt{\textbackslash nmcTabulate}}})
shares the syntax of \verb`\nmcEvaluate` (see \texttt{numerica.pdf}).
When all options are used the command looks like
\begin{verbatim}
\nmcTabulate*[settings]{expr.}[vv-list][num. format]
\end{verbatim}
-\selectlanguage{english}%
\begin{enumerate}
\item \verb`*` optional switch; if present ensures a single number output
with no formatting, or an appropriate error message if the single
@@ -187,13 +199,13 @@ this option is at the heart of creating a table of function values;
see Chapter~\ref{chap:=00005CnmcTabulate-settings};
\item \verb`{expr.}` mandatory argument specifying the mathematical expression
or expressions in \LaTeX{} form to be tabulated;
-\item \verb`[vv-list]` comma-separated list (or semicolon-sepaprated list
+\item \verb`[vv-list]` comma-separated list (or semicolon-separated list
if the \verb`comma` package option is used with \texttt{numerica})
of \emph{variable=value }items, in particular containing the initial
value of the row variable, and column variable if one is used;
\item \verb`[num. format]` optional format specification for presentation
of the numerical results (rounding, padding with zeros, scientific
-notation, fraction-form output); see \ref{subsec:Trailing-optional-argument}.
+notation, fraction-form output); see \ref{subsec:Trailing-optional-argument}.\index{rounding value}
\end{enumerate}
Unlike \verb`\nmcEvaluate` (the main command in\texttt{ numerica}),
for \verb`\nmcTabulate` the two apparently optional arguments straddling
@@ -204,15 +216,17 @@ contains items \emph{necessary} for the construction of any table
of function values.
Should \texttt{numerica} be loaded with the \verb`comma` package
-option, numbers in tables will be displayed with a decimal comma.
-In this case items in the vv-list \emph{must} be separated by a semicolon
+option, numbers in tables will be displayed with a decimal comma\index{decimal comma}.
+In this case items in the vv-list\index{vv-list!and decimal comma}
+\emph{must} be separated by a semicolon\index{semicolon and decimal comma}
since the decimal comma is likely to feature there. Similarly, $n$-ary
-functions \textendash{} \verb`\max`, \verb`\min` and \verb`\gcd`
+functions \textendash{} \verb`\max`, \verb`\min` and \verb`\gcd`\index{n-ary@$n$-ary functions}
\textendash{} must use the semicolon as their argument separator.
Math environments are significant for \verb`\nmcEvaluate`. They are
-essentially irrelevant for \verb`\nmcTabulate`, although an external
-environment may determine how a table is positioned on the page (\verb`\[ <table> \]`
+essentially irrelevant for \verb`\nmcTabulate`\index{nmcTabulate@\texttt{\textbackslash nmcTabulate}}\index{environments},
+although an external environment may determine how a table is positioned
+on the page\index{table placement!on the page} (\verb`\[ <table> \]`
for instance will centre the table between the margins). Environments
specified in the main argument (the formula) should be avoided. \verb`$ $`,
\verb`\( \)` or \verb`\[ \]` will not cause error, but a \verb`\begin`\textendash \verb`\end`
@@ -229,8 +243,8 @@ of their use in the following examples.
\label{chap:=00005CnmcTabulate-settings}In addition to the shared
settings, \verb`\nmcTabulate` has many settings specific to it. They
are discussed in groups in subsequent sections, some in more than
-one place. For the main discussion of row-variable settings, see \ref{sec:Row-variable-settings};
-for column-variable settings see \ref{sec:Column-variable-settings};
+one place. For the main discussion of row variable settings, see \ref{sec:Row-variable-settings};
+for column variable settings see \ref{sec:Column-variable-settings};
for whole-of-table formatting see \ref{sec:Whole-of-table-formatting};
for formatting the function values in table cells see \ref{sec:Function-value-formatting}.
@@ -257,18 +271,21 @@ for formatting the function values in table cells see \ref{sec:Function-value-f
\end{tabular}
\par\end{center}
\end{table}
-Deciding on a function to tabulate (entered in the main or mandatory
-argument of \verb`\nmcTabulate`) will inevitably also mean deciding
-on the tabulation variable, the \emph{row} variable, \verb`rvar`,
-what value to start tabulating from \textendash{} \emph{that} is specified
-in the vv-list and so does not need a specific key \textendash{} what
-value to tabulate to, \verb`rstop`, and how fine-grained the tabulation
-is to be, the step size \verb`rstep`. In the uniform case (which
-makes up the overwhelming majority of cases in \emph{HMF} for instance)
-the step size is constant. It does not change as the value of the
-row variable changes. (The non-uniform case, available from version
-3.0.0 of \texttt{numerica-tables}, is discussed in \ref{subsec:Row-var-spec-nonuniform}
-below. Quite different keys are required.)
+Deciding\index{row variable!start, step, stop values|(} on a function
+to tabulate (entered in the main or mandatory argument of \verb`\nmcTabulate`)
+will inevitably also mean deciding on the tabulation variable, the
+\emph{row} variable, \verb`rvar`\index{rvar@\texttt{rvar}}, what
+value to start tabulating from \textendash{} \emph{that} is specified
+in the vv-list\index{vv-list!row/col. variable initial values}\index{row variable!initial value in vv-list}
+and so does not need a specific key \textendash{} what value to tabulate
+to, \verb`rstop`\index{rstop@\texttt{rstop}}, and how fine-grained
+the tabulation is to be, the step size \verb`rstep`\index{rstep@\texttt{rstep}}.
+In the uniform case (which makes up the overwhelming majority of cases
+in \emph{HMF} for instance) the step size is constant. It does not
+change as the value of the row variable changes. (The non-uniform
+case, available from version 3.0.0 of \texttt{numerica-tables}, is
+discussed in \ref{subsec:Row-var-spec-nonuniform} below. Quite different
+keys are required.)
The two tables in the example below tabulate $\sin x$ and $\cos x$
between $0$ and $1$ in increments of $0.2$. Note that the start
@@ -290,8 +307,9 @@ size equal to the reciprocal of the \emph{initial }value of the row
variable.
The difference in appearance of the two tables results from padding
-with zeros in the second (the asterisk in the trailing optional argument
-has the same effect in \verb`\nmcTabulate` as in \verb`\nmcEvaluate`).
+with zeros\index{function value formatting!padding with zeros}\index{padding with zeros}
+in the second (the asterisk in the trailing optional argument has
+the same effect in \verb`\nmcTabulate` as in \verb`\nmcEvaluate`).
As you can see, padding applies not only to the values of the function
but also to the values of the row variable, although that has been
padded to only $1$ decimal place rather than the $6$ of the function
@@ -309,21 +327,21 @@ $\Longrightarrow$ \tabulate[rvar=x,rstep=0.2,rstop=1]
{ \cos x }[x=0][*]\medskip{}
Sometimes (perhaps often) it may prove more convenient to specify
-the number of rows, \verb`rows`, to tabulate rather than a stop value.
-Only one of \verb`rows` and \verb`rstop` should be given, but if
-both (inadvertently) are present, it is the value of \verb`rows`
-that prevails. The first of the following three tables shows an example
-where \verb`rows` is specified.
-
-The second and third tables use an abbreviated form of the row-variable
-specification, \verb`rspec`. This is a three-element comma list,
-\verb`{rvar,rstep,rows}`. The second table gives a straightforward
-example. In the third table a \LaTeX{} expression has been inserted
-for \verb`rows` in the \verb`rspec` comma list. Like \verb`rstep`
-and \verb`rstop`, \verb`rows` can be a \LaTeX{} expression, but it
-is evaluated \emph{before} the vv-list and therefore, unlike \verb`rstep`
-and \verb`rstop`, cannot depend on quantites specified there like
-the initial row variable value.
+the number of rows, \verb`rows`\index{rows@\texttt{rows}}, to tabulate
+rather than a stop value. Only one of \verb`rows` and \verb`rstop`
+should be given, but if both (inadvertently) are present, it is the
+value of \verb`rows` that prevails. The first of the following three
+tables shows an example where \verb`rows` is specified.
+
+The second and third tables use an abbreviated form of the row variable
+specification, \verb`rspec`\index{rspec@\texttt{rspec}}. This is
+a three-element comma list, \verb`{rvar,rstep,rows}`. The second
+table gives a straightforward example. In the third table a \LaTeX{}
+expression has been inserted for \verb`rows` in the \verb`rspec`
+comma list. Like \verb`rstep` and \verb`rstop`, \verb`rows` can
+be a \LaTeX{} expression, but it is evaluated \emph{before} the vv-list
+and therefore, unlike \verb`rstep` and \verb`rstop`, cannot depend
+on quantites specified there like the initial row variable value.
\begin{verbatim}
\tabulate[rvar=x,rstep=0.2,rows=6]
{ \sin x/\cos x }[x=0][*] \qquad
@@ -337,14 +355,14 @@ $\Longrightarrow$ \tabulate[rvar=x,rstep=0.2,rows=6]
\tabulate[rspec={x,0.2,6}]
{ \tan x }[x=0][*] \qquad
\tabulate[rspec={x,0.2,1+(1/0.2)}]
- { \sqrt{\sec^2 x - 1} }[x=0][*]\medskip{}
+ { \sqrt{\sec^2 x - 1} }[x=0][*]\index{row variable!start, step, stop values|)}\medskip{}
\subsection{Row variable specification: non-uniform case}
\label{subsec:Row-var-spec-nonuniform}
\begin{table}[b]
-\centering{}\caption{Non-uniform row-variable specification}
+\centering{}\caption{Non-uniform row variable specification}
\begin{center}
\begin{tabular}{ll>{\raggedright}p{4cm}>{\raggedright}p{3cm}}
\toprule
@@ -370,22 +388,24 @@ of function values at thoroughly irregular, perhaps experimentally
determined, values.
\texttt{numerica-tables} provides two means of specifying such row
-variables, either by means of a row-variable function (\verb`rfunc`),
-when the row-variable values change in a non-uniform but formulaic
-way, or by explicitly listing the row-variable values in a comma list
-(\verb`rdata`, \verb`rfile`). In this latter case, a setting \verb`rverb`
-enables the row-variable column to be displayed either as a sequence
+variables, either by means of a row variable function (\verb`rfunc`\index{rfunc@\texttt{rfunc}}),
+when the row variable values change in a non-uniform but formulaic
+way, or by explicitly listing the row variable values in a comma list
+(\verb`rdata`\index{rdata@\texttt{rdata}}, \verb`rfile`\index{rfile@\texttt{rfile}}).
+In this latter case, a setting \verb`rverb`\index{rverb@\texttt{rverb}}
+enables the row variable column to be displayed either as a sequence
of \emph{values} or verbatim as a sequence of \emph{expressions} \textendash{}
like fractions of $\pi$.
\subsubsection{\texttt{rfunc}}
-Suppose \textendash{} perhaps with an interest in the distribution
-of prime numbers \textendash{} that we want to create a small table
-of values of $n/\ln n$ for, say, $n=10$, $100$, 1000, $10000$,
-$\ldots$ The prospective row variable $n$ is not increasing in constant
-steps, although clearly in a regular manner. We handle such cases
-with the \verb`rfunc` setting; in the present instance \verb`rfunc=10^n`
+\index{rfunc@\texttt{rfunc}|(}\index{row variable!variably stepped|(}Suppose
+\textendash{} perhaps with an interest in the distribution of prime
+numbers \textendash{} that we want to create a small table of values
+of $n/\ln n$ for, say, $n=10$, $100$, 1000, $10000$, $\ldots$
+The prospective row variable $n$ is not increasing in constant steps,
+although clearly in a regular manner. We handle such cases with the
+\verb`rfunc` setting; in the present instance \verb`rfunc=10^n`
where now \verb`n` does increment by a constant amount:
\begin{verbatim}
\tabulate[rpos=1,rfunc=10^n,rvar=n,rstep=1,
@@ -406,22 +426,23 @@ add further keys to specify a distinct step function variable and
its start, step and stop values, but the list of keys to specify a
table is already large. The `double usage' implemented, perhaps
confusing initially, economizes on keys and is invisible to the reader
-of the table. The initial value \verb`n=1` in the vv-list applies
-to the row-variable function \verb`10^n`, not to the function being
-tabulated (so the error-producing expression \verb`1/\ln 1` does
-not arise).
-
-\subsubsection{\texttt{rdata}, \texttt{rfile}, \texttt{rverb}}
-
-\label{subsec:rdata-rfile-rverb}One source of difficulty in reading
-the previous table is working out just how many zeros there are in
-the larger numbers in the left column. It would be more readable `at
-a glance' if we could write those in scientific notation. To do that
-we use the \verb`rdata` and \verb`rverb` keys. In the first of the
-examples below, \verb`rverb` is absent (corresponding to the default
-\verb`rverb=0`); in the second \verb`rverb=1`, the effect of which
-is to use verbatim the row-variable values provided in the \verb`rdata`
-comma list:
+of the table. The initial value \verb`n=1`\index{vv-list!row/col. variable initial values}
+in the vv-list applies to the row variable function \verb`10^n`,
+not to the function being tabulated (so the error-producing expression
+\verb`1/\ln 1` does not arise).\index{rfunc@\texttt{rfunc}|)}\index{row variable!variably stepped|)}
+
+\subsubsection{\texttt{rdata}, \texttt{rfile}, \texttt{rverb} }
+
+\label{subsec:rdata-rfile-rverb}One\index{row variable!values from list, macro or file|(}
+source of difficulty in reading the previous table is working out
+just how many zeros there are in the larger numbers in the left column.
+It would be more readable `at a glance' if we could write those
+in scientific notation. To do that we use the \verb`rdata`\index{rdata@\texttt{rdata}|(}
+and \verb`rverb`\index{rverb@\texttt{rverb}|(} keys. In the first
+of the examples below, \verb`rverb` is absent (corresponding to the
+default \verb`rverb=0`); in the second \verb`rverb=1`, the effect
+of which is to use verbatim the row variable values provided in the
+\verb`rdata` comma list:\index{row variable!verbatim values|(}
\begin{verbatim}
\tabulate[rdata={10,100,1000,10^4,10^5,10^6,10^7},
rvar=n,rround=0,ralign=l]
@@ -453,32 +474,33 @@ command gains access to the values stored in them.
\def\mydatai{\tfrac12\pi,\tfrac13\pi,\tfrac23\pi,
\tfrac14\pi,\tfrac34\pi}
\renewcommand\arraystretch{1.2}
- \tabulate[rdata=\mydatai,rverb=1,rvar=k,header=0]
+ \tabulate[rdata=\mydatai,rverb=1,rvar=k,headless=1]
{ k }[6*]
\renewcommand\arraystretch{1} \qquad
\def\mydataii{\sfrac\pi2,\sfrac\pi3,\sfrac{2\pi}3,
\sfrac\pi4,\sfrac{3\pi}4}
- \tabulate[rdata=\mydataii,rverb=1,rvar=k,header=0]
+ \tabulate[rdata=\mydataii,rverb=1,rvar=k,headless=1]
{ k }[6*]
\end{verbatim}
$\Longrightarrow$ \renewcommand\arraystretch{1.2}
\def\mydatai{\tfrac12\pi,\tfrac13\pi,
\tfrac23\pi,\tfrac14\pi,\tfrac34\pi}
- \tabulate[rdata=\mydatai,rverb=1,rvar=k,header=0 ]
+ \tabulate[rdata=\mydatai,rverb=1,rvar=k,headless=1 ]
{ k }[6*]
\renewcommand\arraystretch{1} \qquad
\def\mydataii{\sfrac\pi2,\sfrac\pi3,
\sfrac{2\pi}3,\sfrac\pi4,\sfrac{3\pi}4}
- \tabulate[rdata=\mydataii,rverb=1,rvar=k,header=0]
+ \tabulate[rdata=\mydataii,rverb=1,rvar=k,headless=1]
{ k }[6*]\medskip{}
-The setting \verb`header=0` (see \ref{subsec:Header-row-suppress})
+The setting \verb`headless=1`\index{headless@\texttt{headless}}
+(see \ref{subsec:Header-row-suppress})\index{header row|see{column variable header, \texttt{headless}, row variable header}}
means the tables have no header row. To accommodate the tower of \verb`\tfrac`-s
-in the first column of the first table, \verb`\arraystretch` has
-been used to add more space between the rows (and re-set afterwards).
-Through the virtues of \verb`\sfrac` it is unnecessary in the second
-table which is neater and more readable to my eye. But even better
-is the example at \ref{subsec:rfracFraction-form-rvar}.
+in the first column of the first table, \verb`\arraystretch`\index{arraystretch@\texttt{\textbackslash arraystretch}}
+has been used to add more space between the rows (and re-set afterwards).
+Through the virtues of \verb`\sfrac` \index{sfrac@\texttt{\textbackslash sfrac}}
+it is unnecessary in the second table which is neater and more readable
+to my eye. But even better is the example at \ref{subsec:rfracFraction-form-rvar}.
Note that the row variable can be chosen arbitrarily \textendash{}
I earlier used \verb`n` and have used \verb`k` here but it could
@@ -488,50 +510,50 @@ in a multi-column setting in \ref{subsec:Headerstyle:-multi-column-case}.
The identity function was appropriate for tables showing the decimal
values of symbolic constants, as was the \verb`rverb=1` setting.
The \verb`rverb` setting applies \emph{only} to the \verb`rdata`
-and \verb`rfile` keys. It has no effect otherwise.
+and \verb`rfile` keys. It has no effect otherwise.\index{row variable!verbatim values|)}\index{rverb@\texttt{rverb}|)}\index{rdata@\texttt{rdata}|)}
In addition to a comma list or macro, data for the row variable can
also be stored in a file of comma-separated values \textendash{} say
\verb`mydata.txt`. If \verb`mydata.txt` is placed in the directory
-of the current document and \verb`rfile=mydata.txt` entered in the
-settings option of the \verb`\tabulate` command, the file will be
-found and the values used for the row variable. Alternatively, the
-file could be placed in your \verb`texmf` tree and your \TeX{} distro
-alerted to its presence (by refreshing the filename database). Again
-\verb`rfile=mydata.txt` in the settings option will ensure the file
-is found and the contents used for the row-variable values. Or, the
-file could be stored elsewhere and the \verb`rfile` key equated to
-the full path and filename \textendash{} something like \verb`rfile=e:/mydocs/mydatafiles/mydata.txt`.
+of the current document and \verb`rfile=mydata.txt`\index{rfile@\texttt{rfile}}
+entered in the settings option of the \verb`\tabulate` command, the
+file will be found and the values used for the row variable. Alternatively,
+the file could be placed in your \verb`texmf` tree and your \TeX{}
+distro alerted to its presence (by refreshing the filename database).
+Again \verb`rfile=mydata.txt` in the settings option will ensure
+the file is found and the contents used for the row variable values.
+Or, the file could be stored elsewhere and the \verb`rfile` key equated
+to the full path and filename \textendash{} something like \verb`rfile=e:/mydocs/mydatafiles/mydata.txt`.
This ensures the file will be found and the contents used for the
row variable values. Note that even in Windows systems (where file
paths use backslashes) the path requires that forward slashes only
-be used.
+be used. \index{row variable!values from list, macro or file|)}
-\subsection{Row-variable column formatting}
+\subsection{Formatting row variable values \& column}
\label{subsec:Row-var-col-formatting}The padding option ({*}) of
-the trailing optional argument is one way of formatting the row-variable
-column, but to how many decimal places? Aligned left or right or centred?
+the trailing optional argument is one way of formatting the row variable
+values, but to how many decimal places? Aligned left or right or centred?
Under what heading \textendash{} the example tables so far have simply
used the row variable for the header? And should the row variable
column be at the left of the table, or the right \textendash{} or
both? These and related questions are answered by assigning values
to the keys listed in Table~\ref{tab:Formatting-the-row-variable}.
\begin{table}[tb]
-\centering{}\caption{\protect\label{tab:Formatting-the-row-variable}Formatting the row-variable
-column}
+\centering{}\caption{\protect\label{tab:Formatting-the-row-variable}Formatting the row
+variable column}
\begin{center}
\begin{tabular}{ll>{\raggedright}p{4cm}l}
\toprule
{\small key} & {\small type} & {\small meaning} & {\small initial}\tabularnewline
\midrule
{\small\texttt{rround}} & {\small int} & {\small rounding} & {\small\texttt{1}}\tabularnewline
-{\small\texttt{ralign}} & {\small char (}{\small\texttt{r/c/l}}{\small )} & {\small horizontal alignment} & {\small\texttt{r}}\tabularnewline
{\small\texttt{rfont}} & {\small chars} & {\small font (}{\small\verb`\math<chars>`}{\small )} & \tabularnewline
+{\small\texttt{ralign}} & {\small char (}{\small\texttt{r/c/l}}{\small )} & {\small horizontal alignment} & {\small\texttt{r}}\tabularnewline
{\small\texttt{rhead}} & {\small tokens} & {\small header} & {\small\texttt{rvar}}\tabularnewline
{\small\texttt{rhnudge}} & int & {\small nudge header }{\small{\small\verb`<int>`}}{\small{} mu} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small column position(s) } & {\small\texttt{1}}\tabularnewline
-{\small\texttt{rvar'}} & {\small tokens} & {\small 2nd row-variable col. spec. } & {\small\texttt{rvar}}\tabularnewline
+{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small column placement} & {\small\texttt{1}}\tabularnewline
+{\small\texttt{rvar'}} & {\small tokens} & {\small 2nd row variable col. spec. } & {\small\texttt{rvar}}\tabularnewline
{\small\texttt{rhead'}} & {\small tokens} & {\small header of 2nd rv col. (if it exists)} & {\small\texttt{rvar'}}\tabularnewline
{\small\texttt{rhnudge'}} & int & {\small nudge 2nd rv col. header }{\small{\small\verb`<int>`}}{\small{}
mu} & {\small\texttt{0}}\tabularnewline
@@ -544,16 +566,17 @@ mu} & {\small\texttt{0}}\tabularnewline
\subsubsection{Rounding: \texttt{rround}}
-After studying some of the previous tables, we might decide to adjust
-the step size, say from $0.2$ to $0.25$. But changing \verb`rstep`
+After\index{rounding value!row variable|(}\index{rround@\texttt{rround}|(}\index{formatting!row variable values|(}
+studying some of the previous tables, we might decide to adjust the
+step size, say from $0.2$ to $0.25$. But changing \verb`rstep`
to the new value gives a disconcerting result. \texttt{numerica-tables}
uses a default rounding value of $1$ for the row variable and has
rounded $0.25$ down to $0.2$, then $0.2+0.25=0.45$ down to $0.4$,
then $0.4+0.25=0.65$ down to $0.6$, then $0.6+0.25=0.85$ down to
$0.8$, at which point it stops since $0.8+0.85>1$ which is the stopping
value. The rounded-down values are the values used for caclulating
-the sines. The second table corrects matters by adjusting the row-variable
-rounding with \verb`rround=2`.
+the sines. The second table corrects matters by adjusting the row
+variable rounding with \verb`rround=2`.
\begin{verbatim}
\tabulate[rvar=x,rstep=0.25,rstop=1]
{ \sin x }[x=0][*] (Eh???) \quad
@@ -563,39 +586,42 @@ rounding with \verb`rround=2`.
$\Longrightarrow$ \tabulate[rvar=x,rstep=0.25,rstop=1]
{ \sin x }[x=0][*](Eh???) \quad
\tabulate[rvar=x,rstep=0.25,rstop=1,rround=2]
- { \sin x }[x=0][*]
+ { \sin x }[x=0][*]\index{rround@\texttt{rround}|)}\index{rounding value!row variable|)}
-\subsubsection{Alignment: \texttt{ralign}}
+\subsubsection{Font: \texttt{rfont}}
-By default, the alignment of all columns is to the right, as in the
-previous examples. This lends itself to neat output when padding with
-zeros is activated (the \verb`*` in the trailing argument) and when
-some values are negative \textendash{} minus signs can interfere
-with neat output in left or centred alignments. But in a case like
-the second table in the last example, you might prefer to centre the
-headers for both the row and function-value columns. These alignments
-are independently set. For the row-variable column the default alignment
-is to the right \verb`ralign=r`; \verb`ralign=l` (lowercase L) aligns
-entries in the row-variable column to the left, and \verb`ralign=c`
-centres entries in the row-variable column. The tables of the next
-example use a \verb`c` alignment to centre the row-variable column
-header. The third of those tables shows how minus signs spoil the
-effect.
+In\index{rfont@\texttt{rfont}} the second table below bolding by
+means of the setting \verb`rfont=bf` has been applied to emphasize
+the distinction between the row variable values and the function values.
+Possible values for this key are those characters that can be adjoined
+to \verb`\math` to give a meaningful result. Thus other valid values
+are \verb`it` (italic), \verb`sf` (sans serif), \verb`tt` (typewriter);
+\verb`frak` (Fraktur); also \verb`rm` (roman) is available, but
+that is the default.\index{formatting!row variable values|)}
-\subsubsection{Font: \texttt{rfont}}
+\subsubsection{Alignment: \texttt{ralign}}
-In the second table below bolding by means of the setting \verb`rfont=bf`
-has been applied to emphasize the distinction between the row-variable
-values and the function values. Possible values for this key are those
-characters that can be adjoined to \verb`\math` to give a meaningful
-result. Thus other valid values are \verb`it` (italic), \verb`sf`
-(sans serif), \verb`tt` (typewriter); \verb`frak` (Fraktur); also
-\verb`rm` (roman) is available, but that is the default.
+By\index{row variable column!alignment|(}\index{ralign@\texttt{ralign}}
+default, the alignment of all columns is to the right, as in previous
+examples. This lends itself to neat output when padding with zeros
+is activated (the \verb`*` in the trailing argument) and when some
+values are negative \textendash{} the minus signs interfere with
+neat output in left or centred alignments.\index{function value formatting!sign handling}
+But in a case like the second table in the last example, you might
+prefer to centre the headers for both the row and function-value columns.
+These alignments are independently set. For the row variable column
+the default alignment is to the right \verb`ralign=r`; \verb`ralign=l`
+(lowercase L) aligns entries in the row variable column to the left,
+and \verb`ralign=c` centres entries in the row variable column. The
+tables of the next example use a \verb`c` alignment to centre the
+row variable column header. The third of those tables shows how minus
+signs spoil the effect.
\subsubsection{Row-variable header: \texttt{rhead}}
-In the second and third tables, the header for the row-variable column
-has also been bolded. The default header is the row-variable symbol.
+In\index{rhead@\texttt{rhead}|(}\index{row variable header|(}\index{formatting!row variable header|(}
+the second and third tables, the header for the row variable column
+has also been bolded. The default header is the row variable symbol.
That can be replaced by giving a value to the key \verb`rhead`. I
have used \verb`rhead=\boldsymbol{x}` (rather than \verb`\mathbf{x}`)
in order to get an italicized bold symbol. Note that you do not need
@@ -624,11 +650,11 @@ $\Longrightarrow$ \tabulate
\tabulate
[rvar=x,rstep=0.25,rstop=0.5,rround=2,
ralign=c,rfont=bf,rhead=\boldsymbol{x}]
- { \sin x }[x=-0.5][*]\medskip{}
+ { \sin x }[x=-0.5][*]\index{rfont@\texttt{rfont}}\medskip{}
-In these tables the row-variable column has been given a centred alignment.
+In these tables the row variable column has been given a centred alignment.
The third table shows what goes wrong when \emph{some} values in the
-row-variable column are negative. Better then is to use padding, a
+row variable column are negative. Better then is to use padding, a
right alignment (the default), and to use a phantom in the header.
The first table below does this. The second table incorporates kerning
into the header to achieve the same effect:
@@ -652,28 +678,29 @@ $\Longrightarrow$ \tabulate
(To my eye, aligning the $\boldsymbol{x}$ above the first column
of digits after the decimal point gives a better result than truly
centring it in the column; compare these examples with the first two
-tables of the previous example.)
+tables of the previous example.)\index{rhead@\texttt{rhead}}\index{formatting!row variable header|)}
\subsubsection{Nudging~the~header: \texttt{rhnudge}}
-However, you might prefer to avoid inserting positioning commands
-into the actual row-variable header, obscuring its true content. You
-can avoid doing this by setting the key \texttt{rhnudge}.
+However\index{rhnudge@\texttt{rhnudge}|(}, you might prefer to avoid
+inserting positioning commands into the actual row variable header,
+obscuring its true content. You can avoid doing this by setting the
+key \verb`rhnudge`.
The first table below reverts to the default right alignment, avoids
-any positioning commands in the row-variable header, but instead nudges
-it into position with the setting \texttt{rhnudge=9}. For positive
+any positioning commands in the row variable header, but instead nudges
+it into position with the setting \verb`rhnudge=9`. For positive
nudge values, nudging works in the \emph{opposite} sense to the alignment.
The units for nudging are mu (math units, 18 to a quad), but only
a number \textendash{} generally an integer \textendash{} should be
specified; the `mu' is supplied by \verb`numerica-tables`.
In the second table below the row variable takes single digit integer
-values, while the row-variable name now occupies more than one character.
+values, while the row variable name now occupies more than one character.
With a right alignment the header would protrude out to the left.
-By giving \texttt{rhnudge} a \emph{negative} value (\texttt{rhnudge=-12}
-in the example) it is brought back to a centred position in the row-variable
-column.
+By giving \verb`rhnudge` a \emph{negative} value (\verb`rhnudge=-12`
+in the example) it is brought back to a centred position in the row
+variable column.
\begin{verbatim}
\tabulate[rvar=x,rstep=0.25,rstop=0.5,rround=2,
rfont=bf,rhead=\boldsymbol{x},rhnudge=9]
@@ -691,35 +718,35 @@ $\Longrightarrow$ \tabulate
[rvar=x_{\text{int}},rstep=1,rstop=4,
rround=0,rfont=bf,rhnudge=-12,
rhead=\boldsymbol{x_{\text{int}}}]
- { \sin x_{\text{int}} }[x_{\text{int}}=0][4*]
+ { \sin x_{\text{int}} }[x_{\text{int}}=0][4*]\index{row variable header|)}\index{rhnudge@\texttt{rhnudge}|)}
\subsubsection{Position in the table: \texttt{rpos}}
-\label{subsec:Row-var-col-pos}By default, the row-variable column
-is the \emph{first} column of the table. Its position is determined
-by the value of the key \texttt{rpos}:
+\label{subsec:Row-var-col-pos}\index{row variable column!position in table}\index{rpos@\texttt{rpos}}By
+default, the row variable column is the \emph{first} column of the
+table. Its position is determined by the value of the key \texttt{rpos}:
\begin{itemize}
-\item \texttt{rpos=0}, suppressed (no row-variable column);
-\item \texttt{rpos=1}, first column (the default);
-\item \texttt{rpos=2}, last column;
-\item \texttt{rpos=3}, first and last columns;\texttt{ }
-\item \texttt{rpos=4}, first and last columns, with the values in the last
+\item \verb`rpos=0`, suppressed (no row variable column);
+\item \verb`rpos=1`, first column (the default);
+\item \verb`rpos=2`, last column;
+\item \verb`rpos=3`, first and last columns;\texttt{ }
+\item \verb`rpos=4`, first and last columns, with the values in the last
column a user-defined function of the first; see \ref{subsec:Second-row-var-col};
-\item Any other integer acts like \texttt{rpos=1}.
+\item Any other integer acts like \verb`rpos=1`.
\end{itemize}
-An example with \texttt{rpos=3} is given shortly below, \ref{sec:Multiple-function-tables}.
+An example with \verb`rpos=3` is given shortly below, \ref{sec:Multiple-function-tables}.
\subsubsection{\texttt{rvar'}, \texttt{rhead'}, \texttt{rhnudge'}}
-These settings become relevant only when \texttt{rpos=4}; see \ref{subsec:Second-row-var-col}.
+These settings become relevant only when \verb`rpos=4`; see \ref{subsec:Second-row-var-col}.
\subsubsection{Fraction-form values: rfrac}
-\label{subsec:rfracFraction-form-rvar}By giving the setting \verb`rfrac`
-an integer value between $1$ and $5$ inclusive it is possible to
-render the row-variable values as fractions with no more than \verb`rround`
-digits in the denominator. Initially \verb`rfrac=0`, which gives
-decimal output.
+\label{subsec:rfracFraction-form-rvar}\index{row variable!fraction form|(}\index{fraction form!row variable values|(}
+By giving the setting \verb`rfrac` an integer value between $1$
+and $5$ inclusive it is possible to render the row variable values
+as fractions with no more than \verb`rround` digits in the denominator.
+Initially \verb`rfrac=0`, which gives decimal output.
\begin{itemize}
\item \verb`rfrac=1` produces a slash fraction like $2/3$;
\item \verb`rfrac=2` produces a scalable \verb`\frac`-tion like $\frac{2}{3}$
@@ -727,14 +754,15 @@ in textstyle and $\dfrac{2}{3}$ in displaystyle;
\item \verb`rfrac=3` produces a non-scalable \verb`\tfrac` like $\tfrac{2}{3}$;
\item \verb`rfrac=4` produces a non-scalable \verb`\dfrac` like $\dfrac{2}{3}$;
\item \verb`rfrac=5` produces a slash fraction like $\sfrac 23$ (by means
-of the \verb`\sfrac` command) in text- and displaystyles if the \texttt{xfrac}
-package is loaded and like $\scriptstyle 2/3$ if it isn't; when used
-as a super- or sub-script, the fractions reduce in size like $e^{\sfrac23}$
+of the \verb`\sfrac`\index{sfrac@\texttt{\textbackslash sfrac}}
+command) in text- and displaystyles if the \texttt{xfrac} package
+is loaded and like $\scriptstyle 2/3$ if it isn't; when used as a
+super- or sub-script, the fractions reduce in size like $e^{\sfrac23}$
or $e^{{\scriptscriptstyle 2/3}}$.
\end{itemize}
The following table repeats an earlier table from \ref{subsec:rdata-rfile-rverb},
but more neatly, through using \verb`\sfrac` (with the \verb`rfrac=5`
-call) instead of \verb`\tfrac`, and moving $\pi$ from the row-variable
+call) instead of \verb`\tfrac`, and moving $\pi$ from the row variable
column into the formula:
\begin{verbatim}
\def\mydataii{1/2,1/3,2/3,1/4,3/4}
@@ -745,23 +773,25 @@ column into the formula:
$\Longrightarrow$ \def\mydataii{1/2,1/3,2/3,1/4,3/4}
\tabulate[rdata=\mydataii,rpos=1,
rvar=k,rfrac=5,rhnudge=6,chnudge=18]
- { k\pi }[k=0][6*]
+ { k\pi }[k=0][6*]\index{fraction form!row variable values|)}\index{row variable!fraction form|)}
\subsection{Adjoined multi-function tables}
-\label{subsec:Adjoining-tables}How might one tabulate multiple functions
-simultaneously? \emph{HMF} has many, many examples where multiple
-functions (like the trigonometric or the hyperbolic functions) are
-tabulated in separate columns of the same table.
+\label{subsec:Adjoining-tables}\index{adjoined tables}\index{multi-function tables}
+How might one tabulate multiple functions simultaneously? \emph{HMF}
+has many, many examples where multiple functions (like the trigonometric
+or the hyperbolic functions) are tabulated in separate columns of
+the same table.
With the settings described so far, one way is to adjoin single column
tables. In the tables below, which display as a single multi-columned
-table, I have used three different \texttt{rpos} settings (\texttt{rpos=1}
-is implicit in the first). This is one way to build a table that displays
-as multi-column. If you use this method, note that the \texttt{\%}
-comment characters are essential at the end of the last argument of
-the \verb`\tabulate` commands if you want the tables to abut exactly.
-Omitting them results in a space between the tables.
+table, I have used three different\index{rpos@\texttt{rpos}} \verb`rpos`
+settings (\verb`rpos=1` is implicit in the first). This is one way
+to build a table that displays as multi-column. If you use this method,
+note that the \verb`%` comment characters are essential at the end
+of the last argument of the \verb`\tabulate` commands if you want
+the tables to abut exactly. Omitting them results in a space between
+the tables.
\begin{verbatim}
\tabulate[rspec={x,0.2,6}]
{ \sin x }[x=0][*]%
@@ -796,7 +826,7 @@ too common a need to have to resort to a fudge like adjoining tables.
\toprule
{\small key} & {\small type} & {\small meaning} & {\small comment}\tabularnewline
\midrule
-{\small\texttt{cvar}} & {\small token(s)} & {\small column-variable} & \tabularnewline
+{\small\texttt{cvar}} & {\small token(s)} & {\small column variable} & \tabularnewline
{\small\texttt{cstep}} & {\small real num.} & {\small step size} & \tabularnewline
{\small\texttt{cstop}} & {\small real num.} & {\small stop value} & {\small either }{\small\texttt{cstop}}\tabularnewline
{\small\texttt{cols}} & {\small int} & {\small number of columns} & {\small or }{\small\texttt{cols}}\tabularnewline
@@ -811,19 +841,21 @@ To tabulate such a function, one way to proceed, as we have seen,
is to create and adjoin separate tables, one per parameter value,
but that is clumsy. A more systematic procedure is to specify, in
addition to the row variable, a \emph{column} variable and its start,
-step and stop values.
-
-In the following example \verb`cvar=k` is the column variable. I
-have chosen a step size \verb`cstep=2` and a stop value \verb`cstop=9`.
-As with the row variable, the start value ({\ttfamily\verb`k=3`})
-of the column variable is specified in the vv-list. Although in the
-example these values are numbers, all three values could be \LaTeX{}
-expressions that evaluate to numbers. In particular, the expressions
-for step and stop values may include the row and column variables
-(in the example $x$ and $k$) which are assigned their initial vv-list
-values. Note also the setting for \verb`rhead` which shows the reader
-of the table that the numerical values displayed in the column headers
-are values of \verb`k`. This usage occurs throughout \emph{HMF}.
+step and stop values\index{column variable!start, step, stop values|(}.
+
+In \index{cvar@\texttt{cvar}|(} the following example \verb`cvar=k`
+is the column variable. I have chosen a step size \verb`cstep=2`\index{cstep@\texttt{cstep}|(}
+and a stop value \verb`cstop=9`\index{cstop@\texttt{cstop}|(}. As
+with the row variable, the start value ({\ttfamily\verb`k=3`})
+of the column variable is specified in the vv-list\index{vv-list!row/col. variable initial values}\index{column variable!initial value in vv-list}.
+Although in the example these values are numbers, all three values
+could be \LaTeX{} expressions that evaluate to numbers. In particular,
+the expressions for step and stop values may include the row and column
+variables (in the example $x$ and $k$) which are assigned their
+initial vv-list values. Note also the setting for \verb`rhead`\index{rhead@\texttt{rhead}}
+which shows the reader of the table that the numerical values displayed
+in the column headers are values of \verb`k`. This usage occurs throughout
+\emph{HMF}.
\begin{verbatim}
\tabulate[rspec={x,0.2,6},rhead=x\backslash k,
cvar=k,cstep=2,cstop=9]
@@ -836,20 +868,20 @@ $\Longrightarrow$ \tabulate
Again, as with the row variable, rather than using an explicit stop
value\texttt{ }{\ttfamily\verb`cstop`}, you might prefer
-to specify the number of columns, \verb`cols`, explicitly. I could
-have replaced {\ttfamily\verb`cstop=9`} with \verb`cols=4`
-to get the same result. Note that the number of columns specified
-here is the number of \emph{function-value} columns; the row-variable
-column is ignored for this count.
+to specify the number of columns, \verb`cols`\index{cols@\texttt{cols}|(},
+explicitly. I could have replaced {\ttfamily\verb`cstop=9`}
+with \verb`cols=4` to get the same result. Note that the number of
+columns specified here is the number of \emph{function-value} columns;
+the row variable column is ignored for this count.
It is worth pointing out explicitly that if \verb`cols` is specified,
then it is possible to have a \emph{zero} step size, \verb`cstep=0`.
(A similar comment applies to \verb`rows` and \verb`rstep`.)
And again, as with the row variable, it is possible to condense the
-specification into a comma list with the key \verb`cspec`. This is
-a $3$-element comma list of the form \verb`{cvar,cstep,cols}`. Thus,
-for the preceding table I could also have written
+specification into a comma list with the key \verb`cspec`\index{cspec@\texttt{cspec}|(}.
+This is a $3$-element comma list of the form \verb`{cvar,cstep,cols}`.
+Thus, for the preceding table I could also have written
\begin{verbatim}
\tabulate[rspec={x,0.2,6},rhead=x\backslash k,
cvar=k,cstep=2,cols=4]
@@ -867,15 +899,15 @@ As with the row equivalents, \verb`cstep`, \verb`cstop` and \verb`cols`
can all be \LaTeX{} expressions. Again like the row equivalents, the
first two are evaluated \emph{after }the vv-list and so may depend
not only on numbers and constants but also the initial values of the
-row and column variables, which are given those values in the vv-list.
+row and column variables, which are given those values in the vv-list.\index{vv-list!row/col. variable initial values}
\verb`cols` is evaluated \emph{before }the vv-list; it may be a \LaTeX{}
-expression but cannot depend on the row or column variable.
+expression but cannot depend on the row or column variable.\index{cvar@\texttt{cvar}|)}\index{cstep@\texttt{cstep}|)}\index{cstop@\texttt{cstop}|)}\index{cols@\texttt{cols}|)}\index{cspec@\texttt{cspec}|)}\index{column variable!start, step, stop values|)}
\subsection{Column header formatting}
-\label{subsec:Column-header-formatting}
+\label{subsec:Column-header-formatting}\index{formatting!column variable header|(}\index{column variable header|(}
\begin{table}[b]
-\centering{}\caption{Formatting the column-variable header}
+\centering{}\caption{Formatting the column variable header}
\begin{center}
\begin{tabular}{ll>{\raggedright}p{4cm}l}
\toprule
@@ -883,65 +915,67 @@ expression but cannot depend on the row or column variable.
\midrule
{\small\texttt{chstyle}} & {\small int (0\ldots 4)} & {\small header style} & {\small\texttt{0}}\tabularnewline
{\small\texttt{ctitle}} & {\small tokens} & {\small single col. alt. header} & \tabularnewline
-{\small\texttt{chead}} & {\small tokens} & {\small user-defined header} & \tabularnewline
+{\small\texttt{chead}} & {\small tokens} & {\small user-defined header } & \tabularnewline
{\small\texttt{calign}} & {\small char (r/c/l)} & {\small column alignment} & {\small\texttt{r}}\tabularnewline
{\small\texttt{chnudge}} & {\small int} & {\small nudge header }{\small{\small\verb`int`}}{\small{} mu} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{chround}} & {\small int} & {\small column header rounding} & {\small\texttt{0}}\tabularnewline
+{\small\texttt{chround}} & {\small int} & {\small{} rounding} & {\small\texttt{0}}\tabularnewline
\bottomrule
\end{tabular}
\par\end{center}
\end{table}
-There are four built-in style settings for the header to the column-variable
-(or function-value) columns (the `ch' prefix evoking `column header').
-If these don't meet your needs or otherwise satisfy, then it is possible
-to define your own header to the function value columns using the
-key \verb`chead`. First I discuss the built-in styles.
-
-\subsubsection{Header style: single-column case}
-
-When there is only one column of function values, the function being
-tabulated is by default set as the header to the column. This corresponds
-to setting \texttt{ctitle={*}} (see \ref{subsec:Title:-ctitle-setting}
-below). You may want some other header. Then give \texttt{ctitle}
-some other value (although note that giving it the value \texttt{{*}{*}}
+There are four built-in style settings for the header to the column
+variable (or function-value) columns (the `ch' prefix evoking `column
+header'). If these don't meet your needs or otherwise satisfy, then
+it is possible to define your own header to the function value columns
+using the key \verb`chead`. First I discuss the built-in styles.
+
+\subsubsection{Single-column header}
+
+When\index{column variable header!single column case} there is only
+one column of function values, the function being tabulated is by
+default set as the header to the column. This corresponds to setting
+\verb`ctitle=*`\index{ctitle@\texttt{ctitle}!* setting@\texttt{{*}} setting}
+(see \ref{subsec:Title:-ctitle-setting} below). You may want some
+other header. Then give \verb`ctitle`\index{ctitle@\texttt{ctitle}}
+some other value (although note that giving it the value \texttt{{*}{*}}\index{ctitle@\texttt{ctitle}!** setting@\texttt{{*}{*}} setting}
will set both the function and the vv-list as the header; again see
\ref{subsec:Title:-ctitle-setting}). Whatever value you set, it
will be typeset between math delimiters (\verb`$` signs) and can
be nudged (see \ref{subsec:Nudgingtheheaders:-chnudge}) left or
right to fine-tune its position in the column. (If you want an asterisk
as the header, you will need to place it between \emph{two} pairs
-of braces, \texttt{ctitle=\{\{{*}\}\}}, to prevent it being misinterpreted
+of braces, \verb`ctitle={{*}}`, to prevent it being misinterpreted
as the default setting.)
If you want some more complicated header, perhaps not constrained
-by the \verb`$` delimiters, then give \texttt{chead} a value. This
-key I discuss below in \ref{subsec:chead}. \texttt{chead} is entirely
-up to the user to specify, including any math delimiters and positioning
-(nudging) of elements.
+by the \verb`$` delimiters, then give \verb`chead`\index{chead@\texttt{chead}}
+a value. This key I discuss below in \ref{subsec:chead}. \verb`chead`
+is entirely up to the user to specify, including any math delimiters
+and positioning (nudging) of elements.
-If both \texttt{ctitle} and \texttt{chead} are given, the \texttt{chead}
+If both \verb`ctitle` and \verb`chead` are given, the \verb`chead`
value prevails.
-\subsubsection{Header~style: multi-column case}
+\subsubsection{Multi-column header: \texttt{chstyle}}
-\label{subsec:Headerstyle:-multi-column-case}\texttt{chstyle=0} which
-is the default gives a header of the form displayed in the last example,
-with only the column-variable \emph{value} at the head of each column.
-This style generally requires the row-variable header to indicate
-what the values denote, as in the example above where \texttt{rhead=x\textbackslash backslash
-k}, the backslash separating row from column variable. \emph{HMF}
-contains a multitude of instances of this style; see Tables~9.7,
-17.5, 21.1, 24.3, 27.4, etc. for examples.
+\label{subsec:Headerstyle:-multi-column-case}\index{column variable header!multi-column case|(}\verb`chstyle=0`\index{chstyle@\texttt{chstyle}|(}\index{column variable header!multi-column case!chstyle@\texttt{chstyle}|(}
+which is the default gives a header of the form displayed in the last
+example, with only the column variable \emph{value} at the head of
+each column. This style generally requires the row variable header
+to indicate what the values denote, as in the example above where
+\verb`rhead=x\backslash k`, the backslash separating row from column
+variable. \emph{HMF} contains a multitude of instances of this style;
+see Tables~9.7, 17.5, 21.1, 24.3, 27.4, etc. for examples.
-\texttt{chstyle=1} changes the header of the \emph{first} function
+\verb`chstyle=1` changes the header of the \emph{first} function
value column to the form \emph{variable=value} \textendash{} in the
example below, to $k=1$. This may be an appropriate choice when a
small rounding value is being used and the resulting columns are narrow.
I can find only one real instance in \emph{HMF}, Table~26.7. In the
example I have used the \verb`rdata` setting to collect an assortment
of nonsense values and for some weird reason wish to tabulate the
-sines of multiples of these oddballs. Note that the row-variable setting
-\texttt{rhead} (producing $X\backslash k$) is no longer needed since
+sines of multiples of these oddballs. Note that the row variable setting
+\verb`rhead` (producing $X\backslash k$) is no longer needed since
the column variable is now explicitly indicated. (But the table is
lacking a title \textendash{} what on earth are we calculating with
this strange group of numbers?)
@@ -954,11 +988,11 @@ $\Longrightarrow$ \tabulate[rdata={-e^2,1.234e2,3.1416,\pi/\gamma,1/9},
^,rvar=X,rverb=1,cspec={k,1,3},chstyle=1]
{ \sin kX }[k=1][3*]\medskip{}
-\texttt{chstyle=2} changes the header of all function-value columns
+\verb`chstyle=2` changes the header of all function-value columns
to the form \emph{variable=value}.\emph{ }In \emph{HMF} examples are
-Tables~7.4, 7.9, 10.10, 16.6, etc. Again, the row-variable setting
-\texttt{rhead} no longer needs the \texttt{\textbackslash backslash
-k} part since the column variable is now explicitly indicated.
+Tables~7.4, 7.9, 10.10, 16.6, etc. Again, the row variable setting
+\verb`rhead` no longer needs the \verb`\backslash k` part since
+the column variable is now explicitly indicated.
\begin{verbatim}
\tabulate[rspec={x,0.2,6},
cspec={k,2,3},chstyle=2]
@@ -968,10 +1002,10 @@ $\Longrightarrow$ \tabulate[rspec={x,0.2,6},
cspec={k,2,3},chstyle=2]
{ \sin kx }[k=3,x=0][3*]\medskip{}
-\texttt{chstyle=3} fills each column-variable header with the expression
+\verb`chstyle=3` fills each column variable header with the expression
being tabulated but with the column variable replaced by its respective
values. See \emph{HMF} Tables~5.4, 8.1, 9.1, 19.1, etc. for examples.
-Note that if the column-variable value is \verb`1`, the \verb`1`
+Note that if the column variable value is \verb`1`, the \verb`1`
will be displayed:
\begin{verbatim}
\tabulate[rspec={x,0.2,6},
@@ -984,8 +1018,8 @@ $\Longrightarrow$ \tabulate
{ \sin kx }[k=1,x=0][4*]\medskip{}
In this last example you may not want the \verb`1` displayed. To
-achieve that effect put \texttt{chstyle=4}. This results in a header
-as for \texttt{chstyle=3} but if the column variable takes the value
+achieve that effect put \verb`chstyle=4`. This results in a header
+as for \verb`chstyle=3` but if the column variable takes the value
\verb`1`, it has an empty replacement:
\begin{verbatim}
\tabulate[rspec={x,0.2,6},
@@ -995,20 +1029,21 @@ as for \texttt{chstyle=3} but if the column variable takes the value
$\Longrightarrow$ \tabulate
[rspec={x,0.2,6},
cspec={k,2,3},chstyle=4]
- { \sin kx }[k=1,x=0][4*]
+ { \sin kx }[k=1,x=0][4*]\index{column variable header!multi-column case!chstyle@\texttt{chstyle}|)}\index{chstyle@\texttt{chstyle}|)}
\subsubsection{User-defined header: \texttt{chead}}
-\label{subsec:chead}If the function in the last example were, for
-instance, $k+\sin kx$, then neither replacing $k$ by \verb`1` nor
-an empty replacement would be appropriate. In that case the only recourse
-is to use the \verb`chead` key. Users can assign whatever value they
-like to \verb`chead`. The assignment must contain the correct number
-of tab characters (\verb`&`) for the \emph{column-variable columns
-only}. It is a header only to the function-value columns. The user
-will need to insert \verb`$` signs or other math delimiters as appropriate.
-This differs from the practice for \verb`rhead`, but \verb`chead`
-is potentially far more complicated. Thus for $k+\sin kx$,
+\label{subsec:chead}\index{chead@\texttt{chead}|(}If the function
+in the last example were, for instance, $k+\sin kx$, then neither
+replacing $k$ by \verb`1` nor an empty replacement would be appropriate.
+In that case the only recourse is to use the \verb`chead` key. Users
+can assign whatever value they like to \verb`chead`. The assignment
+must contain the correct number of tab characters (\verb`&`) for
+the \emph{column variable columns only}. It is a header only to the
+function-value columns. The user will need to insert \verb`$` signs
+or other math delimiters as appropriate. This differs from the practice
+for \verb`rhead`, but \verb`chead` is potentially far more complicated.
+Thus for $k+\sin kx$,
\begin{verbatim}
\tabulate[rspec={x,0.2,6},cspec={k,2,3},
chead=$1+\sin x$&$3+\sin3x$&$5+\sin 5x$]
@@ -1022,15 +1057,15 @@ $\Longrightarrow$ \tabulate
\noindent Non-empty content for the \verb`chead` key overrides any
\verb`chstyle` setting and, in the case of a table with only a single
-function-value column, overrides any \verb`ctitle` setting.
+function-value column, overrides any \verb`ctitle` setting.\index{chead@\texttt{chead}|)}
\subsubsection{Alignment: \texttt{calign}}
-The function-value columns are aligned right, \verb`calign=r`, by
-default. Also available are \verb`calign=c` for centred alignment
-and \verb`calign=l` (lowercase L) for left alignment. Using centred
-alignment with {\ttfamily\verb`chstyle=2`} in a previous
-example table gives
+The\index{calign@\texttt{calign}|(} function-value columns are aligned
+right, \verb`calign=r`, by default. Also available are \verb`calign=c`
+for centred alignment and \verb`calign=l` (lowercase L) for left
+alignment. Using centred alignment with {\ttfamily\verb`chstyle=2`}
+in a previous example table gives
\begin{verbatim}
\tabulate[rspec={x,0.2,6},ralign=c,
cspec={k,2,3},chstyle=2,calign=c]
@@ -1043,19 +1078,20 @@ $\Longrightarrow$ \tabulate
\noindent The first column of function values looks better, but the
minus signs spoil the effect in the others. Handling signs in tables
-is discussed below; see \ref{subsec:Signs}.
-
-\subsubsection{Nudging~the~headers: \texttt{chnudge}}
-
-\label{subsec:Nudgingtheheaders:-chnudge}In left or right alignment
-it is possible to nudge the headers in the opposite direction by giving
-a numerical value to the the key \verb`chnudge`. The header is moved
-by the specified number of mu (math units; 18 to a quad). Note that
-the `mu' does not need to be written. {\ttfamily\verb`numerica-tables`}
-provides that. In the next example I have chosen \verb`chnudge=12`
-to nudge the column headers to the left to give a centred effect to
-the header but leaving the function values with their (potentially)
-awkward minus signs right aligned.
+is discussed below; see \ref{subsec:Signs}\index{calign@\texttt{calign}|)}.
+
+\subsubsection{Nudging header entries: \texttt{chnudge}}
+
+\label{subsec:Nudgingtheheaders:-chnudge}In\index{chnudge@\texttt{chnudge}|(}
+left or right alignment it is possible to nudge the column headers
+in the opposite direction by giving a numerical value to the the key
+\verb`chnudge`. The header is moved by the specified number of mu
+(math units; 18 to a quad). Note that the `mu' does not need to
+be written. {\ttfamily\verb`numerica-tables`} provides
+that. In the next example I have chosen \verb`chnudge=12` to nudge
+the column headers to the left to give a centred effect to the header
+but leaving the function values with their (potentially) awkward minus
+signs right aligned.
\begin{verbatim}
\tabulate[rspec={x,0.2,6},ralign=c,
cspec={k,2,3},chstyle=2,chnudge=12]
@@ -1080,11 +1116,12 @@ I have used \verb`chnudge=-9`.
$\Longrightarrow$ \tabulate
[rspec={x,0.2,6},ralign=c,
cspec={k,2,3},chstyle=2,chnudge=-9]
- { \sin kx }[k=100,x=0][3*]
+ { \sin kx }[k=100,x=0][3*]\index{chnudge@\texttt{chnudge}|)}
\subsubsection{Rounding: \texttt{chround}}
-In the examples so far, the column variable has incremented in integer
+In\index{chround@\texttt{chround}|(}\index{rounding value!header row|(}
+the examples so far, the column variable has incremented in integer
steps. The default rounding value for the column variable is $0$
(for the row variable it is $1$), so if it increments by some non-integer
amount, the result will be confusing \textendash{} if $k$ incremented
@@ -1101,33 +1138,35 @@ the appropriate setting is {\ttfamily\verb`chround=2`}.
$\Longrightarrow$ \tabulate
[rspec={x,0.2,6},rhead=x,ralign=c,
cspec={k,0.25,3},chstyle=2,chround=2]
- { \sin kx }[k=3,x=0][*]
+ { \sin kx }[k=3,x=0][*]\index{column variable header|)}\index{rounding value!header row|)}\index{column variable header!multi-column case|)}\index{chround@\texttt{chround}|)}\index{formatting!column variable header}
\section{Multiple functions in a single table}
-\label{sec:Multiple-function-tables}As already noted in \ref{subsec:Adjoining-tables},
-tabulating more than one function at a time is too common a need to
-have to resort to a fudge like adjoining tables. The systematic way
-of handling this task is to enter the functions in the main argument
-of a \verb`\tabulate` command separated by a specified mark then
-alert \verb`\tabulate` that this has happened with the \verb`ff`
+\label{sec:Multiple-function-tables}As\index{multi-function tables|(}
+already noted in \ref{subsec:Adjoining-tables}, tabulating more
+than one function at a time is too common a need to have to resort
+to a fudge like adjoining tables. The systematic way of handling this
+task is to enter the functions in the main argument of a \verb`\tabulate`
+command separated by a specified mark then alert \verb`\tabulate`
+that this has happened with the \verb`ff`\index{ff@\texttt{ff}}
key in the settings option.
-By default the multi-formula delimiter is the comma if the decimal
-point is a dot (or period), or the semicolon if the decimal point
-is a comma (\texttt{numerica} loaded with the \verb`comma` package
-option). If you are content with the default delimiter then it suffices
-to enter \verb`ff` in the settings option. If not, then enter \verb`ff=<mark>`
-there. For example \verb`ff=|` would make the `pipe' character
-\verb`|` the multi-formula delimiter. If the \verb`ff` key is overlooked
-then multiple formulas in the main argument of \verb`\tabulate` will
-almost certainly cause a \LaTeX{} error.
+By default the multi-function delimiter\index{multi-function tables!function delimiter}
+is the comma if the decimal point is a dot (or period), or the semicolon\index{semicolon and decimal comma}
+if the decimal point is a comma\index{decimal comma} (\texttt{numerica}
+loaded with the \verb`comma` package option). If you are content
+with the default delimiter then it suffices to enter \verb`ff` in
+the settings option. If not, then enter \verb`ff=<mark>` there. For
+example \verb`ff=|` would make the `pipe' character \verb`|` the
+multi-formula delimiter. If the \verb`ff` key is overlooked then
+multiple formulas in the main argument of \verb`\tabulate` will almost
+certainly cause a \LaTeX{} error.
In the following example, using the default comma, note first the
\verb`ff` setting, and then the \verb`o` setting indicating that
the arguments of the trig functions are in degrees and (just to amuse
myself) I have put the row variable column on both sides with the
-\verb`rpos=3` setting:
+\verb`rpos=3`\index{rpos@\texttt{rpos}} setting:
\begin{verbatim}
\tabulate[ff,o,rpos=3,rround=0,
rvar=\theta,rstep=10,rstop=90]
@@ -1138,20 +1177,23 @@ $\Longrightarrow$ \tabulate[ff,o,rpos=3,rround=0,
{ \sin \theta, \cos \theta }[\theta=0][*]\medskip{}
The tables suggest a space saving possibility: since $\sin$ and $\cos$
-are complementary functions ($\cos\theta=\sin(90-\theta)$), the values
-in the bottom half of the table duplicate values in the top half,
-only with the columns reversed. This is the reason for the space saving
-\verb`rpos=4` setting (\ref{subsec:Second-row-var-col}) which enables
-complementary functions to be tabulated in `half tables' (for examples
-see \emph{HMF} Tables 4.10\textendash 4.12 for the trigonometric functions).
-
-In the next example, the row-variable column is again duplicated,
+are complementary functions\index{complementary functions} ($\cos\theta=\sin(90-\theta)$),
+the values in the bottom half of the table duplicate values in the
+top half, only with the columns reversed. This is the reason for the
+space saving \verb`rpos=4`\index{rpos@\texttt{rpos}} setting (\ref{subsec:Second-row-var-col})
+which enables complementary functions to be tabulated in `half tables'
+(\emph{HMF} Tables 4.10\textendash 4.12 are examples for the trigonometric
+functions).
+
+In the next example, the row variable column is again duplicated,
left and right, with the \verb`rpos=3` setting, and a centred alignment
is used for the function values. Because $\sin$ and $\cos$ are complementary,
I have stopped the table at \verb`rstop=45` since continuing to \verb`90`
-would simply give a mirror reflection of the preceding values. Visually,
-the table has an unsatisfactory, sprawling appearance \textendash{}
-which directs attention to how tables might be titled (\ref{subsec:Title:-ctitle-setting}):
+would simply give a mirror reflection of the preceding values. To
+accommodate the use of the comma in \verb`\max` and \verb`\min`\index{n-ary@$n$-ary functions}
+I have stipulated \verb`ff=|`\index{ff@\texttt{ff}}. Visually, the
+table has an unsatisfactory, sprawling appearance \textendash{} which
+directs attention to how tables might be titled (\ref{subsec:Title:-ctitle-setting})\index{rpos@\texttt{rpos}}:
\begin{verbatim}
\tabulate[ff=|,o,rpos=3,rround=0,
rvar=\theta,rstep=10,rstop=45,calign=c]
@@ -1163,16 +1205,16 @@ $\Longrightarrow$ \tabulate[ff=|,o,rpos=3,rround=0,
rvar=\theta,rstep=10,rstop=45,calign=c]
{ \max(\sin \theta,\cos \theta)|
\min(\sin \theta,\cos \theta) }
- [\theta=0][*]
+ [\theta=0][*] \index{multi-function tables|)}
\section{Whole-of-table formatting}
-\label{sec:Whole-of-table-formatting}There are a number of settings
-pertaining to the appearance of the table as a whole, things like
-the position of the row-variable column, division of the function
-values into blocks to aid readability, the presence of horizontal
-rules or of a collective column title or of a footer row. I discuss
-these here.
+\label{sec:Whole-of-table-formatting}There\index{formatting!title, subtitle, footer|(}
+are a number of settings pertaining to the appearance of the table
+as a whole, things like the position of the row variable column, division
+of the function values into blocks to aid readability, the presence
+of horizontal rules or of a collective column title or of a footer
+row. I discuss these here.
\begin{table}
\centering{}\caption{\protect\label{tab:Table-formatting-settings}Table formatting}
@@ -1182,11 +1224,11 @@ these here.
{\small key} & {\small type} & {\small meaning} & {\small initial}\tabularnewline
\midrule
{\small\texttt{ctitle}} & {\small token(s)} & {\small collective title for function-value columns} & \tabularnewline
-{\small\texttt{csubttl}} & {\small token(s)} & {\small subtitle row for} {\small function- value cols} & \tabularnewline
+ & {\small token(s)} & {\small subtitle row for} {\small function- value cols} & \tabularnewline
{\small\texttt{header}} & {\small int (}{\small\texttt{0/1}}{\small )} & {\small suppress/show header row} & {\small\texttt{1}}\tabularnewline
{\small\texttt{foot}} & {\small token(s)} & {\small table-wide footer row} & \tabularnewline
{\small\texttt{rules}} & {\small char(s)} & {\small horizontal rule spec.} & {\small\texttt{ThB}}\tabularnewline
-{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small row-variable col. position(s)} & {\small\texttt{1}}\tabularnewline
+{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small row variable col. position(s)} & {\small\texttt{1}}\tabularnewline
{\small\texttt{rbloc}} & {\small integer comma list} & {\small row block specification} & \tabularnewline
{\small\texttt{valign}} & {\small char (}{\small\texttt{t}}/{\small\texttt{m}}/{\small\texttt{b}}{\small )} & {\small vertical alignment of table relative to text baseline} & {\small\texttt{m}}\tabularnewline
\bottomrule
@@ -1197,18 +1239,18 @@ these here.
\subsection{Title for function-value columns: \texttt{ctitle}}
-\label{subsec:Title:-ctitle-setting}The function-value columns have
-individual headers, formatted in the various ways provided by the
-settings discussed in previous sections, but it can also be helpful
-to have a collective title for these columns. We saw the need in the
-last example. The need is met with the \verb`ctitle` key. This can
-be set to whatever you like (e.g. \verb`ctitle=\text{Fred}`) but,
-to more purpose, I shall use the setting to improve the look of the
-table in the last example. Note that the content of the \verb`ctitle`
+\label{subsec:Title:-ctitle-setting}\index{ctitle@\texttt{ctitle}|(}The\index{title row|(}
+function-value columns have individual headers, formatted in the various
+ways provided by the settings discussed in previous sections, but
+it can also be helpful to have a collective title for these columns.
+We saw the need in the last example. The need is met with the \verb`ctitle`
+key. This can be set to whatever you like (e.g. \verb`ctitle=\text{Fred}`)
+but, to more purpose, I shall use the setting to improve the look
+of the table in the last example. Note that the content of the \verb`ctitle`
key is enclosed in braces. This is to shield the commas there from
being misinterpreted as item separators in the settings option. For
-an analogous reason I have specified the semicolon (\verb`ff=;`)
-as the function separator in the main argument:
+an analogous reason I have specified the semicolon (\verb`ff=;`)\index{ff@\texttt{ff}}
+as the function separator in the main argument:\index{rpos@\texttt{rpos}}\index{n-ary@$n$-ary functions}
\begin{verbatim}
\tabulate[ff=;,o,rpos=3,rround=0,
rvar=\theta,rstep=10,rstop=45,
@@ -1241,16 +1283,15 @@ of the table; \verb`ctitle=*` is all that is needed:
cspec={m,1,4},chstyle=2,ctitle=*]
{ \cos(m\pi/n) }[n=3,m=2][*4]
\end{verbatim}
-$\Longrightarrow$ \selectlanguage{english}%
- \tabulate[rspec={n,1,5},rround=0,
+$\Longrightarrow$ \tabulate[rspec={n,1,5},rround=0,
cspec={m,1,4},chstyle=2,ctitle=*]
{ \cos(m\pi/n) }[n=3,m=2][*4]
-\selectlanguage{english}%
\subsection{Between header \& title: \texttt{csubttl}}
-Some tables need to fit more header or title material into their rows
-than can be comfortably accommodated in either row alone. For examples,
+Some\index{csubttl@\texttt{csubttl}}\index{title row!subtitle row}
+tables need to fit more header or title material into their rows than
+can be comfortably accommodated in either row alone. For examples,
see \emph{HMF} Tables 7.9 (error function for complex arguments),
17.7 (Jacobian zeta function), 21.1 (eigenvalues of spheroidal wave
functions), and 26.7 (probability integrals). One way of handling
@@ -1260,13 +1301,14 @@ the header and title rows.
I have chosen \verb`csubttl`, a contraction of `column variable
subtitle' for the key name. (In version 2 of \texttt{numerica-tables}
-the name \verb`cmidrow` was used; that will still work but \verb`csubttl`
-gives a clearer indication of what the key does.) The initial `c'
-emphasizes that like \verb`chead` and \verb`ctitle` it is constrained
-to the span of the column-variable (or function-value) columns only.
-The content of \verb`csubttl` is entirely the responsibility of the
-user, including insertion of the necessary number of tab characters,
-\verb`&`, and any math delimiters required.
+the name \verb`cmidrow`\index{cmidrow@\texttt{cmidrow }|see{\texttt{csubttl}}}
+was used; that will still work but \verb`csubttl` gives a clearer
+indication of what the key does.) The initial `c' emphasizes that
+like \verb`chead` and \verb`ctitle` it is constrained to the span
+of the column variable (or function-value) columns only. The content
+of \verb`csubttl` is entirely the responsibility of the user, including
+insertion of the necessary number of tab characters, \verb`&`, and
+any math delimiters required.
\begin{verbatim}
\tabulate[ff,rspec={x,1,7},rround=0,chnudge=18,
ctitle=\text{Hyperbolic functions},
@@ -1280,36 +1322,40 @@ $\Longrightarrow$ \tabulate[ff,rspec={x,1,7},rround=0,chnudge=18,
csubttl=\multicolumn{3}{c}{$\sinh x=\tfrac12
(e^x-e^{-x}),\ \cosh x=\tfrac12(e^x+e^{-x})$}]
{ \tfrac12e^x, \sinh x, \cosh x }
- [{x}=0][8*]
+ [{x}=0][8*]\index{ctitle@\texttt{ctitle}|)}\index{title row|)}
\subsection{Suppress/show header row}
-\label{subsec:Header-row-suppress}Usually the header row in a table
-is shown. It carries essential information as to the table's contents.
-However, there are occasions when it should be suppressed. An example
-where this is appropriate is given in \ref{subsec:rdata-rfile-rverb}
+\label{subsec:Header-row-suppress}Usually\index{headless@\texttt{headless}}
+the header row in a table is shown. It carries essential information
+as to the table's contents. However, there are occasions when it should
+be suppressed. An example where this is appropriate is given in \ref{subsec:rdata-rfile-rverb}
where a table listing fractions of $\pi$ and their values is shown.
-As in that example, to suppress the header enter the setting \verb`header=0`.
-(Otherwise tables default to \verb`header=1`.)
+As in that example, to suppress the header enter the setting \verb`headless=1`.
+(Otherwise tables default to \verb`headless=0`.)
\subsection{Footer row: \texttt{foot} }
-Some tables have a footer row and \verb`numerica-tables` allows such
-a row to be inserted, but its entire content, with one exception,
-is the responsibility of the user, including insertion of the necessary
-number of tab characters \verb`&`. This will usually be $1$ less
-than the total number of columns (including row-variable columns)
-in the table \textendash{} or some adjustment thereof if you use \verb`\multicolumn`.
-You can put into the footer what you wish: \verb`foot=<tokens>`.
-(\emph{HMF} uses the footer mainly for cryptic descriptions of the
-accuracy and needs of interpolation methods.)
-
-The one exception is when \verb`foot=*`. This will fill the footer
-with the header, but \emph{reversed}. This is useful for tabulating
-complementary functions like the sine and cosine or, more generally,
-$f(x)$ and $g(x)$ where $g(x)=f(k-x)$ for some constant $k$. Values
-for the complementary function are read from the bottom up and require
-a reversed row-variable column on the right of the table; see \ref{subsec:Second-row-var-col}.
+Some\index{foot@\texttt{foot}}\index{footer row} tables have a footer
+row and \verb`numerica-tables` allows such a row to be inserted,
+but its entire content, with one exception, is the responsibility
+of the user, including insertion of the necessary number of tab characters
+\verb`&`. This will usually be $1$ less than the total number of
+columns (including row variable columns) in the table \textendash{}
+or some adjustment thereof if you use \verb`\multicolumn`. (\emph{HMF}
+uses the footer mainly for cryptic descriptions of the accuracy and
+needs of interpolation methods.)
+
+You can put into the footer what you wish with the setting \verb`foot=<tokens>`.
+
+The one exception is when \verb`foot=*`\index{foot@\texttt{foot}}.
+This will fill the footer with the header, but with the items of the
+header presented in \emph{reversed} order \textendash{} the last item
+first, and so on. This is useful for tabulating complementary functions
+like the sine and cosine or, more generally, $f(x)$ and $g(x)$ where
+$g(x)=f(k-x)$ for some constant $k$. Values for the complementary
+function are read from the bottom up and require a reversed row variable
+column on the right of the table; see \ref{subsec:Second-row-var-col}.
\noindent{}%
\noindent\begin{minipage}[t]{1\columnwidth}%
@@ -1317,23 +1363,24 @@ a reversed row-variable column on the right of the table; see \ref{subsec:Secon
\subsubsection{Footer functions}
-In previous versions of \texttt{numerica-tables} it was possible to
-perform certain simple operations on columns \textendash{} calculate
-the sum, the average and maximum and minimum values. This is no longer
-so in version 3. Not only does it seem tangential to the primary function
-of the \verb`\tabulate` command but it was also acutely dependent
-on the format of the numbers being operated on. A simple change in
-the number-format option could cause a \LaTeX{} error.\end{shaded}%
-\end{minipage}
+In\index{footer functions} previous versions of \texttt{numerica-tables}
+it was possible to perform certain simple operations on columns \textendash{}
+calculate the sum, the average and maximum and minimum values. This
+is no longer so in version 3. Not only does it seem tangential to
+the primary function of the \verb`\tabulate` command but it was also
+acutely dependent on the format of the numbers being operated on.
+A simple change in the number-format option could cause a \LaTeX{}
+error.\end{shaded}%
+\end{minipage}\index{formatting!title, subtitle, footer|)}
\subsection{Horizontal rules: \texttt{rules}}
-\label{subsec:Rules:-rules-setting}
+\label{subsec:Rules:-rules-setting}\index{rules@\texttt{rules}|(}\index{rules|(}\index{formatting!rules|(}
\begin{table}[!b]
\centering{}\caption{\protect\label{tab:Rules}Rules. {\small (In the \textquoteleft span\textquoteright{}
-column, \textquoteleft f-v\textquoteright =function-value; \textquoteleft r-v\textquoteright =row-variable;
-\textquoteleft$<$~table\textquoteright{} indicates that the rule
-spans the table but is trimmed at each end.)}}
+column, \textquoteleft f-v\textquoteright =function-value; \textquoteleft r-v\textquoteright =row
+variable; \textquoteleft$<$~table\textquoteright{} indicates that
+the rule spans the table but is trimmed at each end.)}}
\begin{center}
\begin{tabular}{lll>{\raggedright}p{3cm}l}
\toprule
@@ -1351,9 +1398,10 @@ spans the table but is trimmed at each end.)}}
\end{tabular}
\par\end{center}
\end{table}
-The \texttt{booktabs} package which \texttt{numerica} uses is most
-emphatic that one should `1. Never, ever use vertical rules. 2. Never
-use double rules.' Most of the tables proper in \emph{HMF} lack rules
+The \texttt{booktabs} \index{booktabs@\texttt{booktabs}} package
+which \texttt{numerica} uses is most emphatic that one should `1.
+Never, ever use vertical rules.\index{rules!edicts} 2. Never use
+double rules.' Most of the tables proper in \emph{HMF} lack rules
of any kind although closer inspection shows smaller tables within
the text generally \emph{are} delimited by horizontal rules (often
also with vertical rules). In the various examples in the present
@@ -1366,9 +1414,9 @@ for presenting a multitude of different kinds of numerical data.)
The \verb`rules` key allows one to specify precisely which rules
are used. The content of the key is a `word' \textendash{} a sequence
of letters \textendash{} where the characters have the significance
-and default thicknesses (from \texttt{booktabs}) shown in Table~\ref{tab:Rules}.
-The default setting is \verb`rules=ThB`. To insert a rule beneath
-the title, for example, change this to \verb`rules=TthB`.
+and default thicknesses (from \texttt{booktabs}\index{booktabs@\texttt{booktabs}})
+shown in Table~\ref{tab:Rules}. The default setting is \verb`rules=ThB`.
+To insert a rule beneath the title, for example, change this to \verb`rules=TthB`.
If you are using a subtitle row between header and title rows and
want a rule beneath that too, then the spec. is \verb`rules=TtshB`.
@@ -1376,33 +1424,35 @@ want a rule beneath that too, then the spec. is \verb`rules=TtshB`.
can also be used instead of \verb`s`, as in version 2 of \texttt{numerica-tables}.)
To my eye rules beneath both title and subtitle don't work; a rule
beneath the subtitle alone gives a better result. The subtitle rule
-changes its behaviour depending on whether there are two row-variable
+changes its behaviour depending on whether there are two row variable
columns \textendash{} on the left and right of the table \textendash{}
or not. If there is only such column then, like the title rule, the
subtitle rule spans only the function-value columns. If there are
-two row-variable columns then the subtitle rule spans the table but
-is trimmed by 0.5 em at each end. That degree of trim is the \verb`booktabs`
-default but can be changed by giving a different value to \verb`\cmidrulekern`
+two row variable columns then the subtitle rule spans the table but
+is trimmed by 0.5 em at each end. That degree of trim is the \texttt{booktabs}\index{booktabs@\texttt{booktabs}}
+default but can be changed by giving a different value to \verb`\cmidrulekern`\index{cmidrulekern@\texttt{\textbackslash cmidrulekern}}
in the preamble, e.g. \verb`\cmidrulekern=1em`. Note that the changed
trim will also apply to the title rule.
-If you are using a footer row and want a rule above it, then add \verb`f`
-to the specification, e.g. \verb`rules=TthfB`. In version 3 of \texttt{numerica-tables}
-the rule is trimmed at each end. Visually, having two table-spanning
-rules close together, the \verb`f` and \verb`B` rules, doesn't work.
-The trimming makes a difference. (For the \verb`T` and \verb`h`
-rules, the occurrence of the table body beneath the \verb`h` rule
-seems to make a difference to the visual impact of the rules.) But
-the question should always be: is a rule necessary at all? Usually,
-less is more.
+If you are using a footer row\index{footer row} and want a rule above
+it, then add \verb`f` to the specification, e.g. \verb`rules=TthfB`.
+In version 3 of \texttt{numerica-tables} the rule is trimmed at each
+end. Visually, having two table-spanning rules close together, the
+\verb`f` and \verb`B` rules, doesn't work. The trimming makes a
+difference. (For the \verb`T` and \verb`h` rules, the occurrence
+of the table body beneath the \verb`h` rule seems to make a difference
+to the visual impact of the rules.) But the question should always
+be: is a rule necessary at all? Usually, less is more.
If you wish to change the thickness of a rule from its default, then
-enter new values for any or all of \verb`\heavyrulewidth`, \verb`\lightrulewidth`,
-\verb`\cmidrulewidth` in the preamble. The values listed in Table~\ref{tab:Rules}
-are the default values in the \texttt{booktabs} package (except for
-the midrow and footer rules, which \texttt{booktabs} does not cover;
-in \texttt{numerica-tables} these rules are assigned a thickness of
-\verb`\cmidrulewidth`).
+enter new values for any or all of \verb`\heavyrulewidth`\index{heavyrulewidth@\texttt{\textbackslash heavyrulewidth}},
+\verb`\lightrulewidth`\index{lightrulewidth@\texttt{\textbackslash lightrulewidth}},
+\verb`\cmidrulewidth`\index{cmidrulewidth@\texttt{\textbackslash cmidrulewidth}}
+in the preamble. The values listed in Table~\ref{tab:Rules} are
+the default values in the \texttt{booktabs}\index{booktabs@\texttt{booktabs}}
+package (except for the midrow and footer rules, which \texttt{booktabs}\index{booktabs@\texttt{booktabs}}
+does not cover; in \texttt{numerica-tables} these rules are assigned
+a thickness of \verb`\cmidrulewidth`).
The order in which rules are placed in the specification doesn't matter.
I have entered them in their `natural' order simply because it feels
@@ -1411,10 +1461,11 @@ position, that matters.
In the example table below, a rule for the column title has been specified
(the \verb`t` in the setting \verb`rules=TthB`). Also note the use
-of \verb`ctitle=**`. The formula contains an extra parameter $a$,
-assigned a value in the vv-list. It now makes sense to display the
-vv-list in the column title (but note the braces around \verb`k`
-and \verb`x` in the vv-list so that \emph{they} don't display).
+of \verb`ctitle=**`\index{ctitle@\texttt{ctitle}!** setting@\texttt{{*}{*}} setting}.
+The formula contains an extra parameter $a$, assigned a value in
+the vv-list. It now makes sense to display the vv-list in the column
+title (but note the braces around \verb`k` and \verb`x` in the vv-list
+so that \emph{they} don't display).
\begin{verbatim}
\tabulate
[rspec={x,0.25,5},rround=2,rhnudge=9,
@@ -1426,41 +1477,46 @@ $\Longrightarrow$ \tabulate
[rspec={x,0.25,5},rround=2,rhnudge=9,
cspec={k,0.25,3},chstyle=2,chround=2,
ctitle=**,rules=TthB]
- { a\sin kx }[a=2/\pi,{k}=3,{x}=0][*]
+ { a\sin kx }[a=2/\pi,{k}=3,{x}=0][*]\index{rules|)}\index{rules@\texttt{rules}|)}\index{formatting!rules}
-\subsection{Second row-variable column: \texttt{rpos=4}}
+\subsection{Second row variable column: \texttt{rpos=4}}
-\label{subsec:Second-row-var-col}In \ref{subsec:Row-var-col-pos}
-I discussed the settings \verb`rpos=0,1,2` and in \ref{sec:Multiple-function-tables}
+\label{subsec:Second-row-var-col}In\index{row variable column!position in table}
+\index{rpos@\texttt{rpos}|(}\ref{subsec:Row-var-col-pos} I discussed
+the settings \verb`rpos=0,1,2` and in \ref{sec:Multiple-function-tables}
gave an example of using {\ttfamily\verb`rpos=3`} where
-repeating the row-variable column on the right is helpful. There is
+repeating the row variable column on the right is helpful. There is
another value available for this key, \verb`rpos=4`. Like {\ttfamily\verb`rpos=3`}
-this adds the row-variable column to both left and right sides of
+this adds the row variable column to both left and right sides of
the table, but for the right column the values are a function of those
in the left column ({\ttfamily\verb`rpos=3`} corresponds
-to the function being the identity). The value given to the key \verb`rvar'`
-determines the function used and the value given to the key \verb`rhead'`
-determines the header for the right-hand row-variable column. If \verb`rhead'`
+to the function being the identity). The value given to the key \verb`rvar'`\index{rvar@\texttt{rvar'}|(}
+determines the function used and the value given to the key \verb`rhead'`\index{rhead@\texttt{rhead'}|(}
+determines the header for the right-hand row variable column. If \verb`rhead'`
is omitted it defaults to a blank header, unless the \verb`rvar'`
setting is also omitted, when \verb`rpos=4` behaves like \verb`rpos=3`.
-For example, the sine and cosine are complementary functions; when
-working in degrees, $\cos\theta=\sin(90-\theta)$. We can exploit
+For example, the sine and cosine are complementary functions\index{complementary functions|(};
+when working in degrees, $\cos\theta=\sin(90-\theta)$. We can exploit
this fact to halve the table size needed to tabulate the two functions.
-The example also gives an illustration of the use of an expression
-in the third element of \verb`rspec`.
+In the table, $\theta'=90-\theta$ and \verb`rhead'=\theta'`. Simply
+to illustrate the use of \verb`rhnudge'`\index{rhnudge@\texttt{rhnudge'}|(}
+I have nudged the header in the second (right) row variable column
+to sit above the tens digits of the row variable values. The example
+also gives an illustration of the use of an expression in the third
+element of \verb`rspec`.\index{foot@\texttt{foot}}
\begin{verbatim}
\tabulate[ff=;,o,rpos=4,
rspec={\theta,5,1+45/5},rround=0,
- chnudge=14,rvar'=90-\theta,
- rules=ThfB,foot=*]
+ chnudge=14,rvar'=90-\theta,rhnudge'=4,
+ rhead'=\theta',rules=ThfB,foot=*]
{ \sin\theta;\cos\theta }[\theta=0][*]
\end{verbatim}
$\Longrightarrow$ \tabulate[ff=;,o,rpos=4,
rspec={\theta,5,1+45/5},rround=0,
- chnudge=14,rvar'=90-\theta,
- rules=ThfB,foot=*]
- { \sin\theta;\cos\theta }[\theta=0][*]\medskip{}
+ chnudge=14,rvar'=90-\theta,rhnudge'=4,
+ rhead'=\theta',rules=ThfB,foot=*]
+ { \sin\theta;\cos\theta }[\theta=0][*]\index{footer row!complementary functions}\index{rhnudge@\texttt{rhnudge'}|)}\index{rhead@\texttt{rhead'}|)}\index{ff@\texttt{ff}}\medskip{}
\noindent The values of sines from $0$ to $45$ degrees are read
downwards from the first column of function values, and from 45 to
@@ -1469,10 +1525,8 @@ For cosines it is downwards from the second column and upwards from
the first column. The reversed footer line indicates the change of
columns to use. In the example note
\begin{itemize}
-\item the setting of \verb`rvar'` to a function (\verb`90-\theta`) of
-the row variable (\verb`\theta`);
-\item the blank header for the \verb`rvar'` column (since no value was
-set for \verb`rhead'`);
+\item the setting of \verb`rvar'`\index{rvar@\texttt{rvar'}|)} to a function
+\verb`90-\theta` of the row variable;
\item the footer setting \verb`foot=*` to obtain the reversed header in
the footer;
\item the rule \emph{above} the footer row specified by the \verb`f` added
@@ -1485,31 +1539,33 @@ Although there is a significant space saving with tables like this
reader'. They require a certain concentration to read and in my view
should be avoided unless space is seriously constrained. \emph{HMF}
Tables 6.1 and 6.2 are tables of the gamma function and its relatives
-where $y=x-1$ is used in the row-variable column on the right (stemming
+where $y=x-1$ is used in the row variable column on the right (stemming
from $y!=\Gamma(x-1)$); \emph{HMF }Table 6.5 in effect uses $\langle1/x\rangle$
-(the nearest integer to $1/x$) for the row variable on the right.
+(the nearest integer to $1/x$) for the row variable on the right.\index{complementary functions|)}
\subsection{Separating blocks of rows: \texttt{rbloc}}
-Readability of long columns of figures can be aided by breaking the
-columns into blocks with extra white space between blocks of rows.
-This is achieved with the \texttt{rbloc} key:
-\begin{lyxcode}
-rbloc~=~<comma~list~of~positive~integers>
-\end{lyxcode}
+Readability\index{formatting!grouping rows|(}\index{row grouping|(}
+of long columns of figures can be aided by breaking the columns into
+blocks with extra white space between blocks of rows. This is achieved
+with the \verb`rbloc`\index{rbloc@\texttt{rbloc}|(} key:
+\begin{verbatim}
+ rbloc = <comma list of positive integers>
+\end{verbatim}
specifies how many rows belong to each block. For example, \verb`rbloc={5,5,6}`
breaks the table into blocks of $5$ rows, $5$ rows, then $6$ rows.
If the number of rows in the table is greater than the sum of the
entries in the comma list, then division into blocks continues as
-specified by the last entry in the comma list. Thus \texttt{rbloc=5}
-(strictly \texttt{rbloc=\{5\}} but the braces can be omitted in this
+specified by the last entry in the comma list. Thus \verb`rbloc=5`
+(strictly \verb`rbloc={5}` but the braces can be omitted in this
case since no comma is enclosed) divides a table into blocks of $5$
-rows; \texttt{rbloc=\{1,5\}} divides a table into $1$ row followed
-by blocks of $5$ rows. A division of this kind may be appropriate
-when, say, the row variable runs from $0$ to $1$ in increments of
-$0.1$ \textendash{} there are $11$ rows of which the first (when
-the row variable is zero) may have distinctive values.
+rows; \verb`rbloc={1,5}` divides a table into $1$ row followed by
+blocks of $5$ rows. A division of this kind may be appropriate when,
+say, the row variable runs from $0$ to $1$ in increments of $0.1$
+\textendash{} there are $11$ rows of which the first (when the row
+variable is zero) may have distinctive values.
+\noindent{}%
\noindent\begin{minipage}[t]{1\columnwidth}%
\begin{shaded}%
@@ -1531,8 +1587,8 @@ mark to signal the end of the page or the table.\end{shaded}%
\end{minipage}
\medskip{}
-In the next example I have divided the columns into blocks of $5$
-rows by means of the setting \texttt{rbloc=5}.
+In the next example I have divided the rows into blocks of $5$ by
+means of the setting \verb`rbloc=5`.
\begin{verbatim}
\tabulate[ff=;,o,rspec={\theta,10,1+90/10},
rround=0,rbloc=5]
@@ -1540,28 +1596,32 @@ rows by means of the setting \texttt{rbloc=5}.
\end{verbatim}
$\Longrightarrow$ \tabulate[ff=;,o,rspec={\theta,10,1+90/10},
rround=0,rbloc=5]
- { \sin \theta; \cos \theta}[\theta=0][*]
+ { \sin \theta; \cos \theta}[\theta=0][*]\index{rbloc@\texttt{rbloc}|)}
\subsubsection{Adjusting the extra space\texttt{ rblocsep} }
By default \texttt{numerica} sets the extra space between blocks of
rows at \verb`1 ex`. This value can easily by changed with the setting
-\texttt{rblocsep=<length>}. The units need to be included in the specification.
+\verb`rblocsep=<length>`\index{rblocsep@\texttt{rblocsep}}. The
+units need to be included in the specification. \index{formatting!grouping rows|)}\index{row grouping|)}
\subsection{Table placement}
-\label{sec:Table-placement}Tables can be nudged vertically with the
-\LaTeX{} commands \verb`\bigskip`, \verb`\medskip`, \verb`\smallskip`,
+\label{sec:Table-placement}Tables\index{table placement!on the page}
+can be nudged vertically with the \LaTeX{} commands \verb`\bigskip`\index{bigskip@\texttt{\textbackslash bigskip}},
+\verb`\medskip`\verb`\medskip`, \verb`\smallskip`\index{smallskip@\texttt{\textbackslash smallskip}},
usually about $1$, $\sfrac12$ and $\sfrac14$ line spaces (with
-stretch and shrink). \verb`booktabs` provides \verb`\abovetopsep`
-and \verb`\belowbottomsep`, both set by default to \verb`0ex` and
-easily changed by writing, e.g., \verb`\abovetopsep=1.25ex` if you
-want to insert \verb`1.25ex` of space above the table (perhaps to
-fit captions).
+stretch and shrink). \texttt{booktabs}\index{booktabs@\texttt{booktabs}}
+provides \verb`\abovetopsep`\index{abovetopsep@\texttt{\textbackslash abovetopsep}}
+and \verb`\belowbottomsep`\index{belowbottomsep@\texttt{\textbackslash belowbottomsep}},
+both set by default to \verb`0ex` and easily changed by writing,
+e.g., \verb`\abovetopsep=1.25ex` if you want to insert \verb`1.25ex`
+of space above the table (perhaps to fit captions).
\subsubsection{Vertical~alignment}
-\label{subsec:Verticalalignment}By writing\texttt{ }{\ttfamily\verb`valign=<char>`}
+\label{subsec:Verticalalignment}By\index{table placement!on the line}
+writing\texttt{ }{\ttfamily\verb`valign=<char>`}\index{valign@\texttt{valign}}
where \verb`<char>` is one of \verb`t`, \verb`m` or \verb`b` the
vertical alignment of the table can be set relative to the text baseline.\texttt{ }\verb`valign=t`\texttt{
}aligns the top of the table with the text baseline, \verb`valign=b`
@@ -1596,7 +1656,7 @@ the tables align).
\section{Function value formatting}
-\label{sec:Function-value-formatting}
+\label{sec:Function-value-formatting}\index{formatting!function values|(}\index{function value formatting|(}
\begin{table}
\centering{}\caption{\protect\label{tab:Function-value-formatting}Formatting function
values}
@@ -1605,9 +1665,10 @@ values}
\toprule
{\small key} & {\small type} & {\small meaning} & {\small initial}\tabularnewline
\midrule
-{\small\texttt{(pad)}} & {\small int} & {\small (t-notation) phantom padding} & \tabularnewline
+{\small\texttt{(pad)}} & {\small int} & {\small t-notation phantom padding} & \tabularnewline
{\small\texttt{signs}} & {\small int} & {\small sign handling for function-values} & {\small\texttt{0}}\tabularnewline
{\small\texttt{diffs}} & {\small int} & {\small insert differences \& pre-pad with zeros} & {\small\texttt{0}}\tabularnewline
+{\small\texttt{round}} & {\small tokens} & {\small row or col. dependent rounding value} & \tabularnewline
{\small\texttt{Q?}} & {\small tokens} & {\small special cell conditional} & \tabularnewline
{\small\texttt{A!}} & {\small tokens} & {\small special cell formatting} & \tabularnewline
\bottomrule
@@ -1618,30 +1679,32 @@ In previous tables in this document, function values have generally
been limited to a fairly narrow range of values. What happens when
function values span orders of magnitude? Can we accommodate scientific
notation, expressly designed to cope with such orders of magnitude,
-in a natural way? Or, in a different direction, can we form tables
-of function values in fraction form?
+in a natural way? Can we round rows or columns to different rounding
+values? Or, in a different direction, can we form tables of function
+values in fraction form?
\subsection{Trailing optional argument}
\label{subsec:Trailing-optional-argument}The primary tool for function-value
formatting is the trailing optional argument of the \verb`\tabulate`
-command where the rounding value is specified, padding with zeros
-is set or not (generally \emph{set} in tables), scientific notation
-is set or not, and fraction-form output can be specified.
+command where the rounding value\index{rounding value} is specified,
+padding with zeros is set or not (generally \emph{set} in tables),
+scientific notation is set or not, and fraction-form output can be
+specified.
\subsubsection{Fraction-form output}
-\label{subsec:Fraction-form-output}\ref{subsec:rfracFraction-form-rvar}
-showed the row variable in fraction form. Function values can also
-be presented in that form. The problem is that such output requires
-far more computation than other output since finding denominators
-at the specified accuracy is an iterative process that needs to be
-performed for every function value. However, it is feasible for small
-tables. In the tables below, approximations to small positive and
-inverse powers of $\pi$ are listed to $2$ and $4$ decimal places
-of accuracy. It is interesting that all the powers listed can be approximated
-to $4$-place accuracy by $3$-figure denominators (and $\pi^{2}$
-by a $2$-figure denominator).
+\label{subsec:Fraction-form-output}In\index{fraction form!function values|(}\index{function value formatting!fraction form|(}
+\ref{subsec:rfracFraction-form-rvar} we saw how to display the row
+variable in fraction form. Function values can also be presented in
+that form. The problem is that such output requires far more computation
+than other output since finding denominators at the specified accuracy
+is an iterative process that needs to be performed for every function
+value. However, it is feasible for small tables. In the tables below,
+approximations to small positive and inverse powers of $\pi$ are
+listed to $2$ and $4$ decimal places of accuracy. It is interesting
+that all the powers listed can be approximated to $4$-place accuracy
+by $3$-figure denominators (and $\pi^{2}$ by a $2$-figure denominator).\index{row variable!verbatim values|(}\index{sfrac@\texttt{\textbackslash sfrac}}
\begin{verbatim}
\def\mydataiii{\pi,\pi^2,\pi^3,
\pi^{\sfrac12},\pi^{\sfrac13}}
@@ -1659,21 +1722,36 @@ $\Longrightarrow$ \def\mydataiii{\pi,\pi^2,\pi^3,
{ k }[2/s]\qquad
\tabulate[rdata=\mydataiii,rverb=1,rpos=1,
rvar=k,ralign=l,chead={\small $4$ places}]
- { k }[4/s]
+ { k }[4/s]\medskip{}
+
+A second example shows that all four built-in constants to \texttt{numerica}
+and their first few inverse powers can be approximated to $5$ decimal
+places with $3$-figure denominators:\index{sfrac@\texttt{\textbackslash sfrac}}
+\begin{verbatim}
+ \tabulate[rdata={\pi ,e,\phi,\gamma},rverb=1,rvar=k,
+ cspec={n,1,4},chstyle=3,chnudge=9,rules=TthB,/max=1000,
+ ctitle=\lvert k^{\sfrac1n}-p/q \rvert<0.5\times10^{-5}]
+ { k^{\sfrac1n} }[n=1,k=1][/s5]
+\end{verbatim}
+$\Longrightarrow$ \tabulate[rdata={\pi ,e,\phi,\gamma},rverb=1,rvar=k,
+ cspec={n,1,4},chstyle=3,chnudge=9,rules=TthB,/max=1000,
+ ctitle=\lvert k^{\sfrac1n}-p/q \rvert<0.5\times10^{-5}]
+ { k^{\sfrac1n} }[n=1,k=1][/s5]\index{function value formatting!fraction form|)}\index{fraction form!function values|)}\index{row variable!verbatim values|)}
\subsubsection{Scientific notation}
-Elegant scientific notation, set with an \verb`x` in the trailing
-optional argument, is generally not appropriate for use in tables;
-see the first table below. Repeating the \verb`x` \textendash{} \verb`xx`
-\textendash{} in the trailing optional argument (the second table)
-so that scientific notation extends to numbers in the range $[1,10)$
-helps, particularly with the \emph{left} alignment chosen for the
-function-value column, but the result is wasteful of space and the
-repetition of the `$\times10$' is distracting and would be more
-so for a larger table. The \verb`x` specification should be used
-in tables, if at all, only for \emph{small} tables and special cases.
-The \verb`t` option is much preferred; see \ref{subsec:t-option}
+Elegant\index{function value formatting!scientific notations|(} scientific
+notation\index{scientific notation},\index{scientific notation|seealso{t-notation}}
+set with an \verb`x` in the trailing optional argument, is generally
+not appropriate for use in tables; see the first table below. Repeating
+the \verb`x` \textendash{} \verb`xx` \textendash{} in the trailing
+optional argument (the second table) so that scientific notation extends
+to numbers in the range $[1,10)$ helps, particularly with the \emph{left}
+alignment chosen for the function-value column, but the result is
+wasteful of space and the repetition of the `$\times10$' is distracting
+and would be more so for a larger table. The \verb`x` specification
+should be used in tables, if at all, only for \emph{small} tables
+and special cases. The \verb`t` option is much preferred; see \ref{subsec:t-option}
below.
\begin{verbatim}
\tabulate[rspec={x,1,2*3+1},rround=0]
@@ -1686,11 +1764,12 @@ $\Longrightarrow$ \tabulate[rspec={x,1,2*3+1},rround=0]
\tabulate[rspec={x,1,2*3+1},rround=0,calign=l]
{ e^x}[x=-3][*xx]
-\subsubsection{The \texttt{t} option}
+\subsection{The \texttt{t} option}
-\label{subsec:t-option}\emph{HMF} uses a special notation for coping
-with function values spanning orders of magnitude. This notation can
-be invoked by inserting \verb`t` in the trailing optional argument.
+\label{subsec:t-option}\emph{HMF}\index{t-notation|(} uses a special
+notation\index{function value formatting|(seealso{t-notation}} for
+coping with function values spanning orders of magnitude. This notation
+can be invoked by inserting \verb`t` in the trailing optional argument.
Repeating the previous two tables, and adding a \verb`chnudge` value,
gives a more compact and visually appealing result:
\begin{verbatim}
@@ -1706,9 +1785,10 @@ $\Longrightarrow$ \tabulate[rspec={x,1,2*3+1},rround=0,chnudge=24]
\subsubsection{Padding the exponent: \texttt{(pad)}}
-In the second table of the last example some might quibble at the
-lack of alignment of the left parentheses. \emph{HMF} tends to align
-these and \verb`numerica-tables` offers the setting
+In\index{padding with phantoms|(} the second table of the last example
+some might quibble at the lack of alignment of the left parentheses.
+\emph{HMF} tends to align these and \verb`numerica-tables` offers
+the setting
\begin{verbatim}
(pad) = <integer>
\end{verbatim}
@@ -1735,16 +1815,17 @@ Note that this setting is relevant only when the \texttt{t} option
is used in the trailing number-formatting argument of the \verb`\tabulate`
command. Examples in \emph{HMF} of the style exemplified by the first
table are, among others, Tables 8.6, 9.2, 20.1, and of the style exemplified
-by the second table, among many, Tables 9.9, 10.5, 13.1, 14.1, 19.1.
+by the second table, among many, Tables 9.9, 10.5, 13.1, 14.1, 19.1.\index{padding with phantoms|)}
-\subsection{Accommodating signs: \texttt{signs}}
+\paragraph{Accommodating signs: \texttt{signs}}
-\label{subsec:Signs}Instead of $e^{x}$ as the test function, use
-$e^{x}-1.$ Now there are positive, zero and negative function values
-to contend with. Recall that in the \verb`t`-notation the \emph{exponent}
-is the parenthesized integer part of a number and the \emph{significand}
-the following decimal figures. \verb`numerica-tables` offers the
-\verb`signs` key to align (or not) the exponents. The setting is
+\label{subsec:Signs}Instead\index{t-notation!accommodating signs}\index{function value formatting!sign handling|(}
+of $e^{x}$ as the test function, use $e^{x}-1.$ Now there are positive,
+zero and negative function values to contend with. Recall that in
+the \verb`t`-notation the \emph{exponent} is the parenthesized integer
+part of a number and the \emph{significand} the following decimal
+figures. \verb`numerica-tables` offers the \verb`signs`\index{signs@\texttt{signs}|(}
+key to align (or not) the exponents. The setting is
\begin{verbatim}
signs = <integer>
\end{verbatim}
@@ -1799,12 +1880,16 @@ values in the \verb`t`-notation:
\end{verbatim}
$\Longrightarrow$ \tabulate[rspec={x,1,2*3+1},rround=0,
(pad)=2,signs=1]
- { e^x-1}[x=-3][4*tt]\medskip{}
+ { e^x-1}[x=-3][4*tt]\index{t-notation|)}\index{function value formatting!scientific notations|)}\index{padding with phantoms|)}\medskip{}
+
-But the \verb`signs` key is not limited to the \verb`t`-notation.
-In the following tables where the notation is not used, positive values
-for the key, including \verb`signs=1`, give good results (I've included
-also the default setting \textendash{} the third table):
+\subsection{Indicating signs outside the t-notation}
+
+The \verb`signs` key is not limited to the \verb`t`-notation. In
+the following tables where the notation is not used, positive values
+for the key, including \verb`signs=1`\index{signs@\texttt{signs}},
+give good results (I've included also the default setting \textendash{}
+the third table):
\begin{verbatim}
\tabulate[rspec={x,0.1,9},(pad)=2,signs=2]
{ 10\sin 5x}[x=-0.4][*4]\qquad
@@ -1824,14 +1909,63 @@ $\Longrightarrow$ \tabulate[rspec={x,0.1,9},(pad)=2,signs=2]
the function values changes every few entries and \verb`signs=1`
when there are runs of entries of the same sign. Over the range tabulated
here for $10\sin5x$, they would use the middle table of the three,
-\verb`signs=1`.
+\verb`signs=1`.\index{function value formatting!sign handling|)}\index{signs@\texttt{signs}|)}
+
+\subsection{Rounding to varying values}
+
+\label{subsec:Rounding-varying} Above\index{rounding value!row/col-dependent|(},
+in \ref{subsec:Fraction-form-output}, we created two tables of fraction-form
+approximations to simple power functions of $\pi$, one accurate to
+two places of decimals, one to four places. Version 3.1 of \texttt{numerica-tables}
+(as distinct from version 3.0) offers the means of producing tables
+with rounding values depending on position in the table. This is effected
+through the key \index{round@\texttt{round}|(}
+\begin{verbatim}
+ round = f(rvar,cvar)
+\end{verbatim}
+where \texttt{f(rvar,cvar)} denotes a function of row and column variables.
+Usually this will mean dependence either on row variable or column
+variable rather than both. In the present instance we form a multi-function
+table and with the \verb`round` key let the rounding value equal
+the row variable value \verb`r` (\verb`round=r`) to obtain fractional
+approximations to simple powers of $\pi$ at rounding values from
+$1$ to $5$ (and discover that all these values can be approximated
+to $5$ decimal places with $3$ figure denominators \textendash{}
+$\pi^{2}$ only just).\index{multi-function tables}\index{fraction form!row/col-dependent rounding}
+\begin{verbatim}
+ \tabulate[ff,rspec={r,1,5},round=r,/max=999,chstyle=2,
+ ctitle=\lvert\pi^k-\sfrac mn\rvert<0.5\times10^{-r}]
+ { \pi,\pi^2,\pi^3,\pi^{1/2},\pi^{1/3}}[r=1][/s]
+\end{verbatim}
+$\Longrightarrow$ \tabulate[ff,rspec={r,1,5},round=r,/max=999,chstyle=2,
+ ctitle=\lvert\pi^k-\sfrac mn\rvert<0.5\times10^{-r}]
+ { \pi ,\pi^2,\pi^3,\pi^{1/2},\pi^{1/3}}[r=1][/s]\index{fraction form!function values}\index{function value formatting!fraction form}\medskip{}
+
+Another place where a variable rounding value can be of value is when
+a function being tabulated changes slowly for each step in the row
+variable value; the value of the cosine for instance changes from
+$1.0000$ to $\eval{\cos10\degree}[4]$ between $0\degree$ and $10\degree$.
+\emph{Part} of a table of the cosine might be something like the following,
+where values in the initial rows of the table are rounded to a higher
+value than in later rows. \verb`round` is set to an expression involving
+the row variable in boolean elements \verb`\theta<11` and \verb`\theta>10`
+which evaluate to $0$ or $1$ so that \verb`round` takes the value
+$6$ for the initial rows of the table and the value $4$ thereafter.
+\begin{verbatim}
+ \tabulate[o,rspec={\theta,1,6},calign=l,chnudge=15,
+ round=6(\theta<11)+4(\theta>10)]
+ { \cos\theta }[\theta=8]
+\end{verbatim}
+$\Longrightarrow$ \tabulate[o,rspec={\theta,1,6},calign=l,chnudge=15,
+ round=6(\theta<11)+4(\theta>10)]
+ { \cos\theta }[\theta=8]\index{rounding value!row/col-dependent|)}\index{round@\texttt{round}|)}
\subsection{Differences: \texttt{diffs}}
-In fine-grained tables where function values change only slowly from
-entry to entry it can be helpful to include a difference entry between
-function-value entries as an aid to interpolation (and a test of eyesight).
-By entering
+In\index{differences|(} fine-grained tables where function values
+change only slowly from entry to entry it can be helpful to include
+a difference entry between function-value entries as an aid to interpolation
+(and a test of eyesight). By entering
\begin{lyxcode}
diffs~=~<non-negative~integer>
\end{lyxcode}
@@ -1887,11 +2021,12 @@ too small. (A left alignment of the function value column is another
way of tackling this issue.) When the \texttt{diffs} setting is too
big, alignment is fine but differences are padded with unnecessary
leading zeros, meaning the column header will need a bigger nudge
-to bring \emph{it} into alignment.
+to bring \emph{it} into alignment. \index{differences|)}
\subsection{Formatting special values: \texttt{Q?} and \texttt{A!}}
-You may wish to highlight or display in some special way a particular
+You\index{function value formatting!highlighting special values|(}\index{Q?@\texttt{Q?}|(}\index{A@\texttt{A"!}|(}
+may wish to highlight or display in some special way a particular
function value or values. \verb`\nmcTabulate` has two related settings
that enable this: \verb`Q?=<tokens>` and \verb`A!=<tokens>`. As
the names suggest: Question? and Answer!
@@ -1909,9 +2044,10 @@ $\ne$),\texttt{ }\verb`>=` (for $\ge$), and\texttt{ }\verb`<=`
(for $\le$) will be digested by \verb`l3fp`. In addition there are
\verb`||` for logical Or, \verb`&&` for logical And, and \verb`!`
for logical Not; \verb`exp(1)` for $e$ and \verb`pi` (no backslash)
-for $\pi$. \texttt{numerica-tables} provides \verb`MAX` and \verb`MIN`
-for the maximum and minimum function values tabulated, and uses \verb`@`
-to denote the current function value.
+for $\pi$. \texttt{numerica-tables} provides \verb`MAX`\index{MAX@\texttt{MAX}}
+and \verb`MIN`\index{MIN@\texttt{MIN}} for the maximum and minimum
+function values tabulated, and uses \verb`@` to denote the current
+function value.
So, a query might be \verb`Q?=@<0`, \emph{Is the current function
value negative?}, or \verb`Q?={@>=pi}`, \emph{Is the current function
@@ -1947,10 +2083,11 @@ $\Longrightarrow$ \tabulate
\subsubsection{Star option: \texttt{\textbackslash nmcTabulate{*}}}
-\label{sec:Star-option}If the \verb`Q?` question is satisfied by
-at least one function value then adding a star (asterisk) to the \verb`\tabulate`
-command will display the first such instance. Like other starred commands
-in the \verb`numerica` suite (\verb`\eval*`, \verb`info*`, \verb`\macros*`,
+\label{sec:Star-option}If\index{nmcTabulate@\texttt{\textbackslash nmcTabulate}!star (*) option@star (\texttt{{*}}) option}
+the \verb`Q?` question is satisfied by at least one function value
+then adding a star (asterisk) to the \verb`\tabulate` command will
+display the first such instance. Like other starred commands in the
+\verb`numerica` suite (\verb`\eval*`, \verb`info*`, \verb`\macros*`,
\verb`\constants*`, \verb`\iter*`, \verb`\solve*` and \verb`\recur*`),
\verb`\tabulate*` outputs a single number. Using the star means
you do not need an answering \verb`A!` to the query \verb`Q?` since
@@ -1971,7 +2108,7 @@ the first function value encountered outside the interval $[0,0.5]$.
If you want the \emph{maximum} value that has been tabulated then,
from version 3 of \texttt{numerica-tables}, you do not even need the
query: when \verb`\tabulate` is starred, \verb`Q?` is initialized
-behind the scenes to \verb`@=MAX`.\footnote{\noindent In the unlikely event that someone \emph{consistently} wanted
+behind the scenes to \verb`@=MAX`\index{MAX@\texttt{MAX}}.\footnote{\noindent In the unlikely event that someone \emph{consistently} wanted
some other query to be asked \textendash{} the minimum value perhaps,
or first negative value or \ldots{} \textendash{} please let the author
know. It would be straightforward to use a package option to give
@@ -1995,7 +2132,8 @@ $\Longrightarrow$ \tabulate
\paragraph{Errors}
-If \emph{no} function value satisfies a query then a message is generated:
+If\index{error messages} \emph{no} function value satisfies a query
+then a message is generated:
\begin{verbatim}
\tabulate*[rspec={n,1,1+(15-4)},
cspec={m,1,1+(5-2)},Q?=@>1]
@@ -2004,7 +2142,7 @@ If \emph{no} function value satisfies a query then a message is generated:
$\Longrightarrow$ \tabulate*
[rspec={n,1,1+(15-4)},cspec={m,1,1+(5-2)},
Q?=@>1]
- { \cos(m\pi/n) }[n=4,m=2][*4]
+ { \cos(m\pi/n) }[n=4,m=2][*4]\index{Q?@\texttt{Q?}|)}\index{A@\texttt{A"!}|)}
\paragraph{Scientific notation}
@@ -2027,7 +2165,7 @@ $\Longrightarrow$ $
[rspec={n,1,1+(15-4)},cspec={m,1,1+(5-2)},
Q?={@<-1e-14||@>0.5+1e-14},A!=]
{ \cos(m\pi/n) }[n=4,m=2][*4x]
- $.
+ $.\index{formatting!function values|)}\index{function value formatting|)}\index{function value formatting!highlighting special values|)}
\section{Other matters}
@@ -2035,9 +2173,10 @@ Here I group items that do not fit naturally into the earlier categories.
\subsection{Nesting}
-\label{subsec:Nesting}A \verb`\tabulate` command can be nested within
-other commands from the \verb`numerica` suite, and those other commands
-can be nested within a \verb`\tabulate` command.
+\label{subsec:Nesting}A\index{nmcTabulate@\texttt{\textbackslash nmcTabulate}!nesting}
+\verb`\tabulate` command can be nested within other commands from
+the \verb`numerica` suite, and those other commands can be nested
+within a \verb`\tabulate` command.
Occasionally one might want to extract a value from a table to insert
in another command. This can be done by nesting a \verb`\tabulate*`
@@ -2105,14 +2244,14 @@ of signals between points fixed on a rotating disk.
\subsection{Saving tables to file}
-\label{sec:reuse-setting}In earlier versions of \texttt{numerica-tables}
-it was possible to save a table to file, or a row or a column or a
-particular value from a table, by giving a \emph{setting} \verb`reuse`
-a value. From version 3.0.0, in the interests of simplifying use (and
-avoiding code complications) the \verb`reuse` \emph{setting} has
-been discontinued. The \verb`\reuse` (or \verb`\nmcReuse`) \emph{command}
-remains (as part of the \texttt{numerica} package) and can be used
-to save the most recent table to file.
+\label{sec:reuse-setting}In\index{tables!saving to file}\index{saving tables to file}
+earlier versions of \texttt{numerica-tables} it was possible to save
+a table to file, or a row or a column or a particular value from a
+table, by giving a \emph{setting} \verb`reuse` a value. From version
+3.0.0, in the interests of simplifying use (and avoiding code complications)
+the \verb`reuse` \emph{setting} has been discontinued. The \verb`\reuse`
+(or \verb`\nmcReuse`) \emph{command} remains (as part of the \texttt{numerica}
+package) and can be used to save the most recent table to file.
In the following example, a table is created and then saved to file
and to the macro \verb`\mytable` by the subsequent \verb`\reuse`
@@ -2156,12 +2295,13 @@ command. These have been described in the associated document \texttt{numerica.p
\subsection{Viewing the \protect\LaTeX{} form}
-In previous versions of \texttt{numerica-tables} the \verb`dbg` and
-\verb`view` settings were disabled. In version 3, they have been
-enabled to the extent that the \LaTeX{} form of a table can be viewed
-by entering either \verb`dbg=11` or, less nerdishly, \verb`view`
-into the settings option of \verb`\nmcTabulate`. In the example I
-first create the table and then use the \verb`view` setting:
+In\index{tables!viewing LaTeX form@viewing \LaTeX{} form} previous
+versions of \texttt{numerica-tables} the \verb`dbg` and \verb`view`\index{view@\texttt{view}}
+settings were disabled. In version 3, they have been enabled to the
+extent that the \LaTeX{} form of a table can be viewed by entering
+either \verb`dbg=11` or, less nerdishly, \verb`view` into the settings
+option of \verb`\nmcTabulate`. In the example I first create the
+table and then use the \verb`view` setting:
\begin{verbatim}
\tabulate[view,rvar=x,rstep=0.2,rstop=1]
@@ -2185,7 +2325,7 @@ $\Longrightarrow$ \tabulate [view,rvar=x,rstep=0.2,rstop=1]
\toprule
{\small key} & {\small type} & {\small meaning} & {\small comment}\tabularnewline
\midrule
-{\small\texttt{rvar}} & {\small token(s)} & {\small row-variable} & \tabularnewline
+{\small\texttt{rvar}} & {\small token(s)} & {\small row variable} & \tabularnewline
{\small\texttt{rstep}} & {\small real num} & {\small step size} & \tabularnewline
{\small\texttt{rstop}} & {\small real num} & {\small stop value} & \multirow{2}{3cm}{either {\small\texttt{rstop}}{\small{} or }{\small\texttt{rows}}{\small ,
not both}}\tabularnewline
@@ -2218,7 +2358,7 @@ values verbatim} & {\small default }{\small\texttt{0}}\tabularnewline
\begin{center}
\begin{tabular}{ll>{\raggedright}p{4cm}l}
\toprule
-{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
+{\small key} & {\small type} & {\small meaning} & {\small initial}\tabularnewline
\midrule
{\small\texttt{rround}} & {\small int} & {\small rounding} & {\small\texttt{1}}\tabularnewline
{\small\texttt{ralign}} & {\small char (}{\small\texttt{r/c/l}}{\small )} & {\small horizontal alignment} & {\small\texttt{r}}\tabularnewline
@@ -2226,11 +2366,12 @@ values verbatim} & {\small default }{\small\texttt{0}}\tabularnewline
{\small\texttt{rhead}} & {\small tokens} & {\small header} & {\small\texttt{rvar}}\tabularnewline
{\small\texttt{rhnudge}} & int & {\small nudge header }{\small{\small\verb`rhnudge`}}{\small{}
mu} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small column position(s)} & {\small\texttt{1}}\tabularnewline
-{\small\texttt{rvar'}} & {\small token(s)} & {\small 2nd row-variable col. spec.} & {\small\texttt{rvar}}\tabularnewline
+{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & & {\small\texttt{1}}\tabularnewline
+{\small\texttt{rvar'}} & {\small token(s)} & {\small 2nd row variable col. spec.} & {\small\texttt{rvar}}\tabularnewline
{\small\texttt{rhead'}} & {\small token(s)} & {\small header of 2nd r-v col. (if it exists)} & {\small\texttt{rvar'}}\tabularnewline
{\small\texttt{rhnudge'}} & int & {\small nudge 2nd r-v col. header }{\small{\small\verb`rhnudge'`}}{\small{}
mu} & {\small\texttt{0}}\tabularnewline
+{\small\texttt{rfrac}} & {\small int (}{\small\texttt{0}}{\small\ldots 5)} & {\small fraction form} & {\small\texttt{0}}\tabularnewline
\bottomrule
\end{tabular}
\par\end{center}
@@ -2243,7 +2384,7 @@ mu} & {\small\texttt{0}}\tabularnewline
\toprule
{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
\midrule
-{\small\texttt{cvar}} & {\small token(s)} & {\small column-variable} & \tabularnewline
+{\small\texttt{cvar}} & {\small token(s)} & {\small column variable} & \tabularnewline
{\small\texttt{cstep}} & {\small real num} & {\small step size} & \tabularnewline
{\small\texttt{cstop}} & {\small real num} & {\small stop value} & {\small either }{\small\texttt{cstop}}\tabularnewline
{\small\texttt{cols}} & {\small int} & {\small number of columns} & {\small or }{\small\texttt{cols}}{\small , not both}\tabularnewline
@@ -2266,7 +2407,7 @@ mu} & {\small\texttt{0}}\tabularnewline
{\small\texttt{calign}} & {\small char (r/c/l)} & {\small column alignment} & {\small\texttt{r}}\tabularnewline
{\small\texttt{chnudge}} & {\small int} & {\small nudge header }{\small{\small\verb`chnudge`}}{\small{}
mu} & {\small\texttt{0}}\tabularnewline
-{\small\texttt{chround}} & {\small int} & {\small column header rounding} & {\small\texttt{0}}\tabularnewline
+{\small\texttt{chround}} & {\small int} & {\small{} rounding} & {\small\texttt{0}}\tabularnewline
\bottomrule
\end{tabular}
\par\end{center}\newpage{}
@@ -2279,7 +2420,7 @@ mu} & {\small\texttt{0}}\tabularnewline
\toprule
{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
\midrule
-{\small\texttt{(pad)}} & {\small int} & {\small (t-notation) phantom padding} & \tabularnewline
+{\small\texttt{(pad)}} & {\small int} & {\small t-notation phantom padding} & \tabularnewline
{\small\texttt{signs}} & {\small int} & {\small sign handling for function-values} & {\small\texttt{0}}\tabularnewline
{\small\texttt{diffs}} & {\small int} & {\small insert differences \& pre-pad with zeros} & {\small\texttt{0}}\tabularnewline
{\small\texttt{Q?}} & {\small tokens} & {\small special cell conditional} & \tabularnewline
@@ -2297,11 +2438,11 @@ mu} & {\small\texttt{0}}\tabularnewline
{\small key} & {\small type} & {\small meaning} & {\small default}\tabularnewline
\midrule
{\small\texttt{ctitle}} & {\small token(s)} & {\small collective title for function-value columns} & \tabularnewline
-{\small\texttt{cmidrow}} & {\small token(s)} & {\small inter-header/title row for} {\small function-value columns} & \tabularnewline
+ & {\small token(s)} & {\small inter-header/title row for} {\small function-value columns} & \tabularnewline
{\small\texttt{header}} & {\small int (}{\small\texttt{0/1}}{\small )} & {\small suppress/show header row} & {\small\texttt{1}}\tabularnewline
{\small\texttt{rules}} & {\small char(s)} & {\small horizontal rules template} & {\small\texttt{ThB}}\tabularnewline
{\small\texttt{foot}} & {\small token(s)} & {\small content of footer line} & \tabularnewline
-{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small row-variable column position(s)} & {\small\texttt{1}}\tabularnewline
+{\small\texttt{rpos}} & {\small int (}{\small\texttt{0}}{\small\ldots}{\small\texttt{4}}{\small )} & {\small row variable } & {\small\texttt{1}}\tabularnewline
{\small\texttt{rbloc}} & {\small comma list} & {\small division of rows into blocks} & \tabularnewline
{\small\texttt{valign}} & {\small char (}{\small\texttt{t}}/{\small\texttt{m}}/{\small\texttt{b}}{\small )} & {\small vertical alignment of table relative to text baseline} & {\small\texttt{m}}\tabularnewline
\bottomrule
@@ -2313,4 +2454,6 @@ mu} & {\small\texttt{0}}\tabularnewline
\verb`view`, equivalent to \verb`dbg=11`: show the \LaTeX{} expression
for the table.
+
+{\small\printindex}{\small\par}
\end{document}
diff --git a/macros/latex/contrib/robust-externalize/README.md b/macros/latex/contrib/robust-externalize/README.md
new file mode 100644
index 0000000000..9f0d70318e
--- /dev/null
+++ b/macros/latex/contrib/robust-externalize/README.md
@@ -0,0 +1,7 @@
+# `robust-externalize`
+
+LaTeX library to cache anything (TikZ, python…), in a robust, efficient and pure way. For more information, see the documentation in [`robust-exteralize.pdf`][1].
+
+The project, created by Léo Colisson, is hosted at https://github.com/leo-colisson/robust-externalize . Feel free to report any bug there. It is licensed under MIT.
+
+ [1]: https://raw.githubusercontent.com/leo-colisson/robust-externalize/master/doc/robust-externalize.pdf
diff --git a/macros/latex/contrib/robust-externalize/robust-externalize.pdf b/macros/latex/contrib/robust-externalize/robust-externalize.pdf
new file mode 100644
index 0000000000..a20079e4cd
--- /dev/null
+++ b/macros/latex/contrib/robust-externalize/robust-externalize.pdf
Binary files differ
diff --git a/macros/latex/contrib/robust-externalize/robust-externalize.sty b/macros/latex/contrib/robust-externalize/robust-externalize.sty
new file mode 100644
index 0000000000..38f8c6ded5
--- /dev/null
+++ b/macros/latex/contrib/robust-externalize/robust-externalize.sty
@@ -0,0 +1,1302 @@
+\ProvidesPackage{robust-externalize}[1.0 Cache anything (tikz, latex, python) in a robust, efficient and pure way.]
+% todo: understand why python scripts with raise NameError("42") do not make latex crash.
+
+\RequirePackage{pgfkeys} % We use the /robExt/... path to store our keys.
+\RequirePackage{pgffor} % For the .list keys
+\RequirePackage{graphicx} % For the includegraphics command
+\RequirePackage{verbatim} % For the \verbatim command, useful for debugging purpose for instance
+\RequirePackage{xsimverb} % To easily write verbatim code to files
+
+%% TODO list:
+% - provide an easy way to use cross-ref, bibtex etc (we just need to add them when writing the file) without recompiling the whole document (we don't want to lose the cache everytime a new bib entry is added) but while preserving.
+% - create pre-made settings for tikz, tikz-cd, ...
+% - check compatibility with windows
+% - write documentation
+
+%%% Under the hood, this library is quite simple: each picture must, somehow, provide:
+%% - \l_robExt_final_file LaTeX3 string containing the content of the final file
+%% -
+%% Then, the library will hash everything to create a unique name (of the content, the template code, and the set of dependency filenames),
+%% it will create a file "MD5.tex" containing the pre-template+content+post-template, and it will compile it.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%% Utils %%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% Utils:
+% https://tex.stackexchange.com/questions/690700/latex3-elegant-way-to-forward-a-variable-outside-of-the-group
+% modified to deal with csname instead
+\def\robExtKeepaftergroup#1{%
+ %\global \expandafter \expandafter \let \csname x:#1\endcsname =\csname #1\endcsname
+ \global \expanded{\noexpand \let \expandafter\noexpand\csname x:#1\endcsname =\expandafter\noexpand\csname #1\endcsname}
+ \aftergroup\let
+ \expandafter\aftergroup\csname #1\endcsname%
+ \expandafter\aftergroup \csname x:\string#1\endcsname
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% SCRIPTS %%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% Create scripts to remove useless files:
+%%% Note that we don't override the script if it exists on purpose (the user might have changed it to fits his needs)
+\begin{filecontents}[noheader]{robExt-remove-old-figures.py}
+#!/usr/bin/env python3
+import os
+import re
+import glob
+# Just run this script in order to remove all old figures not listed in robExt-all-figures.txt.
+
+# Note that this part is not extracted from the pdf file since it might be different on a previous run. You can however hardcode
+# it here, your updated script will not be overriden unless you remove it yourself.
+prefixes = [ "robExt-" ]
+folders = [ "robustExternalize" ]
+
+def main():
+ imagesToKeep = dict()
+ list_all_figures_file = glob.glob('*robExt-all-figures.txt')
+ for filename in list_all_figures_file:
+ with open(filename) as f:
+ for line in f:
+ line = line.strip()
+ if line.endswith('.tex'):
+ imagesToKeep[line[:-4]] = True # The exact value is not important, we mostly use dict to get ~O(1) access
+
+ listOfFilesToRemove = []
+ # We are looking for images in the folders
+ for folder in folders:
+ for root, dirs, files in os.walk(folder):
+ for f in files:
+ for prefix in prefixes: # Not the most efficient, but anyway we typically have a single prefix
+ # In case prefix contains weird caracters that collide with regexps:
+ prefixEsc = re.escape(prefix)
+ # result_search = re.search(rf"^({prefixEsc}[A-F0-1]{32}).*", f)
+ result_search = re.search(rf"^(.*[A-F0-9]{{32}}).*", f)
+ if result_search:
+ if result_search.group(1) not in imagesToKeep:
+ listOfFilesToRemove.append(os.path.join(root,f))
+ for f in listOfFilesToRemove:
+ print(f"-- {f}")
+ print(f"Above are the files to remove, are you sure you want to proceed? [y/N] (based on prefixes {prefixes})")
+ x = input().strip()
+ if x not in ["y", "Y"]:
+ print("All right, we abort.")
+ exit(1)
+ for f in listOfFilesToRemove:
+ os.remove(f)
+ print(f"Removed {f}")
+
+if __name__ == '__main__':
+ main()
+\end{filecontents}
+
+\ExplSyntaxOn
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%% Paths %%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\robExtPrefixFilename{robExt-}
+
+\NewExpandableDocumentCommand{\robExtAddCachePathAndName}{m}{%
+ \ifdefined\robExtCacheFolder%
+ \robExtCacheFolder%
+ \fi\robExtPrefixFilename#1%
+}
+
+\NewExpandableDocumentCommand{\robExtAddCachePath}{m}{%
+ \ifdefined\robExtCacheFolder%
+ \robExtCacheFolder%
+ \fi#1%
+}
+
+
+\NewDocumentCommand{\robExtCheckIfPrefixFolderExists}{}{
+ % Check if the output directory exists
+ \ifdefined\robExtCacheFolder
+ \sys_if_shell_unrestricted:TF{
+ \ifdefined\robExtDoNotMkdirFolder\else
+ \ifdefined\robExtManualMode
+ \message{If ~ you ~ get~ an~ error,~ make ~ sure ~ to ~ create ~ the ~ folder ~ \robExtCacheFolder.}
+ \else
+ \sys_shell_now:x {mkdir ~ -p ~ \robExtCacheFolder}
+ \fi
+ \fi
+ }{
+ \message{If ~ you ~ get~ an~ error,~ make ~ sure ~ to ~ enable ~ pdflatex ~ -shell-escape ~ or ~ to ~ manually ~ create ~ the ~ folder ~ \robExtCacheFolder.}
+ }
+ \fi
+}
+
+\NewExpandableDocumentCommand{\robExtGetPrefixPath}{}{%
+ \ifdefined\robExtCacheFolder%
+ \robExtCacheFolder%
+ \fi%
+}
+
+
+\NewExpandableDocumentCommand{\robExtAddPrefixName}{m}{%
+ \robExtPrefixFilename#1%
+}
+
+%% Todo: not sure if I should use \seq_push:Nx \l_file_search_path_seq {subfolder}
+%% to find the subfolder (seems to work for input/includegraphics/...), or if it's
+%% better to hardcode the subfolder.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%% Setup new commands and variables %%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\cs_generate_variant:Nn\seq_remove_all:Nn { NV }
+\cs_generate_variant:Nn\tl_rescan:nn { nv }
+\cs_generate_variant:Nn\tl_set_rescan:Nnn { Nnv }
+%\cs_generate_variant:Nn\tl_set_rescan:cnn { cnv }
+\cs_generate_variant:Nn \iow_now:Nn { NV }
+\cs_generate_variant:Nn \iow_now:Nn { Nx }
+\cs_generate_variant:Nn \iow_open:Nn { Nx }
+\cs_generate_variant:Nn \ior_str_get:NN { Nc }
+\cs_generate_variant:Nn \str_replace_all:Nnn { NnV }
+\cs_generate_variant:Nn \str_replace_all:Nnn { Nnx }
+\cs_generate_variant:Nn \str_replace_all:Nnn { Nnv }
+\cs_generate_variant:Nn \file_if_exist:nTF { xTF }
+\cs_generate_variant:Nn \str_set:Nn { NV }
+
+%% Temporary: used when quickly writing to a file
+\iow_new:N \g_robExt_write_iow
+\ior_new:N \g_robExt_read_ior
+%% This is used to write the full list of figures in a single file (used for instance by Makefile etc...)
+%% TODO: create a makefile.
+\iow_new:N \g_robExt_write_list_all_figures
+%% Create a file robExt-all-figures.txt with the list of .tex files
+\iow_open:Nx \g_robExt_write_list_all_figures {\jobname-\robExtAddPrefixName{all-figures.txt}}
+\iow_new:N \g_robExt_write_manually_compile_all_missing_figures
+\iow_open:Nx \g_robExt_write_manually_compile_all_missing_figures {\jobname-\robExtAddPrefixName{compile-missing-figures.sh}}
+% Contains the template:
+\str_new:N \l_robExt_template
+\str_new:N \l_robExt_final_file
+
+% Contains the list of dependency files (useful to compute the final md5sum)
+\seq_new:N \l_robExt_dependencies
+% Contains a string where on each line we have: "md5sum, dependency". The first line has nothing as "dependency" as it is the main fine whose final name is the md5sum of the dependencies.
+\str_new:N \l_robExt_dependencies_mdfive
+% Contains the current compilation command (including the name of the file to compile).
+\str_new:N \l_robExt_currentCompilationCommand
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%% Placeholders %%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Placeholders are strings like "__MYLIBRARY__" or "__MAINCONTENT__" that will be replaced by a given content.
+%% In practice:
+%% - for every placeholder MYPLACEHOLDER, a macro \l_robExt_placeholder_MYPLACEHOLDER_str is created, containing
+%% the string to use to replace it
+%% - a sequence \l_robExt_placeholders_seq that is a list of string, contains the list of all placeholders,
+%% in a string, like [MYLIBRARY, MAINCONTENT] etc...
+%% One issue is that LaTeX does not keep some symbols (e.g. % etc...) when used inside a macro, so we define
+%% different commands depending on whether they can be used in a macro or not, whether they should be taken
+%% from an external file etc...
+\seq_clear_new:N \l_robExt_placeholders_seq
+
+\NewDocumentCommand{\robExtShowPlaceholder}{sm}{
+ \message{Placeholder ~ #2 ~ contains:^^J~ \use:c{l_robExt_placeholder_#2_str}}
+ \IfBooleanTF{#1}{\cs_show:c { l_robExt_placeholder_#2_str }}{}
+}
+
+\NewDocumentCommand{\robExtShowPlaceholders}{s}{
+ \message{List ~ of ~ placeholders:}
+ \seq_map_inline:Nn \l_robExt_placeholders_seq {\message{##1,}}
+ \IfBooleanTF{#1}{\cs_show:N \l_robExt_placeholders_seq}{}
+}
+
+\NewDocumentCommand{\robExtShowPlaceholdersContents}{s}{
+ \message{List ~ of ~ placeholders:}
+ \seq_map_inline:Nn \l_robExt_placeholders_seq {\robExtDebugPlaceholder{##1}}
+ \IfBooleanTF{#1}{\cs_show:N \l_robExt_placeholders_seq}{}
+}
+
+\NewDocumentCommand{\robExtPrintPlaceholderNoReplacement}{sm}{%
+ % For some reasons, newlines are displayed as \Omega. We need to replace them with \\
+ % https://tex.stackexchange.com/questions/694716/print-latex3-string-verbatim/694717
+ \tl_set_eq:Nc \l_robExt_tmp_str { l_robExt_placeholder_#2_str }
+ \tl_replace_all:Nnn \l_robExt_tmp_str {^^J} { \par }
+ \tl_replace_all:Nnn \l_robExt_tmp_str { ~ } { \ }
+ \IfBooleanTF{#1}{\texttt{\use:c{l_robExt_placeholder_#2_str}}}{\begin{flushleft}\ttfamily%
+ \l_robExt_tmp_str
+ \end{flushleft}%
+ }
+}
+\let\printPlaceholderNoReplacement\robExtPrintPlaceholderNoReplacement
+
+\NewDocumentCommand{\robExtPrintPlaceholder}{sm}{%
+ \robExtGetPlaceholderInResult{#2}
+ % For some reasons, newlines are displayed as \Omega. We need to replace them with \\
+ % https://tex.stackexchange.com/questions/694716/print-latex3-string-verbatim/694717
+ \tl_set_eq:NN \l_robExt_tmp_str \l_robExt_result_str
+ \tl_replace_all:Nnn \l_robExt_tmp_str {^^J} { \par }
+ \tl_replace_all:Nnn \l_robExt_tmp_str { ~ } { \ }
+ \IfBooleanTF{#1}{\texttt{\l_robExt_tmp_str}}{\begin{flushleft}\ttfamily%
+ \l_robExt_tmp_str
+ \end{flushleft}%
+ }
+}
+\let\printPlaceholder\robExtPrintPlaceholder
+
+
+\NewDocumentCommand{\robExtPrintAllPlaceholdersExceptDefaults}{s}{
+ List ~ of ~ placeholders:\\
+ \seq_map_inline:Nn \l_robExt_placeholders_seq {
+ % We hide the elements starting with __ROBEXT_
+ \str_if_in:nnTF { ##1 } { __ROBEXT_ } {
+ \IfBooleanTF {#1} {
+ - ~ Placeholder ~ called ~ \texttt{\tl_to_str:n {##1}} ~ defined ~ by ~ default ~ (we ~ hide ~ the ~ definition ~ to ~ save ~ space)\\
+ }{}
+ }{
+ - ~ Placeholder ~ called ~ \texttt{\tl_to_str:n {##1}} ~ contains: \robExtPrintPlaceholderNoReplacement{##1}
+ }
+ }
+}
+\let\printAllPlaceholdersExceptDefaults\robExtPrintAllPlaceholdersExceptDefaults
+
+\NewDocumentCommand{\robExtPrintAllPlaceholders}{}{
+ List ~ of ~ placeholders:\\
+ \seq_map_inline:Nn \l_robExt_placeholders_seq {- ~ Placeholder ~ called ~ \texttt{\tl_to_str:n {##1}} ~ contains: \robExtPrintPlaceholderNoReplacement{##1}}
+}
+\let\printAllPlaceholders\robExtPrintAllPlaceholders
+
+
+\NewDocumentCommand{\robExtEvalPlaceholderNoReplacement}{m}{
+ % \scantokens{\use:c{l_robExt_placeholder_#1_str}}
+ % scantokens add an empty space at the end, so we need to add \empty to avoid it having effects
+ % https://tex.stackexchange.com/questions/213659/could-someone-further-elucidate-expansion-catcodes-and-scantokens
+ %\exp_args:Nx \scantokens {\use:c{l_robExt_placeholder_#1_str}}
+ \tl_rescan:nv {}{ l_robExt_placeholder_#1_str }
+ % \tl_rescan:nc { } { l_robExt_placeholder_#1_str }
+}
+\let\evalPlaceholderNoReplacement\robExtEvalPlaceholderNoReplacement
+
+\NewDocumentCommand{\robExtGetPlaceholderNoReplacement}{m}{
+ \str_use:c { l_robExt_placeholder_#1_str }
+}
+\let\getPlaceholderNoReplacement\robExtGetPlaceholderNoReplacement
+
+
+% Make sure that the placeholder is in the list \l_robExt_placeholders_seq.
+% This should automatically be called by other tools
+\NewDocumentCommand{\robExtAddPlaceholderToList}{m}{
+ % Make sure we have a string here:
+ \str_set:Nn \l_robExt_tmp_str { #1 }
+ % First we remove existing occurrences (useful to avoid listing the same macro more than once
+ % if we redefine a macro):
+ \seq_remove_all:NV \l_robExt_placeholders_seq \l_robExt_tmp_str
+ \seq_put_left:NV \l_robExt_placeholders_seq \l_robExt_tmp_str
+}
+
+\NewDocumentCommand{\robExtRemovePlaceholder}{m}{
+ % This seems to be required to ensure catcodes are correct before removing the elements:
+ \str_set:Nn \l_robExt_tmp_str { #1 }
+ \seq_remove_all:NV \l_robExt_placeholders_seq \l_robExt_tmp_str
+ \expandafter \let \csname l_robExt_placeholder_#1_str \endcsname \undefined
+}
+
+
+%% Usage: \placeholderFromContent{MYTITLE}{My slide title}
+%% MYTITLE will contain at the end "My slide title"
+%% Warning: only LaTeX-friendly code should be placed here, as LaTeX does not preserve some symbols and adds spaces
+%% Tested!
+\NewDocumentCommand{\robExtPlaceholderFromContent}{mm}{
+ \str_set:cn { l_robExt_placeholder_#1_str } {#2}
+ \robExtAddPlaceholderToList{#1}
+}
+\let\placeholderFromContent\robExtPlaceholderFromContent
+\let\robExtSetPlaceholder\robExtPlaceholderFromContent
+\let\setPlaceholder\robExtPlaceholderFromContent
+
+\NewDocumentCommand{\robExtCopyPlaceholder}{mm}{
+ \str_set_eq:cc { l_robExt_placeholder_#1_str } { l_robExt_placeholder_#2_str }
+ \robExtAddPlaceholderToList{#1}
+}
+\let\copyPlaceholder\robExtCopyPlaceholder
+
+
+%% Add something to the right of the placeholder
+%% By default it adds a space in between, unless we use the star version
+\NewDocumentCommand{\robExtAddToPlaceholder}{smm}{
+ \str_if_exist:cTF { l_robExt_placeholder_#2_str } {
+ \str_set:Nn \l_tmp_str {#3} %% needed as put_right does not convert to string first
+ \IfBooleanTF{#1}{}{\str_put_right:cn { l_robExt_placeholder_#2_str } { ~ } }
+ \str_put_right:cV { l_robExt_placeholder_#2_str } \l_tmp_str
+ }{
+ \str_set:cn { l_robExt_placeholder_#2_str } {#3}
+ \robExtAddPlaceholderToList{#2}
+ }
+}
+\let\addToPlaceholder\robExtAddToPlaceholder
+
+%% Add something to the right of the placeholder
+%% By default it adds a space in between, unless we use the star version
+\NewDocumentCommand{\robExtAddBeforePlaceholder}{smm}{
+ \str_if_exist:cTF { l_robExt_placeholder_#2_str } {
+ \str_set:Nn \l_tmp_str {#3} %% needed as put_right does not convert to string first
+ \IfBooleanTF{#1}{}{\str_put_left:cn { l_robExt_placeholder_#2_str } { ~ } }
+ \str_put_left:cV { l_robExt_placeholder_#2_str } \l_tmp_str
+ }{
+ \str_set:cn { l_robExt_placeholder_#2_str } {#3}
+ \robExtAddPlaceholderToList{#2}
+ }
+}
+\let\addBeforePlaceholder\robExtAddBeforePlaceholder
+
+
+% Usage:
+% \begin{placeholderFromCode}{HELPERFUNCTION}
+% def my_helper_function(bla):
+% return bla + 1
+% \end{placeholderFromCode}
+% HELPERFUNCTION will contain at the end "def ..."
+% This environment cannot be placed inside any other macro/align/...
+\NewDocumentEnvironment{RobExtPlaceholderFromCode}{m}{%
+ % % debug part
+ % \str_set:Nn \l_test_str {#1}
+ % \show\l_test_str
+ %% Environments can't use verbatim yet: https://github.com/latex3/latex3/issues/591
+ % Might be related: https://tex.stackexchange.com/questions/633523/saving-the-body-of-an-environment-to-a-file-verbatim-using-xparse
+ %% Here is the first part:
+ %% https://tex.stackexchange.com/a/680259/116348 might work and be more efficient, but it might be less reliable
+ %% and definitely more complicated and error prone. Instead, we write to a file and read the result.
+ %% TODO: try to do it using verbatim, might be trivial or complicated, not sure, maybe see https://tex.stackexchange.com/questions/555359/reading-lines-verbatim-into-a-sequence-variable
+ \XSIMfilewritestart{\jobname-robExt-tmp-file-you-can-remove.tmp}%
+}{%
+ \XSIMfilewritestop%
+ \ior_open:Nn \g_robExt_read_ior {\jobname-robExt-tmp-file-you-can-remove.tmp}%
+ %% Put the file in l_robExt_tmp_contain_file
+ \str_clear_new:N \l_robExt_tmp%
+ \ior_str_map_inline:Nn \g_robExt_read_ior {%
+ \str_gput_right:Nx \l_robExt_tmp {\tl_to_str:N{##1}^^J}%
+ }%
+ \str_set_eq:cN {l_robExt_placeholder_#1_str} \l_robExt_tmp%
+ \robExtAddPlaceholderToList{#1}%
+ %% Otherwise they will be lost when the environment ends
+ \robExtKeepaftergroup{l_robExt_placeholders_seq}%
+ %% for other variable
+ \robExtKeepaftergroup{l_robExt_placeholder_#1_str}%
+}%
+\let\PlaceholderFromCode\RobExtPlaceholderFromCode
+\let\endPlaceholderFromCode\endRobExtPlaceholderFromCode
+\let\SetPlaceholderCode\RobExtPlaceholderFromCode
+\let\endSetPlaceholderCode\endRobExtPlaceholderFromCode
+
+%% Usage:
+%% \placeholderPathFromFilename{MYLIBPATH}{mylib.py}
+%% This will copy mylib.py in the cache, and set MYLIBPATH to the name of the file in the cache like
+%% MYLIBPATH = robExt-abcmylib.py
+%% Tested!
+\NewDocumentCommand{\robExtPlaceholderPathFromFilename}{mm}{
+ \ior_open:Nn \g_robExt_read_ior {#2}
+ %% Put the file in l_robExt_tmp_contain_file
+ \str_clear_new:N \l_robExt_tmp_contain_file
+ \ior_str_map_inline:Nn \g_robExt_read_ior {
+ \str_put_right:Nx \l_robExt_tmp_contain_file {\tl_to_str:N{##1}^^J}
+ }
+ %% computes the new filename based on the md5
+ \str_clear_new:N \l_robExt_tmp_filename
+ \str_set:Nx \l_robExt_tmp_filename_no_prefix {\pdfmdfivesum{\l_robExt_tmp_contain_file}#2}
+ %% Writes the content to the file
+ \robExtCheckIfPrefixFolderExists
+ \iow_open:Nx \g_robExt_write_iow {\robExtAddCachePathAndName{\l_robExt_tmp_filename_no_prefix}}
+ \iow_now:NV \g_robExt_write_iow \l_robExt_tmp_contain_file
+ \iow_close:N \g_robExt_write_iow
+ %% sets the template name to the relative path to the file
+ \str_set:cx { l_robExt_placeholder_#1_str } {\robExtPrefixFilename\l_robExt_tmp_filename_no_prefix}
+ \robExtAddPlaceholderToList{#1}
+}
+\let\placeholderPathFromFilename\robExtPlaceholderPathFromFilename
+
+%% Usage:
+%% \placeholderFromFileContent{MYLIB}{mylib.py}
+%% This will set MYLIB to the content of the file mylib.py
+%% Tested!
+\NewDocumentCommand{\robExtPlaceholderFromFileContent}{mm}{
+ \ior_open:Nn \g_robExt_read_ior {#2}
+ %% Put the file in l_robExt_tmp_contain_file
+ \str_clear_new:N \l_robExt_tmp_contain_file
+ \ior_str_map_inline:Nn \g_robExt_read_ior {
+ \str_put_right:Nx \l_robExt_tmp_contain_file {\tl_to_str:N{##1}^^J}
+ }
+ %% sets the template name to the relative path to the file
+ \str_set_eq:cN { l_robExt_placeholder_#1_str } \l_robExt_tmp_contain_file
+ \robExtAddPlaceholderToList{#1}
+}
+\let\placeholderFromFileContent\robExtPlaceholderFromFileContent
+
+
+%% Usage:
+%% \placeholderPathFromContent{MYLIBPATH}{some code}
+%% This will copy "some code" in the cache, and set MYLIBPATH to the name of the file in the cache like
+%% MYLIBPATH = robExt-abc.py
+%% Tested!
+\NewDocumentCommand{\robExtPlaceholderPathFromContent}{mO{.tex}m}{
+ \str_set:Nn \l_robExt_tmp_contain_file {#3}
+ %% computes the new filename based on the md5
+ \str_clear_new:N \l_robExt_tmp_filename
+ \str_set:Nx \l_robExt_tmp_filename_no_prefix {\pdfmdfivesum{\l_robExt_tmp_contain_file}#2}
+ %% Writes the content to the file
+ \robExtCheckIfPrefixFolderExists
+ \iow_open:Nx \g_robExt_write_iow {\robExtAddCachePathAndName{\l_robExt_tmp_filename_no_prefix}}
+ \iow_now:NV \g_robExt_write_iow \l_robExt_tmp_contain_file
+ \iow_close:N \g_robExt_write_iow
+ %% sets the template name to the relative path to the file
+ \str_set:cx { l_robExt_placeholder_#1_str } {\robExtPrefixFilename\l_robExt_tmp_filename_no_prefix}
+ \robExtAddPlaceholderToList{#1}
+}
+\let\placeholderPathFromContent\robExtPlaceholderPathFromContent
+
+
+%% Usage:
+%% \begin{PlaceholderPathFromCode}{mylibpath}
+%% def blabla():
+%% \end{PlaceholderPathFromCode}
+%% This will copy "some code" in the cache, and set MYLIBPATH to the name of the file in the cache like
+%% MYLIBPATH = robExt-abc.py
+\NewDocumentEnvironment{RobExtPlaceholderPathFromCode}{O{}m}{
+ \XSIMfilewritestart*{\jobname-robExt-tmp-file-you-can-remove.tmp}
+}{
+ \XSIMfilewritestop
+ \ior_open:Nn \g_robExt_read_ior {\jobname-robExt-tmp-file-you-can-remove.tmp}
+ %% Put the file in \l_robExt_tmp_contain_file
+ \str_clear_new:N \l_robExt_tmp_contain_file
+ \ior_str_map_inline:Nn \g_robExt_read_ior {
+ \str_gput_right:Nx \l_robExt_tmp_contain_file {\tl_to_str:N{##1}^^J}
+ }
+ %% computes the new filename based on the md5
+ \str_clear_new:N \l_robExt_tmp_filename
+ \str_set:Nx \l_robExt_tmp_filename_no_prefix {\pdfmdfivesum{\l_robExt_tmp_contain_file}#1}
+ %% Writes the content to the file
+ \robExtCheckIfPrefixFolderExists
+ \iow_open:Nx \g_robExt_write_iow {\robExtAddCachePathAndName{\l_robExt_tmp_filename_no_prefix}}
+ \iow_now:NV \g_robExt_write_iow \l_robExt_tmp_contain_file
+ \iow_close:N \g_robExt_write_iow
+ %% sets the template name to the relative path to the file
+ \str_set:cx { l_robExt_placeholder_#2_str } {\robExtPrefixFilename\l_robExt_tmp_filename_no_prefix}
+ \robExtAddPlaceholderToList{#2}
+ %% Otherwise they will be lost when the environment ends
+ \robExtKeepaftergroup{l_robExt_placeholders_seq}
+ %% for other variable
+ \robExtKeepaftergroup{l_robExt_placeholder_#2_str}
+}
+\let\PlaceholderPathFromCode\RobExtPlaceholderPathFromCode
+\let\endPlaceholderPathFromCode\endRobExtPlaceholderPathFromCode
+
+
+
+%%% Evaluate a string by replacing the placeholders until there is none left
+%%% the result will be in \robExtResult
+\cs_set:Nn \__replace_until_impossible:N {
+ \str_set_eq:NN \l_robext_tmp_before \l_robExt_result_str
+ \seq_map_inline:Nn \l_robExt_placeholders_seq {
+ \str_replace_all:Nnv \l_robExt_result_str { ##1 } { l_robExt_placeholder_##1_str }
+ }
+ % We compare the result
+ \str_compare:eNeTF \l_robext_tmp_before = \l_robExt_result_str {
+ %\str_set_eq:cN { l_robExt_placeholder_#1_str } \l_robExt_result_str
+ %\robExtAddPlaceholderToList{#1}
+ }{
+ % The strings are different: we restart
+ \__replace_until_impossible:N { }
+ }
+}
+
+\NewDocumentCommand{\robExtGetPlaceholderInResult}{O{}m}{
+ \str_set:Nn \l_robExt_result_str { #2 }
+ \__replace_until_impossible:N { }
+ \tl_if_blank:nTF {#1} {} {
+ % To avoid infinite recursion later and allow concatenation to a placeholder that does not exists
+ % we remove the name of the placeholder at the end
+ \str_remove_all:Nn \l_robExt_result_str { #1 }
+ \str_set_eq:cN { l_robExt_placeholder_#1_str } \l_robExt_result_str
+ \robExtAddPlaceholderToList{#1}
+ }
+}
+\let\getPlaceholderInResult\robExtGetPlaceholderInResult
+
+% Otherwise we need latex3
+\def\robExtResult{\l_robExt_result_str}
+
+\NewDocumentCommand{\robExtSetPlaceholderRec}{mm}{
+ \robExtGetPlaceholderInResult[#1]{#2}
+}
+\let\setPlaceholderRec\robExtSetPlaceholderRec
+
+\NewDocumentCommand{\robExtGetPlaceholder}{O{}m}{
+ \robExtGetPlaceholderInResult[#1]{#2}
+ \l_robExt_result_str
+}
+\let\getPlaceholder\robExtGetPlaceholder
+
+%%% Evaluate a string by replacing the placeholders until there is none left
+%%% the result will be in \robExtResult
+\NewDocumentCommand{\robExtEvalPlaceholder}{m}{
+ \str_set:Nn \l_test_str {#1}
+ \robExtGetPlaceholderInResult{#1}
+ \tl_rescan:nv {} { l_robExt_result_str }
+}
+\let\evalPlaceholder\robExtEvalPlaceholder
+
+\NewDocumentCommand{\robExtEvalPlaceholderInplace}{m}{
+ \robExtGetPlaceholderInResult{#1}
+ \tl_set_rescan:Nnx \l_robExt_tmp_tl {} { \l_robExt_result_str }
+ \str_set:cx { l_robExt_placeholder_#1_str } { \l_robExt_tmp_tl }
+}
+\let\evalPlaceholderInplace\robExtEvalPlaceholderInplace
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%% Dependencies %%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\robExtResetDependencies}{m}{
+ \seq_clear:N \l_robExt_dependencies
+}
+
+\NewDocumentCommand{\robExtAddDependency}{m}{
+ \seq_put_left:Nx \l_robExt_dependencies {#1}
+}
+
+\NewDocumentCommand{\robExtDebugDependency}{}{
+ \show\l_robExt_dependencies
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%% Externalization %%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% The idea is to populate a placeholder called __ROBEXT_TEMPLATE__ that will contain the file to generate
+%% together with a placeholder called __ROBEXT_COMPILATION_COMMAND__ that will contain the command to compile the file
+
+\NewDocumentCommand{\robExtSetCompilationCommand}{m}{
+ \robExtSetPlaceholder{__ROBEXT_COMPILATION_COMMAND__} {#1}
+}
+
+\NewDocumentCommand{\robExtAddArgumentToCompilationCommand}{m}{
+ \robExtSetPlaceholderRec{__ROBEXT_COMPILATION_COMMAND__} {__ROBEXT_COMPILATION_COMMAND__ ~ "#1"}
+}
+
+
+%% Alias of robExtFinalFile to \robExtSourceFile, as I don't like anymore the name I chose
+%\def\robExtSourceFile{\robExtFinalFile}
+
+%%% \l_robExt_final_file must contain before calling this function the content of the final file.
+%%% \l_robExt_dependencies must contain the extensions (list).
+%%% \l_robExt_currentCompilationCommand contains the compilation command to use.
+%%% Note that we do note parse them as input to allow more flexibility on the way the user
+%%% defines them, and to limit issues with expansion.
+\NewDocumentCommand{\robExtWriteFile}{m}{
+ %%% First we get all dependencies stored in \l_robExt_dependencies to create a csv-like file:
+ \str_clear:N \l_robExt_dependencies_mdfive
+ %% Make sure to remove these placeholders as they should not be replaced.
+ %% Not that we cannot just give them their final value here, as it cannot yet be determined without
+ %% first computing the md5 hash.
+ \robExtRemovePlaceholder{__ROBEXT_SOURCE_FILE__}
+ \robExtRemovePlaceholder{__ROBEXT_OUTPUT_PDF__}
+ \robExtRemovePlaceholder{__ROBEXT_OUTPUT_PREFIX__}
+ \setPlaceholder{__ROBEXT_WAY_BACK__}{\robExtCacheFolderWayBack}
+ \robExtEvalPlaceholderInplace{__ROBEXT_WAY_BACK__}
+ \setPlaceholder{__ROBEXT_CACHE_FOLDER__}{\robExtCacheFolder}
+ \robExtEvalPlaceholderInplace{__ROBEXT_CACHE_FOLDER__}
+ %%% We rescan the string in order to evaluate stuff like \myframes into "12,45,56".
+ \robExtGetPlaceholderInResult{__ROBEXT_COMPILATION_COMMAND__}
+ \ifdefined\robExtDoNotRescanFirstTime
+ \str_set_eq:NN \l_robExt_currentCompilationCommand \l_robExt_result_str
+ \else
+ \tl_set_rescan:Nnx \l_robExt_currentCompilationCommand {} { \l_robExt_result_str }
+ \fi%
+ %% We get the template
+ \robExtGetPlaceholderInResult{__ROBEXT_TEMPLATE__}
+ \str_set_eq:NN \l_robExt_final_file_minus_hash_str \l_robExt_result_str
+ % We first add on the first line the compilation command, and on the second line the template file.
+ \str_set:Nx \l_robExt_dependencies_mdfive {command,\l_robExt_currentCompilationCommand^^J\pdfmdfivesum{\l_robExt_final_file_minus_hash_str ^^J},^^J} %% ^^J is a newline: LaTeX will automatically add a new line when writing the file
+ \seq_map_inline:Nn \l_robExt_dependencies {
+ \str_put_right:Nx \l_robExt_dependencies_mdfive {\file_mdfive_hash:n{##1},##1^^J} %% ^^J is a newline
+ }
+ %%
+ %% Compute the final hash (the hash of all dependencies, including the current picture that is on the first line):
+ %% The last newline is needed as the write operation automatically adds a newline.
+ \tl_set:Nx \robExtFinalHash {\pdfmdfivesum{\l_robExt_dependencies_mdfive^^J}}
+ %% We add the figure in the list of files.
+ \iow_now:Nx \g_robExt_write_list_all_figures {\robExtAddPrefixName{\robExtFinalHash.tex}^^J}
+ %% We can now set the placeholders, and recompute the final value of the file:
+ \robExtPlaceholderFromContent{__ROBEXT_SOURCE_FILE__}{\robExtAddPrefixName{\robExtFinalHash.tex}}
+ \robExtEvalPlaceholderInplace{__ROBEXT_SOURCE_FILE__}
+ \robExtPlaceholderFromContent{__ROBEXT_OUTPUT_PDF__}{\robExtAddPrefixName{\robExtFinalHash.pdf}}
+ \robExtEvalPlaceholderInplace{__ROBEXT_OUTPUT_PDF__}
+ \robExtPlaceholderFromContent{__ROBEXT_OUTPUT_PREFIX__}{\robExtAddPrefixName{\robExtFinalHash}}
+ \robExtEvalPlaceholderInplace{__ROBEXT_OUTPUT_PREFIX__}
+ \robExtGetPlaceholderInResult{__ROBEXT_TEMPLATE__}
+ \str_set_eq:NN \l_robExt_final_file_str \l_robExt_result_str
+ \file_if_exist:xTF{\robExtAddCachePathAndName{\robExtFinalHash.tex}}{
+ \message{The\space file\space \robExtAddCachePathAndName{\robExtFinalHash.tex} \space already\space exists.^^J}
+ }{
+ \str_if_empty:NTF \l_robExt_final_file_str {
+ \PackageError{robExt}{You ~ are ~ writing ~ an ~ empty ~ tex ~ file, ~ that ~ will ~ fail ~ to ~ compile. ~ Make ~ sure ~ you ~ defined ~ a ~ template.}{}
+ }{
+ % Check if the output directory exists
+ \robExtCheckIfPrefixFolderExists
+ \iow_open:Nx \g_robExt_write_iow {\robExtAddCachePathAndName{\robExtFinalHash.deps}}
+ \iow_now:NV \g_robExt_write_iow \l_robExt_dependencies_mdfive
+ \iow_close:N \g_robExt_write_iow
+ %% Save the final file:
+ \iow_open:Nx \g_robExt_write_iow {\robExtAddCachePathAndName{\robExtFinalHash.tex}}
+ \iow_now:NV \g_robExt_write_iow \l_robExt_final_file_str
+ \iow_close:N \g_robExt_write_iow
+ \message{Source ~ saved ~ in ~ \robExtAddCachePathAndName{\robExtFinalHash.tex}.}
+ }
+ }
+}
+
+% https://tex.stackexchange.com/questions/133324/shell-escape-with-latex-3
+% We need shell escape to work (but it's enabled by default on overleaf!)
+% Think about the number of compilations.
+\NewDocumentCommand{\robExtCompileFile}{m}{
+ \file_if_exist:xTF{\robExtAddCachePathAndName{\robExtFinalHash.pdf}}{
+ \message{No ~ need ~ to ~ recompile ~ \robExtAddCachePathAndName{\robExtFinalHash.pdf}^^J}
+ }{
+ \robExtGetPlaceholderInResult{__ROBEXT_COMPILATION_COMMAND__}
+ \ifdefined\robExtDoNotRescanSecondTime
+ \str_set_eq:NN \l_robExt_finalCompilationCommand \l_robExt_result_str
+ \else
+ \tl_set_rescan:Nnx \l_robExt_finalCompilationCommand {} { \l_robExt_result_str }
+ \fi%
+ % Make sure this command is run from the cache folder
+ \ifdefined\robExtCacheFolder
+ \str_put_left:Nx \l_robExt_finalCompilationCommand {cd ~ \robExtCacheFolder \space && ~ }
+ \fi
+ \ifdefined\robExtManualMode
+ \message{[robExt] Manual mode enabled: please, manually compile the images using \l_robExt_finalCompilationCommand or run 'bash \jobname-\robExtAddPrefixName{compile-missing-figures.sh}'.}
+ \iow_now:Nx \g_robExt_write_manually_compile_all_missing_figures {\l_robExt_finalCompilationCommand^^J}
+ \else
+ \sys_if_shell_unrestricted:TF{
+ \message{[robExt] We ~ will ~ start ~ the ~ compilation using: ~ \l_robExt_finalCompilationCommand.}
+ \sys_shell_now:x {\l_robExt_finalCompilationCommand} % The ~ are used in ExplSyntaxOn to add space
+ }{
+ \PackageError{robExt}{You ~ need ~ to ~ compile ~ with ~ shell-escape ~ as ~ in: ~ "pdflatex ~ -shell-escape ~ yourfile.tex" ~ to ~ be ~ able ~ to ~ compile ~ automatically ~ the ~ figures}{}
+ }
+ \fi
+ }
+}
+
+\def\robExtIncludeGraphicsArgs{}
+%%% This command is not meant to be called by the end user. It will be called after the compilation to include
+%%% the compiled file back into the original file.
+\NewDocumentCommand{\robExtIncludeFile}{m}{%
+ \ifdefined\robExtIncludeCommandAdvanced%
+ \robExtIncludeCommandAdvanced%
+ \else%
+ {%
+ \file_if_exist:xTF{\robExtAddCachePathAndName{\robExtFinalHash.pdf}}{%
+ \file_if_exist:xTF{\robExtAddCachePathAndName{\robExtFinalHash-out.tex}}{%
+ \kern0pt%Without the kern, the next unskip would eat spaces before... and we don't want that. See also
+ % https://tex.stackexchange.com/questions/104034/when-is-it-good-practice-to-use-unskip
+ \input{\robExtAddCachePathAndName{\robExtFinalHash-out.tex}}\unskip% Otherwise if the file contains space it will be added here.
+ }{}%
+ \ifdefined\robExtIncludeCommand%
+ \robExtIncludeCommand%
+ \else%
+ \evalPlaceholder{%
+ \ifdefined\robExtDepth%
+ \raisebox{-\robExtDepth}{%
+ \includegraphics[__ROBEXT_INCLUDEGRAPHICS_OPTIONS__]{%
+ __ROBEXT_INCLUDEGRAPHICS_FILE__%
+ }}%
+ \else%
+ \includegraphics[__ROBEXT_INCLUDEGRAPHICS_OPTIONS__]{%
+ \robExtAddCachePathAndName{\robExtFinalHash.pdf}}%
+ }%
+ \fi%
+ \fi%
+ }{
+ \ifdefined\robExtManualMode
+ \framebox[\linewidth]
+ {
+ \begin{minipage}{\linewidth}
+ \textbf{Draft ~ Mode: ~ you ~ are ~ in ~ manual ~ mode: ~ please ~ compile ~ \robExtAddCachePathAndName{\robExtFinalHash.tex} ~ via ~ ``\l_robExt_finalCompilationCommand'' ~ or ~ call ~ ``bash ~ \jobname-\robExtAddPrefixName{compile-missing-figures.sh'' ~ to ~ compile ~ all ~ missing ~ figures.}}
+ \end{minipage}
+ }
+ %\fbox{\textbf{Draft ~ Mode: ~ you ~ are ~ in ~ manual ~ mode:}\par\textbf{ ~ please ~ compile ~ \robExtAddCachePathAndName{\robExtFinalHash.tex} ~ or ~ use ~ \ifdefined\robExtCacheFolder cd \robExtCacheFolder; \fi bash ~ \jobname-\robExtAddPrefixName{compile-missing-figures.sh}}}
+ \message{[robExt] ~ You ~ are ~ in ~ manual ~ mode: ~ please ~ compile ~ yourself ~ \robExtAddCachePathAndName{\robExtFinalHash.tex} ~ or ~ use ~ the ~ bash ~ \jobname-\robExtAddPrefixName{compile-missing-figures.sh}}
+ \else
+ \PackageError{robExt}{For ~ an ~ unknown ~ reason ~ the ~ pdf ~ file ~ \robExtAddCachePathAndName{\robExtFinalHash.pdf} ~ is ~ not ~ present. ~ The ~ compilation ~ command ~ certainly ~ failed, ~ see ~ logs ~ above.}{}
+ \fi
+ }
+ }%
+ \fi%
+}
+
+
+\ExplSyntaxOff
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Interface
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% We create interface into pgfkeys in order to allow easier creation of content via style
+\pgfkeys{
+ /robExt/.cd,
+ % We create a default style that will be loaded (mostly for the user)
+ default style/.style={},
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Interface to change placeholders %%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ set placeholder/.code 2 args={\robExtSetPlaceholder{#1}{#2}},
+ set main content/.style={
+ set placeholder={__ROBEXT_MAIN_CONTENT__}{#1}
+ },
+ copy placeholder/.code 2 args={\robExtCopyPlaceholder{#1}{#2}},
+ set placeholder rec/.code 2 args={\robExtSetPlaceholderRec{#1}{#2}},
+ set placeholder eval/.code 2 args={\robExtSetPlaceholderRec{#1}{#2}\robExtEvalPlaceholderInplace{#1}},
+ set placeholder from content/.code 2 args={\robExtPlaceholderFromContent{#1}{#2}},
+ add to placeholder/.code 2 args={\robExtAddToPlaceholder{#1}{#2}},
+ add to placeholder no space/.code 2 args={\robExtAddToPlaceholder*{#1}{#2}},
+ add before placeholder/.code 2 args={\robExtAddBeforePlaceholder{#1}{#2}},
+ add before placeholder no space/.code 2 args={\robExtAddBeforePlaceholder*{#1}{#2}},
+ set placeholder path from filename/.code 2 args={\robExtPlaceholderPathFromFilename{#1}{#2}},
+ set placeholder from file content/.code 2 args={\robExtPlaceholderFromFileContent{#1}{#2}},
+ set placeholder path from content/.code n args={3}{\robExtPlaceholderPathFromContent{#1}[#3]{#2}},
+ eval placeholder in place/.code={\robExtEvalPlaceholderInplace{#1}},
+ % Interface to set template
+ set template/.style={
+ set placeholder={__ROBEXT_TEMPLATE__}{#1},
+ },
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Configure dependencies %%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Auxiliary command:
+ dependenciesList/.code={\robExtAddDependency{#1}},
+ % Usage like: dependencies={input_externalize.tex,input_b.tex}
+ % They should be relative to the main file when using the subfolder option.
+ dependencies/.style={
+ /utils/exec={\robExtResetDependencies{}},
+ dependenciesList/.list={#1}
+ },
+ add dependencies/.style={
+ dependenciesList/.list={#1}
+ },
+ reset dependencies/.code={\robExtResetDependencies{}},
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Compilation command %%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%
+ set compilation command/.code={\robExtSetCompilationCommand{#1}},
+ add argument to compilation command/.code={\robExtAddArgumentToCompilationCommand{#1}},
+ add arguments to compilation command/.style={
+ add argument to compilation command/.list={#1}
+ },
+ % This adds arguments like add key value to compilation command={mykey=myvalue} will add to the
+ % compilation command two arguments: "mykey" "myvalue"
+ % This is useful for scripts that are called like myscript key1 arg1 key2 arg2 key3 arg3, which is a
+ % simple way to pass multiple arguments to a script like a python script
+ add key value argument to compilation command/.code args={#1=#2}{\robExtAddArgumentToCompilationCommand{#1}\robExtAddArgumentToCompilationCommand{#2}},
+ add key and file argument to compilation command aux/.style args={#1=#2}{
+ add key value argument to compilation command={{#1}={\ifdefined\robExtCacheFolderWayBack\robExtCacheFolderWayBack\fi#2}},
+ },
+ add key and file argument to compilation command/.style={
+ add key and file argument to compilation command aux/.list={#1},
+ add dependencies={#1},
+ },
+ %%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Inclusion command %%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Configure the command to include the compiled file back into the main file
+ % By default, include command does a bit of logic before running the actual command, notably to
+ % input the -out.tex file in order to pass information from the compiled file to the current file.
+ % If you want to do everything by yourself, use:
+ custom include command advanced/.code={\def\robExtIncludeCommandAdvanced{#1}},
+ % The default include command includes the pdf, making sure it is raised depending on its depth,
+ % but you can override it:
+ custom include command/.code={\def\robExtIncludeCommand{#1}},
+ %% Use this when we do not want to include anything (e.g. the video will be processed later in the chain):
+ do not include pdf/.style={
+ custom include command={}%
+ },
+ %% If you do or do not want to ask latex to run the compilation commands itself (for instance for security
+ %% reasons, you can use these commands and run the command manually later):
+ enable manual mode/.code={\def\robExtManualMode{}},
+ disable manual mode/.code={\let\robExtManualMode\undefined},
+ %% Arguments to include graphics
+ include graphics args/.code={\def\robExtIncludeGraphicsArgs{#1}},
+ %% The role of this command is to set \l_robExt_result_str, that will contain the final string.
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Configuration of the cache %%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %% Configure the prefix (default to "robExt-")
+ set filename prefix/.code={\def\robExtPrefixFilename{#1}},
+ % first argument is subfolder, second is how to get from subfolder to the folder containing the source:
+ % set subfolder and way back={robustExternal/}{../}
+ set subfolder and way back/.code 2 args={\def\robExtCacheFolder{#1}\def\robExtCacheFolderWayBack{#2}},
+ % By default we put everything in robustExternalize
+ % Change this before starting to cache any library, and if you change it mid-document, be aware
+ % that you will not be able to refer to elements in the old folder.
+ set subfolder and way back={robustExternalize/}{../},
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Disable externalization %%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %% Note: this does not work reliably for now
+ %% TODO: fix this!
+ disable externalization/.code={\def\robExtDisableExternalization{}},
+ enable externalization/.code={\let\robExtDisableExternalization\undefined},
+ % Useful to wrap, for instance, text
+ command if no externalization/.code={\robExtDisableTikzpictureOverwrite\evalPlaceholder{__ROBEXT_MAIN_CONTENT__}},
+ print verbatim if no externalization/.style={
+ command if no externalization/.code={%
+ \robExtPrintPlaceholder{__ROBEXT_MAIN_CONTENT__}%
+ },
+ },
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Run code before/after inclusion %%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% todo: make sure that commands can be added instead of replaced
+ execute before each externalization/.code={\def\robExtExecuteBefore{#1}},
+ execute after each externalization/.code={\def\robExtExecuteAfter{#1}},
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Get the name of the produced file for later use %%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%% Here, we provide a way to put the prefixed name into a new global macro
+ %%% Use like 'name output=VideoA'. This creates a few macros like:
+ %%% \blenderpointNamedOutputFilenameVideoA containing thehashthatisusedforthename
+ %%% \blenderpointNamedOutputPrVideoA containing thehashthatisusedforthename
+ %% See \robExtGetNamedOutputFilename to get them with \robExtGetNamedOutputFullPath
+ % name output/.style={name output with ext={#1}{.pdf}},
+ % name input/.style={name output with ext={#1}{.tex}},
+ % % like name output but adds the extension like name output with ext={VideoA}{.mp4}
+ % name output with ext/.code 2 args={%
+ % \robExtSetPlaceholder{__#1__}{\robExtPrefixFilename\robExtFinalHash#2}
+ % \robExtEvalPlaceholderInplace{__#1__}
+ % \robExtSetPlaceholder{__#1_FULL_PATH__}{\robExtAddCachePathAndName{\robExtFinalHash#2}}
+ % \robExtEvalPlaceholderInplace{__#1_FULL PATH__}
+ % },
+ name output/.code={%
+ \def\robExtExecuteNamedOutput{%
+ \expandafter\xdef\csname #1\endcsname{\robExtPrefixFilename\robExtFinalHash}%
+ \expandafter\xdef\csname #1InCache\endcsname{\robExtAddCachePathAndName{\robExtFinalHash}}%
+ }%
+ },
+ %% Todo: for this to work, be will need to make the definition either global (not trivial, need to define
+ %% a new list of global placeholders), or at least go past the groups
+}
+
+% Not really made for the end user
+% It assumes that __ROBEXT_COMPILATION_COMMAND__ and __ROBEXT_TEMPLATE__ is set
+\NewDocumentCommand{\robExtEvaluateCompileAndInclude}{}{%
+ \ifdefined\robExtDisableExternalization%
+ \pgfkeys{/robExt/.cd,command if no externalization}%
+ \else%
+ \ifdefined\robExtExecuteBefore\robExtExecuteBefore\fi%
+ \robExtWriteFile{}%
+ \robExtCompileFile{}%
+ \robExtIncludeFile{}%
+ \ifdefined\robExtExecuteNamedOutput\robExtExecuteNamedOutput\fi%
+ \ifdefined\robExtExecuteAfter\robExtExecuteAfter\fi%
+ \fi%
+}
+
+%% #1: Arguments, #2: content to externalize
+\NewDocumentCommand{\robExtCacheMe}{O{}m}{%
+ {% Group
+ \pgfkeys{%
+ /robExt/.cd,
+ set placeholder={__ROBEXT_MAIN_CONTENT__}{#2},
+ default style,
+ #1,
+ }%
+ \robExtEvaluateCompileAndInclude%
+ }%
+}
+\let\cacheMe\robExtCacheMe
+
+%% #1: Arguments, #2: content to externalize
+% \NewDocumentEnvironment{robExtern}{O{}+b}{%
+% \robExt[#1]{#2}%
+% }{}
+
+\NewDocumentEnvironment{RobExtCacheMe}{m+b}{%
+ \robExtCacheMe[#1]{#2}%
+}{}
+\let\CacheMe\RobExtCacheMe
+\let\endCacheMe\endRobExtCacheMe
+
+\NewDocumentEnvironment{RobExtCacheMeCode}{m}{%
+ \RobExtPlaceholderFromCode{__ROBEXT_MAIN_CONTENT__}%
+}{%
+ \endRobExtPlaceholderFromCode%
+ \pgfkeys{%
+ /robExt/.cd,
+ #1,
+ }%
+ \robExtEvaluateCompileAndInclude%
+}
+\let\CacheMeCode\RobExtCacheMeCode
+\let\endCacheMeCode\endRobExtCacheMeCode
+
+\NewDocumentEnvironment{RobExtCacheMeNoContent}{+b}{%
+ \robExtCacheMe[#1]{}%
+}{}
+\let\CacheMeNoContent\RobExtCacheMeNoContent
+\let\endCacheMeNoContent\endRobExtCacheMeNoContent
+
+\NewDocumentCommand{\robExtConfigure}{m}{%
+ \pgfkeys{
+ /robExt/.cd,#1%Do not add a space before the #1!
+ }%
+}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%% Default presets %%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% We create here a few presets and placeholders useful later
+
+%%%% Available in all styles
+\robExtConfigure{
+ set includegraphics options/.style={
+ set placeholder={__ROBEXT_INCLUDEGRAPHICS_OPTIONS__}{#1},
+ },
+ add to includegraphics options/.style={
+ add to placeholder no space={__ROBEXT_INCLUDEGRAPHICS_OPTIONS__}{,#1},
+ },
+ set placeholder={__ROBEXT_VERBATIM_COMMAND__}{\verbatiminput},
+ % We expect the program to write in __ROBEXT_OUTPUT_PREFIX__-out.txt
+ verbatim output/.style={
+ custom include command={%
+ \evalPlaceholder{%
+ __ROBEXT_VERBATIM_COMMAND__{__ROBEXT_CACHE_FOLDER____ROBEXT_OUTPUT_PREFIX__-out.txt}%
+ }%
+ },
+ }
+}
+
+%%%% For LaTeX codes
+
+\setPlaceholder{__ROBEXT_LATEX_OPTIONS__}{}
+\setPlaceholder{__ROBEXT_DOCUMENT_CLASS__}{standalone}
+\setPlaceholder{__ROBEXT_PREAMBLE__}{}
+\setPlaceholder{__ROBEXT_INCLUDEGRAPHICS_OPTIONS__}{}
+\setPlaceholder{__ROBEXT_INCLUDEGRAPHICS_FILE__}{\robExtAddCachePathAndName{\robExtFinalHash.pdf}}
+\setPlaceholder{__ROBEXT_LATEX_TRIM_LENGTH__}{30cm}
+
+\begin{PlaceholderFromCode}{__ROBEXT_LATEX__}
+\documentclass[__ROBEXT_LATEX_OPTIONS__]{__ROBEXT_DOCUMENT_CLASS__}
+__ROBEXT_PREAMBLE__
+\begin{document}%
+__ROBEXT_MAIN_CONTENT_WRAPPED__
+\end{document}
+\end{PlaceholderFromCode}
+
+\begin{PlaceholderFromCode}{__ROBEXT_MAIN_CONTENT_WRAPPED__}
+__ROBEXT_CREATE_OUT_FILE__%
+\newsavebox\boxRobExt%
+\savebox{\boxRobExt}{%
+ __ROBEXT_MAIN_CONTENT__%
+}%
+\usebox{\boxRobExt}%
+__ROBEXT_WRITE_DEPTH_TO_OUT_FILE__%
+\end{PlaceholderFromCode}
+
+\begin{PlaceholderFromCode}{__ROBEXT_CREATE_OUT_FILE__}
+%% We save the height/depth of the content by using a savebox:
+\newwrite\writeRobExt%
+\immediate\openout\writeRobExt=\jobname-out.tex%
+\end{PlaceholderFromCode}
+
+\begin{PlaceholderFromCode}{__ROBEXT_WRITE_DEPTH_TO_OUT_FILE__}
+\immediate\write\writeRobExt{%
+ \string\def\string\robExtWidth{\the\wd\boxRobExt}%
+ \string\def\string\robExtHeight{\the\ht\boxRobExt}%
+ \string\def\string\robExtDepth{\the\dp\boxRobExt}%
+}%
+\end{PlaceholderFromCode}
+
+%% Compilation commands
+\setPlaceholder{__ROBEXT_COMPILATION_COMMAND_LATEX__}{__ROBEXT_LATEX_ENGINE__ __ROBEXT_COMPILATION_COMMAND_OPTIONS__ "__ROBEXT_SOURCE_FILE__"}
+\setPlaceholder{__ROBEXT_COMPILATION_COMMAND_OPTIONS__}{-shell-escape -halt-on-error}
+\setPlaceholder{__ROBEXT_LATEX_ENGINE__}{pdflatex}
+
+\robExtConfigure{
+ % some useful presets
+ latex/.style={
+ set template={__ROBEXT_LATEX__},
+ set compilation command={__ROBEXT_COMPILATION_COMMAND_LATEX__},
+ %% Configure the latex compilation engine
+ use latexmk/.style={
+ set placeholder={__ROBEXT_LATEX_ENGINE__}{latexmk},
+ },
+ use lualatex/.style={
+ set placeholder={__ROBEXT_LATEX_ENGINE__}{lualatex},
+ },
+ use xelatex/.style={
+ set placeholder={__ROBEXT_LATEX_ENGINE__}{xelatex},
+ },
+ set latex options/.style={
+ set placeholder={__ROBEXT_LATEX_OPTIONS__}{##1},
+ },
+ add to latex options/.style={
+ add to placeholder no space={__ROBEXT_LATEX_OPTIONS__}{,##1},
+ },
+ set documentclass/.style={
+ set placeholder={__ROBEXT_DOCUMENT_CLASS__}{##1},
+ },
+ set preamble/.style={
+ set placeholder={__ROBEXT_PREAMBLE__}{##1},
+ },
+ add to preamble/.style={
+ add to placeholder={__ROBEXT_PREAMBLE__}{##1},
+ },
+ do not wrap code/.style={
+ set placeholder={__ROBEXT_MAIN_CONTENT_WRAPPED__}{__ROBEXT_MAIN_CONTENT__},
+ },
+ add to includegraphics options={trim=__ROBEXT_LATEX_TRIM_LENGTH__ __ROBEXT_LATEX_TRIM_LENGTH__ __ROBEXT_LATEX_TRIM_LENGTH__ __ROBEXT_LATEX_TRIM_LENGTH__},
+ add to latex options={margin=__ROBEXT_LATEX_TRIM_LENGTH__},
+ do not add margins/.style={
+ set placeholder={__ROBEXT_LATEX_TRIM_LENGTH__}{0cm}
+ },
+ },
+ tikz/.style={
+ latex,
+ add to preamble={\usepackage{tikz}},
+ add before placeholder no space={__ROBEXT_MAIN_CONTENT__}{\begin{tikzpicture}},
+ add to placeholder no space={__ROBEXT_MAIN_CONTENT__}{\end{tikzpicture}},
+ },
+}
+
+% %%%%%%% Integration with python
+
+
+\begin{PlaceholderFromCode}{__ROBEXT_PYTHON__}
+__ROBEXT_PYTHON_IMPORT__
+__ROBEXT_PYTHON_MAIN_CONTENT_WRAPPED__
+\end{PlaceholderFromCode}
+
+\setPlaceholder{__ROBEXT_PYTHON_IMPORT__}{}
+
+\begin{PlaceholderFromCode}{__ROBEXT_PYTHON_MAIN_CONTENT_WRAPPED__}
+# This file will be loaded in latex. Useful to pass data to the main document
+f_out_write = open("__ROBEXT_OUTPUT_PREFIX__-out.tex", "w")
+
+import os
+import sys
+
+def write_to_out(text):
+ """Write to the -out.tex file that is loaded by default"""
+ f_out_write.write(text)
+
+def parse_args():
+ args = {}
+ if len(sys.argv) % 2 == 0:
+ print("Error: the number of arguments must be even, as tuples of name and value")
+ exit(1)
+ for i in range(0,len(sys.argv)-1,2):
+ args[sys.argv[i+1]] = sys.argv[i+2]
+ return args
+
+def get_cache_folder():
+ '''
+ Path of the cache folder. Warning: this works only when the python script
+ is located in this cache folder (that should be true when it's called from LaTeX)
+ '''
+ return os.path.abspath(os.path.dirname(sys.argv[0]))
+
+def get_file_base():
+ '''
+ Outputs the base of the files (i.e. something like robExt-somehash, without any extension)
+ '''
+ return os.path.splitext(os.path.basename(sys.argv[0]))[0] # __file__ does not work as it refers to the library
+
+def get_current_script():
+ '''
+ Outputs the path of the current script
+ '''
+ return os.path.abspath(sys.argv[0]) # __file__ does not work as it refers to the library
+
+
+def get_filename_from_extension(extension):
+ '''
+ If you want to create a file with extension 'extension' (with the appropriate base name), this command
+ is for you. For instance get_filename_from_extension(".mp4") would return something like
+ robExt-somehash.mp4
+ the extension can also be like get_filename_from_extension("-out.tex") etc.
+ '''
+ return os.path.join(get_cache_folder(), get_file_base() + extension)
+
+def get_verbatim_output():
+ '''Returns the path to -out.txt that is read by verbatim output'''
+ return get_filename_from_extension("-out.txt")
+
+def get_pdf_output():
+ '''Returns the path to -out.txt that is read by verbatim output'''
+ return get_filename_from_extension(".pdf")
+
+
+def finished_with_no_error():
+ '''
+ Call this at the end of your script. This creates the path of the final pdf file that should be
+ created (otherwise robust-externalize will think that the compilation failed)
+ '''
+ if not os.path.exists(get_filename_from_extension(".pdf")):
+ # we create an empty path
+ with open(get_filename_from_extension(".pdf"), 'w') as f:
+ pass
+
+### Starting main content
+__ROBEXT_MAIN_CONTENT__
+### Ending main content
+__ROBEXT_PYTHON_FINISHED_WITH_NO_ERROR__
+f_out_write.close()
+\end{PlaceholderFromCode}
+
+% It is annoying to manually call finished_with_no_error(), but it is handy to be able to disable it.
+\begin{PlaceholderFromCode}{__ROBEXT_PYTHON_FINISHED_WITH_NO_ERROR__}
+finished_with_no_error()
+\end{PlaceholderFromCode}
+
+%% On windows, python3 does not exist, and python points to python3. On linux, it seems to depend, at least on
+%% my system it points to python3 as well.
+\setPlaceholder{__ROBEXT_PYTHON_EXEC__}{python}
+
+\robExtConfigure{
+ python/.style={
+ set compilation command={__ROBEXT_PYTHON_EXEC__ "__ROBEXT_SOURCE_FILE__"},
+ set template={__ROBEXT_PYTHON__},
+ print verbatim if no externalization,
+ force python3/.style={
+ set placeholder={__ROBEXT_PYTHON_EXEC__}{python3}
+ },
+ }
+}
+
+%% A style to print both the code and the result:
+\begin{PlaceholderFromCode}{__ROBEXT_PYTHON_PRINT_CODE_RESULT_TEMPLATE_BEFORE__}
+# File where print("bla") should be redirected
+# get_filename_from_extension("-foo.txt") will give you the path of the file
+# in the cache that looks like robExt-somehash-foo.txt
+print_file = open(get_filename_from_extension("-print.txt"), "w")
+sys.stdout = print_file
+# This code will read the current code, and extract the lines between
+# that starts with "### CODESTARTSHERE" and "### CODESTOPSHERE", and will write
+# it into the *-code.text (we do not want to print all these functions in
+# the final code)
+with open(get_filename_from_extension("-code.txt"), "w") as f:
+ # The current script has extension .tex
+ with open(get_current_script(), "r") as script:
+ should_write = False
+ for line in script:
+ if line.startswith("### CODESTARTSHERE"):
+ should_write = True
+ elif line.startswith("### CODESTOPSHERE"):
+ should_write = False
+ elif "HIDEME" in line:
+ pass
+ else:
+ if should_write:
+ f.write(line)
+### CODESTARTSHERE
+\end{PlaceholderFromCode}
+
+
+\begin{PlaceholderFromCode}{__ROBEXT_PYTHON_PRINT_CODE_RESULT_TEMPLATE_AFTER__}
+### CODESTOPSHERE
+print_file.close()
+\end{PlaceholderFromCode}
+\setPlaceholder{__ROBEXT_PYTHON_TCOLORBOX_PROPS__}{colback=red!5!white,colframe=red!75!black}
+\setPlaceholder{__ROBEXT_PYTHON_CODE_MESSAGE__}{}
+\setPlaceholder{__ROBEXT_PYTHON_RESULT_MESSAGE__}{Output:}
+\setPlaceholder{__ROBEXT_PYTHON_LSTINPUT_STYLE__}{frame=single, breakindent=.5\textwidth, frame=single, breaklines=true, style=mypython}
+\robExtConfigure{
+ python print code and result/.style={
+ python,
+ add before placeholder no space={__ROBEXT_MAIN_CONTENT__}{__ROBEXT_PYTHON_PRINT_CODE_RESULT_TEMPLATE_BEFORE__},
+ add to placeholder no space={__ROBEXT_MAIN_CONTENT__}{__ROBEXT_PYTHON_PRINT_CODE_RESULT_TEMPLATE_AFTER__},
+ set title/.style={
+ set placeholder={__MY_TITLE__}{##1},
+ },
+ set title={Python code},
+ custom include command={
+ % Useful to replace __MY_TITLE__:
+ \evalPlaceholder{
+ \begin{tcolorbox}[title=__MY_TITLE__,__ROBEXT_PYTHON_TCOLORBOX_PROPS__]
+ __ROBEXT_PYTHON_CODE_MESSAGE__%
+ \lstinputlisting[__ROBEXT_PYTHON_LSTINPUT_STYLE__]{\robExtAddCachePathAndName{\robExtFinalHash-code.txt}}
+ __ROBEXT_PYTHON_RESULT_MESSAGE__%
+ \verbatiminput{\robExtAddCachePathAndName{\robExtFinalHash-print.txt}}
+ \end{tcolorbox}
+ }
+ },
+ },
+}
+
+
+%%%% Verbatim text
+
+\robExtConfigure{
+ verbatim text/.style={
+ set template={__ROBEXT_MAIN_CONTENT__},
+ custom include command={\evalPlaceholder{\verbatiminput{\robExtAddCachePathAndName{\robExtFinalHash.tex}}}},
+ %% Apparently this works on windows as well https://stackoverflow.com/questions/1702762/how-can-i-create-an-empty-file-at-the-command-line-in-windows
+ set compilation command={echo "" > __ROBEXT_OUTPUT_PDF__},
+ },
+ verbatim text no include/.style={
+ verbatim text,
+ custom include command={\evalPlaceholder{%
+ \xdef\robExtPathToInput{\robExtAddCachePathAndName{\robExtFinalHash.tex}}%
+ }%
+ }%
+ },
+}
+
+%%%%% Bash
+
+\begin{PlaceholderFromCode}{__ROBEXT_BASH_TEMPLATE__}
+# Quit if there is an error
+set -e
+outputTxt="__ROBEXT_OUTPUT_PREFIX__-out.txt"
+outputTex="__ROBEXT_OUTPUT_PREFIX__-out.tex"
+outputPdf="__ROBEXT_OUTPUT_PDF__"
+__ROBEXT_MAIN_CONTENT__
+# Create the pdf file to certify that no compilation error occured
+touch "${outputPdf}"
+\end{PlaceholderFromCode}
+
+\setPlaceholder{__ROBEXT_BASH_SHELL__}{bash}
+
+\robExtConfigure{
+ bash/.style={
+ set compilation command={__ROBEXT_BASH_SHELL__ "__ROBEXT_SOURCE_FILE__"},
+ set template={__ROBEXT_BASH_TEMPLATE__},
+ print verbatim if no externalization,
+ }
+}
+
+
+%%%%% Replace tikzpicture:
+
+\NewDocumentCommand{\robExtExternalizeAllTikzpictures}{}{%
+ %% We need to save the tikzpicture environment to avoid infinite recursion if we disable externalization
+ \let\robExtTikzPictureOrig\tikzpicture%
+ \let\endrobExtTikzPictureOrig\endtikzpicture%
+ \DeclareDocumentEnvironment{tikzpicture}{O{}O{}b}{%
+ \begin{CacheMe}{tikz,##2}[##1]%
+ ##3%
+ \end{CacheMe}%
+ }{}%
+}
+
+% To avoid infinite recursion when using \robExtExternalizeAllTikzpictures, we need to redefine tikzpicture
+\NewDocumentCommand{\robExtDisableTikzpictureOverwrite}{}{%
+ \ifdefined\robExtTikzPictureOrig%
+ \let\tikzpicture\robExtTikzPictureOrig%
+ \let\endtikzpicture\endrobExtTikzPictureOrig%
+ \fi%
+}
+
+%% The cached version
+\DeclareDocumentEnvironment{tikzpictureC}{O{}O{}b}{%
+ \begin{CacheMe}{tikz,#2}[#1]%
+ #3%
+ \end{CacheMe}%
+}{}%
+
diff --git a/macros/latex/contrib/robust-externalize/robust-externalize.tex b/macros/latex/contrib/robust-externalize/robust-externalize.tex
new file mode 100644
index 0000000000..561cde37a5
--- /dev/null
+++ b/macros/latex/contrib/robust-externalize/robust-externalize.tex
@@ -0,0 +1,2113 @@
+\documentclass[a4paper,doc2]{ltxdoc} % doc2 is needed to force the old version, or links get colored in a weird red way even with hidelinks. https://github.com/latex3/latex2e/issues/822
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Packages
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Warning: if you compile and get:
+%% ERROR: Argument of \tikz@lib@matrix@with@options has an extra }.
+%% make sure to fix catcodes around it as | is given a different meaning in ltxdoc.
+
+\usepackage{amsmath}
+\usepackage[margin=3cm]{geometry}
+\usepackage{calc}
+\usepackage{tikz}
+\usetikzlibrary{shadows,fit}
+% \usetikzlibrary fails because file is not in current directory, lazy to setup TEXINPUTS
+\makeatletter
+ \usepackage{robust-externalize}
+\makeatother
+
+% Loads the great package that produces tikz-like manual (see also tikzcd for examples)
+\input{pgfmanual-en-macros.tex} % Is supposed to be included in recent TeX distributions, but I get errors...
+
+%% For verbatim environments:
+
+\NewDocumentEnvironment{codeAndResult}{}{\XSIMfilewritestart{\jobname-codeAndResult-tmp-file-you-can-remove.tmp}}%
+{%
+ \XSIMfilewritestop%
+ \par
+ \medskip
+ \noindent\colorbox{graphicbackground}{\noindent\begin{minipage}{1.0\linewidth}
+ {\input{\jobname-codeAndResult-tmp-file-you-can-remove.tmp}}
+ \end{minipage}}
+ % I don't know why, but sometimes this prints nothing, while input works:
+ %{\codeexample[width=0pt, leave comments, vbox, from file={\jobname-codeAndResult-tmp-file-you-can-remove.tmp}]}%
+ {\codeexample[code only, from file={\jobname-codeAndResult-tmp-file-you-can-remove.tmp}]}%
+}
+
+\usepackage{makeidx} % Produces an index of commands.
+\makeindex % Useful or not index will be created
+\usepackage{alertmessage} % For warning, info...
+\newcommand{\mylink}[2]{\href{#1}{#2}\footnote{\url{#1}}}
+\usepackage{verbatim}
+\usepackage{mathtools}
+\usepackage{float} %figure inside minipage
+\usepackage{pythonhighlight}
+\usepackage{tcolorbox}
+
+\usepackage{listings}
+\definecolor{codegreen}{rgb}{0,0.6,0}
+\definecolor{codegray}{rgb}{0.5,0.5,0.5}
+\definecolor{codepurple}{rgb}{0.58,0,0.82}
+\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
+
+\lstdefinestyle{mystyle}{
+ backgroundcolor=\color{backcolour},
+ commentstyle=\color{codegreen},
+ keywordstyle=\color{magenta},
+ numberstyle=\tiny\color{codegray},
+ stringstyle=\color{codepurple},
+ basicstyle=\ttfamily\footnotesize,
+ breakatwhitespace=false,
+ breaklines=true,
+ captionpos=b,
+ keepspaces=true,
+ numbers=left,
+ numbersep=5pt,
+ showspaces=false,
+ showstringspaces=false,
+ showtabs=false,
+ tabsize=2
+}
+
+\lstset{style=mystyle}
+
+
+\usepackage[hidelinks]{hyperref}
+\usepackage{cleveref}
+
+\begin{document}
+%%% Title: thanks tikzcd for the styling
+\begin{center}
+ \vspace*{1em} % Thanks tikzcd
+ \tikz\node[scale=1.2]{%
+ \color{gray}\Huge\ttfamily \char`\{\raisebox{.09em}{\textcolor{red!75!black}{robust\raisebox{-0.1em}{-}externalize}}\char`\}};
+
+ \vspace{0.5em}
+ {\Large\bfseries Cache anything (\tikzname, python…),\\in a robust, efficient and pure way.}
+
+ \vspace{1em}
+ {Léo Colisson \quad Version 1.0}\\[3mm]
+ {\href{https://github.com/leo-colisson/robust-externalize}{\texttt{github.com/leo-colisson/robust-externalize}}}
+\end{center}
+
+
+\tableofcontents
+
+\bigskip
+
+\textbf{WARNING: This library is young and has not been tested extensively (and is an important rewrite of a previous version). Even if we try to stay backward compatible, the only guaranteed way to be immune to changes is to copy/paste the library in your main project folder. Please report any bug to \url{https://github.com/leo-colisson/robust-externalize}, or let us know if it works!}
+
+\section{A taste of this library}
+
+This library allows you to cache any language: not only \LaTeX{} documents and \tikzname{} images, taking into account depth and overlays:
+\begin{codeexample}[width=0pt,vbox]
+ \robExtConfigure{
+ tikz/.append style={
+ add to preamble={\usepackage{pifont}}
+ }
+ }
+ The next picture is cached %
+ \begin{tikzpictureC}[baseline=(A.base)]
+ \node[fill=red, rounded corners](A){My node that respects baseline \ding{164}.};
+ \node[fill=red, rounded corners, opacity=.3,overlay] at (A.north east){I am an overlay text};
+ \end{tikzpictureC} and you can see that overlay and depth works.
+\end{codeexample}
+
+
+\noindent but also arbitrary code (e.g.\ python). You can also define arbitrary compilation commands, inclusion commands, and presets to fit you need. For instance, you can create a preset to obtain:
+
+\begin{codeAndResult}
+\begin{CacheMeCode}{python print code and result, set title={The for loop}}
+for name in ["Alice", "Bob"]:
+ print(f"Hello {name}")
+\end{CacheMeCode}
+\end{codeAndResult}
+
+Actually, we also provide this style by default (and explain how to write it yourself), you just make sure to load:
+\begin{verbatim}
+\usepackage{pythonhighlight}
+\usepackage{tcolorbox}
+\end{verbatim}
+
+To achieve a pleasant and configurable interface, we introduced placeholders, that can be of independent interest.
+
+\section{Introduction}
+
+\subsection{Why do I need to cache (a.k.a. externalize) parts of my document?}
+
+One often wants to cache (i.e.\ store pre-compiled parts of the document, like figures) operations that are long to do: For instance, TikZ is great, but TikZ figures often take time to compile (it can easily take a few seconds per picture). This can become really annoying with documents containing many pictures, as the compilation can take multiple minutes: for instance my thesis needed roughly 30mn to compile as it contains many tiny figures, and LaTeX needs to compile the document multiple times before converging to the final result. But even on much smaller documents you can easily reach a few minutes of compilation, which is not only high to get a useful feedback in real time, but worse, when using online \LaTeX{} providers (e.g. overleaf), this can be a real pain as you are unable to process your document due to timeouts.
+
+Similarly, you might want to cache the result of some codes, for instance a text or an image generated via python and matplotlib, without manually compiling them externally.
+
+\subsection{Why not using \tikzname{}'s externalize library?}
+
+\tikzname{} has an externalize library to pre-compile these images on the first run. Even if this library is quite simple to use, it has multiple issues:
+\begin{itemize}
+\item If you add a picture before existing pre-compiled pictures, the pictures that are placed after will be recompiled from scratch. This can be mitigated by manually adding a different prefix to each picture, but it is highly not practical to use.
+\item To compile each picture, TikZ's externalize library reads the document's preamble and needs to process (quickly) the whole document. In large documents (or in documents relying on many packages), this can result in a significant loading time, sometimes much bigger than the time to compile the document without the externalize library: for instance, if the document takes 10 seconds to be processed, and if you have 200 pictures that take 1s each to be compiled, the first compilation with the TikZ's externalize library will take roughly half an hour instead of 3mn without the library. And if you add a single picture at the beginning of the document… you need to restart everything from scratch. For these reasons, I was not even able to compile my thesis with TikZ's external library in a reasonable time.
+\item If two pictures share the same code, it will be compiled twice
+\item Little purity is enforced: if a macro changes before a pre-compiled picture that uses this macro, the figure will not be updated. This can result in different documents depending on whether the cache is cleared or not.
+\item As far as I know, it is made for TikZ picture mostly, and is not really made for inserting other stuff, like matplotlib images generated from python etc...
+\item According to some maintainers of TikZ, ``\mylink{https://github.com/pgf-tikz/pgf/issues/758}{the code of the externalization library is mostly unreadable gibberish}'', and therefore most of the above issues are unlikely to be solved in a foreseable future.
+\end{itemize}
+
+\subsection{FAQ}
+
+\paragraph{What is supported?}
+
+You can cache most things, including tikz pictures, (including ones with overlays (but not with remember picture), with depth etc.), python code etc. We tried to make the library as customizable as possible to be useful in most scenarios. You can also feed data back to the main document (say that you want to compute a value that takes time to compute, or compute the number of pages of the produced document in order to increase the number of pages accordingly\dots{}).
+
+\paragraph{What is not supported?}
+
+We do not yet support remember picture, and you can't use (yet) cross-references inside your images (at least not without further hacks). Note that this library is quite young, so expect untested things.
+
+\paragraph{What OS are supported?}
+
+I tested the library mostly on Linux systems, but the library should work on all OS. Please let me know if it fails for you.
+
+\paragraph{Do I need to compile using -shell-escape?}
+
+Since we need to compile the images via an external command, the simpler option is to add the argument |-shell-escape| to let the library run the compilation command automatically (this is also the case of \tikzname's externalize library). However, people worried by security issues of |-shell-escape| (that allows arbitrary code execution if you don't trust the \LaTeX{} code) might be interested by these facts:
+\begin{itemize}
+\item If images are all already cached, you don't need to enable \texttt{-shell-escape} (this might be interesting e.g. to send the files a pre-cached document to the arxiv or to a publisher: just make sure to include the cache folder).
+\item You can choose to display a dummy content until you choose to compile them.
+\item You can compile manually the images: all the commands that are left to be executed are listed in \texttt{robExt-compile-missing-figures.sh} and you can just run them, either with \texttt{bash robExt-compile-missing-figures.sh} or by typing them manually (most of the time it's only a matter of running \texttt{pdflatex somefile.tex}).
+\end{itemize}
+
+
+\paragraph{Is it working on overleaf?}
+
+Yes: overleaf automatically compiles documents with |-shell-escape|, so nothing special needs to be done there (of course, if you use this library to run some code, the programming language might not be available, but I heard that python is installed on overleaf servers for instance, even if this needs to be doubled checked). If the first compilation of the document to cache images times out, you can just repeat this operation multiple times until all images are cached.
+
+\paragraph{Do you have some benchmarks?}
+
+On an early draft of a small paper containing 76 small tikz-cd based pictures (from my other zx-calculus library), we measured:
+\begin{itemize}
+\item 35 seconds for a normal compilation without externalization
+\item 75 seconds for the first compilation with this library
+\item 2.4 seconds for the next runs
+\end{itemize}
+So during the first compilation, we lost a x2 factor (roughly an additional time of .5 seconds per picture coming from the time to start \LaTeX{}, it seems like on average a picture takes .5 seconds to be built in my benchmark), but then we have a speedup of x15 (2.43s instead of 34.63s) for all subsequent runs. And I expect this to be even higher with more pictures and more complex documents.
+
+\paragraph{Can I use version-control to keep the cached files in my repository?} Sure, each cached figure is stored in a few files (typically one pdf and one \LaTeX{} file, plus the source) having the same prefix (the hash), avoiding collision between runs. Just commit these files and you are good to go.
+
+\paragraph{Can you deal with baseline position ?} Yes, the depth of the box is automatically computed and used to include the figure by default.
+
+\paragraph{How is purity enforced?} Purity is the property that if you remove the cached files and recompile your document, you should end-up with the same output. To enforce purity, we compute the hash of the final program, including the compilation command and the dependency files used for instance in |\input{include.tex}| (unless you prefer not to, for instance to keep parts of the process impure for efficiency reasons), and put the code in a file named based on this hash. Then we compile it if it has not been used before, and include the output. Changing a single character in the file, the tracked dependencies, or the compilation command will lead to a new hash, and therefore to a new generated picture.
+
+\paragraph{What if I don't want purity for all files?} If you do not want your files to be recompiled if you modify a given file, then just do not add this file to the list of dependencies.
+
+\paragraph{Can I extend it easily?} We tried to take a quite modular approach in order to allow easy extensions. Internally, to support a new cache scheme, we only expect a string containing the program (possibly produced using a template), a list of dependencies, a command to compile this program (e.g. producing a pdf and possibly a tex file with the properties (depth…) of the pdf), and a command to load the result of the compilation into the final document (called after loading the previously mentioned optional tex file). Thanks to pgfkeys, it is then possible to create simple pre-made settings to automatically apply when needed.
+
+\paragraph{How does it compare with \url{https://github.com/sasozivanovic/memoize}?} I recently became aware of the great \url{https://github.com/sasozivanovic/memoize}. While me aim to solve a similar goal, our approaches are quite different. While we focus on purity, and therefore create a different file for each picture, the above project puts all pictures in a single file and compile them all at once to avoid losing time to run the latex command for each picture (this mostly makes a difference for the first compilation). Our understanding of the main differences is the following:
+
+Pros of \url{https://github.com/sasozivanovic/memoize}:
+\begin{itemize}
+\item The above library is likely to be quicker on the first run since it packs everything in a single file (so you save the time to run latex for each picture). On the other hand, we can load in the preamble exactly what is needed for the picture (we do not load all the preamble of the main file), so our startup time is not huge (it adds .5s per picture in my tests when using the |zx-calculus| library), and you can still commit the cached file to help with recompiling the document elsewhere.
+\item It seems to be easier to setup as they do not need to specify the preamble of the file to compile (the preamble of the main file is used), and tikz picture are automatically memoized (we provide |\robExtExternalizeAllTikzpictures| for that, but you still need to specify the preamble once).
+\end{itemize}
+
+Cons of \url{https://github.com/sasozivanovic/memoize}:
+\begin{itemize}
+\item The purity is not enforced so strongly since all images are in the same file. Notably, the hash only depends on the picture, but not on its context. So for instance if you define |\def\mycolor{blue}| before the picture, and use |\mycolor| inside the picture, if you change later the color to, say, |\def\mycolor{red}|, the picture will not be recompiled (so cleaning the cache and recompiling would produce a different result). In our case, the purity is always strictly enforced (unless you choose not to).
+\item As a result, the above library has poor support for contexts (in our case, you can easily, for instance, make a picture depend on the current page, and recompile the picture only if the current page changes: you can also do it the other way, and change some counters, say, depending on the cached file).
+\item The above library only focuses on \LaTeX{} while our library works for any language
+\item The above library can only produce pdf formats, while we can generate any format (text, tex, jpg\dots{} and even videos that I include in my beamer presentation).
+\item We have an arguably more complete documentation.
+\end{itemize}
+
+Note that |remember picture| is not working in both libraries.
+
+\section{Quickstart}
+
+\subsection{Installation}
+
+To install the library, just copy the |robust-externalize.sty| file into the root of the project. Then, load the library using:\\
+
+|\usepackage{robust-externalize}|
+
+
+\subsection{Caching a tikz picture}
+
+If you only care about \tikzname's picture, you have 3 options:
+\begin{enumerate}
+\item Call once |\robExtExternalizeAllTikzpictures| that will redefine |tikzpicture| to use our library (if you use this solution, make sure to read how to disable externalization (\cref{sec:disableExternalization}) as we do not support for instance |remember picture|). Then, configure the default preamble for cached files as explained below.
+\item Use |tikzpictureC| instead of |tikzpicture| (this is mostly done to easily convert existing code to this library, but works only for |tikz| pictures).
+\item Use the more general |CacheMe| environment, that can cache \tikzname, \LaTeX{}, python, and much more.
+\end{enumerate}
+
+These 3 options are illustrated below (note that the newly defined |tikzpicture| and |tikzpictureC| accept a second optional argument that contains the options to pass to |CacheMe| after loading the |tikz| preset):
+
+Option 1:
+\begin{codeexample}[width=0pt]
+%% We override the default tikzpicture environment
+%% to externalize all pictures
+%% Warning: it will cause troubles with pictures relying on |remember pictures|
+\robExtExternalizeAllTikzpictures
+
+I am a cached picture: \begin{tikzpicture}[baseline=(A.base)]
+ \node[draw,rounded corners,fill=pink!60](A){Hello World!};
+\end{tikzpicture}.
+\end{codeexample}
+
+Option 2:
+\begin{codeexample}[width=0pt]
+I am a cached picture: \begin{tikzpictureC}[baseline=(A.base)]
+ \node[draw,rounded corners,fill=pink!60](A){Hello World!};
+\end{tikzpictureC}.
+\end{codeexample}
+
+
+Option 3:
+\begin{codeexample}[width=0pt]
+I am a cached picture: \begin{CacheMe}{tikz}[baseline=(A.base)]
+ \node[draw,rounded corners,fill=pink!60](A){Hello World!};
+\end{CacheMe}.
+\end{codeexample}
+
+Since |CacheMe| is more general as it applies also to non-tikz pictures (just replace |tikz| with the style of your choice), we will mostly use this syntax from now.
+
+\subsection{Custom preamble}
+
+Note that the pictures are compiled in a separate document, with a different preamble and class (we use the standalone class). This is interesting to reduce the compilation time of each picture (loading a large preamble is really time consuming) and to avoid unnecessary recompilation (do you want to recompile all your pictures when you add a single new macro?) without sacrificing the purity. But of course, you need to provide the preamble of the pictures. The easiest way is probably to modify the |tikz| preset (you can also modify the |latex| preset if you want the change to apply to all \LaTeX{} documents):
+
+\begin{codeexample}[width=0pt,vbox]
+ \robExtConfigure{
+ tikz/.append style={
+ add to preamble={\usetikzlibrary{shadows}},
+ },
+ }
+
+ See, tikz's style now packs the |shadows| library by default: %
+ \begin{CacheMe}{tikz}[even odd rule]
+ \filldraw [drop shadow,fill=white] (0,0) circle (.5) (0.5,0) circle (.5);
+ \end{CacheMe}
+\end{codeexample}
+
+You can also choose to overwrite it for a single picture (or even a block of picture if you run the |\robExtConfigure| and |CacheMe| inside a group |{ ... }|):
+\begin{codeexample}[width=0pt,vbox]
+ See, you can add something to the preamble of a single picture: %
+ \begin{CacheMe}{tikz, add to preamble={\usetikzlibrary{shadows}}}[even odd rule]
+ \filldraw [drop shadow,fill=white] (0,0) circle (.5) (0.5,0) circle (.5);
+ \end{CacheMe}
+\end{codeexample}
+
+Note that if you use the |tikzpictureC| or |tikzpicture| syntax, you want to add the options after the tikz options (leave an empty bracket if there is none):
+\begin{codeexample}[width=0pt,vbox]
+ See, you can add something to the preamble of a single picture: %
+ \begin{tikzpictureC}[even odd rule][add to preamble={\usetikzlibrary{shadows}}]
+ \filldraw [drop shadow,fill=white] (0,0) circle (.5) (0.5,0) circle (.5);
+ \end{tikzpictureC}
+\end{codeexample}
+
+\subsection{Dependencies}\label{sec:dependencies}
+
+It might be handy to have a file that is loaded in both the main document and in the cached pictures. For instance, if you have a file |common_inputs.tex| that you want to input in both the main file and in the cached files, that contains, say:\\
+|\def\myValueDefinedInCommonInputs{42}|\\
+then you can add it as a dependency this way (here we use the |latex| preset that does not wrap the code inside a |tikzpicture| only to illustrate that we can also cache things that is not generated by tikz):
+\begin{codeexample}[width=0pt,vbox]
+\begin{CacheMe}{latex,
+ add dependencies={common_inputs.tex},
+ add to preamble={\input{__ROBEXT_WAY_BACK__/common_inputs.tex}}}
+ The answer is \myValueDefinedInCommonInputs.
+\end{CacheMe}
+\end{codeexample}
+Note that the placeholder |__ROBEXT_WAY_BACK__| contains the path from the cache folder (containing the |.tex| that will be cached) to the root folder, and will be replaced when creating the file. This way, you can easily input files contained in the root folder. You can also create your own placeholders, read more below.
+
+You can note that we used |add dependencies={common_inputs.tex}|: this allows us to recompile the files if |common_inputs.tex| changes. If you do not want this behavior (e.g. |common_inputs.tex| changes too often and you do not want to recompile everything at every change), you can remove this line, but beware: if you do a breaking changes in |common_inputs.tex| (e.g.\ redefine |42| to |43|), then the previously cached picture will not be recompiled! (So you will still read 42 instead of 43.)
+
+\subsection{Disabling externalization}\label{sec:disableExternalization}
+
+You can use |disable externalization| to disable externalization (which is particularly practical if you set |\robExtExternalizeAllTikzpictures|). You can configure the exact command run in that case using |command if no externalization/.code={...}|, see \cref{sec:disableExternalization} for details.
+
+\begin{codeexample}[width=0pt,vbox]
+ % In theory all pictures should be externalized (so remember picture should fail)
+ \tikz[remember picture,baseline=(pointtome1.base)]
+ \node[rounded corners, fill=orange](pointtome1){Point to me if you can};\\
+ \robExtExternalizeAllTikzpictures
+ % But we can disable it temporarily
+ \begin{tikzpicture}[remember picture][disable externalization]
+ \node[rounded corners, fill=red](A){This figure is not externalized.
+ This way, it can use remember picture.};
+ \draw[->,overlay] (A) to[bend right] (pointtome1);
+ \end{tikzpicture}\\
+
+ % You can also disable it globally/in a group:
+ {
+ \robExtConfigure{disable externalization}
+
+ \begin{tikzpicture}[remember picture]
+ \node[rounded corners, fill=red](A){This figure is not externalized.
+ This way, it can use remember picture.};
+ \draw[->,overlay] (A.west) to[bend left] (pointtome1);
+ \end{tikzpicture}\\
+
+ \begin{tikzpicture}[remember picture]
+ \node[rounded corners, fill=red](A){This figure is not externalized.
+ This way, it can use remember picture.};
+ \draw[->,overlay] (A.east) to[bend right] (pointtome1);
+ \end{tikzpicture}\\
+ }
+
+ \begin{tikzpicture}
+ \node[rounded corners, fill=green](A){This figure is externalized, but cannot use remember picture.};
+ \end{tikzpicture}
+\end{codeexample}
+
+
+\subsection{Feeding data from the main document to the picture}
+
+You can feed data from the main document to the cached file using placeholders, since |set placeholder eval={__foo__}{\bar}| will evaluate |\bar| and put the result in |__foo__|. For instance, if the picture depends on the current page, you can do:
+
+\begin{codeexample}[width=0pt,vbox]
+\begin{tikzpictureC}[][set placeholder eval={__thepage__}{\thepage}]
+ \node[rounded corners, fill=red]{The current page is __thepage__.};
+\end{tikzpictureC}
+\end{codeexample}
+
+\subsection{Feeding data back into the main document}
+
+For more advanced usage, you might want to compute a data and cache the result in a macro that you could use later. This is possible if you write into the file |\jobname-out.tex| during the compilation of the cached file (by default, we already open |\writeRobExt| to write to this file). This file will be automatically loaded before loading the pdf (but you can customize all these operations, for instance if you do not want to load the pdf at all; the only requirement is that you should generate a |.pdf| file to specify that the compilation is finished).
+
+For instance:
+
+\begin{codeexample}[width=0pt,vbox]
+\begin{CacheMe}{latex, add to preamble={\usepackage{tikz}}, do not include pdf}
+We compute this data that is long to compute:
+\pgfmathparse{(1 + sqrt(5))/2}% result is stored in \pgfmathresult
+% We write the result to the -out file (\string\foo writes \foo to the file without evaluating it,
+% so this will write "\gdef\myLongResult{1.61803}"):
+% Note that CacheMe is evaluated in a group, so you want to use \gdef to define it
+% outside of the group
+\immediate\write\writeRobExt{%
+ \string\gdef\string\myLongResult{\pgfmathresult}%
+}
+\end{CacheMe}
+
+We computed the cached value \myLongResult.
+\end{codeexample}
+
+\subsection{For non-\LaTeX{} code}
+
+Due to the way \LaTeX{} works, non-\LaTeX{} code can't be reliably read inside macros and some environments that parse their body (e.g. align) as some characters are removed (e.g. percent symbols are comments and are removed). For this reason, we sometimes need to separate the time where we define the code and where we insert it (this is done using placeholders, see |PlaceholderFromCode|), and we need to introduce new environments to populate the template (see \cref{sec:placeholders} for more details, to generate them from filename, to get the path of a file etc).
+
+The environment |CacheMeCode| can be used for this purpose.
+
+\subsubsection{Python code}
+
+\paragraph{Generate an image}
+
+For instance, you can use the default |python| template to generate an image with python. The following code:
+
+
+\begin{codeexample}[code only]
+\begin{CacheMeCode}{python, set includegraphics options={width=.8\linewidth}}
+import matplotlib.pyplot as plt
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{CacheMeCode}
+\end{codeexample}
+
+will produce the image visible in \cref{fig:pythonGeneratedImage}. \textbf{Importantly: you do not want to indent the content of CacheMeCode, or the space will also appear in the final code.}
+\begin{figure}
+\centering
+\begin{CacheMeCode}{python, set includegraphics options={width=.8\linewidth}}
+import matplotlib.pyplot as plt
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{CacheMeCode}
+\caption{Image generated with python.}
+\label{fig:pythonGeneratedImage}
+\end{figure}
+
+\paragraph{Compute a value}
+
+We also provide by default a number of helper functions. For instance, |write_to_out(text)| will write |text| to the |*-out.tex| file that is loaded automatically by \LaTeX{}. This is useful to compute data that is not an image (note that |r"some string"| does not consider backslash as an escape string, which is handy to write \LaTeX{} code in python):
+
+For instance:
+\begin{codeAndResult}
+\begin{CacheMeCode}{python, do not include pdf}
+import math
+write_to_out(r"\gdef\cosComputedInPython{" + str(math.cos(1)) + r"}")
+\end{CacheMeCode}
+
+$\rightarrow$ The cosinus of 1 is \cosComputedInPython.
+\end{codeAndResult}
+
+\paragraph{Improve an existing preset}
+
+If you often use the same code (e.g.\ load matplotlib, save the file etc), you can directly modify the |__ROBEXT_MAIN_CONTENT__| placeholder to add the redundant information (or create a new template from scratch, see below), as this placeholder contains the code typed by the user (this is true for all presets, as |CacheMe*| is in charge of setting this placeholder):
+
+\begin{codeAndResult}
+%% Create your style:
+\begin{PlaceholderFromCode}{__MY_MATPLOTLIB_TEMPLATE_BEFORE__}
+import matplotlib.pyplot as plt
+import sys
+\end{PlaceholderFromCode}
+
+\begin{PlaceholderFromCode}{__MY_MATPLOTLIB_TEMPLATE_AFTER__}
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{PlaceholderFromCode}
+
+\robExtConfigure{
+ my matplotlib/.style={
+ python,
+ add before placeholder no space={__ROBEXT_MAIN_CONTENT__}{__MY_MATPLOTLIB_TEMPLATE_BEFORE__},
+ add to placeholder no space={__ROBEXT_MAIN_CONTENT__}{__MY_MATPLOTLIB_TEMPLATE_AFTER__},
+ },
+}
+
+%% Use your style:
+%% See, you don't need to load matplotlib or save the file:
+\begin{CacheMeCode}{my matplotlib, set includegraphics options={width=.5\linewidth}}
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+\end{CacheMeCode}
+\end{codeAndResult}
+
+\paragraph{Custom parameters and placeholders}
+
+Let us say that you would like to define a default font size for your figure, but that you would like to allow the user to change this font size. Then, you should create a new placeholder with your default value, and use |set placeholder| to change this value later (see also the documentation of |CacheMeCode| to see how to create a new command to avoid typing |set placeholder|):
+
+\begin{codeAndResult}
+%% Create your style:
+
+\begin{PlaceholderFromCode}{__MY_MATPLOTLIB_TEMPLATE_BEFORE__}
+import matplotlib as mpl
+import matplotlib.pyplot as plt
+import sys
+mpl.rcParams['font.size'] = __MY_MATPLOTLIB_FONT_SIZE__
+\end{PlaceholderFromCode}
+
+\begin{PlaceholderFromCode}{__MY_MATPLOTLIB_TEMPLATE_AFTER__}
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{PlaceholderFromCode}
+
+\robExtConfigure{
+ my matplotlib/.style={
+ python,
+ % We create a new placeholder (it is simple enough that you don't need to use PlaceholderFromCode)
+ set placeholder={__MY_MATPLOTLIB_FONT_SIZE__}{12},
+ add before placeholder no space={__ROBEXT_MAIN_CONTENT__}{__MY_MATPLOTLIB_TEMPLATE_BEFORE__},
+ add to placeholder no space={__ROBEXT_MAIN_CONTENT__}{__MY_MATPLOTLIB_TEMPLATE_AFTER__},
+ },
+}
+
+%% Use your style:
+%% See, you don't need to load matplotlib or save the file:
+Default font size: \begin{CacheMeCode}{my matplotlib, set includegraphics options={width=.5\linewidth}}
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+\end{CacheMeCode}
+
+With font size 16:
+\begin{CacheMeCode}{my matplotlib,
+ set includegraphics options={width=.5\linewidth},
+ set placeholder={__MY_MATPLOTLIB_FONT_SIZE__}{16}}
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+\end{CacheMeCode}
+\end{codeAndResult}
+
+Note that if you manage to move all the code in the template and that the user can configure everything using the options and an empty content, you can use |CacheMeNoContent| that takes no argument and that consider its body as the options.
+
+\paragraph{Custom include command}
+
+There may be some cases where you do not want to include a picture. We already saw the option |do not include pdf| if you do not want to include anything. But you can customize the include function, using notably:\\
+|custom include command={your include command}|
+
+For instance, let us say that you would like to display both the source code used to obtain a given code, together with the output of this code. Then, you can write this style:
+
+\begin{codeexample}[code only]
+{
+%% Create your style:
+\begin{PlaceholderFromCode}{__MY_PRINT_BOTH_TEMPLATE_BEFORE__}
+# File where print("bla") should be redirected
+# get_filename_from_extension("-foo.txt") will give you the path of the file
+# in the cache that looks like robExt-somehash-foo.txt
+print_file = open(get_filename_from_extension("-print.txt"), "w")
+sys.stdout = print_file
+# This code will read the current code, and extract the lines between
+# that starts with "### CODESTARTSHERE" and "### CODESTOPSHERE", and will write
+# it into the *-code.text (we do not want to print all these functions in
+# the final code)
+with open(get_filename_from_extension("-code.txt"), "w") as f:
+ # The current script has extension .tex
+ with open(get_current_script(), "r") as script:
+ should_write = False
+ for line in script:
+ if line.startswith("### CODESTARTSHERE"):
+ should_write = True
+ elif line.startswith("### CODESTOPSHERE"):
+ should_write = False
+ elif "HIDEME" in line:
+ pass
+ else:
+ if should_write:
+ f.write(line)
+### CODESTARTSHERE
+\end{PlaceholderFromCode}
+
+
+\begin{PlaceholderFromCode}{__MY_PRINT_BOTH_TEMPLATE_AFTER__}
+### CODESTOPSHERE
+print_file.close()
+\end{PlaceholderFromCode}
+
+\robExtConfigure{
+ my python print both/.style={
+ python,
+ add before placeholder no space={__ROBEXT_MAIN_CONTENT__}{__MY_PRINT_BOTH_TEMPLATE_BEFORE__},
+ add to placeholder no space={__ROBEXT_MAIN_CONTENT__}{__MY_PRINT_BOTH_TEMPLATE_AFTER__},
+ set title/.style={
+ set placeholder={__MY_TITLE__}{##1},
+ },
+ set title={Example},
+ custom include command={
+ % Useful to replace __MY_TITLE__:
+ \evalPlaceholder{
+ % \verbatiminput{\robExtAddCachePathAndName{\robExtFinalHash-code.txt}}
+ \begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=__MY_TITLE__]
+ \lstinputlisting[frame=single,
+ breakindent=.5\textwidth,
+ frame=single,
+ breaklines=true,
+ style=mypython]{\robExtAddCachePathAndName{\robExtFinalHash-code.txt}}
+ Output:
+ \verbatiminput{\robExtAddCachePathAndName{\robExtFinalHash-print.txt}}
+ \end{tcolorbox}
+ }
+ },
+ },
+}
+\end{codeexample}
+
+Once the style is defined (actually we already defined in the library under the name |python print code and result|), you can just write:
+\begin{codeexample}[code only]
+\begin{CacheMeCode}{my python print both, set title={The for loop}}
+for name in ["Alice", "Bob"]:
+ print(f"Hello {name}")
+\end{CacheMeCode}
+\end{codeexample}
+to get:
+{
+%% Create your style:
+\begin{PlaceholderFromCode}{__MY_PRINT_BOTH_TEMPLATE_BEFORE__}
+# File where print("bla") should be redirected
+# get_filename_from_extension("-foo.txt") will give you the path of the file
+# in the cache that looks like robExt-somehash-foo.txt
+print_file = open(get_filename_from_extension("-print.txt"), "w")
+sys.stdout = print_file
+# This code will read the current code, and extract the lines between
+# that starts with "### CODESTARTSHERE" and "### CODESTOPSHERE", and will write
+# it into the *-code.text (we do not want to print all these functions in
+# the final code)
+with open(get_filename_from_extension("-code.txt"), "w") as f:
+ # The current script has extension .tex
+ with open(get_current_script(), "r") as script:
+ should_write = False
+ for line in script:
+ if line.startswith("### CODESTARTSHERE"):
+ should_write = True
+ elif line.startswith("### CODESTOPSHERE"):
+ should_write = False
+ elif "HIDEME" in line:
+ pass
+ else:
+ if should_write:
+ f.write(line)
+### CODESTARTSHERE
+\end{PlaceholderFromCode}
+
+
+\begin{PlaceholderFromCode}{__MY_PRINT_BOTH_TEMPLATE_AFTER__}
+### CODESTOPSHERE
+print_file.close()
+\end{PlaceholderFromCode}
+
+\robExtConfigure{
+ my python print both/.style={
+ python,
+ add before placeholder no space={__ROBEXT_MAIN_CONTENT__}{__MY_PRINT_BOTH_TEMPLATE_BEFORE__},
+ add to placeholder no space={__ROBEXT_MAIN_CONTENT__}{__MY_PRINT_BOTH_TEMPLATE_AFTER__},
+ set title/.style={
+ set placeholder={__MY_TITLE__}{##1},
+ },
+ set title={Example},
+ custom include command={
+ % Useful to replace __MY_TITLE__:
+ \evalPlaceholder{
+ % \verbatiminput{\robExtAddCachePathAndName{\robExtFinalHash-code.txt}}
+ \begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=__MY_TITLE__]
+ % \noindent Code:
+ \lstinputlisting[frame=single,breakindent=.5\textwidth,frame=single,breaklines=true,style=mypython]{\robExtAddCachePathAndName{\robExtFinalHash-code.txt}}
+ Output:
+ \verbatiminput{\robExtAddCachePathAndName{\robExtFinalHash-print.txt}}
+ \end{tcolorbox}
+ }
+ },
+ },
+}
+
+%% Use your style:
+\begin{CacheMeCode}{my python print both, set title={The for loop}}
+for name in ["Alice", "Bob"]:
+ print(f"Hello {name}")
+\end{CacheMeCode}
+}
+
+\subsubsection{Other languages}
+
+We also provide support for other languages, notably |bash|, but it is relatively easy to add basic support for any new language. You only need to configure |set compilation command| to your command, |set template| to the file to compile (|__ROBEXT_MAIN_CONTENT__| contains the code typed by the user), and possibly a custom include command with |custom include command| if you do not want to do |\includegraphics| on the final pdf. For instance, to define a basic template for bash, you just need to use:
+
+\begin{codeAndResult}
+% Create your style
+\begin{PlaceholderFromCode}{__MY_BASH_TEMPLATE__}
+# Quit if there is an error
+set -e
+__ROBEXT_MAIN_CONTENT__
+# Create the pdf file to certify that no compilation error occured
+touch "__ROBEXT_OUTPUT_PDF__"
+\end{PlaceholderFromCode}
+
+\robExtConfigure{
+ my bash/.style={
+ set compilation command={bash "__ROBEXT_SOURCE_FILE__"},
+ set template={__MY_BASH_TEMPLATE__},
+ %%% Version 1:
+ % verbatim output,
+ %%% Version 2:
+ custom include command={%
+ \evalPlaceholder{%
+ \verbatiminput{__ROBEXT_CACHE_FOLDER____ROBEXT_OUTPUT_PREFIX__-out.txt}%
+ }%
+ },
+ % Ensure that the code does not break when externalization is disabled
+ print verbatim if no externalization,
+ }
+}
+
+% Use your style
+\begin{CacheMeCode}{my bash}
+# Write the system conf to a file *-out.txt
+uname -srv > "__ROBEXT_OUTPUT_PREFIX__-out.txt"
+\end{CacheMeCode}
+\end{codeAndResult}
+
+
+\paragraph{Code inside a macro}
+
+Due to fundamental \LaTeX{} restrictions, it is impossible to use |CacheMeCode| inside a macro or some environments as \LaTeX{} will strip all lines containing a percent character for instance. The solution here is to define our main content before, and then set it using |set main content| (that simply sets |__ROBEXT_MAIN_CONTENT__|). In this example, we also show how |CacheMeNoContent| can be used when their is no content (the arguments to |CacheMe| are directly given in the body of |CacheMeNoContent|):
+
+\begin{codeAndResult}
+\begin{PlaceholderFromCode}{__TMP_MAIN_CONTENT__}
+import matplotlib.pyplot as plt
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{PlaceholderFromCode}
+
+\fbox{\begin{CacheMeNoContent}
+ python,
+ set includegraphics options={width=.8\linewidth},
+ set main content={__TMP_MAIN_CONTENT__},
+\end{CacheMeNoContent}}
+\end{codeAndResult}
+
+\section{Documentation}
+
+\subsection{How it works}
+
+This library must be able to generate 3 elements for any cached content:
+\begin{itemize}
+\item a source file, that will be compiled, and is obtained by expanding the placeholder |__ROBEXT_TEMPLATE__| (see \cref{sec:placeholders}),
+\item a compilation command obtained by expanding the placeholder |__ROBEXT_COMPILATION_COMMAND__|,
+\item a dependency file, that contains the hash of all the dependencies (see \cref{sec:dependencies} for details) and the compilation command,
+\item an inclusion command (this one is not used during the caching process, it is only used when including the compiled document in the main document), that you can set using |custom include command={your command}|.
+\end{itemize}
+
+The hash of all these elements is computed in order to obtain a reference hash, denoted |somehash| that looks like a unique random value (note that |__ROBEXT_OUTPUT_PDF__| and alike are expanded after knowing the hash since they depend on the final hash value). This hash |somehash| will change whenever a dependency changes, or if the compilation command changes, ensuring purity. Then, the dependency file and the source file are written in the cache, by default in |robustExternalize/robExt-somehash.tex| and |robustExternalize/robExt-somehash.deps|. Then, the compilation command will be run from the cache folder. At the end, by default, we check if a file |robustExternalize/robExt-somehash.pdf| exists: if not we abort, otherwise we |\input| the file |robustExternalize/robExt-somehash-out.tex| and we run the include command (that includes the pdf by default). As we saw earlier, this command can be customized to use other files. \textbf{Importantly, all the files created during the compilation must be prefixed by} |robExt-somehash|, which can be obtained at runtime using |__ROBEXT_OUTPUT_PREFIX__|. This way, we can easily clean the cache while ensuring maximum purity.
+
+In the following, we will denote by |*-foo.bar| the file in:\\
+|robustExternalize/robExt-somehash-foo.bar|.
+
+Note also that we usually define two names for each function, one normal and one prefixed with |robExt| (or |RobExt|) for environments. In this documentation, we only write the first form, but the second form is kept in case a conflicting package redefines some functions.
+
+\subsection{Placeholders}\label{sec:placeholders}
+
+Placeholders are the main concept allowing this library to generate the content of a source file based on a template (a template will itself be a placeholder containing other placeholders). A placeholder is a special strings like |__COLOR_IMAGE__| inserted for instance in a string, that will be given a value later. This value will be used to replace (recursively) the placeholder in the template. For instance, if a placeholder |__LIKES__| contains |I like __FRUIT__ and __VEGETABLE__|, if the placeholder |__FRUIT__| contains |oranges| and if the placeholder |__VEGETABLE__| contains |salad|, then evaluating |__LIKES__| will output |I like oranges and salad.|
+
+Note that the usage of underscore in only a convention, as any name can be used for the placeholder. There is however one rule to follow: the name of a placeholder should be made to avoid ambiguities when replacing the string, notably its name should not contain the name of another placeholder. For instance, if we define a placeholder called |NAME| containing |Foo| and a placeholder named |FULL_NAME| containing |Foo Bar|, then when evaluating the string |My name is FULL_NAME|, we have no way to know if the user wants to get |My name is FULL_Foo| or |My name is Foo Bar|. For this reason, \textbf{we advice users to start and end their placeholder names using two underscores} |__|, while using only upper case letters and single underscore |_| inside the placeholder name (this also improves readability). If you are worried about ambiguities like |__PLACEHOLDER1__PLACEHOLDER2__|, you can also use different separators for the beginning and the end like |__PLACEHOLDER1__|, but beware that |[| requires brackets around when used in pgf styles.
+
+Placeholders are local variables (internally just some \LaTeX{} 3 strings). You can therefore define a placeholder in a local group surrounded by brackets |{ ... }| if you want it to have a reduced scope.
+
+\subsubsection{Reading a placeholder}
+
+\begin{pgfmanualentry}
+ \extractcommand\getPlaceholder\opt{\oarg{new placeholder name}}\marg{name placeholder or string}\@@
+ \extractcommand\getPlaceholderInResult\opt{\oarg{new placeholder name}}\marg{name placeholder or string}\@@
+ \pgfmanualbody
+
+ Get the value of a placeholder after replacing (recursively) all the inner placeholders. |\getPlaceholderInResult| puts the resulting string in a \LaTeX{} 3 string |\l_robExt_result_str| and in |\robExtResult|, while |\getPlaceholder| directly outputs this string. You can also put inside the argument
+ any arbitrary string, allowing you, for instance, to concatenate multiple placeholders, copy a placeholder etc. Note that you will get a string, but this string will not be evaluated by \LaTeX{} (see |\evalPlaceholder| for that), for instance math will not be interpreted:
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderFromContent{__MY_PLACEHOLDER__}{Hello __NAME__, I am a template $\delta_n$.}
+ \placeholderFromContent{__NAME__}{Alice __NICKNAME__}
+ \placeholderFromContent{__NICKNAME__}{the great}
+ The placeholder evaluates to:\\
+ \texttt{\getPlaceholder{__MY_PLACEHOLDER__}}\\
+ Combining placeholders produces:\\
+ \texttt{\getPlaceholder{In ``__MY_PLACEHOLDER__'', the name is __NAME__.}}
+\end{codeexample}
+You can also specify the optional argument in order to additionally define a new placeholder containing the resulting string (but you might prefer to use its alias |\setPlaceholderRec| described below):
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderFromContent{__MY_PLACEHOLDER__}{Hello __NAME__, I am a template $\delta_n$.}
+ \placeholderFromContent{__NAME__}{Alice __NICKNAME__}
+ \placeholderFromContent{__NICKNAME__}{the great}
+ \getPlaceholderInResult[__NEW_PLACEHOLDER__]{In ``__MY_PLACEHOLDER__'', the name is __NAME__.}
+ \printAllPlaceholdersExceptDefaults
+\end{codeexample}
+\end{pgfmanualentry}
+
+
+\begin{pgfmanualentry}
+ \extractcommand\evalPlaceholder\marg{name placeholder or string}\@@
+ \pgfmanualbody
+
+ Evaluate the value of a placeholder after replacing (recursively) all the inner placeholders. You can also put inside any arbitrary string.
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderFromContent{__MY_PLACEHOLDER__}{Hello __NAME__, I am a template $\delta_n$.}
+ \placeholderFromContent{__NAME__}{Alice __NICKNAME__}
+ \placeholderFromContent{__NICKNAME__}{the great}
+ % The placeholder evaluates to \texttt{\getPlaceholder{__MY_PLACEHOLDER__}}.
+ The placeholder evaluates to:\\
+ \evalPlaceholder{__MY_PLACEHOLDER__}\\
+ Combining placeholders produces:\\
+ \evalPlaceholder{In ``__MY_PLACEHOLDER__'', the name is __NAME__.}
+\end{codeexample}
+\end{pgfmanualentry}
+
+\subsubsection{List and debug placeholders}
+
+It can sometimes be handy to list all placeholders, print their contents etc. We list here commands that are mostly useful for debugging purposes.
+
+\begin{pgfmanualentry}
+ \extractcommand\printAllPlaceholdersExceptDefaults\opt{*}\@@
+ \pgfmanualbody
+
+ Prints the verbatim content of all defined placeholders (without performing any replacement of inner placeholders), except for the placeholders that are defined by default in this library (that we identify as they start with |__ROBEXT_|). The stared version does print the name of the placeholder defined in this library, but not their definition. This is mostly for debugging purposes.
+\begin{codeexample}[width=0pt,vbox]
+\placeholderFromContent{__LIKES__}{Hello __NAME__ I am a really basic template $\delta_n$.}
+\placeholderFromContent{__NAME__}{Alice}
+\printAllPlaceholdersExceptDefaults
+\end{codeexample}
+Compare with:
+\begin{codeexample}[width=0pt,vbox]
+\placeholderFromContent{__LIKES__}{Hello __NAME__ I am a really basic template $\delta_n$.}
+\placeholderFromContent{__NAME__}{Alice}
+\printAllPlaceholdersExceptDefaults*
+\end{codeexample}
+
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \extractcommand\printAllPlaceholders\@@
+ \pgfmanualbody
+
+ Prints the verbatim content of all defined placeholders (without performing any replacement of inner placeholders), including the placeholders that are defined by default in this library. This is mostly for debugging purposes. Here is the result of |\printAllPlaceholders|:
+
+ \printAllPlaceholders
+\end{pgfmanualentry}
+
+
+\begin{pgfmanualentry}
+ \extractcommand\printPlaceholderNoReplacement\marg{name placeholder}\@@
+ \pgfmanualbody
+
+ Prints the verbatim content of a given placeholder, without evaluating it and \textbf{without replacing inner placeholders: it is used mostly for debugging purposes} and will be used in this documentation to display the content of the placeholder for educational purposes. The stared version prints it inline.
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderFromContent{__LIKES__}{Hello NAME I am a really basic template $\delta_n$.}
+ \placeholderFromContent{NAME}{Alice}
+ The (unexpanded) template contains \printPlaceholderNoReplacement{__LIKES__}.\\
+ The (unexpanded) template contains \printPlaceholderNoReplacement*{__LIKES__}
+\end{codeexample}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \extractcommand\printPlaceholder\marg{name placeholder}\@@
+ \pgfmanualbody
+
+ Like |\printPlaceholderNoReplacement| except that it first replaces the inner placeholders. The stared version prints it inline.
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderFromContent{__LIKES__}{Hello NAME I am a really basic template $\delta_n$.}
+ \placeholderFromContent{NAME}{Alice}
+ The (unexpanded) template contains \printPlaceholder{__LIKES__}.\\
+ The (unexpanded) template contains \printPlaceholder*{__LIKES__}
+\end{codeexample}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \extractcommand\evalPlaceholderNoReplacement\marg{name placeholder}\@@
+ \pgfmanualbody
+
+ Evaluates the content of a given placeholder as a \LaTeX{} code, \textbf{without replacing the placeholders contained inside (mostly used for debugging purposes).}
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderFromContent{__LIKES__}{Hello NAME I am a really basic template $\delta_n$.}
+ \placeholderFromContent{NAME}{Alice}
+ The (unexpanded) template evaluates to ``\evalPlaceholderNoReplacement{__LIKES__}''.
+\end{codeexample}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \extractcommand\getPlaceholderNoReplacement\marg{name placeholder}\@@
+ \pgfmanualbody
+
+ Like |\evalPlaceholderNoReplacement| except that it only outputs the string without evaluating the macros inside.
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderFromContent{__LIKES__}{Hello NAME I am a really basic template $\delta_n$.}
+ \placeholderFromContent{NAME}{Alice}
+ The (unexpanded) template contains \texttt{\getPlaceholderNoReplacement{__LIKES__}}
+\end{codeexample}
+\end{pgfmanualentry}
+
+\subsubsection{Setting a value to a placeholder}
+
+
+\begin{pgfmanualentry}
+ \extractcommand\placeholderFromContent\marg{name placeholder}\marg{content placeholder}\@@
+ \extractcommand\setPlaceholder\marg{name placeholder}\marg{content placeholder}\@@
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set placeholder=\marg{name placeholder}\marg{content placeholder}\@nil
+ \extractkey/robExt/set placeholder from content=\marg{name placeholder}\marg{content placeholder}\@nil
+ \makeatother%
+ \pgfmanualbody
+
+ |\placeholderFromContent| (and its alias |\setPlaceholder| and its equivalent pgf styles |/robExt/set placeholder| and |/robExt/set placeholder from content|) is useful to set a value to a given placeholder.
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderFromContent{__LIKES__}{Hello I am a basic template with math $\delta_n$ and macros \hello}
+ The (unexpanded) template contains \printPlaceholderNoReplacement{__LIKES__} and %
+ after evaluation and setting the value of hello,%
+ \def\hello{Hello my friend!}%
+ you get ``\evalPlaceholder{__LIKES__}''.
+\end{codeexample}
+ As you can see, \textbf{the precise content is not exactly identical to the original string}: \LaTeX{} comments are removed, spaces are added after macros, some newlines are removed etc. While this is usually not an issue when dealing with \LaTeX{} code, it causes some troubles when dealing with non-\LaTeX{} code. For this reason, we define \textbf{other commands} (see for instance |PlaceholderFromCode| below) that can accept verbatim content; the downside being that \LaTeX{} forbids usage of these verbatim commands inside other macros, so you should always define them at the top level (this seems to be fundamental to how \LaTeX{} works, as any input to a macro gets interpreted first as a \LaTeX{} string, losing all comments for instance). Note that this is not as restrictive as it may sound, as it is always possible to define the needed placeholders before any macro, while using them inside the macro, possibly combining them with other placeholders (defined either before or inside the macro).
+\end{pgfmanualentry}
+
+But before seeing how to define placeholder containing arbitrary code, let us first see how we can define a placeholder recursively, by giving it a value based on its previous value (useful for instance in order to add stuff to it).
+
+\begin{pgfmanualentry}
+ \extractcommand\setPlaceholderRec\marg{new placeholder}\marg{content with placeholder}\@@
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set placeholder rec=\marg{name placeholder}\marg{content placeholder}\@nil
+ \makeatother%
+ \pgfmanualbody
+
+ |\setPlaceholderRec{foo}{bar}| is actually an alias for |\getPlaceholderInResult[foo]{bar}|. Note that contrary to |\setPlaceholder|, it recursively replaces all inner placeholders. This is particularly useful to add stuff to an existing (or not) placeholder:
+\begin{codeexample}[width=0pt,vbox]
+\setPlaceholderRec{__MY_COMMAND__}{pdflatex}
+\setPlaceholderRec{__MY_COMMAND__}{__MY_COMMAND__ myfile}
+\printAllPlaceholdersExceptDefaults
+\end{codeexample}
+Note that the if the placeholder content contains at the end the placeholder name, we will automatically remove it to avoid infinite recursion at evaluation time. This has the benefit that you can add something to a placeholder even if this placeholder does not exists yet (in which case it will be understood as the empty string):
+\begin{codeexample}[width=0pt,vbox]
+\setPlaceholderRec{__COMMAND_ARGS__}{__COMMAND_ARGS__ -l}
+\setPlaceholderRec{__COMMAND_ARGS__}{__COMMAND_ARGS__ -s}
+\printAllPlaceholdersExceptDefaults
+\end{codeexample}
+\end{pgfmanualentry}
+
+Note that sometimes, you might not want to use |\setPlaceholderRec| to simply append some data to the placeholder as it will also evaluate the inner placeholders (meaning that you will not be able to redefine them later). For this reason, we also provide functions to add something to the placeholder without evaluating it first:
+\begin{pgfmanualentry}
+ \extractcommand\addToPlaceholder\opt{*}\marg{placeholder}\marg{content to add}\@@
+ \extractcommand\addBeforePlaceholder\opt{*}\marg{placeholder}\marg{content to add}\@@
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/add to placeholder=\marg{name placeholder}\marg{content to add}\@nil
+ \extractkey/robExt/add to placeholder no space=\marg{name placeholder}\marg{content to add}\@nil
+ \extractkey/robExt/add before placeholder=\marg{name placeholder}\marg{content to add}\@nil
+ \extractkey/robExt/add before placeholder no space=\marg{name placeholder}\marg{content to add}\@nil
+ \makeatother%
+ \pgfmanualbody
+
+ |\addToPlaceholder{foo}{bar}| adds |bar| at the end of the placeholder |foo| (by default it also adds a space, unless you use the star version), creating it if it does not exist (the |before| variants add the content\dots{} before).
+\begin{codeexample}[width=0pt,vbox]
+\setPlaceholder{__ENGINE__}{pdflatex}
+\setPlaceholder{__COMMAND__}{__ENGINE__ --option}
+\addToPlaceholder{__COMMAND__}{--other}
+\addToPlaceholder*{__COMMAND__}{-option}
+\addBeforePlaceholder{__COMMAND__}{time}
+\printAllPlaceholdersExceptDefaults
+\end{codeexample}
+\end{pgfmanualentry}
+
+
+\begin{pgfmanualentry}
+ \extractcommand\evalPlaceholderInplace\marg{name placeholder}\@@
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/eval placeholder inplace=\marg{name placeholder}\@nil
+ \makeatother%
+ \pgfmanualbody
+ This command will update (inplace) the content of a macro by first replacing recursively the placeholders, and finally by expanding the \LaTeX{} macros.
+\begin{codeexample}[width=0pt,vbox]
+\def\mymacro{Initial value}
+\placeholderFromContent{__MACRO_NOT_EVALUATED__}{\mymacro}
+\placeholderFromContent{__MACRO_EVALUATED__}{\mymacro}
+\evalPlaceholderInplace{__MACRO_EVALUATED__}
+\printAllPlaceholdersExceptDefaults
+\def\mymacro{Final value}
+Compare \evalPlaceholder{__MACRO_EVALUATED__} and \evalPlaceholder{__MACRO_NOT_EVALUATED__}.
+\end{codeexample}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set placeholder eval=\marg{name placeholder}\marg{content placeholder}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Alias for |\setPlaceholderRec{#1}{#2}\evalPlaceholderInplace{#1}|: set and evaluate recursively the placeholders and macros. This can be practical to pass the value of a counter/macro to the template (of course, if this value is fixed, you can also directly load it from the preambule):
+\begin{codeexample}[width=0pt,vbox]
+\begin{CacheMe}{tikz, set placeholder eval={__thepage__}{\thepage}}
+ \node[rounded corners, fill=red]{The current page is __thepage__.};
+\end{CacheMe}
+\end{codeexample}
+Note that this works well for commands that expand completely, but some more complex commands might not expand properly (like |cref|). I need to investigate how to solve this issue, meanwhile you can still disable externalization for these pictures.
+\end{pgfmanualentry}
+
+
+\begin{pgfmanualentry}
+ \extractenvironement{PlaceholderFromCode}\marg{name placeholder}\@@
+ \extractenvironement{setPlaceholderCode}\marg{name placeholder}\@@
+ \pgfmanualbody
+
+ These two (aliased) environments are useful to set a verbatim value to a given placeholder: the advantage is that you can put inside any code, including \LaTeX{} comments, the downside is that you cannot use it inside macros and some environments (so you typically define it before the macros and call it inside).
+% \begin{codeexample}[width=0pt,vbox]
+% \placeholderFromContent{__PYTHON_CODE__}{}
+% The (unexpanded) template contains \printPlaceholderNoReplacement{__LIKES__} and %
+% after evaluation (no replacement), you get ``\evalPlaceholderNoReplacement{__LIKES__}''.
+% \end{codeexample}
+
+\begin{codeexample}[width=0pt,vbox]
+\begin{PlaceholderFromCode}{__PYTHON_CODE__}
+def my_function(b): # this is a python code
+ c = {}
+ d[42] = 0
+ return b
+\end{PlaceholderFromCode}
+\printAllPlaceholdersExceptDefaults
+\end{codeexample}
+
+
+Note that |PlaceholderFromCode| should not be used inside other macros or inside some environments (notably the ones that need to evaluate the body of the environment, e.g. using |+b| argument or |environ|) as verbatim content is parsed first by the macro, meaning that some characters might be changed or removed. For instance, any percent character would be considered as a comment, removing the rest of the line. However, this should not be be problem if you use it outside of any macro or environment, or if you load it from a file. For instance this code:
+\begin{verbatim}
+\begin{PlaceholderFromCode}{__PYTHON_CODE__}
+def my_function(b): # this is a python code
+ c = {}
+ d[42] = 0
+ return b % 2
+\end{PlaceholderFromCode}
+\printAllPlaceholdersExceptDefaults
+\end{verbatim}
+would produce:
+
+{
+\begin{PlaceholderFromCode}{__PYTHON_CODE__}
+def my_function(b): # this is a python code
+ c = {}
+ d[42] = 0
+ return b % 2
+\end{PlaceholderFromCode}
+\begin{codeexample}[width=0pt,vbox]
+\printAllPlaceholdersExceptDefaults
+\end{codeexample}
+}
+Note that of course, you can define a placeholder before a macro and call it inside (explaining how we can generate this documentation).
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \extractcommand\placeholderPathFromFilename\marg{name placeholder}\marg{filename}\@@
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set placeholder path from filename=\marg{name placeholder}\marg{filename}\@nil
+ \makeatother%
+ \pgfmanualbody
+
+ |\placeholderPathFromFilename{__MYLIB__}{mylib.py}| will copy |mylib.py| in the cache (setting its hash depending on its content), and set the content of the placeholder |__MYLIB__| to the \textbf{path} of the library in the cache. Note that the path is relative to the cache folder (it is easier to use for instance if you want to call this library from a code already in the cache).
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderPathFromFilename{__MYLIB__}{mylib.py}
+ \printAllPlaceholdersExceptDefaults
+ You can also get the path relative to the root folder:\\
+ \robExtAddCachePath{\getPlaceholderNoReplacement{__MYLIB__}}
+\end{codeexample}
+\end{pgfmanualentry}
+
+
+\begin{pgfmanualentry}
+ \extractcommand\placeholderFromFileContent\marg{name placeholder}\marg{filename}\@@
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set placeholder from file content=\marg{name placeholder}\marg{filename}\@nil
+ \makeatother%
+ \pgfmanualbody
+
+ |\placeholderFromFileContent{__MYLIB__}{mylib.py}| will set the content of the placeholder |__MYLIB__| to the content of |mylib.py|.
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderFromFileContent{__MYLIB__}{mylib.py}
+ \printAllPlaceholdersExceptDefaults
+\end{codeexample}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \extractcommand\placeholderPathFromContent\marg{name placeholder}\opt{\oarg{suffix}}\marg{content}\@@
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set placeholder path from content=\marg{name placeholder}\marg{suffix}\marg{content}\@nil
+ \makeatother%
+ \pgfmanualbody
+
+ |\placeholderPathFromContent{__MYLIB__}{some content}| will copy |some content| in a file in the cache (setting its hash depending on its content, the filename will end with |suffix| that defaults to |.tex|), and set the content of the placeholder |__MYLIB__| to the \textbf{path} of the file in the cache. Note that the path is relative to the cache folder (it is easier to use for instance if you want to call this library from a code already in the cache).
+\begin{codeexample}[width=0pt,vbox]
+ \placeholderPathFromContent{__MYLIB__}[.py]{some contents b}
+ \printAllPlaceholdersExceptDefaults
+ You can also get the path relative to the root folder:\\
+ \robExtAddCachePath{\getPlaceholderNoReplacement{__MYLIB__}}\\
+ As a sanity check, this file contains
+ \verbatiminput{\robExtAddCachePath{\getPlaceholderNoReplacement{__MYLIB__}}}
+\end{codeexample}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \extractenvironement{PlaceholderPathFromCode}\opt{\oarg{suffix}}\marg{name placeholder}\@@
+ \pgfmanualbody
+
+ This environment is similar to |\placeholderPathFromContent| except that it accepts verbatim code (therefore \LaTeX{} comments, newlines etc. will not be removed). However, due to \LaTeX{} limitations, this environment cannot be used inside macros or some environments, or this property will not be preserved.
+ For instance, if you create your placeholder using:
+\begin{verbatim}
+\begin{PlaceholderPathFromCode}[.py]{__MYLIB__}
+def my_function(b): # this is a python code
+ c = {}
+ d[42] = 0
+ return b % 2
+\end{PlaceholderPathFromCode}
+\end{verbatim}
+%% The code cannot be placed inside codeexample as it needs to parse the body:
+\begin{PlaceholderPathFromCode}[.py]{__MYLIB__}
+def my_function(b): # this is a python code
+ c = {}
+ d[42] = 0
+ return b % 2
+\end{PlaceholderPathFromCode}
+You can then use it like:
+\begin{codeexample}[width=0pt,vbox]
+\printAllPlaceholdersExceptDefaults
+You can also get the path relative to the root folder:\\
+\robExtAddCachePath{\getPlaceholderNoReplacement{__MYLIB__}}\\
+As a sanity check, this file contains
+\verbatiminput{\robExtAddCachePath{\getPlaceholderNoReplacement{__MYLIB__}}}
+\end{codeexample}
+\end{pgfmanualentry}
+
+
+\begin{pgfmanualentry}
+ \extractcommand\copyPlaceholder\marg{new placeholder}\marg{old placeholder}\@@
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/copy placeholder=\marg{new placeholder}\marg{old placeholder}\@nil
+ \makeatother%
+ \pgfmanualbody
+
+ This creates a new placeholder with the content of |old placeholder|. Note that this is different from:\\
+ |\setPlaceholder{new placeholder}{old placeholder}|\\
+ because if we modify |old placeholder|, this will not affect |new placeholder|.
+\begin{codeexample}[width=0pt,vbox]
+ \setPlaceholder{__MY_CONTENT__}{Some content}
+ \copyPlaceholder{__MY_OLD_CONTENT__}{__MY_CONTENT__}
+ \setPlaceholder{__MY_CONTENT__}{The content used to be __MY_OLD_CONTENT__}
+ \printAllPlaceholdersExceptDefaults
+\end{codeexample}
+ It is useful for instance if you want to use a different value for |__ROBEXT_MAIN_CONTENT__|: first copy |__ROBEXT_MAIN_CONTENT__| to another placeholder, say |__NEW_MAIN_CONTENT__|, and then set |__ROBEXT_MAIN_CONTENT__| to point to an arbitrary template that may load |__NEW_MAIN_CONTENT__|.
+\end{pgfmanualentry}
+
+
+\subsection{Caching a content}
+
+\subsubsection{Basics}
+
+\begin{pgfmanualentry}
+ \extractcommand\cacheMe\opt{\oarg{preset style}}\marg{content to cache}\@@
+ \extractenvironement{CacheMe}\marg{preset style}\@@
+ \pgfmanualbody
+ This command (and its environment alias) is the main entry point if you want to cache the result of a file. The preset style is a pgfkeys-based style that is used to configure the template that is used, the compilation command, and more. You can either inline the style, or use some presets that configure the style automatically. After evaluating the style, the placeholders |__ROBEXT_TEMPLATE__| (containing the content of the file) and |__ROBEXT_COMPILATION_COMMAND__| (containing the compilation command run in the cache folder, that can use other placeholders internally like |__ROBEXT_SOURCE_FILE__| to get the path to the source file) should be set. Note that we provide some basic styles that allow settings these placeholders easily. See \cref{sec:placeholders} for a list of existing placeholders and presets. The placeholder |__ROBEXT_MAIN_CONTENT__| will automatically be set by this command (or environment) so that it equals the content of the second argument (or the body of the environment). This style can also configure the command to use to include the file and more. By default it will insert the compiled PDF, making sure that the depth is respected (internally, we read the depth from an aux file created by our \LaTeX{} preset), but you can easily change it to anything you like.
+
+ For an educational purpose, we write here an example that does not exploit any preset. In practice, we recommend however to use our presets, or to define new presets based on our presets (see below for examples).
+\begin{codeexample}[width=0pt,vbox]
+\begin{CacheMe}{set template={
+ \documentclass{standalone}
+ \begin{document}
+ __ROBEXT_MAIN_CONTENT__
+ \end{document}
+ },
+ set compilation command={pdflatex -shell-escape -halt-on-error "__ROBEXT_SOURCE_FILE__"},
+ custom include command={%
+ \includegraphics[width=4cm,angle=45]{\robExtAddCachePathAndName{\robExtFinalHash.pdf}}%
+ },
+ }
+This content is cached $\delta$.
+\end{CacheMe}
+\end{codeexample}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \extractcommand\robExtConfigure\marg{preset style}\@@
+ \pgfmanualbody
+ You can then create your own style (or preset) in |\robExtConfigure| (that is basically an alias for |\pgfkeys{/robExt/.cd,#1}|) containing your template, add your own placeholders and commands to configure them etc.
+
+\begin{codeexample}[width=0pt,vbox]
+%% Define your presets once:
+\robExtConfigure{%
+ my latex preset/.style={
+ %% Create a default value for my new placeholders:
+ set placeholder={__MY_COLOR__}{red},
+ set placeholder={__MY_ANGLE__}{45},
+ % We can also create custom commands to "hide" the notion of placeholder
+ set my angle/.style={
+ set placeholder={__MY_ANGLE__}{##1}
+ },
+ set template={
+ \documentclass{standalone}
+ \usepackage{xcolor}
+ \begin{document}
+ \color{__MY_COLOR__}__ROBEXT_MAIN_CONTENT__
+ \end{document}
+ },
+ set compilation command={pdflatex -shell-escape -halt-on-error "__ROBEXT_SOURCE_FILE__"},
+ custom include command={%
+ % The include command is a regular LaTeX command, but using
+ % \evalPlaceholder avoids the need to play with expandafter, getPlaceholder etc...
+ \evalPlaceholder{%
+ \includegraphics[width=4cm,angle=__MY_ANGLE__,origin=c]{%
+ \robExtAddCachePathAndName{\robExtFinalHash.pdf}%
+ }%
+ }%
+ },
+ },
+}
+
+% Reuse them later...
+\begin{CacheMe}{my latex preset}
+This content is cached $\delta$.
+\end{CacheMe}
+% And configure them at will
+\begin{CacheMe}{my latex preset, set placeholder={__MY_COLOR__}{green}, set my angle=-45}
+This content is cached $\delta$.
+\end{CacheMe}
+\end{codeexample}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \extractenvironement{CacheMeCode}\marg{preset style}\@@
+ \pgfmanualbody
+ Like |CacheMe|, except that the code is read verbatim by \LaTeX{}. This way, you can put non-\LaTeX{} code inside safely, but you will not be able to use it inside a macro or some environments that read their body. Here is an example where we define an environment that automatically import matplotlib, save the figure, and insert it into a figure. Note that we define in this example new commands to type |set caption=foo| instead of |set placeholder={__FIG_CAPTION__}{foo}|.
+%% codeexample cannot deal with verbatim content
+
+\begin{codeexample}[code only]
+%% Define the python code to use as a template
+%% (impossible to define it in \robExtConfigure directly since
+%% it is a verbatim environment)
+\begin{PlaceholderFromCode}{__MY_MATPLOTLIB_TEMPLATE__}
+import matplotlib.pyplot as plt
+import sys
+__ROBEXT_MAIN_CONTENT__
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{PlaceholderFromCode}
+
+% Create a new preset called matplotlib
+\robExtConfigure{
+ matplotlib figure/.style={
+ set template={__MY_MATPLOTLIB_TEMPLATE__},
+ set compilation command={python "__ROBEXT_SOURCE_FILE__"},
+ set caption/.style={
+ set placeholder={__FIG_CAPTION__}{##1}
+ },
+ set label/.style={
+ set placeholder={__FIG_LABEL__}{##1}
+ },
+ set includegraphics options/.style={
+ set placeholder={__INCLUDEGRAPHICS_OPTIONS__}{##1}
+ },
+ set caption={},
+ set label={},
+ set includegraphics options={width=1cm},
+ custom include command={%
+ \evalPlaceholder{%
+ \begin{figure}
+ \centering
+ \includegraphics[__INCLUDEGRAPHICS_OPTIONS__]{\robExtAddCachePathAndName{\robExtFinalHash.pdf}}%
+ \caption{__FIG_CAPTION__a}
+ \label{__FIG_LABEL__}
+ \end{figure}%
+ }%
+ },
+ },
+}
+
+%% Use it
+\begin{CacheMeCode}{matplotlib figure, set includegraphics options={width=.8\linewidth}, set caption={Hello}}
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+\end{CacheMeCode}
+\end{codeexample}
+
+%% Define the python code to use as a template
+%% (impossible to define it in \robExtConfigure directly since
+%% it is a verbatim environment)
+\begin{PlaceholderFromCode}{__MY_MATPLOTLIB_TEMPLATE__}
+import matplotlib.pyplot as plt
+import sys
+__ROBEXT_MAIN_CONTENT__
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{PlaceholderFromCode}
+
+% Create a new preset called matplotlib
+\robExtConfigure{
+ matplotlib figure/.style={
+ set template={__MY_MATPLOTLIB_TEMPLATE__},
+ set compilation command={python "__ROBEXT_SOURCE_FILE__"},
+ set caption/.style={
+ set placeholder={__FIG_CAPTION__}{##1}
+ },
+ set label/.style={
+ set placeholder={__FIG_LABEL__}{##1}
+ },
+ set includegraphics options/.style={
+ set placeholder={__INCLUDEGRAPHICS_OPTIONS__}{##1}
+ },
+ set caption={},
+ set label={},
+ set includegraphics options={width=1cm},
+ custom include command={%
+ \evalPlaceholder{%
+ \begin{figure}
+ \centering
+ \includegraphics[__INCLUDEGRAPHICS_OPTIONS__]{\robExtAddCachePathAndName{\robExtFinalHash.pdf}}%
+ \caption{__FIG_CAPTION__}
+ \label{__FIG_LABEL__}
+ \end{figure}%
+ }%
+ },
+ },
+}
+
+%% Use it
+\begin{CacheMeCode}{matplotlib figure, set includegraphics options={width=.8\linewidth}, set caption={An example to show how matplotlib pictures can be inserted}}
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+\end{CacheMeCode}
+
+Note that as we explained it before, due to \LaTeX{} limitations, it is impossible to call |CacheMeCode| inside macros and inside some environments that evaluate their body. To avoid that issue, it is always possible to define the macro before and call it inside. We will exemplify this on the previous example, but note that \textbf{this example is only for educational purposes} since the environment |figure| does not evaluate its body, and |CacheMeCode| can therefore safely be used inside without using this trickery:
+\begin{codeexample}[code only]
+%% Define the python code to use as a template
+%% (impossible to define it in \robExtConfigure directly since
+%% it is a verbatim environment)
+\begin{PlaceholderFromCode}{__MY_MATPLOTLIB_TEMPLATE__}
+import matplotlib.pyplot as plt
+import sys
+__ROBEXT_MAIN_CONTENT__
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{PlaceholderFromCode}
+
+% Create a new preset called matplotlib
+\robExtConfigure{
+ matplotlib/.style={
+ set template={__MY_MATPLOTLIB_TEMPLATE__},
+ set compilation command={python "__ROBEXT_SOURCE_FILE__"},
+ set includegraphics options/.style={
+ set placeholder={__INCLUDEGRAPHICS_OPTIONS__}{##1}
+ },
+ set includegraphics options={width=1cm},
+ custom include command={%
+ \evalPlaceholder{%
+ \includegraphics[__INCLUDEGRAPHICS_OPTIONS__]{\robExtAddCachePathAndName{\robExtFinalHash.pdf}}%
+ }%
+ },
+ },
+}
+
+
+%% You cannot use CacheMeCode inside some macros or environments due to fundamental LaTeX limitations.
+%% But you can always define them before, and call them inside:
+\begin{SetPlaceholderCode}{__TMP__}
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+\end{SetPlaceholderCode}
+
+\begin{figure}
+ \centering
+ \cacheMe[matplotlib, set includegraphics options={width=.8\linewidth}, set caption={Hello}]{__TMP__}
+ \caption{An example to show how code can be inserted into macros or environments that evaluate their contents (this trick is actually not needed for figures)}
+\end{figure}
+\end{codeexample}
+\end{pgfmanualentry}
+
+
+\subsubsection{Options to configure the template}
+
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set template=\marg{content template}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Style that alias to |set placeholder={__ROBEXT_TEMPLATE__}{#1}|, in order to define the placeholder that will hold the template of the final file.
+\end{pgfmanualentry}
+
+\subsubsection{Options to configure the compilation command}\label{sec:configureCompilationCommand}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set compilation command=\marg{compilation command}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Style that alias to |set placeholder={__ROBEXT_COMPILATION_COMMAND__}{#1}|, in order to define the placeholder that will hold the compilation command.
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/add argument to compilation command=\marg{argument}\@nil
+ \extractkey/robExt/add arguments to compilation command=\marg{argument}\@nil
+ \makeatother%
+ \pgfmanualbody
+ |add argument to compilation command| is a style that alias to:\\
+ |set placeholder={__ROBEXT_COMPILATION_COMMAND__}{__ROBEXT_COMPILATION_COMMAND__ "#1"}|
+ in order to add an argument to the compilation command. |add arguments to compilation command| (note the |s|) accepts multiple arguments separated by a comma.
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/add key value argument to compilation command=\marg{key=value}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Adds to the command line two arguments |key| and |value|. This is a way to quickly pass arguments to a script: the script just needs to loop over the arguments and consider the odd elements as keys and the next elements as the value. Another option is to insert some placeholders directly in the script.
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/add key and file argument to compilation command=\marg{key=filename}\@nil
+ \makeatother%
+ \pgfmanualbody
+ |filename| is the path to a file in the root folder. This adds, as:\\
+ |add key value argument to compilation command|\\
+ two arguments, where the first argument is the key, but this time the second argument is the path of |filename| relative to the cache folder (useful since scripts run from this folder). Moreover, it automatically ensures that when |filename| changes, the file gets recompiled. Note that contrary to some other commands, this does not copy the file in the cache, which is practical notably for large files like videos.
+\end{pgfmanualentry}
+
+\subsubsection{Options to configure the inclusion command}
+
+The inclusion command is the command that is run to include the cached file back in the pdf (e.g. based on |\includegraphics|). We describe now how to configure this command.
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/custom include command advanced=\marg{include command}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Sets the command to run to include the compiled file. You can use:\\
+ |\robExtAddCachePathAndName{\robExtFinalHash.pdf}|\\
+ in order to get the path of the compiled pdf file. Note that we recommend rather to use |custom include command| that automatically checks if the file compiled correctly and that load the |*-out.tex| file if it exists (useful to pass information back to the pdf).
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/custom include command=\marg{include command}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Sets the command to run to include the compiled file, after checking if the file has been correctly compiled and loading |*-out.tex| (useful to pass information back to the pdf).
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/do not include pdf\@nil
+ \makeatother%
+ \pgfmanualbody
+ Do not include the pdf. Useful if you only want to compile the file but use it later (note that you should still generate a |.pdf| file, possibly empty, to indicate that the compilation runs smootly). Equivalent to:\\
+ |custom include command={}|
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/enable manual mode\@nil
+ \extractkey/robExt/disable manual mode\@nil
+ \makeatother%
+ \pgfmanualbody
+ If you do or do not want to ask latex to run the compilation commands itself (for instance for security
+ reasons), you can use these commands and run the command manually later:
+ \begin{codeexample}[width=0pt,vbox]
+ \robExtConfigure{
+ enable manual mode
+ }
+
+ The next picture must be manually compiled %
+ (see JOBNAME-robExt-compile-missing-figures.sh):\\ %
+ \begin{tikzpictureC}[baseline=(A.base)][]
+ \node[fill=red, rounded corners](A){I must be manually compiled.};
+ \node[fill=red, rounded corners, opacity=.3,overlay] at (A.north east){I am an overlay text};
+ \end{tikzpictureC}
+ \end{codeexample}
+
+ See \cref{sec:operationsCache} for more details.
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/include graphics args\@nil
+ \makeatother%
+ \pgfmanualbody
+ By default, the include commands runs |\includegraphics| on the pdf, and possibly raises it if needed. You can customize the arguments passed to |\includegraphics| here.
+\end{pgfmanualentry}
+
+\subsubsection{Configuration of the cache}
+
+If needed, you can configure the cache:
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set filename prefix=\marg{prefix}\@nil
+ \makeatother%
+ \pgfmanualbody
+ By default, the files in the cache starts with |robExt-|. If needed you can change this here, or by manually defining |\def\robExtPrefixFilename{yourPrefix-}|.
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set subfolder and way back=\marg{cache folder}\marg{path to project from cache}\@nil
+ \makeatother%
+ \pgfmanualbody
+ By default, the cache is located in |robustExternalize/|, using:\\
+ |set subfolder and way back={robustExternalize/}{../},|\\
+ You can customize it the way you want, just be make sure that going to the second arguments after going to the first argument leads you back to the original position.
+\end{pgfmanualentry}
+
+\newpage
+\subsubsection{Customize or disable externalization}\label{sec:disableExternalization}
+
+You might want (sometimes or always) to disable externalization, for instance to use |remember picture| \tikz[remember picture,baseline=(pointtome.base)] \node[rounded corners, fill=orange](pointtome){Point to me if you can};, even if you used |\robExtExternalizeAllTikzpictures|:
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/disable externalization\@nil
+ \extractkey/robExt/enable externalization\@nil
+ \makeatother%
+ \pgfmanualbody
+ Enable or disable externalization.
+ \begin{codeexample}[width=0pt,vbox]
+ % In theory all pictures should be externalized (so remember picture should fail)
+ \robExtExternalizeAllTikzpictures
+ % But we can disable it temporarily
+ \begin{tikzpicture}[remember picture][disable externalization]
+ \node[rounded corners, fill=red](A){This figure is not externalized.
+ This way, it can use remember picture.};
+ \draw[->,overlay] (A) to[bend right] (pointtome);
+ \end{tikzpicture}\\
+
+ % You can also disable it globally/in a group:
+ {
+ \robExtConfigure{disable externalization}
+
+ \begin{tikzpicture}[remember picture]
+ \node[rounded corners, fill=red](A){This figure is not externalized.
+ This way, it can use remember picture.};
+ \draw[->,overlay] (A.west) to[bend left] (pointtome);
+ \end{tikzpicture}\\
+
+ \begin{tikzpicture}[remember picture]
+ \node[rounded corners, fill=red](A){This figure is not externalized.
+ This way, it can use remember picture.};
+ \draw[->,overlay] (A.east) to[bend right] (pointtome);
+ \end{tikzpicture}
+ }
+ \end{codeexample}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/command if no externalization\@nil
+ \makeatother%
+ \pgfmanualbody
+ You can easily change the command to run if externalization is disabled using by setting the \textbf{.code} of this key. By default, it is configured as:\\
+\begin{verbatim}
+command if no externalization/.code={%
+ \robExtDisableTikzpictureOverwrite\evalPlaceholder{__ROBEXT_MAIN_CONTENT__}%
+}
+\end{verbatim}
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/print verbatim if no externalization\@nil
+ \makeatother%
+ \pgfmanualbody
+ Sets |command if no externalization| to print the verbatim content of |__ROBEXT_MAIN_CONTENT__| if externalization is disabled. Internally, it just sets it to:\\
+ |\printPlaceholder{__ROBEXT_MAIN_CONTENT__}|\\
+ This is mostly useful when typesetting |__ROBEXT_MAIN_CONTENT__| directly does not make sense (e.g. in python code). This style is used for instance in the |python| preset, allowing us to get:
+
+\begin{codeAndResult}
+\begin{CacheMeCode}{python,
+ verbatim output,
+ set placeholder eval={__thepage__}{\thepage},
+ %% We disable externalization
+ disable externalization}
+with open("__ROBEXT_OUTPUT_PREFIX__-out.txt", "w") as f:
+ for i in range(5):
+ f.write(f"Hello {i}, we are on page __thepage__\n")
+\end{CacheMeCode}
+\end{codeAndResult}
+
+You can also disable the externalization on all elements that use a common preset, for instance you can disable externalization on all |bash| instances (useful if you are on Windows for instance):
+\begin{codeAndResult}
+\robExtConfigure{
+ % bash code will not be compiled (useful on windows for instance)
+ bash/.append style={
+ disable externalization
+ },
+}
+\begin{CacheMeCode}{bash, verbatim output}
+# $outputTxt contains the path of the file that will be printed via \verbatiminput
+uname -srv > "${outputTxt}"
+\end{CacheMeCode}
+\end{codeAndResult}
+
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/execute after each externalization\@nil
+ \extractkey/robExt/execute before each externalization\@nil
+ \makeatother%
+ \pgfmanualbody
+ By doing |execute after each externalization={some code}|, you will run some code after the externalization. This might be practical for instance to update a counter (e.g. the number of pages\dots) based on the result of the compiled file.
+\end{pgfmanualentry}
+
+\subsubsection{Dependencies}
+
+In order to enforce reproducibility, you should tell what are the files that your code depends on, by adding this file as a dependency. This has the advantage that if this file is changed, your code is automatically recompiled. On the other hand, you might not want this behavior (e.g. if this file often changes in a non-important way): in that case, just don't add the file as a dependency (but keep that in mind as you might not be able to recompile your file if you clear the cache if you introduced breaking changes).
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/dependencies=\marg{list,of,dependencies}\@nil
+ \extractkey/robExt/add dependencies=\marg{list,of,dependencies}\@nil
+ \extractkey/robExt/reset dependencies\@nil
+ \makeatother%
+ \pgfmanualbody
+ Set/add/reset the dependencies (you can put multiple files separated by commas). These files should be relative to the main compiled file. For instance, if you have a file |common_inputs.tex| that you want to input in both the main file and in the cached files, that contains, say:\\
+ |\def\myValueDefinedInCommonInputs{42}|\\
+ then you can add it as a dependency using:
+\begin{codeexample}[width=0pt,vbox]
+\begin{CacheMe}{latex,
+ add dependencies={common_inputs.tex},
+ add to preamble={\input{__ROBEXT_WAY_BACK__/common_inputs.tex}}}
+ The answer is \myValueDefinedInCommonInputs.
+\end{CacheMe}
+\end{codeexample}
+Note that the placeholder |__ROBEXT_WAY_BACK__| contains the path from the cache folder (containing the |.tex| that will be cached) to the root folder.\\ This way, you can easily input files contained in the root folder.
+\end{pgfmanualentry}
+
+
+\subsubsection{Pass compiled file to another template}
+
+It can sometimes be handy to use the result of a previous cached file to cache another file, or to do anything else (e.g.\ it can also be practical to debug an issue). |name output| can be used to do that
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/name output=\marg{macro name}\@nil
+ \makeatother%
+ \pgfmanualbody
+ |name output=foo| will create two global macros |\foo| and |\fooInCache|: |\foo| expands to the prefix of the files created in the template like |robExt-somehash|, and |\fooInCache| also adds the cache folder like |robustExternalize/robExt-somehash|. You can then use |set placeholder eval| to send it to another cached file. It is then your role to add the extension, usually |.tex| to get the source (even if the source is a python file), |.pdf| to get the pdf, |-out.tex| to get the file that is loaded before the import, |-out.txt| if you wanted to make it compatible with |verbatim output| (this list is not exhaustive as each script might decide to create a different output file). Here is a demo:
+
+\begin{codeexample}[width=0cm,vbox]
+\begin{CacheMe}{tikz, do not add margins, name output=mycode}[baseline=(A.base)]
+ \node[draw,rounded corners,fill=pink!60](A){Hello World!};
+\end{CacheMe}\\[3mm]
+
+The prefix is \texttt{\mycode} and with the cache folder it is in:\\
+\texttt{\mycodeInCache}.\\
+It this can be helpful for instance to debug, as you can inspect the source:
+\verbatiminput{\mycodeInCache.tex}
+but it is also practical to define a template based on the previously cached files:\\
+
+\begin{CacheMe}{tikz, set placeholder eval={__previous__}{\mycode.pdf}}
+ \node[rounded corners, fill=green!50]{A cached file can use result from another cached file:
+ \includegraphics[width=2cm]{__previous__}\includegraphics[width=2cm]{__previous__}};
+\end{CacheMe}
+\end{codeexample}
+
+Note that if you do not want to display the first cached file, you can use |do not include pdf| to hide it.
+
+\end{pgfmanualentry}
+
+
+\subsection{Default presets}\label{sec:presets}
+
+We provide by default some presets for famous languages (for now \LaTeX{} and python).
+
+\subsubsection{All languages}
+
+First, here are a few options that are available irrespective of the used language.
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/set includegraphics options=\marg{options}\@nil
+ \extractkey/robExt/add to includegraphics options=\marg{options}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Set/add options to the |\includegraphics| run when inserting the pdf (by the default include command). By default it is empty, but the |latex| preset sets it to:\\
+ |trim=__ROBEXT_LATEX_TRIM_LENGTH__ __ROBEXT_LATEX_TRIM_LENGTH__|\\
+ |__ROBEXT_LATEX_TRIM_LENGTH__ __ROBEXT_LATEX_TRIM_LENGTH__|\\
+ in order to remove the margin added in the standalone package options, which is needed to display overlay texts.
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/verbatim output\@nil
+ \makeatother%
+ \pgfmanualbody
+ Shortcut for:
+\begin{verbatim}
+custom include command={%
+ \evalPlaceholder{%
+ __ROBEXT_VERBATIM_COMMAND__{%
+ __ROBEXT_CACHE_FOLDER____ROBEXT_OUTPUT_PREFIX__-out.txt}%
+ }%
+},
+\end{verbatim}
+ i.e.\ instead of printing the pdf we print the content of the file |__ROBEXT_OUTPUT_PREFIX__-out.txt| using the command in |__ROBEXT_VERBATIM_COMMAND__|, that defaults to |\verbatiminput|:
+\begin{codeAndResult}
+\begin{CacheMeCode}{python, verbatim output}
+with open("__ROBEXT_OUTPUT_PREFIX__-out.txt", "w") as f:
+ for i in range(5):
+ f.write(f"Hello {i}\n")
+\end{CacheMeCode}
+\end{codeAndResult}
+\end{pgfmanualentry}
+
+
+\subsubsection{\LaTeX{}}
+
+The |latex| preset is used to cache any \LaTeX{} content, like tikz pictures. Note that as of today, it supports overlay content out of the box (if the overlay is more than 30cm long, you might want to customize a placeholder), but not images that need to use |remember picture|.
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/latex\@nil
+ \makeatother%
+ \pgfmanualbody
+ This style sets the template |__ROBEXT_LATEX__| and the compilation command:\\ |__ROBEXT_COMPILATION_COMMAND_LATEX__|\\
+ (cf \cref{sec:placeholders} for details), and adds a number of styles described below, to easily configure the most common options. You can use it as follows:
+ \begin{codeexample}[width=0pt,vbox]
+ The next picture is cached %
+ \begin{CacheMe}{latex, add to preamble={\usepackage{tikz}}}
+ \begin{tikzpicture}[baseline=(A.base)]
+ \node[fill=red, rounded corners](A){My node that respects baseline.};
+ \node[fill=red, rounded corners, opacity=.3,overlay] at (A.north east){I am an overlay text};
+ \end{tikzpicture}
+ \end{CacheMe} and you can see that overlay and depth works.
+ \end{codeexample}
+\end{pgfmanualentry}
+
+To see how to create your own preset or automatically load a library, see \cref{sec:customize}.
+
+The next options can be used after calling the |latex| style:
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/latex/use latexmk\@nil
+ \extractkey/robExt/latex/use lualatex\@nil
+ \extractkey/robExt/latex/use xelatex\@nil
+ \makeatother%
+ \pgfmanualbody
+ Use latexmk/lualatex/xelatex to compile. It is a shortcut for:\\
+ |set placeholder={__ROBEXT_LATEX_ENGINE__}{yourfavoriteengine}|
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/latex/set latex options=\marg{latex options}\@nil
+ \extractkey/robExt/latex/add to latex options=\marg{latex options}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Set/add elements to the set of latex options of the |\documentclass| (it will automatically add a comma before if you add an element). Internally it sets |__ROBEXT_LATEX_OPTIONS__|. By default, it sets:\\
+ |margin=__ROBEXT_LATEX_TRIM_LENGTH__|
+ (where |__ROBEXT_LATEX_TRIM_LENGTH__| is defined as 30cm by default) in order to add a margin that will be trimmed later in the |\includegraphics|. This is useful not to cut stuff displayed outside of the bounding box (overlays).
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/latex/set documentclass=\marg{documentclass}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Set the documentclass of the document (defaults to |standalone|). Internally, it sets the placeholder |__ROBEXT_DOCUMENT_CLASS__|.
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/latex/set preamble=\marg{code of preamble}\@nil
+ \extractkey/robExt/latex/add to preamble=\marg{code of preamble}\@nil
+ \makeatother%
+ \pgfmanualbody
+ Set/add element to the preamble (defaults to |standalone|). Internally, it sets the placeholder |__ROBEXT_DOCUMENT_CLASS__|.
+\end{pgfmanualentry}
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/latex/do not wrap code\@nil
+ \makeatother%
+ \pgfmanualbody
+ By default, the main content is wrapped into a box in order to measure its depth to properly set the baseline. If you do not want to do this wrapping, you can set this option. Internally, it is a shortcut for:\\
+ |set placeholder={__ROBEXT_MAIN_CONTENT_WRAPPED__}{__ROBEXT_MAIN_CONTENT__}|
+\end{pgfmanualentry}
+
+\subsubsection{Python}
+
+We provide support for python:
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/python\@nil
+ \makeatother%
+ \pgfmanualbody
+ Load the |python| preset (inspect |__ROBEXT_PYTHON__|) for details on the exact template, but note that this template might be subject to changes. We also provide a few helper functions:
+ \begin{itemize}
+ \item |write_to_out(text)| writes |text| to the |*-out.tex| file that will be loaded automatically before running the include function
+ \item |parse_args()| is a function that returns a dictionary mapping some keys to values depending on the called arguments: for instance, if you call the python file with |python script key1 value1 key2 value2|, then the dictionary will map |key1| to |value1| and |key2| to |value2|. You might like this in conjunction with commands presented in \cref{sec:configureCompilationCommand}. Note that if you place placeholders in your code, you might not need this, but this is used if you plan to use your script outside of this library.
+ \item |get_cache_folder()| outputs the cache folder.
+ \item |get_file_base()| outputs the prefix of all files that should be created by this script, that looks like |robExt-somehash|.
+ \item |get_current_script()| returns the current script.
+ \item |get_filename_from_extension(extension)| outputs the prefix |robExt-somehash| concatenated with the extension. You often need this function to get the path of a file that your script is creating, for instance, |get_filename_from_extension("-out.txt")| is the path |*-out.txt| of the file that is read by |verbatim output|.
+ \item |get_verbatim_output()| returns |get_filename_from_extension("-out.txt")|
+ \item |finished_with_no_error()| creates the pdf file if it does not exists (to certify that the compilation ran without issues). The template automatically runs this function at the end.
+ \end{itemize}
+ We demonstrate its usage on a few examples:
+\begin{codeAndResult}
+\begin{CacheMeCode}{python, verbatim output}
+with open(get_verbatim_output(), "w") as f:
+ for i in range(5):
+ f.write(f"Hello {i}\n")
+\end{CacheMeCode}
+\end{codeAndResult}
+
+\textbf{Importantly: you do not want to indent the whole content of CacheMeCode, or the spaces will also appear in the final code.}
+
+You can also generate some images. This code will produce the image in \cref{fig:pythonGeneratedImage2}:
+\begin{codeexample}[code only]
+\begin{CacheMeCode}{python, set includegraphics options={width=.8\linewidth}}
+import matplotlib.pyplot as plt
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{CacheMeCode}
+\end{codeexample}
+{\begin{figure}
+\centering
+\begin{CacheMeCode}{python, set includegraphics options={width=.8\linewidth}}
+import matplotlib.pyplot as plt
+year = [2014, 2015, 2016, 2017, 2018, 2019]
+tutorial_count = [39, 117, 111, 110, 67, 29]
+plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)
+plt.xlabel('Year')
+plt.ylabel('Number of futurestud.io Tutorials')
+plt.savefig("__ROBEXT_OUTPUT_PDF__")
+\end{CacheMeCode}
+\caption{Image generated with python.}
+\label{fig:pythonGeneratedImage2}
+\end{figure}
+}
+
+Note that by default, the executable called |python| is run. It seems like on windows |python3| is not created and only |python| exists, while on linux the user can choose whether |python| should point to |python3| or |python2| (on NixOs, I directly have |python| pointing to |python3|, and in ubuntu, you might need to install |python-is-python3| or create a symlink, as explained \href{https://askubuntu.com/questions/1296790/python-is-python3-package-in-ubuntu-20-04-what-is-it-and-what-does-it-actually}{here}). In any case, you can customize the name of the executable by setting something like:
+\begin{verbatim}
+\setPlaceholder{__ROBEXT_PYTHON_EXEC__}{python3}
+\end{verbatim}
+or using the style |force python3| that forces |python3|.
+\end{pgfmanualentry}
+
+
+\begin{pgfmanualentry}
+ \makeatletter%
+ \def\extrakeytext{style, }
+ \extractkey/robExt/python print code and result\@nil
+ \makeatother%
+ \pgfmanualbody
+ This is a demo style that can print a python code and its result.
+\begin{codeAndResult}
+\begin{CacheMeCode}{python print code and result, set title={The for loop}}
+for name in ["Alice", "Bob"]:
+ print(f"Hello {name}")
+\end{CacheMeCode}
+\end{codeAndResult}
+You can set |__ROBEXT_PYTHON_TCOLORBOX_PROPS__| the options of the tcolorbox,\\ |__ROBEXT_PYTHON_CODE_MESSAGE__| and |__ROBEXT_PYTHON_RESULT_MESSAGE__| which are displayed before the corresponding block, |__ROBEXT_PYTHON_LSTINPUT_STYLE__| which contains the default lstinput style and |__MY_TITLE__| (cf |set title|) that contains the title of the box. Make sure to have the following packages to use the default styling:
+\begin{verbatim}
+\usepackage{pythonhighlight}
+\usepackage{tcolorbox}
+\end{verbatim}
+\end{pgfmanualentry}
+
+
+
+
+
+\subsubsection{Bash}
+
+We provide a basic bash template, that sets:
+\begin{verbatim}
+set -e
+outputTxt="__ROBEXT_OUTPUT_PREFIX__-out.txt"
+outputTex="__ROBEXT_OUTPUT_PREFIX__-out.tex"
+outputPdf="__ROBEXT_OUTPUT_PDF__"
+\end{verbatim}
+in order to quit when an error occurs, and to define two variables containing the path to the |pdf| file and to the file that is read by the |verbatim output| setting (that just apply a |\verbatiminput| on that file). Finally, it also creates the file |outputPdf| with |touch| in order to notify that the compilation succeeded.
+
+In practice:
+\begin{codeAndResult}
+\begin{CacheMeCode}{bash, verbatim output}
+# $outputTxt contains the path of the file that will be printed via \verbatiminput
+uname -srv > "${outputTxt}"
+\end{CacheMeCode}
+\end{codeAndResult}
+
+\subsubsection{Verbatim text}
+
+Sometimes, it might be handy to write the text to a file and use it somehow. This is possible using |verbatim text|, that defaults to calling |\verbatiminput| on that file:
+
+\begin{codeAndResult}
+\begin{CacheMeCode}{verbatim text}
+def some_verbatim_fct(a):
+ # See this is a verbatim code where I can use the % symbol
+ return a % b
+\end{CacheMeCode}
+\end{codeAndResult}
+
+You can also call |verbatim text no include|: it will not include the text, but it sets a macro |\robExtPathToInput| containing the path to the input file. Use it the way you like! For instance, we define here a macro |codeAndResult| that prints the code and runs it (we use a pretty printer from pgf, so you need to load |\usepackage{tikz}\input{pgfmanual-en-macros.tex}| to use it). It is what we use right now in this documentation for verbatim blocks like here. You can obtain a simpler version using:
+
+\begin{codeAndResult}
+\begin{CacheMeCode}{verbatim text no include}
+\NewDocumentCommand{\testVerbatim}{+v}{
+\begin{flushleft}\ttfamily%
+#1
+\end{flushleft}}
+\testVerbatim{Demo % with percent}
+\end{CacheMeCode}
+We will input the file \robExtPathToInput{}:
+\input{\robExtPathToInput}
+This file contains:
+\verbatiminput{\robExtPathToInput}
+\end{codeAndResult}
+
+\subsection{List of special placeholders and presets}\label{sec:placeholders}
+
+This library defines a number of pre-existing placeholders, or placeholders playing a special role. We list some of them in this section. All placeholders created by this library start with |__ROBEXT_|. Note that you can list all predefined placeholders (at least those globally defined) using |\printAllPlaceholdersExceptDefaults| (note that some other placeholders might be created directly in the style set right before the command, and may not appear in this list if you call it before setting the style).
+
+\subsubsection{Generic placeholders}
+
+We define two special placeholders that should be defined by the user (possibly indirectly, using presets offered by this library):
+\begin{itemize}
+\item |__ROBEXT_TEMPLATE__| is a placeholder that should contain the code of the file to compile.
+\item |__ROBEXT_MAIN_CONTENT__|: is a placeholder that might be used inside |__ROBEXT_TEMPLATE__| and that contains the content that the user is expected to type inside the document. For instance, this might be a tikz picture, a python function without the import etc. This will be automatically set by |CacheMe|, |CacheMeCode| etc, and some styles might add stuff to it (for instance the |tikz| preset adds the |\begin{tikzpicture}| around the user code automatically: this way we do not need to edit the command to disable externalization).
+\item |__ROBEXT_COMPILATION_COMMAND__| contains the compilation command to run to compile the file (assuming we are in the cache folder).
+\end{itemize}
+
+We also provide a number of predefined placeholders in order to get the name of the source file etc... Note that most of these placeholders are defined (and/or expanded inplace) late during the compilation stage as one needs first to obtain the hash of the file, and therefore all dependencies, the content of the template etc.
+\begin{itemize}
+\item |__ROBEXT_SOURCE_FILE__| contains the path of the file to compile (containing the content of |__ROBEXT_TEMPLATE__|) like |robExt-somehash.tex|, relative to the cache folder (since we always go to this folder before doing any action, you most likely want to use this directly in the compilation command).
+\item |__ROBEXT_OUTPUT_PDF__| contains the path of the pdf file produced after the compilation command relative to the cache folder (like |robExt-somehash.pdf|). Even if you do not plan to output a pdf file, you should still create that file at the end of the compilation so that this library can know whether the compilation succeeded.
+\item |__ROBEXT_OUTPUT_PREFIX__| contains the prefix that all newly created file should follow, like |robExt-somehash|. If you want to create additional files (e.g. a picture, a video, a console output etc...) make sure to make it start with this string. It will not only help to ensure purity, but it also allows us to garbage collect useless files easily.
+\item |__ROBEXT_WAY_BACK__| contains the path to go back to the main project from the cache folder, like |../| (internally it is equals to the expanded value of |\robExtPrefixPathWayBack|).
+\item |__ROBEXT_CACHE_FOLDER__| contains the path to the cache folder. Since most commands are run from the cache folder, this should not be really useful to the user.
+\end{itemize}
+
+You can also use these placeholders to customize the default include function:
+\begin{itemize}
+\item |__ROBEXT_INCLUDEGRAPHICS_OPTIONS__| contains the options given to |\includegraphics| when loading the pdf
+\item |__ROBEXT_INCLUDEGRAPHICS_FILE__| contains the file loaded by |\includegraphics|, defaults to |\robExtAddCachePathAndName{\robExtFinalHash.pdf}|, that is itself equivalent to |__ROBEXT_CACHE_FOLDER____ROBEXT_OUTPUT_PDF__| or\\|__ROBEXT_CACHE_FOLDER____ROBEXT_OUTPUT_PREFIX__.pdf|.
+\end{itemize}
+
+\subsubsection{Placeholders related to \LaTeX{}}
+Some placeholders are reserved only when dealing with \LaTeX{} code:
+\begin{itemize}
+\item |__ROBEXT_LATEX__| is the main entrypoint, containing all the latex template. It internally calls other placeholders listed below.
+\item |__ROBEXT_LATEX_OPTIONS__|: contains the options to compile the document, like |a4paper|. Empty by default.
+\item |__ROBEXT_DOCUMENT_CLASS__|: contains the class of the document. Defaults to |standalone|.
+\item |__ROBEXT_PREAMBLE__|: contains the preamble. Is empty by default.
+\item |__ROBEXT_MAIN_CONTENT_WRAPPED__|: content inside the |document| environment. It will wrap the actual content typed by the user |__ROBEXT_MAIN_CONTENT__| around a box to compute its depth. If you do not want this behavior, you can set |__ROBEXT_MAIN_CONTENT_WRAPPED__| to be equal to |__ROBEXT_MAIN_CONTENT__|. It calls internally |__ROBEXT_CREATE_OUT_FILE__| and |__ROBEXT_WRITE_DEPTH_TO_OUT_FILE__| to do this computation.
+\item |__ROBEXT_CREATE_OUT_FILE__| creates a new file called |\jobname-out.tex| and open it in the handle called |\writeRobExt|
+\item |__ROBEXT_WRITE_DEPTH_TO_OUT_FILE__| writes the height, depth and width of the box |\boxRobExt| into the filed opened in |\writeRobExt|.
+\item |__ROBEXT_COMPILATION_COMMAND_LATEX__| is the command used to compile a \LaTeX{} document. It uses internally other placeholders:
+\item |__ROBEXT_LATEX_ENGINE__| is the engine used to compile the document (defaults to |pdflatex|)
+\item |__ROBEXT_COMPILATION_COMMAND_OPTIONS__| contains the options used to compile the document (defaults to |-shell-escape -halt-on-error|)
+\end{itemize}
+
+\subsubsection{Placeholders related to python}
+
+\begin{itemize}
+\item |__ROBEXT_PYTHON_EXEC__| contains the python executable (defaults to |python|) used to compile
+\item |__ROBEXT_PYTHON__| contains the python template
+\item |__ROBEXT_PYTHON_IMPORT__| can contain import statements
+\item |__ROBEXT_PYTHON_MAIN_CONTENT_WRAPPED__| is used to add all the above functions. You can set it to |__ROBEXT_MAIN_CONTENT__| if you do not want them
+\item |__ROBEXT_PYTHON_FINISHED_WITH_NO_ERROR__| is called at the end to create the pdf file even if it is not created, you can set it to the empty string if you do not want to do that.
+\end{itemize}
+
+\subsubsection{Placeholders related to bash}
+
+\begin{itemize}
+\item |__ROBEXT_BASH_TEMPLATE__| contains the bash template. By default, it sets |set -e|, creates |outputTxt|, |outputTex| and |outputPdf| pointing to the corresponding files, and it created the pdf file at the end.
+\item |__ROBEXT_SHELL__| contains the shell (defaults to |bash|).
+\end{itemize}
+
+
+\subsection{Customize presets and create your own style}\label{sec:customize}
+
+Note that you can define your own presets simply by creating a new pgf style (please refer to tikz-pgf's documentation for more details). For instance, we defined the |tikz| style using:
+\begin{codeexample}[code only]
+\robExtConfigure{
+ tikz/.style={
+ latex,
+ add to preamble={\usepackage{tikz}},
+ add before placeholder no space={__ROBEXT_MAIN_CONTENT__}{\begin{tikzpicture}},
+ add to placeholder no space={__ROBEXT_MAIN_CONTENT__}{\end{tikzpicture}},
+ },
+}
+\end{codeexample}
+in order to automatically load |tikz| and add the surrounding |tikzpicture| (note that the style is always loaded \textbf{after} the definition of |__ROBEXT_MAIN_CONTENT__|, you can therefore do any postprocessing you like on this placeholder). You can also customize an existing style by adding stuff to it using |.append style|. For instance, here, we add the |shadows| library to the |tikz| preset by default:
+\begin{codeexample}[width=0pt,vbox]
+ \robExtConfigure{
+ tikz/.append style={
+ add to preamble={\usetikzlibrary{shadows}},
+ },
+ }
+ See, tikz's style now packs the |shadows| library by default: %
+ \begin{CacheMe}{tikz}[even odd rule]
+ \filldraw [drop shadow,fill=white] (0,0) circle (.5) (0.5,0) circle (.5);
+ \end{CacheMe}
+\end{codeexample}
+
+
+\subsection{Operations on the cache}\label{sec:operationsCache}
+
+Every time we compile a document, we create automatically a bunch of files:
+\begin{itemize}
+\item the cache is located by default in the |robustExternalize| folder. Feel free to remove this folder if you want to completely clear the cache (but then you need to recompile everything). See below if you want to clean it in a better way.
+\item |\jobname-robExt-all-figures.txt| contains the list of all figures contained in the document. Mostly useful to help the script that remove other figures.
+\item |robExt-remove-old-figures.py| is a python script that will remove all cached files that are not used anymore. Just run |python robExt-remove-old-figures.py| to clean it. You will then see the list of files that the script wants to remove: make sure it does not remove any important data, and press ``y''. Note that it will search for all files that look like |*robExt-all-figures.txt| to see the list of pictures that are still in use, and by default it will only remove the images in the |robustExternalize| folder that start with |robExt-|. If you change the path of the cache or the prefix, edit the script (should not be hard to do).
+\item |\jobname-robExt-compile-missing-figures.sh| contains a list of commands that you need to run to compile the images not yet compiled in the cache (this list will only be created if you enable the manual compilation mode).
+\item |\jobname-robExt-tmp-file-you-can-remove.tmp| is a temporary file. Feel free to remove it.
+\end{itemize}
+
+We go over some of these scripts.
+
+\subsubsection{Cleaning the cache}
+
+You might want to clean the cache. Of course you can remove all generated files, but if you want to keep the picture in use in the latest version of the document, we provide a python script (automatically generated in the root folder) to do this. Just install python3 and run:\\
+
+|python3 robExt-remove-old-figures.py|\\
+
+(on windows, the executable might be called |python|) You will then be prompted for a confirmation after providing the list of files that will be removed.
+
+\subsubsection{Listing all figures in use}
+
+After the compilation of the document, a file |robExt-all-figures.txt| is created with the list of the |.tex| file of all figures used in the current document.
+
+\subsubsection{Manually compiling the figures}
+
+When enabling the manual mode (useful if we don't want to enable |-shell-escape|):
+
+\begin{verbatim}
+\robExtConfigure{
+ enable manual mode
+}
+\end{verbatim}
+
+the library creates a file |JOBNAME-robExt-compile-missing-figures.sh| that contains the instructions to build the figures that are not yet in the cache (each line contains the compilation command to run). On Linux (or on Windows with bash/cygwin/… installed, it possibly even work out of the box without) you can easily execute them using:
+
+\begin{verbatim}
+bash JOBNAME-robExt-compile-missing-figures.sh
+\end{verbatim}
+
+
+\subsection{How to debug}
+
+If for some reasons you are unable to understand why a build fails, first check if you compiled your document with |-shell-escape| (not that this must appear \textbf{before} the filename). Then, you can look at the log file to get more advices: when a cached document is compiled, we always write the full compilation command before compiling the file in the log file. This way, you can easily check the content of the file and see why it fails to compile. The compilation errors are also displayed directly in the output.
+
+You might often get an error |! Missing $ inserted.|: this is typically when a placeholder was left unreplaced (e.g.\ you forgot to define it, or you forgot to wrap a command in |\evalPlaceholder{}|): since \LaTeX{} is asked to typeset |__something__|, it thinks that you are trying to write a subscript, and asks you to start first the math mode.
+
+\section{TODO and known bugs:}
+
+\begin{itemize}
+\item See how to deal with label and references inside pictures (without disabling externalization).
+\item We should create more pre-made settings, e.g. for tikz-cd, zx-calculus etc.
+\item Deal with remember picture
+\end{itemize}
+
+\section{Acknowledgments}
+
+I am deeply indebted to many users on \url{tex.stackexchange.com} that made the writing of this library possible. I can't list you all, but thank you so much!
+
+\end{document}
+% Local Variables:
+% TeX-command-extra-options: "-shell-escape -halt-on-error"
+% End: \ No newline at end of file
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 44978db406..fbd97f5776 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -10,9 +10,7 @@ $mirrors = {
},
'Asia' => {
'China' => {
- 'https://mirror.bjtu.edu.cn/CTAN/' => 1,
'https://mirror.nyist.edu.cn/CTAN/' => 1,
- 'https://mirrors.aliyun.com/CTAN/' => 1,
'https://mirrors.bfsu.edu.cn/CTAN/' => 1,
'https://mirrors.cloud.tencent.com/CTAN/' => 1,
'https://mirrors.cqu.edu.cn/CTAN/' => 1,
@@ -20,10 +18,8 @@ $mirrors = {
'https://mirrors.jlu.edu.cn/CTAN/' => 1,
'https://mirrors.nju.edu.cn/CTAN/' => 1,
'https://mirrors.pku.edu.cn/ctan/' => 1,
- 'https://mirrors.sjtug.sjtu.edu.cn/ctan/' => 1,
'https://mirrors.sustech.edu.cn/CTAN/' => 1,
'https://mirrors.tuna.tsinghua.edu.cn/CTAN/' => 1,
- 'https://mirrors.ustc.edu.cn/CTAN/' => 1,
'https://mirrors.zju.edu.cn/CTAN/' => 1,
},
'Hong Kong' => {
@@ -49,7 +45,6 @@ $mirrors = {
'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
'https://lab.uklee.pe.kr/tex-archive/' => 1,
'https://mirror.kakao.com/CTAN/' => 1,
- 'https://mirror.navercorp.com/CTAN/' => 1,
},
'Taiwan' => {
'https://ctan.mirror.twds.com.tw/tex-archive/' => 1,
@@ -79,7 +74,6 @@ $mirrors = {
},
'France' => {
'https://ctan.gutenberg-asso.fr/' => 1,
- 'https://ctan.mines-albi.fr/' => 1,
'https://ctan.tetaneutral.net/' => 1,
'https://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/' => 1,
'https://mirror.ibcp.fr/pub/CTAN/' => 1,
@@ -126,13 +120,13 @@ $mirrors = {
'https://mirror.lyrahosting.com/CTAN/' => 1,
},
'Norway' => {
- 'https://ctan.uib.no/' => 1,
'https://ftp.fagskolen.gjovik.no/pub/tex-archive/' => 1,
},
'Poland' => {
'https://ctan.gust.org.pl/tex-archive/' => 1,
'https://polish-mirror.evolution-host.com/ctan/' => 1,
'https://repo.skni.umcs.pl/ctan/' => 1,
+ 'https://sunsite.icm.edu.pl/pub/CTAN/' => 1,
},
'Portugal' => {
'https://ftp.eq.uc.pt/software/TeX/' => 1,
@@ -144,7 +138,6 @@ $mirrors = {
'Russia' => {
'https://ctan.altspu.ru/' => 1,
'https://mirror.macomnet.net/pub/CTAN/' => 1,
- 'https://mirror.truenetwork.ru/CTAN/' => 1,
'https://mirrors.mi-ras.ru/CTAN/' => 1,
},
'Slovenia' => {
@@ -198,7 +191,6 @@ $mirrors = {
},
'Oceania' => {
'Australia' => {
- 'https://mirror.aarnet.edu.au/pub/CTAN/' => 1,
'https://mirror.cse.unsw.edu.au/pub/CTAN/' => 1,
},
},
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 52abe816b0..4a72a8fe1a 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2023
-depend revision/68188
+depend revision/68194
name 00texlive.image
category TLCore
-revision 68188
+revision 68194
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -3731,6 +3731,7 @@ runfiles size=13072
tlpkg/tlpsrc/rmpage.tlpsrc
tlpkg/tlpsrc/robotarm.tlpsrc
tlpkg/tlpsrc/roboto.tlpsrc
+ tlpkg/tlpsrc/robust-externalize.tlpsrc
tlpkg/tlpsrc/robustcommand.tlpsrc
tlpkg/tlpsrc/robustindex.tlpsrc
tlpkg/tlpsrc/roex.tlpsrc
@@ -4791,7 +4792,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 68177
+revision 68190
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -24514,7 +24515,7 @@ catalogue-topics dissertation
name arsenal
category Package
-revision 68169
+revision 68191
shortdesc Open Type font by Andrij Shevchenko
relocated 1
longdesc In 2011 Andrij's typeface became a winner of the Ukrainian Type
@@ -24529,30 +24530,32 @@ longdesc articulate grace and expressivity. Arsenal's somewhat lyrical
longdesc sentiment abides to the Ukrainian nature of the font. This
longdesc package provides the fonts and LaTeX support for them with
longdesc matching math. It needs LuaLaTeX or XeLaTeX.
-containersize 201992
-containerchecksum 9b1243ef579f188613a2ee7eabd45bfee7b4221aec984700401cd4b10dd6c7b2dbaed559b99715418f2d335b5cba8cc3c316af81a626588bafeab6a38a471fa5
-doccontainersize 240064
-doccontainerchecksum 8de4c762106bd6efd94ed31ae57f9acb5910d751d06bc77db98089bdade5f3cc01cbb19a639b7b8c2b031790001b288ce9ab136c4c2111765654e6b78008c324
-docfiles size=78
+containersize 202344
+containerchecksum f103fff41a3e21594134b9902064001bb18e0c85985ebc99486378c0929d11eb3c12f00e7e23ed254029bca78adb2061575c48e9406fda890eb732b3cb90f096
+doccontainersize 336760
+doccontainerchecksum 72295197eca81954e733409239b4cc13ff9ae87f5cf5c402a8d2904edf2e3fb6686fe2a0ea8bbd4d0e2bc0498507c47870ae1ac3cc2d722713ea4b952613a345
+docfiles size=104
RELOC/doc/fonts/arsenal/LICENSE
RELOC/doc/fonts/arsenal/LICENSE_FONTS
RELOC/doc/fonts/arsenal/README details="Readme"
RELOC/doc/fonts/arsenal/arsenal.bib
RELOC/doc/fonts/arsenal/arsenal.pdf details="Package documentation"
+ RELOC/doc/fonts/arsenal/sample-math-arsenal+kpsans.pdf
+ RELOC/doc/fonts/arsenal/sample-math-arsenal+kpsans.tex
RELOC/doc/fonts/arsenal/sample-math-iwona.pdf details="Example of use with Iwona math"
RELOC/doc/fonts/arsenal/sample-math-iwona.tex
RELOC/doc/fonts/arsenal/sample-math-kpsans.pdf details="Example of use with KpSans math"
RELOC/doc/fonts/arsenal/sample-math-kpsans.tex
RELOC/doc/fonts/arsenal/sample-text.pdf details="Example of use (text) and font table"
RELOC/doc/fonts/arsenal/sample-text.tex
-srccontainersize 6196
-srccontainerchecksum 465cfade3b7d4f5dffc2eed72be07ead297ee669b529606987b0288b3d66b579e8690f72fbac9f794a422880ab02f9ca1ca7775b9c9ec158bc081e4ff6ca341e
-srcfiles size=7
+srccontainersize 7476
+srccontainerchecksum 214ebf080bbe11aa5c3fd088b6329746202ae1c46867fc6f1ac23d56ca22b44b147a8e929eb895c86834d6d3117bfc1e447e3759db9b73f4ba14b824a952b00f
+srcfiles size=8
RELOC/source/fonts/arsenal/Makefile
RELOC/source/fonts/arsenal/arsenal.dtx
RELOC/source/fonts/arsenal/arsenal.ins
RELOC/source/fonts/arsenal/sample-math.dtx
-runfiles size=112
+runfiles size=113
RELOC/fonts/opentype/public/arsenal/Arsenal-Bold.otf
RELOC/fonts/opentype/public/arsenal/Arsenal-BoldItalic.otf
RELOC/fonts/opentype/public/arsenal/Arsenal-Italic.otf
@@ -24565,7 +24568,7 @@ catalogue-contact-repository https://github.com/borisveytsman/arsenal/
catalogue-ctan /fonts/arsenal
catalogue-license ofl lppl1.3c
catalogue-topics font font-body font-cyrillic font-sans font-otf font-supp expl3
-catalogue-version 0.1
+catalogue-version 0.2
name articleingud
category Package
@@ -35138,16 +35141,16 @@ catalogue-topics book-pub class doc-templ expl3
name beebe
category Package
-revision 67371
+revision 68190
catalogue biblio
shortdesc A collection of bibliographies
relocated 1
longdesc A collection of BibTeX bibliographies on TeX-related topics
longdesc (including, for example, spell-checking and SGML). Each
longdesc includes a LaTeX wrapper file to typeset the bibliography.
-containersize 905724
-containerchecksum 10ecb0623a53092080382a1f7a3b1f815874288d7438951172490acda1c47a4c778ea6ccf0a61d76f5f6b4d9e7af830cb95b51401f03f112dbcc5ce441732bba
-runfiles size=2230
+containersize 907040
+containerchecksum 8b3e3505944dd04d2412626e41f9d52c1525cdd162bc12600896d1f1882bb4fae07e10c7dbe669f72a7fc5e5cb93c28a0affc6c3301a93491df9078c46d272ea
+runfiles size=2233
RELOC/bibtex/bib/beebe/epodd.bib
RELOC/bibtex/bib/beebe/font.bib
RELOC/bibtex/bib/beebe/printing-history.bib
@@ -70774,7 +70777,7 @@ containerchecksum c73220abd1545907a1d8de37cb534d2c6bd2534f1b55f03c069f39f535c326
name collection-latexextra
category Collection
-revision 68163
+revision 68194
shortdesc LaTeX additional packages
relocated 1
longdesc A very large collection of add-on packages for LaTeX.
@@ -71925,6 +71928,7 @@ depend rgltxdoc
depend rjlparshap
depend rlepsf
depend rmpage
+depend robust-externalize
depend robustcommand
depend robustindex
depend romanbar
@@ -72282,8 +72286,8 @@ depend zref-clever
depend zref-vario
depend zwgetfdate
depend zwpagelayout
-containersize 6956
-containerchecksum d25c6fecbff2add515bfde232e6f670d5234c17800f43ba14ce01fa32f1ae946f9cb8ab85b4eb112ab148deccf3680e32e397c3c98f8027797f54965e379e7b8
+containersize 6968
+containerchecksum 2e8c1d47eaefd279823949a851f8803961ce5225754962456be484f9bf277afc43d9333c06c3f08e5bbd1d249de111de0a1f61d7fde56fdc1aee533f70ab22dd
name collection-latexrecommended
category Collection
@@ -117246,25 +117250,25 @@ catalogue-version 1.1
name exesheet
category Package
-revision 68073
+revision 68192
shortdesc Typesetting exercise or exam sheets
relocated 1
longdesc This package is used for typesetting exercise or exam sheets.
longdesc In addition, the exesheet class loads the schooldocs package.
-longdesc The package provides: macros to mark out exercises and
+longdesc The package provides: macros for organizing exercises and
longdesc subparts, specific settings for enumeration lists, environments
-longdesc for questions and answers, with conditional display, macros for
-longdesc marking schemes with detailed comments.
-containersize 6024
-containerchecksum 19a5185d26cd88f1e4ce3153c99d4946cee04c8ad37891c58f11ca4a4aa5a5f580e09e73b52619e8237eb9c4db90c04142efe2b1fd04fcfc6581b8796d9582ee
-doccontainersize 226800
-doccontainerchecksum 767c0bb1677fd13decbc4a7a41de2e8d1575bff95f5b6cc927a9cb2755c1e1b16ef8bf695e3aff445180a09e8117ecd4f916a04d9d4e44c89804c25e5aab0735
+longdesc for questions and answers, with conditional display, macros to
+longdesc display a marking scheme with detailed comments in the margins.
+containersize 6072
+containerchecksum dbd81beee850f0bbcb129cc81d68aefce0ff5f2587e08f3461d48f3b522ffb713f65dd7dda0b467cb94aff553574716967ed9245f7ba8a6e2cc849ca169cfc85
+doccontainersize 227648
+doccontainerchecksum 42f60eb70ee3665a99d3eb36f18e916b097b0dbed2794a692023a32bd968a0c1b0640576883832e82e8d18794c4e666b8d30f14688c14fd100c62b3a2c69d1af
docfiles size=73
RELOC/doc/latex/exesheet/README.md details="Readme"
RELOC/doc/latex/exesheet/exesheet.pdf details="Package documentation"
-srccontainersize 23964
-srccontainerchecksum 017a2efaee3a77b4e16fb974fb359335c11b8791f488eee19728010dabc84409c9c29c505200095dd4a7fb4aeb7d3e10f26062aed43c6eb18e5b953bf2c0307e
-srcfiles size=25
+srccontainersize 24476
+srccontainerchecksum c8ef2688fc765fcaac9a73c077147da7af0e85dcb31af166e09d58edd178a4d31d297a8300ccb2302a5ed2c1f6fa626f00c4074e4e103ff8b807caa71f4f1ed8
+srcfiles size=26
RELOC/source/latex/exesheet/exesheet.dtx
RELOC/source/latex/exesheet/exesheet.ins
runfiles size=9
@@ -117274,7 +117278,7 @@ catalogue-also schooldocs
catalogue-ctan /macros/latex/contrib/exesheet
catalogue-license lppl1.3
catalogue-topics exam exercise teaching class
-catalogue-version 2.1
+catalogue-version 2.2
name exframe
category Package
@@ -235387,7 +235391,7 @@ catalogue-version 3.0.0
name numerica-tables
category Package
-revision 68020
+revision 68193
shortdesc Create multi-column tables of mathematical functions
relocated 1
longdesc The package defines a command to create possibly multi-column
@@ -235395,20 +235399,20 @@ longdesc tables of mathematical function values. Key = value settings
longdesc produce a wide variety of table styles consistent with the
longdesc booktabs package (required). Also required are the packages
longdesc numerica, l3kernel, l3packages, amsmath and mathtools.
-containersize 7624
-containerchecksum 8cf6e86b2c69774164c058771c2208b57b4f05a90e8bba6226cdd26c18539abed4b3ef631c41cc047d6ff9884935b78272e9d362d681294a43a6b18b81b550e2
-doccontainersize 628988
-doccontainerchecksum 36398b70b55ff437178275a7368cdad729e4f340686bbd0ce8748f20e9370fe0726caecd3e908d9023d225cbe46da9e21e87c9171831bdfc14489b560f47bbd7
-docfiles size=202
+containersize 7948
+containerchecksum 1244ae95394a7e28ff9281d1eb4f81de88a7e83e7dc880ad6c185591b2aeb3fb826113f83881811e19385aad5dceecb79d99fcab53f6d313b63b31235228643a
+doccontainersize 662428
+doccontainerchecksum f926645cf5f512dc655e46f6fdeb54b5c12050d66e9408690e0980843a291d2056a51915a44f2fbef6564f85344eea46ecbbf1859d79443952e989e6b8ad5e07
+docfiles size=223
RELOC/doc/latex/numerica-tables/README.txt details="Readme"
RELOC/doc/latex/numerica-tables/numerica-tables.pdf details="Package documentation"
RELOC/doc/latex/numerica-tables/numerica-tables.tex
-runfiles size=12
+runfiles size=13
RELOC/tex/latex/numerica-tables/numerica-tables.sty
catalogue-ctan /macros/latex/contrib/numerica-tables
catalogue-license lppl1.3c
catalogue-topics maths calculation expl3
-catalogue-version 3.0.0
+catalogue-version 3.1.0
name numericplots
category Package
@@ -277447,6 +277451,34 @@ catalogue-ctan /fonts/roboto
catalogue-license apache2 ofl lppl
catalogue-topics font font-body font-proportional font-mono font-sans font-serif font-multilingual font-greek font-type1 font-otf font-supp font-t1enc
+name robust-externalize
+category Package
+revision 68194
+shortdesc Cache anything (TikZ, python, ...) in a robust, efficient and pure way
+relocated 1
+longdesc This package provides a LaTeX library to cache anything (TikZ,
+longdesc python, ...), in a robust, efficient and pure way. We also
+longdesc provide a template system with placeholders to provide
+longdesc configurable templates. For more information, see the
+longdesc documentation and the github repository.
+containersize 13408
+containerchecksum 31472e3e02d1ba2dfe8416d015ac9597b946e2209e0467adee2df49f7e2bcd471c9e40ae6cd277fd6df0889b8dd432fdc4cf582d4ebfc9cfe33eab23eef39337
+doccontainersize 414592
+doccontainerchecksum 0c6b8ce6d08881a9a8f14d9e9e884c887033f234b3fb72abe42776a82e419af6cce3f7f3627b6cd07936b703fa27c11363043a670e2dcf5f34328982549180ba
+docfiles size=140
+ RELOC/doc/latex/robust-externalize/README.md details="Readme"
+ RELOC/doc/latex/robust-externalize/robust-externalize.pdf details="Package documentation"
+ RELOC/doc/latex/robust-externalize/robust-externalize.tex
+runfiles size=14
+ RELOC/tex/latex/robust-externalize/robust-externalize.sty
+catalogue-contact-announce https://github.com/leo-colisson/robust-externalize/releases
+catalogue-contact-bugs https://github.com/leo-colisson/robust-externalize/issues
+catalogue-contact-repository https://github.com/leo-colisson/robust-externalize/
+catalogue-ctan /macros/latex/contrib/robust-externalize
+catalogue-license mit
+catalogue-topics compilation expl3
+catalogue-version 1.0
+
name robustcommand
category Package
revision 15878
@@ -314972,7 +315004,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 68178
+revision 68190
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -314980,10 +315012,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 114120
-containerchecksum 677be8ff52960b6427a0cf5b780b0c5d943a5e0757ad5f61f74609eda45a9a572b352611fb5c1de82b47ec51f555fd2919f0ad4f977229e430ee9d758e9b580e
-doccontainersize 429060
-doccontainerchecksum 0579665ff3a67f517bfe4b7d8566419261b3dcdf5ffbdadd9a7584b7ee35eec64061bee81bb72f352a576d74f7c26561ea3f1ea43260df705ce41f649e1dbdab
+containersize 114076
+containerchecksum 0a6d9f545ef831745a4a2a2001c7938cacf4dad3df6ca33e3dad9cc4a4d8830a899b846f32c9e29567b93db0069694b15c96e96c5d6c84e644f3f3eebe19d119
+doccontainersize 429192
+doccontainerchecksum d95dd31efee5819f77605b031e81610e635f0a9444adb21fac9ce31b3c9b165d579e8ad8affc84bd62e7d667027031f9b77b5caf857df30594b310c4dd60ea52
docfiles size=549
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 12be9aae75..8754768103 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-e62bf87a3e6f7dfd5f67a213672c4c6a texlive.tlpdb
+2f8cd77359a68ab8b5f32195ee8941fb texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 0eea28f558..769efebc67 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-142503362aa313e1637d81291c3a196f7244fa6bdab889e6adc2f89cafde038dba9e04153c08e79de304097331a703e2d6428ce8a4765a5f7c3d4f0229b1dc2d texlive.tlpdb
+ac5d91fb97249fe7359660e4f67ddae1b6d2eaf795db73215f79066f5ac176fa79b6f5e27221dc0e669e50185c412325e35808f53f7069a965e2f34008e454e4 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index eda416c17c..b75b617725 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmT3vYAACgkQTOGHfhlD
-jHAyugf/Z113oaaMSwM6LjF2p7nx76beG0ZyUJxT/F2JYfxTvOvdpQXHgwNlk/H/
-RucLpbJUVIASctg8qPTpr8fEjz2sw1UNVCeW2whSFA9x7JT/cFXoeNBFBKQZyAXE
-XTyVjZbSqFZl/HnqjRg5lMVRZIIU22g6KQtFYt4lXc4TccA5POUbGFamBDmQ0JOU
-xecmhJOep8bDqoJztLTRtSBUk2lKBo4oAQtokYdyLSTYUUudWf+hYKSb4CdrVa68
-jsUS4rI5+tMkN/urCENMRKOFWkZRBSl/cPy71VmW4WSAqy6PLG6dFl3Isp0t29Hu
-uEqLhHgxdHa/fSfY4XZc47WZoM1v7Q==
-=qE3I
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmT5DwIACgkQTOGHfhlD
+jHBjpwf8CKy3ui/ulvS3Xly0njaNAoMmr7OuVBM2RbTk15ijVps8QAz//T5jeOEt
+W1noghzwSerja/x8TDEadBgCAQkhmMbJ5BbskiTZwO50bCMvDqPEpqOo85mz7/us
+CXtZxjUux38XPlJqmk+WZec4+4MtDRuYbjOOSfY9W5IiFCIzqWYeT50U2X24DTTj
+f5iER6p72fbFBRpjpHjvejkVIvgBwFFkyqp6+UhRfCWi2ABiD5j/N8QJ8ieoYSsz
+2FKS9x66xFvXg5/LcQpTln4qi5Smb1Icmcejb3BVsCsfIBybUwfput2dhOCWi9xB
+nccDhcUFJ2NI0xmDbxEHJfnXG2AX9g==
+=4JRC
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 70e46f6c97..e15ab2f782 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index 75618689ad..bf838c1a26 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2023-09-06-02-02
+2023-09-07-02-02
diff --git a/usergrps/usergrps/cz.html b/usergrps/usergrps/cz.html
index 2b31a6dc71..9fb89f6cb9 100644
--- a/usergrps/usergrps/cz.html
+++ b/usergrps/usergrps/cz.html
@@ -196,7 +196,7 @@ Czech Republic
<th>
<th>
<th class="r">
- <a href="lugs/cz">download data</a>
+ <a href="https://www.ntg.nl/lug/lugs/cz">download data</a>
<th>
<tr>
<td>
@@ -306,7 +306,7 @@ Czech Republic
<p id="copyright">&copy; NTG - last changed on
-2023-07-08 16:11:09 CEST
+2023-09-05 22:21:53 CEST
</div></body></html>