summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-07-22 03:01:06 +0000
committerNorbert Preining <norbert@preining.info>2021-07-22 03:01:06 +0000
commitc43a0b49bea6195daa6423809f4339d538b5c8d9 (patch)
tree88ebc40586174a8ad651baa8020266c4070f39e3
parentd06b4118c72d0c81fc0760e24add55e808471dbc (diff)
CTAN sync 202107220301
-rw-r--r--FILES.byname654
-rw-r--r--FILES.byname.gzbin2329752 -> 2329848 bytes
-rw-r--r--FILES.last07days692
-rwxr-xr-xfonts/utilities/fontools/bin/afm2afm4
-rwxr-xr-xfonts/utilities/fontools/bin/autoinst99
-rwxr-xr-xfonts/utilities/fontools/bin/ot2kpx4
-rwxr-xr-xfonts/utilities/fontools/bin/splitttc4
-rw-r--r--fonts/utilities/fontools/doc/afm2afm.pdfbin27065 -> 27053 bytes
-rw-r--r--fonts/utilities/fontools/doc/autoinst.pdfbin69654 -> 69866 bytes
-rw-r--r--fonts/utilities/fontools/doc/ot2kpx.pdfbin27441 -> 27426 bytes
-rw-r--r--fonts/utilities/fontools/doc/splitttc.pdfbin20583 -> 20571 bytes
-rw-r--r--macros/generic/texdimens/README.md258
-rw-r--r--macros/generic/texdimens/texdimens.sty2
-rw-r--r--macros/generic/texdimens/texdimens.tex308
-rw-r--r--macros/generic/xstring/README4
-rw-r--r--macros/generic/xstring/test_etex.pdfbin99780 -> 99781 bytes
-rw-r--r--macros/generic/xstring/test_latex.pdfbin150611 -> 155263 bytes
-rw-r--r--macros/generic/xstring/xstring-en.pdfbin187648 -> 199536 bytes
-rw-r--r--macros/generic/xstring/xstring-en.tex2
-rw-r--r--macros/generic/xstring/xstring-fr.pdfbin201920 -> 215317 bytes
-rw-r--r--macros/generic/xstring/xstring-fr.tex2
-rw-r--r--macros/generic/xstring/xstring.tex343
-rw-r--r--macros/latex/contrib/lipsum/CHANGELOG.md39
-rw-r--r--macros/latex/contrib/lipsum/DEPENDS.txt1
-rw-r--r--macros/latex/contrib/lipsum/lipsum-cicero.txt2219
-rw-r--r--macros/latex/contrib/lipsum/lipsum-cs.txt1457
-rw-r--r--macros/latex/contrib/lipsum/lipsum-la.txt1520
-rw-r--r--macros/latex/contrib/lipsum/lipsum.dtx6391
-rw-r--r--macros/latex/contrib/lipsum/lipsum.ins65
-rw-r--r--macros/latex/contrib/lipsum/lipsum.pdfbin812071 -> 644963 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md16
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/README.md2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx110
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdfbin947374 -> 949513 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx205
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdfbin588657 -> 594809 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx31
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdfbin573839 -> 577451 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdfbin527212 -> 527225 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdfbin547968 -> 548003 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdfbin531008 -> 531031 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdfbin534217 -> 534245 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx16
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdfbin526297 -> 526426 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdfbin576394 -> 576432 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdfbin505648 -> 505665 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdfbin739355 -> 739384 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdfbin553295 -> 553454 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx13
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdfbin658998 -> 658859 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdfbin663954 -> 664002 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdfbin518377 -> 518408 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx16
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdfbin435902 -> 418445 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx103
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdfbin552844 -> 537047 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx8
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdfbin422433 -> 421608 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdfbin446514 -> 446478 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty20
-rw-r--r--macros/latex/contrib/to-be-determined/to-be-determined.pdfbin183512 -> 183126 bytes
-rw-r--r--macros/latex/contrib/to-be-determined/to-be-determined.sty6
-rw-r--r--macros/latex/contrib/to-be-determined/to-be-determined.tex2
-rw-r--r--macros/latex/contrib/ut-thesis/README8
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.dtx20
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.ins9
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.pdfbin116669 -> 142544 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb127
-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.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2324392 -> 2321548 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--timestamp2
91 files changed, 8231 insertions, 6630 deletions
diff --git a/FILES.byname b/FILES.byname
index d4aeebe3d4..5902de54df 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5100,7 +5100,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
-2021/07/20 | 122326 | FILES.last07days
+2021/07/21 | 117275 | FILES.last07days
2020/08/14 | 104065 | fonts/academicons/academicons.pdf
2020/08/14 | 17247 | fonts/academicons/academicons.sty
2020/08/14 | 6546 | fonts/academicons/academicons.tex
@@ -131726,28 +131726,28 @@
1995/01/27 | 48128 | fonts/utilities/fontload/vms/subfont.exe-alpha
1995/01/27 | 89600 | fonts/utilities/fontload/vms/subfont.exe-vax
2007/11/24 | 136238 | fonts/utilities/fontload.zip
-2021/04/01 | 13334 | fonts/utilities/fontools/bin/afm2afm
-2021/04/01 | 159316 | fonts/utilities/fontools/bin/autoinst
-2021/04/01 | 27582 | fonts/utilities/fontools/bin/ot2kpx
-2021/04/01 | 9480 | fonts/utilities/fontools/bin/splitttc
-2021/04/01 | 27065 | fonts/utilities/fontools/doc/afm2afm.pdf
-2021/04/01 | 69654 | fonts/utilities/fontools/doc/autoinst.pdf
-2021/04/01 | 27441 | fonts/utilities/fontools/doc/ot2kpx.pdf
-2021/04/01 | 20583 | fonts/utilities/fontools/doc/splitttc.pdf
-2021/04/01 | 17997 | fonts/utilities/fontools/GPLv2.txt
-2021/04/01 | 3003 | fonts/utilities/fontools/README
-2021/04/01 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc
-2021/04/01 | 2855 | fonts/utilities/fontools/share/fontools_ly1.enc
-2021/04/01 | 2248 | fonts/utilities/fontools/share/fontools_oml.enc
-2021/04/01 | 2587 | fonts/utilities/fontools/share/fontools_ot1.enc
-2021/04/01 | 2815 | fonts/utilities/fontools/share/fontools_t1.enc
-2021/04/01 | 2907 | fonts/utilities/fontools/share/fontools_t2a.enc
-2021/04/01 | 3729 | fonts/utilities/fontools/share/fontools_t2b.enc
-2021/04/01 | 3651 | fonts/utilities/fontools/share/fontools_t2c.enc
-2021/04/01 | 2656 | fonts/utilities/fontools/share/fontools_t3.enc
-2021/04/01 | 3080 | fonts/utilities/fontools/share/fontools_ts1.enc
-2021/04/01 | 2751 | fonts/utilities/fontools/share/fontools_ts3.enc
-2021/04/01 | 204110 | fonts/utilities/fontools.zip
+2021/07/21 | 13334 | fonts/utilities/fontools/bin/afm2afm
+2021/07/21 | 160879 | fonts/utilities/fontools/bin/autoinst
+2021/07/21 | 27582 | fonts/utilities/fontools/bin/ot2kpx
+2021/07/21 | 9480 | fonts/utilities/fontools/bin/splitttc
+2021/07/21 | 27053 | fonts/utilities/fontools/doc/afm2afm.pdf
+2021/07/21 | 69866 | fonts/utilities/fontools/doc/autoinst.pdf
+2021/07/21 | 27426 | fonts/utilities/fontools/doc/ot2kpx.pdf
+2021/07/21 | 20571 | fonts/utilities/fontools/doc/splitttc.pdf
+2021/07/21 | 17997 | fonts/utilities/fontools/GPLv2.txt
+2021/07/21 | 3003 | fonts/utilities/fontools/README
+2021/07/21 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc
+2021/07/21 | 2855 | fonts/utilities/fontools/share/fontools_ly1.enc
+2021/07/21 | 2248 | fonts/utilities/fontools/share/fontools_oml.enc
+2021/07/21 | 2587 | fonts/utilities/fontools/share/fontools_ot1.enc
+2021/07/21 | 2815 | fonts/utilities/fontools/share/fontools_t1.enc
+2021/07/21 | 2907 | fonts/utilities/fontools/share/fontools_t2a.enc
+2021/07/21 | 3729 | fonts/utilities/fontools/share/fontools_t2b.enc
+2021/07/21 | 3651 | fonts/utilities/fontools/share/fontools_t2c.enc
+2021/07/21 | 2656 | fonts/utilities/fontools/share/fontools_t3.enc
+2021/07/21 | 3080 | fonts/utilities/fontools/share/fontools_ts1.enc
+2021/07/21 | 2751 | fonts/utilities/fontools/share/fontools_ts3.enc
+2021/07/21 | 204731 | fonts/utilities/fontools.zip
2007/11/26 | 1775673 | fonts/utilities/freetype/freetype-2.3.5.tar.gz
2007/11/26 | 189 | fonts/utilities/freetype/freetype-2.3.5.tar.gz.sig
2007/11/26 | 117706 | fonts/utilities/freetype/freetype-doc-2.3.5.tar.gz
@@ -187746,11 +187746,11 @@
2018/12/08 | 2244 | macros/generic/texdate/texdate.ins
2018/12/08 | 251821 | macros/generic/texdate/texdate.pdf
2018/12/09 | 268811 | macros/generic/texdate.zip
-2021/07/15 | 596 | macros/generic/texdimens/LICENSE.md
-2021/07/15 | 20693 | macros/generic/texdimens/README.md
-2021/07/15 | 277 | macros/generic/texdimens/texdimens.sty
-2021/07/15 | 11329 | macros/generic/texdimens/texdimens.tex
-2021/07/15 | 10369 | macros/generic/texdimens.zip
+2021/07/21 | 596 | macros/generic/texdimens/LICENSE.md
+2021/07/21 | 21431 | macros/generic/texdimens/README.md
+2021/07/21 | 272 | macros/generic/texdimens/texdimens.sty
+2021/07/21 | 16725 | macros/generic/texdimens/texdimens.tex
+2021/07/21 | 12206 | macros/generic/texdimens.zip
2008/11/11 | 1043 | macros/generic/tex-ewd/bsdlic.txt
2008/11/10 | 7400 | macros/generic/tex-ewd/dotnot.tex
2008/11/11 | 16442 | macros/generic/tex-ewd/p0.tex
@@ -187980,18 +187980,18 @@
2020/11/11 | 719 | macros/generic/xlop/tex/xlop.sty
2020/11/11 | 126743 | macros/generic/xlop/tex/xlop.tex
2020/11/11 | 609317 | macros/generic/xlop.zip
-2019/02/04 | 3828 | macros/generic/xstring/README
-2019/02/01 | 99780 | macros/generic/xstring/test_etex.pdf
-2019/02/01 | 37798 | macros/generic/xstring/test_etex.tex
-2019/02/01 | 150611 | macros/generic/xstring/test_latex.pdf
-2019/02/01 | 41390 | macros/generic/xstring/test_latex.tex
-2019/02/05 | 187648 | macros/generic/xstring/xstring-en.pdf
-2019/02/02 | 91078 | macros/generic/xstring/xstring-en.tex
-2019/02/05 | 201920 | macros/generic/xstring/xstring-fr.pdf
-2019/02/01 | 103754 | macros/generic/xstring/xstring-fr.tex
-2018/12/03 | 123 | macros/generic/xstring/xstring.sty
-2019/02/05 | 47762 | macros/generic/xstring/xstring.tex
-2019/02/05 | 685405 | macros/generic/xstring.zip
+2021/07/21 | 3828 | macros/generic/xstring/README
+2021/07/21 | 99781 | macros/generic/xstring/test_etex.pdf
+2021/07/21 | 37798 | macros/generic/xstring/test_etex.tex
+2021/07/21 | 155263 | macros/generic/xstring/test_latex.pdf
+2021/07/21 | 41390 | macros/generic/xstring/test_latex.tex
+2021/07/21 | 199536 | macros/generic/xstring/xstring-en.pdf
+2021/07/21 | 91079 | macros/generic/xstring/xstring-en.tex
+2021/07/21 | 215317 | macros/generic/xstring/xstring-fr.pdf
+2021/07/21 | 103753 | macros/generic/xstring/xstring-fr.tex
+2021/07/21 | 123 | macros/generic/xstring/xstring.sty
+2021/07/21 | 48190 | macros/generic/xstring/xstring.tex
+2021/07/21 | 713300 | macros/generic/xstring.zip
2011/01/22 | 845 | macros/generic/yax/README
2011/01/22 | 654 | macros/generic/yax/t-yax.tex
2011/01/22 | 113177 | macros/generic/yax/yax-doc.pdf
@@ -204983,11 +204983,16 @@
2019/05/15 | 203 | macros/latex/contrib/lion-msc/minimal.tex
2020/06/03 | 677 | macros/latex/contrib/lion-msc/README.md
2020/06/04 | 1588710 | macros/latex/contrib/lion-msc.zip
-2021/03/03 | 308958 | macros/latex/contrib/lipsum/lipsum.dtx
-2021/03/03 | 2330 | macros/latex/contrib/lipsum/lipsum.ins
-2021/03/03 | 812071 | macros/latex/contrib/lipsum/lipsum.pdf
-2021/03/03 | 1525 | macros/latex/contrib/lipsum/README.txt
-2021/03/04 | 902430 | macros/latex/contrib/lipsum.zip
+2021/07/20 | 1368 | macros/latex/contrib/lipsum/CHANGELOG.md
+2021/07/20 | 14 | macros/latex/contrib/lipsum/DEPENDS.txt
+2021/07/20 | 134671 | macros/latex/contrib/lipsum/lipsum-cicero.txt
+2021/07/20 | 98064 | macros/latex/contrib/lipsum/lipsum-cs.txt
+2021/07/20 | 55662 | macros/latex/contrib/lipsum/lipsum.dtx
+2021/07/20 | 3735 | macros/latex/contrib/lipsum/lipsum.ins
+2021/07/20 | 91127 | macros/latex/contrib/lipsum/lipsum-la.txt
+2021/07/20 | 644963 | macros/latex/contrib/lipsum/lipsum.pdf
+2021/07/20 | 1525 | macros/latex/contrib/lipsum/README.txt
+2021/07/21 | 774697 | macros/latex/contrib/lipsum.zip
2015/10/25 | 11875 | macros/latex/contrib/lisp-on-tex/examples/div2.pdf
2015/10/25 | 973 | macros/latex/contrib/lisp-on-tex/examples/div2.tex
2015/10/25 | 36632 | macros/latex/contrib/lisp-on-tex/examples/fact.pdf
@@ -208808,54 +208813,54 @@
2019/12/05 | 299397 | macros/latex/contrib/pdflscape/pdflscape.pdf
2019/12/05 | 170 | macros/latex/contrib/pdflscape/README.md
2019/12/06 | 301872 | macros/latex/contrib/pdflscape.zip
-2021/06/29 | 3305 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
-2021/06/29 | 7728 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
-2021/06/29 | 172566 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
-2021/06/29 | 947374 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
-2021/06/29 | 4212 | macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
-2021/06/29 | 53204 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
-2021/06/29 | 588657 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
-2021/06/29 | 26394 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
-2021/06/29 | 573839 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
-2021/06/29 | 17429 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
-2021/06/29 | 527212 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
-2021/06/29 | 26672 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
-2021/06/29 | 547968 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
-2021/06/29 | 18289 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
-2021/06/29 | 531008 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
-2021/06/29 | 20556 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
-2021/06/29 | 534217 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
-2021/06/29 | 67782 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
-2021/06/29 | 739355 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
-2021/06/29 | 25885 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
-2021/06/29 | 526297 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
-2021/06/29 | 27438 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
-2021/06/29 | 576394 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
-2021/06/29 | 22113 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
-2021/06/29 | 505648 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
-2021/06/29 | 28041 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
-2021/06/29 | 553295 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
-2021/06/29 | 55323 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
-2021/06/29 | 658998 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
-2021/06/29 | 30568 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
-2021/06/29 | 663954 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
-2021/06/29 | 15784 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
-2021/06/29 | 518377 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
-2021/06/29 | 6306 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
-2021/06/29 | 435902 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
-2021/06/25 | 4041 | macros/latex/contrib/pdfmanagement-testphase/l3ref-tmp.sty
-2021/06/29 | 12476 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
-2021/06/29 | 552844 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
-2021/06/29 | 1822 | macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
-2021/06/29 | 11265 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
-2021/06/29 | 422433 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
-2021/06/29 | 17807 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+2021/07/21 | 3872 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+2021/07/21 | 7728 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+2021/07/21 | 173339 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+2021/07/21 | 949513 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+2021/07/21 | 4212 | macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
+2021/07/21 | 57218 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+2021/07/21 | 594809 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+2021/07/21 | 27837 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+2021/07/21 | 577451 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+2021/07/21 | 17429 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+2021/07/21 | 527225 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+2021/07/21 | 26672 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+2021/07/21 | 548003 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+2021/07/21 | 18289 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+2021/07/21 | 531031 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+2021/07/21 | 20556 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+2021/07/21 | 534245 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+2021/07/21 | 67782 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+2021/07/21 | 739384 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+2021/07/21 | 26662 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+2021/07/21 | 526426 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+2021/07/21 | 27438 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+2021/07/21 | 576432 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+2021/07/21 | 22113 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+2021/07/21 | 505665 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+2021/07/21 | 28041 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+2021/07/21 | 553454 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+2021/07/21 | 55200 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+2021/07/21 | 658859 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+2021/07/21 | 30568 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+2021/07/21 | 664002 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+2021/07/21 | 15784 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+2021/07/21 | 518408 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+2021/07/21 | 6549 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+2021/07/21 | 418445 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+2021/06/29 | 4041 | macros/latex/contrib/pdfmanagement-testphase/l3ref-tmp.sty
+2021/07/21 | 15944 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+2021/07/21 | 537047 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+2021/07/21 | 1822 | macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
+2021/07/21 | 11151 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+2021/07/21 | 421608 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+2021/07/21 | 17807 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
2021/06/14 | 4760 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
-2021/06/29 | 446514 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
-2021/06/29 | 1195 | macros/latex/contrib/pdfmanagement-testphase/README.md
-2021/06/29 | 580 | macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
-2021/06/29 | 3797 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
-2021/06/29 | 10676982 | macros/latex/contrib/pdfmanagement-testphase.zip
+2021/07/21 | 446478 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+2021/07/21 | 1195 | macros/latex/contrib/pdfmanagement-testphase/README.md
+2021/07/21 | 580 | macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
+2021/07/21 | 3959 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+2021/07/21 | 10657849 | macros/latex/contrib/pdfmanagement-testphase.zip
2011/05/05 | 156 | macros/latex/contrib/pdfmarginpar/doc/pdfmarginparexample.aux
2011/05/05 | 3368 | macros/latex/contrib/pdfmarginpar/doc/pdfmarginparexample.log
2011/05/05 | 64982 | macros/latex/contrib/pdfmarginpar/doc/pdfmarginparexample.pdf
@@ -215766,12 +215771,12 @@
2019/06/20 | 14652 | macros/latex/contrib/tlc-article/tlc-article.tex
2019/06/20 | 24 | macros/latex/contrib/tlc-article/tlc-article.texx
2019/06/23 | 444208 | macros/latex/contrib/tlc-article.zip
-2021/07/15 | 35 | macros/latex/contrib/to-be-determined/DEPENDS.txt
-2021/07/15 | 1298 | macros/latex/contrib/to-be-determined/README.md
-2021/07/15 | 183512 | macros/latex/contrib/to-be-determined/to-be-determined.pdf
-2021/07/15 | 1588 | macros/latex/contrib/to-be-determined/to-be-determined.sty
-2021/07/15 | 2448 | macros/latex/contrib/to-be-determined/to-be-determined.tex
-2021/07/15 | 186901 | macros/latex/contrib/to-be-determined.zip
+2021/07/21 | 35 | macros/latex/contrib/to-be-determined/DEPENDS.txt
+2021/07/21 | 1298 | macros/latex/contrib/to-be-determined/README.md
+2021/07/21 | 183126 | macros/latex/contrib/to-be-determined/to-be-determined.pdf
+2021/07/21 | 1590 | macros/latex/contrib/to-be-determined/to-be-determined.sty
+2021/07/21 | 2448 | macros/latex/contrib/to-be-determined/to-be-determined.tex
+2021/07/21 | 186502 | macros/latex/contrib/to-be-determined.zip
2010/10/13 | 3382 | macros/latex/contrib/tocbibind/README
2010/10/13 | 44060 | macros/latex/contrib/tocbibind/tocbibind.dtx
2010/10/13 | 2497 | macros/latex/contrib/tocbibind/tocbibind.ins
@@ -221011,14 +221016,14 @@
1995/11/22 | 4779 | macros/latex/contrib/utthesis/ICDE-11/runtime_Q8.ps
1995/11/22 | 309 | macros/latex/contrib/utthesis/ICDE-11/stretch.sty
1994/12/27 | 38982 | macros/latex/contrib/utthesis/prairie.tar.gz
-2021/05/04 | 1510 | macros/latex/contrib/ut-thesis/README
+2021/07/21 | 1677 | macros/latex/contrib/ut-thesis/README
1994/12/23 | 254682 | macros/latex/contrib/utthesis/tr94-16.ps
1995/01/01 | 7583 | macros/latex/contrib/utthesis/utthesis.doc
-2021/05/04 | 19510 | macros/latex/contrib/ut-thesis/ut-thesis.dtx
-2021/03/11 | 1721 | macros/latex/contrib/ut-thesis/ut-thesis.ins
-2021/05/04 | 116669 | macros/latex/contrib/ut-thesis/ut-thesis.pdf
+2021/07/21 | 19509 | macros/latex/contrib/ut-thesis/ut-thesis.dtx
+2021/07/21 | 1841 | macros/latex/contrib/ut-thesis/ut-thesis.ins
+2021/07/21 | 142544 | macros/latex/contrib/ut-thesis/ut-thesis.pdf
1995/05/22 | 25294 | macros/latex/contrib/utthesis/utthesis.sty
-2021/05/04 | 123154 | macros/latex/contrib/ut-thesis.zip
+2021/07/21 | 146946 | macros/latex/contrib/ut-thesis.zip
2005/04/27 | 638510 | macros/latex/contrib/utthesis.zip
2000/09/27 | 16593 | macros/latex/contrib/uwmslide/logo.eps
2002/10/30 | 7959 | macros/latex/contrib/uwmslide/README
@@ -266833,9 +266838,9 @@
2021/02/07 | 147984 | systems/texlive/tlnet/archive/babel-finnish.doc.r57643.tar.xz
2021/02/07 | 2416 | systems/texlive/tlnet/archive/babel-finnish.r57643.tar.xz
2021/02/07 | 6224 | systems/texlive/tlnet/archive/babel-finnish.source.r57643.tar.xz
-2020/10/10 | 502492 | systems/texlive/tlnet/archive/babel-french.doc.r56607.tar.xz
-2020/10/10 | 15924 | systems/texlive/tlnet/archive/babel-french.r56607.tar.xz
-2020/10/10 | 56156 | systems/texlive/tlnet/archive/babel-french.source.r56607.tar.xz
+2021/07/21 | 507936 | systems/texlive/tlnet/archive/babel-french.doc.r59997.tar.xz
+2021/07/21 | 15876 | systems/texlive/tlnet/archive/babel-french.r59997.tar.xz
+2021/07/21 | 55972 | systems/texlive/tlnet/archive/babel-french.source.r59997.tar.xz
2019/02/28 | 138624 | systems/texlive/tlnet/archive/babel-friulan.doc.r39861.tar.xz
2019/02/28 | 1576 | systems/texlive/tlnet/archive/babel-friulan.r39861.tar.xz
2019/02/28 | 3456 | systems/texlive/tlnet/archive/babel-friulan.source.r39861.tar.xz
@@ -267391,16 +267396,15 @@
2021/02/27 | 5575912 | systems/texlive/tlnet/archive/bibtexu.amd64-freebsd.r57941.tar.xz
2021/02/24 | 5540660 | systems/texlive/tlnet/archive/bibtexu.amd64-netbsd.r57877.tar.xz
2021/02/27 | 5489928 | systems/texlive/tlnet/archive/bibtexu.armhf-linux.r57957.tar.xz
-2019/11/19 | 67480 | systems/texlive/tlnet/archive/bibtexu.doc.r52851.tar.xz
+2021/07/21 | 67484 | systems/texlive/tlnet/archive/bibtexu.doc.r60002.tar.xz
2021/03/16 | 5563796 | systems/texlive/tlnet/archive/bibtexu.i386-cygwin.r58387.tar.xz
2021/02/27 | 5533416 | systems/texlive/tlnet/archive/bibtexu.i386-freebsd.r57961.tar.xz
2021/02/24 | 5696092 | systems/texlive/tlnet/archive/bibtexu.i386-linux.r57878.tar.xz
2021/02/24 | 5504740 | systems/texlive/tlnet/archive/bibtexu.i386-netbsd.r57877.tar.xz
2021/02/27 | 5872712 | systems/texlive/tlnet/archive/bibtexu.i386-solaris.r57938.tar.xz
2021/02/25 | 177164 | systems/texlive/tlnet/archive/bibtex.universal-darwin.r57908.tar.xz
-2019/11/19 | 292 | systems/texlive/tlnet/archive/bibtexu.r52851.tar.xz
+2021/07/21 | 296 | systems/texlive/tlnet/archive/bibtexu.r60002.tar.xz
2021/02/25 | 11424936 | systems/texlive/tlnet/archive/bibtexu.universal-darwin.r57908.tar.xz
-2021/04/08 | 586696 | systems/texlive/tlnet/archive/bibtexu.win32.r58783.tar.xz
2021/03/16 | 5555712 | systems/texlive/tlnet/archive/bibtexu.x86_64-cygwin.r58387.tar.xz
2021/03/09 | 5536668 | systems/texlive/tlnet/archive/bibtexu.x86_64-darwinlegacy.r58231.tar.xz
2021/02/24 | 5665972 | systems/texlive/tlnet/archive/bibtexu.x86_64-linuxmusl.r57878.tar.xz
@@ -267791,9 +267795,9 @@
2019/02/28 | 542996 | systems/texlive/tlnet/archive/catcodes.doc.r38859.tar.xz
2019/02/28 | 6288 | systems/texlive/tlnet/archive/catcodes.r38859.tar.xz
2019/02/28 | 6940 | systems/texlive/tlnet/archive/catcodes.source.r38859.tar.xz
-2019/02/28 | 395344 | systems/texlive/tlnet/archive/catechis.doc.r49061.tar.xz
-2019/02/28 | 1664 | systems/texlive/tlnet/archive/catechis.r49061.tar.xz
-2019/02/28 | 6420 | systems/texlive/tlnet/archive/catechis.source.r49061.tar.xz
+2021/07/21 | 395736 | systems/texlive/tlnet/archive/catechis.doc.r59998.tar.xz
+2021/07/21 | 1660 | systems/texlive/tlnet/archive/catechis.r59998.tar.xz
+2021/07/21 | 6440 | systems/texlive/tlnet/archive/catechis.source.r59998.tar.xz
2019/02/28 | 19124 | systems/texlive/tlnet/archive/catoptions.doc.r35069.tar.xz
2019/02/28 | 37784 | systems/texlive/tlnet/archive/catoptions.r35069.tar.xz
2020/12/15 | 424340 | systems/texlive/tlnet/archive/causets.doc.r57139.tar.xz
@@ -268094,8 +268098,8 @@
2019/02/28 | 356 | systems/texlive/tlnet/archive/cjk-gs-integrate.x86_64-linuxmusl.r46840.tar.xz
2019/02/28 | 348 | systems/texlive/tlnet/archive/cjk-gs-integrate.x86_64-linux.r37223.tar.xz
2019/02/28 | 352 | systems/texlive/tlnet/archive/cjk-gs-integrate.x86_64-solaris.r37223.tar.xz
-2021/07/18 | 160592 | systems/texlive/tlnet/archive/cjk-ko.doc.r59958.tar.xz
-2021/07/18 | 8448 | systems/texlive/tlnet/archive/cjk-ko.r59958.tar.xz
+2021/07/21 | 160448 | systems/texlive/tlnet/archive/cjk-ko.doc.r59996.tar.xz
+2021/07/21 | 8728 | systems/texlive/tlnet/archive/cjk-ko.r59996.tar.xz
2019/02/28 | 143540 | systems/texlive/tlnet/archive/cjkpunct.doc.r41119.tar.xz
2019/02/28 | 4060 | systems/texlive/tlnet/archive/cjkpunct.r41119.tar.xz
2019/02/28 | 7020 | systems/texlive/tlnet/archive/cjkpunct.source.r41119.tar.xz
@@ -269631,9 +269635,9 @@
2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz
2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz
2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz
-2021/07/20 | 590124 | systems/texlive/tlnet/archive/easybook.doc.r59988.tar.xz
-2021/07/20 | 16036 | systems/texlive/tlnet/archive/easybook.r59988.tar.xz
-2021/07/20 | 36632 | systems/texlive/tlnet/archive/easybook.source.r59988.tar.xz
+2021/07/21 | 590152 | systems/texlive/tlnet/archive/easybook.doc.r59999.tar.xz
+2021/07/21 | 16024 | systems/texlive/tlnet/archive/easybook.r59999.tar.xz
+2021/07/21 | 36624 | systems/texlive/tlnet/archive/easybook.source.r59999.tar.xz
2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz
2020/09/08 | 175976 | systems/texlive/tlnet/archive/easyfig.doc.r56291.tar.xz
2020/09/08 | 1936 | systems/texlive/tlnet/archive/easyfig.r56291.tar.xz
@@ -276425,9 +276429,9 @@
2021/06/26 | 250232 | systems/texlive/tlnet/archive/siunits.doc.r59702.tar.xz
2021/06/26 | 6040 | systems/texlive/tlnet/archive/siunits.r59702.tar.xz
2021/06/26 | 34532 | systems/texlive/tlnet/archive/siunits.source.r59702.tar.xz
-2021/07/08 | 2859504 | systems/texlive/tlnet/archive/siunitx.doc.r59867.tar.xz
-2021/07/08 | 61448 | systems/texlive/tlnet/archive/siunitx.r59867.tar.xz
-2021/07/08 | 105828 | systems/texlive/tlnet/archive/siunitx.source.r59867.tar.xz
+2021/07/21 | 2858352 | systems/texlive/tlnet/archive/siunitx.doc.r60000.tar.xz
+2021/07/21 | 61424 | systems/texlive/tlnet/archive/siunitx.r60000.tar.xz
+2021/07/21 | 105756 | systems/texlive/tlnet/archive/siunitx.source.r60000.tar.xz
2019/02/28 | 200108 | systems/texlive/tlnet/archive/skak.doc.r46259.tar.xz
2019/02/28 | 316212 | systems/texlive/tlnet/archive/skaknew.doc.r20031.tar.xz
2019/02/28 | 160064 | systems/texlive/tlnet/archive/skaknew.r20031.tar.xz
@@ -277294,7 +277298,7 @@
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz
-2021/07/20 | 398880 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59985.tar.xz
+2021/07/21 | 398840 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59995.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
@@ -277318,7 +277322,7 @@
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz
-2021/07/20 | 108036 | systems/texlive/tlnet/archive/texlive-scripts.r59985.tar.xz
+2021/07/21 | 108048 | systems/texlive/tlnet/archive/texlive-scripts.r59995.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -279030,16 +279034,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
2021/05/02 | 105152 | systems/texlive/tlnet/install-tl
-2021/07/20 | 6811275 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/07/20 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/07/20 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/07/21 | 6811233 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/07/21 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/07/21 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2021/07/20 | 20810041 | systems/texlive/tlnet/install-tl-windows.exe
-2021/07/20 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/07/20 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/07/20 | 25585309 | systems/texlive/tlnet/install-tl.zip
-2021/07/20 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/07/20 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/07/21 | 20811264 | systems/texlive/tlnet/install-tl-windows.exe
+2021/07/21 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/07/21 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/07/21 | 25585318 | systems/texlive/tlnet/install-tl.zip
+2021/07/21 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/07/21 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2021/04/01 | 1229 | systems/texlive/tlnet/README.md
2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021
2021/07/03 | 7181 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -279049,7 +279053,7 @@
2021/07/03 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2021/07/02 | 49348 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2021/07/19 | 6911 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2021/07/20 | 6957 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/04/15 | 223687 | 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
@@ -279091,12 +279095,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/05/16 | 5402 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/05/16 | 27555 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2021/07/20 | 17328498 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/07/20 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/07/21 | 17328203 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/07/21 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/05/16 | 86511 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2021/07/20 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/07/20 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/07/20 | 2323748 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/07/21 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/07/21 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/07/21 | 2324392 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/05/16 | 58801 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2021/05/16 | 42084 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/05/16 | 16103 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -283948,7 +283952,7 @@
2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2021/07/20 | 591231 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/07/21 | 591231 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -285264,9 +285268,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2021/07/17 | 39091 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2021/07/17 | 43361 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/07/20 | 229193 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/07/20 | 1315413 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/07/20 | 1223153 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/07/21 | 229176 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/07/21 | 1315955 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/07/21 | 1223502 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/07/17 | 13442 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2021/07/17 | 14316 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -285459,189 +285463,189 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2021/07/20 | 591126 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/07/20 | 51111 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/07/20 | 56474 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/07/20 | 975018 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/07/20 | 1077988 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/07/20 | 29035 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/07/20 | 31350 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/07/20 | 29840 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/07/20 | 34665 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/07/20 | 50149 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/07/20 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/07/20 | 83540 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/07/20 | 95400 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/07/20 | 67818 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/07/20 | 75792 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/07/20 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/07/20 | 30823 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/07/20 | 330786 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/07/20 | 392793 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/07/20 | 32672 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/07/20 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/07/20 | 51308 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/07/20 | 56683 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/07/20 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/07/20 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/07/20 | 180010 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/07/20 | 195635 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/07/20 | 54631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/07/20 | 61811 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/07/20 | 21224 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/07/20 | 23363 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/07/20 | 461811 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/07/20 | 45904 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/07/20 | 51201 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/07/20 | 284578 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/07/20 | 325042 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/07/20 | 41192 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/07/20 | 45308 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/07/20 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/07/20 | 133863 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/07/20 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/07/20 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/07/20 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/07/20 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/07/20 | 43027 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/07/20 | 48248 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/07/20 | 25019 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/07/20 | 28179 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/07/20 | 56316 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/07/20 | 62784 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/07/20 | 136816 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/07/20 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/07/20 | 73195 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/07/20 | 77949 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/07/20 | 71667 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/07/20 | 80447 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/07/20 | 258879 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/07/20 | 295203 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/07/20 | 22049 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/07/20 | 24995 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/07/20 | 97338 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/07/20 | 112088 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/07/20 | 64427 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/07/20 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/07/20 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/07/20 | 115350 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/07/20 | 38140 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/07/20 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/07/20 | 483653 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/07/20 | 566526 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/07/20 | 147371 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/07/20 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/07/20 | 94799 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/07/20 | 109030 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/07/20 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/07/20 | 17979 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/07/20 | 28389 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/07/20 | 30057 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/07/20 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/07/20 | 681249 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/07/20 | 531850 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/07/20 | 596927 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/07/20 | 476918 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/07/20 | 510586 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/07/20 | 94308 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/07/20 | 103399 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/07/20 | 1713892 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/07/20 | 2009902 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/07/20 | 67618 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/07/20 | 74209 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/07/20 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/07/20 | 31619 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/07/20 | 7720 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/07/20 | 8767 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/07/20 | 196870 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/07/20 | 215248 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/07/20 | 250263 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/07/20 | 284023 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/07/20 | 98379 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/07/20 | 103200 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/07/20 | 60635 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/07/20 | 68022 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/07/20 | 124281 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/07/20 | 136820 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/07/20 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/07/20 | 196739 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/07/20 | 199732 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/07/20 | 180120 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/07/20 | 67482 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/07/20 | 76825 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/07/20 | 31228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/07/20 | 35084 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/07/20 | 37803 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/07/20 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/07/20 | 42890 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/07/20 | 46905 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/07/20 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/07/20 | 52523 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/07/20 | 194380 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/07/20 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/07/20 | 35690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/07/20 | 40228 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/07/20 | 744117 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/07/20 | 815240 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/07/20 | 198167 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/07/20 | 202795 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/07/20 | 208046 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/07/20 | 243425 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/07/20 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/07/20 | 87775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/07/20 | 1169717 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/07/20 | 1301191 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/07/20 | 20136 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/07/20 | 23901 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/07/20 | 31537 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/07/20 | 37238 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/07/20 | 64184 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/07/20 | 72205 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/07/20 | 50394 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/07/20 | 57725 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/07/20 | 1340929 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/07/20 | 1464201 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/07/20 | 42385 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/07/20 | 51748 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/07/20 | 56512 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/07/20 | 60038 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/07/20 | 25289 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/07/20 | 27391 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/07/20 | 16413 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/07/20 | 18177 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/07/20 | 63776 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/07/20 | 69913 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/07/20 | 154804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/07/20 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/07/20 | 57011 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/07/20 | 65785 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/07/20 | 98259 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/07/20 | 105222 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/07/20 | 2672608 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/07/20 | 2796725 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/07/20 | 56352 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/07/20 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/07/20 | 33544 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/07/20 | 37359 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/07/20 | 27728 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/07/20 | 33632 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/07/20 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/07/20 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/07/20 | 312106 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/07/20 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/07/20 | 55497 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/07/20 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/07/20 | 589841 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/07/20 | 624650 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/07/20 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/07/20 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/07/20 | 229233 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/07/20 | 1315124 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/07/20 | 1223339 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/07/20 | 13463 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/07/20 | 14347 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/07/21 | 591126 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/07/21 | 51110 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/07/21 | 56473 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/07/21 | 975017 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/07/21 | 1077989 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/07/21 | 29034 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/07/21 | 31350 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/07/21 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/07/21 | 34663 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/07/21 | 50151 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/07/21 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/07/21 | 83541 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/07/21 | 95399 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/07/21 | 67820 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/07/21 | 75790 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/07/21 | 27197 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/07/21 | 30822 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/07/21 | 330786 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/07/21 | 392792 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/07/21 | 32670 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/07/21 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/07/21 | 51308 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/07/21 | 56684 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/07/21 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/07/21 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/07/21 | 180009 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/07/21 | 195635 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/07/21 | 54632 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/07/21 | 61810 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/07/21 | 21222 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/07/21 | 23362 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/07/21 | 461813 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/07/21 | 45904 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/07/21 | 51200 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/07/21 | 284578 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/07/21 | 325041 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/07/21 | 41194 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/07/21 | 45309 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/07/21 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/07/21 | 133864 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/07/21 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/07/21 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/07/21 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/07/21 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/07/21 | 43025 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/07/21 | 48250 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/07/21 | 25018 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/07/21 | 28179 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/07/21 | 56316 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/07/21 | 62784 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/07/21 | 136815 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/07/21 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/07/21 | 73192 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/07/21 | 77949 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/07/21 | 71667 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/07/21 | 80446 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/07/21 | 258880 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/07/21 | 295202 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/07/21 | 22048 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/07/21 | 24993 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/07/21 | 97337 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/07/21 | 112085 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/07/21 | 64426 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/07/21 | 73145 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/07/21 | 96631 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/07/21 | 115349 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/07/21 | 38139 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/07/21 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/07/21 | 483652 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/07/21 | 566525 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/07/21 | 147370 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/07/21 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/07/21 | 94797 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/07/21 | 109027 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/07/21 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/07/21 | 17978 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/07/21 | 28389 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/07/21 | 30057 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/07/21 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/07/21 | 681250 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/07/21 | 531849 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/07/21 | 596929 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/07/21 | 476918 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/07/21 | 510585 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/07/21 | 94308 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/07/21 | 103398 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/07/21 | 1713894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/07/21 | 2009904 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/07/21 | 67617 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/07/21 | 74210 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/07/21 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/07/21 | 31619 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/07/21 | 7721 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/07/21 | 8767 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/07/21 | 196870 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/07/21 | 215246 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/07/21 | 250264 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/07/21 | 284024 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/07/21 | 98380 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/07/21 | 103201 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/07/21 | 60636 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/07/21 | 68022 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/07/21 | 124279 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/07/21 | 136818 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/07/21 | 178352 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/07/21 | 196739 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/07/21 | 199731 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/07/21 | 180119 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/07/21 | 67480 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/07/21 | 76825 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/07/21 | 31230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/07/21 | 35085 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/07/21 | 37804 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/07/21 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/07/21 | 42889 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/07/21 | 46905 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/07/21 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/07/21 | 52522 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/07/21 | 194380 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/07/21 | 206601 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/07/21 | 35689 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/07/21 | 40227 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/07/21 | 744116 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/07/21 | 815241 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/07/21 | 198169 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/07/21 | 202793 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/07/21 | 208047 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/07/21 | 243426 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/07/21 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/07/21 | 87775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/07/21 | 1169716 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/07/21 | 1301192 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/07/21 | 20135 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/07/21 | 23901 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/07/21 | 31534 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/07/21 | 37240 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/07/21 | 64182 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/07/21 | 72205 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/07/21 | 50393 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/07/21 | 57726 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/07/21 | 1340930 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/07/21 | 1464201 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/07/21 | 42384 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/07/21 | 51749 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/07/21 | 56512 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/07/21 | 60038 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/07/21 | 25290 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/07/21 | 27388 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/07/21 | 16412 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/07/21 | 18175 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/07/21 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/07/21 | 69913 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/07/21 | 154804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/07/21 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/07/21 | 57012 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/07/21 | 65785 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/07/21 | 98260 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/07/21 | 105218 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/07/21 | 2672609 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/07/21 | 2796725 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/07/21 | 56355 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/07/21 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/07/21 | 33544 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/07/21 | 37356 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/07/21 | 27727 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/07/21 | 33631 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/07/21 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/07/21 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/07/21 | 312105 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/07/21 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/07/21 | 55497 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/07/21 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/07/21 | 589845 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/07/21 | 624655 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/07/21 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/07/21 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/07/21 | 229240 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/07/21 | 1314594 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/07/21 | 1223434 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/07/21 | 13466 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/07/21 | 14348 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2021/07/20 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/07/21 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -286006,7 +286010,7 @@
2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2021/07/20 | 937 | systems/win32/miktex/tm/packages/pr.ini
+2021/07/21 | 937 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -287393,7 +287397,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2021/07/21 | 186 | timestamp
+2021/07/22 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 464ddc6936..8af4b94791 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 8b5b62d8db..c9f29f2158 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,277 +1,397 @@
-2021/07/20 | 98379 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/07/20 | 98259 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/07/21 | 99781 | macros/generic/xstring/test_etex.pdf
+2021/07/21 | 98380 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/07/21 | 98260 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/07/21 | 975017 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/07/21 | 97337 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/07/21 | 96631 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/07/21 | 95399 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/07/21 | 949513 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+2021/07/21 | 9480 | fonts/utilities/fontools/bin/splitttc
+2021/07/21 | 94797 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/07/21 | 94308 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/07/21 | 937 | systems/win32/miktex/tm/packages/pr.ini
+2021/07/21 | 91079 | macros/generic/xstring/xstring-en.tex
+2021/07/21 | 87775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/07/21 | 8767 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/07/21 | 8728 | systems/texlive/tlnet/archive/cjk-ko.r59996.tar.xz
+2021/07/21 | 83541 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/07/21 | 815241 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/07/21 | 80446 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/07/21 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc
+2021/07/21 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/07/21 | 77949 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/07/21 | 774697 | macros/latex/contrib/lipsum.zip
+2021/07/21 | 7728 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+2021/07/21 | 7721 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/07/21 | 76825 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/07/21 | 75790 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/07/21 | 744116 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/07/21 | 74210 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/07/21 | 739384 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+2021/07/21 | 73192 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/07/21 | 73145 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/07/21 | 72205 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/07/21 | 71667 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/07/21 | 713300 | macros/generic/xstring.zip
+2021/07/21 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/07/21 | 69913 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/07/21 | 69866 | fonts/utilities/fontools/doc/autoinst.pdf
+2021/07/21 | 681250 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/07/21 | 6811233 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/07/21 | 68022 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/07/21 | 67820 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/07/21 | 67782 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+2021/07/21 | 67617 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/07/21 | 67484 | systems/texlive/tlnet/archive/bibtexu.doc.r60002.tar.xz
+2021/07/21 | 67480 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/07/21 | 664002 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+2021/07/21 | 658859 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+2021/07/21 | 65785 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/07/21 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/07/21 | 6549 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+2021/07/21 | 64426 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/07/21 | 6440 | systems/texlive/tlnet/archive/catechis.source.r59998.tar.xz
+2021/07/21 | 64182 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/07/21 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/07/21 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/07/21 | 62784 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/07/21 | 624655 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/07/21 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/07/21 | 61810 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/07/21 | 61424 | systems/texlive/tlnet/archive/siunitx.r60000.tar.xz
+2021/07/21 | 60636 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/07/21 | 60038 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/07/21 | 596 | macros/generic/texdimens/LICENSE.md
+2021/07/21 | 596929 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/07/21 | 594809 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+2021/07/21 | 591231 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/07/21 | 591126 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/07/21 | 590152 | systems/texlive/tlnet/archive/easybook.doc.r59999.tar.xz
+2021/07/21 | 589845 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/07/21 | 580 | macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
+2021/07/21 | 577451 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+2021/07/21 | 57726 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/07/21 | 576432 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+2021/07/21 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/07/21 | 57218 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+2021/07/21 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/07/21 | 57012 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/07/21 | 56684 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/07/21 | 566525 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/07/21 | 56512 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/07/21 | 56473 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/07/21 | 56355 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/07/21 | 56316 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/07/21 | 55972 | systems/texlive/tlnet/archive/babel-french.source.r59997.tar.xz
+2021/07/21 | 55497 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/07/21 | 553454 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+2021/07/21 | 55200 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+2021/07/21 | 548003 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+2021/07/21 | 54632 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/07/21 | 537047 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+2021/07/21 | 534245 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+2021/07/21 | 531849 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/07/21 | 531031 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+2021/07/21 | 527225 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+2021/07/21 | 526426 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+2021/07/21 | 52522 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/07/21 | 518408 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+2021/07/21 | 51749 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/07/21 | 51308 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/07/21 | 51200 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/07/21 | 51110 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/07/21 | 510585 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/07/21 | 507936 | systems/texlive/tlnet/archive/babel-french.doc.r59997.tar.xz
+2021/07/21 | 505665 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+2021/07/21 | 50393 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/07/21 | 50151 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/07/21 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/07/21 | 483652 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/07/21 | 48250 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/07/21 | 48190 | macros/generic/xstring/xstring.tex
+2021/07/21 | 476918 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/07/21 | 46905 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/07/21 | 461813 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/07/21 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/07/21 | 45904 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/07/21 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/07/21 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/07/21 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/07/21 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/07/21 | 45309 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/07/21 | 446478 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+2021/07/21 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/07/21 | 43025 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/07/21 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/07/21 | 42889 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/07/21 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/07/21 | 42384 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/07/21 | 421608 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+2021/07/21 | 4212 | macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
+2021/07/21 | 418445 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+2021/07/21 | 41390 | macros/generic/xstring/test_latex.tex
+2021/07/21 | 41194 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/07/21 | 40227 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/07/21 | 398840 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59995.tar.xz
+2021/07/21 | 3959 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+2021/07/21 | 395736 | systems/texlive/tlnet/archive/catechis.doc.r59998.tar.xz
+2021/07/21 | 392792 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/07/21 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/07/21 | 3872 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+2021/07/21 | 3828 | macros/generic/xstring/README
+2021/07/21 | 38139 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/07/21 | 37804 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/07/21 | 37798 | macros/generic/xstring/test_etex.tex
+2021/07/21 | 37356 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/07/21 | 3729 | fonts/utilities/fontools/share/fontools_t2b.enc
+2021/07/21 | 37240 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/07/21 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/07/21 | 36624 | systems/texlive/tlnet/archive/easybook.source.r59999.tar.xz
+2021/07/21 | 3651 | fonts/utilities/fontools/share/fontools_t2c.enc
+2021/07/21 | 35 | macros/latex/contrib/to-be-determined/DEPENDS.txt
+2021/07/21 | 35689 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/07/21 | 35085 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/07/21 | 34663 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/07/21 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/07/21 | 33631 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/07/21 | 33544 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/07/21 | 330786 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/07/21 | 32670 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/07/21 | 325041 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/07/21 | 31619 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/07/21 | 31534 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/07/21 | 31350 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/07/21 | 31230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/07/21 | 312105 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/07/21 | 30822 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/07/21 | 3080 | fonts/utilities/fontools/share/fontools_ts1.enc
+2021/07/21 | 30568 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+2021/07/21 | 30057 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/07/21 | 3003 | fonts/utilities/fontools/README
+2021/07/21 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/07/21 | 296 | systems/texlive/tlnet/archive/bibtexu.r60002.tar.xz
+2021/07/21 | 295202 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/07/21 | 2907 | fonts/utilities/fontools/share/fontools_t2a.enc
+2021/07/21 | 29034 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/07/21 | 2858352 | systems/texlive/tlnet/archive/siunitx.doc.r60000.tar.xz
+2021/07/21 | 2855 | fonts/utilities/fontools/share/fontools_ly1.enc
+2021/07/21 | 284578 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/07/21 | 284024 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/07/21 | 28389 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/07/21 | 28179 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/07/21 | 2815 | fonts/utilities/fontools/share/fontools_t1.enc
+2021/07/21 | 28041 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+2021/07/21 | 2796725 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/07/21 | 27837 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+2021/07/21 | 27727 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/07/21 | 27582 | fonts/utilities/fontools/bin/ot2kpx
+2021/07/21 | 2751 | fonts/utilities/fontools/share/fontools_ts3.enc
+2021/07/21 | 27438 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+2021/07/21 | 27426 | fonts/utilities/fontools/doc/ot2kpx.pdf
+2021/07/21 | 27388 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/07/21 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/07/21 | 272 | macros/generic/texdimens/texdimens.sty
+2021/07/21 | 27197 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/07/21 | 27053 | fonts/utilities/fontools/doc/afm2afm.pdf
+2021/07/21 | 2672609 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/07/21 | 26672 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+2021/07/21 | 26662 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+2021/07/21 | 2656 | fonts/utilities/fontools/share/fontools_t3.enc
+2021/07/21 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/07/21 | 258880 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/07/21 | 2587 | fonts/utilities/fontools/share/fontools_ot1.enc
+2021/07/21 | 25585318 | systems/texlive/tlnet/install-tl.zip
+2021/07/21 | 25290 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/07/21 | 250264 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/07/21 | 25018 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/07/21 | 24993 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/07/21 | 2448 | macros/latex/contrib/to-be-determined/to-be-determined.tex
+2021/07/21 | 243426 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/07/21 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/07/21 | 23901 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/07/21 | 23362 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/07/21 | 2324392 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/07/21 | 229240 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/07/21 | 229176 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/07/21 | 2248 | fonts/utilities/fontools/share/fontools_oml.enc
+2021/07/21 | 22113 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+2021/07/21 | 22048 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/07/21 | 215317 | macros/generic/xstring/xstring-fr.pdf
+2021/07/21 | 215246 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/07/21 | 21431 | macros/generic/texdimens/README.md
+2021/07/21 | 21222 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/07/21 | 20811264 | systems/texlive/tlnet/install-tl-windows.exe
+2021/07/21 | 208047 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/07/21 | 206601 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/07/21 | 20571 | fonts/utilities/fontools/doc/splitttc.pdf
+2021/07/21 | 20556 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+2021/07/21 | 204731 | fonts/utilities/fontools.zip
+2021/07/21 | 202793 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/07/21 | 20135 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/07/21 | 2009904 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/07/21 | 199731 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/07/21 | 199536 | macros/generic/xstring/xstring-en.pdf
+2021/07/21 | 198169 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/07/21 | 196870 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/07/21 | 196739 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/07/21 | 195635 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/07/21 | 19509 | macros/latex/contrib/ut-thesis/ut-thesis.dtx
+2021/07/21 | 194380 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/07/21 | 186502 | macros/latex/contrib/to-be-determined.zip
+2021/07/21 | 1841 | macros/latex/contrib/ut-thesis/ut-thesis.ins
+2021/07/21 | 183126 | macros/latex/contrib/to-be-determined/to-be-determined.pdf
+2021/07/21 | 18289 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+2021/07/21 | 1822 | macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
+2021/07/21 | 18175 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/07/21 | 180119 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/07/21 | 180009 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/07/21 | 17997 | fonts/utilities/fontools/GPLv2.txt
+2021/07/21 | 17978 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/07/21 | 178352 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/07/21 | 17807 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+2021/07/21 | 17429 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+2021/07/21 | 173339 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+2021/07/21 | 17328203 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/07/21 | 1713894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/07/21 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/07/21 | 1677 | macros/latex/contrib/ut-thesis/README
+2021/07/21 | 16725 | macros/generic/texdimens/texdimens.tex
+2021/07/21 | 1660 | systems/texlive/tlnet/archive/catechis.r59998.tar.xz
+2021/07/21 | 16412 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/07/21 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/07/21 | 160879 | fonts/utilities/fontools/bin/autoinst
+2021/07/21 | 160448 | systems/texlive/tlnet/archive/cjk-ko.doc.r59996.tar.xz
+2021/07/21 | 16024 | systems/texlive/tlnet/archive/easybook.r59999.tar.xz
+2021/07/21 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/07/21 | 15944 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+2021/07/21 | 1590 | macros/latex/contrib/to-be-determined/to-be-determined.sty
+2021/07/21 | 15876 | systems/texlive/tlnet/archive/babel-french.r59997.tar.xz
+2021/07/21 | 15784 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+2021/07/21 | 155263 | macros/generic/xstring/test_latex.pdf
+2021/07/21 | 154804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/07/21 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/07/21 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/07/21 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/07/21 | 147370 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/07/21 | 146946 | macros/latex/contrib/ut-thesis.zip
+2021/07/21 | 1464201 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/07/21 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/07/21 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/07/21 | 14348 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/07/21 | 142544 | macros/latex/contrib/ut-thesis/ut-thesis.pdf
+2021/07/21 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/07/21 | 136818 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/07/21 | 136815 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/07/21 | 13466 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/07/21 | 1340930 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/07/21 | 133864 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/07/21 | 13334 | fonts/utilities/fontools/bin/afm2afm
+2021/07/21 | 1315955 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/07/21 | 1314594 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/07/21 | 1301192 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/07/21 | 1298 | macros/latex/contrib/to-be-determined/README.md
+2021/07/21 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/07/21 | 124279 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/07/21 | 123 | macros/generic/xstring/xstring.sty
+2021/07/21 | 1223502 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/07/21 | 1223434 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/07/21 | 12206 | macros/generic/texdimens.zip
+2021/07/21 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/07/21 | 1195 | macros/latex/contrib/pdfmanagement-testphase/README.md
+2021/07/21 | 1169716 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/07/21 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/07/21 | 115349 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/07/21 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/07/21 | 112085 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/07/21 | 11151 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+2021/07/21 | 109027 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/07/21 | 108048 | systems/texlive/tlnet/archive/texlive-scripts.r59995.tar.xz
+2021/07/21 | 1077989 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/07/21 | 10657849 | macros/latex/contrib/pdfmanagement-testphase.zip
+2021/07/21 | 105756 | systems/texlive/tlnet/archive/siunitx.source.r60000.tar.xz
+2021/07/21 | 105218 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/07/21 | 103753 | macros/generic/xstring/xstring-fr.tex
+2021/07/21 | 103398 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/07/21 | 103201 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/07/21 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
2021/07/20 | 98189 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2021/07/20 | 975018 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/07/20 | 97338 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/07/20 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/07/20 | 98064 | macros/latex/contrib/lipsum/lipsum-cs.txt
2021/07/20 | 964 | macros/latex/contrib/siunitx/README.md
-2021/07/20 | 95400 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2021/07/20 | 951 | macros/latex/contrib/catechis/README
-2021/07/20 | 94799 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
2021/07/20 | 94650 | macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
-2021/07/20 | 94308 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/07/20 | 937 | systems/win32/miktex/tm/packages/pr.ini
+2021/07/20 | 91127 | macros/latex/contrib/lipsum/lipsum-la.txt
2021/07/20 | 9104 | language/korean/cjk-ko/cjk-ko-doc.tex
2021/07/20 | 9040 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
-2021/07/20 | 87775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/07/20 | 8767 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
2021/07/20 | 8752 | macros/latex/contrib/siunitx/siunitx-command.dtx
2021/07/20 | 838240 | systems/texlive/tlnet/archive/babel.doc.r59990.tar.xz
-2021/07/20 | 83540 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/07/20 | 815240 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/07/20 | 80447 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2021/07/20 | 791728 | systems/texlive/tlnet/archive/fithesis.r59989.tar.xz
-2021/07/20 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/07/20 | 77949 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/07/20 | 7720 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/07/20 | 76825 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/07/20 | 75792 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/07/20 | 744117 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/07/20 | 74209 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/07/20 | 73195 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/07/20 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
2021/07/20 | 729492 | systems/texlive/tlnet/archive/fithesis.doc.r59989.tar.xz
-2021/07/20 | 72205 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
2021/07/20 | 71888 | systems/texlive/tlnet/archive/spectralsequences.r59992.tar.xz
-2021/07/20 | 71667 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/07/20 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/07/20 | 69913 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/07/20 | 6957 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/07/20 | 687808 | systems/texlive/tlnet/archive/babel.source.r59990.tar.xz
-2021/07/20 | 681249 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/07/20 | 6811275 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/07/20 | 68022 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/07/20 | 67818 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/07/20 | 67618 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/07/20 | 67482 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/07/20 | 65785 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/07/20 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/07/20 | 64427 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/07/20 | 64184 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/07/20 | 63776 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/07/20 | 644963 | macros/latex/contrib/lipsum/lipsum.pdf
2021/07/20 | 635529 | macros/latex/contrib/siunitx/siunitx.pdf
-2021/07/20 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/07/20 | 62784 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
2021/07/20 | 627332 | macros/latex/contrib/siunitx/siunitx-unit.pdf
-2021/07/20 | 624650 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/07/20 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/07/20 | 61811 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/07/20 | 60635 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/07/20 | 60038 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/07/20 | 596927 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/07/20 | 591231 | systems/win32/miktex/tm/packages/files.csv.lzma
-2021/07/20 | 591126 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/07/20 | 590124 | systems/texlive/tlnet/archive/easybook.doc.r59988.tar.xz
-2021/07/20 | 589841 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/07/20 | 57725 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
2021/07/20 | 575555 | macros/latex/contrib/babel-contrib/french.zip
-2021/07/20 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/07/20 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/07/20 | 57011 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/07/20 | 56683 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/07/20 | 566526 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/07/20 | 56512 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/07/20 | 56474 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/07/20 | 56352 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/07/20 | 56316 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/07/20 | 55497 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/07/20 | 55662 | macros/latex/contrib/lipsum/lipsum.dtx
2021/07/20 | 5489 | language/korean/cjk-ko/cjkutf8-josa.sty
-2021/07/20 | 54631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2021/07/20 | 5380 | systems/texlive/tlnet/archive/letterswitharrows.source.r59993.tar.xz
-2021/07/20 | 531850 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/07/20 | 52523 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/07/20 | 51748 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/07/20 | 51308 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/07/20 | 51201 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/07/20 | 51111 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/07/20 | 510586 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/07/20 | 50394 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/07/20 | 50149 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
2021/07/20 | 494352 | systems/texlive/tlnet/archive/beamertheme-focus.doc.r59991.tar.xz
-2021/07/20 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/07/20 | 48827 | macros/latex/contrib/siunitx/siunitx-table.dtx
2021/07/20 | 484555 | macros/latex/contrib/siunitx/siunitx-print.pdf
-2021/07/20 | 483653 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/07/20 | 48248 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2021/07/20 | 480964 | systems/texlive/tlnet/archive/letterswitharrows.doc.r59993.tar.xz
-2021/07/20 | 476918 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2021/07/20 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
2021/07/20 | 4746 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2021/07/20 | 46905 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
2021/07/20 | 4624 | language/korean/cjk-ko/kolabels-utf.sty
-2021/07/20 | 461811 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/07/20 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/07/20 | 45904 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/07/20 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/07/20 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2021/07/20 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/07/20 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2021/07/20 | 45308 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2021/07/20 | 44662 | macros/latex/contrib/siunitx/CHANGELOG.md
2021/07/20 | 44620 | systems/texlive/tlnet/archive/fithesis.source.r59989.tar.xz
2021/07/20 | 4396 | systems/texlive/tlnet/archive/beamertheme-focus.r59991.tar.xz
-2021/07/20 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/07/20 | 43027 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/07/20 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2021/07/20 | 4299 | language/korean/cjk-ko/README
-2021/07/20 | 42890 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/07/20 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/07/20 | 42385 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/07/20 | 41192 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
2021/07/20 | 4081 | language/korean/cjk-ko/konames-utf.sty
-2021/07/20 | 40228 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
2021/07/20 | 402002 | macros/latex/contrib/catechis.zip
-2021/07/20 | 398880 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59985.tar.xz
-2021/07/20 | 392793 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/07/20 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
2021/07/20 | 388762 | macros/latex/contrib/catechis/catechis.pdf
-2021/07/20 | 38140 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/07/20 | 37803 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/07/20 | 37359 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/07/20 | 37238 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/07/20 | 3735 | macros/latex/contrib/lipsum/lipsum.ins
2021/07/20 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
-2021/07/20 | 36632 | systems/texlive/tlnet/archive/easybook.source.r59988.tar.xz
-2021/07/20 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/07/20 | 35690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/07/20 | 35084 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/07/20 | 34665 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/07/20 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/07/20 | 33632 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/07/20 | 33544 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
2021/07/20 | 3343893 | install/macros/latex/contrib/siunitx.tds.zip
2021/07/20 | 33434 | macros/latex/contrib/siunitx/siunitx-compound.dtx
2021/07/20 | 331863 | macros/latex/contrib/babel-contrib/french/frenchb.pdf
-2021/07/20 | 330786 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
2021/07/20 | 3305270 | macros/latex/contrib/siunitx.zip
-2021/07/20 | 32672 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2021/07/20 | 3252 | systems/texlive/tlnet/archive/letterswitharrows.r59993.tar.xz
-2021/07/20 | 325042 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2021/07/20 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
2021/07/20 | 31661 | macros/latex/contrib/siunitx/siunitx-print.dtx
-2021/07/20 | 31619 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/07/20 | 31537 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/07/20 | 31350 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
2021/07/20 | 31333 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2021/07/20 | 31228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/07/20 | 312106 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/07/20 | 30823 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2021/07/20 | 3029 | macros/latex/contrib/babel-contrib/french/frenchb.ins
-2021/07/20 | 30057 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/07/20 | 29840 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/07/20 | 295203 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/07/20 | 29035 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
2021/07/20 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
-2021/07/20 | 284578 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/07/20 | 284023 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/07/20 | 28389 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/07/20 | 28179 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/07/20 | 2796725 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/07/20 | 27728 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/07/20 | 27391 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/07/20 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
2021/07/20 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2021/07/20 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2021/07/20 | 2685 | language/korean/cjk-ko/kotex.sty
2021/07/20 | 2678 | language/korean/cjk-ko/ChangeLog
-2021/07/20 | 2672608 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/07/20 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2021/07/20 | 25939 | macros/latex/contrib/siunitx/siunitx-complex.dtx
-2021/07/20 | 258879 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/07/20 | 25585309 | systems/texlive/tlnet/install-tl.zip
-2021/07/20 | 25289 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/07/20 | 250263 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/07/20 | 25019 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/07/20 | 24995 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/07/20 | 243425 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2021/07/20 | 2426 | macros/latex/contrib/siunitx/siunitx-code.tex
-2021/07/20 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
2021/07/20 | 239147 | macros/latex/contrib/babel-contrib/french/frenchb.dtx
-2021/07/20 | 23901 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/07/20 | 23363 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/07/20 | 2323748 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
-2021/07/20 | 229233 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/07/20 | 229193 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/07/20 | 22049 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
2021/07/20 | 2197 | macros/latex/contrib/catechis/catechis.ins
-2021/07/20 | 215248 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2021/07/20 | 21467 | macros/latex/contrib/catechis/catechis.dtx
-2021/07/20 | 21224 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/07/20 | 20810041 | systems/texlive/tlnet/install-tl-windows.exe
-2021/07/20 | 208046 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/07/20 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/07/20 | 202795 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/07/20 | 20136 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/07/20 | 2009902 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/07/20 | 199732 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/07/20 | 198167 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
2021/07/20 | 19804 | macros/latex/contrib/siunitx/siunitx.dtx
-2021/07/20 | 196870 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/07/20 | 196739 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/07/20 | 195635 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/07/20 | 194380 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
2021/07/20 | 19106 | macros/latex/contrib/catechis/lppl.txt
2021/07/20 | 1839584 | systems/texlive/tlnet/archive/spectralsequences.doc.r59992.tar.xz
2021/07/20 | 1832 | language/korean/cjk-ko/cjkutf8-nanummjhanja.sty
-2021/07/20 | 18177 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2021/07/20 | 180588 | systems/texlive/tlnet/archive/babel.r59990.tar.xz
-2021/07/20 | 180120 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/07/20 | 180010 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/07/20 | 17979 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/07/20 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
2021/07/20 | 174467 | language/korean/cjk-ko.zip
2021/07/20 | 173333 | language/korean/cjk-ko/cjk-ko-doc.pdf
-2021/07/20 | 17328498 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2021/07/20 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2021/07/20 | 1713892 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/07/20 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2021/07/20 | 16529 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2021/07/20 | 16413 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/07/20 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/07/20 | 16036 | systems/texlive/tlnet/archive/easybook.r59988.tar.xz
-2021/07/20 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2021/07/20 | 159363 | macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
2021/07/20 | 1591 | macros/latex/contrib/babel-contrib/french/README.md
2021/07/20 | 15827 | language/korean/cjk-ko/cjkutf8-ko.sty
-2021/07/20 | 154804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/07/20 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/07/20 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2021/07/20 | 15317 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2021/07/20 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/07/20 | 1525 | macros/latex/contrib/lipsum/README.txt
+2021/07/20 | 14 | macros/latex/contrib/lipsum/DEPENDS.txt
2021/07/20 | 1496050 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2021/07/20 | 147371 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/07/20 | 1464201 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2021/07/20 | 146108 | macros/latex/contrib/siunitx/siunitx.tex
-2021/07/20 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/07/20 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/07/20 | 14347 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2021/07/20 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2021/07/20 | 1370 | macros/latex/contrib/catechis/CHANGES
-2021/07/20 | 136820 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/07/20 | 136816 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/07/20 | 13463 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/07/20 | 1340929 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/07/20 | 133863 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/07/20 | 1315413 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/07/20 | 1315124 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/07/20 | 1301191 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/07/20 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/07/20 | 124281 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/07/20 | 1223339 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/07/20 | 1223153 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2021/07/20 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/07/20 | 1169717 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/07/20 | 1368 | macros/latex/contrib/lipsum/CHANGELOG.md
+2021/07/20 | 134671 | macros/latex/contrib/lipsum/lipsum-cicero.txt
2021/07/20 | 115602 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2021/07/20 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2021/07/20 | 115350 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/07/20 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/07/20 | 112088 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/07/20 | 109030 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/07/20 | 108036 | systems/texlive/tlnet/archive/texlive-scripts.r59985.tar.xz
-2021/07/20 | 1077988 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/07/20 | 105222 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/07/20 | 103399 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/07/20 | 103200 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
2021/07/20 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2021/07/20 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
2021/07/19 | 9953 | graphics/pgf/contrib/spectralsequences/src/sseqforeach.code.tex
2021/07/19 | 9720 | graphics/pgf/contrib/spectralsequences/examples/ASS-S_2.tex
2021/07/19 | 9717 | macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/focus-demo/demo-focus.jpg
@@ -289,7 +409,6 @@
2021/07/19 | 7461 | macros/latex/required/babel/base/babel.ins
2021/07/19 | 72391 | graphics/pgf/contrib/spectralsequences/examples/SSS-KZ3.pdf
2021/07/19 | 713940 | macros/latex/required/babel/base/babel.dtx
-2021/07/19 | 6911 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/07/19 | 67825 | graphics/pgf/contrib/spectralsequences/src/sseqparsers.code.tex
2021/07/19 | 659582 | graphics/pgf/contrib/spectralsequences/manual/spectralsequencesmanual.pdf
2021/07/19 | 6585 | graphics/pgf/contrib/spectralsequences/README.md
@@ -404,7 +523,6 @@
2021/07/18 | 869 | macros/latex/contrib/fithesis/locale/slovak.ins
2021/07/18 | 8645 | systems/win32/miktex/tm/packages/cjk-ko.tar.lzma
2021/07/18 | 845 | macros/latex/contrib/fithesis/locale/czech.ins
-2021/07/18 | 8448 | systems/texlive/tlnet/archive/cjk-ko.r59958.tar.xz
2021/07/18 | 8201 | systems/win32/miktex/tm/packages/easing__source.tar.lzma
2021/07/18 | 8082 | macros/latex/contrib/fithesis/logo/mu/fithesis-ped-czech-color.eps
2021/07/18 | 8068 | macros/latex/contrib/fithesis/logo/mu/fithesis-ped-czech.eps
@@ -568,7 +686,6 @@
2021/07/18 | 177482 | macros/latex/contrib/semantex/semantex.tex
2021/07/18 | 1760 | macros/latex/contrib/fithesis/LICENSE.tex
2021/07/18 | 17579 | macros/latex/contrib/fithesis/logo/mu/fithesis-law-color.pdf
-2021/07/18 | 160592 | systems/texlive/tlnet/archive/cjk-ko.doc.r59958.tar.xz
2021/07/18 | 15892 | macros/latex/contrib/fithesis/logo/mu/fithesis-base.pdf
2021/07/18 | 157608 | systems/win32/miktex/tm/packages/cjk-ko__doc.tar.lzma
2021/07/18 | 15264 | macros/latex/contrib/fithesis/locale/english.dtx
@@ -1012,7 +1129,6 @@
2021/07/15 | 620541 | install/macros/latex/contrib/biblatex-contrib/biblatex-philosophy.tds.zip
2021/07/15 | 6160 | macros/latex/contrib/tudscr/source/doc/tudscr-examples.tex
2021/07/15 | 603645 | macros/latex/contrib/huawei.zip
-2021/07/15 | 596 | macros/generic/texdimens/LICENSE.md
2021/07/15 | 59453 | macros/latex/contrib/tudscr/source/tudscr-title.dtx
2021/07/15 | 59427 | macros/latex/contrib/stackengine/stackengine.tex
2021/07/15 | 58 | macros/latex/contrib/changes/userdoc/usepackage_authormarkuptext_changes_in.tex
@@ -1077,7 +1193,6 @@
2021/07/15 | 378117 | macros/latex/contrib/changes/changes.ngerman.pdf
2021/07/15 | 375443 | macros/latex/contrib/stackengine.zip
2021/07/15 | 370498 | macros/latex/contrib/changes/changes.english.pdf
-2021/07/15 | 35 | macros/latex/contrib/to-be-determined/DEPENDS.txt
2021/07/15 | 34 | macros/latex/contrib/changes/userdoc/sethighlightmarkup_in.tex
2021/07/15 | 3487 | macros/latex/contrib/tudscr/source/doc/tudscr-preface.tex
2021/07/15 | 336192 | macros/latex/contrib/huawei/huawei.pdf
@@ -1096,7 +1211,6 @@
2021/07/15 | 27 | macros/latex/contrib/changes/userdoc/setsummarytowidth_in.tex
2021/07/15 | 27 | macros/latex/contrib/changes/userdoc/path_script_in.tex
2021/07/15 | 2793 | macros/luatex/latex/pyluatex/pyluatex-interpreter.py
-2021/07/15 | 277 | macros/generic/texdimens/texdimens.sty
2021/07/15 | 27069 | macros/latex/contrib/colorist/colorist-doc.tex
2021/07/15 | 26 | macros/latex/contrib/changes/userdoc/setsummarywidth_in.tex
2021/07/15 | 26 | macros/latex/contrib/changes/userdoc/setanonymousname_in.tex
@@ -1110,7 +1224,6 @@
2021/07/15 | 2513 | macros/latex/contrib/biblatex-contrib/biblatex-philosophy/README
2021/07/15 | 24705 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
2021/07/15 | 2450 | systems/win32/miktex/tm/packages/kdpcover__source.tar.lzma
-2021/07/15 | 2448 | macros/latex/contrib/to-be-determined/to-be-determined.tex
2021/07/15 | 24266 | macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
2021/07/15 | 241703 | macros/latex/contrib/tudscr/source/tudscr-manual.dtx
2021/07/15 | 23385 | macros/latex/contrib/tudscr/source/tudscr-misc.dtx
@@ -1126,15 +1239,11 @@
2021/07/15 | 21436 | macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
2021/07/15 | 21332 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
2021/07/15 | 20948 | macros/latex/contrib/tudscr/source/tudscr-texindy.dtx
-2021/07/15 | 20693 | macros/generic/texdimens/README.md
2021/07/15 | 2054 | macros/latex/contrib/huawei/samples/huawei-charter.tex
-2021/07/15 | 1999 | macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex
2021/07/15 | 196 | macros/latex/contrib/changes/userdoc/setcommentmarkup_ex.tex
2021/07/15 | 1947 | macros/latex/contrib/huawei/samples/huawei-cfp.tex
2021/07/15 | 1912608 | macros/latex/contrib/nicematrix.zip
-2021/07/15 | 186901 | macros/latex/contrib/to-be-determined.zip
2021/07/15 | 1843877 | systems/win32/miktex/tm/packages/hvfloat__source.tar.lzma
-2021/07/15 | 183512 | macros/latex/contrib/to-be-determined/to-be-determined.pdf
2021/07/15 | 1832 | macros/latex/contrib/tudscr/source/doc/examples/notice.tex
2021/07/15 | 18322 | graphics/pgf/contrib/cartonaugh/cartonaugh-example.pdf
2021/07/15 | 182 | macros/latex/contrib/changes/userdoc/added_ex.tex
@@ -1151,7 +1260,6 @@
2021/07/15 | 16355 | macros/latex/contrib/tudscr/README.md
2021/07/15 | 16273 | macros/latex/contrib/stackengine/stackengine.sty
2021/07/15 | 1607 | macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex
-2021/07/15 | 1588 | macros/latex/contrib/to-be-determined/to-be-determined.sty
2021/07/15 | 1551800 | systems/win32/miktex/tm/packages/circuitikz__doc.tar.lzma
2021/07/15 | 1551384 | systems/texlive/tlnet/archive/circuitikz.doc.r59929.tar.xz
2021/07/15 | 154 | macros/latex/contrib/changes/userdoc/usepackage_authormarkup_changes_ex.tex
@@ -1174,7 +1282,6 @@
2021/07/15 | 1416 | macros/luatex/latex/pyluatex/pyluatex.sty
2021/07/15 | 1339461 | macros/latex/contrib/nicematrix/nicematrix.pdf
2021/07/15 | 1326 | macros/latex/contrib/changes/README
-2021/07/15 | 1298 | macros/latex/contrib/to-be-determined/README.md
2021/07/15 | 128951 | macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf
2021/07/15 | 12643 | macros/unicodetex/latex/beaulivre/beaulivre.cls
2021/07/15 | 12639 | macros/unicodetex/latex/lebhart/lebhart.cls
@@ -1187,7 +1294,6 @@
2021/07/15 | 1149093 | macros/latex/contrib/tudscr/doc/tudscr.pdf
2021/07/15 | 11346 | systems/win32/miktex/tm/packages/hvfloat.tar.lzma
2021/07/15 | 1133767 | macros/latex/contrib/tudscr/doc/tudscr_print.pdf
-2021/07/15 | 11329 | macros/generic/texdimens/texdimens.tex
2021/07/15 | 113230 | macros/generic/expkv/expkv.dtx
2021/07/15 | 111392 | macros/latex/contrib/changes/examples/changes.example.authormarkup.footnote.pdf
2021/07/15 | 1108 | macros/latex/contrib/tudscr/doc/LICENSE.md
@@ -1202,7 +1308,6 @@
2021/07/15 | 1063109 | macros/latex/contrib/tudscr/doc/tudscrsource.pdf
2021/07/15 | 104 | macros/latex/contrib/changes/userdoc/setsummarytowidth_ex.tex
2021/07/15 | 103987 | macros/latex/contrib/changes/examples/changes.example.setanonymousname.pdf
-2021/07/15 | 10369 | macros/generic/texdimens.zip
2021/07/15 | 102974 | macros/latex/contrib/changes/examples/changes.example.listofchanges.show.pdf
2021/07/15 | 102637 | macros/latex/contrib/changes/examples/changes.example.language.french.pdf
2021/07/15 | 102351 | macros/latex/contrib/changes/examples/changes.example.language.ngerman.pdf
@@ -1215,148 +1320,3 @@
2021/07/15 | 101103 | macros/latex/contrib/changes/examples/changes.example.setsocextension.pdf
2021/07/15 | 101072 | macros/latex/contrib/changes/examples/changes.example.listofchanges.all.pdf
2021/07/15 | 100430 | macros/latex/contrib/changes/examples/changes.example.deletedmarkup.uuline.pdf
-2021/07/14 | 968 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-implicantcorner.tex
-2021/07/14 | 9648 | graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex
-2021/07/14 | 938 | graphics/pgf/contrib/circuitikz/doc/circuitikz-context.tex
-2021/07/14 | 9382 | graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex
-2021/07/14 | 937130 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2-body.tex
-2021/07/14 | 929934 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.1.2.tex
-2021/07/14 | 8597 | systems/win32/miktex/tm/packages/minimalist__source.tar.lzma
-2021/07/14 | 8540 | macros/latex/contrib/kdpbook/kdpcover-vol-1.pdf
-2021/07/14 | 848644 | systems/win32/miktex/tm/packages/l3backend__doc.tar.lzma
-2021/07/14 | 846696 | systems/texlive/tlnet/archive/l3backend.doc.r59922.tar.xz
-2021/07/14 | 841340 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0-body.tex
-2021/07/14 | 834142 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.0.tex
-2021/07/14 | 8229 | graphics/pgf/contrib/circuitikz/doc/ctikzmanutils.sty
-2021/07/14 | 79816 | systems/win32/miktex/tm/packages/xint.tar.lzma
-2021/07/14 | 79404 | systems/win32/miktex/tm/packages/l3experimental__source.tar.lzma
-2021/07/14 | 78752 | systems/texlive/tlnet/archive/l3experimental.source.r59922.tar.xz
-2021/07/14 | 758991 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6-body.tex
-2021/07/14 | 757 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-options.tex
-2021/07/14 | 751663 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.9.6.tex
-2021/07/14 | 737 | graphics/pgf/contrib/cartonaugh/cartonaugh.ins
-2021/07/14 | 728 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4.sty
-2021/07/14 | 7256 | macros/latex/contrib/kdpbook/kdpcover-signature.pdf
-2021/07/14 | 7206 | systems/win32/miktex/tm/packages/minimalist.tar.lzma
-2021/07/14 | 7156 | macros/latex/contrib/kdpbook/kdpcover-vol-3.pdf
-2021/07/14 | 7028 | systems/texlive/tlnet/archive/minimalist.r59923.tar.xz
-2021/07/14 | 690729 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3-body.tex
-2021/07/14 | 683433 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.9.3.tex
-2021/07/14 | 6723 | macros/latex/contrib/kdpbook/kdpcover-vol-4.pdf
-2021/07/14 | 65822 | macros/latex/contrib/hvfloat/latex/hvfloat.sty
-2021/07/14 | 6504 | macros/latex/contrib/kdpbook/kdpcover-vol-2.pdf
-2021/07/14 | 6483040 | systems/win32/miktex/tm/packages/uantwerpendocs.tar.lzma
-2021/07/14 | 6472428 | systems/texlive/tlnet/archive/uantwerpendocs.r59920.tar.xz
-2021/07/14 | 641 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3.sty
-2021/07/14 | 635 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7.sty
-2021/07/14 | 635 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6.sty
-2021/07/14 | 633 | graphics/pgf/contrib/circuitikz/tex/circutikz-0.9.6.sty
-2021/07/14 | 632 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7.sty
-2021/07/14 | 632 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2.sty
-2021/07/14 | 632 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3.sty
-2021/07/14 | 626 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0.sty
-2021/07/14 | 606928 | systems/texlive/tlnet/archive/simplivre.doc.r59923.tar.xz
-2021/07/14 | 59608 | graphics/pgf/contrib/cartonaugh/cartonaugh.dtx
-2021/07/14 | 591734 | systems/win32/miktex/tm/packages/simplivre__doc.tar.lzma
-2021/07/14 | 580460 | systems/texlive/tlnet/archive/l3kernel.source.r59922.tar.xz
-2021/07/14 | 577943 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma
-2021/07/14 | 5722430 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf
-2021/07/14 | 564676 | systems/texlive/tlnet/archive/einfart.doc.r59923.tar.xz
-2021/07/14 | 548863 | systems/win32/miktex/tm/packages/einfart__doc.tar.lzma
-2021/07/14 | 5449 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-implicant.tex
-2021/07/14 | 54038 | graphics/pgf/contrib/circuitikz/tex/pgfcircmonopoles.tex
-2021/07/14 | 54003 | systems/win32/miktex/tm/packages/xetexko.tar.lzma
-2021/07/14 | 53764 | systems/texlive/tlnet/archive/xetexko.r59921.tar.xz
-2021/07/14 | 52071 | systems/win32/miktex/tm/packages/yathesis__source.tar.lzma
-2021/07/14 | 517 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-grid.tex
-2021/07/14 | 4872284 | systems/win32/miktex/tm/packages/yathesis__doc.tar.lzma
-2021/07/14 | 453339 | graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
-2021/07/14 | 4461445 | systems/win32/miktex/tm/packages/uantwerpendocs__doc.tar.lzma
-2021/07/14 | 4454948 | systems/texlive/tlnet/archive/uantwerpendocs.doc.r59920.tar.xz
-2021/07/14 | 4285 | macros/latex/contrib/kdpbook/kdpcover.cls
-2021/07/14 | 422295 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3-body.tex
-2021/07/14 | 418 | graphics/pgf/contrib/circuitikz/doc/compatibility.tex
-2021/07/14 | 416850 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.8.3.tex
-2021/07/14 | 403567 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7-body.tex
-2021/07/14 | 394796 | systems/win32/miktex/tm/packages/xint__source.tar.lzma
-2021/07/14 | 393884 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6-body.tex
-2021/07/14 | 3894 | systems/win32/miktex/tm/packages/macrolist__source.tar.lzma
-2021/07/14 | 38488 | systems/win32/miktex/tm/packages/uantwerpendocs__source.tar.lzma
-2021/07/14 | 38116 | systems/texlive/tlnet/archive/uantwerpendocs.source.r59920.tar.xz
-2021/07/14 | 37867 | graphics/pgf/contrib/circuitikz/doc/changelog.tex
-2021/07/14 | 3695 | systems/win32/miktex/tm/packages/einfart.tar.lzma
-2021/07/14 | 3670 | graphics/pgf/contrib/circuitikz/README.md
-2021/07/14 | 3667 | systems/win32/miktex/tm/packages/simplivre.tar.lzma
-2021/07/14 | 364469 | graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex
-2021/07/14 | 364117 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4-body.tex
-2021/07/14 | 3590 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex
-2021/07/14 | 356 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-bw-color.tex
-2021/07/14 | 3543 | macros/latex/contrib/hvfloat/Changes
-2021/07/14 | 3516 | systems/texlive/tlnet/archive/einfart.r59923.tar.xz
-2021/07/14 | 34979 | graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex
-2021/07/14 | 3490406 | systems/win32/miktex/tm/packages/l3experimental__doc.tar.lzma
-2021/07/14 | 3489332 | systems/texlive/tlnet/archive/l3experimental.doc.r59922.tar.xz
-2021/07/14 | 3488 | systems/texlive/tlnet/archive/simplivre.r59923.tar.xz
-2021/07/14 | 3370 | macros/latex/contrib/kdpbook/kdpcover.tex
-2021/07/14 | 3258 | systems/win32/miktex/tm/packages/ifallfalse__source.tar.lzma
-2021/07/14 | 31805 | graphics/pgf/contrib/circuitikz/tex/pgfcircshapes.tex
-2021/07/14 | 31715 | systems/win32/miktex/tm/packages/l3backend__source.tar.lzma
-2021/07/14 | 3150 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-legacy.tex
-2021/07/14 | 31480 | systems/texlive/tlnet/archive/l3backend.source.r59922.tar.xz
-2021/07/14 | 30835 | graphics/pgf/contrib/circuitikz/tex/pgfcirc.defines.tex
-2021/07/14 | 2852 | systems/texlive/tlnet/archive/ifallfalse.source.r59918.tar.xz
-2021/07/14 | 280 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-example.tex
-2021/07/14 | 2783854 | install/graphics/pgf/contrib/circuitikz.tds.zip
-2021/07/14 | 2766544 | graphics/pgf/contrib/circuitikz.zip
-2021/07/14 | 266340 | systems/texlive/tlnet/archive/xetexko.doc.r59921.tar.xz
-2021/07/14 | 256322 | systems/win32/miktex/tm/packages/xetexko__doc.tar.lzma
-2021/07/14 | 244276 | graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
-2021/07/14 | 2401 | systems/win32/miktex/tm/packages/macrolist.tar.lzma
-2021/07/14 | 23727 | systems/win32/miktex/tm/packages/yathesis.tar.lzma
-2021/07/14 | 23269 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma
-2021/07/14 | 22912 | systems/texlive/tlnet/archive/l3experimental.r59922.tar.xz
-2021/07/14 | 2188 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-romano.tex
-2021/07/14 | 2185133 | systems/win32/miktex/tm/packages/xint__doc.tar.lzma
-2021/07/14 | 2093 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-implicantedge.tex
-2021/07/14 | 1811 | macros/latex/contrib/kdpbook/README.md
-2021/07/14 | 180893 | systems/win32/miktex/tm/packages/macrolist__doc.tar.lzma
-2021/07/14 | 1803 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-terms.tex
-2021/07/14 | 17858 | systems/win32/miktex/tm/packages/einfart__source.tar.lzma
-2021/07/14 | 1783 | graphics/pgf/contrib/cartonaugh/README.md
-2021/07/14 | 17688 | graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf
-2021/07/14 | 1758 | graphics/pgf/contrib/cartonaugh/test.sh
-2021/07/14 | 174103 | systems/win32/miktex/tm/packages/ifallfalse__doc.tar.lzma
-2021/07/14 | 17373 | systems/win32/miktex/tm/packages/simplivre__source.tar.lzma
-2021/07/14 | 173680 | systems/texlive/tlnet/archive/ifallfalse.doc.r59918.tar.xz
-2021/07/14 | 168234 | macros/latex/contrib/nicematrix/nicematrix-french.tex
-2021/07/14 | 167900 | systems/texlive/tlnet/archive/l3kernel.r59922.tar.xz
-2021/07/14 | 167405 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
-2021/07/14 | 16721 | graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex
-2021/07/14 | 1664 | macros/latex/contrib/easybook/README.md
-2021/07/14 | 15442 | graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex
-2021/07/14 | 15056035 | macros/latex/contrib/hvfloat.zip
-2021/07/14 | 146 | macros/latex/contrib/kdpbook/DEPENDS.txt
-2021/07/14 | 14687 | systems/win32/miktex/tm/packages/l3backend.tar.lzma
-2021/07/14 | 14532 | systems/texlive/tlnet/archive/l3backend.r59922.tar.xz
-2021/07/14 | 1441257 | graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf
-2021/07/14 | 1398 | systems/win32/miktex/tm/packages/ifallfalse.tar.lzma
-2021/07/14 | 13856 | graphics/pgf/contrib/circuitikz/tex/pgfcircutils.tex
-2021/07/14 | 13612 | graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
-2021/07/14 | 133973 | macros/latex/contrib/kdpbook.zip
-2021/07/14 | 123018 | graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex
-2021/07/14 | 121818 | systems/win32/miktex/tm/packages/etoc__source.tar.lzma
-2021/07/14 | 121404 | systems/texlive/tlnet/archive/etoc.source.r59917.tar.xz
-2021/07/14 | 12106 | systems/win32/miktex/tm/packages/xetexko__source.tar.lzma
-2021/07/14 | 1200 | systems/texlive/tlnet/archive/ifallfalse.r59918.tar.xz
-2021/07/14 | 1132456 | systems/texlive/tlnet/archive/etoc.doc.r59917.tar.xz
-2021/07/14 | 1122568 | systems/win32/miktex/tm/packages/etoc__doc.tar.lzma
-2021/07/14 | 111945 | graphics/pgf/contrib/circuitikz/tex/pgfcircmultipoles.tex
-2021/07/14 | 10968536 | systems/texlive/tlnet/archive/l3kernel.doc.r59922.tar.xz
-2021/07/14 | 10834 | systems/win32/miktex/tm/packages/etoc.tar.lzma
-2021/07/14 | 10814287 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma
-2021/07/14 | 107764 | systems/texlive/tlnet/archive/minimalist.doc.r59923.tar.xz
-2021/07/14 | 10568 | systems/texlive/tlnet/archive/etoc.r59917.tar.xz
-2021/07/14 | 103975 | macros/latex/contrib/kdpbook/kdpcover.pdf
-2021/07/14 | 1021798 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7-body.tex
-2021/07/14 | 1014383 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.2.7.tex
-2021/07/14 | 100935 | systems/win32/miktex/tm/packages/minimalist__doc.tar.lzma
diff --git a/fonts/utilities/fontools/bin/afm2afm b/fonts/utilities/fontools/bin/afm2afm
index b1233e0c52..9a6319a9da 100755
--- a/fonts/utilities/fontools/bin/afm2afm
+++ b/fonts/utilities/fontools/bin/afm2afm
@@ -37,7 +37,7 @@ use File::Basename;
use Getopt::Long;
use Pod::Usage;
-my $VERSION = "20210401";
+my $VERSION = "20210721";
parse_commandline();
@@ -421,7 +421,7 @@ See the GNU General Public License for more details.
=head1 VERSION
-This document describes B<afm2afm> version 20210401.
+This document describes B<afm2afm> version 20210721.
=head1 RECENT CHANGES
diff --git a/fonts/utilities/fontools/bin/autoinst b/fonts/utilities/fontools/bin/autoinst
index 77e17aa92e..46e0a598cb 100755
--- a/fonts/utilities/fontools/bin/autoinst
+++ b/fonts/utilities/fontools/bin/autoinst
@@ -41,7 +41,7 @@ use Getopt::Long ();
use Pod::Usage ();
use POSIX ();
-my $VERSION = '20210401';
+my $VERSION = '20210721';
my ($d, $m, $y) = (localtime time)[3 .. 5];
my $TODAY = sprintf "%04d/%02d/%02d", $y + 1900, $m + 1, $d;
@@ -265,7 +265,7 @@ my @WEIGHT = (
el => [ qw( extralight 200 ) ],
l => [ qw( light 300 ) ],
sl => [ qw( semilight blond ) ],
- '' => [ qw( regular normal text book 400 normallight normaldark ) ],
+ '' => [ qw( regular normal text book 400 normallight normaldark plain ) ],
sb => [ qw( semibold demibold 600 medium 500 ) ],
b => [ qw( bold 700 ) ],
eb => [ qw( extrabold 800 ) ],
@@ -606,14 +606,14 @@ sub _get_metadata {
my $cmd = qq(otfinfo --info "$filename");
open my $otfinfo, '-|', $cmd
- or die "[ERROR] Could not fork(): $!";
+ or die "[ERROR] Could not run '$cmd': $!";
my %data = map { my ($k,$v) = m/\A\s* ([^:]+?) \s*:\s* ([^\r\n]+)/xms;
$k =~ s/\s+//xmsg;
(lc $k => $v);
}
grep { m/\A\s* [^:]+? \s*:\s* [^\r\n]+/xms } <$otfinfo>;
close $otfinfo
- or die "[ERROR] '$cmd' failed.";
+ or die "[ERROR] '$cmd' failed";
return \%data;
}
@@ -709,6 +709,20 @@ sub _parse_metadata {
$self->{weight} = Attr::unabbreviate($self->{weight});
$self->{shape} = Attr::unabbreviate($self->{shape});
+ # Handle the (semi)condensed widths of the Thesis family.
+ # Doing this in the WIDTH table is tricky (i.e., TheSansCd might be
+ # parsed as the SCd width of the TheSan family), so we treat it as
+ # a special case instead.
+ if ($self->{family} =~ m/\A (The (?: Sans | Serif | Mix)) (S? Cd) \z/xms
+ and $self->{width} eq 'regular') {
+ $self->{family} = $1;
+ $self->{width}
+ = $2 eq 'Cd' ? 'condensed'
+ : $2 eq 'SCd' ? 'semicondensed'
+ : die '[ERROR] Internal error, please report!'
+ ;
+ }
+
# Some font families put small caps into separate families;
# we merge these into the 'main' family.
# We have to test both 'family', 'subfamily' and 'name' for hints
@@ -813,17 +827,17 @@ sub _parse_featuredata {
my $cmd = qq(otfinfo --features "$self->{filename}");
open my $otfinfo, '-|', $cmd
- or die "[ERROR] Could not fork(): $!";
+ or die "[ERROR] Could not run '$cmd': $!";
my @data = map { substr $_, 0, 4 } <$otfinfo>;
close $otfinfo
- or die "[ERROR] '$cmd' failed.";
+ or die "[ERROR] '$cmd' failed";
$cmd = qq(otfinfo --tables "$self->{filename}");
open $otfinfo, '-|', $cmd
- or die "[ERROR] Could not fork(): $!";
+ or die "[ERROR] Could not run '$cmd': $!";
my $data = do { local $/; <$otfinfo> };
close $otfinfo
- or die "[ERROR] '$cmd' failed.";
+ or die "[ERROR] '$cmd' failed";
if ($data =~ m/\d+ \s+ kern/xms) {
push @data, 'kern';
@@ -843,14 +857,14 @@ sub _parse_sizedata {
my $cmd = qq(otfinfo --optical-size "$self->{filename}");
open my $otfinfo, '-|', $cmd
- or die "[ERROR] Could not fork(): $!";
+ or die "[ERROR] Could not run '$cmd': $!";
my $data = do { local $/; <$otfinfo> };
close $otfinfo
- or die "[ERROR] '$cmd' failed.";
+ or die "[ERROR] '$cmd' failed";
my ($minsize, $maxsize)
- = $data =~ m/[(] ([\d.]+) \s* pt, \s*
- ([\d.]+) \s* pt \s* [])]/xms;
+ = $data =~ m/[([] ([\d.]+) (?:\s* pt)?, \s*
+ ([\d.]+) (?:\s* pt)? \s* [])]/xms;
$minsize //= 0;
$maxsize //= 0;
@@ -1258,7 +1272,9 @@ END_STY_FONTAXES_ORN
if ($seen{Numr}) {
print {$STY} <<'END_STY_FONTAXES_NUMR';
\fa@naming@exception{figures}{{numerators}{proportional}}{Numr}
+ \fa@naming@exception{figures}{{numerator}{proportional}}{Numr}
\fa@naming@exception{figures}{{numerators}{tabular}}{Numr}
+ \fa@naming@exception{figures}{{numerator}{tabular}}{Numr}
END_STY_FONTAXES_NUMR
}
@@ -1266,7 +1282,9 @@ END_STY_FONTAXES_NUMR
if ($seen{Dnom}) {
print {$STY} <<'END_STY_FONTAXES_DNOM';
\fa@naming@exception{figures}{{denominators}{proportional}}{Dnom}
+ \fa@naming@exception{figures}{{denominator}{proportional}}{Dnom}
\fa@naming@exception{figures}{{denominators}{tabular}}{Dnom}
+ \fa@naming@exception{figures}{{denominator}{tabular}}{Dnom}
END_STY_FONTAXES_DNOM
}
@@ -2272,7 +2290,7 @@ sub create_command {
return join q( ), 'otftotfm',
'--automatic',
- "--encoding='$workitem->{enc_file}'",
+ "--encoding=$workitem->{enc_file}",
$targetdirs,
'--no-updmap',
'--force',
@@ -2302,11 +2320,22 @@ sub create_command {
sub run_commands {
my ($commandlist, $family, $log) = @_;
+ my $n_cmds = scalar @{$commandlist};
+ my ($log_ncmds, $ceil) = (1, 10);
+ while ($n_cmds >= $ceil) {
+ $log_ncmds++;
+ $ceil *= 10;
+ }
+ my $template = sprintf "%%%dd of %%%dd", $log_ncmds, $log_ncmds;
+ my $l_template = 4 + 2 * $log_ncmds;
+ $| = 1; # autoflush
+ print "[INFO] Generating fonts for $family: ", " " x $l_template;
+
+ my $i_cmd = 1;
my $oops = 0;
- $| = 1; # turn on autoflush, to make a poor man's progress bar
- print "[INFO] Generating fonts for $family ";
for my $command (@{$commandlist}) {
- print '.';
+ print "\b" x $l_template;
+ printf $template, $i_cmd++, $n_cmds;
open my $otftotfm, '-|', "$command 2>&1"
or die "could not fork(): $!";
my $msgs = do { local $/; <$otftotfm> };
@@ -3049,13 +3078,13 @@ sub cleanup {
# Figure out whether the encoding option refers to a custom encoding file
# in the current directory, or to the name of one of our standard
- # encodings. In the latter case, we add the 'fontools_' prefix.
- my $try = $workitem->{encoding};
- $try .= '.enc' if $try !~ m/[.]enc\z/xmsi;
- if (-e $try) {
- $workitem->{enc_file} = $try;
+ # encodings. In the former case, we quote the filename, to account
+ # for possible spaces or other metacharacters; in the latter case,
+ # we add the 'fontools_' prefix.
+ if (-e $workitem->{encoding}) {
+ $workitem->{enc_file} = qq{"$workitem->{encoding}"};
$workitem->{encoding}
- = File::Basename::basename($try, '.enc', '.ENC');
+ = File::Basename::basename($workitem->{encoding}, '.enc', '.ENC');
}
else {
($workitem->{enc_file} = $workitem->{encoding})
@@ -3173,7 +3202,7 @@ sub modify_fontnames {
my $cmd = qq(t1disasm "$oldfn");
open my $t1disasm, '-|:raw', $cmd
- or die "[ERROR] Could not fork(): $!";
+ or die "[ERROR] Could not run '$cmd': $!";
my @pfbdata = readline $t1disasm;
close $t1disasm
or die "[ERROR] '$cmd' failed";
@@ -3193,7 +3222,7 @@ sub modify_fontnames {
$cmd = qq(t1asm --pfb >"$newfn");
open my $t1asm, '|-:raw', $cmd
- or die "[ERROR] Could not fork(): $!";
+ or die "[ERROR] Could not run '$cmd': $!";
print {$t1asm} @pfbdata;
close $t1asm
or die "[ERROR] '$cmd' failed";
@@ -4000,7 +4029,7 @@ GNU General Public License for more details.
=head1 VERSION
-This document describes B<autoinst> version 20210401.
+This document describes B<autoinst> version 20210721.
=head1 RECENT CHANGES
@@ -4009,6 +4038,26 @@ This document describes B<autoinst> version 20210401.
=over 12
+=item I<2021-07-21>
+
+Bugfixes:
+
+=over 3
+
+=item -
+
+Yet another problem with argument quoting on Windows.
+
+=item -
+
+Selecting numerator/denominator fonts didn't work as documented.
+
+=item -
+
+Font info parsing failed for Microsoft Sitka and LucasFonts Thesis.
+
+=back
+
=item I<2021-04-01>
The I<-encoding> option now also accepts filenames of encoding files
diff --git a/fonts/utilities/fontools/bin/ot2kpx b/fonts/utilities/fontools/bin/ot2kpx
index 295c917782..a037fa7685 100755
--- a/fonts/utilities/fontools/bin/ot2kpx
+++ b/fonts/utilities/fontools/bin/ot2kpx
@@ -38,7 +38,7 @@ use Getopt::Long ();
use List::Util @List::Util::EXPORT_OK;
use Pod::Usage;
-my $VERSION = "20210401";
+my $VERSION = "20210721";
our ($NUM_GLYPHS, $UNITS_PER_EM, %kern);
@@ -858,7 +858,7 @@ See the GNU General Public License for more details.
=head1 VERSION
-This document describes B<ot2kpx> version 20210401.
+This document describes B<ot2kpx> version 20210721.
=head1 RECENT CHANGES
diff --git a/fonts/utilities/fontools/bin/splitttc b/fonts/utilities/fontools/bin/splitttc
index 28e52c5a2e..f0950a1256 100755
--- a/fonts/utilities/fontools/bin/splitttc
+++ b/fonts/utilities/fontools/bin/splitttc
@@ -38,7 +38,7 @@ use File::Basename;
use Getopt::Long;
use Pod::Usage;
-my $VERSION = "20210401";
+my $VERSION = "20210721";
parse_commandline();
@@ -303,7 +303,7 @@ See the GNU General Public License for more details.
=head1 VERSION
-This document describes B<splitttc> version 20210401.
+This document describes B<splitttc> version 20210721.
=head1 RECENT CHANGES
diff --git a/fonts/utilities/fontools/doc/afm2afm.pdf b/fonts/utilities/fontools/doc/afm2afm.pdf
index 0c4610bbfa..5729170dfd 100644
--- a/fonts/utilities/fontools/doc/afm2afm.pdf
+++ b/fonts/utilities/fontools/doc/afm2afm.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/doc/autoinst.pdf b/fonts/utilities/fontools/doc/autoinst.pdf
index 9d3defddd8..003afb51d0 100644
--- a/fonts/utilities/fontools/doc/autoinst.pdf
+++ b/fonts/utilities/fontools/doc/autoinst.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/doc/ot2kpx.pdf b/fonts/utilities/fontools/doc/ot2kpx.pdf
index b335757e7b..f2187ab324 100644
--- a/fonts/utilities/fontools/doc/ot2kpx.pdf
+++ b/fonts/utilities/fontools/doc/ot2kpx.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/doc/splitttc.pdf b/fonts/utilities/fontools/doc/splitttc.pdf
index 454684a60d..5c68b8c142 100644
--- a/fonts/utilities/fontools/doc/splitttc.pdf
+++ b/fonts/utilities/fontools/doc/splitttc.pdf
Binary files differ
diff --git a/macros/generic/texdimens/README.md b/macros/generic/texdimens/README.md
index 4f028fe689..d574ae2ae6 100644
--- a/macros/generic/texdimens/README.md
+++ b/macros/generic/texdimens/README.md
@@ -10,7 +10,7 @@ LPPL 1.3c. See file LICENSE.md.
Development: https://github.com/jfbu/texdimens
-Release: `0.9delta 2021/07/15`
+Release: `0.9 2021/07/21`
## Aim of this package
@@ -46,24 +46,24 @@ of one TeX point `1pt`, or rather `1pt` is represented internally as `65536`.
If `\foo` is a dimen register:
-- `\number\foo` produces the integer `N` such as `\foo` is the same as `N sp`,
+- `\number\foo` produces the integer `N` such as `\foo` is the same as `Nsp`,
- inside `\numexpr`, `\foo` is replaced by `N`,
- `\the\foo` produces a decimal `D` (with at most five places) followed
-with `pt` (catcode 12 tokens) and this output `D pt` can serve as input
+with `pt` (catcode 12 tokens) and this output `Dpt` can serve as input
in a dimen assignment to produce the same dimension as `\foo`. One can
also use the catcode 11 characters `pt` for this. Digits and decimal
mark must have their standard catcode 12.
-When TeX encounters a dimen denotation of the type `D pt` it will
+When TeX encounters a dimen denotation of the type `Dpt` it will
compute `N` in a way equivalent to `N = round(65536 D)` where ties are
rounded away from zero. Only 17 decimal places of `D` are
kept as it can be shown that going beyond can not change the result.
-When `\foo` has been assigned as `D pt`, `\the\foo` will produce some
-`E pt` where `E` is not necessarily the same as `D`. But it is guaranteed
-that `E pt` defines the same dimension as `D pt̀`.
+When `\foo` has been assigned as `Dpt`, `\the\foo` will produce some
+`Ept` where `E` is not necessarily the same as `D`. But it is guaranteed
+that `Ept` defines the same dimension as `Dpt̀`.
## Further units known to TeX on input
@@ -100,8 +100,8 @@ among those listed above, it first handles `U` as with the `pt` unit.
This means that it computes `N = round(65536*U)`. It then multiplies
this `N` by the conversion factor `phi` and truncates towards zero the
mathematically exact result to obtain an integer `T`:
-`T=trunc(N*phi)`. The assignment `U uu` is concluded by defining the
-value of the dimension to be `T sp`.
+`T=trunc(N*phi)`. The assignment `Uuu` is concluded by defining the
+value of the dimension to be `Tsp`.
Attention that although the mnemotic is `phi=1uu/1pt`, this formula
definitely does not apply with numerator and denominator interpreted as
@@ -129,7 +129,7 @@ between attainable dimensions is `72--73sp` for the `in` and `28--29sp`
for the `cm`, and as `1in` differs internally from `2.54cm` by only
`12sp` (see below the `xintsession` verbatim) it is impossible to adjust
either the `in` side or the `cm` side to obtain equality. See in the
-[TODO] section the closest dimension attainable both via `in` and via
+[Extras?] section the closest dimension attainable both via `in` and via
`cm`.
In particular `1in==2.54cm` is **false** in TeX, but it is true that
@@ -152,19 +152,19 @@ In particular `1in==2.54cm` is **false** in TeX, but it is true that
other units the maximal attainable dimensions in `sp` unit are given in
the middle column of the next table.
- maximal allowed the corresponding minimal TeX dimen denotation
- (with 5 places) maximal attainable dim. causing "Dimension too large"
- --------------- -------------------------- --------------------------
- 16383.99999 pt 1073741823 sp (=\maxdimen) 16383.99999237060546875 pt
- 16322.78954 bp 1073741823 sp (=\maxdimen) 16322.78954315185546875 bp
- 15355.51532 nd 1073741823 sp (=\maxdimen) 15355.51532745361328125 nd
- 15312.02584 dd 1073741822 sp 15312.02584075927734375 dd
- 5758.31742 mm 1073741822 sp 5758.31742095947265625 mm
- 1365.33333 pc 1073741820 sp 1365.33333587646484375 pc
- 1279.62627 nc 1073741814 sp 1279.62627410888671875 nc
- 1276.00215 cc 1073741821 sp 1276.00215911865234375 cc
- 575.83174 cm 1073741822 sp 575.83174896240234375 cm
- 226.70540 in 1073741768 sp 226.70540618896484375 in
+ maximal allowed the corresponding minimal TeX dimen denotation
+ (with 5 places) maximal attainable dim. causing "Dimension too large"
+ --------------- ------------------------- --------------------------
+ 16383.99999pt 1073741823sp (=\maxdimen) 16383.99999237060546875pt
+ 16322.78954bp 1073741823sp (=\maxdimen) 16322.78954315185546875bp
+ 15355.51532nd 1073741823sp (=\maxdimen) 15355.51532745361328125nd
+ 15312.02584dd 1073741822sp 15312.02584075927734375dd
+ 5758.31742mm 1073741822sp 5758.31742095947265625mm
+ 1365.33333pc 1073741820sp 1365.33333587646484375pc
+ 1279.62627nc 1073741814sp 1279.62627410888671875nc
+ 1276.00215cc 1073741821sp 1276.00215911865234375cc
+ 575.83174cm 1073741822sp 575.83174896240234375cm
+ 226.70540in 1073741768sp 226.70540618896484375in
Perhaps for these various peculiarities with dimensional units, TeX does
not provide an output facility for them similar to what `\the` achieves for
@@ -173,11 +173,11 @@ the `pt`.
## Macros of this package
The macros defined by the package are expandable, and will expand
-completely in an `\edef`, or in a `\dimexpr...\relax` construc.
+completely in an `\edef`, or in a `\dimexpr...\relax` construct.
As they parse their inputs via `\dimexpr` they can be nested (with
-suitable postfix dimension unit added to inner macro).
+the suitable dimension unit added as postfix to nested macro).
-Apart for the `\texdimin<uu>up` in case of a negative input, they will
+Apart from the `\texdimen<uu>up` in case of a negative input, they will
even expand completely under f-expansion.
Negative dimensions behave as if replaced by their absolute value, then
@@ -187,67 +187,67 @@ at last step the sign (if result is not zero) is applied (so "down" means
1. For input `X` equal to (or sufficiently close to) `\maxdimen` and
those units `uu` for which `\maxdimen` is not exactly representable
(i.e. all units except `pt`, `bp` and `nd`), the output `D` of the
- "up" macros `\texdimin<uu>up{X}`, if used as `Duu` in a dimension
+ "up" macros `\texdimen<uu>up{X}`, if used as `Duu` in a dimension
assignment or expression, will (naturally) trigger a "Dimension too
large" error.
2. For `dd`, `nc` and `in`, and input `X` equal to (or sufficiently
- close to) `\maxdimen` it turns out that `\texdimin<uu>{X}` produces
+ close to) `\maxdimen` it turns out that `\texdimen<uu>{X}` produces
an output `D` such that `Duu` is the first "virtually attainable" TeX
dimension *beyond* `\maxdimen`. Hence `Duu` will trigger on use
"Dimension too large error".
3. Again for the `dd`, `nc` and `in` units, both the "down" and "up" macros
will trigger "Dimension too large" during their execution if used
- with an input equal to (or sufficiently close to `\maxdimen`.
+ with an input equal to (or sufficiently close to) `\maxdimen`.
-`\texdiminpt{<dim. expr.>}`
+`\texdimenpt{<dim. expr.>}`
> Does `\the\dimexpr <dim. expr.> \relax` then removes the `pt`.
-`\texdiminbp{<dim. expr.>}`
+`\texdimenbp{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D bp`
+> Produces a decimal (with up to five decimal places) `D` such that `Dbp`
> represents the dimension exactly if possible. If not possible it
> will differ by `1sp` from the original dimension, but it is not
> known in advance if it will be above or below.
> `\maxdimen` on input produces `16322.78954` and indeed is realized as `16322.78954bp`.
-`\texdiminbpdown{<dim. expr.>}`
+`\texdimenbpdown{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D bp`
+> Produces a decimal (with up to five decimal places) `D` such that `Dbp`
> represents the dimension exactly if possible. If not possible it
> will be smaller by `1sp` from the original dimension.
-`\texdiminbpup{<dim. expr.>}`
+`\texdimenbpup{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D bp`
+> Produces a decimal (with up to five decimal places) `D` such that `Dbp`
> represents the dimension exactly if possible. If not possible it
> will be larger by `1sp` from the original dimension.
-`\texdiminnd{<dim. expr.>}`
+`\texdimennd{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D nd`
+> Produces a decimal (with up to five decimal places) `D` such that `Dnd`
> represents the dimension exactly if possible. If not possible it
> will differ by `1sp` from the original dimension, but it is not
> known in advance if it will be above or below.
> `\maxdimen` on input produces `15355.51532` and indeed is realized as `15355.51532nd`.
-`\texdiminnddown{<dim. expr.>}`
+`\texdimennddown{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D nd`
+> Produces a decimal (with up to five decimal places) `D` such that `Dnd`
> represents the dimension exactly if possible. If not possible it
> will be smaller by `1sp` from the original dimension.
-`\texdiminndup{<dim. expr.>}`
+`\texdimenndup{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D nd`
+> Produces a decimal (with up to five decimal places) `D` such that `Dnd`
> represents the dimension exactly if possible. If not possible it
> will be larger by `1sp` from the original dimension.
-`\texdimindd{<dim. expr.>}`
+`\texdimendd{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D dd`
+> Produces a decimal (with up to five decimal places) `D` such that `Ddd`
> represents the dimension exactly if possible. If not possible it
> will differ by `1sp` from the original dimension, but it is not
> known in advance if it will be above or below.
@@ -256,21 +256,21 @@ at last step the sign (if result is not zero) is applied (so "down" means
> will trigger "Dimension too large" error.
> `\maxdimen-1sp` is attainable via `15312.02584dd`.
-`\texdimindddown{<dim. expr.>}`
+`\texdimendddown{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D dd`
+> Produces a decimal (with up to five decimal places) `D` such that `Ddd`
> represents the dimension exactly if possible. If not possible it
> will be smaller by `1sp` from the original dimension.
-`\texdiminddup{<dim. expr.>}`
+`\texdimenddup{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D dd`
+> Produces a decimal (with up to five decimal places) `D` such that `Ddd`
> represents the dimension exactly if possible. If not possible it
> will be larger by `1sp` from the original dimension.
-`\texdiminmm{<dim. expr.>}`
+`\texdimenmm{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D mm`
+> Produces a decimal (with up to five decimal places) `D` such that `Dmm`
> represents the dimension exactly if possible. If not possible it
> will either be the closest from below or from above, but it is not
> known in advance which one (and it is not known if the other choice
@@ -279,21 +279,21 @@ at last step the sign (if result is not zero) is applied (so "down" means
> `\maxdimen` as input produces on output `5758.31741` and indeed the
> maximal attainable dimension is `5758.31741mm` (`1073741822sp`).
-`\texdiminmmdown{<dim. expr.>}`
+`\texdimenmmdown{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D mm`
+> Produces a decimal (with up to five decimal places) `D` such that `Dmm`
> represents the dimension exactly if possible. If not possible it
> will be largest representable dimension smaller than the original one.
-`\texdiminmmup{<dim. expr.>}`
+`\texdimenmmup{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D mm`
+> Produces a decimal (with up to five decimal places) `D` such that `Dmm`
> represents the dimension exactly if possible. If not possible it
> will be smallest representable dimension larger than the original one.
-`\texdiminpc{<dim. expr.>}`
+`\texdimenpc{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D pc`
+> Produces a decimal (with up to five decimal places) `D` such that `Dpc`
> represents the dimension exactly if possible. If not possible it
> will be the closest representable one (in case of tie, the approximant
> from above is chosen).
@@ -301,21 +301,21 @@ at last step the sign (if result is not zero) is applied (so "down" means
> `\maxdimen` as input produces on output `1365.33333` and indeed the
> maximal attainable dimension is `1365.33333pc` (`1073741820sp`).
-`\texdiminpcdown{<dim. expr.>}`
+`\texdimenpcdown{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D pc`
+> Produces a decimal (with up to five decimal places) `D` such that `Dpc`
> represents the dimension exactly if possible. If not possible it
> will be largest representable dimension smaller than the original one.
-`\texdiminpcup{<dim. expr.>}`
+`\texdimenpcup{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D pc`
+> Produces a decimal (with up to five decimal places) `D` such that `Dpc`
> represents the dimension exactly if possible. If not possible it
> will be smallest representable dimension larger than the original one.
-`\texdiminnc{<dim. expr.>}`
+`\texdimennc{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D nc`
+> Produces a decimal (with up to five decimal places) `D` such that `Dnc`
> represents the dimension exactly if possible. If not possible it
> will either be the closest from below or from above, but it is not
> known in advance which one (and it is not known if the other choice
@@ -325,21 +325,21 @@ at last step the sign (if result is not zero) is applied (so "down" means
> will trigger "Dimension too large" error.
> `\maxdimen-9sp` is attainable via `1279.62627nc`.
-`\texdiminncdown{<dim. expr.>}`
+`\texdimenncdown{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D nc`
+> Produces a decimal (with up to five decimal places) `D` such that `Dnc`
> represents the dimension exactly if possible. If not possible it
> will be largest representable dimension smaller than the original one.
-`\texdiminncup{<dim. expr.>}`
+`\texdimenncup{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D nc`
+> Produces a decimal (with up to five decimal places) `D` such that `Dnc`
> represents the dimension exactly if possible. If not possible it
> will be smallest representable dimension larger than the original one.
-`\texdimincc{<dim. expr.>}`
+`\texdimencc{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D cc`
+> Produces a decimal (with up to five decimal places) `D` such that `Dcc`
> represents the dimension exactly if possible. If not possible it
> will either be the closest from below or from above, but it is not
> known in advance which one (and it is not known if the other choice
@@ -348,21 +348,21 @@ at last step the sign (if result is not zero) is applied (so "down" means
> `\maxdimen` as input produces on output `1276.00215` and indeed the
> maximal attainable dimension is `1276.00215cc` (`1073741821sp`).
-`\texdiminccdown{<dim. expr.>}`
+`\texdimenccdown{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D cc`
+> Produces a decimal (with up to five decimal places) `D` such that `Dcc`
> represents the dimension exactly if possible. If not possible it
> will be largest representable dimension smaller than the original one.
-`\texdiminccup{<dim. expr.>}`
+`\texdimenccup{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D cc`
+> Produces a decimal (with up to five decimal places) `D` such that `Dcc`
> represents the dimension exactly if possible. If not possible it
> will be smallest representable dimension larger than the original one.
-`\texdimincm{<dim. expr.>}`
+`\texdimencm{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D cm`
+> Produces a decimal (with up to five decimal places) `D` such that `Dcm`
> represents the dimension exactly if possible. If not possible it
> will either be the closest from below or from above, but it is not
> known in advance which one (and it is not known if the other choice
@@ -371,21 +371,21 @@ at last step the sign (if result is not zero) is applied (so "down" means
> `\maxdimen` as input produces on output `575.83174` and indeed the
> maximal attainable dimension is `575.83174cm` (`1073741822sp`).
-`\texdimincmdown{<dim. expr.>}`
+`\texdimencmdown{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D cm`
+> Produces a decimal (with up to five decimal places) `D` such that `Dcm`
> represents the dimension exactly if possible. If not possible it
> will be largest representable dimension smaller than the original one.
-`\texdimincmup{<dim. expr.>}`
+`\texdimencmup{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D cm`
+> Produces a decimal (with up to five decimal places) `D` such that `Dcm`
> represents the dimension exactly if possible. If not possible it
> will be smallest representable dimension larger than the original one.
-`\texdiminin{<dim. expr.>}`
+`\texdimenin{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D in`
+> Produces a decimal (with up to five decimal places) `D` such that `Din`
> represents the dimension exactly if possible. If not possible it
> will either be the closest from below or from above, but it is not
> known in advance which one (and it is not known if the other choice
@@ -395,18 +395,54 @@ at last step the sign (if result is not zero) is applied (so "down" means
> will trigger "Dimension too large" error.
> `\maxdimen-55sp` is maximal attainable dimension (via `226.7054in`).
-`\texdiminindown{<dim. expr.>}`
+`\texdimenindown{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D in`
+> Produces a decimal (with up to five decimal places) `D` such that `Din`
> represents the dimension exactly if possible. If not possible it
> will be largest representable dimension smaller than the original one.
-`\texdimininup{<dim. expr.>}`
+`\texdimeninup{<dim. expr.>}`
-> Produces a decimal (with up to five decimal places) `D` such that `D in`
+> Produces a decimal (with up to five decimal places) `D` such that `Din`
> represents the dimension exactly if possible. If not possible it
> will be smallest representable dimension larger than the original one.
+`\texdimenbothcmin{<dim. expr.>}` (new with `0.9dev`)
+
+> Produces a decimal (with up to five decimal places) `D` such that `Din`
+> is the largest dimension smaller than the original one and
+> exactly representable both in the `in` and `cm` units.
+
+`\texdimenbothincm{<dim. expr.>}` (new with `0.9dev`)
+
+> Produces a decimal (with up to five decimal places) `D` such that `Dcm`
+> is the largest dimension smaller than the original one and
+> exactly representable both in the `in` and `cm` units. It thus represents
+> the same dimension as `\texdimenbothcmin{<dim. expr.>}in`.
+
+`\texdimenbothcminpt{<dim. expr.>}` (new with `0.9dev`)
+
+> Produces a decimal (with up to five decimal places) `D` such that `Dpt`
+> is the largest dimension smaller than the original one and
+> exactly representable both in the `in` and `cm` units. It thus represents
+> the same dimension as the one provided by `\texdimenbothcmin` and
+> `\texdimenbothincm`.
+
+`\texdimenbothincmpt{<dim. expr.>}` (new with `0.9dev`)
+
+> Same as `\texdimenbothcminpt`.
+
+`\texdimenbothcminsp{<dim. expr.>}` (new with `0.9dev`)
+
+> Produces an integer (explicit digit tokens) `N` such that `Nsp`
+> is the largest dimension smaller than the original one and
+> exactly representable both in the `in` and `cm` units.
+
+`\texdimenbothincmsp{<dim. expr.>}` (new with `0.9dev`)
+
+> Same as `\texdimenbothcminsp`.
+
+
## Extras?
As already stated the "up" and also the "down" macros for the `dd`, `nc`
@@ -418,46 +454,28 @@ some demand for it.
But of course anyhow the output from the "up" macros if used
as input with the corresponding unit will be beyond `\maxdimen` if the
-latter is not atteignable, i.e. for all units except `bp`, and `nd`
+latter is not attainable, i.e. for all units except `bp`, and `nd`
(and `pt` but there is no "up" macro for it).
-Provide a macro `\texdimforbothincm{<dim.expr.>}` which would output
-the nearest dimension simultaneously representable both in `in` and in
-`cm`?
-
According to a reference on the web by an anonymous contributor the
dimensions representable with both `in` and `cm` units have the shape
-`trunc(3613.5*k) sp` for some integer `k`. So we basically may have a
-delta up to about `1800sp` which is about `0.0275pt` and is still small
-(less than one hundredth of a millimeter, i.e. less than ten micron),
-so perhaps such a utility for
-"safe dimensions" may be useful. Here are for example the dimensions
-nearest to `1in` and realizable both in `in` and `cm` units:
-
- >>> \input texdimens.tex\relax
- (executing \input texdimens.tex\relax in background)
- (./texdimens.tex)
- >>> &exact
- exact mode (floating point evaluations use 16 digits)
- >>> (\texdiminin{4737298sp});
- @_10 1.00021
- >>> (\texdimincm{4737298sp});
- @_11 2.54054
- >>> (\dimexpr1.00021in, \dimexpr2.54054cm);
- @_12 4737298, 4737298
- >>> (\texdiminin{4733685sp});
- @_13 0.99945
- >>> (\texdimincm{4733685sp});
- @_14 2.5386
- >>> (\dimexpr0.99945in, \dimexpr2.5386cm);
- @_15 4733685, 4733685
-
-As promised, one of them, the upper approximation, is at less than
-one hundredth of millimeter from the two nearby targets.
-
-Simpler however and more efficient
-would be for people to finally adopt the French revolution Système
-Métrique (rather than setting up giant financial paradises).
+`trunc(3613.5*k)sp` for some integer `k`. The largest one smaller
+than a given dimension will thus differ from it by at most about `0.055pt`,
+which is also about `0.02mm`.
+
+For example `\texdimenbothincm{1cm}` expands to `0.99994cm` which maps
+internally to `1864566sp` which differs from TeX's `1cm` by only
+`-113sp`. It can be obtained from `0.39368in` or `28.45102pt`.
+
+And `\texdimenbothcmin{1in}` expands to `0.99945in`, maps internally to
+`4733685sp` which differs from TeX's `1in` by `-2601sp`. It can be obtained
+as `2.5386cm` or `72.2303pt`.
+
+Currently the package does not provide analogous approximations from above.
+For the `1in` for example it would be `4737298sp`, i.e. `1.00021in` which
+differs from TeX's `1in` by `+1012sp` and is obtained also as `2.54054cm`
+and `72.28543pt`.
+
<!--
-->
diff --git a/macros/generic/texdimens/texdimens.sty b/macros/generic/texdimens/texdimens.sty
index dbf39c72f8..8467e69a6f 100644
--- a/macros/generic/texdimens/texdimens.sty
+++ b/macros/generic/texdimens/texdimens.sty
@@ -1,5 +1,5 @@
% This is file texdimens.tex, part of texdimens package, which
% is distributed under the LPPL 1.3c. Copyright (c) 2021 Jean-François Burnol
-\ProvidesPackage{texdimens}[2021/07/15 v0.9delta conversion of TeX dimensions to decimals (JFB)]
+\ProvidesPackage{texdimens}[2021/07/21 v0.9 conversion of TeX dimensions to decimals (JFB)]
\@@input texdimens.tex\relax
\endinput \ No newline at end of file
diff --git a/macros/generic/texdimens/texdimens.tex b/macros/generic/texdimens/texdimens.tex
index 189caca95d..8103bef1cd 100644
--- a/macros/generic/texdimens/texdimens.tex
+++ b/macros/generic/texdimens/texdimens.tex
@@ -1,29 +1,70 @@
% This is file texdimens.tex, part of texdimens package, which
% is distributed under the LPPL 1.3c. Copyright (c) 2021 Jean-François Burnol
-% 2021/07/15 v0.9delta
+% 2021/07/21 v0.9
+% All macros from 0.9delta release have changed names: \texdimen prefix
+% has replaced \texdimin.
\edef\texdimensendinput{\endlinechar\the\endlinechar\catcode`\noexpand _=\the\catcode`\_\relax\noexpand\endinput}%
\endlinechar13\relax%
\catcode`\_=11
%
-% Mathematics
+% Mathematics ("down" and "up" macros)
% ===========
%
-% Is T sp attainable from unit "uu"?. Here we suppose T>0.
-% phi>1, psi=1/phi, psi<1
-% U(N,phi)=trunc(N phi) is strictly increasing
+% Is T sp attainable from unit "uu"?.
+% If not, what is largest dimension < Tsp which is attainable?
+% Here we suppose T>0.
+%
+% phi>1, psi=1/phi, psi<1.
+%
+% U(N,phi)=trunc(N phi) is the strictly increasing sequence,
+% indexed by non-negative integers, of attainable dimensions.
+% (in sp unit)
+%
% U(N)<= T < U(N+1) iff N = ceil((T+1)psi) - 1
% U(M)< T <= U(M+1) iff M = ceil(T psi) - 1
-% Either:
+%
+% Stumbling block
+% ---------------
+%
+% The stumbling block is that computing "ceil((T+1)psi) - 1" without
+% overflow is not obvious: yes \numexpr/\dimexpr allow so-called
+% "scaling operations" but only in the "rounding up" variant.
+%
+% If we attempt computing the ceil(x) function via round(x+0.5),
+% for example with psi=100/7227 which corresponds to the unit "in",
+% this necessitates evaluating:
+%
+% round((((T+1)*200)+7227)/14454)
+%
+% But as far as I can tell currently, for this we need to be able
+% to evaluate without overflow (T+1)*200+7227 and this limits to
+% T's which are (roughly) such that 100 T is less than \maxdimen.
+%
+% A work-around
+% -------------
+%
+% The rest of the discussion is about an algorithm providing an
+% alternative route to N, using \numexpr/\dimexpr/TeX facilities,
+% and working with (almost, as we will see) the full range of allowed
+% T's, 0 < T <= \maxdimen. (that the algorithm works for T=0 is to be
+% checked manually after the main discussion).
+%
+% Let's return to the U(N)<= T < U(N+1) and U(M)< T <= U(M+1) equations.
+%
+% Either (recall in all of this T > 0):
+%
% case1: M = N, i.e. T is not attainable, M=N < T psi < (T+1) psi <= N+1
-% case2: M = N - 1, i.e. T is attained, T psi <= N < (T+1) psi, T = floor(N phi)
+% case2: M = N - 1, i.e. T is attained, T psi <= N < (T+1) psi, T = trunc(N phi)
%
-% Let X = round(T psi). And let Y = trunc(X phi).
+% Let X = round(T psi). And let Y = trunc(X phi). We will explain later
+% how X and Y can be computed using \numexpr/\dimexpr/TeX.
%
% case1: X can be N or N+1. It will be N+1 iff Y > T.
% case2: X can be N or N-1. It will be N iff trunc((X+1)phi)>T.
%
-% This is not convenient: if Y <= T it might still be that we are in case 2
-% and we must check then if trunc((X+1) phi) > T or not.
+% This is not convenient: if Y < T it could be that we are in case 2
+% but to decide we must check if trunc((X+1) phi) = T or not, so
+% this means a second computation.
%
% If psi < 0.5
% ------------
@@ -37,11 +78,11 @@
% a) compute X = round(T psi)
% b) compute Y = trunc(X phi) and test if Y > T. If true, we
% were in case 1, replace X by X - 1, else we were either
-% in case 1 or case 2, but we can leave X as is.
+% in case 1 or case 2, and we leave X as it is.
% We have thus found N.
%
% The operation Y = trunc(X phi) can be achieved this way:
-% i) use \the\dimexpr to convert X sp into D pt,
+% i) use \the\dimexpr to convert X sp into D pt,
% ii) use \the\numexpr\dimexpr to convert "D uu" into sp.
% These steps give Y.
%
@@ -50,14 +91,14 @@
%
% The computations of X and Y can be done independently of sign of T.
% But the final test has to be changed to Y < T if T < 0 and then
-% one must replace X by X+1. So we must filter sign.
+% one must replace X by X+1. So we must filter out the sign of the input.
%
-% If the goal is only to find a decimal D such that "D uu" is
+% If the goal is only to find a decimal D such that "D uu" is
% exactly T sp in the case this is possible, then things are simpler
% because from X = round(T psi) we get D such as X sp is same as D pt
% and "D uu" will work.
% We don't have to take sign into account for this computation.
-% But if T sp was not atteignable we don't know if this X will give
+% But if T sp was not attainable we don't know if this X will give
% a D such that D uu < T sp or D uu > T sp.
%
% If psi > 0.5
@@ -65,7 +106,7 @@
%
% For example unit "bp" has phi=803/800.
%
-% It is then not true that if T sp is atteignable, the X = round(T psi)
+% It is then not true that if T sp is attainable, the X = round(T psi)
% will always work.
%
% But it is true that R = round((T + 0.5) psi) will always work.
@@ -76,7 +117,7 @@
%
% So this gives an approach to find a D such that "D uu" is exactly
% T sp when this is possible.
-%
+%
% If Tsp (positive) is not attainable, this R however can produce
% either N or N+1.
%
@@ -86,42 +127,38 @@
% It is slightly less costly to compute X = round(T psi) than
% R = round((T + 0.5) psi),
% but if we then realize that trunc(X phi) < T we do not yet know
-% if trunc((X+1) phi) = T or is > T.
+% if trunc((X+1) phi) = T or is > T. So we proceed via R, not X,
+% to not have to make a second computation if a dimension comparison
+% test goes awry.
%
% To recapitulate: we have our algorithm for all units to find out
-% maximal dimension exactly atteignable in "uu" unit and at most equal
+% maximal dimension exactly attainable in "uu" unit and at most equal
% to (positive) T sp.
%
% Unfortunately the check that Y (in case psi < 0.5) or Z (in case psi >
-% 0.5) may trigger a Dimension too large error if T sp was near
-% non-atteignable \maxdimen.
-%
-% For additional envisioned "safe versions" we would tabulate first per unit
-% what is the integer Rmax such that trunc(Rmax phi) <= \maxdimen. Then
-% the "safe" versions would have an extra check of X or R before
-% proceeding further. But the "up macros" supposed to give the next
-% dimension above Tsp and exactly atteignable in "uu" unit, if compliant
-% to their description can not avoid "Dimension too large" for inputs
-% close to non-attainable \maxdimen.
-%
-% After having written the macros we will tabulate what is for each unit
-% the maximal attainable dimension.
-%
-% About the macros such as \texdiminbp whose constraints are:
-% - give a decimal D such that "Duu" = "T sp" for TeX if possible
-% - else give nearest from below or above without knowing
-% which one,
-%
-% there was some hesitation about whether or not using the simpler
-% round(T psi) approach for units > 2pt and the \texdimin<uu> macros.
-% Testing showed that this did not change the output for \maxdimen
-% with the units "nc" and "in": still N+1 is returned...
-%
-% As it has great
-% advantage to not have to check the sign of the input, the
-% "simpler" approach was chosen for those units to which it
-% applies, i.e. the units uu > 2pt (phi>2, psi<1/2), i.e.
-% all units except bp, nd and dd.
+% 0.5) verifies or not Y > T may trigger a Dimension too large error if
+% T sp was near non-attainable \maxdimen. It turns out this sad
+% situation happens only for the units `dd`, `nc`, and `in`, and T sp
+% very close to \maxdimen (like for all units apart from `pt`, `bp`,
+% `nd`, the \maxdimen is not attainable, and by bad luck for `dd`, `nc`,
+% and `in`, the X will correspond to a decimal D such that Duu>\maxdimen
+% is the nearest virtually attaible dimensions from above not from
+% below; see the README.md for the tabulation of the maximal usable inputs).
+%
+% Regarding the \texdimen<uu> macros, and units with phi > 2, I
+% hesitated using either the round((T+0.5)psi) or round(T psi), but for
+% Tsp = \maxdimen, both formulas turned out to give the same result for
+% all such units, so I chose for these \texdimen<uu> macros and the
+% units with phi>2 to use the simpler round(T psi) which does not need
+% to check the sign of T.
+%
+% For the "up" and "down" macros, we again use the round(T psi), but do
+% have to check the sign anyhow. We could also have used the
+% round((T+0.5)psi) which requires a sign check too, but it costs a bit
+% more. It would have allowed though to share the same codebase for all
+% units, here we have to prepare some slightly different shared macros
+% for the first batch bp, nd, dd and the second batch mm, pc, nc, cc,
+% cm, in.
%
% Implementation
% ==============
@@ -171,87 +208,164 @@
%
% pt
%
-\def\texdiminpt#1{\expandafter\texdimenstrippt\the\dimexpr#1\relax}%
+\def\texdimenpt#1{\expandafter\texdimenstrippt\the\dimexpr#1\relax}%
%
% bp 7227/7200 = 803/800
%
-\def\texdiminbp#1{\expandafter\texdiminbp_\the\numexpr\dimexpr#1;}%
-\def\texdiminbp_#1#2;{%
+\def\texdimenbp#1{\expandafter\texdimenbp_\the\numexpr\dimexpr#1;}%
+\def\texdimenbp_#1#2;{%
\expandafter\texdimenstrippt\the\dimexpr\numexpr(2*#1#2+\if-#1-\fi1)*400/803sp\relax
}%
-% \texdiminbpdown: maximal dim exactly expressible in bp and at most equal to input
-\def\texdiminbpdown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*400/803;bp;}%
-% \texdiminbpup: minimal dim exactly expressible in bp and at least equal to input
-\def\texdiminbpup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*400/803;bp;}%
+% \texdimenbpdown: maximal dim exactly expressible in bp and at most equal to input
+\def\texdimenbpdown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*400/803;bp;}%
+% \texdimenbpup: minimal dim exactly expressible in bp and at least equal to input
+\def\texdimenbpup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*400/803;bp;}%
%
% nd 685/642
%
-\def\texdiminnd#1{\expandafter\texdiminnd_\the\numexpr\dimexpr#1;}%
-\def\texdiminnd_#1#2;{%
+\def\texdimennd#1{\expandafter\texdimennd_\the\numexpr\dimexpr#1;}%
+\def\texdimennd_#1#2;{%
\expandafter\texdimenstrippt\the\dimexpr\numexpr(2*#1#2+\if-#1-\fi1)*321/685sp\relax
}%
-% \texdiminnddown: maximal dim exactly expressible in nd and at most equal to input
-\def\texdiminnddown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*321/685;nd;}%
-% \texdiminndup: minimal dim exactly expressible in nd and at least equal to input
-\def\texdiminndup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*321/685;nd;}%
+% \texdimennddown: maximal dim exactly expressible in nd and at most equal to input
+\def\texdimennddown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*321/685;nd;}%
+% \texdimenndup: minimal dim exactly expressible in nd and at least equal to input
+\def\texdimenndup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*321/685;nd;}%
%
% dd 1238/1157
%
-\def\texdimindd#1{\expandafter\texdimindd_\the\numexpr\dimexpr#1;}%
-\def\texdimindd_#1#2;{%
+\def\texdimendd#1{\expandafter\texdimendd_\the\numexpr\dimexpr#1;}%
+\def\texdimendd_#1#2;{%
\expandafter\texdimenstrippt\the\dimexpr\numexpr(2*#1#2+\if-#1-\fi1)*1157/2476sp\relax
}%
-% \texdimindddown: maximal dim exactly expressible in dd and at most equal to input
-\def\texdimindddown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*1157/2476;dd;}%
-% \texdiminddup: minimal dim exactly expressible in dd and at least equal to input
-\def\texdiminddup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*1157/2476;dd;}%
+% \texdimendddown: maximal dim exactly expressible in dd and at most equal to input
+\def\texdimendddown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*1157/2476;dd;}%
+% \texdimenddup: minimal dim exactly expressible in dd and at least equal to input
+\def\texdimenddup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*1157/2476;dd;}%
%
% mm 7227/2540 phi now >2, use from here on the simpler approach
%
-\def\texdiminmm#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*2540/7227\relax}%
-% \texdiminmmdown: maximal dim exactly expressible in mm and at most equal to input
-\def\texdiminmmdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*2540/7227;mm;}%
-% \texdiminmmup: minimal dim exactly expressible in mm and at least equal to input
-\def\texdiminmmup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*2540/7227;mm;}%
+\def\texdimenmm#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*2540/7227\relax}%
+% \texdimenmmdown: maximal dim exactly expressible in mm and at most equal to input
+\def\texdimenmmdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*2540/7227;mm;}%
+% \texdimenmmup: minimal dim exactly expressible in mm and at least equal to input
+\def\texdimenmmup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*2540/7227;mm;}%
%
% pc 12/1
%
-\def\texdiminpc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)/12\relax}%
-% \texdiminpcdown: maximal dim exactly expressible in pc and at most equal to input
-\def\texdiminpcdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;/12;pc;}%
-% \texdiminpcup: minimal dim exactly expressible in pc and at least equal to input
-\def\texdiminpcup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;/12;pc;}%
+\def\texdimenpc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)/12\relax}%
+% \texdimenpcdown: maximal dim exactly expressible in pc and at most equal to input
+\def\texdimenpcdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;/12;pc;}%
+% \texdimenpcup: minimal dim exactly expressible in pc and at least equal to input
+\def\texdimenpcup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;/12;pc;}%
%
% nc 1370/107
%
-\def\texdiminnc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*107/1370\relax}%
-% \texdiminncdown: maximal dim exactly expressible in nc and at most equal to input
-\def\texdiminncdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*107/1370;nc;}%
-% \texdiminncup: minimal dim exactly expressible in nc and at least equal to input
-\def\texdiminncup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*107/1370;nc;}%
+\def\texdimennc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*107/1370\relax}%
+% \texdimenncdown: maximal dim exactly expressible in nc and at most equal to input
+\def\texdimenncdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*107/1370;nc;}%
+% \texdimenncup: minimal dim exactly expressible in nc and at least equal to input
+\def\texdimenncup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*107/1370;nc;}%
%
% cc 14856/1157
%
-\def\texdimincc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*1157/14856\relax}%
-% \texdiminccdown: maximal dim exactly expressible in cc and at most equal to input
-\def\texdiminccdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*1157/14856;cc;}%
-% \texdiminccup: minimal dim exactly expressible in cc and at least equal to input
-\def\texdiminccup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*1157/14856;cc;}%
+\def\texdimencc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*1157/14856\relax}%
+% \texdimenccdown: maximal dim exactly expressible in cc and at most equal to input
+\def\texdimenccdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*1157/14856;cc;}%
+% \texdimenccup: minimal dim exactly expressible in cc and at least equal to input
+\def\texdimenccup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*1157/14856;cc;}%
%
% cm 7227/254
%
-\def\texdimincm#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*254/7227\relax}%
-% \texdimincmdown: maximal dim exactly expressible in cm and at most equal to input
-\def\texdimincmdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*254/7227;cm;}%
-% \texdimincmup: minimal dim exactly expressible in cm and at least equal to input
-\def\texdimincmup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*254/7227;cm;}%
+\def\texdimencm#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*254/7227\relax}%
+% \texdimencmdown: maximal dim exactly expressible in cm and at most equal to input
+\def\texdimencmdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*254/7227;cm;}%
+% \texdimencmup: minimal dim exactly expressible in cm and at least equal to input
+\def\texdimencmup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*254/7227;cm;}%
%
% in 7227/100
%
-\def\texdiminin#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*100/7227\relax}%
-% \texdiminindown: maximal dim exactly expressible in in and at most equal to input
-\def\texdiminindown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*100/7227;in;}%
-% \texdimininup: minimal dim exactly expressible in in and at least equal to input
-\def\texdimininup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*100/7227;in;}%
+\def\texdimenin#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*100/7227\relax}%
+% \texdimenindown: maximal dim exactly expressible in in and at most equal to input
+\def\texdimenindown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*100/7227;in;}%
+% \texdimeninup: minimal dim exactly expressible in in and at least equal to input
+\def\texdimeninup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*100/7227;in;}%
+% both in and cm
+% Mathematics ("both" macros)
+% ===========
+%
+% Let a and b be two non-negative integers such that U = floor(a 7227/100) =
+% floor(b 7227/254). It can be proven that a=50k, b=127k for some integer k.
+% The proof is left to reader. So U = floor(7227 k /2) for some k.
+%
+% Let's now find the largest such U <= T. So U = floor(k 7227/2)<= T which is
+% equivalent (as k is integer) to k 7227/2 <= T + 1/2, i.e.
+%
+% kmax = floor((2T+1)/7227)
+%
+% If we used for x>0 the formula floor(x)=round(x-1/2)=<x-1/2> we would end
+% up basically with some 4T hence overflow problems even in \numexpr.
+% Here I used <.> to denote rounding in the sense of \numexpr. It is not
+% 1-periodical due to how negative inputs are handled, but here x-1/2>-1/2.
+%
+% The following lemma holds: let T be a non-negative integer then
+%
+% floor((2T+1)/7227) = <(2T - 3612)/7227>
+%
+% So we can compute this k, hence get a=50k, b=127k, all within \numexpr and
+% avoiding overflow.
+%
+% Implementation
+% ==============
%
+% Regarding the output in pt or sp, we seem to need floor(k 7227/2).
+% The computation of floor(k 7227/2) as <(7227 k - 1)/2> would require to
+% check if k==0 so we do it rather as <(7227 k + 1)/2> - 1. No overflow
+% can arise as k = 297147 for \maxdimen, and then 7227 k = 2**31 - 2279 and
+% there is ample room for 7227k+1 using \numexpr.
+%
+% But this step, as well as initial step to get kmax will require to separate
+% hangdling of negative input from positive one.
+%
+% Alternative
+% -----------
+%
+% For non-negative T we can compute U = ((T+1)/7227)*7227. If U <= T keep it,
+% else if U > T, replace it by U - 3614. This is alternative road to the maximal
+% floor(k 7227/2) at most equal to T.
+%
+% There is some slight under-efficiency to share macros across the 3 end targets
+% as I added one layer of parentheses.
+\def\texdimenbothincm#1{\expandafter\texdimenstrippt\the\dimexpr
+ \expandafter\texdimenboth_a\the\numexpr\dimexpr#1;127);}%
+\def\texdimenbothcmin#1{\expandafter\texdimenstrippt\the\dimexpr
+ \expandafter\texdimenboth_a\the\numexpr\dimexpr#1;50);}%
+\def\texdimenbothincmpt#1{\expandafter\texdimenstrippt\the\dimexpr
+ \expandafter\texdimenboth_a\the\numexpr\dimexpr#1;7227+1)/2-1;}%
+\let\texdimenbothcminpt\texdimenbothincmpt
+\def\texdimenboth_a#1{\if-#1\texdimenboth_neg\fi\texdimenboth_b#1}%
+% The opening parenthesis ( is closed in #2, it was added to share "pt" output
+% with the two others
+\def\texdimenboth_b#1;#2;{\numexpr(((2*#1-3612)/7227)*#2sp\relax}%
+% negative branch. This is expanded in a \dimexpr so we can insert the -
+% in front of the \numexpr.
+% #1 is \fi here and #2 is \texdimenboth_b
+\def\texdimenboth_neg#1#2-#3;#4;{#1-\numexpr(((2*#3-3612)/7227)*#4sp\relax}%
+%
+% \texdimenbothincmsp is done separately as I found no easy way to share
+% its macros with the others; alternative would have been to make it the
+% core, and derive the others from it, (\texdimencm{\texdimenbothincmsp{...}sp})
+% but then they would be less efficient than their current versions.
+% (it is a bit ironical to worry about not creating too many macros
+% in such a small package, by the way)
+\def\texdimenbothincmsp#1{\the\numexpr\expandafter\texdimenbothsp_a\the\numexpr\dimexpr#1;}%
+\def\texdimenbothsp_a#1{\if-#1\texdimenbothsp_neg\fi\texdimenbothsp_b#1}%
+\def\texdimenbothsp_b#1;{(((2*#1-3612)/7227)*7227+1)/2-1\relax}%
+% #1 is \fi
+% we need to regrab here or to add a \numexpr..\relax layer to
+% \texdimenbothsp_b (parentheses could do but using 0-(...) syntax)
+% finally doing the job of \texdimenbothsp_b directly
+\def\texdimenbothsp_neg#1#2-#3;{#1-\numexpr(((2*#3-3612)/7227)*7227+1)/2-1\relax\relax}%
+%
+\let\texdimenbothcminsp\texdimenbothincmsp
\texdimensendinput
diff --git a/macros/generic/xstring/README b/macros/generic/xstring/README
index 8234833cb9..ce2ea5d24e 100644
--- a/macros/generic/xstring/README
+++ b/macros/generic/xstring/README
@@ -1,8 +1,8 @@
_________________
xstring package
- v 1.83
- 2019/02/06
+ v 1.84
+ 2021/07/21
_________________
This package provides macros manipulating strings for programming use.
diff --git a/macros/generic/xstring/test_etex.pdf b/macros/generic/xstring/test_etex.pdf
index 4d2b8134b2..17cb0ae3ac 100644
--- a/macros/generic/xstring/test_etex.pdf
+++ b/macros/generic/xstring/test_etex.pdf
Binary files differ
diff --git a/macros/generic/xstring/test_latex.pdf b/macros/generic/xstring/test_latex.pdf
index 2642a17751..8a1ee001e8 100644
--- a/macros/generic/xstring/test_latex.pdf
+++ b/macros/generic/xstring/test_latex.pdf
Binary files differ
diff --git a/macros/generic/xstring/xstring-en.pdf b/macros/generic/xstring/xstring-en.pdf
index d7581cd5e1..7a9da7b093 100644
--- a/macros/generic/xstring/xstring-en.pdf
+++ b/macros/generic/xstring/xstring-en.pdf
Binary files differ
diff --git a/macros/generic/xstring/xstring-en.tex b/macros/generic/xstring/xstring-en.tex
index 94c46f9d3f..61b6ad8078 100644
--- a/macros/generic/xstring/xstring-en.tex
+++ b/macros/generic/xstring/xstring-en.tex
@@ -178,7 +178,7 @@ In the following chapters, all the macros will be presented this plan:
\textbf{Important}: in the following, a \argu{number} can be an integer written with numeric chars, a counter, or the result of an arithmetic operation made with the command \verbinline|\numexpr|.\smallskip
-All the macros of \Xstring are displayed in {\makeatletter\color{@xs@keywordsxstring}red}.
+All the macros of \Xstring are displayed in {\makeatletter\color{@xs@keywordsxstring}blue}.
\subsection{The tests}
\subsubsection{\ttfamily\textbackslash IfSubStr}
diff --git a/macros/generic/xstring/xstring-fr.pdf b/macros/generic/xstring/xstring-fr.pdf
index a1f72f8635..0550b0393d 100644
--- a/macros/generic/xstring/xstring-fr.pdf
+++ b/macros/generic/xstring/xstring-fr.pdf
Binary files differ
diff --git a/macros/generic/xstring/xstring-fr.tex b/macros/generic/xstring/xstring-fr.tex
index a339416149..0949306ec0 100644
--- a/macros/generic/xstring/xstring-fr.tex
+++ b/macros/generic/xstring/xstring-fr.tex
@@ -182,7 +182,7 @@ Dans ce chapitre, la totalité des macros est présentée selon ce plan :\par\no
\textbf{Important} : dans les macros qui suivent, sauf cas spécifié, un \argu{nombre} est un nombre entier, un compteur, ou le résultat d'une opération arithmétique effectuée à l'aide de la primitive \verb|\numexpr|.\smallskip
-Dans le reste du texte, les macros de \Xstring sont affichées en {\makeatletter\color{@xs@keywordsxstring}rouge}.
+Dans le reste du texte, les macros de \Xstring sont affichées en {\makeatletter\color{@xs@keywordsxstring}bleu}.
\subsection{Les tests}
\subsubsection{\ttfamily\textbackslash IfSubStr}
diff --git a/macros/generic/xstring/xstring.tex b/macros/generic/xstring/xstring.tex
index 654fe462ae..d5dcd6354f 100644
--- a/macros/generic/xstring/xstring.tex
+++ b/macros/generic/xstring/xstring.tex
@@ -1,12 +1,12 @@
-% !TeX encoding = ISO-8859-1
+% !TeX encoding = UTF-8
% Ce fichier contient le code de l'extension "xstring"
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
\def\xstringname {xstring} %
-\def\xstringversion {1.83} %
+\def\xstringversion {1.84} %
% %
-\def\xstringdate {2019/02/06} %
+\def\xstringdate {2021/07/21} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -32,7 +32,7 @@
\immediate\write-1 {Package: xstring \xstringdate\space v\xstringversion\space String manipulations (CT)}%
\fi
\newcount\integerpart
-\newcount\decimalpart% compteurs utilisés par xstring
+\newcount\decimalpart% compteurs utilisés par xstring
\edef\restorexstringcatcode{\catcode\number`\_ =\number\catcode`\_\relax}
\catcode`\_=11
@@ -76,14 +76,14 @@
\xs_read_verb
}
-\def\setverbdelim#1{% définit quel est le délimiteur de verb
+\def\setverbdelim#1{% définit quel est le délimiteur de verb
\xs_exparg\xs_ifempty{\xs_gobarg#1}%
{}
{\errmessage{Package xstring Warning: verb delimiter "\detokenize{#1}" is not a single token}}%
- \def\xs_read_verb##1#1##2#1{\endgroup\xs_assign_verb{##2}}% on appelle l'exécution de fin
+ \def\xs_read_verb##1#1##2#1{\endgroup\xs_assign_verb{##2}}% on appelle l'exécution de fin
}
-% Assigne l'argument entre délimiteur verb dans la sc #1
+% Assigne l'argument entre délimiteur verb dans la sc #1
\def\verbtocs#1{%
\def\xs_assign_verb##1{\def#1{##1}}%
\xs_toks_toverb
@@ -99,7 +99,7 @@
\def\tokenize#1#2{%
\begingroup
- \xs_def\xs_reserved_A{#2}% on développe en accord avec \fullexpandarg ou \noexpandarg
+ \xs_def\xs_reserved_A{#2}% on développe en accord avec \fullexpandarg ou \noexpandarg
\everyeof\expandafter{\xs_twozeroschars#1}%
\endlinechar-1
\expandafter\xs_assigntokenizeresult\scantokens\expandafter{\expandafter\relax\xs_reserved_A}% on fait l'assignation
@@ -111,18 +111,18 @@
\def\xs_ledef{\long\edef}
\def\normalexpandarg{%
- \let\xs_def\xs_ldef% on définit \xs_call avec \def
+ \let\xs_def\xs_ldef% on définit \xs_call avec \def
\def\xs_expand##1{\unexpanded\expandafter{##1}}%
}
\let\noexpandarg\normalexpandarg% synonyme
\def\expandarg{%
- \let\xs_def\xs_ldef% on définit \xs_call avec \def
+ \let\xs_def\xs_ldef% on définit \xs_call avec \def
\def\xs_expand##1{\unexpanded\expandafter\expandafter\expandafter{##1}}%
}
\def\fullexpandarg{%
- \let\xs_def\xs_ledef% on définit\xs_call avec \edef
+ \let\xs_def\xs_ledef% on définit\xs_call avec \edef
\def\xs_expand##1{##1}% et on neutralise \xs_expand
}
@@ -144,7 +144,7 @@
\endcsname
}
-% Cette macro interne prend la 1ere unité syntaxique de #1 et assigne le résultat à #2
+% Cette macro interne prend la 1ere unité syntaxique de #1 et assigne le résultat à #2
\long\def\xs_returnfirstsyntaxunit#1#2{%
\let\xs_toks\relax
\xs_ifempty{#1}
@@ -179,18 +179,18 @@
}%
}
-% Cette macro interne est utilisée dans les macros étoilées pour :
-% 1) développer l'argument selon qu'on a choisit \fullexpandarg
-% ou \normalexpandarg, et ceci à l'aide de la macro \xs_def
-% 2) Ensuite, on détokenize ce développement de façon n'avoir plus que
+% Cette macro interne est utilisée dans les macros étoilées pour :
+% 1) développer l'argument selon qu'on a choisit \fullexpandarg
+% ou \normalexpandarg, et ceci à l'aide de la macro \xs_def
+% 2) Ensuite, on détokenize ce développement de façon n'avoir plus que
% des catcodes de 10 pour les espaces et 12 pour le reste.
\long\def\xs_expand_and_detokenize#1#2{%
\long\def#1{#2}%
- \expandafter\edef\expandafter#1\expandafter{\xs_expand#1}% on développe #2 selon le mode de développement
- \long\edef#1{\detokenize\expandafter{#1}}% puis on détokenize et on assigne à #1
+ \expandafter\edef\expandafter#1\expandafter{\xs_expand#1}% on développe #2 selon le mode de développement
+ \long\edef#1{\detokenize\expandafter{#1}}% puis on détokenize et on assigne à #1
}
-\long\def\xs_expand_and_assign#1#2{\xs_def#1{#2}}% on développe #2 selon \fullexpandarg ou \normalexpandarg
+\long\def\xs_expand_and_assign#1#2{\xs_def#1{#2}}% on développe #2 selon \fullexpandarg ou \normalexpandarg
\def\xs_arglist{0########1########2########3########4########5########6########7########8########9}
@@ -205,7 +205,7 @@
\def\xs_assign_one_arg#1{\xs_exparg\xs_assign_one_arg_i{\number\numexpr#1-1}{#1}}
\def\xs_assign_one_arg_i#1#2{\def\xs_assign_one_arg_ii##1#1##2#2##3\_nil{\def\xs_myarg{##2#2}}\expandafter\xs_assign_one_arg_ii\xs_arglist\_nil}
-% #1 : numéro du 1er argument; #2 : nombre de lignes; #3 argument optionnel; #4 : dernier numéro de l'argument devant être détokenisé si étoile
+% #1 : numéro du 1er argument; #2 : nombre de lignes; #3 argument optionnel; #4 : dernier numéro de l'argument devant être détokenisé si étoile
\def\xs_buildlines#1#2#3#4{%
\let\xs_newlines\empty
\let\xs_newargs\empty
@@ -218,7 +218,7 @@
\edef\xs_reserved_B{\ifnum##1>#4 xs_def\else xs_assign\fi}%
}% et s'il y a un argument optionnel alors, on met des crochets
{\xs_eaddtomacro\xs_newargs{\expandafter[\xs_reserved_B]}%
- \def\xs_reserved_B{xs_def}% ne pas détokéniser l'argument optionnel grace au \xs_def
+ \def\xs_reserved_B{xs_def}% ne pas détokéniser l'argument optionnel grace au \xs_def
}%
}
{\xs_eaddtomacro\xs_newargs{\expandafter{\xs_reserved_B}}%
@@ -238,7 +238,7 @@
{\let\xs_reserved_D\relax\xs_newmacro_0}%
}
-% #1 : dernier numéro de l'argument devant être détokenisé
+% #1 : dernier numéro de l'argument devant être détokenisé
% #2 : nom de la macro publique
% #3 : argument optionnel (vide si pas d'arg optionnel)
% #4 : nombre d'arguments obligatoires
@@ -263,7 +263,7 @@
\noexpand\xs_testopt{\expandafter\noexpand\csname\xs_reserved_A __\endcsname}{\ifx\xs_def\xs_ledef#3\else\unexpanded{#3}\fi}}%
\fi
}%
- % Que fait \xs_reserved_B ? Il définit :
+ % Que fait \xs_reserved_B ? Il définit :
% si #3 est vide : \NOM{\xs_ifstar{\let\xs_assign\xs_expand_and_detokenize\xs_NOM__}{\let\xs_assign\xs_expand_and_assign\xs_NOM__}}
% si #3 existe : \NOM{\xs_ifstar{\let\xs_assign\xs_expand_and_detokenize\xs_NOM_}{\let\xs_assign\xs_expand_and_assign\xs_NOM_}}
% \xs_NOM_{\xs_testopt{\xs_NOM__}{#3}}}
@@ -281,7 +281,7 @@
\ifnum#5=1 \edef\xs_reserved_D{\noexpand\noexpand\noexpand\xs_testopt{\unexpanded\expandafter{\xs_reserved_D}}{}}\fi
\xs_edefaddtomacro\xs_reserved_C{{\unexpanded\expandafter{\xs_reserved_D}}\noexpand\xs_call}%
\xs_edefaddtomacro\xs_reserved_B{{\unexpanded\expandafter{\xs_reserved_C}}}%
- % Que fait \xs_reserved_B ? Il définit par exemple pour 3 arguments obligatoires et 1 facultatif :
+ % Que fait \xs_reserved_B ? Il définit par exemple pour 3 arguments obligatoires et 1 facultatif :
% \def\xs_NOM__[##2]##3##4##5{%
% \xs_def\xs_arg_i{##2}\xs_assign\xs_arg_ii{##3}\xs_assign\xs_arg_iii{##4}\xs_asign\xs_arg_iv{##5}%
% si #5=0: \edef\xs_call{\noexpand\xs_NOM[\xs_expand\xs_arg_i]{\xs_expand\xs_arg_ii}{\xs_expand\xs_arg_iii}{\xs_expand\xs_arg_iv}}%
@@ -292,15 +292,15 @@
\def\expandafter\noexpand\csname\xs_reserved_A\endcsname
\xs_myarg\ifnum#5=1 [\unexpanded{##}\number\numexpr\ifx\empty#3\empty#4+1\else#4+2\fi]\fi
}%
- % Que fait \xs_reserved_B ? Il définit par exemple pour 3 arguments obligatoires et 1 facultatif :
+ % Que fait \xs_reserved_B ? Il définit par exemple pour 3 arguments obligatoires et 1 facultatif :
% \def \xs_NOM[##2]##3##4##5[##6]{#6}
\long\xs_reserved_B
}
-% macro générique qui lit \xs_reserved_C us par us
-% 3 sous-routines sont appelées à des moments clé :
-% \xs_atendofgroup (un groupe se finit, appel récursif)
-% \xs_atbegingroup (un groupe vient d'être ouvert)
+% macro générique qui lit \xs_reserved_C us par us
+% 3 sous-routines sont appelées à des moments clé :
+% \xs_atendofgroup (un groupe se finit, appel récursif)
+% \xs_atbegingroup (un groupe vient d'être ouvert)
% \xs_atnextsyntaxunit (la future US n'est pas un groupe)
\def\xs_read_reserved_C{%
\xs_exparg\xs_ifempty{\xs_reserved_C}%
@@ -329,9 +329,9 @@
}%
}
-% macro générique qui lit \xs_reserved_D en procédant à des tests avec \IfBeginWith
-% 1 sous-routine est appelée :
-% \xs_atoccurfound (une occurrence a été trouvée)
+% macro générique qui lit \xs_reserved_D en procédant à des tests avec \IfBeginWith
+% 1 sous-routine est appelée :
+% \xs_atoccurfound (une occurrence a été trouvée)
\def\xs_read_reserved_D{%
\xs_exparg\xs_ifempty{\xs_reserved_D}%
{\xs_ifnum{\xs_nestlevel=0 }
@@ -403,11 +403,11 @@
}%
}
-% \xs_cutafteroccur coupe l'argument #1 après la #3ème occurrence de #2
+% \xs_cutafteroccur coupe l'argument #1 après la #3ème occurrence de #2
% \xs_reserved_C : contient ce qui se trouve avant cette occurrence
% \xs_reserved_D : contient ce qui se trouve avant cette occurrence y compris cette occurrence
-% \xs_reserved_E : contient ce qui se trouve après l'occurrence
-% si l'occurrence n'existe pas ou qu'un des arguments est vide, toutes les chaines renvoyées sont vides
+% \xs_reserved_E : contient ce qui se trouve après l'occurrence
+% si l'occurrence n'existe pas ou qu'un des arguments est vide, toutes les chaines renvoyées sont vides
\long\def\xs_cutafteroccur#1#2#3{%
\xs_ifnum{#3<1 }
{\let\xs_reserved_C\empty\let\xs_reserved_E\empty\gdef\groupID{}}
@@ -425,13 +425,13 @@
\noexpand\decimalpart=\number\decimalpart\relax
}%
\expandafter\xs_exitallgroups\__temp
- \xs_gobarg% mange l'appel récursif \xs_read_reserved_D dans \xs_read_reserved_D
+ \xs_gobarg% mange l'appel récursif \xs_read_reserved_D dans \xs_read_reserved_D
}
{\xs_eaddtomacro\xs_reserved_C{\xs_reserved_E}%
}%
}%
\xs_read_reserved_D
- \xs_ifnum{\decimalpart=\numexpr(#3)\relax}% occurrence trouvée ?
+ \xs_ifnum{\decimalpart=\numexpr(#3)\relax}% occurrence trouvée ?
{\let\xs_reserved_E\xs_reserved_D
\xs_exparg{\def\xs_reserved_D}{\xs_reserved_C#2}%
}
@@ -454,16 +454,16 @@
\long\def\xs_IfBeginWith_i#1#2{%
\xs_ifempty{#2}%
- {\xs_execfirst% #2 est vide, tous les tests sont passés avec succès : on renvoie #3
+ {\xs_execfirst% #2 est vide, tous les tests sont passés avec succès : on renvoie #3
}
{\xs_ifempty{#1}%
{\xs_execsecond% #1 est vide, c'est que #2 est + long que #1 : on renvoie #4
}
{\xs_returnfirstsyntaxunit{#2}\xs_reserved_B
\xs_returnfirstsyntaxunit{#1}\xs_reserved_A
- \xs_ifx{\xs_reserved_A\xs_reserved_B}% il y a égalité...
+ \xs_ifx{\xs_reserved_A\xs_reserved_B}% il y a égalité...
{\xs_removefirstsyntaxunit{#2}\xs_reserved_B
- \xs_removefirstsyntaxunit{#1}\xs_reserved_A% on enlève les 1ere unités syntaxiques
+ \xs_removefirstsyntaxunit{#1}\xs_reserved_A% on enlève les 1ere unités syntaxiques
\xs_exptwoargs\xs_IfBeginWith_i\xs_reserved_A\xs_reserved_B
}
{\xs_execsecond
@@ -538,7 +538,7 @@
\expandafter\xs_testdot\afterinteger\_nil
\xs_ifx{\empty\afterdecimal}
{\xs_ifnum{\decimalpart=0 }
- {\xs_execfirst% partie décimale constituée de 0 --> seul cas où on renvoie vrai
+ {\xs_execfirst% partie décimale constituée de 0 --> seul cas où on renvoie vrai
}
{\expandafter\xs_defafterinteger\xs_after_intpart\relax\_nil
\xs_execsecond
@@ -583,36 +583,36 @@
\expandafter\xs_defafterdecimal\afterinteger\_nil
}
-% test d'égalité sur des chaines (et des chaines contenant des nombres)
+% test d'égalité sur des chaines (et des chaines contenant des nombres)
\long\def\xs_IfStrEqFalse_i#1#2{\let\xs_reserved_A\xs_execsecond}
-\long\def\xs_IfStrEqFalse_ii#1#2{% renvoie vrai si les 2 arg sont décimaux et s'ils sont égaux, faux sinon
+\long\def\xs_IfStrEqFalse_ii#1#2{% renvoie vrai si les 2 arg sont décimaux et s'ils sont égaux, faux sinon
\xs_IfDecimal{#1}%
{\xs_IfDecimal{#2}%
{\ifdim#1pt=#2pt
\let\xs_reserved_A\xs_execfirst
\else
\let\xs_reserved_A\xs_execsecond
- \fi% les 2 sont décimaux : on fait le test
+ \fi% les 2 sont décimaux : on fait le test
}%
- {\let\xs_reserved_A\xs_execsecond}% un seul est décimal
+ {\let\xs_reserved_A\xs_execsecond}% un seul est décimal
}%
- {\let\xs_reserved_A\xs_execsecond}% #1 n'est pas décimal
+ {\let\xs_reserved_A\xs_execsecond}% #1 n'est pas décimal
}
-\long\def\xs_TestEqual#1#2{% teste si les 2 arguments sont égaux
+\long\def\xs_TestEqual#1#2{% teste si les 2 arguments sont égaux
\def\xs_reserved_A{#1}\def\xs_reserved_B{#2}%
\xs_ifx{\xs_reserved_A\xs_reserved_B}
- {\let\xs_reserved_A\xs_execfirst}% égalité parfaite des 2 chaines
+ {\let\xs_reserved_A\xs_execfirst}% égalité parfaite des 2 chaines
{\xs_reserved_D{#1}{#2}}%
\xs_reserved_A
}
-\xs_newmacro*2\IfStrEq{}{2}{0}{% teste si les deux chaines sont égales
+\xs_newmacro*2\IfStrEq{}{2}{0}{% teste si les deux chaines sont égales
\let\xs_reserved_D\xs_IfStrEqFalse_i
\xs_TestEqual{#1}{#2}%
}
-\xs_newmacro*2\IfEq{}{2}{0}{% teste si les 2 arguments (chaine ou nombre) sont égaux
+\xs_newmacro*2\IfEq{}{2}{0}{% teste si les 2 arguments (chaine ou nombre) sont égaux
\let\xs_reserved_D\xs_IfStrEqFalse_ii
\xs_TestEqual{#1}{#2}%
}
@@ -629,12 +629,12 @@
{\xs_IfStringCase\IfEq}%
}
-\long\def\xs_IfStringCase#1#2#3{% #1=macro avec ou sans étoile #2=argument à tester #3=liste des {<cas>}{code>}
- \long\def\xs_testcase##1##2##3\_nil{% lit les 2 premieres unités syntaxiques dans ##1 et ##2. Les autres dans ##3
+\long\def\xs_IfStringCase#1#2#3{% #1=macro avec ou sans étoile #2=argument à tester #3=liste des {<cas>}{code>}
+ \long\def\xs_testcase##1##2##3\_nil{% lit les 2 premieres unités syntaxiques dans ##1 et ##2. Les autres dans ##3
#1{#2}{##1}% compare
- {\xs_testopt{\xs_IfStringCase_ii{##2}}{}}% le test est positif, on exécute le code correspondant et on mange l'argument optionnel ## BUGfix dans 1.82
+ {\xs_testopt{\xs_IfStringCase_ii{##2}}{}}% le test est positif, on exécute le code correspondant et on mange l'argument optionnel ## BUGfix dans 1.82
{\xs_ifempty{##3}%
- {\xs_testopt{\xs_IfStringCase_i}{}}% s'il n'y a plus de cas, on exécute le code <autres cas> ## BUGfix dans 1.82
+ {\xs_testopt{\xs_IfStringCase_i}{}}% s'il n'y a plus de cas, on exécute le code <autres cas> ## BUGfix dans 1.82
{\xs_testcase##3\_nil}% sinon, on recommence avec ce qui reste
}%
}%
@@ -644,19 +644,19 @@
\long\def\xs_IfStringCase_i[#1]{#1}
\long\def\xs_IfStringCase_ii#1[#2]{#1}
-% Renvoie ce qui est à gauche de l'occurence n°#1 de la sous chaine #3 dans la chaine #2
+% Renvoie ce qui est à gauche de l'occurence n°#1 de la sous chaine #3 dans la chaine #2
\xs_newmacro*3\StrBefore{1}{2}{1}{%
\xs_cutafteroccur{#2}{#3}{#1}%
\xs_exparg\xs_assign_xstringresult{\xs_reserved_C}{#4}%
}
-% Renvoie ce qui est à droite de l'occurence n°#1 de la sous chaine #3 dans la chaine #2
+% Renvoie ce qui est à droite de l'occurence n°#1 de la sous chaine #3 dans la chaine #2
\xs_newmacro*3\StrBehind{1}{2}{1}{%
\xs_cutafteroccur{#2}{#3}{#1}%
\xs_exparg\xs_assign_xstringresult{\xs_reserved_E}{#4}%
}
-% Renvoie ce qui est strictement compris entre les occurrences n°#1 et n°#2
+% Renvoie ce qui est strictement compris entre les occurrences n°#1 et n°#2
% des chaines #4 et #5 dans la chaine #3
\xs_newmacro*4\StrBetween{1,1}{3}{1}{\xs_StrBetween_i[#1]{#2}{#3}{#4}[#5]}
\long\def\xs_StrBetween_i[#1,#2]#3#4#5[#6]{%
@@ -675,7 +675,7 @@
\def\saveexploremode{\let\xs_saveexploremode\xs_exploregroups}
\def\restoreexploremode{\let\xs_exploregroups\xs_saveexploremode}
-% Remplace les #1 premières occurences de la chaine #3
+% Remplace les #1 premières occurences de la chaine #3
% par la chaine #4 dans la chaine #2
\xs_newmacro\StrSubstitute{0}{3}{1}{%
\def\xs_reserved_D{#2}\let\xs_reserved_C\empty\def\xs_reserved_E{#3}%
@@ -697,12 +697,12 @@
}%
}
-% Supprime les #1 premières occurrences de #3 dans #2
+% Supprime les #1 premières occurrences de #3 dans #2
\xs_newmacro\StrDel{0}{2}{1}{\xs_StrSubstitute[#1]{#2}{#3}{}[#4]}
\def\xs_exitallgroups{\ifnum\xs_nestlevel>0 \endgroup\expandafter\xs_exitallgroups\fi}
-% Compte combien d'unités syntaxiques contient la chaine #1 ?
+% Compte combien d'unités syntaxiques contient la chaine #1 ?
\xs_newmacro\StrLen{}{1}{1}{%
\def\xs_reserved_C{#1}\decimalpart0 \def\xs_nestlevel{0}\gdef\groupID{0}%
\let\xs_atbegingroup\relax
@@ -712,11 +712,11 @@
\xs_exparg\xs_assign_xstringresult{\number\decimalpart}{#2}%
}
-% Macro interne fermant autant de groupes que nécessaire pour trouver une unité syntaxique derrière
+% Macro interne fermant autant de groupes que nécessaire pour trouver une unité syntaxique derrière
\def\xs_continuetonext{%
\xs_exparg\xs_ifempty{\xs_reserved_C}%
{\ifnum\xs_nestlevel>0
- \xs_endgroup_eaddtomacro\xs_reserved_B{\expandafter{\xs_reserved_B}}% on concatène
+ \xs_endgroup_eaddtomacro\xs_reserved_B{\expandafter{\xs_reserved_B}}% on concatène
\expandafter\xs_continuetonext% on recommence
\fi}
{}%
@@ -729,7 +729,7 @@
{\endgroup\xs_eearg{\gdef\groupID}{\expandafter\groupID\expandafter,\number\integerpart}}%
}
-% Cette macro coupe la chaine #1 après l'unité syntaxique n°#2
+% Cette macro coupe la chaine #1 après l'unité syntaxique n°#2
\def\StrSplit{%
\xs_ifstar
{\let\xs_reserved_E\xs_continuetonext\StrSplit_i}%
@@ -738,8 +738,8 @@
\xs_newmacro\StrSplit_i{}{2}{0}{\xs_StrSplit_ii{#2}{#1}\xs_StrSplit_iii}
-% Cette macro interne coupe la chaine #2 après l'unité syntaxique n°#1
-% Le début est assigné dans \xs_reserved_B et la fin dans \xs_reserved_C
+% Cette macro interne coupe la chaine #2 après l'unité syntaxique n°#1
+% Le début est assigné dans \xs_reserved_B et la fin dans \xs_reserved_C
\long\def\xs_StrSplit_ii#1#2{%
\let\xs_reserved_B\empty\def\xs_reserved_C{#2}\def\xs_reserved_D{#1}\gdef\groupID{}%
\ifnum#1>0
@@ -759,7 +759,7 @@
{\ifx\xs_reserved_C\empty\xs_reserved_E\fi
\edef\__temp{\def\noexpand\xs_reserved_B{\unexpanded\expandafter{\xs_reserved_B}}\def\noexpand\xs_reserved_C{\unexpanded\expandafter{\xs_reserved_C}}}%
\expandafter\xs_exitallgroups\__temp
- \xs_gobarg% mange l'appel récursif \xs_read_reserved_C dans \xs_read_reserved_C
+ \xs_gobarg% mange l'appel récursif \xs_read_reserved_C dans \xs_read_reserved_C
}
{}%
}%
@@ -770,8 +770,8 @@
\def\xs_StrSplit_iii#1#2{\let#1\xs_reserved_B\let#2\xs_reserved_C}
% StrCut[n]{<texte>}{<motif>}\macroA\macroB
-% \macroA reçoit ce qui se trouve avant la n ème occurrence <motif> dans <texte>
-% \macroB reçoit ce qui est après cette n ème occurrence
+% \macroA reçoit ce qui se trouve avant la n ème occurrence <motif> dans <texte>
+% \macroB reçoit ce qui est après cette n ème occurrence
\xs_newmacro*3\StrCut{1}{2}{0}{%
\xs_ifempty{#3}%
{\gdef\groupID{}\let\xs_reserved_C\empty\let\xs_reserved_E\empty
@@ -794,7 +794,7 @@
\noexpand\decimalpart=\number\decimalpart\relax
}%
\expandafter\xs_exitallgroups\__temp
- \xs_gobarg% stoppe la récursivité dans \xs_read_reserved_D
+ \xs_gobarg% stoppe la récursivité dans \xs_read_reserved_D
}
{\xs_eaddtomacro\xs_reserved_C{\xs_reserved_E}%
}%
@@ -807,7 +807,7 @@
\long\def\xs_StrCut_iii#1#2{\let#1\xs_reserved_C\let#2\xs_reserved_E}
% De la chaine #1, renvoie ce qui se trouve entre les positions
-% #2 et #3, unités syntaxiques aux positions compris !
+% #2 et #3, unités syntaxiques aux positions compris !
\xs_newmacro\StrMid{}{3}{1}{%
\begingroup
\noexploregroups
@@ -821,21 +821,21 @@
\gdef\groupID{}%
}
-% supprime #2 unités syntaxiques à gauche dans la chaine #1
+% supprime #2 unités syntaxiques à gauche dans la chaine #1
\xs_newmacro\StrGobbleLeft{}{2}{1}{%
\let\xs_reserved_E\relax
\xs_StrSplit_ii{#2}{#1}%
\xs_exparg\xs_assign_xstringresult{\xs_reserved_C}{#3}%
}
-% extrait de #1 la chaine à gauche de longueur #2
+% extrait de #1 la chaine à gauche de longueur #2
\xs_newmacro\StrLeft{}{2}{1}{%
\let\xs_reserved_E\relax
\xs_StrSplit_ii{#2}{#1}%
\xs_exparg\xs_assign_xstringresult{\xs_reserved_B}{#3}%
}
-% supprime #2 unités syntaxiques à droite dans la chaine #1
+% supprime #2 unités syntaxiques à droite dans la chaine #1
\xs_newmacro\StrGobbleRight{}{2}{1}{%
\xs_StrLen{#1}[\xs_reserved_D]%
\let\xs_reserved_E\relax
@@ -843,7 +843,7 @@
\xs_exparg\xs_assign_xstringresult{\xs_reserved_B}{#3}%
}
-% renvoie #2 unités syntaxiques à la droite de la chaine #1
+% renvoie #2 unités syntaxiques à la droite de la chaine #1
\xs_newmacro\StrRight{}{2}{1}{%
\xs_StrLen{#1}[\xs_reserved_D]%
\let\xs_reserved_E\relax
@@ -858,10 +858,10 @@
\let\xs_atbegingroup\relax
\def\xs_atendofgroup{\expandafter\endgroup\expandafter\decimalpart\number\decimalpart\relax}%
\def\xs_atnextsyntaxunit{%
- \ifnum\decimalpart=\xs_reserved_D% la n ième US est atteinte ?
- \edef\__temp{\def\noexpand\xs_reserved_B{\unexpanded\expandafter{\xs_reserved_A}}}% on capture l'US en cours qui est celle cherchée
+ \ifnum\decimalpart=\xs_reserved_D% la n ième US est atteinte ?
+ \edef\__temp{\def\noexpand\xs_reserved_B{\unexpanded\expandafter{\xs_reserved_A}}}% on capture l'US en cours qui est celle cherchée
\expandafter\xs_exitallgroups\__temp
- \expandafter\xs_gobarg% stoppe la récursivité dans \xs_read_reserved_C
+ \expandafter\xs_gobarg% stoppe la récursivité dans \xs_read_reserved_C
\fi
}%
\xs_read_reserved_C
@@ -905,8 +905,8 @@
\def\restorecomparemode{\let\xs_comparecoeff\xs_saved_comparecoeff}
% Compare les deux arguments #1 et #2
-% Renvoie 0 s'ils sont égaux et renvoie la
-% position de la premiere unité syntaxiques différente sinon
+% Renvoie 0 s'ils sont égaux et renvoie la
+% position de la premiere unité syntaxiques différente sinon
\xs_newmacro*2\StrCompare{}{2}{1}{%
\def\xs_reserved_A{#1}%
\def\xs_reserved_B{#2}%
@@ -931,13 +931,13 @@
\xs_exparg\xs_returnfirstsyntaxunit{\xs_reserved_D}\xs_reserved_B
\xs_ifx{\xs_reserved_B\xs_reserved_A}
{\xs_exparg\xs_ifempty{\xs_reserved_A}%
- {\xs_StrCompare_iii{##1}% les 2 unités syntaxiques sont égales, on renvoie la position
+ {\xs_StrCompare_iii{##1}% les 2 unités syntaxiques sont égales, on renvoie la position
}
- {\def\xs_next{\xs_exparg\xs_StrCompare_ii{\number\numexpr##1+1}}% les 2 unités syntaxiques sont égales et non vides, on recommence
+ {\def\xs_next{\xs_exparg\xs_StrCompare_ii{\number\numexpr##1+1}}% les 2 unités syntaxiques sont égales et non vides, on recommence
\xs_exparg\xs_removefirstsyntaxunit{\xs_reserved_C}\xs_reserved_C
\xs_exparg\xs_removefirstsyntaxunit{\xs_reserved_D}\xs_reserved_D
}%
- }% les 2 unités syntaxiques sont différentes : on renvoie la position
+ }% les 2 unités syntaxiques sont différentes : on renvoie la position
{\xs_StrCompare_iii{##1}%
}%
\xs_next
@@ -959,10 +959,10 @@
{\xs_assign_xstringresult{}{#3}% s'il ne reste plus rien, on renvoie vide
}
{\xs_exparg\xs_returnfirstsyntaxunit{\xs_reserved_C}\xs_reserved_D
- \xs_ifx{\bgroup\xs_toks}% si la 1ère unité syntaxique est un groupe explicite
+ \xs_ifx{\bgroup\xs_toks}% si la 1ère unité syntaxique est un groupe explicite
{\advance\decimalpart1 % on augmente le compteur
- \xs_ifnum{\decimalpart=\xs_reserved_A\relax}% on est au groupe cherché lors de la profondeur courante ?
- {\xs_ifx{\empty\xs_reserved_B}% on est à la profondeur maximale ?
+ \xs_ifnum{\decimalpart=\xs_reserved_A\relax}% on est au groupe cherché lors de la profondeur courante ?
+ {\xs_ifx{\empty\xs_reserved_B}% on est à la profondeur maximale ?
{\xs_exparg\xs_assign_xstringresult{\xs_reserved_D}{#3}}% on renvoie ce groupe
{\xs_exparg{\expandafter\xs_StrFindGroup_i\xs_reserved_D}{\xs_reserved_B}[#3]}% on recommence avec ce groupe et les profondeurs de recherche restantes
}
@@ -1003,7 +1003,7 @@
\def\xs_atbegingroup{\let\xs_reserved_B\empty}%
\def\xs_atnextsyntaxunit{\xs_eeaddtomacro\xs_reserved_B{\xs_reserved_A}}%
\def\xs_reserved_C{#2}%
- \xs_StrExpand_i{#1}% Appel de la macro récursive
+ \xs_StrExpand_i{#1}% Appel de la macro récursive
}
{\def\xs_reserved_B{#2}%
}
@@ -1043,185 +1043,188 @@
H I S T O R I Q U E
------------------------------------------------------------------------------
-v1.0 4/7/2008 : - Package achevé.
- 7/7/2008 : - Package publié sur CTAN.
+v1.0 4/7/2008 : - Package achevé.
+ 7/7/2008 : - Package publié sur CTAN.
------------------------------------------------------------------------------
v1.1 15/8/2008
- - Le package ne nécessite plus LaTeX et est désormais utilisable sous
+ - Le package ne nécessite plus LaTeX et est désormais utilisable sous
Plain eTeX.
- Ajout des macros \IfInteger et \IfDecimal.
- Pour cette dernière, la partie entière et la partie décimale sont
- récupérables dans les compteurs \integerpart et \decimalpart. Ce
- qu'il reste après qu'un caractère non attendu soit rencontré est
+ Pour cette dernière, la partie entière et la partie décimale sont
+ récupérables dans les compteurs \integerpart et \decimalpart. Ce
+ qu'il reste après qu'un caractère non attendu soit rencontré est
dispo dans \xs_remainafterdecimal
- Correction d'un bug dans \tokenize :
- suppression de l'expansion avec \normalexpandarg pour éviter le bug
- avec les lettres accentuées dans l'exemple : \tokenize\aa{éù}
- - Amélioration du code de la plupart des macros.
- - écriture d'une routine \xs_newmacro définissant les macros.
- - Suppression de tous les compteurs grace à \numexpr.
- - Nouvelles fonctionnalités internes dans :
+ suppression de l'expansion avec \normalexpandarg pour éviter le bug
+ avec les lettres accentuées dans l'exemple : \tokenize\aa{éù}
+ - Amélioration du code de la plupart des macros.
+ - écriture d'une routine \xs_newmacro définissant les macros.
+ - Suppression de tous les compteurs grace à \numexpr.
+ - Nouvelles fonctionnalités internes dans :
\IfSubStr
- ajout des chaines se trouvant avant et après l'occurrence testée
+ ajout des chaines se trouvant avant et après l'occurrence testée
dans les sc \xs_behind_IfSubStr et \xs_before_IfSubStr
\StrCount
- a) ajout de ce qui se trouve après la dernière occurrence dans la
+ a) ajout de ce qui se trouve après la dernière occurrence dans la
sc \xs_StrCount_afterlastocccur
- b) la macro ne dépend plus d'aucune autre
+ b) la macro ne dépend plus d'aucune autre
------------------------------------------------------------------------------
v1.2 23/8/2008
- - Amélioration du code de \StrMid \StrGobbleLeft, \StrLeft,
- \StrGobbleRight et \StrRight à l'aide de la nouvelle macro
+ - Amélioration du code de \StrMid \StrGobbleLeft, \StrLeft,
+ \StrGobbleRight et \StrRight à l'aide de la nouvelle macro
\xs_StrSplit_i
- Nouveau test \IfStrEq qui compare 2 chaines
- Nouveau test \IfEq qui compare 2 chaines (ou 2 nombres si les 2 chaines
contiennent un nombre)
- Correction d'un bug dans \xs_formatnumber. La macro n'envisageait pas le
- cas où son argument était vide ce qui faiasait planter
+ cas où son argument était vide ce qui faiasait planter
\IfDecimal{}{V}{F} et \IfInteger{}{V}{F}
------------------------------------------------------------------------------
v1.3 21/9/2008
- - Amélioration du code, mise en place de récursivités terminales dans
- toutes les macros récursives, simplification de \xs_TestEqual en
+ - Amélioration du code, mise en place de récursivités terminales dans
+ toutes les macros récursives, simplification de \xs_TestEqual en
utilisant \ifx
- Nouvelles macros \IfStrEqCase et \IfEqCase
- Teste si une chaîne est égale à plusieurs chaines données et
- exécute un code spécifique
- - Création de la macro publique \StrSplit
- Coupe la chaine en 2 à une position donnée
+ Teste si une chaîne est égale à plusieurs chaines données et
+ exécute un code spécifique
+ - Création de la macro publique \StrSplit
+ Coupe la chaine en 2 à une position donnée
- Nouvelle macro \StrCompare
- Compare 2 chaînes et renvoie la position du 1er caractère différent.
- Renvoie 0 si elles sont égales.
+ Compare 2 chaînes et renvoie la position du 1er caractère différent.
+ Renvoie 0 si elles sont égales.
------------------------------------------------------------------------------
v1.3a 29/9/2008
- Correction d'un bug : \expandafter#1
dans les macros \IfSubStrBefore et \StrBetween qui buggue si #1 est un
nombre > 9 !
- - Ré écriture de \xs_returnfirstsyntaxunit et \xs_gobarg qui
- deviennent purement développables.
- - Ré écriture de \StrLen
+ - Ré écriture de \xs_returnfirstsyntaxunit et \xs_gobarg qui
+ deviennent purement développables.
+ - Ré écriture de \StrLen
- Nouvelle macro interne \xs_cutafteroccur
- Coupe la chaine après la nième occurrence d'une sous chaine.
- - Code amélioré de \StrMid, \StrLeft, \StrGobbleLeft, \StrRight,
- \StrGobbleRight grace à \xs_cutafteroccur
+ Coupe la chaine après la nième occurrence d'une sous chaine.
+ - Code amélioré de \StrMid, \StrLeft, \StrGobbleLeft, \StrRight,
+ \StrGobbleRight grace à \xs_cutafteroccur
------------------------------------------------------------------------------
v1.4 4/11/2008
- - xstring traite ses arguments par unité syntaxique, et donc toutes les
- macros internes ont été ré-écrites à cette fin.
- - Le manuel a été ré-écrit, rendu plus clair et mieux structuré.
- - Nouvelle fonctionnalité : \expandarg
- le 1er lexème de chaque argument est 1-développé avant que la
- macro ne soit appelée. Si un argument comporte plus qu'1 lexème,
- il faut passer par \scancs*[1] pour 1-développer toutes les unités
+ - xstring traite ses arguments par unité syntaxique, et donc toutes les
+ macros internes ont été ré-écrites à cette fin.
+ - Le manuel a été ré-écrit, rendu plus clair et mieux structuré.
+ - Nouvelle fonctionnalité : \expandarg
+ le 1er lexème de chaque argument est 1-développé avant que la
+ macro ne soit appelée. Si un argument comporte plus qu'1 lexème,
+ il faut passer par \scancs*[1] pour 1-développer toutes les unités
syntaxiques.
- Correction de 2 erreurs dans le manuel anglais : 0 est la valeur par
- défaut dans \StrSubstitute et \StrDel
- - Cohérence dans les nom des séquences de contrôles temporaires qui
- sont désormais : \xs_reserved_A à \xs_reserved_E
+ défaut dans \StrSubstitute et \StrDel
+ - Cohérence dans les nom des séquences de contrôles temporaires qui
+ sont désormais : \xs_reserved_A à \xs_reserved_E
------------------------------------------------------------------------------
v1.4a 12/11/2008
- - Correction d'un bug dans \xs_StrSplit dans le cas où l'argument
- numérique est <1 : la 1ere coupure doit être vide et le seconde doit
- être égale à l'argument.
+ - Correction d'un bug dans \xs_StrSplit dans le cas où l'argument
+ numérique est <1 : la 1ere coupure doit être vide et le seconde doit
+ être égale à l'argument.
------------------------------------------------------------------------------
v1.4b 16/11/2008
- Correction de 2 bugs dans \xs_returnfirstsyntaxunit
------------------------------------------------------------------------------
v1.5 31/12/2008
- - Nouvelles fonctionnalités dans la recherche de groupes par un
- identificateur caractérisant leur imbrication. Implémentation de :
+ - Nouvelles fonctionnalités dans la recherche de groupes par un
+ identificateur caractérisant leur imbrication. Implémentation de :
1) \StrFindGroup
2) \groupID
- - Ajout des nouvelles macros génériques \xs_read_reserved_C et
+ - Ajout des nouvelles macros génériques \xs_read_reserved_C et
\xs_read_reserved_D
- Correction d'un bug dans \StrSplit : \StrSplit{{a}bc}{1}[\truc] faisait
- que \truc contenait «a{a}».
- - Correction d'un bug dans \xs_newmacro : l'argument optionnel était
- détokénisé à tort dans les macros étoilées.
- - Dans \xs_newmacro, on doit choisir le numéro du dernier argument devant
- être détokénisé dans le cas d'une macro étoilée (sachant que
+ que \truc contenait «a{a}».
+ - Correction d'un bug dans \xs_newmacro : l'argument optionnel était
+ détokénisé à tort dans les macros étoilées.
+ - Dans \xs_newmacro, on doit choisir le numéro du dernier argument devant
+ être détokénisé dans le cas d'une macro étoilée (sachant que
l'argument optionnel ne l'est jamais)
------------------------------------------------------------------------------
v1.5a 09/2/2009
- Nouvelle macro \StrExpand, sensible au mode d'exploration. La macro est
- indépendante du mode d'exploration et dispose de ses propres commandes
+ indépendante du mode d'exploration et dispose de ses propres commandes
d'exploration : \expandingroups et \noexpandingroups
- - Ré-écriture de \scancs, qui devient triviale puisque dépendant de
- \StrExpand. Il n'y a plus de version étoilée et désormais, \scancs
+ - Ré-écriture de \scancs, qui devient triviale puisque dépendant de
+ \StrExpand. Il n'y a plus de version étoilée et désormais, \scancs
est sensible au mode d'exploration.
- Correction d'un bug dans \IfInteger : \IfInteger{2.0}{V}{F} affichait F
- Correction de bugs : mettre \let\xs_reserved_E\relax avant d'appeler
\xs_StrSplit_i
- Suppression des messages d'erreur, de warning et d'info. xstring devient
donc silencieux ;)
- - Passage de 3 à 2 compteurs
- - Le manuel est désormais plus coloré, en espérant qu'il sera un peu
- plus agréable à lire !
+ - Passage de 3 à 2 compteurs
+ - Le manuel est désormais plus coloré, en espérant qu'il sera un peu
+ plus agréable à lire !
------------------------------------------------------------------------------
v1.5b 13/3/2009
- Modification d'un grand nombre de macros de telle sorte que vraiment
- n'importe quel code peut désormais être placé dans les arguments des
- macros (comme par exemple des \if, \ifx ou autre, même sans leur \fi, ce
- qui n'était pas possible jusqu'alors)
+ n'importe quel code peut désormais être placé dans les arguments des
+ macros (comme par exemple des \if, \ifx ou autre, même sans leur \fi, ce
+ qui n'était pas possible jusqu'alors)
------------------------------------------------------------------------------
v1.5c 05/6/2009
- Correction d'un bug dans \IfBeginWith : il faut appeler
\xs_returnfirstsyntaxunit pour l'argument #2 puis pour l'argument #1 et
- non pas l'inverse pour que \xs_toks reflète ce qui se trouve dans #1
- - Correction d'un bug dans \xs_returnfirstsyntaxunit au cas où #1 commence
- par un espace : mettre \xs_toks à 0
+ non pas l'inverse pour que \xs_toks reflète ce qui se trouve dans #1
+ - Correction d'un bug dans \xs_returnfirstsyntaxunit au cas où #1 commence
+ par un espace : mettre \xs_toks à 0
- Correction d'un bug dans \xs_returnfirstsyntaxunit :
\xs_returnfirstsyntaxunit{{}}\truc
- faisait que \truc se développait en un espace.
- - Correction d'un bug dans \xs_removefirstsyntaxunit où le cas
+ faisait que \truc se développait en un espace.
+ - Correction d'un bug dans \xs_removefirstsyntaxunit où le cas
\xs_removefirstsyntaxunit{ {b}}\truc
- donnait \truc se développant en «b» au lieu de «{b}».
+ donnait \truc se développant en «b» au lieu de «{b}».
------------------------------------------------------------------------------
v1.5d 28/3/2010
- Correction d'un bug dans \IfInteger : \afterinteger ne donnait pas le
- bon résultat. Par exemple avec 1.23 il renvoyait {} au lieu de {.23}
- - \xs_formatnumber ne detokenize plus ses arguments (que m'est-il passé
- par la tête pour que je code un truc comme ca ?), et donc
+ bon résultat. Par exemple avec 1.23 il renvoyait {} au lieu de {.23}
+ - \xs_formatnumber ne detokenize plus ses arguments (que m'est-il passé
+ par la tête pour que je code un truc comme ca ?), et donc
\afterinteger et \xs_afterdecimal ont des tokens ayant le bon
catcode
------------------------------------------------------------------------------
v1.6 24/10/2012
- - Correction d'un bug dans \xs_cutafteroccur au cas où #3<1
+ - Correction d'un bug dans \xs_cutafteroccur au cas où #3<1
- \IfDecimal ne \detokenize plus l'argument.
- Nouvelle version de \tokenize qui enlevait les accolades si son argument
- était entre accolades
+ était entre accolades
- Nouvelle macro \StrCut
- - \xs_cutafteroccur_i ne produit plus d'espace indésirable si #3 était
- évalué par \numexpr
+ - \xs_cutafteroccur_i ne produit plus d'espace indésirable si #3 était
+ évalué par \numexpr
------------------------------------------------------------------------------
v1.7 13/1/2013
- Correction d'un manque de rigueur dans les assignations concernant
- \groupID : elles sont toutes globales désormais
+ \groupID : elles sont toutes globales désormais
- Les macros de xstring sont \long
------------------------------------------------------------------------------
v1.7a 28/2/2013
- Correction d'un espace parasite dans \xs_removefirstsyntaxunit
------------------------------------------------------------------------------
v1.7b 29/7/2013
- - La date contenue dans \xstringdate est désormais conforme
+ - La date contenue dans \xstringdate est désormais conforme
------------------------------------------------------------------------------
v1.7c 13/10/2013
- - les macros impliquées dans \IfStrCase et \IfStrEqCase sont désormais \long
+ - les macros impliquées dans \IfStrCase et \IfStrEqCase sont désormais \long
------------------------------------------------------------------------------
v1.8 07/12/2018
- - affectations globales supprimées (sauf pour \groupID) afin de ne pas
+ - affectations globales supprimées (sauf pour \groupID) afin de ne pas
surcharger la pile de sauvegarde
- nettoyage du code, corrections de lourdeurs et maladresses
------------------------------------------------------------------------------
v1.81 09/12/2018
- - bug dans \IfInteger et \IfDecimal, la macro \xs_afterdecimal est indéfinie
- et doit être remplacée par \afterdecimal
+ - bug dans \IfInteger et \IfDecimal, la macro \xs_afterdecimal est indéfinie
+ et doit être remplacée par \afterdecimal
------------------------------------------------------------------------------
v1.82 01/02/2019
- \xs_testopt n'est pas longue et provoque un bug dans \xs_IfStrCase et
\xs_IfStrCase lorsque #1 contient \par : \xs_testopt reste courte et
- \xs_IfStringCase a été modifiée pour que cela fonctionne.
+ \xs_IfStringCase a été modifiée pour que cela fonctionne.
------------------------------------------------------------------------------
v1.83 06/02/2019
- - mauvaise approche et mauvais fix dans la v1.82 : \xs_testopt devient
- longue, pas le choix (et donc aussi \xs_ifnxttok) \ No newline at end of file
+ - mauvaise approche et mauvais fix dans la v1.82 : \xs_testopt devient
+ longue, pas le choix (et donc aussi \xs_ifnxttok)
+------------------------------------------------------------------------------
+v1.84 21/07/2021
+ - encodage du fichier xstring.tex en UTF-8
diff --git a/macros/latex/contrib/lipsum/CHANGELOG.md b/macros/latex/contrib/lipsum/CHANGELOG.md
new file mode 100644
index 0000000000..a9010903f4
--- /dev/null
+++ b/macros/latex/contrib/lipsum/CHANGELOG.md
@@ -0,0 +1,39 @@
+# Changelog
+All notable changes to the `lipsum` bundle since mid-2021 will be
+documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+this project uses date-based 'snapshot' version identifiers.
+
+## [v2.4]
+
+### Fixed
+- Removed spurious group around `\lipsum` to avoid problems with, for
+ example, `wrapfig` (gh/1).
+
+### Added
+- Czech dummy text provided by Ondřej Macek.
+- `\setlipsum` macro to change options in the document.
+- `hyphens` option to turn on/off hyphenation pattern selection.
+
+### Removed
+- `\setlipsumdefault` (superseded by `\SetLipsumDefault`).
+- Some undocumented `expl3` interfaces (most of them kind of useless).
+- Undocumented `\IfLipsumText` function.
+
+### Changed
+- Reorder text sources: sources are plain text and generated text files
+ are plain-friendly.
+- Various internal changes for `expl3` code style compliance.
+- Added own range parsing to avoid low-level errors on missing range
+ argument, e.g. `\lipsum[]` (gh/5).
+- Empty (optional) range arguments are now equivalent to not using the
+ argument at all (that is, `\lipsum[]` is equivalent to `\lipsum`).
+- Use Unicode characters in `lipsum-cicero.txt` instead of text
+ commands.
+- Use hyphenation patterns according to the language of the dummy text.
+
+## [v2.3]
+
+### Fixed
+- Internal change to avoid error with newer `xparse`.
diff --git a/macros/latex/contrib/lipsum/DEPENDS.txt b/macros/latex/contrib/lipsum/DEPENDS.txt
new file mode 100644
index 0000000000..574e1c1ca4
--- /dev/null
+++ b/macros/latex/contrib/lipsum/DEPENDS.txt
@@ -0,0 +1 @@
+hard l3kernel
diff --git a/macros/latex/contrib/lipsum/lipsum-cicero.txt b/macros/latex/contrib/lipsum/lipsum-cicero.txt
new file mode 100644
index 0000000000..52b1f0d35c
--- /dev/null
+++ b/macros/latex/contrib/lipsum/lipsum-cicero.txt
@@ -0,0 +1,2219 @@
+%%
+%% This text was provided by github-user
+%% svenper. See https://github.com/patta42/lipsum/issues/13
+%%
+
+Non eram nescius, Brute, cum, quae summis ingeniis exquisitaque doctrina
+philosophi Graeco sermone tractavissent, ea Latinis litteris mandaremus,
+fore ut hic noster labor in varias reprehensiones incurreret. Nam
+quibusdam, et iis quidem non admodum indoctis, totum hoc displicet
+philosophari. Quidam autem non tam id reprehendunt, si remissius agatur,
+sed tantum studium tamque multam operam ponendam in eo non arbitrantur.
+Erunt etiam, et ii quidem eruditi Graecis litteris, contemnentes
+Latinas, qui se dicant in Graecis legendis operam malle consumere.
+Postremo aliquos futuros suspicor, qui me ad alias litteras vocent,
+genus hoc scribendi, etsi sit elegans, personae tamen et dignitatis esse
+negent.
+
+Contra quos omnis dicendum breviter existimo. Quamquam philosophiae
+quidem vituperatoribus satis responsum est eo libro, quo a nobis
+philosophia defensa et collaudata est, cum esset accusata et vituperata
+ab Hortensio. Qui liber cum et tibi probatus videretur et iis, quos ego
+posse iudicare arbitrarer, plura suscepi veritus ne movere hominum
+studia viderer, retinere non posse. Qui autem, si maxime hoc placeat,
+moderatius tamen id volunt fieri, difficilem quandam temperantiam
+postulant in eo, quod semel admissum coerceri reprimique non potest, ut
+propemodum iustioribus utamur illis, qui omnino avocent a philosophia,
+quam his, qui rebus infinitis modum constituant in reque eo meliore, quo
+maior sit, mediocritatem desiderent.
+
+Sive enim ad sapientiam perveniri potest, non paranda nobis solum ea,
+sed fruenda etiam [sapientia] est; sive hoc difficile est, tamen nec
+modus est ullus investigandi veri, nisi inveneris, et quaerendi
+defatigatio turpis est, cum id, quod quaeritur, sit pulcherrimum. Etenim
+si delectamur, cum scribimus, quis est tam invidus, qui ab eo nos
+abducat? Sin laboramus, quis est, qui alienae modum statuat industriae?
+Nam ut Terentianus Chremes non inhumanus, qui novum vicinum non vult
+‘fodere aut arare aut aliquid ferre denique’ – non enim illum ab
+industria, sed ab inliberali labore deterret –, sic isti curiosi, quos
+offendit noster minime nobis iniucundus labor.
+
+Iis igitur est difficilius satis facere, qui se Latina scripta dicunt
+contemnere. In quibus hoc primum est in quo admirer, cur in gravissimis
+rebus non delectet eos sermo patrius, cum idem fabellas Latinas ad
+verbum e Graecis expressas non inviti legant. Quis enim tam inimicus
+paene nomini Romano est, qui Ennii Medeam aut Antiopam Pacuvii spernat
+aut reiciat, quod se isdem Euripidis fabulis delectari dicat, Latinas
+litteras oderit?
+
+Synephebos ego, inquit, potius Caecilii aut Andriam Terentii quam
+utramque Menandri legam?
+
+A quibus tantum dissentio, ut, cum Sophocles vel optime scripserit
+Electram, tamen male conversam Atilii mihi legendam putem, de quo
+Lucilius: ‘ferreum scriptorem’, verum, opinor, scriptorem tamen, ut
+legendus sit. Rudem enim esse omnino in nostris poetis aut inertissimae
+segnitiae est aut fastidii delicatissimi. Mihi quidem nulli satis
+eruditi videntur, quibus nostra ignota sunt. An ‘Utinam ne in nemore…’
+nihilo minus legimus quam hoc idem Graecum, quae autem de bene beateque
+vivendo a Platone disputata sunt, haec explicari non placebit Latine?
+
+Quid? Si nos non interpretum fungimur munere, sed tuemur ea, quae dicta
+sunt ab iis quos probamus, eisque nostrum iudicium et nostrum scribendi
+ordinem adiungimus, quid habent, cur Graeca anteponant iis, quae et
+splendide dicta sint neque sint conversa de Graecis? Nam si dicent ab
+illis has res esse tractatas, ne ipsos quidem Graecos est cur tam multos
+legant, quam legendi sunt. Quid enim est a Chrysippo praetermissum in
+Stoicis? Legimus tamen Diogenem, Antipatrum, Mnesarchum, Panaetium,
+multos alios in primisque familiarem nostrum Posidonium. Quid?
+Theophrastus mediocriterne delectat, cum tractat locos ab Aristotele
+ante tractatos? Quid? Epicurei num desistunt de isdem, de quibus et ab
+Epicuro scriptum est et ab antiquis, ad arbitrium suum scribere? Quodsi
+Graeci leguntur a Graecis isdem de rebus alia ratione compositis, quid
+est, cur nostri a nostris non legantur?
+
+Quamquam, si plane sic verterem Platonem aut Aristotelem, ut verterunt
+nostri poetae fabulas, male, credo, mererer de meis civibus, si ad eorum
+cognitionem divina illa ingenia transferrem. Sed id neque feci adhuc nec
+mihi tamen, ne faciam, interdictum puto. Locos quidem quosdam, si
+videbitur, transferam, et maxime ab iis, quos modo nominavi, cum
+inciderit, ut id apte fieri possit, ut ab Homero Ennius, Afranius a
+Menandro solet. Nec vero, ut noster Lucilius, recusabo, quo minus omnes
+mea legant. Utinam esset ille Persius, Scipio vero et Rutilius multo
+etiam magis, quorum ille iudicium reformidans Tarentinis ait se et
+Consentinis et Siculis scribere. Facete is quidem, sicut alia; sed neque
+tam docti tum erant, ad quorum iudicium elaboraret, et sunt illius
+scripta leviora, ut urbanitas summa appareat, doctrina mediocris.
+
+Ego autem quem timeam lectorem, cum ad te ne Graecis quidem cedentem in
+philosophia audeam scribere? Quamquam a te ipso id quidem facio
+provocatus gratissimo mihi libro, quem ad me de virtute misisti. Sed ex
+eo credo quibusdam usu venire; ut abhorreant a Latinis, quod inciderint
+in inculta quaedam et horrida, de malis Graecis Latine scripta deterius.
+Quibus ego assentior, dum modo de isdem rebus ne Graecos quidem legendos
+putent. Res vero bonas verbis electis graviter ornateque dictas quis non
+legat? Nisi qui se plane Graecum dici velit, ut a Scaevola est praetore
+salutatus Athenis Albucius.
+
+Quem quidem locum comit multa venustate et omni sale idem Lucilius, apud
+quem praeclare Scaevola:
+
+Graecum te, Albuci, quam Romanum atque Sabinum, municipem Ponti,
+Tritani, centurionum, praeclarorum hominum ac primorum signiferumque,
+maluisti dici. Graece ergo praetor Athenis, id quod maluisti, te, cum ad
+me accedis, saluto: ‘[…],’ inquam, ‘Tite!’ lictores, turma omnis
+chorusque: ‘[…], Tite!’ hinc hostis mi Albucius, hinc inimicus.
+
+Sed iure Mucius. Ego autem mirari [satis] non queo unde hoc sit tam
+insolens domesticarum rerum fastidium. Non est omnino hic docendi locus;
+sed ita sentio et saepe disserui, Latinam linguam non modo non inopem,
+ut vulgo putarent, sed locupletiorem etiam esse quam Graecam. Quando
+enim nobis, vel dicam aut oratoribus bonis aut poetis, postea quidem
+quam fuit quem imitarentur, ullus orationis vel copiosae vel elegantis
+ornatus defuit? Ego vero, quoniam forensibus operis, laboribus,
+periculis non deseruisse mihi videor praesidium, in quo a populo Romano
+locatus sum, debeo profecto, quantumcumque possum, in eo quoque
+elaborare, ut sint opera, studio, labore meo doctiores cives mei, nec
+cum istis tantopere pugnare, qui Graeca legere malint, modo legant illa
+ipsa, ne simulent, et iis servire, qui vel utrisque litteris uti velint
+vel, si suas habent, illas non magnopere desiderent.
+
+Qui autem alia malunt scribi a nobis, aequi esse debent, quod et scripta
+multa sunt, sic ut plura nemini e nostris, et scribentur fortasse plura,
+si vita suppetet; et tamen, qui diligenter haec, quae de philosophia
+litteris mandamus, legere assueverit, iudicabit nulla ad legendum his
+esse potiora. Quid est enim in vita tantopere quaerendum quam cum omnia
+in philosophia, tum id, quod his libris quaeritur, qui sit finis, quid
+extremum, quid ultimum, quo sint omnia bene vivendi recteque faciendi
+consilia referenda, quid sequatur natura ut summum ex rebus expetendis,
+quid fugiat ut extremum malorum? Qua de re cum sit inter doctissimos
+summa dissensio, quis alienum putet eius esse dignitatis, quam mihi
+quisque tribuat, quid in omni munere vitae optimum et verissimum sit,
+exquirere?
+
+An, partus ancillae sitne in fructu habendus, disseretur inter principes
+civitatis, P. Scaevolam M’.que Manilium, ab iisque M. Brutus dissentiet
+– quod et acutum genus est et ad usus civium non inutile, nosque ea
+scripta reliquaque eiusdem generis et legimus libenter et legemus –,
+haec, quae vitam omnem continent, neglegentur? Nam, ut sint illa
+vendibiliora, haec uberiora certe sunt. Quamquam id quidem licebit iis
+existimare, qui legerint. Nos autem hanc omnem quaestionem de finibus
+bonorum et malorum fere a nobis explicatam esse his litteris arbitramur,
+in quibus, quantum potuimus, non modo quid nobis probaretur, sed etiam
+quid a singulis philosophiae disciplinis diceretur, persecuti sumus.
+
+Ut autem a facillimis ordiamur, prima veniat in medium Epicuri ratio,
+quae plerisque notissima est. Quam a nobis sic intelleges eitam, ut ab
+ipsis, qui eam disciplinam probant, non soleat accuratius explicari;
+verum enim invenire volumus, non tamquam adversarium aliquem convincere.
+Accurate autem quondam a L. Torquato, homine omni doctrina erudito,
+defensa est Epicuri sententia de voluptate, a meque ei responsum, cum C.
+Triarius, in primis gravis et doctus adolescens, ei disputationi
+interesset.
+
+Nam cum ad me in Cumanum salutandi causa uterque venisset, pauca primo
+inter nos de litteris, quarum summum erat in utroque studium, deinde
+Torquatus: Quoniam nacti te, inquit, sumus aliquando otiosum, certe
+audiam, quid sit, quod Epicurum nostrum non tu quidem oderis, ut fere
+faciunt, qui ab eo dissentiunt, sed certe non probes, eum quem ego
+arbitror unum vidisse verum maximisque erroribus animos hominum
+liberavisse et omnia tradidisse, quae pertinerent ad bene beateque
+vivendum. Sed existimo te, sicut nostrum Triarium, minus ab eo
+delectari, quod ista Platonis, Aristoteli, Theophrasti orationis
+ornamenta neglexerit. Nam illud quidem adduci vix possum, ut ea, quae
+senserit ille, tibi non vera videantur.
+
+Vide, quantum, inquam, fallare, Torquate. Oratio me istius philosophi
+non offendit; nam et complectitur verbis, quod vult, et dicit plane,
+quod intellegam; et tamen ego a philosopho, si afferat eloquentiam, non
+asperner, si non habeat, non admodum flagitem. Re mihi non aeque
+satisfacit, et quidem locis pluribus. Sed quot homines, tot sententiae;
+falli igitur possumus.
+
+Quam ob rem tandem, inquit, non satisfacit? Te enim iudicem aequum puto,
+modo quae dicat ille bene noris.
+
+Nisi mihi Phaedrum, inquam, tu mentitum aut Zenonem putas, quorum
+utrumque audivi, cum mihi nihil sane praeter sedulitatem probarent,
+omnes mihi Epicuri sententiae satis notae sunt. Atque eos, quos
+nominavi, cum Attico nostro frequenter audivi, cum miraretur ille quidem
+utrumque, Phaedrum autem etiam amaret, cotidieque inter nos ea, quae
+audiebamus, conferebamus, neque erat umquam controversia, quid ego
+intellegerem, sed quid probarem.
+
+Quid igitur est? Inquit; audire enim cupio, quid non probes. Principio,
+inquam, in physicis, quibus maxime gloriatur, primum totus est alienus.
+Democritea dicit perpauca mutans, sed ita, ut ea, quae corrigere vult,
+mihi quidem depravare videatur. Ille atomos quas appellat, id est
+corpora individua propter soliditatem, censet in infinito inani, in quo
+nihil nec summum nec infimum nec medium nec ultimum nec extremum sit,
+ita ferri, ut concursionibus inter se cohaerescant, ex quo efficiantur
+ea, quae sint quaeque cernantur, omnia, eumque motum atomorum nullo a
+principio, sed ex aeterno tempore intellegi convenire.
+
+Epicurus autem, in quibus sequitur Democritum, non fere labitur.
+Quamquam utriusque cum multa non probo, tum illud in primis, quod, cum
+in rerum natura duo quaerenda sint, unum, quae materia sit, ex qua
+quaeque res efficiatur, alterum, quae vis sit, quae quidque efficiat, de
+materia disseruerunt, vim et causam efficiendi reliquerunt. Sed hoc
+commune vitium, illae Epicuri propriae ruinae: censet enim eadem illa
+individua et solida corpora ferri deorsum suo pondere ad lineam, hunc
+naturalem esse omnium corporum motum.
+
+Deinde ibidem homo acutus, cum illud ocurreret, si omnia deorsus e
+regione ferrentur et, ut dixi, ad lineam, numquam fore ut atomus altera
+alteram posset attingere itaque ** attulit rem commenticiam: declinare
+dixit atomum perpaulum, quo nihil posset fieri minus; ita effici
+complexiones et copulationes et adhaesiones atomorum inter se, ex quo
+efficeretur mundus omnesque partes mundi, quaeque in eo essent. Quae cum
+tota res (est) ficta pueriliter, tum ne efficit [quidem], quod vult. Nam
+et ipsa declinatio ad libidinem fingitur – ait enim declinare atomum
+sine causa; quo nihil turpius physico, quam fieri quicquam sine causa
+dicere, – et illum motum naturalem omnium ponderum, ut ipse constituit,
+e regione inferiorem locum petentium sine causa eripuit atomis nec tamen
+id, cuius causa haec finxerat, assecutus est.
+
+Nam si omnes atomi declinabunt, nullae umquam cohaerescent, sive aliae
+declinabunt, aliae suo nutu recte ferentur, primum erit hoc quasi,
+provincias atomis dare, quae recte, quae oblique ferantur, deinde eadem
+illa atomorum, in quo etiam Democritus haeret, turbulenta concursio hunc
+mundi ornatum efficere non poterit. Ne illud quidem physici, credere
+aliquid esse minimum, quod profecto numquam putavisset, si a Polyaeno,
+familiari suo, geometrica discere maluisset quam illum etiam ipsum
+dedocere. Sol Democrito magnus videtur, quippe homini erudito in
+geometriaque perfecto, huic pedalis fortasse; tantum enim esse censet,
+quantus videtur, vel paulo aut maiorem aut minorem.
+
+Ita, quae mutat, ea corrumpit, quae sequitur sunt tota Democriti, atomi,
+inane, imagines, quae […] nominant, quorum incursione non solum
+videamus, sed etiam cogitemus; infinitio ipsa, quam […] vocant, tota ab
+illo est, tum innumerabiles mundi, qui et oriantur et intereant cotidie.
+Quae etsi mihi nullo modo probantur, tamen Democritum laudatum a ceteris
+ab hoc, qui eum unum secutus esset, nollem vituperatum.
+
+Iam in altera philosophiae parte. Quae est quaerendi ac disserendi, quae
+[…] dicitur, iste vester plane, ut mihi quidem videtur, inermis ac nudus
+est. Tollit definitiones, nihil de dividendo ac partiendo docet, non quo
+modo efficiatur concludaturque ratio tradit, non qua via captiosa
+solvantur ambigua distinguantur ostendit; iudicia rerum in sensibus
+ponit, quibus si semel aliquid falsi pro vero probatum sit, sublatum
+esse omne iudicium veri et falsi putat.
+
+Confirmat autem illud vel maxime, quod ipsa natura, ut ait ille, sciscat
+et probet, id est voluptatem et dolorem. Ad haec et quae sequamur et
+quae fugiamus refert omnia. Quod quamquam Aristippi est a Cyrenaicisque
+melius liberiusque defenditur, tamen eius modi esse iudico, ut nihil
+homine videatur indignius. Ad maiora enim quaedam nos natura genuit et
+conformavit, ut mihi quidem videtur. Ac fieri potest, ut errem, sed ita
+prorsus existimo, neque eum Torquatum, qui hoc primus cognomen
+invenerit, aut torquem illum hosti detraxisse, ut aliquam ex eo
+perciperet corpore voluptatem, aut cum Latinis tertio consulatu
+conflixisse apud Veserim propter voluptatem; quod vero securi percussit
+filium, privavisse se etiam videtur multis voluptatibus, cum ipsi
+naturae patrioque amori praetulerit ius maiestatis atque imperii.
+
+Quid? T. Torquatus, is qui consul cum Cn.\ Octavio fuit, cum illam
+severitatem in eo filio adhibuit, quem in adoptionem D. Silano
+emancipaverat, ut eum Macedonum legatis accusantibus, quod pecunias
+praetorem in provincia cepisse arguerent, causam apud se dicere iuberet
+reque ex utraque parte audita pronuntiaret eum non talem videri fuisse
+in imperio, quales eius maiores fuissent, et in conspectum suum venire
+vetuit, numquid tibi videtur de voluptatibus suis cogitavisse?
+
+Sed ut omittam pericula, labores, dolorem etiam, quem optimus quisque
+pro patria et pro suis suscipit, ut non modo nullam captet, sed etiam
+praetereat omnes voluptates, dolores denique quosvis suscipere malit
+quam deserere ullam officii partem, ad ea, quae hoc non minus declarant,
+sed videntur leviora, veniamus.
+
+Quid tibi, Torquate, quid huic Triario litterae, quid historiae
+cognitioque rerum, quid poetarum evolutio, quid tanta tot versuum
+memoria voluptatis affert? Nec mihi illud dixeris: ‘Haec enim ipsa mihi
+sunt voluptati, et erant illa Torquatis.’ Numquam hoc ita defendit
+Epicurus neque Metrodorus aut quisquam eorum, qui aut saperet aliquid
+aut ista didicisset. Et quod quaeritur saepe, cur tam multi sint
+Epicurei, sunt aliae quoque causae, sed multitudinem haec maxime
+allicit, quod ita putant dici ab illo, recta et honesta quae sint, ea
+facere ipsa per se laetitiam, id est voluptatem. Homines optimi non
+intellegunt totam rationem everti, si ita res se habeat. Nam si
+concederetur, etiamsi ad corpus nihil referatur, ista sua sponte et per
+se esse iucunda, per se esset et virtus et cognitio rerum, quod minime
+ille vult expetenda.
+
+Haec igitur Epicuri non probo, inquam. De cetero vellem equidem aut ipse
+doctrinis fuisset instructior – est enim, quod tibi ita videri necesse
+est, non satis politus iis artibus, quas qui tenent, eruditi appellantur
+– aut ne deterruisset alios a studiis. Quamquam te quidem video minime
+esse deterritum.
+
+Quae cum dixissem, magis ut illum provocarem quam ut ipse loquerer, tum
+Triarius leniter arridens: Tu quidem, inquit, totum Epicurum paene e
+philosophorum choro sustulisti. Quid ei reliquisti, nisi te, quoquo modo
+loqueretur, intellegere, quid diceret? Aliena dixit in physicis nec ea
+ipsa, quae tibi probarentur; si qua in iis corrigere voluit, deteriora
+fecit. Disserendi artem nullam habuit. Voluptatem cum summum bonum
+diceret, primum in eo ipso parum vidit, deinde hoc quoque alienum; nam
+ante Aristippus, et ille melius. Addidisti ad extremum etiam indoctum
+fuisse.
+
+Fieri, inquam, Triari, nullo pacto potest, ut non dicas, quid non probes
+eius, a quo dissentias. Quid enim me prohiberet Epicureum esse, si
+probarem, quae ille diceret? Cum praesertim illa perdiscere ludus esset.
+Quam ob rem dissentientium inter se reprehensiones non sunt
+vituperandae, maledicta, contumeliae, tum iracundiae, contentiones
+concertationesque in disputando pertinaces indignae philosophia mihi
+videri solent.
+
+Tum Torquatus: Prorsus, inquit, assentior; neque enim disputari sine
+reprehensione nec cum iracundia aut pertinacia recte disputari potest.
+Sed ad haec, nisi molestum est, habeo quae velim. An me, inquam, nisi te
+audire vellem, censes haec dicturum fuisse? Utrum igitur percurri omnem
+Epicuri disciplinam placet an de una voluptate quaeri, de qua omne
+certamen est? Tuo vero id quidem, inquam, arbitratu. Sic faciam igitur,
+inquit: unam rem explicabo, eamque maximam, de physicis alias, et quidem
+tibi et declinationem istam atomorum et magnitudinem solis probabo et
+Democriti errata ab Epicuro reprehensa et correcta permulta. Nunc dicam
+de voluptate, nihil scilicet novi, ea tamen, quae te ipsum probaturum
+esse confidam.
+
+Certe, inquam, pertinax non ero tibique, si mihi probabis ea, quae
+dices, libenter assentiar. Probabo, inquit, modo ista sis aequitate,
+quam ostendis. Sed uti oratione perpetua malo quam interrogare aut
+interrogari. Ut placet, inquam. Tum dicere exorsus est. Primum igitur,
+inquit, sic agam, ut ipsi auctori huius disciplinae placet: constituam,
+quid et quale sit id, de quo quaerimus, non quo ignorare vos arbitrer,
+sed ut ratione et via procedat oratio. Quaerimus igitur, quid sit
+extremum et ultimum bonorum, quod omnium philosophorum sententia tale
+debet esse, ut ad id omnia referri oporteat, ipsum autem nusquam. Hoc
+Epicurus in voluptate ponit, quod summum bonum esse vult, summumque
+malum dolorem, idque instituit docere sic:
+
+Omne animal, simul atque natum sit, voluptatem appetere eaque gaudere ut
+summo bono, dolorem aspernari ut summum malum et, quantum possit, a se
+repellere, idque facere nondum depravatum ipsa natura incorrupte atque
+integre iudicante. Itaque negat opus esse ratione neque disputatione,
+quam ob rem voluptas expetenda, fugiendus dolor sit. Sentiri haec putat,
+ut calere ignem, nivem esse albam, dulce mel. Quorum nihil oportere
+exquisitis rationibus confirmare, tantum satis esse admonere. Interesse
+enim inter argumentum conclusionemque rationis et inter mediocrem
+animadversionem atque admonitionem. Altera occulta quaedam et quasi
+involuta aperiri, altera prompta et aperta iudicari. Etenim quoniam
+detractis de homine sensibus reliqui nihil est, necesse est, quid aut ad
+naturam aut contra sit, a natura ipsa iudicari. Ea quid percipit aut
+quid iudicat, quo aut petat aut fugiat aliquid, praeter voluptatem et
+dolorem?
+
+Sunt autem quidam e nostris, qui haec subtilius velint tradere et negent
+satis esse, quid bonum sit aut quid malum, sensu iudicari, sed animo
+etiam ac ratione intellegi posse et voluptatem ipsam per se esse
+expetendam et dolorem ipsum per se esse fugiendum. Itaque aiunt hanc
+quasi naturalem atque insitam in animis nostris inesse notionem, ut
+alterum esse appetendum, alterum aspernandum sentiamus. Alii autem,
+quibus ego assentior, cum a philosophis compluribus permulta dicantur,
+cur nec voluptas in bonis sit numeranda nec in malis dolor, non
+existimant oportere nimium nos causae confidere, sed et argumentandum et
+accurate disserendum et rationibus conquisitis de voluptate et dolore
+disputandum putant.
+
+Sed ut perspiciatis, unde omnis iste natus error sit voluptatem
+accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab
+illo inventore veritatis et quasi architecto beatae vitae dicta sunt,
+explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut
+odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione
+voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum,
+quia dolor sit, amet, consectetur, adipisci velit, sed quia non numquam
+eius modi tempora incidunt, ut labore et dolore magnam aliquam quaerat
+voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam
+corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
+Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse,
+quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo
+voluptas nulla pariatur?
+
+At vero eos et accusamus et iusto odio dignissimos ducimus, qui
+blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores
+et quas molestias excepturi sint, obcaecati cupiditate non provident,
+similique sunt in culpa, qui officia deserunt mollitia animi, id est
+laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita
+distinctio. Nam libero tempore, cum soluta nobis est eligendi optio,
+cumque nihil impedit, quo minus id, quod maxime placeat, facere
+possimus, omnis voluptas assumenda est, omnis dolor repellendus.
+Temporibus autem quibusdam et aut officiis debitis aut rerum
+necessitatibus saepe eveniet, ut et voluptates repudiandae sint et
+molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente
+delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut
+perferendis doloribus asperiores repellat.
+
+Hanc ego cum teneam sententiam, quid est cur verear, ne ad eam non
+possim accommodare Torquatos nostros? Quos tu paulo ante cum memoriter,
+tum etiam erga nos amice et benivole collegisti, nec me tamen laudandis
+maioribus meis corrupisti nec segniorem ad respondendum reddidisti.
+Quorum facta quem ad modum, quaeso, interpretaris? Sicine eos censes aut
+in armatum hostem impetum fecisse aut in liberos atque in sanguinem suum
+tam crudelis fuisse, nihil ut de utilitatibus, nihil ut de commodis suis
+cogitarent? At id ne ferae quidem faciunt, ut ita ruant itaque turbent,
+ut earum motus et impetus quo pertineant non intellegamus, tu tam
+egregios viros censes tantas res gessisse sine causa?
+
+Quae fuerit causa, mox videro; interea hoc tenebo, si ob aliquam causam
+ista, quae sine dubio praeclara sunt, fecerint, virtutem iis per se
+ipsam causam non fuisse. – Torquem detraxit hosti. – Et quidem se texit,
+ne interiret. – At magnum periculum adiit. – In oculis quidem exercitus.
+– Quid ex eo est consecutus? – Laudem et caritatem, quae sunt vitae sine
+metu degendae praesidia firmissima. – Filium morte multavit. – Si sine
+causa, nollem me ab eo ortum, tam inportuno tamque crudeli; sin, ut
+dolore suo sanciret militaris imperii disciplinam exercitumque in
+gravissimo bello animadversionis metu contineret, saluti prospexit
+civium, qua intellegebat contineri suam. Atque haec ratio late patet.
+
+In quo enim maxime consuevit iactare vestra se oratio, tua praesertim,
+qui studiose antiqua persequeris, claris et fortibus viris commemorandis
+eorumque factis non emolumento aliquo, sed ipsius honestatis decore
+laudandis, id totum evertitur eo delectu rerum, quem modo dixi,
+constituto, ut aut voluptates omittantur maiorum voluptatum
+adipiscendarum causa aut dolores suscipiantur maiorum dolorum
+effugiendorum gratia.
+
+Sed de clarorum hominum factis illustribus et gloriosis satis hoc loco
+dictum sit. Erit enim iam de omnium virtutum cursu ad voluptatem
+proprius disserendi locus. Nunc autem explicabo, voluptas ipsa quae
+qualisque sit, ut tollatur error omnis imperitorum intellegaturque ea,
+quae voluptaria, delicata, mollis habeatur disciplina, quam gravis, quam
+continens, quam severa sit. Non enim hanc solam sequimur, quae suavitate
+aliqua naturam ipsam movet et cum iucunditate quadam percipitur
+sensibus, sed maximam voluptatem illam habemus, quae percipitur omni
+dolore detracto, nam quoniam, cum privamur dolore, ipsa liberatione et
+vacuitate omnis molestiae gaudemus, omne autem id, quo gaudemus,
+voluptas est, ut omne, quo offendimur, dolor, doloris omnis privatio
+recte nominata est voluptas. Ut enim, cum cibo et potione fames sitisque
+depulsa est, ipsa detractio molestiae consecutionem affert voluptatis,
+sic in omni re doloris amotio successionem efficit voluptatis.
+
+Itaque non placuit Epicuro medium esse quiddam inter dolorem et
+voluptatem; illud enim ipsum, quod quibusdam medium videretur, cum omni
+dolore careret, non modo voluptatem esse, verum etiam summam voluptatem.
+Quisquis enim sentit, quem ad modum sit affectus, eum necesse est aut in
+voluptate esse aut in dolore. Omnis autem privatione doloris putat
+Epicurus terminari summam voluptatem, ut postea variari voluptas
+distinguique possit, augeri amplificarique non possit.
+
+At etiam Athenis, ut e patre audiebam facete et urbane Stoicos
+irridente, statua est in Ceramico Chrysippi sedentis porrecta manu, quae
+manus significet illum in hae esse rogatiuncula delectatum: ‘Numquidnam
+manus tua sic affecta, quem ad modum affecta nunc est, desiderat?’ –
+Nihil sane. – ‘At, si voluptas esset bonum, desideraret.’ – Ita credo.
+– ‘Non est igitur voluptas bonum.’ Hoc ne statuam quidem dicturam pater
+aiebat, si loqui posset. Conclusum est enim contra Cyrenaicos satis
+acute, nihil ad Epicurum. Nam si ea sola voluptas esset, quae quasi
+titillaret sensus, ut ita dicam, et ad eos cum suavitate afflueret et
+illaberetur, nec manus esse contenta posset nec ulla pars vacuitate
+doloris sine iucundo motu voluptatis. Sin autem summa voluptas est, ut
+Epicuro placet, nihil dolere, primum tibi recte, Chrysippe, concessum
+est nihil desiderare manum, cum ita esset affecta, secundum non recte,
+si voluptas esset bonum, fuisse desideraturam. Idcirco enim non
+desideraret, quia, quod dolore caret, id in voluptate est.
+
+Extremum autem esse bonorum voluptatem ex hoc facillime perspici potest:
+Constituamus aliquem magnis, multis, perpetuis fruentem et animo et
+corpore voluptatibus nullo dolore nec impediente nec inpendente, quem
+tandem hoc statu praestabiliorem aut magis expetendum possimus dicere?
+Inesse enim necesse est in eo, qui ita sit affectus, et firmitatem animi
+nec mortem nec dolorem timentis, quod mors sensu careat, dolor in
+longinquitate levis, in gravitate brevis soleat esse, ut eius
+magnitudinem celeritas, diuturnitatem allevatio consoletur.
+
+Ad ea cum accedit, ut neque divinum numen horreat nec praeteritas
+voluptates effluere patiatur earumque assidua recordatione laetetur,
+quid est, quod huc possit, quod melius sit, accedere? Statue contra
+aliquem confectum tantis animi corporisque doloribus, quanti in hominem
+maximi cadere possunt, nulla spe proposita fore levius aliquando, nulla
+praeterea neque praesenti nec expectata voluptate, quid eo miserius dici
+aut fingi potest? Quodsi vita doloribus referta maxime fugienda est,
+summum profecto malum est vivere cum dolore, cui sententiae consentaneum
+est ultimum esse bonorum eum voluptate vivere. Nec enim habet nostra
+mens quicquam, ubi consistat tamquam in extremo, omnesque et metus et
+aegritudines ad dolorem referuntur, nec praeterea est res ulla, quae sua
+natura aut sollicitare possit aut angere.
+
+Praeterea et appetendi et refugiendi et omnino rerum gerendarum initia
+proficiscuntur aut a voluptate aut a dolore. Quod cum ita sit,
+perspicuum est omnis rectas res atque laudabilis eo referri, ut cum
+voluptate vivatur. Quoniam autem id est vel summum bonorum vel ultimum
+vel extremum – quod Graeci […] nominant –, quod ipsum nullam ad aliam
+rem, ad id autem res referuntur omnes, fatendum est summum esse bonum
+iucunde vivere.
+
+Id qui in una virtute ponunt et splendore nominis capti quid natura
+postulet non intellegunt, errore maximo, si Epicurum audire voluerint,
+liberabuntur: istae enim vestrae eximiae pulchraeque virtutes nisi
+voluptatem efficerent, quis eas aut laudabilis aut expetendas
+arbitraretur? Ut enim medicorum scientiam non ipsius artis, sed bonae
+valetudinis causa probamus, et gubernatoris ars, quia bene navigandi
+rationem habet, utilitate, non arte laudatur, sic sapientia, quae ars
+vivendi putanda est, non expeteretur, si nihil efficeret; nunc
+expetitur, quod est tamquam artifex conquirendae et comparandae
+voluptatis –
+
+Quam autem ego dicam voluptatem, iam videtis, ne invidia verbi
+labefactetur oratio mea –. Nam cum ignoratione rerum bonarum et malarum
+maxime hominum vita vexetur, ob eumque errorem et voluptatibus maximis
+saepe priventur et durissimis animi doloribus torqueantur, sapientia est
+adhibenda, quae et terroribus cupiditatibusque detractis et omnium
+falsarum opinionum temeritate derepta certissimam se nobis ducem
+praebeat ad voluptatem. Sapientia enim est una, quae maestitiam pellat
+ex animis, quae nos exhorrescere metu non sinat. Qua praeceptrice in
+tranquillitate vivi potest omnium cupiditatum ardore restincto.
+Cupiditates enim sunt insatiabiles, quae non modo singulos homines, sed
+universas familias evertunt, totam etiam labefactant saepe rem publicam.
+
+Ex cupiditatibus odia, discidia, discordiae, seditiones, bella
+nascuntur, nec eae se foris solum iactant nec tantum in alios caeco
+impetu incurrunt, sed intus etiam in animis inclusae inter se dissident
+atque discordant, ex quo vitam amarissimam necesse est effici, ut
+sapiens solum amputata circumcisaque inanitate omni et errore naturae
+finibus contentus sine aegritudine possit et sine metu vivere.
+
+Quae est enim aut utilior aut ad bene vivendum aptior partitio quam
+illa, qua est usus Epicurus? Qui unum genus posuit earum cupiditatum,
+quae essent et naturales et necessariae, alterum, quae naturales essent
+nec tamen necessariae, tertium, quae nec naturales nec necessariae.
+Quarum ea ratio est, ut necessariae nec opera multa nec impensa
+expleantur; ne naturales quidem multa desiderant, propterea quod ipsa
+natura divitias, quibus contenta sit, et parabilis et terminatas habet;
+inanium autem cupiditatum nec modus ullus nec finis inveniri potest.
+
+Quodsi vitam omnem perturbari videmus errore et inscientia,
+sapientiamque esse solam, quae nos a libidinum impetu et a formidinum
+terrore vindicet et ipsius fortunae modice ferre doceat iniurias et
+omnis monstret vias, quae ad quietem et ad tranquillitatem ferant, quid
+est cur dubitemus dicere et sapientiam propter voluptates expetendam et
+insipientiam propter molestias esse fugiendam?
+
+Eademque ratione ne temperantiam quidem propter se expetendam esse
+dicemus, sed quia pacem animis afferat et eos quasi concordia quadam
+placet ac leniat. Temperantia est enim, quae in rebus aut expetendis aut
+fugiendis ut rationem sequamur monet. Nec enim satis est iudicare quid
+faciendum non faciendumve sit, sed stare etiam oportet in eo, quod sit
+iudicatum. Plerique autem, quod tenere atque servare id, quod ipsi
+statuerunt, non possunt, victi et debilitati obiecta specie voluptatis
+tradunt se libidinibus constringendos nec quid eventurum sit provident
+ob eamque causam propter voluptatem et parvam et non necessariam et quae
+vel aliter pararetur et qua etiam carere possent sine dolore tum in
+morbos gravis, tum in damna, tum in dedecora incurrunt, saepe etiam
+legum iudiciorumque poenis obligantur.
+
+Qui autem ita frui volunt voluptatibus, ut nulli propter eas
+consequantur dolores, et qui suum iudicium retinent, ne voluptate victi
+faciant id, quod sentiant non esse faciendum, ii voluptatem maximam
+adipiscuntur praetermittenda voluptate. Idem etiam dolorem saepe
+perpetiuntur, ne, si id non faciant, incidant in maiorem. Ex quo
+intellegitur nec intemperantiam propter se esse fugiendam
+temperantiamque expetendam, non quia voluptates fugiat, sed quia maiores
+consequatur.
+
+Eadem fortitudinis ratio reperietur. Nam neque laborum perfunctio neque
+perpessio dolorum per se ipsa allicit nec patientia nec assiduitas nec
+vigiliae nec ea ipsa, quae laudatur, industria, ne fortitudo quidem, sed
+ista sequimur, ut sine cura metuque vivamus animumque et corpus, quantum
+efficere possimus, molestia liberemus. Ut enim mortis metu omnis quietae
+vitae status perturbatur, et ut succumbere doloribus eosque humili animo
+inbecilloque ferre miserum est, ob eamque debilitatem animi multi
+parentes, multi amicos, non nulli patriam, plerique autem se ipsos
+penitus perdiderunt, sic robustus animus et excelsus omni est liber cura
+et angore, cum et mortem contemnit, qua qui affecti sunt in eadem causa
+sunt, qua ante quam nati, et ad dolores ita paratus est, ut meminerit
+maximos morte finiri, parvos multa habere intervalla requietis,
+mediocrium nos esse dominos, ut, si tolerabiles sint, feramus, si minus,
+animo aequo e vita, cum ea non placeat, tamquam e theatro exeamus.
+Quibus rebus intellegitur nec timiditatem ignaviamque vituperari nec
+fortitudinem patientiamque laudari suo nomine, sed illas reici, quia
+dolorem pariant, has optari, quia voluptatem.
+
+Iustitia restat, ut de omni virtute sit dictum. Sed similia fere dici
+possunt. Ut enim sapientiam, temperantiam, fortitudinem copulatas esse
+docui cum voluptate, ut ab ea nullo modo nec divelli nec distrahi
+possint, sic de iustitia iudicandum est, quae non modo numquam nocet
+cuiquam, sed contra semper afficit cum vi sua atque natura, quod
+tranquillat animos, tum spe nihil earum rerum defuturum, quas natura non
+depravata desiderat. [et] quem ad modum temeritas et libido et ignavia
+semper animum excruciant et semper sollicitant turbulentaeque sunt, sic
+[inprobitas si] cuius in mente consedit, hoc ipso, quod adest,
+turbulenta est; si vero molita quippiam est, quamvis occulte fecerit,
+numquam tamen id confidet fore semper occultum. Plerumque improborum
+facta primo suspicio insequitur, dein sermo atque fama, tum accusator,
+tum iudex;
+
+Multi etiam, ut te consule, ipsi se indicaverunt. Quodsi qui satis sibi
+contra hominum conscientiam saepti esse et muniti videntur, deorum tamen
+horrent easque ipsas sollicitudines, quibus eorum animi noctesque
+diesque exeduntur, a diis inmortalibus supplicii causa importari putant.
+Quae autem tanta ex improbis factis ad minuendas vitae molestias
+accessio potest fieri, quanta ad augendas, cum conscientia factorum, tum
+poena legum odioque civium? Et tamen in quibusdam neque pecuniae modus
+est neque honoris neque imperii nec libidinum nec epularum nec
+reliquarum cupiditatum, quas nulla praeda umquam improbe parta minuit,
+[sed] potius inflammat, ut coercendi magis quam dedocendi esse
+videantur.
+
+Invitat igitur vera ratio bene sanos ad iustitiam, aequitatem, fidem,
+neque homini infanti aut inpotenti iniuste facta conducunt, qui nec
+facile efficere possit, quod conetur, nec optinere, si effecerit, et
+opes vel fortunae vel ingenii liberalitati magis conveniunt, qua qui
+utuntur, benivolentiam sibi conciliant et, quod aptissimum est ad quiete
+vivendum, caritatem, praesertim cum omnino nulla sit causa peccandi.
+
+Quae enim cupiditates a natura proficiscuntur, facile explentur sine
+ulla iniuria, quae autem inanes sunt, iis parendum non est. Nihil enim
+desiderabile concupiscunt, plusque in ipsa iniuria detrimenti est quam
+in iis rebus emolumenti, quae pariuntur iniuria. Itaque ne iustitiam
+quidem recte quis dixerit per se ipsam optabilem, sed quia iucunditatis
+vel plurimum afferat. Nam diligi et carum esse iucundum est propterea,
+quia tutiorem vitam et voluptatem pleniorem efficit. Itaque non ob ea
+solum incommoda, quae eveniunt inprobis, fugiendam inprobitatem putamus,
+sed multo etiam magis, quod, cuius in animo versatur, numquam sinit eum
+respirare, numquam adquiescere.
+
+Quodsi ne ipsarum quidem virtutum laus, in qua maxime ceterorum
+philosophorum exultat oratio, reperire exitum potest, nisi derigatur ad
+voluptatem, voluptas autem est sola, quae nos vocet ad se et alliciat
+suapte natura, non potest esse dubium, quin id sit summum atque extremum
+bonorum omnium, beateque vivere nihil aliud sit nisi cum voluptate
+vivere.
+
+Huic certae stabilique sententiae quae sint coniuncta explicabo brevi.
+Nullus in ipsis error est finibus bonorum et malorum, id est in
+voluptate aut in dolore, sed in his rebus peccant, cum e quibus haec
+efficiantur ignorant. Animi autem voluptates et dolores nasci fatemur e
+corporis voluptatibus et doloribus – itaque concedo, quod modo dicebas,
+cadere causa, si qui e nostris aliter existimant, quos quidem video esse
+multos, sed imperitos –, quamquam autem et laetitiam nobis voluptas
+animi et molestiam dolor afferat, eorum tamen utrumque et ortum esse e
+corpore et ad corpus referri, nec ob eam causam non multo maiores esse
+et voluptates et dolores animi quam corporis. Nam corpore nihil nisi
+praesens et quod adest sentire possumus, animo autem et praeterita et
+futura. Ut enim aeque doleamus animo, cum corpore dolemus, fieri tamen
+permagna accessio potest, si aliquod aeternum et infinitum impendere
+malum nobis opinemur. Quod idem licet transferre in voluptatem, ut ea
+maior sit, si nihil tale metuamus.
+
+Iam illud quidem perspicuum est, maximam animi aut voluptatem aut
+molestiam plus aut ad beatam aut ad miseram vitam afferre momenti quam
+eorum utrumvis, si aeque diu sit in corpore. Non placet autem detracta
+voluptate aegritudinem statim consequi, nisi in voluptatis locum dolor
+forte successerit, at contra gaudere nosmet omittendis doloribus,
+etiamsi voluptas ea, quae sensum moveat, nulla successerit, eoque
+intellegi potest quanta voluptas sit non dolere.
+
+Sed ut iis bonis erigimur, quae expectamus, sic laetamur iis, quae
+recordamur. Stulti autem malorum memoria torquentur, sapientes bona
+praeterita grata recordatione renovata delectant. Est autem situm in
+nobis ut et adversa quasi perpetua oblivione obruamus et secunda iucunde
+ac suaviter meminerimus. Sed cum ea, quae praeterierunt, acri animo et
+attento intuemur, tum fit ut aegritudo sequatur, si illa mala sint,
+laetitia, si bona.
+
+O praeclaram beate vivendi et apertam et simplicem et directam viam! Cum
+enim certe nihil homini possit melius esse quam vacare omni dolore et
+molestia perfruique maximis et animi et corporis voluptatibus, videtisne
+quam nihil praetermittatur quod vitam adiuvet, quo facilius id, quod
+propositum est, summum bonum consequamur? Clamat Epicurus, is quem vos
+nimis voluptatibus esse deditum dicitis; non posse iucunde vivi, nisi
+sapienter, honeste iusteque vivatur, nec sapienter, honeste, iuste, nisi
+iucunde.
+
+Neque enim civitas in seditione beata esse potest nec in discordia
+dominorum domus; quo minus animus a se ipse dissidens secumque
+discordans gustare partem ullam liquidae voluptatis et liberae potest.
+Atqui pugnantibus et contrariis studiis consiliisque semper utens nihil
+quieti videre, nihil tranquilli potest.
+
+Quodsi corporis gravioribus morbis vitae iucunditas impeditur, quanto
+magis animi morbis impediri necesse est! Animi autem morbi sunt
+cupiditates inmensae et inanes divitiarum, gloriae, dominationis,
+libidinosarum etiam voluptatum. Accedunt aegritudines, molestiae,
+maerores, qui exedunt animos conficiuntque curis hominum non
+intellegentium nihil dolendum esse animo, quod sit a dolore corporis
+praesenti futurove seiunctum. Nec vero quisquam stultus non horum
+morborum aliquo laborat, nemo igitur est non miser.
+
+Accedit etiam mors, quae quasi saxum Tantalo semper impendet, tum
+superstitio, qua qui est imbutus quietus esse numquam potest. Praeterea
+bona praeterita non meminerunt, praesentibus non fruuntur, futura modo
+expectant, quae quia certa esse non possunt, conficiuntur et angore et
+metu maximeque cruciantur, cum sero sentiunt frustra se aut pecuniae
+studuisse aut imperiis aut opibus aut gloriae. Nullas enim consequuntur
+voluptates, quarum potiendi spe inflammati multos labores magnosque
+susceperant.
+
+Ecce autem alii minuti et angusti aut omnia semper desperantes aut
+malivoli, invidi, difficiles, lucifugi, maledici, monstruosi, alii autem
+etiam amatoriis levitatibus dediti, alii petulantes, alii audaces,
+protervi, idem intemperantes et ignavi, numquam in sententia
+permanentes, quas ob causas in eorum vita nulla est intercapedo
+molestiae. Igitur neque stultorum quisquam beatus neque sapientium non
+beatus. Multoque hoc melius nos veriusque quam Stoici. Illi enim negant
+esse bonum quicquam nisi nescio quam illam umbram, quod appellant
+honestum non tam solido quam splendido nomine, virtutem autem nixam hoc
+honesto nullam requirere voluptatem atque ad beate vivendum se ipsa esse
+contentam.
+
+Sed possunt haec quadam ratione dici non modo non repugnantibus, verum
+etiam approbantibus nobis. Sic enim ab Epicuro sapiens semper beatus
+inducitur: finitas habet cupiditates, neglegit mortem, de diis
+inmortalibus sine ullo metu vera sentit, non dubitat, si ita melius sit,
+migrare de vita. His rebus instructus semper est in voluptate. Neque
+enim tempus est ullum, quo non plus voluptatum habeat quam dolorum. Nam
+et praeterita grate meminit et praesentibus ita potitur, ut animadvertat
+quanta sint ea quamque iucunda, neque pendet ex futuris, sed expectat
+illa, fruitur praesentibus ab iisque vitiis, quae paulo ante collegi,
+abest plurimum et, cum stultorum vitam cum sua comparat, magna afficitur
+voluptate. Dolores autem si qui incurrunt, numquam vim tantam habent, ut
+non plus habeat sapiens, quod gaudeat, quam quod angatur.
+
+Optime vero Epicurus, quod exiguam dixit fortunam intervenire sapienti
+maximasque ab eo et gravissimas res consilio ipsius et ratione
+administrari neque maiorem voluptatem ex infinito tempore aetatis
+percipi posse, quam ex hoc percipiatur, quod videamus esse finitum. In
+dialectica autem vestra nullam existimavit esse nec ad melius vivendum
+nec ad commodius disserendum viam. In physicis plurimum posuit. Ea
+scientia et verborum vis et natura orationis et consequentium
+repugnantiumve ratio potest perspici. Omnium autem rerum natura cognita
+levamur superstitione, liberamur mortis metu, non conturbamur
+ignoratione rerum, e qua ipsa horribiles existunt saepe formidines.
+Denique etiam morati melius erimus, cum didicerimus quid natura
+desideret. Tum vero, si stabilem scientiam rerum tenebimus, servata
+illa, quae quasi delapsa de caelo est ad cognitionem omnium, regula, ad
+quam omnia iudicia rerum dirigentur, numquam ullius oratione victi
+sententia desistemus.
+
+Nisi autem rerum natura perspecta erit, nullo modo poterimus sensuum
+iudicia defendere. Quicquid porro animo cernimus, id omne oritur a
+sensibus; qui si omnes veri erunt, ut Epicuri ratio docet, tum denique
+poterit aliquid cognosci et percipi. Quos qui tollunt et nihil posse
+percipi dicunt, ii remotis sensibus ne id ipsum quidem expedire possunt,
+quod disserunt. Praeterea sublata cognitione et scientia tollitur omnis
+ratio et vitae degendae et rerum gerendarum. Sic e physicis et fortitudo
+sumitur contra mortis timorem et constantia contra metum religionis et
+sedatio animi omnium rerum occultarum ignoratione sublata et moderatio
+natura cupiditatum generibusque earum explicatis, et, ut modo docui,
+cognitionis regula et iudicio ab eadem illa constituto veri a falso
+distinctio traditur.
+
+Restat locus huic disputationi vel maxime necessarius de amicitia, quam,
+si voluptas summum sit bonum, affirmatis nullam omnino fore. De qua
+Epicurus quidem ita dicit, omnium rerum, quas ad beate vivendum
+sapientia comparaverit, nihil esse maius amicitia, nihil uberius, nihil
+iucundius. Nec vero hoc oratione solum, sed multo magis vita et factis
+et moribus comprobavit. Quod quam magnum sit fictae veterum fabulae
+declarant, in quibus tam multis tamque variis ab ultima antiquitate
+repetitis tria vix amicorum paria reperiuntur, ut ad Orestem pervenias
+profectus a Theseo. At vero Epicurus una in domo, et ea quidem angusta,
+quam magnos quantaque amoris conspiratione consentientis tenuit amicorum
+greges! Quod fit etiam nunc ab Epicureis. Sed ad rem redeamus; de
+hominibus dici non necesse est.
+
+Tribus igitur modis video esse a nostris de amicitia disputatum. Alii
+cum eas voluptates, quae ad amicos pertinerent, negarent esse per se
+ipsas tam expetendas, quam nostras expeteremus, quo loco videtur
+quibusdam stabilitas amicitiae vacillare, tuentur tamen eum locum seque
+facile, ut mihi videtur, expediunt. Ut enim virtutes, de quibus ante
+dictum est, sic amicitiam negant posse a voluptate discedere. Nam cum
+solitudo et vita sine amicis insidiarum et metus plena sit, ratio ipsa
+monet amicitias comparare, quibus partis confirmatur animus et a spe
+pariendarum voluptatum seiungi non potest.
+
+Atque ut odia, invidiae, despicationes adversantur voluptatibus, sic
+amicitiae non modo fautrices fidelissimae, sed etiam effectrices sunt
+voluptatum tam amicis quam sibi, quibus non solum praesentibus fruuntur,
+sed etiam spe eriguntur consequentis ac posteri temporis. Quod quia
+nullo modo sine amicitia firmam et perpetuam iucunditatem vitae tenere
+possumus neque vero ipsam amicitiam tueri, nisi aeque amicos et nosmet
+ipsos diligamus, idcirco et hoc ipsum efficitur in amicitia, et amicitia
+cum voluptate conectitur. Nam et laetamur amicorum laetitia aeque atque
+nostra et pariter dolemus angoribus.
+
+Quocirca eodem modo sapiens erit affectus erga amicum, quo in se ipsum,
+quosque labores propter suam voluptatem susciperet, eosdem suscipiet
+propter amici voluptatem. Quaeque de virtutibus dicta sunt, quem ad
+modum eae semper voluptatibus inhaererent, eadem de amicitia dicenda
+sunt. Praeclare enim Epicurus his paene verbis: ‘Eadem’, inquit,
+‘scientia confirmavit animum, ne quod aut sempiternum aut diuturnum
+timeret malum, quae perspexit in hoc ipso vitae spatio amicitiae
+praesidium esse firmissimum.’
+
+Sunt autem quidam Epicurei timidiores paulo contra vestra convicia, sed
+tamen satis acuti, qui verentur ne, si amicitiam propter nostram
+voluptatem expetendam putemus, tota amicitia quasi claudicare videatur.
+Itaque primos congressus copulationesque et consuetudinum instituendarum
+voluntates fieri propter voluptatem; cum autem usus progrediens
+familiaritatem effecerit, tum amorem efflorescere tantum, ut, etiamsi
+nulla sit utilitas ex amicitia, tamen ipsi amici propter se ipsos
+amentur. Etenim si loca, si fana, si urbes, si gymnasia, si campum, si
+canes, si equos, si ludicra exercendi aut venandi consuetudine adamare
+solemus, quanto id in hominum consuetudine facilius fieri poterit et
+iustius?
+
+Sunt autem, qui dicant foedus esse quoddam sapientium, ut ne minus
+amicos quam se ipsos diligant. Quod et posse fieri intellegimus et saepe
+etiam videmus, et perspicuum est nihil ad iucunde vivendum reperiri
+posse, quod coniunctione tali sit aptius. Quibus ex omnibus iudicari
+potest non modo non impediri rationem amicitiae, si summum bonum in
+voluptate ponatur, sed sine hoc institutionem omnino amicitiae non posse
+reperiri.
+
+Quapropter si ea, quae dixi, sole ipso illustriora et clariora sunt, si
+omnia dixi hausta e fonte naturae, si tota oratio nostra omnem sibi
+fidem sensibus confirmat, id est incorruptis atque integris testibus, si
+infantes pueri, mutae etiam bestiae paene loquuntur magistra ac duce
+natura nihil esse prosperum nisi voluptatem, nihil asperum nisi dolorem,
+de quibus neque depravate iudicant neque corrupte, nonne ei maximam
+gratiam habere debemus, qui hac exaudita quasi voce naturae sic eam
+firme graviterque comprehenderit, ut omnes bene sanos in viam placatae,
+tranquillae, quietae, beatae vitae deduceret? Qui quod tibi parum
+videtur eruditus, ea causa est, quod nullam eruditionem esse duxit, nisi
+quae beatae vitae disciplinam iuvaret.
+
+An ille tempus aut in poetis evolvendis, ut ego et Triarius te hortatore
+facimus, consumeret, in quibus nulla solida utilitas omnisque puerilis
+est delectatio, aut se, ut Plato, in musicis, geometria, numeris, astris
+contereret, quae et a falsis initiis profecta vera esse non possunt et,
+si essent vera, nihil afferrent, quo iucundius, id est quo melius
+viveremus, eas ergo artes persequeretur, vivendi artem tantam tamque et
+operosam et perinde fructuosam relinqueret? Non ergo Epicurus
+ineruditus, sed ii indocti, qui, quae pueros non didicisse turpe est, ea
+putant usque ad senectutem esse discenda.
+
+Quae cum dixisset, Explicavi, inquit, sententiam meam, et eo quidem
+consilio, tuum iudicium ut cognoscerem, quoniam mihi ea facultas, ut id
+meo arbitratu facerem, ante hoc tempus numquam est data.
+
+Hic cum uterque me intueretur seseque ad audiendum significarent
+paratos, Primum, inquam, deprecor, ne me tamquam philosophum putetis
+scholam vobis aliquam explicaturum, quod ne in ipsis quidem philosophis
+magnopere umquam probavi. Quando enim Socrates, qui parens philosophiae
+iure dici potest, quicquam tale fecit? Eorum erat iste mos qui tum
+sophistae nominabantur, quorum e numero primus est ausus Leontinus
+Gorgias in conventu poscere quaestionem, id est iubere dicere, qua de re
+quis vellet audire. Audax negotium, dicerem impudens, nisi hoc
+institutum postea translatum ad philosophos nostros esset.
+
+Sed et illum, quem nominavi, et ceteros sophistas, ut e Platone
+intellegi potest, lusos videmus a Socrate. Is enim percontando atque
+interrogando elicere solebat eorum opiniones, quibuscum disserebat, ut
+ad ea, quae ii respondissent, si quid videretur, diceret. Qui mos cum a
+posterioribus non esset retentus, Arcesilas eum revocavit instituitque
+ut ii, qui se audire vellent, non de se quaererent, sed ipsi dicerent,
+quid sentirent; quod cum dixissent, ille contra. Sed eum qui audiebant,
+quoad poterant, defendebant sententiam suam. Apud ceteros autem
+philosophos, qui quaesivit aliquid, tacet; quod quidem iam fit etiam in
+Academia. Ubi enim is, qui audire vult, ita dixit: ‘Voluptas mihi
+videtur esse summum bonum’, perpetua oratione contra disputatur, ut
+facile intellegi possit eos, qui aliquid sibi videri dicant, non ipsos
+in ea sententia esse, sed audire velle contraria.
+
+Nos commodius agimus. Non enim solum Torquatus dixit quid sentiret, sed
+etiam cur. Ego autem arbitror, quamquam admodum delectatus sum eius
+oratione perpetua, tamen commodius, cum in rebus singulis insistas et
+intellegas quid quisque concedat, quid abnuat, ex rebus concessis
+concludi quod velis et ad exitum perveniri. Cum enim fertur quasi
+torrens oratio, quamvis multa cuiusque modi rapiat, nihil tamen teneas,
+nihil apprehendas, nusquam orationem rapidam coerceas. Omnis autem in
+quaerendo, quae via quadam et ratione habetur, oratio praescribere
+primum debet ut quibusdam in formulis ea res agetur, ut, inter quos
+disseritur, conveniat quid sit id, de quo disseratur.
+
+Hoc positum in Phaedro a Platone probavit Epicurus sensitque in omni
+disputatione id fieri oportere. Sed quod proximum fuit non vidit. Negat
+enim definiri rem placere, sine quo fieri interdum non potest, ut inter
+eos, qui ambigunt, conveniat quid sit id, de quo agatur, velut in hoc
+ipso, de quo nunc disputamus. Quaerimus enim finem bonorum. Possumusne
+hic scire qualis sit, nisi contulerimus inter nos, cum finem bonorum
+dixerimus, quid finis, quid etiam sit ipsum bonum?
+
+Atqui haec patefactio quasi rerum opertarum, cum quid quidque sit
+aperitur, definitio est. Qua tu etiam inprudens utebare non numquam. Nam
+hunc ipsum sive finem sive extremum sive ultimum definiebas id esse, quo
+omnia, quae recte fierent, referrentur neque id ipsum usquam referretur.
+Praeclare hoc quidem. Bonum ipsum etiam quid esset, fortasse, si opus
+fuisset, definisses aut quod esset natura adpetendum aut quod prodesset
+aut quod iuvaret aut quod liberet modo. Nunc idem, nisi molestum est,
+quoniam tibi non omnino displicet definire et id facis, cum vis, velim
+definias quid sit voluptas, de quo omnis haec quaestio est.
+
+Quis, quaeso, inquit, est, qui quid sit voluptas nesciat, aut qui, quo
+magis id intellegat, definitionem aliquam desideret? Me ipsum esse
+dicerem, inquam, nisi mihi viderer habere bene cognitam voluptatem et
+satis firme conceptam animo atque comprehensam. Nunc autem dico ipsum
+Epicurum nescire et in eo nutare eumque, qui crebro dicat diligenter
+oportere exprimi quae vis subiecta sit vocibus, non intellegere
+interdum, quid sonet haec vox voluptatis, id est quae res huic voci
+subiciatur. Tum ille ridens: Hoc vero, inquit, optimum, ut is, qui finem
+rerum expetendarum voluptatem esse dicat, id extremum, id ultimum
+bonorum, id ipsum quid et quale sit, nesciat! Atqui, inquam, aut
+Epicurus quid sit voluptas aut omnes mortales, qui ubique sunt,
+nesciunt. Quonam, inquit, modo? Quia voluptatem hanc esse sentiunt
+omnes, quam sensus accipiens movetur et iucunditate quadam perfunditur.
+
+Quid ergo? Istam voluptatem, inquit, Epicurus ignorat? Non semper,
+inquam; nam interdum nimis etiam novit, quippe qui testificetur ne
+intellegere quidem se posse ubi sit aut quod sit ullum bonum praeter
+illud, quod cibo et potione et aurium delectatione et obscena voluptate
+capiatur. An haec ab eo non dicuntur? Quasi vero me pudeat, inquit,
+istorum, aut non possim quem ad modum ea dicantur ostendere! Ego vero
+non dubito, inquam, quin facile possis, nec est quod te pudeat sapienti
+adsentiri, qui se unus, quod sciam, sapientem profiteri sit ausus. Nam
+Metrodorum non puto ipsum professum, sed, cum appellaretur ab Epicuro,
+repudiare tantum beneficium noluisse; septem autem illi non suo, sed
+populorum suffragio omnium nominati sunt.
+
+Verum hoc loco sumo verbis his eandem certe vim voluptatis Epicurum
+nosse quam ceteros. Omnes enim iucundum motum, quo sensus hilaretur.
+Graece […], Latine voluptatem vocant. Quid est igitur, inquit, quod
+requiras? Dicam, inquam, et quidem discendi causa magis, quam quo te aut
+Epicurum reprehensum velim. Ego quoque, inquit, didicerim libentius si
+quid attuleris, quam te reprehenderim. Tenesne igitur, inquam,
+Hieronymus Rhodius quid dicat esse summum bonum, quo putet omnia referri
+oportere? Teneo, inquit, finem illi videri nihil dolere. Quid? Idem
+iste, inquam, de voluptate quid sentit?
+
+Negat esse eam, inquit, propter se expetendam. Aliud igitur esse censet
+gaudere, aliud non dolere. Et quidem, inquit, vehementer errat; nam, ut
+paulo ante docui, augendae voluptatis finis est doloris omnis amotio.
+Non dolere, inquam, istud quam vim habeat postea videro; aliam vero vim
+voluptatis esse, aliam nihil dolendi, nisi valde pertinax fueris,
+concedas necesse est. Atqui reperies, inquit, in hoc quidem pertinacem;
+dici enim nihil potest verius. Estne, quaeso, inquam, sitienti in
+bibendo voluptas? Quis istud possit, inquit, negare? Eademne, quae
+restincta siti? Immo alio genere; restincta enim sitis stabilitatem
+voluptatis habet, inquit, illa autem voluptas ipsius restinctionis in
+motu est. Cur igitur, inquam, res tam dissimiles eodem nomine appellas?
+
+Quid paulo ante, inquit, dixerim nonne meministi, cum omnis dolor
+detractus esset, variari, non augeri voluptatem? Memini vero, inquam;
+sed tu istuc dixti bene Latine, parum plane. Varietas enim Latinum
+verbum est, idque proprie quidem in disparibus coloribus dicitur, sed
+transfertur in multa disparia: varium poema, varia oratio, varii mores,
+varia fortuna, voluptas etiam varia dici solet, cum percipitur e multis
+dissimilibus rebus dissimilis efficientibus voluptates. Eam si
+varietatem diceres, intellegerem, ut etiam non dicente te intellego;
+ista varietas quae sit non satis perspicio, quod ais, cum dolore
+careamus, tum in summa voluptate nos esse, cum autem vescamur iis rebus,
+quae dulcem motum afferant sensibus, tum esse in motu voluptatem, qui
+faciat varietatem voluptatum, sed non augeri illam non dolendi
+voluptatem, quam cur voluptatem appelles nescio.
+
+An potest, inquit ille, quicquam esse suavius quam nihil dolere? Immo
+sit sane nihil melius, inquam–nondum enim id quaero–, num propterea idem
+voluptas est, quod, ut ita dicam, indolentia? Plane idem, inquit, et
+maxima quidem, qua fieri nulla maior potest. Quid dubitas igitur,
+inquam, summo bono a te ita constituto, ut id totum in non dolendo sit,
+id tenere unum, id tueri, id defendere?
+
+Quid enim necesse est, tamquam meretricem in matronarum coetum, sic
+voluptatem in virtutum concilium adducere? Invidiosum nomen est, infame,
+suspectum. Itaque hoc frequenter dici solet a vobis, non intellegere
+nos, quam dicat Epicurus voluptatem. Quod quidem mihi si quando dictum
+est–est autem dictum non parum saepe–, etsi satis clemens sum in
+disputando, tamen interdum soleo subirasci. Egone non intellego, quid
+sit […] Graece, Latine voluptas? Utram tandem linguam nescio? Deinde qui
+fit, ut ego nesciam, sciant omnes, quicumque Epicurei esse voluerunt?
+Quod vestri quidem vel optime disputant, nihil opus esse eum, qui
+philosophus futurus sit, scire litteras. Itaque ut maiores nostri ab
+aratro adduxerunt Cincinnatum illum, ut dictator esset, sic vos de pagis
+omnibus colligitis bonos illos quidem viros, sed certe non pereruditos.
+
+Ergo illi intellegunt quid Epicurus dicat, ego non intellego? Ut scias
+me intellegere, primum idem esse dico voluptatem, quod ille […]. Et
+quidem saepe quaerimus verbum Latinum par Graeco et quod idem valeat;
+hic nihil fuit, quod quaereremus. Nullum inveniri verbum potest quod
+magis idem declaret Latine, quod Graece, quam declarat voluptas. Huic
+verbo omnes, qui ubique sunt, qui Latine sciunt, duas res subiciunt,
+laetitiam in animo, commotionem suavem iucunditatis in corpore. Nam et
+ille apud Trabeam ‘voluptatem animi nimiam’ laetitiam dicit eandem, quam
+ille Caecilianus, qui ‘omnibus laetitiis laetum’ esse se narrat. Sed hoc
+interest, quod voluptas dicitur etiam in animo–vitiosa res, ut Stoici
+putant, qui eam sic definiunt: sublationem animi sine ratione opinantis
+se magno bono frui–, non dicitur laetitia nec gaudium in corpore.
+
+In eo autem voluptas omnium Latine loquentium more ponitur, cum
+percipitur ea, quae sensum aliquem moveat, iucunditas. Hanc quoque
+iucunditatem, si vis, transfer in animum; iuvare enim in utroque
+dicitur, ex eoque iucundum, modo intellegas inter illum, qui dicat:
+‘Tanta laetitia auctus sum, ut nihil
+constet’, et eum, qui: ‘Nunc demum mihi
+animus ardet’, quorum alter laetitia gestiat, alter dolore
+crucietur, esse illum medium: ‘Quamquam haec inter nos
+nuper notitia admodum est’, qui nec laetetur nec angatur,
+itemque inter eum, qui potiatur corporis expetitis voluptatibus, et eum,
+qui crucietur summis doloribus, esse eum, qui utroque careat.
+
+Satisne igitur videor vim verborum tenere, an sum etiam nunc vel Graece
+loqui vel Latine docendus? Et tamen vide, ne, si ego non intellegam quid
+Epicurus loquatur, cum Graece, ut videor, luculenter sciam, sit aliqua
+culpa eius, qui ita loquatur, ut non intellegatur. Quod duobus modis
+sine reprehensione fit, si aut de industria facias, ut Heraclitus,
+‘cognomento qui […] perhibetur, quia de natura nimis obscure memoravit’,
+aut cum rerum obscuritas, non verborum, facit ut non intellegatur
+oratio, qualis est in Timaeo Platonis. Epicurus autem, ut opinor, nec
+non vult, si possit, plane et aperte loqui, nec de re obscura, ut
+physici, aut artificiosa, ut mathematici, sed de illustri et facili et
+iam in vulgus pervagata loquitur. Quamquam non negatis nos intellegere
+quid sit voluptas, sed quid ille dicat. E quo efficitur, non ut nos non
+intellegamus quae vis sit istius verbi, sed ut ille suo more loquatur,
+nostrum neglegat.
+
+Si enim idem dicit, quod Hieronymus, qui censet summum bonum esse sine
+ulla molestia vivere, cur mavult dicere voluptatem quam vacuitatem
+doloris, ut ille facit, qui quid dicat intellegit? Sin autem voluptatem
+putat adiungendam eam, quae sit in motu–sic enim appellat hanc dulcem:
+‘in motu’, illam nihil dolentis ‘in stabilitate’–, quid tendit? Cum
+efficere non possit ut cuiquam, qui ipse sibi notus sit, hoc est qui
+suam naturam sensumque perspexerit, vacuitas doloris et voluptas idem
+esse videatur. Hoc est vim afferre, Torquate, sensibus, extorquere ex
+animis cognitiones verborum, quibus inbuti sumus. Quis enim est, qui non
+videat haec esse in natura rerum tria? Unum, cum in voluptate sumus,
+alterum, cum in dolore, tertium hoc, in quo nunc equidem sum, credo item
+vos, nec in dolore nec in voluptate; ut in voluptate sit, qui epuletur,
+in dolore, qui torqueatur. Tu autem inter haec tantam multitudinem
+hominum interiectam non vides nec laetantium nec dolentium?
+
+Non prorsus, inquit, omnisque, qui sine dolore sint, in voluptate, et ea
+quidem summa, esse dico. Ergo in eadem voluptate eum, qui alteri misceat
+mulsum ipse non sitiens, et eum, qui illud sitiens bibat? Tum ille:
+Finem, inquit, interrogandi, si videtur, quod quidem ego a principio ita
+me malle dixeram hoc ipsum providens, dialecticas captiones. Rhetorice
+igitur, inquam, nos mavis quam dialectice disputare? Quasi vero, inquit,
+perpetua oratio rhetorum solum, non etiam philosophorum sit. Zenonis
+est, inquam, hoc Stoici. Omnem vim loquendi, ut iam ante Aristoteles, in
+duas tributam esse partes, rhetoricam palmae, dialecticam pugni similem
+esse dicebat, quod latius loquerentur rhetores, dialectici autem
+compressius. Obsequar igitur voluntati tuae dicamque, si potero,
+rhetorice, sed hac rhetorica philosophorum, non nostra illa forensi,
+quam necesse est, cum populariter loquatur, esse interdum paulo
+hebetiorem.
+
+Sed dum dialecticam, Torquate, contemnit Epicurus, quae una continet
+omnem et perspiciendi quid in quaque re sit scientiam et iudicandi quale
+quidque sit et ratione ac via disputandi, ruit in dicendo, ut mihi
+quidem videtur, nec ea, quae docere vult, ulla arte distinguit, ut haec
+ipsa, quae modo loquebamur. Summum a vobis bonum voluptas dicitur.
+Aperiendum est igitur, quid sit voluptas; aliter enim explicari, quod
+quaeritur, non potest. Quam si explicavisset, non tam haesitaret. Aut
+enim eam voluptatem tueretur, quam Aristippus, id est, qua sensus
+dulciter ac iucunde movetur, quam etiam pecudes, si loqui possent,
+appellarent voluptatem, aut, si magis placeret suo more loqui, quam ut
+Omnes Danai atque Mycenenses. Attica pubes reliquique Graeci, qui hoc
+anapaesto citantur, hoc non dolere solum voluptatis nomine appellaret,
+illud Aristippeum contemneret, aut, si utrumque probaret, ut probat,
+coniungeret doloris vacuitatem cum voluptate et duobus ultimis uteretur.
+
+Multi enim et magni philosophi haec ultima bonorum iuncta fecerunt, ut
+Aristoteles virtutis usum cum vitae perfectae prosperitate coniunxit,
+Callipho adiunxit ad honestatem voluptatem, Diodorus ad eandem
+honestatem addidit vacuitatem doloris. Idem fecisset Epicurus, si
+sententiam hanc, quae nunc Hieronymi est, coniunxisset cum Aristippi
+vetere sententia. Illi enim inter se dissentiunt. Propterea singulis
+finibus utuntur et, cum uterque Graece egregie loquatur, nec Aristippus,
+qui voluptatem summum bonum dicit, in voluptate ponit non dolere, neque
+Hieronymus, qui summum bonum statuit non dolere, voluptatis nomine
+umquam utitur pro illa indolentia, quippe qui ne in expetendis quidem
+rebus numeret voluptatem.
+
+Duae sunt enim res quoque, ne tu verba solum putes. Unum est sine dolore
+esse, alterum cum voluptate. Vos ex his tam dissimilibus rebus non modo
+nomen unum –nam id facilius paterer–, sed etiam rem unam ex duabus
+facere conamini, quod fieri nullo modo potest. Hic, qui utrumque probat,
+ambobus debuit uti, sicut facit re, neque tamen dividit verbis. Cum enim
+eam ipsam voluptatem, quam eodem nomine omnes appellamus, laudat locis
+plurimis, audet dicere ne suspicari quidem se ullum bonum seiunctum ab
+illo Aristippeo genere voluptatis, atque ibi hoc dicit, ubi omnis eius
+est oratio de summo bono. In alio vero libro, in quo breviter
+comprehensis gravissimis sententiis quasi oracula edidisse sapientiae
+dicitur, scribit his verbis, quae nota tibi profecto, Torquate,
+sunt–quis enim vestrum non edidicit Epicuri […], id est quasi maxime
+ratas, quia gravissimae sint ad beate vivendum breviter enuntiatae
+sententiae?–animadverte igitur rectene hanc sententiam interpreter:
+
+‘Si ea, quae sunt luxuriosis efficientia voluptatum, liberarent eos
+deorum et mortis et doloris metu docerentque qui essent fines
+cupiditatum, nihil haberemus (quod reprehenderemus), cum undique
+complerentur voluptatibus nec haberent ulla ex parte aliquid aut dolens
+aut aegrum, id est autem malum.’ Hoc loco tenere se Triarius non potuit.
+Obsecro, inquit, Torquate, haec dicit Epicurus? Quod mihi quidem visus
+est, cum sciret, velle tamen confitentem audire Torquatum. At ille non
+pertimuit saneque fidenter: Istis quidem ipsis verbis, inquit; sed quid
+sentiat, non videtis. Si alia sentit, inquam, alia loquitur, numquam
+intellegam quid sentiat; sed plane dicit quod intellegit. Idque si ita
+dicit, non esse reprehendendos luxuriosos, si sapientes sint, dicit
+absurde, similiter et si dicat non reprehendendos parricidas, si nec
+cupidi sint nec deos metuant nec mortem nec dolorem. Et tamen quid
+attinet luxuriosis ullam exceptionem dari aut fingere aliquos, qui, cum
+luxuriose viverent, a summo philosopho non reprehenderentur eo nomine
+dumtaxat, cetera caverent?
+
+Sed tamen nonne reprehenderes, Epicure, luxuriosos ob eam ipsam causam,
+quod ita viverent, ut persequerentur cuiusque modi voluptates, cum esset
+praesertim, ut ais tu, summa voluptas nihil dolere? Atqui reperiemus
+asotos primum ita non religiosos, ut edint de patella, deinde ita mortem
+non timentes, ut illud in ore habeant ex Hymnide: ‘Mihi sex menses satis
+sunt vitae, septimum Orco spondeo’. Iam doloris medicamenta illa
+Epicurea tamquam de narthecio proment: ‘Si gravis, brevis; si longus,
+levis.’ Unum nescio, quo modo possit, si luxuriosus sit, finitas
+cupiditates habere.
+
+Quid ergo attinet dicere: ‘Nihil haberem, quod reprehenderem, si finitas
+cupiditates haberent’? Hoc est dicere: ‘Non reprehenderem asotos, si non
+essent asoti.’ isto modo ne improbos quidem, si essent boni viri. Hic
+homo severus luxuriam ipsam per se reprehendendam non putat, et hercule,
+Torquate, ut verum loquamur, si summum bonum voluptas est, rectissime
+non putat. Noli enim mihi fingere asotos, ut soletis, qui in mensam
+vomant, et qui de conviviis auferantur crudique postridie se rursus
+ingurgitent, qui solem, ut aiunt, nec occidentem umquam viderint nec
+orientem, qui consumptis patrimoniis egeant. Nemo nostrum istius generis
+asotos iucunde putat vivere. Mundos, elegantis, optimis cocis,
+pistoribus, piscatu, aucupio, venatione, his omnibus exquisitis,
+vitantes cruditatem, quibus vinum defusum e pleno sit chrysizon, ut ait
+Lucilius, cui nihildum situlus et sacculus abstulerit, adhibentis ludos
+et quae sequuntur, illa, quibus detractis clamat Epicurus se nescire
+quid sit bonum; adsint etiam formosi pueri, qui ministrent, respondeat
+his vestis, argentum, Corinthium, locus ipse, aedificium–hos ergo asotos
+bene quidem vivere aut beate numquam dixerim.
+
+Ex quo efficitur, non ut voluptas ne sit voluptas, sed ut voluptas non
+sit summum bonum. Nec ille, qui Diogenem Stoicum adolescens, post autem
+Panaetium audierat, Laelius, eo dictus est sapiens, quod non
+intellegeret quid suavissimum esset–nec enim sequitur, ut, cui cor
+sapiat, ei non sapiat palatus–, sed quia parvi id duceret. O lapathe, ut
+iactare, nec es satis cognitu’ qui sis! In quo [cognitu] Laelius
+clamores […] ille so lebat Edere compellans gumias ex ordine nostros.
+Praeclare Laelius, et recte […], illudque vere: O Publi, o gurges,
+Galloni! Es homo miser, inquit. Cenasti in vita numquam bene, cum omnia
+in ista Consumis squilla atque acupensere cum decimano. Is haec
+loquitur, qui in voluptate nihil ponens negat eum bene cenare, qui omnia
+ponat in voluptate, et tamen non negat libenter cenasse umquam
+Gallonium– mentiretur enim–, sed bene. Ita graviter et severe voluptatem
+secrevit a bono. Ex quo illud efficitur, qui bene cenent omnis libenter
+cenare, qui libenter, non continuo bene.
+
+Semper Laelius bene. Quid bene? Dicet Lucilius: ‘cocto, condito’, sed
+cedo caput cenae: ‘sermone bono’, quid ex eo? ‘si quaeris, libenter’;
+veniebat enim ad cenam, ut animo quieto satiaret desideria naturae.
+Recte ergo is negat umquam bene cenasse Gallonium, recte miserum, cum
+praesertim in eo omne studium consumeret. Quem libenter cenasse nemo
+negat. Cur igitur non bene? Quia, quod bene, id recte, frugaliter,
+honeste; ille porro [male] prave, nequiter, turpiter cenabat; non igitur
+(bene). Nec lapathi suavitatem acupenseri Galloni Laelius anteponebat,
+sed suavitatem ipsam neglegebat; quod non faceret, si in voluptate
+summum bonum poneret.
+
+Semovenda est igitur voluptas, non solum ut recta sequamini, sed etiam
+ut loqui deceat frugaliter. Possumusne ergo in vita summum bonum dicere,
+cum id ne in cena quidem posse videamur? Quo modo autem philosophus
+loquitur? ‘Tria genera cupiditatum, naturales et necessariae, naturales
+et non necessariae, nec naturales nec necessariae.’ primum divisit
+ineleganter; duo enim genera quae erant, fecit tria. Hoc est non
+dividere, sed frangere. Qui haec didicerunt, quae ille contemnit, sic
+solent: ‘Duo genera cupiditatum, naturales et inanes, naturalium duo,
+necessariae et non necessariae.’ confecta res esset. Vitiosum est enim
+in dividendo partem in genere numerare.
+
+Sed hoc sane concedamus. Contemnit enim disserendi elegantiam, confuse
+loquitur. Gerendus est mos, modo recte sentiat. Et quidem illud ipsum
+non nimium probo et tantum patior, philosophum loqui de cupiditatibus
+finiendis. An potest cupiditas finiri? Tollenda est atque extrahenda
+radicitus. Quis est enim, in quo sit cupiditas, quin recte cupidus dici
+possit? Ergo et avarus erit, sed finite, et adulter, verum habebit
+modum, et luxuriosus eodem modo. Qualis ista philosophia est, quae non
+interitum afferat pravitatis, sed sit contenta mediocritate vitiorum?
+Quamquam in hac divisione rem ipsam prorsus probo, elegantiam desidero.
+Appellet haec desideria naturae, cupiditatis nomen servet alio, ut eam,
+cum de avaritia, cum de intemperantia, cum de maximis vitiis loquetur,
+tamquam capitis accuset.
+
+Sed haec quidem liberius ab eo dicuntur et saepius. Quod equidem non
+reprehendo; est enim tanti philosophi tamque nobilis audacter sua
+decreta defendere. Sed tamen ex eo, quod eam voluptatem, quam omnes
+gentes hoc nomine appellant, videtur amplexari saepe vehementius, in
+magnis interdum versatur angustiis, ut hominum conscientia remota nihil
+tam turpe sit, quod voluptatis causa non videatur esse facturus. Deinde,
+ubi erubuit–vis enim est permagna naturae–, confugit illuc, ut neget
+accedere quicquam posse ad voluptatem nihil dolentis. At iste non
+dolendi status non vocatur voluptas. ‘Non laboro’, inquit, ‘de nomine’.
+Quid, quod res alia tota est? ‘Reperiam multos, vel innumerabilis
+potius, non tam curiosos nec tam molestos, quam vos estis, quibus, quid
+velim, facile persuadeam.’ quid ergo dubitamus, quin, si non dolere
+voluptas sit summa, non esse in voluptate dolor sit maximus? Cur id non
+ita fit? ‘Quia dolori non voluptas contraria est, sed doloris privatio.’
+
+Hoc vero non videre, maximo argumento esse voluptatem illam, qua sublata
+neget se intellegere omnino quid sit bonum–eam autem ita persequitur:
+quae palato percipiatur, quae auribus; cetera addit, quae si appelles,
+honos praefandus sit–hoc igitur, quod solum bonum severus et gravis
+philosophus novit, idem non videt ne expetendum quidem esse, quod eam
+voluptatem hoc eodem auctore non desideremus, cum dolore careamus.
+
+Quam haec sunt contraria! Hic si definire, si dividere didicisset, si
+loquendi vim, si denique consuetudinem verborum teneret, numquam in
+tantas salebras incidisset. Nunc vides, quid faciat. Quam nemo umquam
+voluptatem appellavit, appellat; quae duo sunt, unum facit. Hanc in motu
+voluptatem –sic enim has suaves et quasi dulces voluptates
+appellat–interdum ita extenuat, ut M’. Curium putes loqui, interdum ita
+laudat, ut quid praeterea sit bonum neget se posse ne suspicari quidem.
+Quae iam oratio non a philosopho aliquo, sed a censore opprimenda est.
+Non est enim vitium in oratione solum, sed etiam in moribus. Luxuriam
+non reprehendit, modo sit vacua infinita cupiditate et timore. Hoc loco
+discipulos quaerere videtur, ut, qui asoti esse velint, philosophi ante
+fiant.
+
+A primo, ut opinor, animantium ortu petitur origo summi boni. ‘Simul
+atque natum animal est, gaudet voluptate et eam appetit ut bonum,
+aspernatur dolorem ut malum.’ De malis autem et bonis ab iis animalibus,
+quae nondum depravata sint, ait optime iudicari. Haec et tu ita
+posuisti, et verba vestra sunt. Quam multa vitiosa! Summum enim bonum et
+malum vagiens puer utra voluptate diiudicabit, stante an movente?
+Quoniam, si dis placet, ab Epicuro loqui discimus. Si stante, hoc natura
+videlicet vult, salvam esse se, quod concedimus; si movente, quod tamen
+dicitis, nulla turpis voluptas erit, quae praetermittenda sit, et simul
+non proficiscitur animal illud modo natum a summa voluptate, quae est a
+te posita in non dolendo.
+
+Nec tamen argumentum hoc Epicurus a parvis petivit aut etiam a bestiis,
+quae putat esse specula naturae, ut diceret ab iis duce natura hanc
+voluptatem expeti nihil dolendi. Nec enim haec movere potest appetitum
+animi, nec ullum habet ictum, quo pellat animum, status hic non dolendi,
+itaque in hoc eodem peccat Hieronymus. At ille pellit, qui permulcet
+sensum voluptate. Itaque Epicurus semper hoc utitur, ut probet
+voluptatem natura expeti, quod ea voluptas, quae in motu sit, et parvos
+ad se alliciat et bestias, non illa stabilis, in qua tantum inest nihil
+dolere. Qui igitur convenit ab alia voluptate dicere naturam proficisci,
+in alia summum bonum ponere?
+
+Bestiarum vero nullum iudicium puto. Quamvis enim depravatae non sint,
+pravae tamen esse possunt. Ut bacillum aliud est inflexum et incurvatum
+de industria, aliud ita natum, sic ferarum natura non est illa quidem
+depravata mala disciplina, sed natura sua. Nec vero ut voluptatem
+expetat, natura movet infantem, sed tantum ut se ipse diligat, ut
+integrum se salvumque velit. Omne enim animal, simul et ortum est, se
+ipsum et omnes partes suas diligit duasque, quae maximae sunt, in primis
+amplectitur, animum et corpus, deinde utriusque partes. Nam sunt et in
+animo praecipua quaedam et in corpore, quae cum leviter agnovit, tum
+discernere incipit, ut ea, quae prima data sunt natura, appetat
+asperneturque contraria.
+
+In his primis naturalibus voluptas insit necne, magna quaestio est.
+Nihil vero putare esse praeter voluptatem, non membra, non sensus, non
+ingenii motum, non integritatem corporis, non valitudinem [corporis],
+summae mihi videtur inscitiae. Atque ab isto capite fluere necesse est
+omnem rationem bonorum et malorum. Polemoni et iam ante Aristoteli ea
+prima visa sunt, quae paulo ante dixi. Ergo nata est sententia veterum
+Academicorum et Peripateticorum, ut finem bonorum dicerent secundum
+naturam vivere, id est virtute adhibita frui primis a natura datis.
+Callipho ad virtutem nihil adiunxit nisi voluptatem, Diodorus vacuitatem
+doloris. ** his omnibus, quos dixi, consequentes fines sunt bonorum,
+Aristippo simplex voluptas, Stoicis consentire naturae, quod esse volunt
+e virtute, id est honeste, vivere, quod ita interpretantur: vivere cum
+intellegentia rerum earum, quae natura evenirent, eligentem ea, quae
+essent secundum naturam, reicientemque contraria.
+
+Ita tres sunt fines expertes honestatis, unus Aristippi vel Epicuri,
+alter Hieronymi, Carneadi tertius, tres, in quibus honestas cum aliqua
+accessione, Polemonis, Calliphontis, Diodori, una simplex, cuius Zeno
+auctor, posita in decore tota, id est in honestate; nam Pyrrho, Aristo,
+Erillus iam diu abiecti. Reliqui sibi constiterunt, ut extrema cum
+initiis convenirent, ut Aristippo voluptas, Hieronymo doloris vacuitas,
+Carneadi frui principiis naturalibus esset extremum. Epicurus autem cum
+in prima commendatione voluptatem dixisset, si eam, quam Aristippus,
+idem tenere debuit ultimum bonorum, quod ille; sin eam, quam Hieronymus,
+(ne) fecisset idem, ut voluptatem illam Aristippi in prima commendatione
+poneret.
+
+Nam quod ait sensibus ipsis iudicari voluptatem bonum esse, dolorem
+malum, plus tribuit sensibus, quam nobis leges permittunt, (cum)
+privatarum litium iudices sumus. Nihil enim possumus iudicare, nisi quod
+est nostri iudicii–in quo frustra iudices solent, cum sententiam
+pronuntiant, addere: ‘si quid mei iudicii est’; si enim non fuit eorum
+iudicii, nihilo magis hoc non addito illud est iudicatum–. Quid iudicant
+sensus? Dulce amarum, leve asperum, prope longe, stare movere, quadratum
+rotundum.
+
+Aequam igitur pronuntiabit sententiam ratio adhibita primum divinarum
+humanarumque rerum scientia, quae potest appellari rite sapientia,
+deinde adiunctis virtutibus, quas ratio rerum omnium dominas, tu
+voluptatum satellites et ministras esse voluisti. Quarum adeo omnium
+sententia pronuntiabit primum de voluptate nihil esse ei loci, non modo
+ut sola ponatur in summi boni sede, quam quaerimus, sed ne illo quidem
+modo, ut ad honestatem applicetur. De vacuitate doloris eadem sententia
+erit.
+
+Reicietur etiam Carneades, nec ulla de summo bono ratio aut voluptatis
+non dolendive particeps aut honestatis expers probabitur. Ita relinquet
+duas, de quibus etiam atque etiam consideret. Aut enim statuet nihil
+esse bonum nisi honestum, nihil malum nisi turpe, cetera aut omnino
+nihil habere momenti aut tantum, ut nec expetenda nec fugienda, sed
+eligenda modo aut reicienda sint, aut anteponet eam, quam cum honestate
+ornatissimam, tum etiam ipsis initiis naturae et totius perfectione
+vitae locupletatam videbit. Quod eo liquidius faciet, si perspexerit
+rerum inter eas verborumne sit controversia.
+
+Huius ego nunc auctoritatem sequens idem faciam. Quantum enim potero,
+minuam contentiones omnesque simplices sententias eorum, in quibus nulla
+inest virtutis adiunctio, omnino a philosophia semovendas putabo, primum
+Aristippi Cyrenaicorumque omnium, quos non est veritum in ea voluptate,
+quae maxima dulcedine sensum moveret, summum bonum ponere contemnentis
+istam vacuitatem doloris.
+
+Hi non viderunt, ut ad cursum equum, ad arandum bovem, ad indagandum
+canem, sic hominem ad duas res, ut ait Aristoteles, ad intellegendum et
+agendum, esse natum quasi mortalem deum, contraque ut tardam aliquam et
+languidam pecudem ad pastum et ad procreandi voluptatem hoc divinum
+animal ortum esse voluerunt, quo nihil mihi videtur absurdius.
+
+Atque haec contra Aristippum, qui eam voluptatem non modo summam, sed
+solam etiam ducit, quam omnes unam appellamus voluptatem. Aliter autem
+vobis placet. Sed ille, ut dixi, vitiose. Nec enim figura corporis nec
+ratio excellens ingenii humani significat ad unam hanc rem natum
+hominem, ut frueretur voluptatibus. Nec vero audiendus Hieronymus, cui
+summum bonum est idem, quod vos interdum vel potius nimium saepe
+dicitis, nihil dolere. Non enim, si malum est dolor, carere eo malo
+satis est ad bene vivendum. Hoc dixerit potius Ennius: ‘Nimium boni est,
+cui nihil est mali’. Nos beatam vitam non depulsione mali, sed adeptione
+boni iudicemus, nec eam cessando, sive gaudentem, ut Aristippus, sive
+non dolentem, ut hic, sed agendo aliquid considerandove quaeramus.
+
+Quae possunt eadem contra Carneadeum illud summum bonum dici, quod is
+non tam, ut probaret, protulit, quam ut Stoicis, quibuscum bellum
+gerebat, opponeret. Id autem eius modi est, ut additum ad virtutem
+auctoritatem videatur habiturum et expleturum cumulate vitam beatam, de
+quo omnis haec quaestio est. Nam qui ad virtutem adiungunt vel
+voluptatem, quam unam virtus minimi facit, vel vacuitatem doloris, quae
+etiamsi malo caret, tamen non est summum bonum, accessione utuntur non
+ita probabili, nec tamen, cur id tam parce tamque restricte faciant,
+intellego. Quasi enim emendum eis sit, quod addant ad virtutem, primum
+vilissimas res addunt, dein singulas potius, quam omnia, quae prima
+natura approbavisset, ea cum honestate coniungerent.
+
+Quae quod Aristoni et Pyrrhoni omnino visa sunt pro nihilo, ut inter
+optime valere et gravissime aegrotare nihil prorsus dicerent interesse,
+recte iam pridem contra eos desitum est disputari. Dum enim in una
+virtute sic omnia esse voluerunt, ut eam rerum selectione expoliarent
+nec ei quicquam, aut unde oriretur, darent, aut ubi niteretur, virtutem
+ipsam, quam amplexabantur, sustulerunt. Erillus autem ad scientiam omnia
+revocans unum quoddam bonum vidit, sed nec optimum nec quo vita
+gubernari possit. Itaque hic ipse iam pridem est reiectus; post enim
+Chrysippum (eum) non sane est disputatum. Restatis igitur vos; nam cum
+Academicis incerta luctatio est, qui nihil affirmant et quasi desperata
+cognitione certi id sequi volunt, quodcumque veri simile videatur.
+
+Cum Epicuro autem hoc plus est negotii, quod e duplici genere voluptatis
+coniunctus est, quodque et ipse et amici eius et multi postea defensores
+eius sententiae fuerunt, et nescio quo modo, is qui auctoritatem minimam
+habet, maximam vim, populus cum illis facit. Quos nisi redarguimus,
+omnis virtus, omne decus, omnis vera laus deserenda est. Ita ceterorum
+sententiis semotis relinquitur non mihi cum Torquato, sed virtuti cum
+voluptate certatio. Quam quidem certationem homo et acutus et diligens,
+Chrysippus, non contemnit totumque discrimen summi boni in earum
+comparatione positum putat. Ego autem existimo, si honestum esse aliquid
+ostendero, quod sit ipsum vi sua propter seque expetendum, iacere vestra
+omnia. Itaque eo, quale sit, breviter, ut tempus postulat, constituto
+accedam ad omnia tua, Torquate, nisi memoria forte defecerit.
+
+Honestum igitur id intellegimus, quod tale est, ut detracta omni
+utilitate sine ullis praemiis fructibusve per se ipsum possit iure
+laudari. Quod quale sit, non tam definitione, qua sum usus, intellegi
+potest, quamquam aliquantum potest, quam communi omnium iudicio et
+optimi cuiusque studiis atque factis, qui permulta ob eam unam causam
+faciunt, quia decet, quia rectum, quia honestum est, etsi nullum
+consecuturum emolumentum vident. Homines enim, etsi aliis multis, tamen
+hoc uno plurimum a bestiis differunt, quod rationem habent a natura
+datam mentemque acrem et vigentem celerrimeque multa simul agitantem et,
+ut ita dicam, sagacem, quae et causas rerum et consecutiones videat et
+similitudines transferat et disiuncta coniungat et cum praesentibus
+futura copulet omnemque complectatur vitae consequentis statum. Eademque
+ratio fecit hominem hominum adpetentem cumque iis natura et sermone et
+usu congruentem, ut profectus a caritate domesticorum ac suorum serpat
+longius et se implicet primum civium, deinde omnium mortalium societate
+atque, ut ad Archytam scripsit Plato, non sibi se soli natum meminerit,
+sed patriae, sed suis, ut perexigua pars ipsi relinquatur.
+
+Et quoniam eadem natura cupiditatem ingenuit homini veri videndi, quod
+facillime apparet, cum vacui curis etiam quid in caelo fiat scire
+avemus, his initiis inducti omnia vera diligimus, id est fidelia,
+simplicia, constantia, tum vana, falsa, fallentia odimus, ut fraudem,
+periurium, malitiam, iniuriam. Eadem ratio habet in se quiddam amplum
+atque magnificum, ad imperandum magis quam ad parendum accommodatum,
+omnia humana non tolerabilia solum, sed etiam levia ducens, altum
+quiddam et excelsum, nihil timens, nemini cedens, semper invictum.
+
+Atque his tribus generibus honestorum notatis quartum sequitur et in
+eadem pulchritudine et aptum ex illis tribus, in quo inest ordo et
+moderatio. Cuius similitudine perspecta in formarum specie ac dignitate
+transitum est ad honestatem dictorum atque factorum. Nam ex his tribus
+laudibus, quas ante dixi, et temeritatem reformidat et non audet cuiquam
+aut dicto protervo aut facto nocere vereturque quicquam aut facere aut
+eloqui, quod parum virile videatur.
+
+Habes undique expletam et perfectam, Torquate, formam honestatis, quae
+tota quattuor his virtutibus, quae a te quoque commemoratae sunt,
+continetur. Hanc se tuus Epicurus omnino ignorare dicit quam aut qualem
+esse velint qui honestate summum bonum metiantur. Si enim ad honestatem
+omnia referant neque in ea voluptatem dicant inesse, ait eos voce inani
+sonare– his enim ipsis verbis utitur–neque intellegere nec videre sub
+hanc vocem honestatis quae sit subicienda sententia. Ut enim consuetudo
+loquitur, id solum dicitur honestum, quod est populari fama gloriosum.
+‘Quod’, inquit, ‘quamquam voluptatibus quibusdam est saepe iucundius,
+tamen expetitur propter voluptatem.’
+
+Videsne quam sit magna dissensio? Philosophus nobilis, a quo non solum
+Graecia et Italia, sed etiam omnis barbaria commota est, honestum quid
+sit, si id non sit in voluptate, negat se intellegere, nisi forte illud,
+quod multitudinis rumore laudetur. Ego autem hoc etiam turpe esse saepe
+iudico et, si quando turpe non sit, tum esse non turpe, cum id a
+multitudine laudetur, quod sit ipsum per se rectum atque laudabile, non
+ob eam causam tamen illud dici esse honestum, quia laudetur a multis,
+sed quia tale sit, ut, vel si ignorarent id homines, vel si
+obmutuissent, sua tamen pulchritudine esset specieque laudabile. Itaque
+idem natura victus, cui obsisti non potest, dicit alio loco id, quod a
+te etiam paulo ante dictum est, non posse iucunde vivi nisi etiam
+honeste.
+
+Quid nunc ‘honeste’ dicit? Idemne, quod iucunde? Ergo ita: non posse
+honeste vivi, nisi honeste vivatur? An nisi populari fama? Sine ea
+igitur iucunde negat posse (se) vivere? Quid turpius quam sapientis
+vitam ex insipientium sermone pendere? Quid ergo hoc loco intellegit
+honestum? Certe nihil nisi quod possit ipsum propter se iure laudari.
+Nam si propter voluptatem, quae est ista laus, quae possit e macello
+peti? Non is vir est, ut, cum honestatem eo loco habeat, ut sine ea
+iucunde neget posse vivi, illud honestum, quod populare sit, sentiat et
+sine eo neget iucunde vivi posse, aut quicquam aliud honestum
+intellegat, nisi quod sit rectum ipsumque per se sua vi, sua natura, sua
+sponte laudabile.
+
+Itaque, Torquate, cum diceres clamare Epicurum non posse iucunde vivi,
+nisi honeste et sapienter et iuste viveretur, tu ipse mihi gloriari
+videbare. Tanta vis inerat in verbis propter earum rerum, quae
+significabantur his verbis, dignitatem, ut altior fieres, ut interdum
+insisteres, ut nos intuens quasi testificarere laudari honestatem et
+iustitiam aliquando ab Epicuro. Quam te decebat iis verbis uti, quibus
+si philosophi non uterentur, philosophia omnino non egeremus! Istorum
+enim verborum amore, quae perraro appellantur ab Epicuro, sapientiae,
+fortitudinis, iustitiae, temperantiae, praestantissimis ingeniis homines
+se ad philosophiae studium contulerunt.
+
+‘Oculorum’, inquit Plato, ‘est in nobis sensus acerrimus, quibus
+sapientiam non cernimus. Quam illa ardentis amores excitaret sui!’ Cur
+tandem? An quod ita callida est, ut optime possit architectari
+voluptates? Cur iustitia laudatur? aut unde est hoc contritum vetustate
+proverbium: ‘quicum in tenebris’? Hoc dictum in una re latissime patet,
+ut in omnibus factis re, non teste moveamur.
+
+Sunt enim levia et perinfirma, quae dicebantur a te, animi conscientia
+improbos excruciari, tum etiam poenae timore, qua aut afficiantur aut
+semper sint in metu ne afficiantur aliquando. Non oportet timidum aut
+inbecillo animo fingi non bonum illum virum, qui, quicquid fecerit, ipse
+se cruciet omniaque formidet, sed omnia callide referentem ad
+utilitatem, acutum, versutum, veteratorem, facile ut excogitet quo modo
+occulte, sine teste, sine ullo conscio fallat.
+
+An tu me de L. Tubulo putas dicere? Qui cum praetor quaestionem inter
+sicarios exercuisset, ita aperte cepit pecunias ob rem iudicandam, ut
+anno proximo P. Scaevola tribunus plebis ferret ad plebem vellentne de
+ea re quaeri. Quo plebiscito decreta a senatu est consuli quaestio Cn.\
+Caepioni. Profectus in exilium Tubulus statim nec respondere ausus; erat
+enim res aperta. Non igitur de improbo, sed (de) callido improbo
+quaerimus, qualis Q. Pompeius in foedere Numantino infitiando fuit, nec
+vero omnia timente, sed primum qui animi conscientiam non curet, quam
+scilicet comprimere nihil est negotii. Is enim, qui occultus et tectus
+dicitur, tantum abest ut se indicet, perficiet etiam ut dolere alterius
+improbe facto videatur. Quid est enim aliud esse versutum?
+
+Memini me adesse P. Sextilio Rufo, cum is rem ad amicos ita deferret, se
+esse heredem Q. Fadio Gallo, cuius in testamento scriptum esset se ab eo
+rogatum ut omnis hereditas ad filiam perveniret. Id Sextilius factum
+negabat. Poterat autem inpune; quis enim redargueret? Nemo nostrum
+credebat, eratque veri similius hunc mentiri, cuius interesset, quam
+illum, qui id se rogasse scripsisset, quod debuisset rogare. Addebat
+etiam se in legem Voconiam iuratum contra eam facere non audere, nisi
+aliter amicis videretur. Aderamus nos quidem adolescentes, sed multi
+amplissimi viri, quorum nemo censuit plus Fadiae dandum, quam posset ad
+eam lege Voconia pervenire. Tenuit permagnam Sextilius hereditatem,
+unde, si secutus esset eorum sententiam, qui honesta et recta
+emolumentis omnibus et commodis anteponerent, nummum nullum attigisset.
+Num igitur eum postea censes anxio animo aut sollicito fuisse? Nihil
+minus, contraque illa hereditate dives ob eamque rem laetus. Magni enim
+aestimabat pecuniam non modo non contra leges, sed etiam legibus partam.
+Quae quidem vel cum periculo est quaerenda vobis; est enim effectrix
+multarum et magnarum voluptatum.
+
+Ut igitur illis, qui, recta et honesta quae sunt, ea statuunt per se
+expetenda, adeunda sunt saepe pericula decoris honestatisque causa, sic
+vestris, qui omnia voluptate metiuntur, pericula adeunda sunt, ut
+adipiscantur magnas voluptates. Si magna res, magna hereditas agetur,
+cum pecunia voluptates pariantur plurimae, idem erit Epicuro vestro
+faciendum, si suum finem bonorum sequi volet, quod Scipioni magna gloria
+proposita, si Hannibalem in Africam retraxisset. Itaque quantum adiit
+periculum! Ad honestatem enim illum omnem conatum suum referebat, non ad
+voluptatem. Sic vester sapiens magno aliquo emolumento commotus cicuta,
+si opus erit, dimicabit.
+
+Occultum facinus esse potuerit, gaudebit; deprehensus omnem poenam
+contemnet. Erit enim instructus ad mortem contemnendam, ad exilium, ad
+ipsum etiam dolorem. Quem quidem vos, cum improbis poenam proponitis,
+inpetibilem facitis, cum sapientem semper boni plus habere vultis,
+tolerabilem. Sed finge non solum callidum eum, qui aliquid improbe
+faciat, verum etiam praepotentem, ut M. Crassus fuit, qui tamen solebat
+uti suo bono, ut hodie est noster Pompeius, cui recte facienti gratia
+est habenda; esse enim quam vellet iniquus iustus poterat inpune. Quam
+multa vero iniuste fieri possunt, quae nemo possit reprehendere!
+
+Si te amicus tuus moriens rogaverit, ut hereditatem reddas suae filiae,
+nec usquam id scripserit, ut scripsit Fadius, nec cuiquam dixerit, quid
+facies? Tu quidem reddes; ipse Epicurus fortasse redderet, ut Sextus
+Peducaeus, Sex. F., is qui hunc nostrum reliquit effigiem et humanitatis
+et probitatis suae filium, cum doctus, tum omnium vir optimus et
+iustissimus, cum sciret nemo eum rogatum a Caio Plotio, equite Romano
+splendido, Nursino, ultro ad mulierem venit eique nihil opinanti viri
+mandatum euit hereditatemque reddidit. Sed ego ex te quaero, quoniam
+idem tu certe fecisses, nonne intellegas eo maiorem vim esse naturae,
+quod ipsi vos, qui omnia ad vestrum commodum et, ut ipsi dicitis, ad
+voluptatem referatis, tamen ea faciatis, e quibus appareat non
+voluptatem vos, sed officium sequi, plusque rectam naturam quam rationem
+pravam valere.
+
+Si scieris, inquit Carneades, aspidem occulte latere uspiam, et velle
+aliquem inprudentem super eam assidere, cuius mors tibi emolumentum
+futura sit, improbe feceris, nisi monueris ne assidat, sed inpunite
+tamen; scisse enim te quis coarguere possit? Sed nimis multa. Perspicuum
+est enim, nisi aequitas, fides, iustitia proficiscantur a natura, et si
+omnia haec ad utilitatem referantur, virum bonum non posse reperiri;
+deque his rebus satis multa in nostris de re publica libris sunt dicta a
+Laelio.
+
+Transfer idem ad modestiam vel temperantiam, quae est moderatio
+cupiditatum rationi oboediens. Satisne ergo pudori consulat, si quis
+sine teste libidini pareat? An est aliquid per se ipsum flagitiosum,
+etiamsi nulla comitetur infamia? Quid? Fortes viri voluptatumne calculis
+subductis proelium ineunt, sanguinem pro patria profundunt, an quodam
+animi ardore atque impetu concitati? utrum tandem censes, Torquate,
+Imperiosum illum, si nostra verba audiret, tuamne de se orationem
+libentius auditurum fuisse an meam, cum ego dicerem nihil eum fecisse
+sua causa omniaque rei publicae, tu contra nihil nisi sua? Si vero id
+etiam explanare velles apertiusque diceres nihil eum fecisse nisi
+voluptatis causa, quo modo eum tandem laturum fuisse existimas?
+
+Esto, fecerit, si ita vis, Torquatus propter suas utilitates– malo enim
+dicere quam voluptates, in tanto praesertim viro–, num etiam eius
+collega P. Decius, princeps in ea familia consulatus, cum se devoverat
+et equo admisso in mediam aciem Latinorum irruebat, aliquid de
+voluptatibus suis cogitabat? Ubi ut eam caperet aut quando? Cum sciret
+confestim esse moriendum eamque mortem ardentiore studio peteret, quam
+Epicurus voluptatem petendam putat. Quod quidem eius factum nisi esset
+iure laudatum, non esset imitatus quarto consulatu suo filius, neque
+porro ex eo natus cum Pyrrho bellum gerens consul cecidisset in proelio
+seque e continenti genere tertiam victimam rei publicae praebuisset.
+
+Contineo me ab exemplis. Graecis hoc modicum est: Leonidas, Epaminondas,
+tres aliqui aut quattuor; ego si nostros colligere coepero, perficiam
+illud quidem, ut se virtuti tradat constringendam voluptas, sed dies me
+deficiet, et, ut Aulus Varius, qui est habitus iudex durior, dicere
+consessori solebat, cum datis testibus alii tamen citarentur:
+‘Aut hoc testium satis est, aut nescio, quid satis sit,’ sic a me satis
+datum est testium. Quid enim? Te ipsum, dignissimum maioribus tuis,
+voluptasne induxit, ut adolescentulus eriperes P. Sullae consulatum?
+Quem cum ad patrem tuum rettulisses, fortissimum virum, qualis ille vel
+consul vel civis cum semper, tum post consulatum fuit! Quo quidem
+auctore nos ipsi ea gessimus, ut omnibus potius quam ipsis nobis
+consuluerimus.
+
+At quam pulchre dicere videbare, cum ex altera parte ponebas cumulatum
+aliquem plurimis et maximis voluptatibus nullo nec praesenti nec futuro
+dolore, ex altera autem cruciatibus maximis toto corpore nulla nec
+adiuncta nec sperata voluptate, et quaerebas, quis aut hoc miserior aut
+superiore illo beatior; deinde concludebas summum malum esse dolorem,
+summum bonum voluptatem! Lucius Thorius Balbus fuit, Lanuvinus, quem
+meminisse tu non potes. Is ita vivebat, ut nulla tam exquisita posset
+inveniri voluptas, qua non abundaret. Erat et cupidus voluptatum et eius
+generis intellegens et copiosus, ita non superstitiosus, ut illa plurima
+in sua patria sacrificia et fana contemneret, ita non timidus ad mortem,
+ut in acie sit ob rem publicam interfectus.
+
+Cupiditates non Epicuri divisione finiebat, sed sua satietate. Habebat
+tamen rationem valitudinis: utebatur iis exercitationibus, ut ad cenam
+et sitiens et esuriens veniret, eo cibo, qui et suavissimus esset et
+idem facillimus ad concoquendum, vino et ad voluptatem et ne noceret.
+Cetera illa adhibebat, quibus demptis negat se Epicurus intellegere quid
+sit bonum. Aberat omnis dolor, qui si adesset, nec molliter ferret et
+tamen medicis plus quam philosophis uteretur. Color egregius, integra
+valitudo, summa gratia, vita denique conferta voluptatum omnium
+varietate.
+
+Hunc vos beatum; ratio quidem vestra sic cogit. At ego quem huic
+anteponam non audeo dicere; dicet pro me ipsa virtus nec dubitabit isti
+vestro beato M. Regulum anteponere, quem quidem, cum sua voluntate,
+nulla vi coactus praeter fidem, quam dederat hosti, ex patria
+Karthaginem revertisset, tum ipsum, cum vigiliis et fame cruciaretur,
+clamat virtus beatiorem fuisse quam potantem in rosa Thorium. Bella
+magna gesserat, bis consul fuerat, triumpharat nec tamen sua illa
+superiora tam magna neque tam praeclara ducebat quam illum ultimum
+casum, quem propter fidem constantiamque susceperat, qui nobis
+miserabilis videtur audientibus, illi perpetienti erat voluptarius. Non
+enim hilaritate nec lascivia nec risu aut ioco, comite levitatis, saepe
+etiam tristes firmitate et constantia sunt beati.
+
+Stuprata per vim Lucretia a regis filio testata civis se ipsa interemit.
+Hic dolor populi Romani duce et auctore Bruto causa civitati libertatis
+fuit, ob eiusque mulieris memoriam primo anno et vir et pater eius
+consul est factus. Tenuis Lucius Verginius unusque de multis sexagesimo
+anno post libertatem receptam virginem filiam sua manu occidit potius,
+quam ea Ap. Claudii libidini, qui tum erat summo (ne) imperio,
+dederetur.
+
+Aut haec tibi, Torquate, sunt vituperanda aut patrocinium voluptatis
+repudiandum. Quod autem patrocinium aut quae ista causa est voluptatis,
+quae nec testes ullos e claris viris nec laudatores poterit adhibere? Ut
+enim nos ex annalium monimentis testes excitamus eos, quorum omnis vita
+consumpta est in laboribus gloriosis, qui voluptatis nomen audire non
+possent, sic in vestris disputationibus historia muta est. Numquam
+audivi in Epicuri schola Lycurgum, Solonem, Miltiadem, Themistoclem,
+Epaminondam nominari, qui in ore sunt ceterorum omnium philosophorum.
+Nunc vero, quoniam haec nos etiam tractare coepimus, suppeditabit nobis
+Atticus noster e thesauris suis quos et quantos viros!
+
+Nonne melius est de his aliquid quam tantis voluminibus de Themista
+loqui? Sint ista Graecorum; quamquam ab iis philosophiam et omnes
+ingenuas disciplinas habemus; sed tamen est aliquid, quod nobis non
+liceat, liceat illis. Pugnant Stoici cum Peripateticis. Alteri negant
+quicquam esse bonum, nisi quod honestum sit, alteri plurimum se et longe
+longeque plurimum tribuere honestati, sed tamen et in corpore et extra
+esse quaedam bona. Et certamen honestum et disputatio splendida! Omnis
+est enim de virtutis dignitate contentio. At cum tuis cum disseras,
+multa sunt audienda etiam de obscenis voluptatibus, de quibus ab Epicuro
+saepissime dicitur.
+
+Non potes ergo ista tueri, Torquate, mihi crede, si te ipse et tuas
+cogitationes et studia perspexeris; pudebit te, inquam, illius tabulae,
+quam Cleanthes sane commode verbis depingere solebat. Iubebat eos, qui
+audiebant, secum ipsos cogitare pictam in tabula Voluptatem pulcherrimo
+vestitu et ornatu regali in solio sedentem, praesto esse Virtutes ut
+ancillulas, quae nihil aliud agerent, nullum suum officium ducerent,
+nisi ut Voluptati ministrarent et eam tantum ad aurem admonerent, si
+modo id pictura intellegi posset, ut caveret ne quid faceret inprudens,
+quod offenderet animos hominum, aut quicquam, e quo oriretur aliquis
+dolor. ‘Nos quidem Virtutes sic natae sumus, ut tibi
+serviremus, aliud negotii nihil habemus.’
+
+At negat Epicurus–hoc enim vestrum lumen est– quemquam, qui honeste non
+vivat, iucunde posse vivere. Quasi ego id curem, quid ille aiat aut
+neget. Illud quaero, quid ei, qui in voluptate summum bonum ponat,
+consentaneum sit dicere. Quid affers, cur Thorius, cur Caius Postumius,
+cur omnium horum magister, Orata, non iucundissime vixerit? Ipse negat,
+ut ante dixi, luxuriosorum vitam reprehendendam, nisi plane fatui sint,
+id est nisi aut cupiant aut metuant. Quarum ambarum rerum cum medicinam
+pollicetur, luxuriae licentiam pollicetur. His enim rebus detractis
+negat se reperire in asotorum vita quod reprehendat.
+
+Non igitur potestis voluptate omnia dirigentes aut tueri aut retinere
+virtutem. Nam nec vir bonus ac iustus haberi debet qui, ne malum habeat,
+abstinet se ab iniuria. Nosti, credo, illud: ‘Nemo pius est, qui
+pietatem–’; cave putes quicquam esse verius. Nec enim, dum metuit,
+iustus est, et certe, si metuere destiterit, non erit; non metuet autem,
+sive celare poterit, sive opibus magnis quicquid fecerit optinere,
+certeque malet existimari bonus vir, ut non sit, quam esse, ut non
+putetur. Ita, quod certissimum est, pro vera certaque iustitia
+simulationem nobis iustitiae traditis praecipitisque quodam modo ut
+nostram stabilem conscientiam contemnamus, aliorum errantem opinionem
+aucupemur.
+
+Quae dici eadem de ceteris virtutibus possunt, quarum omnium fundamenta
+vos in voluptate tamquam in aqua ponitis. Quid enim? Fortemne possumus
+dicere eundem illum Torquatum?–Delector enim, quamquam te non possum, ut
+ais, corrumpere, delector, inquam, et familia vestra et nomine. Et
+hercule mihi vir optimus nostrique amantissimus, Aulus Torquatus,
+versatur ante oculos, cuius quantum studium et quam insigne fuerit erga
+me temporibus illis, quae nota sunt omnibus, scire necesse est utrumque
+vestrum. Quae mihi ipsi, qui volo et esse et haberi gratus, grata non
+essent, nisi eum perspicerem mea causa mihi amicum fuisse, non sua, nisi
+hoc dicis sua, quod interest omnium recte facere. Si id dicis, vicimus.
+Id enim volumus, id contendimus, ut officii fructus sit ipsum officium.
+
+Hoc ille tuus non vult omnibusque ex rebus voluptatem quasi mercedem
+exigit. Sed ad illum redeo. Si voluptatis causa cum Gallo apud Anienem
+depugnavit provocatus et ex eius spoliis sibi et torquem et cognomen
+induit ullam aliam ob causam, nisi quod ei talia facta digna viro
+videbantur, fortem non puto. Iam si pudor, si modestia, si pudicitia, si
+uno verbo temperantia poenae aut infamiae metu coercebuntur, non
+sanctitate sua se tuebuntur, quod adulterium, quod stuprum, quae libido
+non se proripiet ac proiciet aut occultatione proposita aut inpunitate
+aut licentia? Quid?
+
+Illud, Torquate, quale tandem videtur, te isto nomine, ingenio, gloria,
+quae facis, quae cogitas, quae contendis quo referas, cuius rei causa
+perficere quae conaris velis, quid optimum denique in vita iudices non
+audere in conventu dicere? Quid enim mereri velis, iam cum magistratum
+inieris et in contionem ascenderis–est enim tibi edicendum quae sis
+observaturus in iure dicendo, et fortasse etiam, si tibi erit visum,
+aliquid de maioribus tuis et de te ipso dices more maiorum–, quid
+merearis igitur, ut dicas te in eo magistratu omnia voluptatis causa
+facturum esse, teque nihil fecisse in vita nisi voluptatis causa? ‘An
+me’, inquis, ‘tam amentem putas, ut apud imperitos isto modo loquar?’ At
+tu eadem ista dic in iudicio aut, si coronam times, dic in senatu.
+Numquam facies. Cur, nisi quod turpis oratio est? Mene ergo et Triarium
+dignos existimas, apud quos turpiter loquare?
+
+Verum esto: verbum ipsum voluptatis non habet dignitatem, nec nos
+fortasse intellegimus. Hoc enim identidem dicitis, non intellegere nos
+quam dicatis voluptatem. Rem videlicet difficilem et obscuram! Individua
+cum dicitis et intermundia, quae nec sunt ulla nec possunt esse,
+intellegimus, voluptas, quae passeribus omnibus nota est, a nobis
+intellegi non potest? Quid, si efficio ut fateare me non modo quid sit
+voluptas scire–est enim iucundus motus in sensu–, sed etiam quid eam tu
+velis esse? Tum enim eam ipsam vis, quam modo ego dixi, et nomen
+inponis, in motu ut sit et faciat aliquam varietatem, tum aliam quandam
+summam voluptatem, quo addi nihil possit; eam tum adesse, cum dolor
+omnis absit; eam stabilem appellas. Sit sane ista voluptas.
+
+Dic in quovis conventu te omnia facere, ne doleas. Si ne hoc quidem
+satis ample, satis honeste dici putas, dic te omnia et in isto
+magistratu et in omni vita utilitatis tuae causa facturum, nihil nisi
+quod expediat, nihil denique nisi tua causa: quem clamorem contionis aut
+quam spem consulatus eius, qui tibi paratissimus est, futuram putas?
+Eamne rationem igitur sequere, qua tecum ipse et cum tuis utare,
+profiteri et in medium proferre non audeas? At vero illa, quae
+Peripatetici, quae Stoici dicunt, semper tibi in ore sunt in iudiciis,
+in senatu. Officium, aequitatem, dignitatem, fidem, recta, honesta,
+digna imperio, digna populo Romano, omnia pericula pro re publica, mori
+pro patria, haec cum loqueris, nos barones stupemus, tu videlicet tecum
+ipse rides.
+
+Nam inter ista tam magnifica verba tamque praeclara non habet ullum
+voluptas locum, non modo illa, quam in motu esse dicitis, quam omnes
+urbani rustici, omnes, inquam, qui Latine loquuntur, voluptatem vocant,
+sed ne haec quidem stabilis, quam praeter vos nemo appellat voluptatem.
+Vide igitur ne non debeas verbis nostris uti, sententiis tuis. Quodsi
+vultum tibi, si incessum fingeres, quo gravior viderere, non esses tui
+similis; verba tu fingas et ea dicas, quae non sentias? Aut etiam, ut
+vestitum, sic sententiam habeas aliam domesticam, aliam forensem, ut in
+fronte ostentatio sit, intus veritas occultetur? Vide, quaeso, rectumne
+sit. Mihi quidem eae verae videntur opiniones, quae honestae, quae
+laudabiles, quae gloriosae, quae in senatu, quae apud populum, quae in
+omni coetu concilioque profitendae sint, ne id non pudeat sentire, quod
+pudeat dicere.
+
+Amicitiae vero locus ubi esse potest aut quis amicus esse cuiquam, quem
+non ipsum amet propter ipsum? Quid autem est amare, e quo nomen ductum
+amicitiae est, nisi velle bonis aliquem affici quam maximis, etiamsi ad
+se ex iis nihil redundet? ‘Prodest’, inquit, ‘mihi eo esse animo.’ Immo
+videri fortasse. Esse enim, nisi eris, non potes. Qui autem esse
+poteris, nisi te amor ipse ceperit? quod non subducta utilitatis ratione
+effici solet, sed ipsum a se oritur et sua sponte nascitur. ‘At enim
+sequor utilitatem.’ Manebit ergo amicitia tam diu, quam diu sequetur
+utilitas, et, si utilitas amicitiam constituet, tollet eadem.
+
+Sed quid ages tandem, si utilitas ab amicitia, ut fit saepe, defecerit?
+relinquesne? Quae ista amicitia est? Retinebis? Qui convenit? Quid enim
+de amicitia statueris utilitatis causa expetenda vides. ‘Ne in odium
+veniam, si amicum destitero tueri.’ Primum cur ista res digna odio est,
+nisi quod est turpis? Quodsi, ne quo incommodo afficiare, non relinques
+amicum, tamen, ne sine fructu alligatus sis, ut moriatur optabis. Quid,
+si non modo utilitatem tibi nullam afferet, sed iacturae rei familiaris
+erunt faciendae, labores suscipiendi, adeundum vitae periculum? Ne tum
+quidem te respicies et cogitabis sibi quemque natum esse et suis
+voluptatibus? Vadem te ad mortem tyranno dabis pro amico, ut Pythagoreus
+ille Siculo fecit tyranno? Aut, Pylades cum sis, dices te esse Orestem,
+ut moriare pro amico? Aut, si esses Orestes, Pyladem refelleres, te
+indicares et, si id non probares, quo minus ambo una necaremini non
+precarere?
+
+Faceres tu quidem, Torquate, haec omnia; nihil enim arbitror esse magna
+laude dignum, quod te praetermissurum credam aut mortis aut doloris
+metu. Non quaeritur autem quid naturae tuae consentaneum sit, sed quid
+disciplinae. Ratio ista, quam defendis, praecepta, quae didicisti, quae
+probas, funditus evertunt amicitiam, quamvis eam Epicurus, ut facit, in
+caelum efferat laudibus. At coluit ipse amicitias. Quis, quaeso, illum
+negat et bonum virum et comem et humanum fuisse? De ingenio eius in his
+disputationibus, non de moribus quaeritur. Sit ista in Graecorum
+levitate perversitas, qui maledictis insectantur eos, a quibus de
+veritate dissentiunt. Sed quamvis comis in amicis tuendis fuerit, tamen,
+si haec vera sunt–nihil enim affirmo–, non satis acutus fuit.
+
+At multis se probavit. Et quidem iure fortasse, sed tamen non
+gravissimum est testimonium multitudinis. In omni enim arte vel studio
+vel quavis scientia vel in ipsa virtute optimum quidque rarissimum est.
+Ac mihi quidem, quod et ipse bonus vir fuit et multi Epicurei et fuerunt
+et hodie sunt et in amicitiis fideles et in omni vita constantes et
+graves nec voluptate, sed officio consilia moderantes, hoc videtur maior
+vis honestatis et minor voluptatis. Ita enim vivunt quidam, ut eorum
+vita refellatur oratio. Atque ut ceteri dicere existimantur melius quam
+facere, sic hi mihi videntur facere melius quam dicere.
+
+Sed haec nihil sane ad rem; illa videamus, quae a te de amicitia dicta
+sunt. E quibus unum mihi videbar ab ipso Epicuro dictum cognoscere,
+amicitiam a voluptate non posse divelli ob eamque rem colendam esse,
+quod, (quoniam) sine ea tuto et sine metu vivi non posset, ne iucunde
+quidem posset. Satis est ad hoc responsum. Attulisti aliud humanius
+horum recentiorum, numquam dictum ab ipso illo, quod sciam, primo
+utilitatis causa amicum expeti, cum autem usus accessisset, tum ipsum
+amari per se etiam omissa spe voluptatis. Hoc etsi multimodis reprehendi
+potest, tamen accipio, quod dant. Mihi enim satis est, ipsis non satis.
+Nam aliquando posse recte fieri dicunt nulla expectata nec quaesita
+voluptate.
+
+Posuisti etiam dicere alios foedus quoddam inter se facere sapientis,
+ut, quem ad modum sint in se ipsos animati, eodem modo sint erga amicos;
+id et fieri posse et saepe esse factum et ad voluptates percipiendas
+maxime pertinere. Hoc foedus facere si potuerunt, faciant etiam illud,
+ut aequitatem, modestiam, virtutes omnes per se ipsas gratis diligant.
+An vero, si fructibus et emolumentis et utilitatibus amicitias colemus,
+si nulla caritas erit, quae faciat amicitiam ipsam sua sponte, vi sua,
+ex se et propter se expetendam, dubium est, quin fundos et insulas
+amicis anteponamus?
+
+Licet hic rursus ea commemores, quae optimis verbis ab Epicuro de laude
+amicitiae dicta sunt. Non quaero, quid dicat, sed quid convenienter
+possit rationi et sententiae suae dicere. ‘Utilitatis causa amicitia est
+quaesita.’ Num igitur utiliorem tibi hunc Triarium putas esse posse,
+quam si tua sint Puteolis granaria? Collige omnia, quae soletis:
+‘Praesidium amicorum.’ Satis est tibi in te, satis in legibus, satis in
+mediocribus amicitiis praesidii. Iam contemni non poteris. Odium autem
+et invidiam facile vitabis. Ad eas enim res ab Epicuro praecepta dantur.
+Et tamen tantis vectigalibus ad liberalitatem utens etiam sine hac
+Pyladea amicitia multorum te benivolentia praeclare tuebere et munies.
+
+‘At quicum ioca seria, ut dicitur, quicum arcana, quicum occulta omnia?’
+Tecum optime, deinde etiam cum mediocri amico. Sed fac ista esse non
+inportuna; quid ad utilitatem tantae pecuniae? Vides igitur, si
+amicitiam sua caritate metiare, nihil esse praestantius, sin emolumento,
+summas familiaritates praediorum fructuosorum mercede superari. Me
+igitur ipsum ames oportet, non mea, si veri amici futuri sumus. Sed in
+rebus apertissimis nimium longi sumus. Perfecto enim et concluso neque
+virtutibus neque amicitiis usquam locum esse, si ad voluptatem omnia
+referantur, nihil praeterea est magnopere dicendum. Ac tamen, ne cui
+loco non videatur esse responsum, pauca etiam nunc dicam ad reliquam
+orationem tuam.
+
+Quoniam igitur omnis summa philosophiae ad beate vivendum refertur,
+idque unum expetentes homines se ad hoc studium contulerunt, beate autem
+vivere alii in alio, vos in voluptate ponitis, item contra miseriam
+omnem in dolore, id primum videamus, beate vivere vestrum quale sit.
+Atque hoc dabitis, ut opinor, si modo sit aliquid esse beatum, id
+oportere totum poni in potestate sapientis. Nam si amitti vita beata
+potest, beata esse non potest. Quis enim confidit semper sibi illud
+stabile et firmum permansurum, quod fragile et caducum sit? Qui autem
+diffidet perpetuitati bonorum suorum, timeat necesse est, ne aliquando
+amissis illis sit miser. Beatus autem esse in maximarum rerum timore
+nemo potest.
+
+Nemo igitur esse beatus potest. Neque enim in aliqua parte, sed in
+perpetuitate temporis vita beata dici solet, nec appellatur omnino vita,
+nisi confecta atque absoluta, nec potest quisquam alias beatus esse,
+alias miser; qui enim existimabit posse se miserum esse beatus non erit.
+Nam cum suscepta semel est beata vita, tam permanet quam ipsa illa
+effectrix beatae vitae sapientia neque expectat ultimum tempus aetatis,
+quod Croeso scribit Herodotus praeceptum a Solone. At enim, quem ad
+modum tute dicebas, negat Epicurus diuturnitatem quidem temporis ad
+beate vivendum aliquid afferre, nec minorem voluptatem percipi in
+brevitate temporis, quam si illa sit sempiterna.
+
+Haec dicuntur inconstantissime. Cum enim summum bonum in voluptate
+ponat, negat infinito tempore aetatis voluptatem fieri maiorem quam
+finito atque modico. Qui bonum omne in virtute ponit, is potest dicere
+perfici beatam vitam perfectione virtutis; negat enim summo bono afferre
+incrementum diem. Qui autem voluptate vitam effici beatam putabit, qui
+sibi is conveniet, si negabit voluptatem crescere longinquitate? Igitur
+ne dolorem quidem. An dolor longissimus quisque miserrimus, voluptatem
+non optabiliorem diuturnitas facit? Quid est igitur, cur ita semper deum
+appellet Epicurus beatum et aeternum? Dempta enim aeternitate nihilo
+beatior Iuppiter quam Epicurus; uterque enim summo bono fruitur, id est
+voluptate. ‘At enim hic etiam dolore.’ At eum nihili facit; ait enim se,
+si uratur, ‘Quam hoc suave!’ dicturum.
+
+Qua igitur re ab deo vincitur, si aeternitate non vincitur? In qua quid
+est boni praeter summam voluptatem, et eam sempiternam? Quid ergo
+attinet gloriose loqui, nisi constanter loquare? In voluptate
+corporis–addam, si vis, ‘animi’, dum ea ipsa, ut vultis, sit e
+corpore–situm est vivere beate. Quid? Istam voluptatem perpetuam quis
+potest praestare sapienti? Nam quibus rebus efficiuntur voluptates, eae
+non sunt in potestate sapientis. Non enim in ipsa sapientia positum est
+beatum esse, sed in iis rebus, quas sapientia comparat ad voluptatem.
+Totum autem id externum est, et quod externum, id in casu est. Ita fit
+beatae vitae domina fortuna, quam Epicurus ait exiguam intervenire
+sapienti.
+
+Age, inquies, ista parva sunt. Sapientem locupletat ipsa natura, cuius
+divitias Epicurus parabiles esse docuit. Haec bene dicuntur, nec ego
+repugno, sed inter sese ipsa pugnant. Negat enim tenuissimo victu, id
+est contemptissimis escis et potionibus, minorem voluptatem percipi quam
+rebus exquisitissimis ad epulandum. Huic ego, si negaret quicquam
+interesse ad beate vivendum quali uteretur victu, concederem, laudarem
+etiam; verum enim diceret, idque Socratem, qui voluptatem nullo loco
+numerat, audio dicentem, cibi condimentum esse famem, potionis sitim.
+Sed qui ad voluptatem omnia referens vivit ut Gallonius, loquitur ut
+Frugi ille Piso, non audio nec eum, quod sentiat, dicere existimo.
+
+Naturales divitias dixit parabiles esse, quod parvo esset natura
+contenta. Certe, nisi voluptatem tanti aestimaretis. Non minor, inquit,
+voluptas percipitur ex vilissimis rebus quam ex pretiosissimis. Hoc est
+non modo cor non habere, sed ne palatum quidem. Qui enim voluptatem
+ipsam contemnunt, iis licet dicere se acupenserem maenae non anteponere.
+Cui vero in voluptate summum bonum est, huic omnia sensu, non ratione
+sunt iudicanda, eaque dicenda optima, quae sint suavissima.
+
+Verum esto; consequatur summas voluptates non modo parvo, sed per me
+nihilo, si potest; sit voluptas non minor in nasturcio illo, quo vesci
+Persas esse solitos scribit Xenophon, quam in Syracusanis mensis, quae a
+Platone graviter vituperantur; sit, inquam, tam facilis, quam vultis,
+comparatio voluptatis, quid de dolore dicemus? Cuius tanta tormenta
+sunt, ut in iis beata vita, si modo dolor summum malum est, esse non
+possit. Ipse enim Metrodorus, paene alter Epicurus, beatum esse
+describit his fere verbis: ‘cum corpus bene constitutum sit et sit
+exploratum ita futurum.’ an id exploratum cuiquam potest esse, quo modo
+se hoc habiturum sit corpus, non dico ad annum, sed ad vesperum? Dolor
+ergo, id est summum malum, metuetur semper, etiamsi non aderit; iam enim
+adesse poterit. Qui potest igitur habitare in beata vita summi mali
+metus?
+
+Traditur, inquit, ab Epicuro ratio neglegendi doloris. Iam id ipsum
+absurdum, maximum malum neglegi. Sed quae tandem ista ratio est? Maximus
+dolor, inquit, brevis est. Primum quid tu dicis breve? Deinde dolorem
+quem maximum? Quid enim? summus dolor plures dies manere non potest?
+Vide, ne etiam menses! Nisi forte eum dicis, qui, simul atque arripuit,
+interficit. Quis istum dolorem timet? illum mallem levares, quo optimum
+atque humanissimum virum, Cn. Octavium, Marci filium, familiarem meum,
+confici vidi, nec vero semel nec ad breve tempus, sed et saepe et plane
+diu. Quos ille, di inmortales, cum omnes artus ardere viderentur,
+cruciatus perferebat! Nec tamen miser esse, quia summum id malum non
+erat, tantum modo laboriosus videbatur; at miser, si in flagitiosa et
+vitiosa vita afflueret voluptatibus.
+
+Quod autem magnum dolorem brevem, longinquum levem esse dicitis, id non
+intellego quale sit. Video enim et magnos et eosdem bene longinquos
+dolores, quorum alia toleratio est verior, qua uti vos non potestis, qui
+honestatem ipsam per se non amatis. Fortitudinis quaedam praecepta sunt
+ac paene leges, quae effeminari virum vetant in dolore. Quam ob rem
+turpe putandum est, non dico dolere–nam id quidem est interdum necesse–,
+sed saxum illud Lemnium clamore Philocteteo funestare, Quod eiulatu,
+questu, gemitu, fremitibus Resonando mutum flebiles voces refert. Huic
+Epicurus praecentet, si potest, cui (e) viperino morsu venae viscerum
+Veneno inbutae taetros cruciatus cient! Sic Epicurus: ‘Philocteta, st!
+Brevis dolor.’ At iam decimum annum in spelunca iacet. ‘Si longus,
+levis; dat enim intervalla et relaxat.’
+
+Primum non saepe, deinde quae est ista relaxatio, cum et praeteriti
+doloris memoria recens est et futuri atque inpendentis torquet timor?
+‘Moriatur’, inquit. Fortasse id optimum, sed ubi illud: ‘Plus semper
+voluptatis’? Si enim ita est, vide ne facinus facias, cum mori suadeas.
+Potius ergo illa dicantur: turpe esse, viri non esse debilitari dolore,
+frangi, succumbere. Nam ista vestra: ‘Si gravis, brevis; si longus,
+levis’ dictata sunt. Virtutis, magnitudinis animi, patientiae,
+fortitudinis fomentis dolor mitigari solet.
+
+Audi, ne longe abeam, moriens quid dicat Epicurus, ut intellegas facta
+eius cum dictis discrepare: ‘Epicurus Hermarcho salutem. Cum ageremus’,
+inquit, ‘vitae beatum et eundem supremum diem, scribebamus haec. Tanti
+autem aderant vesicae et torminum morbi, ut nihil ad eorum magnitudinem
+posset accedere.’ Miserum hominem! Si dolor summum malum est, dici
+aliter non potest. Sed audiamus ipsum: ‘Compensabatur’, inquit, ‘tamen
+cum his omnibus animi laetitia, quam capiebam memoria rationum
+inventorumque nostrorum. Sed tu, ut dignum est tua erga me et
+philosophiam voluntate ab adolescentulo suscepta, fac ut Metrodori
+tueare liberos.’
+
+Non ego iam Epaminondae, non Leonidae mortem huius morti antepono,
+quorum alter cum vicisset Lacedaemonios apud Mantineam atque ipse gravi
+vulnere exanimari se videret, ut primum dispexit, quaesivit salvusne
+esset clipeus. Cum salvum esse flentes sui respondissent, rogavit
+essentne fusi hostes. Cum id quoque, ut cupiebat, audivisset, evelli
+iussit eam, qua erat transfixus, hastam. Ita multo sanguine profuso in
+laetitia et in victoria est mortuus. Leonidas autem, rex
+Lacedaemoniorum, se in Thermopylis trecentosque eos, quos eduxerat
+Sparta, cum esset proposita aut fuga turpis aut gloriosa mors, opposuit
+hostibus. Praeclarae mortes sunt imperatoriae; philosophi autem in suis
+lectulis plerumque moriuntur. Refert tamen, quo modo. (beatus) sibi
+videtur esse moriens. Magna laus. ‘Compensabatur’, inquit, ‘cum summis
+doloribus laetitia.’
+
+Audio equidem philosophi vocem, Epicure, sed quid tibi dicendum sit
+oblitus es. Primum enim, si vera sunt ea, quorum recordatione te gaudere
+dicis, hoc est, si vera sunt tua scripta et inventa, gaudere non potes.
+Nihil enim iam habes, quod ad corpus referas; est autem a te semper
+dictum nec gaudere quemquam nisi propter corpus nec dolere.
+‘Praeteritis’, inquit, ‘gaudeo.’ Quibusnam praeteritis? Si ad corpus
+pertinentibus, rationes tuas te video compensare cum istis doloribus,
+non memoriam corpore perceptarum voluptatum; sin autem ad animum, falsum
+est, quod negas animi ullum esse gaudium, quod non referatur ad corpus.
+Cur deinde Metrodori liberos commendas? Quid (in) isto egregio tuo
+officio et tanta fide–sic enim existimo–ad corpus refers?
+
+Huc et illuc, Torquate, vos versetis licet, nihil in hac praeclara
+epistula scriptum ab Epicuro congruens et conveniens decretis eius
+reperietis. Ita redarguitur ipse a sese, convincunturque scripta eius
+probitate ipsius ac moribus. Nam ista commendatio puerorum, memoria et
+caritas amicitiae, summorum officiorum in extremo spiritu conservatio
+indicat innatam esse homini probitatem gratuitam, non invitatam
+voluptatibus nec praemiorum mercedibus evocatam. Quod enim testimonium
+maius quaerimus, quae honesta et recta sint, ipsa esse optabilia per
+sese, cum videamus tanta officia morientis?
+
+Sed ut epistulam laudandam arbitror eam, quam modo totidem fere verbis
+interpretatus sum, quamquam ea cum summa eius philosophia nullo modo
+congruebat, sic eiusdem testamentum non solum (a) philosophi gravitate,
+sed etiam ab ipsius sententia iudico discrepare. Scripsit enim et multis
+saepe verbis et breviter arteque in eo libro, quem modo nominavi, mortem
+nihil ad nos pertinere. Quod enim dissolutum sit, id esse sine sensu,
+quod autem sine sensu sit, id nihil ad nos pertinere omnino. Hoc ipsum
+elegantius poni meliusque potuit. Nam quod ita positum est, quod
+dissolutum sit, id esse sine sensu, id eius modi est, ut non satis plane
+dicat quid sit dissolutum.
+
+Sed tamen intellego quid velit. Quaero autem quid sit, quod, cum
+dissolutione, id est morte, sensus omnis extinguatur, et cum reliqui
+nihil sit omnino, quod pertineat ad nos, tam accurate tamque diligenter
+caveat et sanciat ut Amynomachus et Timocrates, heredes sui, de
+Hermarchi sententia dent quod satis sit ad diem agendum natalem suum
+quotannis mense Gamelione itemque omnibus mensibus vicesimo die lunae
+dent ad eorum epulas, qui una secum philosophati sint, ut et sui et
+Metrodori memoria colatur.
+
+Haec ego non possum dicere non esse hominis quamvis et belli et humani,
+sapientis vero nullo modo, physici praesertim, quem se ille esse vult,
+putare ullum esse cuiusquam diem natalem. Quid? Idemne potest esse dies
+saepius, qui semel fuit? Certe non potest. An eiusdem modi? Ne id
+quidem, nisi multa annorum intercesserint milia, ut omnium siderum
+eodem, unde profecta sint, fiat ad unum tempus reversio. Nullus est
+igitur cuiusquam dies natalis. ‘At habetur!’ Et ego id scilicet
+nesciebam! Sed ut sit, etiamne post mortem coletur? Idque testamento
+cavebit is, qui nobis quasi oraculum ediderit nihil post mortem ad nos
+pertinere? Haec non erant eius, qui innumerabilis mundos infinitasque
+regiones, quarum nulla esset ora, nulla extremitas, mente peragravisset.
+Num quid tale Democritus? Ut alios omittam, hunc appello, quem ille unum
+secutus est.
+
+Quodsi dies notandus fuit, eumne potius, quo natus, an eum, quo sapiens
+factus est? Non potuit, inquies, fieri sapiens, nisi natus esset. [et]
+Isto modo, ne si avia quidem eius nata non esset. Res tota, Torquate,
+non doctorum hominum, velle post mortem epulis celebrari memoriam sui
+nominis. Quos quidem dies quem ad modum agatis et in quantam hominum
+facetorum urbanitatem incurratis, non dico– nihil opus est litibus–;
+tantum dico, magis fuisse vestrum agere Epicuri diem natalem, quam
+illius testamento cavere ut ageretur.
+
+Sed ut ad propositum–de dolore enim cum diceremus, ad istam epistulam
+delati sumus–, nunc totum illud concludi sic licet: qui in summo malo
+est, is tum, cum in eo est, non est beatus; sapiens autem semper beatus
+est et est aliquando in dolore; non est igitur summum malum dolor. Iam
+illud quale tandem est, bona praeterita non effluere sapienti, mala
+meminisse non oportere? Primum in nostrane potestate est, quid
+meminerimus? Themistocles quidem, cum ei Simonides an quis alius artem
+memoriae polliceretur, ‘Oblivionis’, inquit, ‘mallem. Nam memini etiam
+quae nolo, oblivisci non possum quae volo.’
+
+Magno hic ingenio, sed res se tamen sic habet, ut nimis imperiosi
+philosophi sit vetare meminisse. Vide ne ista sint Manliana vestra aut
+maiora etiam, si imperes quod facere non possim. Quid, si etiam iucunda
+memoria est praeteritorum malorum? Ut proverbia non nulla veriora sint
+quam vestra dogmata. Vulgo enim dicitur: ‘Iucundi acti labores’, nec
+male Euripides– concludam, si potero, Latine; Graecum enim hunc versum
+nostis omnes–: ‘Suavis laborum est praeteritorum memoria.’ Sed ad bona
+praeterita redeamus. Quae si a vobis talia dicerentur, qualibus Caius
+Marius uti poterat, ut expulsus, egens, in palude demersus tropaeorum
+recordatione levaret dolorem suum, audirem et plane probarem. Nec enim
+absolvi beata vita sapientis neque ad exitum perduci poterit, si prima
+quaeque bene ab eo consulta atque facta ipsius oblivione obruentur.
+
+Sed vobis voluptatum perceptarum recordatio vitam beatam facit, et
+quidem corpore perceptarum. Nam si quae sunt aliae, falsum est omnis
+animi voluptates esse e corporis societate. Corporis autem voluptas si
+etiam praeterita delectat, non intellego, cur Aristoteles Sardanapalli
+epigramma tantopere derideat, in quo ille rex Syriae glorietur se omnis
+secum libidinum voluptates abstulisse. Quod enim ne vivus quidem,
+inquit, diutius sentire poterat, quam dum fruebatur, quo modo id potuit
+mortuo permanere? Effluit igitur voluptas corporis et prima quaeque
+avolat saepiusque relinquit causam paenitendi quam recordandi. Itaque
+beatior Africanus cum patria illo modo loquens: ‘Desine, Roma, tuos
+hostes’ reliquaque praeclare: ‘Nam tibi moenimenta mei peperere
+labores.’ Laboribus hic praeteritis gaudet, tu iubes voluptatibus, et
+hic se ad ea revocat, e quibus nihil umquam rettulerit ad corpus, tu
+totus haeres in corpore.
+
+Illud autem ipsum qui optineri potest, quod dicitis, omnis animi et
+voluptates et dolores ad corporis voluptates ac dolores pertinere?
+Nihilne te delectat umquam –video, quicum loquar–, te igitur, Torquate,
+ipsum per se nihil delectat? Omitto dignitatem, honestatem, speciem
+ipsam virtutum, de quibus ante dictum est, haec leviora ponam: poema,
+orationem cum aut scribis aut legis, cum omnium factorum, cum regionum
+conquiris historiam, signum, tabula, locus amoenus, ludi, venatio, villa
+Luculli–nam si ‘tuam’ dicerem, latebram haberes; ad corpus diceres
+pertinere–, sed ea, quae dixi, ad corpusne refers? An est aliquid, quod
+te sua sponte delectet? Aut pertinacissimus fueris, si in eo perstiteris
+ad corpus ea, quae dixi, referri, aut deserueris totam Epicuri
+voluptatem, si negaveris.
+
+Quod vero a te disputatum est maiores esse voluptates et dolores animi
+quam corporis, quia trium temporum particeps animus sit, corpore autem
+praesentia solum sentiantur, qui id probari potest, ut is, qui propter
+me aliquid gaudeat, plus quam ego ipse gaudeat? [animo voluptas oritur
+propter voluptatem corporis, et maior est animi voluptas quam corporis.
+Ita fit, ut gratulator laetior sit quam is, cui gratulatur.] Sed dum
+efficere vultis beatum sapientem, cum maximas animo voluptates percipiat
+omnibusque partibus maiores quam corpore, quid occurrat non videtis.
+Animi enim quoque dolores percipiet omnibus partibus maiores quam
+corporis. Ita miser sit aliquando necesse est is, quem vos beatum semper
+vultis esse, nec vero id, dum omnia ad voluptatem doloremque referetis,
+efficietis umquam.
+
+Quare aliud aliquod, Torquate, hominis summum bonum reperiendum est,
+voluptatem bestiis concedamus, quibus vos de summo bono testibus uti
+soletis. Quid, si etiam bestiae multa faciunt duce sua quaeque natura
+partim indulgenter vel cum labore, ut in gignendo, in educando,
+perfacile appareat aliud quiddam iis propositum, non voluptatem? Partim
+cursu et peragratione laetantur, congregatione aliae coetum quodam modo
+civitatis imitantur;
+
+Videmus in quodam volucrium genere non nulla indicia pietatis,
+cognitionem, memoriam, in multis etiam desideria videmus. Ergo in
+bestiis erunt secreta e voluptate humanarum quaedam simulacra virtutum,
+in ipsis hominibus virtus nisi voluptatis causa nulla erit? Et homini,
+qui ceteris animantibus plurimum praestat, praecipue a natura nihil
+datum esse dicemus?
+
+Nos vero, siquidem in voluptate sunt omnia, longe multumque superamur a
+bestiis, quibus ipsa terra fundit ex sese pastus varios atque abundantes
+nihil laborantibus, nobis autem aut vix aut ne vix quidem suppetunt
+multo labore quaerentibus. Nec tamen ullo modo summum pecudis bonum et
+hominis idem mihi videri potest. Quid enim tanto opus est instrumento in
+optimis artibus comparandis? Quid tanto concursu honestissimorum
+studiorum, tanto virtutum comitatu, si ea nullam ad aliam rem nisi ad
+voluptatem conquiruntur?
+
+Ut, si Xerxes, cum tantis classibus tantisque equestribus et pedestribus
+copiis Hellesponto iuncto Athone perfosso mari ambulavisset terra
+navigavisset, si, cum tanto impetu in Graeciam venisset, causam quis ex
+eo quaereret tantarum copiarum tantique belli, mel se auferre ex Hymetto
+voluisse diceret, certe sine causa videretur tanta conatus, sic nos
+sapientem plurimis et gravissimis artibus atque virtutibus instructum et
+ornatum non, ut illum, maria pedibus peragrantem, classibus montes, sed
+omne caelum totamque cum universo mari terram mente complexum voluptatem
+petere si dicemus, mellis causa dicemus tanta molitum.
+
+Ad altiora quaedam et magnificentiora, mihi crede, Torquate, nati sumus,
+nec id ex animi solum partibus, in quibus inest memoria rerum
+innumerabilium, in te quidem infinita, inest coniectura consequentium
+non multum a divinatione differens, inest moderator cupiditatis pudor,
+inest ad humanam societatem iustitiae fida custodia, inest in
+perpetiendis laboribus adeundisque periculis firma et stabilis doloris
+mortisque contemptio–ergo haec in animis, tu autem etiam membra ipsa
+sensusque considera, qui tibi, ut reliquae corporis partes, non comites
+solum virtutum, sed ministri etiam videbuntur.
+
+Quid? Si in ipso corpore multa voluptati praeponenda sunt, ut vires,
+valitudo, velocitas, pulchritudo, quid tandem in animis censes? In
+quibus doctissimi illi veteres inesse quiddam caeleste et divinum
+putaverunt. Quodsi esset in voluptate summum bonum, ut dicitis, optabile
+esset maxima in voluptate nullo intervallo interiecto dies noctesque
+versari, cum omnes sensus dulcedine omni quasi perfusi moverentur. Quis
+est autem dignus nomine hominis, qui unum diem totum velit esse in
+genere isto voluptatis? Cyrenaici quidem non recusant; vestri haec
+verecundius, illi fortasse constantius.
+
+Sed lustremus animo non has maximas artis, quibus qui carebant inertes a
+maioribus nominabantur, sed quaero num existimes, non dico Homerum,
+Archilochum, Pindarum, sed Phidian, Polyclitum, Zeuxim ad voluptatem
+artes suas direxisse. Ergo opifex plus sibi proponet ad formarum quam
+civis excellens ad factorum pulchritudinem? Quae autem est alia causa
+erroris tanti tam longe lateque diffusi, nisi quod is, qui voluptatem
+summum bonum esse decernit, non cum ea parte animi, qua inest ratio
+atque consilium, sed cum cupiditate, id est cum animi levissima parte,
+deliberat? Quaero enim de te, si sunt di, ut vos etiam putatis, qui
+possint esse beati, cum voluptates corpore percipere non possint, aut,
+si sine eo genere voluptatis beati sint, cur similem animi usum in
+sapiente esse nolitis.
+
+Lege laudationes, Torquate, non eorum, qui sunt ab Homero laudati, non
+Cyri, non Agesilai, non Aristidi aut Themistocli, non Philippi aut
+Alexandri, lege nostrorum hominum, lege vestrae familiae; neminem
+videbis ita laudatum, ut artifex callidus comparandarum voluptatum
+diceretur. Non elogia monimentorum id significant, velut hoc ad portam:
+‘Hunc unum plurimae consentiunt gentes populi primarium fuisse virum.’
+
+Idne consensisse de Calatino plurimas gentis arbitramur, primarium
+populi fuisse, quod praestantissimus fuisset in conficiendis
+voluptatibus? Ergo in iis adolescentibus bonam spem esse dicemus et
+magnam indolem, quos suis commodis inservituros et quicquid ipsis
+expediat facturos arbitrabimur? Nonne videmus quanta perturbatio rerum
+omnium consequatur, quanta confusio? Tollitur beneficium, tollitur
+gratia, quae sunt vincla concordiae. Nec enim, cum tua causa cui
+commodes, beneficium illud habendum est, sed faeneratio, nec gratia
+deberi videtur ei, qui sua causa commodaverit. Maximas vero virtutes
+iacere omnis necesse est voluptate dominante. Sunt etiam turpitudines
+plurimae, quae, nisi honestas natura plurimum valeat, cur non cadant in
+sapientem non est facile defendere.
+
+Ac ne plura complectar–sunt enim innumerabilia–, bene laudata virtus
+voluptatis aditus intercludat necesse est. Quod iam a me expectare noli.
+Tute introspice in mentem tuam ipse eamque omni cogitatione pertractans
+percontare ipse te perpetuisne malis voluptatibus perfruens in ea, quam
+saepe usurpabas, tranquillitate degere omnem aetatem sine dolore,
+adsumpto etiam illo, quod vos quidem adiungere soletis, sed fieri non
+potest, sine doloris metu, an, cum de omnibus gentibus optime mererere,
+cum opem indigentibus salutemque ferres, vel Herculis perpeti aerumnas.
+Sic enim maiores nostri labores non fugiendos tristissimo tamen verbo
+aerumnas etiam in deo nominaverunt.
+
+Elicerem ex te cogeremque, ut responderes, nisi vererer ne Herculem
+ipsum ea, quae pro salute gentium summo labore gessisset, voluptatis
+causa gessisse diceres. Quae cum dixissem, Habeo, inquit Torquatus, ad
+quos ista referam, et, quamquam aliquid ipse poteram, tamen invenire
+malo paratiores. Familiares nostros, credo, Sironem dicis et Philodemum,
+cum optimos viros, tum homines doctissimos. Recte, inquit, intellegis.
+Age sane, inquam. Sed erat aequius Triarium aliquid de dissensione
+nostra iudicare. Eiuro, inquit adridens, iniquum, hac quidem de re; tu
+enim ista lenius, hic Stoicorum more nos vexat. Tum Triarius: Posthac
+quidem, inquit, audacius. Nam haec ipsa mihi erunt in promptu, quae modo
+audivi, nec ante aggrediar, quam te ab istis, quos dicis, instructum
+videro. Quae cum essent dicta, finem fecimus et ambulandi et disputandi.
+
+Voluptatem quidem, Brute, si ipsa pro se loquatur nec tam pertinaces
+habeat patronos, concessuram arbitror convictam superiore libro
+dignitati. Etenim sit inpudens, si virtuti diutius repugnet, aut si
+honestis iucunda anteponat aut pluris esse contendat dulcedinem corporis
+ex eave natam laetitiam quam gravitatem animi atque constantiam. Quare
+illam quidem dimittamus et suis se finibus tenere iubeamus, ne
+blanditiis eius inlecebrisque impediatur disputandi severitas.
diff --git a/macros/latex/contrib/lipsum/lipsum-cs.txt b/macros/latex/contrib/lipsum/lipsum-cs.txt
new file mode 100644
index 0000000000..da9376716c
--- /dev/null
+++ b/macros/latex/contrib/lipsum/lipsum-cs.txt
@@ -0,0 +1,1457 @@
+%%
+%% This text was provided by Ondřej Macek (ond dot macek at gmail),
+%% extracted from Petr StaníÄek's website:
+%% https://www.wellstyled.com/tools/dummy-cz
+%%
+
+Lorem ipsum dolor sit amet, i těs něskvaclívrou zýflu něni vleň tis.
+NÄ›Äo k tÄ›mlé. Rust vrÅ¯Ä tÄ›pÄ› ti pesk dropy, chreÄlůb mík i zképÄ›
+ptoňchlich k niz. Bědlu dryplu vrour a timře z diťu. Ni dě uzle k upě?
+Mus i prepÅ™ouc, v Äleclup ni vustotitij vestuc kÅ™ouma dÄ›c preti. TÄ›ch
+užraj vřilku. Tivdiddi opřou z mati chlaněplíš i tid? Ocra v mlmetivi
+ktůchlyÅ¡ tkétÄ›d brár s ugrýdÄ›b ÄliÅ™ drýžlépou. DÄ›bi něř vÄ›piÅ¡lé. UbÅ™ub
+ubil clur ditÄ›fou vÅ™amÅ™oÅ¡ly ti syÄ dléti chraptuchlý louglotle mřáb tlý,
+žlůmasla miš dláti mip práchýjá. A vouninidla ti chlira sině děméti
+hroni oÅ™oun i he lkystklé pupléplaÄ, hlohlouvo Å™ofle veglí buž dÄ›bi
+ticrez hlodidi. KeÅ¥a diplánÄ›ryÄ dýmeňoÄ.
+
+Tinic nÄ›l, mluÄ didlefe kohva pěšt cakří pavu v dicu, byniÅ¡t sev
+slitivýr dobaž pevlyv přoz tkedě o škamou chruprépez zíbyk. Hlož a vuhly
+dipi v šlodrouž bušbyz flošt kaju. A hlést. Vrybest pru chlij nisti ku
+hrť? Tižrac kte gédledipliš pívá zryti poš. Frůplů puskybeň protří vynir
+šloufourně něz hřákni něd tivřok jepasa těm. Tib clomro nětšla z dluš.
+Osrou a kar fyÄly pluvÅ™a niÅ™srysu systůb frýrdi v říÄ? Nifát tik, úlů
+tkych ti Å¡kátÄ›ch skeho nÄ›mroÅ¡ká tkyniÅ¥ mÅ™ou soure a ti. FlymoÄ blůndÄ›k a
+mud fomyc did chrůdříd hři třoklé z dlazý. Clibu vyžréclí i troť vrydi
+zlýtká frátlípě žlým o ozloti tkéštmlů, budřo těr. Bidit štymon.
+
+Pludlé k ti drodÄ›n hruÅ¡ro. NÄ›chábÄ›slouÄ Å¾le viÅ¡lo kto dinÄ› bÅ™odÄ› mluÄ
+gešou dléclíně ju nin. Plivišt mlýma žosk žipep rárydař. Béžhrunu ně.
+Nichrů skuÅ¡. Cír noÄouv žach a slesa fydiÅ¡t skyň, bohlávubror dÅ™un a
+chlychy stoÅ¥ zliÅ¡ku. Blohtin clýr dÄ›Äesk v vuždÄ› lidi zloc dlůmlydiÅ¥. A
+žraÅ¡ vustpo Äly rázy. Mý kÅ™o moka o chektýmy mů tÄ›by Älicavech venÄ›Äbahr
+o ni vlsgleÅ¡. A freÄlí opru plun klů pyÅ¡tvlíst jámlo s ditliflyÅ¡lo
+uzroklů hÅ™eÄ. Tiž umre a Äakleb, dinÄ›p sruphaglý uvraň trykvesk o diÄuÄ
+nuchů a vraÄ nitÅ™a bebrublýd vÅ™oun. I Å¡lůle v ryz plbobrouc tÄ›s pež
+dÄ›vra. DÄ›cla pyh skev dÄ›dih vi. Výj dipto i bÅ™uÄ dÄ›bÅ™e. VrdÄ› i břáz
+titka sredilý putipoš drumřo. O clíblízlu, přílá těbý o těc, němlo děst.
+Prek mlouděsly v gók.
+
+Zkáv feclí chubem mupležrytřá tkýti nyh. Útreb ukranistu s diniplí. Omo
+plemlu tkozremo dis vep chléhy šta hlypří kteništ šlář orou. Dipyňně
+hlub tlyplésk pechlej s bibřask mudiž vešívsést šrož choch upry křašt. K
+dlimo nigrů Äli tkouv kůca flýhlos. Kumlishlo tani růšký k niÅ¡, titÅ™e
+dišt noup belů děně a giť tidě těky? V nelu o niktou tlavlop dik z
+krůti. Z ublý sroumrj dÄ›důdi mu Å¡kůvle tlývleÄ Å¡ryvabu mek z vumon,
+vělychkrevry žréve oblu v dětpa? A bo nidli a těž vrásy tiněž děk
+vlabboubě žláje těkry, nid skad. Úšáž oněn děšttiglol pysk z vlavřa
+zlát, s dimiž srazkádidkrud vudiÅ¥ vroÄeÅ¡bÄ›Ä jínÄ› skydÅ™a i ditiÅ¡ta.
+Flolkyblu brůvřu loti a škežlígytlé a pos tiskti úsloti. A nědo. Niskbu
+mi dÄ› tidlávru loudlu. A tigi digý nÄ› Å¡ru olka. ToÅ™ vloumlek rášt chréÄ
+mivleň glí.
+
+Děni těd mechrab z něvok. Dih dědi o mraz úplu. Maž chlov lkyflý di odip
+frst tihří v tÄ›. DoÅ¡lopiÄÅ¡lou béj úkÅ™inÄ› dÄ›vřáÄofrÄ tÄ›r. Flíšlaž tÄ›k
+jutryv nipo so krynbiv jeti, diděňlkůklý dimly vrýněgi. Viť miti ho
+chruděž těšt plev chrasté krej pazev? Něglu dráj o putrošle táž plápos i
+mlistad, chlom pyb zyflyr a mrebipÄ›n vre lkamonáj blal. ŤouÄlýptatěř
+ny.
+
+Řoukou i něn ditěťžlo nistest brétimib k skyk nimu brh děděd, dij mliňa
+chrou bam. Å tocra hrýsk ni hřánÄ› veÅ¡tpo baÄlepry slytÄ› nil. Slář uÄádi
+dlozkat di nÄ›chryt srépalouÅ¥ úmra kÅ™ažrymÅ™u, góz nÄ›huÄnÄ›. Rostzoň dis
+mloudi mrch fletěřou žlubyÄ bofrÃ½Ä skůb Äíh. Tříchsy pažlynÄ›tÄ› peÅ¡lou
+voch mezkost dležrý. VÅ™a a vramláň didý o žlýniÄ pÅ™ochlachly dimÄ›zu,
+lykty vlouté. Pěř floumylblu pÅ™oÄ omroz a dÄ›z ota mrapry crop mréblé
+tiÄhÅ™e?
+
+Slýpě těh vegry i mě řáflen s těmešt tic. Clapěch i tkatib tě, mupte o
+tkybpasret v dibu glob ňouvlÄ těš. Hruvuň umlo dléchruglů vÅ™udré chlo.
+Sůkli a re. Štehrůněžla otiňů prydišt s poděmi břeti chlesruti i zkůťa
+nÄ›dÄ›gÅ¯Ä mÄ›b. Nimi s vlykružlo, kymro Å¡tap di? HřídÄ› ktéma a jíř nÄ›tÄ›cti
+Å™egla važ bapic. DiÅ¡tyÄ ni. I jotiÅ¡t frouÅ¡li hÅ™oun myclysto. V fliktůh
+nÄ›lkébhli mip ptoch úzku a niÅ¡t Å¡lefrer. NÄ›kak pem gretli Älipini baz
+mlah bofla hlédigle gláhřo. Babů grép hřoutist pati ni.
+
+DliÅ™ kÅ™i mlítÄ› clíšku syp diva Å¡to glybÅ™e žla pruÄla hří tivlo. A cep
+divl vÄ›stý sleÄ zlodrou bamaj, ty bÄ›kto tich o mlimaÄeÅ™ nuvucou kám
+nilký, plýv o fýpi s prušla ocrob šlom. Vuklij tlela mlůr mlýbyj nichyk
+s pÄ›. Zlanich kregu pu plí trábÄ› v ucly i dlámiÄá. Diple grůch dlodreÅ¥
+tler dihlu dědiv. Myt hřusust v bek.
+
+Pech klonib jávletiÄ onipu a grýžpreklaÄliÄ mubaskyj nÄ›jzro s zrdÅ™u s
+Äů. TiÅ¡tut z Å¡remi. Kloda cluÅ¡ a bÄ›Älab v tiří mlítichru k jitimev i
+botiž. Brymřá jomřuzlzky hlévecre. Ugésíraš škabškék nipad, me hup dekro
+dryk clohla Älapu bÅ™apuky vupolků hrojuÄ. LkýšlínitÄ›c a Å™est stovlu
+glout božblo tlac mliřodé vlplichvadik vrofr bydic bréděfro, nivěz didě
+někrýděk škeva béniř sij a gleděv a břoupo, k mě upty dišt z nibu, i
+drouchtiť k přumřá škůpe nidiglu, mlyšt tibřoh a něř pěmej v zut. Ogrů
+únip pumevomyl Älářslo chýš mÅ™umryb zrji chouc nich nimi žlím z
+supÄ›tÄ›zla. Zíť ktuprý bluj dloca pÅ™idiÄ tiÅ¡lůtÅ™iclů dir clůzlaÅ¡t. Lkýgro
+i zládÄ› dÄ› a žlýtký, chruÄ by meÅ¥ah chaninÄ› blynir veti, mluříni k hrůfe
+s timrý v tediz ozlebyš. Něsk žlusré srérou mlách zitvřugutla hlýh bi
+dini titěť. Bu něšt.
+
+Flor z behryr k tihrů skoÄ grymou o divecli panyp Å¡lá. Nib chlocli dÄ›c
+nibla o bÄ›pí mo mÅ™uzodrýprou. ÄŒosk mysk dumÅ™a, timluglic chlaÄ a tÄ›lkeÅ¡,
+tipo ÄlyÅ™ k mynisk niskyÄ o drekta v dlytÄ›st zlůch tin ditÄ›. Nima i úku
+utÄ›se hulkousk vaÄ mápe tÄ›chruÄum dÄ›louglod važlo. Trutý s nir bomé
+sláží a uhle. Fetibě hyclo sramlo. Čá a ňáktaňskůťdlé. Těs dirmubr tůsgů
+a glud ova ulo dátÅ™uskati cleÄ nÄ›kly tiÄklu, vu údÄ› a dÄ›muviÄ i
+krélkousk. Soň ktahtle vrous vrykred žreÅ¡kest. A pyb vÅ™ehlohlÃ­Ä zremum
+zýkte, těz tlíšlániň glů a úgýš ně hlédi. Timlůclosk mab niby. Noz náfl
+nizůtÅ™o beslý z zychry dÄ›vrou i foÅ¥plubán, vÅ™iÅ¥ tav nidrasku tÄ›Ä prupěž
+tléstyr bříkÅ™ouÄa saÄ gudi, vahÅ¡lá z tléskvi gruÄÅ¡tut z haÄ bádÄ›pro
+slahla k moštply hlyvišt til, chlouhle blivu mist.
+
+DliÅ¡t lydÄ› meslufradÄ› bimÄ›d třínÄ› dávlécblás klatuvro uvly nitva vřáÄ
+vůl nÄ›ni. DistouÅ¡ tÄ› klisry Å¡le kÅ™oumrokluÅ¥ didousrác srÅ¯Ä bodÄ› pÅ™edÄ›
+brechobi cláslan. Plozktůst z ÄaÅ¡ nichy. Přámlo glédÅ™atÄ›tla tkuň lu
+foužlisk lkůskdě tišt děšký vřoň hrumiz gýva. Vlůch pyclupte utinis tibe
+úně ňoul soštžle, tlumenilem těgí neclílkýny mosk dězrů k štod nidi
+dÄ›pom tist, kyskou uÄlunýřou oloutskop? Bilma dlužvěšt skuÅ¡t vlichlidi
+návlůsk vlyja? Dě tři távlý chlemře mesk hávren z kyl, káná lelke dé bes
+nizlů diň uděr k ko. Někřátle clu lábgibo měměcrukeť dlyrévo umadří uti.
+Krhla klal skýdÄ›touch tidÄ›ble Äuti dazmare slynÄ›r droÅ¡ disk bibÄ›nÄ›cla
+red. Úma ma i vastuš titké k výhli. Flukly tlur těvvi drazkou ce těně
+lkyÅ¡ bloupěží chrýn tiv ňoÄhlad. VÅ™umrodi blizid stast goup nÄ›skděž v
+nisk? Hrprestazžlé vatiz hlnědiv bědi mlakle ti zreběs oni ošebla,
+ticrab kluvřu sůmdýpu plod mry usi zest mřípěvřá vloň, a řiněn hlopy
+těblodlo o skásk fůdic tědi.
+
+Ublutik Äůř blozronÄ›tit diclaň Å¡lovir ptevouňor odÅ™i žry hÅ™evynÄ›
+klofýpi. O slukly vu pamy a hro. MouÅ™pa slupaÅ¡ vlouditiÄá útÄ› ňamlamr v
+tlimi vablbyst heděchráh skýni? Těněšt tidichlyp a sroun. Uvas k clách
+tiskym nÄ›m, tÄ›st dÄ›Äluh. Sédrýs hlyl crusk hývů puÄliÅ¡t k didi titil
+slemřubě hré. Tli hlohro pětědih němě soubly lo bej kuvo a dihlou.
+Dlupletidi srov flikl hruprok plilkutřuco mlima dusk něchlu pe hrupli i
+škav, ktyhlů.
+
+Lůz ny goumrý cravrybi betic oséc ši. Mliv chufí hupe bož stáděsk žlamy
+tih dÄ›dÄ› tÄ›gé hlomýněť ptyvra frouÄ, Äumuprýtlo druh nih ohly hýža,
+frálepu gliplych tině o nipusbřer vlašle bě štochýť. Plýš mresrap
+zíchÄlou disk. Logrů lídi i žládi vrežrá vin a plaslo hlátiv o rél. Úlou
+hliž jíký chlahoh těněstyž vunědě křodlach budli gro vo mygluk, a slitůh
+nist měpra slétiplabě. Mlůvur div zůš hleli tizlyltřu ništ s hravřu.
+Cloprst disruvbos.
+
+I Å¡ouc zlákra bohÅ™u dákrévo hlyh, dÄ›glest z Äoun nÄ›mrydi tkust k Å¡lagru
+a tÄ› odaÅ™bÄ› chle, dipest dlouvre zyjzkůvá o diří flou Å¡li gryglí Älaj
+myj, žlýbe zrvlýst ge jáme cruňaj a va dryvy v chlyrne fiÅ¡. PaÄu a viž,
+gluni oni a glofa vichla lytfrudist o mihlu, pěšryba děsa slen vězledi s
+Å¡lukleÅ¡hřá blevflu měř chlatÄ›ch z třícle, pěň titÄ›Ä. ŽladÅ™al v chloÅ¡
+tiÅ¡kez proÄ niti dipta. A dÄ›vlů a zroum nÄ›ni dÅ™ochniň drý glynislou. K
+Å¡kuÄnÄ›buÅ¡Å™o kÅ™u clyžrů jenic hust? I úpykříti di. TÄ›jvlipa zlapé sýň
+viněmo. Tuto dutlip ma ti hymy děblel těch. Oděp nětkuťobla žlidr vuc.
+
+Děškyklouchla me úba boutřotidla, blu k něsžladlář i ktůbobrůnbu srévi
+difle houpraÄlí v reÅ¡lu. A ciz bipi clouÄchru krod bÄ›drá něž sryÅ™. KrpÅ™e
+sly grynÄ› poÄ praktyr, v tromedraÅ™ brámlu kloÅ™o měšt skouve. Mlevrem
+chlítimre mlod, ni tlhra nÄ›Ä Å¡líba Å¡lisloÅ™ dih. OtÄ› usta tÄ›mave pytÄ›
+niti nik muvi vrůk tiÄ fibÄ›Å¡Ã¡Ä Å¡leplob beÅ¡. Z nidi zláb kretiv o niÅ¡t
+úměň žréřti k tÄ›k. ModÄ›k kliÄotÄ›po. K dÄ›chrak bldivro, time mounÄ› tliÄ
+claslá ušlož i glani zoubeť k li. Myně chrone s titloublá a třoni.
+MynÄ›zo v chlilka chédÄ›Ä bi trl dléťfruk mloťá děň. DinÄ› ochlol le bylem
+z doně. Mlani úžlávrástdišt tisý i něti žluba uhřeškol těp, tini ozlyfly
+plech a Äůhour břástouchla a tésk dratěťškubi. NiÄláň clédi kteÅ™nidÄ› niz
+suvom ké, gly sabl i údrýs. K memu prynizi ni. Ska něchry dladešt
+lkédisly oglach a nitil mlýdi, tlotýchaÅ™ nÄ›zoÄ.
+
+Å kozlítikeb van chrépré tiké trýj z jízli hryzr. NÄ›k diÄ glifoukrac
+sryvoz. Bědib a sladě pěni vom údla? I vah nědi zkupěj vasknichub tisrou
+újá. Hry dědiž di. Věfóvřádi uklaplotě i chrůňni moklédřopěc veněsk
+mÅ™uno nin oni tiÅ™ bÄ›gryn bac, Älevy fón fresru niti muk ústu zreÄ
+bÅ™etic, tÄ›méc s vežluzleÄly děťo tkad tříží duťáÄ. JeÅ¡Å¡rubá dréhlousk
+Å¡lyÄí pÅ™otdÄ›bÄ›h vozliÄáblý nikra Å¥outÄ› v Å¡kýmá úmeÄlenin, ňágle
+glajtipinil šloclyšt clys žlé hádětic tediřfož tě lkýske bladi o
+tižrour, žadist di břáš.
+
+Hyfe bimlý. Mly voš dludě nitiť stýš v těžlaš těsláditrou uděšt mroule
+tipovměž. S jodi mÄ›di a niÄglé z flýr boudÄ›l flůň mina dÄ›drů
+chrytlubrýt. Zke s sruvach. KtouÅ¡ter ve diti v diky mÄ› gÃ³Ä krýÄít pámiž
+s Å¡ruň tÄ›pusk. Di a dÄ›tlát, krybuch s fréž, bÅ™oudi chruÄÅ¥ou tiklamr munÄ›
+vo ktýkřiš úktudi hlakskou diz skup tiskbud k tě. Úvo lkéd děpěn flo
+tÄ›.
+
+Crytky tÄ›bre pléglonÄ› chlůmoni dÄ›Äáp a úpa i vléfa pe, nihlajou di douž.
+DěžraÄ z něšrak drýjni vepÄ›drac. Klež z gétrul pří ulu guhlý tlyÅ¥ mož
+bymy mřikliřoh žrapaš prou. Di dimr s zyvmi odlézu těso nil hašt, houti
+kradi šrum bítkám hy. Piř titislusry moskně. A vědině z šteblu i nipyd.
+K dÄ›Ä ÃºkleÄ minÄ›sk v ofré niz k jáfrj nim. ÄŒiÄ srubraÅ¡t z tižryske v
+zuco drá i mrédě stomlůz tky? Dřulká bykla biž tišlic di ně přatřet v
+voh tlýdlaclyhřá z dědis. Dlý ni pihra nibo a mryplj mřanit manisro
+škůgrudipe gle pahré tlýt. Brágoutiň vi tli noklý bliva chlej mréj
+klitil tlýcry a gloc. Nuštohry s puk bliti kýdil list.
+
+Uvli beÄ v týcly i lybréch a utibe pani dichoud. Pochobla udÄ›j nÄ›m prách
+němráv šligli mubludini oni těm ný. Zkousre o šla dlavodlosty onipy
+vrybě diktystkeni. Drá a stetlena tipu tisry a glab hřouvří dě ošro tin,
+Å¡tuňa k clomÄ› bask dÅ™age z divro zyÄloch blu tkůlíl jouÅ¥ o blydr.
+Úbrouky pomo vřašt skyni vaflij diť mi něcaslýdrašt. Věv glucágryň copaj
+z mísktinive žlousla o diÅ¡t? Kouvrá Äogu v dib niflu ňásk Å¡ošá. Tik
+roclá zinětid hloglu vly diti tě z bibl. Řohřaš a mě nidi sre třoulko
+clů na. Tltsky úsruÄ i ktoudle. Ušíp k tkův otry. O flupyb miro nÄ›t
+trat. ŽryjupÅ™oul povry s vÅ™uÅ¡fru diblonin i tÄ›Ä chýmzkeÄfr nirec bléclu,
+uÅ™oÄos dřá vlad vižlábij.
+
+Osto a hÅ™iÄ tÅ™ezáb polkypří frýzryr franiž v tiÅ¡t bedoum dÄ›ve.
+Mřápžreglidi omemu tÄ›cro zkaklo Älýst bost zudibe blýlke. Chla s mlápy
+nižro hlichlapotřou. Zlíbaptalko a tišhřámliť oslyslů meně z tkýň
+pudleske, dizlé tiglá pusk mítÄ› nÄ›vaÄ Äisk nisk dinÄ›di mupoum. Ti kuhla
+šrut a chlybrost prr vlaběr řouř, pochro cíblu nid vamě těšt ležab z
+ugyťni mydre ditě tutkyfržhráb chutlůšděgoh, mab škuděni dih dřu dyni.
+Nizu vlůch niche. Jí Älážli.
+
+Vik lar tlaÄlý. Ba voutliba dy. Vuchle ruhřá k di udÄ›sknaÅ™. S dÄ›n dinini
+s vimuh troublů. Zre tříti guÄ nÄ›p Å¡lichrydi úbli di a tkázluduň. ŘáÄle
+usa nětěly revě. Žídě blíc bě nipyc uhlešty řekrýtiglý křuře tigle
+didislu blutidiň. K petiÄlůř zrůtkáslo z dinou meÄour v michášlůzli Å¡im,
+nÄ›Älániktůb seji ochlýnid i úhrousko z hevÅ™ach a uzliÅ¡pyÄlo. A hrén odÄ›
+údÅ™ou nÄ›smabyÅ¡t krozluz Äly. Plý.
+
+K pÄ›vap felňůj bu otÄ›pradÄ› ni uslů. Dinidi úzlyÄiÄůz tiÅ¡tu gleÅ¡t. Nipim
+ogó niněsy přu dizrůpi k užlů a glep mřikreh bašt. Frár clínilstýkuch
+grydis bek mÄ›fr ditiÅ¡kýnÄ› žlidÄ›p kaÄlaÄla pu ťápo ti nitim. Glůšá blav
+okto šlosgymou clyti muc plavlé vlubu ma kruclyť něklob děv. Lih hrůmlů
+bimkre hroÄ bří mlisréň, zlavřítÄ› tesáti o pedi žlem slé mapÅ™ih pÅ™uti
+dÄ›m pec otÄ›, i tlélí tÄ›buvyd chlopbÄ›. FuÄu mlub dÄ›ÄlaÅ™ hydit tÄ›p
+gryjásrav didi škymre kru. Dlim.
+
+O mom Å¡rulmani i tÄ›pádý tÄ›nim Äaklůc dÅ™eňously. MlctÄ› žlyle clin pymo
+laz žisrétižlů zra skemloÅ¡t buÅ¡t nÄ›tijdÄ› o nit. HoÅ¥bo cro Äleji mlez tÄ›Ä
+mékmes udi v me krásle. Cáktubo tizrý skešry rům ktokře, nětě i pa,
+lkunÄ› vrr cudra ni, úmeň žáť totiÄ, mrfly o mlýř nÄ›diti kaplís o crez
+titkýť satni vénetitřal. Něšbě crozkaktá sterek bocou tiňufréc zlac o
+niťávryc dézra nÄ›sliÅ¡. K machrousk puchmřískžly dih stÃ¡Ä vetůvour umu
+ply. Kýšt mymu o hruj.
+
+Hypra dreÅ¥ k dimiÄlesk zrátlko ňomabludiň plovrz ti zkad beclo py.
+DrežrůÄuÄ kruni vlac mane. ŽabÄ› troÅ¡ hruÄ dÄ›bra. KÅ™ati blžleÄu poz pa
+mudi ktýl medi játěpřepi hřouti k nést, vrédis tic vušt lypi těmemlé o
+klo dřídpo umá stu. Nišápy klípe, škyno vak miž basim mižra a šketkyv
+ňav srať šádizky něti nidi. S lkyť.
+
+Metkup s mloÅ¡. Mluvel nim Å¡lív nÄ›vÅ™e o didlužá tÄ›cÄlo oklidi prouclani
+tříšbaÄ zaklůp. Mi vÄ›poÅ™ o madi. Stovlu témrola midi bupimi vlotÅ™u a
+clyzliti blůť nisk pÅ™eÄtihaž tÄ›m. Dlp chlimřá ktymrozko titi pÅ™oumani
+réb ňůpru ra v tiktouste. Srop ťouk tivleň couskněvtim miktékděvy pidis
+Älýň. Skouvu hÅ™az z žrátihni. Úhrou úgrůc klýh s platroÄ. Zlafój o dini
+s nidi věřu lkout pepi. V gruc vlozkechly bychu kreťů. Kří žlétě
+tlimiclech. OÄou vlís mrázkátryflu? K vuÅ¡ lyžly pibyb. I tÄ›ni? Didi s
+blytě ti titidě niděň zku zro plute tkehlydiř, i bizkuj dih. Dlň slahe
+nitřás bě uprež dih i ťánicávoš niř, ptošt zoubry vuniněr nitik.
+Å tyžfrok i tleÅ¡ou gruti diÄlamří o tich tkuvrem. Mlogly s clop. Simlad.
+
+Nitěň chroudě tkař. A nizy soutkýk. O syňkrusk fiz tidivě řoubrý nuby i
+nip blořfé mid škychlu tibůclo. Tkéhyc tiplou něl bloumy o něšluj drou,
+slun clůly fochloz bomědéb pašthrek chlymoj mřo. Ni něsláhrp houdiz ni
+děch timi ťon úmiti krakřimřouhlo poňo. Mlubyb běmuglu trvěň? Těhlofléne
+zranmut ploupi k dřouřini nigrec dit, lů vržvav z clyprů, pto slatě
+mletě něvyzlůjni di dě, hlýti a ticlo blatě ké něskuťdleř tkohlud s
+jígůť, dinitiv caflí. Poch zkatlo bráť žemříst mrypich úchrůdě srůmr
+šlypkto kla zrym okrytě? Mibydloze řádě ni údrůfru z zlo fyvrý dititli
+nifráš, o tiprýbě pob krusk věditroubu pistmřouž, šrynij šoust
+vlihvuvÅ™o, sítko dÄ›kliÄ chly chra Äodroli chlokta. Zrubřábe Å¡tuniÅ™ dÄ›st
+a Å¡ryÅ¡tami nÄ›h zroz úchlyÄ k mrér, kluzli nugredi ků a Älutřáhé dit
+gruňák, děm mevo muvutiř lketpotréši bovep lkásrášli šlí. Z stujhl
+važzků diÄ niň chýrounÄ›plaÅ¥ dlu Å¡kaplt? Vip hrodranad s pe srépnisu fuÅ¥
+vy tipi. Tlab.
+
+NÄ›bloudimlir pÄ›. A vitÄ›hů o dÅ™ou chemub din minÄ›. DiÄo k niz chlahÅ™uk
+hlůnih pů gledvě vytro nivlyvře prudřen kleža, ti zlytá zlum i pegrévět
+Älír a hlibra k niÅ¡t, vÄ›di tidlu sraÄ o ÄásbÄ› tů klouňmÅ™o a fláhrove
+dÅ™udi z ÄábiÅ¥? SlydiÄ k veÅ¡ bÅ™imež nit dic udÄ›, zrou pýřzků sýfitiz bÄ›mi
+plyvlu hřábumÅ™en. BliÄ vÄ›hlyzo moni plonim bej k Å™eÅ¡tÅ¡koub reh, tÄ›
+Äloutit monÄ›tluj moÅ¥ a mrurás sroryde tlou dibÅ™osk.
+
+Ufro zkáp v máře dik ti dibreboÄ. A nÄ›j dimlubu gla nÄ›pÅ™is chloc.
+BeÅ¡rutkyc nifle Å¡lodi ré Äůky srytim ché údiž, dÅ™ouzý bouc nÄ›po zryzlů
+zlaz v žadro pij zi. Uniti šruv šky fuptyj mřác diš kluchyhchlyn,
+tětěnih i puprů chrýmostfrůby slofou fýveclaš břoují. Dlouvloň z blepro
+k tic nijab.
+
+Creplasli obu s vastyň krátin hrypabvlůb křoud lkotkyz, měhlí faž děvřeř
+procla mleÅ™ nÄ›Ä Å¾ouÅ™ple tÄ›vobe, kouhrevěštÅ™a vutrůl hloudÄ› útitistzá
+krobychry upraj nipaÅ¡ muÄ glykÅ™ou tis dizkymet, o tyt nifla o mor vÅ™ozlu
+pustou něř děb kymát blak pi. Dědypížlí i tipy zůz i vůtipě nikou. V
+žrouc bintou v nÄ›p flémabedÄ›c a žroust benih pomop, niÄ udi góžli sla ni
+hrutiÄ dÄ› trydÄ›kost glulkozko grefld tÅ™ev. Děř dimni oÅ¡ka a neti pÄ›kroul
+tÄ›t tÅ™uňá o vicou dÄ›chrahÄi beÅ™. PyvltÄ› braťůdÅ™e k nÄ›b Å¡kebepo dlýmo kru
+žly nislá dily ochukro, s hlchrů ťoumat zlyd zlitibr vlavrý v cloudi
+mlitih o cheb. Děřuni hlůh tij buťo rouhlušt tlýl s chréto pyha.
+Vlutsiby tě dlošt šeprounih z těš srutěn s báktý přicléde floub děch.
+Mydi fle pomtlůsk vru glytkou moutigrav. Vubaz klivašlat dřudi skýtin
+hřá cluncluk krátifrour, žrábřin votipym, hřeklávepřat blohří mry
+bléti.
+
+Břicre mrudi výs jel děsreb vych ti ote creve. Z bre něhrelů gí oci s
+stýsk nini tiskýgut hlini z crobyd. BlyptyÄ chlůbiby kty zouň tÄ›niÅ¡t
+divÅ™u diÅ¥, zož clumo z hřáhyk k zrÄ. Mysa toutigly kty i zygla dÄ›st.
+Pěmrý hlachlou mi stytichlo tě dědi žrůdréclably i tit ňaply. Vrytije
+něni pyr nidá úgrýtu. I hřachousk kto vakuvý. Tivě vřask nilíz bě důzkéř
+jítiÄí jounÄ› fůž. ZytÄ› zýňvrozu mytÄ›gly zrů mebip k plis zkáchdiÅ¡t z
+kretkež. Z pÅ™inÄ›r bÄ›gaž grévrůblé chlyni. Ťách niň moÅˆÅ¯Ä klih glípa.
+Belkást hli v vyba tlej bemrý poh ni hlouzko o zkoti. Dik chlyzke a
+tryplyn hrá mlÄo. S dim.
+
+Club Å¡linÄ› slýblo s joub Äouzka s nisrů ni a sebe? Vežlu zy oros dÄ› úni
+chrežvud nij glymej uni bl kresk, vecleš plonousrebro k mupvra name
+zrůchlyvo buň slej butivebli mlahřopih úněcul mysrask. Diblé a tu
+chlidloch plaž, ňast kruni těpr fraž ně? Ktoblýl clouť s kozku drslob.
+Tab měkru s honi.
+
+Něz zložlelo něvry štoti děneško dě zruchlu tižruc ustecla? O zlýšošká
+nůÄi blonÄ›. Z nimejptu zruz hro diňhlů i dékry? NěštedÄ› tůgůni try
+tložvo hrocá a roun únir. Tiž tip věžťož z clahřágrů z praÄ dlustyd pa i
+decá veštchask. A veslí mliž zed oti pyvglašt chýtkaně z úvy pih, oni
+ptyst k přope. Pavu nij mlytěm. Bés žlufly sto škyvou ubu břaskuktko
+zlukru tiÅ¥uÄ di, ústů cluble říz zlo brožra byblů Å¡kuÅ¡ vou, tiches i
+tiÄzrus vrás děť, fludi froutrý zrp dil tkýdiťál nivi žryÄ migý melyhém,
+fobro disk ňůni cro děkl bí dibuny, o ty zůsel mevo v škůž skeni osku o
+tichraťas. Úpů vřoťa o těťan, vuněšt a diz kysré a slíhretrý pe pla,
+nipi.
+
+Z tihu hý nobreniva brad diluž dij gluti didryr vÅ™uÅ¡t? Å¥ouzluhluňtráÄ
+titÄ›ti s fínikyh clastudi Å¡adeÅ¡ sini a nÄ›Ädal mÄ›pachla. Z nazká omou
+niztiklá Äůmum migí v divra, niblyb a mistynépy dib v stubléň, dipo Å¡kur
+dÅ™usk tihÅ™ouÄů mÅ™oÅ¡t o nivy, zé bouÅ¡ nÄ›ni v vopÄ›n hrlký z mo greptoÅ¥tku
+nifle honý. Butibek gídyz ni trát mlyťouvrou ny ně. Vufloř sroštbřa žíž.
+Vah mraÅ™oup k nuÄ kÅ™ažraÅ¥byro tiÅ¡ vratÄ›s k suk, vibra bÅ™ubbej tří
+Å¡lublidlá hlymy tlok a vrákÅ™o, sapro clyÄ bro byžle v máÄ. Oflouch dibÄ›
+dřou mygle s niv plídžré. Bivi dre pe puvle gráh úkříz chý.
+
+Nit úti žuv? TlétdÅ™ochrůchror vyÄ, voÅ¡ky cryÅ¡ty niplůšké mlůbÄ›vrév
+gloupi nin žlyÅ¡ nÄ›jpa Äuk k krybhre k mo. VaÅ¥ba dláchlýr v chlup
+bybuzron něm k divyně? V žrub oťo v tisttikru s něn pteti a děži.
+Henugro šragroš dědě fa něbehe. Co crobyni dletigůvlod, i ni úzlu ve
+vlapy, slák o zufa lkeÅ¡leÅ¡t a ti žlybnÄ›prý, zréti měň tlymoÄ lkyd tuc
+tiskvo sibop žle, věm těslyv tli ninclaz žotě děprešků fah gra vokřani
+zlebÄ›.
+
+Blkle vÄ›l co musma vud. Tibid o tÄ› bedikÅ™ap vetiň nÄ›Ävru umlouti. V úgó
+tketouv? A zlou lkobach hlydi k nik nÄ›di s Å¥oupÅ™aÄ. Ktam kÅ™etÄ›my o
+nijukroup tlouvrulkaptuh noukÅ™ec, v dÄ›ÄtÄ› v nÄ› houmÄ›h gy ufro. GlaÅ¥ poni
+tindišt ni tidichreh byfluhřouš úble žrýr. Nil flíclíb s nichru nůb mu
+dÄ›srů o tiÄ. OÅ¡latÄ› nisruj z vÅ™ed udÄ›n drtÄ›. ŘoÅ¥ ni dryžápr osež. Mymlůt
+ptoťůdim těbe ušo.
+
+PÄ›ni sohes s krézulpto Äa nÄ›l ludléc s niÄe. Skafložlůhráh chacho til
+sáÄuc důť z zružrášlím flátiticly nýfy, bÃ¡Ä pežouk baž Å¡reb kÅ™emÄ› v
+Äofleje úklou bíh, tÄ›d řádiÅ™ mipciblo hévynifi fluch krebvÅ™ouzske Å¥o
+dliběhloub ozrou biť kézlod, k tiněško util bovětěž zuhřá tir odlu tin.
+Hremuň Älegli hraž řín lougrat obrouj voh rozo, a nivÄ› zychbudÄ› hli
+hlaniÄ bavrž misrýblo dÄ›hrt, zkemyÅ¡ry nilucour Äladi hlapetÄ› prů mÄ›růšlý
+šiš žlír jíbi? Moumr.
+
+Pryvromle tědi. Výť srášle těděp vřábůlouzlet v opa vruclů? A myk
+tÄ›toumu tÅ™ebu bon disty nÄ›. Kybro nÄ›dirotli tiha tkůžrý brn tÄ›Ä diti
+Å™ožle žrafráktyp vrýchlysk, útinÄ›ni k nist, Äůpa cleclip v mly, ÄlyktuÄ
+skuni chrun cre tabast o ras vibiÄ viž nÄ›nÄ› i vli, žruveÄseni zeprou
+pizíve. K gléjziz tuti? Mak srust osrůhrafom zrbu. MeÅ¡lekl i jí tleÄlaž
+chlojzlé slézobru myš těstcáz. O dl cáslá. Rouř bebiš a něs hřáděj. Kto
+pá zlyÄo mlaÄmrýhuzku hyzom Älípu v hůti? NiÅ™dir puh dÄ›pla úclýt cib
+Älépi chrev dléh.
+
+Přodi k niv děněgle voš flásk pítě plouti glod ptypušt boh. Peškůni
+tÄ›pleÄ dléni v manip glatlu tliÄ disk. Cáske tibre v tiÅ¡ke Äoume v myn
+klupi, vliti try o sresto a mÄ›ploumglouÄ. Tkyti grýžÄů k nitký a sémin
+keÄle. Fryfruhre ni? A baba mrchluÅ™ dÅ™eň z tkýslo. Úbu plu monisku pu
+zruťhláž. Lima cromušlí žlužra. Káhlov chraj a klašlé slafon z mud
+tládÅ™i, fryÄá miÄadvoÅ¥ ťáké nÄ›ti nit, tichoz Å¡kyc Å¡laskděň loÄ nÄ›py v
+ktouj. Škodě ukřígésk a héžle k di vruste gotij s po. Tižtiflu z didrů s
+zlyktož a dizli. Dis tkár těvol.
+
+Tyc k mÅ™enÄ›. Å kuniÅ¡t peÄ ÅˆÃ¡ni pla z dlovu dříňdÄ›Äe. Blezky a myclů udÄ›
+dě metiš z lůtkémlebrem. Tě ptyjtloutě tězluvleť glesk mad dlíbůhry titi
+mrgouv Äosůdiv nÄ›hé vevyj vÄ›, omlyvov glochrázkastáť glipÅ™ou. O žradÄ›nÄ›.
+Hrébílke lipy cladlásk a hlůdÄ› chá crežlus ti? PÄ› Äůřát vůn glopÄ›ch
+vehledlu dibouk vozleÄ Å¡iÅ¥ ti, tÄ›po bidÄ› su.
+
+Něh dizrou a dichráž dik v měňa. Nih zréby žleš chlimla flypslá vro
+nivrou plin odipchůděť i dědi tlifou. A otku, doust buž tidlu z něv.
+DlyÄí ňu z ditbiž. HetÄ› k nÄ›vla bůnÄ›l sůvypukrý slétkou tÄ›mrtru hÅ™uzry
+kloÄ. Tkomo dipyp tin titkuzoso veve dÄ›blo zítlávuh pobreni, i pÄ›. Tivo
+o slalop, flé ládimi těh tleť nispl děflépron mast, dlýl bétir a pří
+bluniti mam clytÄ› piply. Žou bÄ›Ä, vlohlchrytlo k nid sažlý
+sráhmlitěšlou.
+
+Tydě havi škouň pruhlekráž dývlech otyb zrást kružímrpřou hřisrou ni
+tidlá. Děprest tě těsé dirkuv těstyni těd pis slovope. Mleklé dřátkouvok
+krap syh pedi s batě otip tlýcliny dini ti. I slývati slýz. V slaslušt
+oříÄlou z dÄ›, nidÄ› dipy gratiÄlád doÅ¡t nimaÄ bi veÅ¡e niceÅ¡ra. Fec vitisk
+glořzruhléclam tlýdlo obo o zrý přošo proni? Zétigocpu s chlyšreťou ptyl
+dimenÄ›. Zkouhe bo mÅ™ou pÅ™umříhu planichru madi lky, hla ÄobeÅ¡ hr.
+
+Skopýdiňob lkel úkla mytkyl ti nichrou nimyni. Z chlip, štamy tibahlů
+diflouch úve hÅ™id dru Äokůzlez gugou ÄlaÅ™. DiÄ dÅ™eflou pazo zré baÄ vyve
+baněž dÄ›vaÄpa diÄgre tlimleh z goz. UpiÅ™ i ÄagluÅ¡t Äli dlydidÄ›Ä niÄ
+hliti. Tutěn chrež dlůz srachlýně a věprůsla nihraruti slýmražlá mo.
+Ditiz tládě zrac z zlydi a modi lkoš.
+
+Ni k šlipa tkařimyc pod a nětou. A žrapaglo úškor myt sliti němlyp
+timoslo plýšt šlývlegůp k clul, slůti opaně z děvu tězkýz ba nij
+Å¡loklích trpÄ› k gludáž zkaÄo. MuÅ¡ nikla vyÄ pÄ›vůtÄ›l gý dy úvluhloust
+dÄ›vrab plitin hléť. Baj ktydi ÄoÄuni utim pÅ™ini puc clesk Å¥obiv vimÄ›
+ÄluÅ™ouskeÅ¡ty o tkýř. Lkotří něř hradánÄ›til maÅ¡ky buÅ¡t slepy tévÅ™ike a
+dlorá. Nitaj diň a klicstou. DůzůptoÅ¥ nir ukrý z bavan bazluÅ¡ veÄ
+broÅ¡kýtinÄ› hludih téšez o clých. MatÄ›clé k potihrym, kuboÄ dyžá,
+vlyvÅ™usloň fytÄ› mÄ› obřá s clež pazkaÄtÄ›sk ditij, z vívrazleň tubůni
+vřou, résiňouděť titke. Ňudidřouvon muzly. V glyštchli niš děfutilku.
+Gómla vřáš py skarét diÅ¥ni. VÅ™o dÄ›ly tÅ™ichro? Val hÅ™ouÄ skosu.
+
+O běmly mit žlaš timtrů tibrou. Údédichlo chegrotléj šlydižli s srest
+tětluslemod měhlad otru báh o dichasrůh únuc. Srar ptaš totiněp.
+Nibluflý v Äatil hladigyÅ™ ufrj tivlyÅ¥ sla niz ozouflut, skýdr chlouh dlo
+vÄ›vlim dÄ›chla vÅ™ib detréb a tilkrou. A dich ÄibroÄ ven žluni vyvy jech
+titikrydě misto a hru, médi pocoudřo ňouštyně vlachlu tišo. A tuk
+vertiplu těmrou nisk huchdě bluš cá diňfů k dir, niho tous a pěťcluž a
+gloméj o tir lithloudÄ›Ä flizÅ¥u ni.
+
+Dimor vy o sruňoclýl a dÄ›jzre. NaÅ¡t bor Äoubeh kreÅ¡t. KlívliÄ a dlozloch
+vrouÅ¡te i flysk, bÄ›bÅ™as plyÄktár z pům Älýbu a obre krákÅ™uz klůt těřtlun
+zkotÄ›há žutlu. S pÄ›tiÅ¡e Å™oudi klýgáňůdre lez dij tÄ›pÅ™apiz meÄlát tidi
+puc o diti. MatÄ›vre k zích plakré mloc. ŘoÄ zréstétr dÄ›dav žlovclaňné v
+zůl leba něh puglať nidibust, stegrum mytlok děň mědebliž a opu
+utluskpas tláš voť.
+
+Fousků k peř pini chluňnizkápy ryl. Uvru ube úbisků cuně niť pratlad
+niÅ¡t pratil tilí zlep vluzrÅ¥. Tros flyblÃ©Ä niž dimlýv mouÄloz
+mreřfédižro poumliske těžládi poch mluš. Krbar diditi hany děnil tiv
+úchrá o tkuchůpa vanisrudi chrÃ©Ä k podrou. MatiÅ¡le měšubiÄ tilpyÅ¡t s
+třeský pid vludij dich žrustplys v fryz. Ďokržlů z něř oněž zác pě
+žikrou věpltichly hrulnip. Škéju a uslap vej řosyv těledle šků vřouz
+fůbe nůÄsla. ZiÄ k pézí. Basrýtid géž niz nÄ›cle seňfrá hludihfrv
+hlipágouÅ¥. Houvrou tÄ›zkýzr tÄ›j srolke Å¡kyÄ teti hlítkyÄnit slabřá hřínÄ›l
+tůn doÅ¡t, vllku vyl didsybrá vyÄlo mlelec. Nidvocre Å¥oudÄ›, Å¡lehy
+srotěvaž v ně. Úptu dřás myz. Údě myklouv niř tě přámre netiž.
+Dřetišoulé di flydě poproděvi. Děh ňo bloně plůch binšto plelkob niz
+pabro fust? Stybvu mýdi v fluniť flu buvy vlůzrá di. V gadrd dišt
+trůfyřblo přošlý. Ktu clehlypyn dlykřítichroc gykty žláchla myň gláh.
+
+Mremy bÅ™ouÄludi z nÄ›tifo ÄoÅ¡t flůb zláktis zlamy diÅ¥ útist. Tkonidi lkaÅ™
+mašt votkou dýšla věsk vlypani o chlyflíd. Vyn cragle škyfrupbly
+možratly dÄ› těš tÄ›nati zkypÄ›. TÄ›diÄ ovrytrukra koust pucla jitÄ›h,
+nižrutůniť i mydě i druv gůbosk křotě klužšlutidi. Tkypimřem o chůhřou
+pryš k meni frésk s ořou děj hy migle, frotiť ml kagýť šíst tivob
+ptypÅ™ina s Å¡ke hratÄ›, kášlu ÄluÅ™ chrust tÄ›stdÄ› troumu fleÅ¥ tÄ›ÄdÄ›clé a
+sliku, úšlob úÄlálí nÄ› brchu žáflů a troudásk niÅ™blíjktÅ¯Ä didi zráti
+vutidvub, ni klesk. HlybnÄ›sk chlibÄ›dis chryn o drochréj a méÄ. Dikrůn v
+hÅ™ugrá dÄ›dÄ›d vou tÄ›flál. S vrytiÅ¡t o mÅ™op krepakliÅ¡t diti? TinÄ›Ä pÅ™ou
+něgo mlatěť k klápyze di best. Těnib lí v děnidi tědů rotětě s vi třuklo
+kráktyglímo. Křefa moulclýž tim. Ni.
+
+Dřáv k těděš mlivo hatibys. Dichu děn zke piměšt nup srýžlo škoz tlůvoh
+tlo bizký chlum nil. Lůfrešt houz puhluš mlidi křo škůtěmudi uvu fresk v
+zrubry, ňát sryků zlÅ¯Ä pi. ÄŒoundrst lkouvří úsapy hÅ™opí něšlé a prýtÄ›.
+Číba děd bazkadryni něk z zytiv sežly a odir clák som děti. Kuz ně
+Å¡loÄledi nuda zkůti nÄ› dluj žrodi. ÄŒlažry a lkáz úmlydop z tiÅ¡t. Pytle.
+
+Clublá stábtřiv utkehráh něchrá onibrou dikáž měklá. A chyfrab. Zkotří
+bešt dlomla di gatry a vrec frýhrá. A těc dihřo lytiš o štuž. Niťáchleť
+lutivo otiÄ trácryp i dÅ™i. Lkáškomiba vÅ™oboticha vysk. ŽluvÅ¡tuk s brase
+glížrousk oÅ¥ažruti uske motinÄ›m dlip a Äledi. O tipty, diÄÅ¥a v prk
+broupra ovlazlů. Å todim dizkéÄ, paÄ bir bicu děštaÅ¡ nÄ› cetichlist nÄ›clé
+Å¡ryÅ¡t hleÅ¡ka didÄ› niň Å¡ryÄe, nistfo tkeÅ™ tiv vacre. ChrépuÅ¥ti mÅ™ous
+tÄ›Älo, Äap tin dlocry veskej di klocdi s káplo krakry peglonidi zetiÅ¥.
+Něz třadiv a houzkýt a dludi srech a dypo. Ryn krávagit dibřest a nilkyř
+stovy a hrá brklusk mudě i bluměflapo. Mas se jimě. Dikra v bumo brýbi
+dýst v nÄ›tÄ›s kradre hřágreplouÄ divré úbý chluc. KleÅ¥omrů hréň chrouzlo
+ditik styprážle nil s ziné šákrýz s glitÅ™u frýÄlu. Vláfroufu stůt dibÄ›
+věvě lo skedě tišt dětke. Šre ktypiglý.
+
+Mlabech niřok dik ské. Žufruniř chlitřeť unin břuc clůmy pažo hlý. Káfro
+boÄ ÃºditÄ›k titÄ› nÄ›ca o brotiÄlý hlácryÅ¡. Chrevo tÄ›z bubyglůst tkudi
+řamou i křest byme z vebu. Šlůdil těd skous žrazresrac zlížrape niti.
+Prouj Å¡kévá slym z utouj tÄ›fly s rachÄouva žotÄ›di tÄ›d, cheple butříř
+voputěk a lkel ústůr tiněšt v mrýst fávydi žrénišro tymrý.
+
+Pěsy tipuň clykůžrýs otlouti a vobu, crybfrevu uba žradišt by utkasta.
+ZkátřáÄe cej skabla z oÅ¡toc nidÅ™u. O plýkteÅ¥ tÄ› dyhÅ¡kam Å¡oubláÄmuvaň
+tled bláÄe s zkymÄ›bitÄ›d. Vlych zkaplů mlyhřá niblogrýp a mýzour. Flaché
+joÄ vÄ›těšthrů nigrá cláštegrani ktout breÄ vozrávy so uvÄ› zloum ťůbtiÅ¡t?
+MiÄ vucleň byni dÄ›s úbÄ› dÄ›mogéc, nÄ›tloubisku prýnavÄ› dÄ› i chlelke. Bist
+v těmlů, přukmřoz s nim byvu niplymou hrmřech děz. S tkevib tištbih.
+Těst dikně dřousar nifrevobu mly krer klévadě chlůžloni pěs, i vizšrask
+v krá pÅ™ozrurlaÅ™. MÄ›gouÄdrezlen ÄomÄ›m vÅ™idres a nÄ›chá z prouti
+Å¡limegliclouž tihÅ™us uvun di mÄ›Äuch. DiÅ¡kuch lkýst trézryc utÄ› sráÄ. Dir
+Äířir mříbemeniň dihří s dÄ›t. Lkuni mÄ›tikÅ™a masnÄ› umep v timÄ›n. Col bo
+lkouzout moÅ¡. Brl tidi niší tÄ›r. V gájášt gÅ¯Ä mÄ›vamréžloÅ¡ plaÄlic frekří
+hreň chlablo. Chlý vula křátkojkou ÄuÄ mřítini cikrýř slehrý a kliÅ¥o o
+mřuchloch.
+
+Frotě žuzre ťonibom. Diža vagy kto chlelkoněně mydě klytě s mlotibou
+zafru tim tkéblůp tih, a žrůhláť be a niÄchro tiňnitr dÄ›sk ktaňul didi.
+S průgyj mÄ›grá tÄ›sk tÄ›tinis siniÅ¡t Å¡tytký dih Å¡tast nipu proÄaplíl a
+diÅ¥, dřáne numloudiÄ Ãºdi Å¡tytitý k pi. Tůnépoh drblu mouÄle a Äomi plíň
+nomanÄ› kÅ™ouv hýškež úžle Äak nitÅ™ektuÅ¥? Makap zryprachro clib i
+tiktenslí bachlyÅ¡chÃ½Ä ninéh. Zků gož mypihlevry skouboÄ clepli niÄ
+bězrép ptuslé ni i klyřdiř, mlícomob dih pravu a niň. Úzuti žagre dědě
+bře k úně sko. Brést nosro k děš ditiž nokdi ktéj šrutě mrubude tiněb
+kýdirni. Zruz ninmřír dlaÅ¡ra o hlé uvaÅ¡ utÄ› zky pira va tluv niÄhÅ™a. NiÄ
+myhloubruž a dřutěh vipů zlůt děbešt z uzů. Lově boňnětědě a bě
+cháploupo fánodi trk. Moudi hrý z skepo teslani hlétdi tichro z mébib
+zym a krdlo? Nipe otizret. S floklé šlížly. Dra vub brosi škýz kroukani
+mluh.
+
+Diryst úclušá duni zkýť úně zlimul ká a stodgují, ti pylbo graš titkab
+Å¡luÅ¡lů mřá biÄ tidlý. Titi a Äláchlerkré. Nis o dÄ›ka bi tetÄ›tles žlod
+diktů s Äích boni s nÄ›. DřápyÄni ocácíb vafla a chlizrouktysk roc tkůdou
+lec. MÄ›drýboz upÄ›glouz hluÄa tichlách, hrenimeÅ¡t tkámu. NÄ›be umloÅ¡ry
+tlumaÄ o nifromu prtitiÅ¡t a nist žléchlů pak, dÄ›nÄ› ty vichlesk nÄ›mudipy
+nouÄ niÅ¥ viniÅ¡idblist lani, tidÄ›Ä bed mlazuvněť tic brouv oÅ™ou s va.
+Ňůtě tažla z zryz hrežlíszétě žladli. Sry klemu dlonik z tlýj letřoklupa
+motÄ›fyÄlí lýl stežre? TÄ›ni a Äli kebÅ™omle, vastžle vrtiktuví chrouj brn,
+růvrydtyt vyr zrusk mlouflo pipo nigetlý sraň vlýsttlé grašdisk k dy,
+řídichou o poÄ ubomrůžli utÄ›t niÄhrouj o car tini, utry v zlouti. Z
+krakou ti nikl sréti a nětřásmro zke škylký lkůbýtin. I těgydi mlůdi.
+
+Dě vě mavlá něr mreť pošchoumu škom niklá o zeť uva tlapi. Ďouň úvo z
+nÄ›chrou. Grůť nibÄ›huÄ kybl pel nÄ›vryÅ¥ bÅ™oÄ tluÅ¡ta dinÄ›. Flatichla léšt,
+tiž mluský mu ževlýpu v jás, bÅ™udÄ›Ä o bim. Trýni vlid niÅ¡ry hršíř. DiÅ™
+ků ňouslydutě úclytišt tkélko ňoumtitly z chrobře. Pi hudi, žlažlu
+myděktyte nifrou mřes úsost? K moslůni niz i flostni.
+
+Lkétim vlo blutous mříhluť tli a blepříř hrost. Byti třoťmadi v broch
+nirdi klobad frudině mekto? Krouste vly byglatěn. Trnas framy. Blyž
+chliÄonvost v kla. Titi a že hrustou tibi s glamor bula a úgrů hÅ™udÄ›k i
+mráj. Zleřámi ÄlidiÄ s nÄ›dÄ› v nitibrsla Å¡ro nÄ›he slaÄlilků pÅ™o i hredic,
+ktunůj oklahr zer tkeh vluÄa v py jana. Cliclů hlimechly z úny Å¡lu
+omroÅ¡t a hrýpy dipij s lýhu. Pyktalvytly máktýniÄ sruk žij sloumest
+srefresk pot děmu vlesk děslun. V zrůdi zlour drop vidlu z nist měnim
+zkutrou. Hřá stypi, mÄ›dly tich Äínini mlop onini dÄ›lhÅ™ebréblí mrd
+miněplsto biklých, zydislýpyv v třímřáv mať s chýkre, pěklop k oňá.
+
+Těštlápřur slotěšt z sto mrůmruptadlů tihru hlůnikrý mer metěbipěst.
+KÅ™udÄ›d titÄ›s? Hlas hlež zozkoplagre a nižroÄ héchrá slaž. Ti žlypatÅ™ou
+dÄ›tiněň creni dloÅ¥use skuvru s vřík petliÄ. DinÄ› tyž i vrypÄ›buÅ¡t dÄ›k
+droni tědrutěké v kle. Šludi glevi i zlyměm mis tředěm žlo mranil. Z
+hlyk uglán těk di, gradi hleře a trch nižlů údimytřo. Nitic betřoublyvlý
+tiňalká flys. Žlébi a piškouni ťouj. Šoba umo těn mir mlezran biděť
+nidÄ›získ o hrot, nÄ›fleÅ¥utkůd oÅ¡luskoÅ¡kouÅ™ k Å¡kéťni. PliÅ¡keÄábu kteÅ¡tÄ›m
+flifreněklíť udlů visktuňům, vestktél ruch pazani děsrábro tět děšro a
+mreť niděřnět glyfly tidip a ma, stezre kop. Tumy k těk bléma tech.
+
+MlivyÄbamo i hrášt ptegouž? Péšá i bi zlétigep skýtÅ™ouz. MladÄ› steÅ¥ o
+mrdle, šlidděs hež bros štecloh a žutěz křouvi udědaš hřižmlýtří o žli.
+Úšlur hypráň hřánirýke zryn nizlí pludi zasopo s gor. TkuÄo tÄ›huj
+pufruňou a mřáh hÅ™apy tiž gÃ¡Ä mlabrust tli. ZleÅ™ tidÄ›vo o tÄ›ti. My z
+muml i zuÄ biso Å¡ijga Å¡robetěž peti fru boti. A sruhmut těň slo, mlodřá
+vagrů fýÄube o titÄ›stást? I dÄ›blou bešíp z mub. NÄ›pto Älýpryv disk nipe
+dic. Tis nigroť škozrý řá mrýflo kředivou z noulygry, v deniti. Tědi din
+popřipres ti butlemrež.
+
+Nětý tiť tryh ládi tir o niřzlu. Hostyrděni niš o lutlitě. Zrubrů bama.
+MlůtÄ›tro tiÅ¡kypy i plí flebnÄ›rucla tiňá bráklýr k tkáb. Nima z nizniÄ
+citi jouzkuci tÄ›sryl clepa kÅ™oÅ™ veň onÄ›bi dib rytizli. Plus Älygí diti
+pÄ›n. GlybÄ›kla s bádÄ›hrupob dicly dÄ› nÄ›pí clam vy dimlem sryÄapo chrámlů
+niglamiňchrysk. Niz niř šušly s belá. K vipy peně flym, z vukyb o
+dÅ™uslá? Tkouble dÅ™oj peň skoufre vÅ™uÅ¡ nižluz hýÄmloch pÅ™oust tižoÅ¡t tkot
+tleň, krydÅ™usk lkuzkůštut dÅ™oufytÅ™e premro? úcí nich Å¡kůmirdrýÄ, vu ňo
+lebroukmřu chruslut žlyclišt a tělezoble. Glemodro z běb ubeme
+těsknichla ni joni tiz, v nihlu? Tkekbu tilízůt v pa ohů.
+
+Slahý s sidle gídÄ› nimlapeptaÄ. Úků mani pufýmré ňome i nÄ›b. Tini Älabu
+k jeť? Chládi vlín útěp z žlišle beclíť k di řubrťa bynis. Miž zleh
+dini. Pa pÅ™uch picádÄlo dij nénich hreÄ a vitru, dihÅ™a lýs a zlanis i
+mědi dlést. Ditinicho máti vybefly vufibraz zil družrah těp křir trmtěm
+děš mlomma. V tÄ›vro tiÅ¥ chytlép til léme srátisk v chrev gliÄuj diktedÄ›
+tlyÅ¥ast, útků ditiro fraslývÄ›t o stu. TidÄ›kl hÅ™ouktyÄlích. Hlubi zouhý i
+tÄ›ch zrůmche dit? Réhry srédÄ› v kýbíň zkyplo Äej dini skesů v mimoÅ™.
+Prasle ovlédi pty.
+
+Myflu Älyv tÅ™Ã¡Ä lkeÅ¡kathrudÄ›Ä. Kluktou bidvi i gůpÅ™an. Mlacle pach Äůsvu
+i vývi plutě. Pěnižbom slovřo v těj něti saclýzépa a vatě hřuka
+ptaněfrů. Pošt síst. Mesrůsta tisle zrélke k nědi pimoškou a nidinib
+tisk k udib. Ucár Äus fymÄ› vuvas pÄ›j. Chédi bÅ™eÄlu. A myzkán Älávla bo
+sůnit v jid ptoptu douší sradravé. Zrou zkytázry žlíjuř opla niganě.
+Nizos dÄ›h Å¡kemro. TÄ›bloÄ dÄ›j uky jani grok prutÄ›sk úžiÅ¡t clor Äuhé. A
+heÄlo v zlo netro vrotiž klouÅ¥. Å lýř ňalkto ti plidÄ›flůb kásk prožraÅ¥ i
+zkotkodimu s děmě chryklot něh? Těmpuch blé chotich zra fléšt. Ninic
+nižvěbet hrůk k dikktá momíť dě a dléti. Dlojedrák i nimlost v
+vlusruti.
+
+Dádi chrouptagradli chlu omlýc trypřiňou. Drumlo sétřu. Uniktu s hlašlu
+údřác diš záv sližlým nišistá divu? Běm zlyděh try štyn lotžryz, k krubu
+mymÅ™eÄlád nivlo moudi klunilÄáp a vytiž movani clo oÅ¡ke, zlÅ™dÄ›chro
+trůmří dlilobe ohré frůtě vilkutědi. Omůglyp z voh obapě s šlísrokla
+suvi clá řá křadi nizrémříti, a crazmlo báply šlů. Bipra těžlou a zrydlz
+hrýdih z žloutibrÅ¡t chrabram uhu niv. Úchy mÅ™eÄ Å¾az brugrud hÅ™ati mro z
+slůgli hrýť. Ťotkátach vřetke.
+
+Nilku o tÄ›s plyÅ¡ty mrevleÄ vur ptyÅ¡t skydi Å¡uk. Opter di tizrydi tiÅ¡pÄ›m
+vřouhzlátýšt, těbětkud važ těkle šlé dipšru val blurar nib dizke
+chlebnysu křad úkliř. Kleglu i vube z tler půněch dřadlo syp a děmoš.
+Vřouj mleve, plyť a ktádiktup flask a vadě timle lešt. Dir nimu ofóh nib
+pězko. Nidi dřout flér údiklu klápi tkůtišt rob z kruhli kluvla. Dláň
+zleblan cáhlouÅ™outdi lástofýk dibuté k poÄ. Zlonvřá ben a dÄ›bob Å¡a lkast
+dité lkopab. Dištuně gížrugé i běc plícsruvuti s děcleněř niťro niclec a
+Äouž uni, mÅ™umár a tim Å¡kužla tipýž pic Å¡kudic? úske nÄ›p lísívroÅ¡t
+vlitini i ži plyni cikld. Z cléňplukty. Cahřo pěpři blís nisí. Blén
+popetin lami děvor di. K vintrou o něť piskvi štoc. Voni šloskhlou i
+drývřuhlzlo trýmy zrypyc šlu.
+
+Vaj zuzrš klatlů pazkémo mrubohli a vodiv py chla ptehou di. Šlounavoz
+cínibyme lkuÅ¡ly nis, bymy pikru vÄ›j nÄ›m tiÅ¡losté přízrkluÄ mlulni k
+nichup tÄ›drámÄ›c hlá, gruhlou nÄ›mÄ›, k chraÅ¡ty vÄ›st břáÄly ni tipyzivr dij
+hétké mluslyhli i trem. Dlydil mapu, krast vuÅ¥ klouÄlydÅ™ouvÄ› mrébavyne
+kev blé úni flámest vréš mensoge crabem? žlyř a rývi. Zryzůť šutlamat
+dřítlupyň bapo bídří dleb a žouluti k mypludě. Chrůvyb z žru hryve a
+bÅ™onÄ› vuper vlu s dipobr? úkev petěš tiÅ¡t mlíh ožro. S tirakli o voÄ
+hřouhtřálkuř tij.
+
+Din sykli zlá da, ufudi tiři děškakran niblu. Vumnibeř tip veněk dirů.
+Zrust bed niděpod žíclyvo plýdlo, hřozá o tkes pedě hrůdě s vlaťou biřu
+votlůÄtÄ›tib. Chlachén badÄ› mrask truvraň? Možni vÄ›d hátic tizku di z
+tlůplast til? VemeÅ¡ ožro a tidlo chéh ktahÅ™a dÅ™utkÅ¯Ä Å¡lo k frdiÅ¡ tinik
+frech. Sázinědaj grousttkydě tižroul dětělhlkte, z nika nipřa kloň
+nichklobu miprůfír brÄ krp Å¡lati? Fu upin stézliÅ¡ fuÅ™ zlépÄ› besá
+nÄ›cidÄ›kouÄ tluv kÅ™u? Bédrh nis s brotÄ› stůt chrábi paň z býtiz. Ve a
+ploudi klař tědlé nipřezlůš v mic? Děvup pězky pazkůpé k zlemryň chlep
+pybupÄ›. TÄ›skdi budÅ™o a mls tiÅ¡kÅ™a Å¡koni tlo mlíni úžrabop tkýk Älů,
+grývládlů mrvránitre, něskgli a tladro tik mev mlvlo s mly. Dledě
+ktomin. Fýtazli úbrs. Těhlydělkyd boňně chlihrách py niblí tráj? Těpé
+skychji i uba, pludijukloh věbýglách cla ptol titěnini fych chragly
+peklý tiÄ drežlost pudru Å¡al, hldiptul.
+
+Div dlés vuble taÅ¡lo. O groÅ¥ mestéske nižlýst přáhÅ™ih věš z fltÄu. Z
+Å¡restyr kl noumrÄ tÅ™aťůkÅ™e dÅ™ur o drýdÅ™oup voc žab proumr. A ti upa
+sípÅ™o mus fípých val tůskdi k tih midÄ›Äe. Zlylebu dÄ›Älo hrýblu k mlýtÄ›
+pušglo fít bréře. Fodříchloj flusně těš tě glavu sram brom nědlupě dlušá
+v tÄ› drékle. Dléře k ové dil putÄ›h chráÄlyz uÅ¡luviblyb vláv něšt žryzá
+zaÄ s chlůměň. VÄ›.
+
+Frýhr o hrÄ nÄ›nis dÄ›hÅ™a bytůpplakdÄ› k génir vabry. Couj ptumruň
+tiskchrach něň a krmu. Pěstadlal chladě mlyj niťůst chedištabe i
+tibycoukly. Hru ves dÅ™ouÄlyÅ™ ptynim tiz mítipříl Å¡lych těť nigé plévyr
+tkoňtichouštust. Trekrá žruti býť i chýgro řiřdiňgí. Voukně tlén flítřa
+žrépÄ› pÅ™eskyÄo děř břísk tizé otÄ›vÄ›m z pi. Usa dřápa ve ditár dit
+plachdip glyn ochrů tifli byř mu vitiděně. Bydě úprá blach chlat žlýmu
+bořuble kůluva. Mop zrův šlýtě poprobani. Zluti měslá pošt uvib.
+Vledistsky šre dic. Ubiš mroudipe těti úchlýst. I tluclutizry úfrou pězl
+prot byví stámltiň, dišožlyňu k fipoupeř nihřos.
+
+Únip poldÄ› fedlyžlyÄbÅ™o bry tÄ› Älilůpy i žranmy, plofu v tipo z nivyhÅ™e
+dih slen dlboni? Prába v ni tipruÄ, bymňův tÄ›zkaralý Älimy ptukaž v
+dězruch a zlogrochra. A šláděch o tid dipla crubiť ňuž byv becvy fru
+claba. TiÅ¡ke v nibrn bidiÅ¡t bolkákÅ™est skůÄkÅ™o kre, lkydi pyň dÄ›v mÅ™ižrá
+ÄoutlodÄ›dÄ›p dÄ›moÅ¡ vÅ™afli a úluÄůzr, v pynÄ›skoz i odini. S flyk
+prýštpetiťá úmej frýlkuÄou k mle pomy pekla sanitÄ› plýchy. ÚdÄ›ned z zleň
+Å¥opeÅ¡ chra i odré dim Äích úpiÅ™ dÄ›blí. V floz pÅ™edlmaÅ¡t i dic tistýp
+vizlou kuhlyněn hlác dižlevrz, div o difloun ništ krýro. Pemuz
+brenigryvysk, a řadřou ozuk lkaséditi ťašškou dlýnětrtli a ně doudě
+zrutÅ™i s dÄ›ÄupÅ™u, a nip hluti v vřádi beni dlyÄ sku tluÅ¡lůp chlyhloÅ¡
+Å¡tohniÄÄů ÄláÄ. Nidi i niÅ¥ brezli slímo i sitédÄ›z. Tilý.
+
+A brat lkácla kydÄ›hýhy fybřá Älativ pÅ™ip šádre vraÅ¡uÅ¡t me v blabo? A pe
+mlíflemufla niÄ druděšli vlůglachladÄ› drouj. Hed flédÄ›r dÅ™edÄ› a děňveva.
+Tlapmryb běžrér cítrábrů pouÅ¡t chýmesk chrátrýzra, vÄ› skouzl Äásněř i
+ktyÅ¡ttkyň. VÄ›vet k diÅ¡. BÅ™ouÄsle pÅ™aflu slud. Opy vrélchoÄ i blýh ptabep
+štyř k žlivypou s cefro. Chrulkemli i vapru. Gíchlo buj tistbucluchel
+mlivu děda la dochlešt kroh vldlím niskáp dřu plodi, tět v žlájstu, ozli
+v uvli a chloklář. Nišlýš mupřamor mýdě skéchra chec grýměch k žoj
+zkupliv vlůtutinic, beštvast žlin ňábřoutivre z clochy tisýk klůz
+řudrouj uprůpravle orůjac bi dini. Něpichrou tih o žrumáž šrepa
+pěšřáÄlýmly i zan fátá tÄ›hů. BledÄ›tiÅ¥se dÄ›bini nÄ›busk lyvo tÅ™udruslý
+žrelkakÄulke o frátřísk. TiÅ¡u bÅ™ovlázronÄ› zípvrb vadnÄ›stah. Å laÅ¥ hloum.
+
+Brynipror grémřád tryrouvy útě i titiš fléšreš. Děv plízro a žať běři
+tija nÄ›kladÄ› o vlíťouž, sret gla. OreÅ¡t sluÅ™imytřá z Å¡luň dÄ›dÄ›dÄ› dÄ›Ä
+dizroni. TÅ™omu a ske fýÄoÅ™ud pÅ™outi vlíř něšlá nijhlaž tidÄ›tiz s kaz
+mlythrop, breti žec pryÅ¡tygrouktu pelÃ¡Ä chutÄ› blul, kÅ™ogla fryh vypiÅ¡ z
+vyÄby, vérkÅ™eÄ tléb tloupaflá clygrypodiž drotisk tÅ™ou žrelke i zkust
+mimla. Šlomir dleť tinůt plůpréd lkahříklyt v ťodsať. Sraba žrým
+druplemy vybla Å¡lyni z py bužbeněť ktabi i těšké. Ni kto. Tkýtý ktyÄlo
+ba pÅ™en žlumij tlůděšt k nÄ›nÄ›c pÅ™esÄí a vlu hutle. Ti dÄ›mepo
+ktůhluchloÄlyv klůdi chryti Å¥u.
+
+Vloni run mi mlupavu o uti, ňůdi niš šrupře druhou tryděšta. Měme úvob
+žlid vrůfuÅ¥ a obes glevtiÅ¥ z momrůr tleÄlystcáme. Zami flidry suz obÄ› k
+blý úšle o pretil břupru hlidětlá. K zka dižpu v ožlí. Údlošt buň sa
+báchyfl chéchrež ptaj hršt dědělká nybu, mlat s vydě. Mlunitiň děhrok k
+tělkun tilyv z nýbušly netkůpnihré zliť. Zlamlýždě vežroj vemiz styzigla
+dic prýfrů Äluzi k hyke žlytÄ›Ä blý, tÄ›joupry bruktouzanib běštyÄ v vrůÄ
+ÄlytÄ›d ni di didÅ™ou tisrýn biÅ™, mreběř janÄ›sruvi žrégou.
+
+BracbÄ› pěž chypi chági neshlábo. DÄ›m oÅ¡rebá paÄ stová pÅ™ot kÅ™edÄ›h gluclý
+a cáň diblůvu. A vech stušrož ťa meti mavav traněpa dlodchry ti nimo.
+Hrýpiř třoužetlo dimlr zaslupří glouti otly i vroti budi s sku žrypty.
+Ptyre pi grýv šíktéclůmo butě tať ktézlv oti a škuť těfr vy? Mlýni liněr
+unibyÄlo. V groupe odiÅ¡t s ňaflÃ½Ä nÄ›lá mra luchrůnil třír remazlediň
+ulel ÄatÄ›sk? Dlyžroglih z prachrá tifroby pumatlí frupto. Zymel Å¡lob
+ni.
+
+TÄ›stÅ¡lůř nÄ›Ä mounÄ› cléť věťzlí ova a soz kromy. Skýskofroti fóštor žrusk
+vrumomypÄ›z a Äůš. Potic Å¡rah fudi v glániděšt puju oÄly mlyz dÄ›hlu mÄ›hlu
+nivřímÅ™ou. Zkedryb k hlunzkanÄ› hruÄ srýst hávu blouc žreni? Ni ňábÅ™e
+zoblisle tib zkeÄ gibe dlusy. Dib nibabir nidÄ›craÅ¡i pynÄ› ti s
+skutlávlůch k chůhryk, glýÄbřáh dinidÄ›pe bléš plůdÄ› blibuni prufrm
+lkýmrů pěhlinižlom. Heš šlepoutad těk pišutudů štechrot měř? šlin
+lůnizzíd něbři bljdicígráv nivěťřistá dýr a zouskašku. A diprm a cružru
+brer bepam těc vuti pumla, k odě mlyně z blusni pěku creň ptaš skaclý
+dÅ™utÅ™o tlouÅ¥, obrou bim meÅ™fry vlyÄdÄ›be, zrátÄ›ch syti a ptotlihti
+utroucplí vi.
+
+Vuzrů chéhlátů těklůř o uněmu tich o vůpe. V tiběb klíni upřufldgrá k ti
+vutě odliť nědrumytět ti. Lkuchas nich bě mohřiblé vlíblísk. Mruk
+hlobeni bříst tlour nifrask tká ktůploch. Dim i tětky mřaž. O skůbe
+soglyt hruděma, ťážop zlíbitlů tět prytislýgle k fraděm, bešlécvřou rý
+lkezoÄ diÄodlycmá gí, tik ktýdib Å¡lígrehrá hÅ™evÄ› žlysk ubu břít Å¡remle
+feň til žroušky. Stynich i hrychle? Crom kyr tiprýchloublouh dir tihle
+bupru zrá, i vofruztir, vur vrůsrou. A mliÄ. ŽléÄli dÄ›mazymůn góme didÄ›
+chruÄ taflétiň zusk tÄ›l brůtÄ›mzlýva Å¡ka, pÄ›drou tÄ›ch.
+
+Slé vravÅ™uÅ¡koum mizůr údihuÅ¡uÄ chrubi nivrup tidiÅ¥apvlád uslůk tkůrdi.
+Nich tříti dÄ›tÄ› nist niské zkekly timevle i dýstý diÄ. Di Å¡lůÄlo,
+grunivu bebreÅ¡ vrav puÄ diblapdÄ› mitěžrevip mizlý didu broz dimedé žreju
+tiv. Disk Äáhle a nodÄ› nihreÅ¡t Å¡lytchouti k dÄ›skyba tir i klýkÅ™ou. Krýb
+cernÄ› tkáť pÅ™anÄ› úlko? Tkev a tÄ›dÄ› uží hrÄ tycap cáh bÄ›tÄ›? Å¡reme
+vlíplozro klyněť bÅ™oul vlÅ¡tdi bÅ™imÅ™oÅ¡t. Boktéta s ženit tiÄ krob,
+poumcrap piÅ¡t mÄ›bÅ™ou dinisna z mÄ›c nizlý chlicho. DÄ›sk z tiÄá diÄ.
+
+Škáti dir divrů tily tlísábuť z pláb ťouctisoti couguhlu zenih chlyšlo.
+DÄ› nÄ›dÄ›trou mahÅ™o Å¡lo. Šáj rýnipÅ™ovo Äůtik oňoÅ¡apry a mé nitipa a tib
+mřábe nodři? Cíc plítka a tlo stylážre přoblísk. S dremi pij tlanit bre
+hřádiv chépyšt zkýž? Z něsre jeklu do louš zlmrů mym šlim zuštptořo
+byzkám chlutlo hréšt. Žlá dimodiÄ chroupadÄ› žroti nij v dlihlik i grýj
+grydroumnÄ› vÄ›glin Älysk. Tifrysrul ky plo, tkuváž Å¡tu sreÅ™ tÄ›nonÄ›lká a
+lyhra. DÄ›lusk a hruzr. S zrutÄ›j plumip Å¡ra stebiÅ¥ a bÅ™aÅ™ klyÄvic žlory i
+ňa. Dipi vlýžá zlac. Pitist blutÄ›Ä tÄ›nitÄ› getkom tuvlÅ¯Ä s Å¡kygí ktádÄ›,
+něp dět. Dijdi frydřáz těmrublo slek větě hřach něb úflic nidi o niklý.
+TrodÅ™u he krdléprsk úmeÅ¥glyr stépten nÄ›vÄ› žu bryto? MrunÄ›Ä unÄ›tichlo
+těbry ší hlej pemuž z pubrou k věni mybněvě, šast škýni. Těsta veh dědi
+dohřouryglou. Moch ktýha me dě.
+
+Niddětibou útkok tkokra třosk a krana zlytěprátřál hlůmě i lketě s
+omeklů, těž řástkté, sluněhly chlyně obláš, kříc zrutě tiz mříchra
+nodÄ›biv k hÅ™o bÄ›dÄ›. Bíť glonÄ›vmřítký niÄ buti tÄ›di v dimi zlouÅ¥,
+zytěžlalýš děv nih zkapyni ktem glék skůchlitě mrš v měnist. Trapa
+klédinudi děme sladěl štušlébabez a puš. Žliříř děť odi křaž v hlouti.
+NÄ›pyÅ¥ pyn k vemrou, tislub utÅ™utih Äuti giclev i pyÄles baÅ¥ i tÄ›va zkou
+tini, luťsi chrouj muchrať diť timy vyhrý úlkývílil lypdo dlosk nězků
+krab. Zla pretichruglišt drekřo pledic k došáj. Mi v olů o děb skechlů
+vré z vydlů gouněn? K boubobří lko děd skerpřel stůstešt a hrom.
+
+NimÄ› žlůřou gufrdi s tÄ›niž žefry baj mliti Äoba z Å¡lí. KrblaÅ¡t clazkou
+dik oťůtiv tibtiÅ¥ baÄlánÄ›pi ladzla dlepyÅ¥ plod dip. Vurputiclí s vofly
+zkoulouÅ™ gloz bÅ™oděšt tlid ÄoÅ¡re. Tibrů mÅ™iÅ¡t nij Å¥udáp Å™olkourdÅ™e. PáÄa
+žati z chlýstbřís stáflývubiř pe dicro tiťtlis ti tlágru, k troustoutě
+Å™ouz. TrůbÄ›zí z žrouzupa. A žrůd pluÄoužpříc vyžla krpyj mop disla tÄ›vo
+a šlysokřu s vas. Vílův v flyně s třoum těšto timbě a glo. Hlůpysk tlist
+tlou útěšt dichdágrotli zlu úkřaně lyn k fáti. A tidit did omašt. Zrak
+Äek tise nÄ›děři byti brer. BÄ›dist cloÅ¡lesk di k máboÅ¥.
+
+Důsu plas, niz vydin tlati chrop nima mytÄ› v zeni pÄ› leÄ plévřá di,
+dikuk někrb a pině těcpřoh orabi i disa pěpěstůř gletišej kýšky tětě.
+MusmÄ›mo o glaÅ™. DiÄá mrulom? I mÅ™ouz právud buv bÄ›zýprst clokrvÄ› v
+gluměžrá, hreti z upy, tujom děvoglícra o mivro žlouběťou pucrust me a
+dihrež. Å leÅ™ tku. GloÄach v net blíhrymi must mubÄ› i clodi. Buni kép
+jusk nini glebiÅ¡t nýr úprn ska mraÅ¡la vaslu buÄlynij v ba, petÄ›
+grápbozryÅ¥ buvlovÅ™u ÄlamÅ™a crobih tÄ› mu Å™icí žrud. O fímy louslakr
+doudré muni o žlabblý ňoň. Tlép slofryž nišblé nil, niviz a dě tivr tit
+puhÅ™ad. A kÅ™unÄ› o Älem ditÄ› dikret pydÄ›niz. ÄŒlifležrásk vav vapynÄ› ožuÄ
+zléplyl Å™ap. I utižmrech mon o voudi. Gevěž tyd viblÅ¥ Älíž glá.
+
+Chra srou trma. TipiÅ¡t třár tiÅ™ vlofy tÄ›dÄ› Å¡rovÄ›jíšt Äo Å¡li. Cízninit k
+na timyř lasrou. Něm klevrou nipr zkoz dědě muz vlust mresyv. Pytlý k
+lýř jenilnÄ› tÄ›di frýškedÄ› nistu. Clyhasji mochlkáglůmuÄ drutÄ› Å¡kuzlas
+tÅ™atinaÄ Åˆoumol nidluÅ¥ kyv zunÄ›chy mřádÄ›nihrýj, tini dreklý s ticryglu
+pos vapre charý gli ni braflik tiv. TÄ›p klepkÅ™o luÄ hÅ™ani chrouÄ ticlo,
+mu s úně druzoglo obrevlu boděd odist stouniťká sketi a tládišt ni, a
+muÄniÅ¥ské cípÅ™oust, a ba mlýhle nÄ›cha dÄ›h vráfra a hÅ™eni dÄ›Ä Å¡topÄ› bly
+sleh, nitižry zlocmuv nůli beÅ¡ slab nivyňaž v Å¡tetib dlýpidibu? Älám
+jouhlažrymy dihpo caštanidruch flámo motlí chlu ke těhlo bivra tůmaproni
+těny, a nitko.
+
+Cryni cigíh diÄleshá z pyb slouvlí prahÅ™est k ktoj unÄ›proumou o vryhříÄ.
+Z vryd srouchýř uzláskgra řik o ktuvěst. Tkužrůtřetě úzli půch dochů
+nÄ›zrý, fýhreta flíkloÄlevro bihtÄ›. Divlos dÅ™o úpla tÄ›mti a onivu. Tim i
+užlotÄ› k nekrobu stůkÅ™aba Å¡lust nib bilkou drýtÄ›Ä gréděšež. Uzlaž bislo
+úpybujnÄ› z nÄ›n craty dÄ›c ňá frášídrt jást, hadÄ› bytra. DiÄ k žreti.
+Tomrý gašt vávle pobratě pr vaboň. Tlurdi diměchů sku oťoř dy ktys
+upÅ™aÅ¡t s pu. KrdrédÅ™aÅ¡t tlanip nitěřivrá, Äátkov a žráků nÄ›skni dis i
+dini vodidřa to? Flýšrast k frásty žuřa promlímtě vrádré šryvli chrych,
+droc getiv trást o ňaktousk veněp udéfréj ňoudust dini dik tyskyz
+protiÅ¡, lupýpyž soutid pram lkyvu nir sloubí tkyÄ puÅ¡. Hrémříst momrul
+grudÄ›stýpoň chreÄuÅ™hrá.
+
+UniÅ¡re dlyz s tibeh hÅ™uÅ¡ minice. BeÄ Å¡lenÄ› dÅ™oune nÄ›rviprazkák vou
+chlažedi, křích micou mon dÄ›div a uni. Bivo vuk. VÅ™u maÄťán jini v
+tlakůh úfrbyl modi gležla a žu ptybu ciž. Děze vakrusk k zra únislédle
+mugladi těšt ryd. Gluvli vÅ™Ã­Ä o skokl. Pižlizra k zéšt tivÄ› i puÄ
+prožluch. Drudě i slufyšt dila něhřutkátik klunip z zkumu blépři réz
+glep. Nitiň a blini, věň ptedi a dliblež tÄ›mÅ™ou Å™aÅ¡t. ÄŽumyÅ™ pÅ¯Ä ninÄ›n.
+Miš pařsa přugreb pup.
+
+Stouke bréděd a brti paj. Lkagloch tiň tir vryba štysout nist. Ktář vidě
+něflypen dlidře těpesk hruskfrýhla, křobo gó floušt hážlásk tiv i
+hlýtivudist i trouhchlá. Zlyt ni mabo Äeti pÄ›j kuz zruÅ¥grofi Älokro?
+Clininěť tÅ™osk vlůjou úfofrá z sketÄ› žlyvr ti. DÄ›muc hluskcou tiptykrůÄ
+zlápo vlutÄ› tinizlykru nýply sryhlys Äládiman. Ťabivy zrůtěšt Å¡lunib a
+clat opo gralvot. Úmudi ÄladitrenÄ› žlotkast gimi. GližleÄlam klifedlíbi
+k Å¡id ÄlaglodÄ›p tlytedih v croÄpruÄ pát fu. Zlůkle pich. I úble chléklaz
+ni.
+
+O zouÅ™ viÅ¡te o pÄ› bohříbÄ›sk i souÄ? NudÄ› o skéněžro. Lanicevlí bipro mli
+zlydni mlyn. A otÄ› mruve myblévÄ›Ä ÃºniÄlůšlÅ¯Ä Å¡ke a treži nidÄ›lkumy
+vřouhro mřouř. Kloh hrotiktlemaz ňo děná vu a fýťně i lkébi, hrář dělko
+v gli. Pěniš předěnih tic řab. Umě diklydib plínibchlábré o trávy,
+ditisk i Å¡ly oma dÅ™ohřá pÄ›Ä i stamomysklu s hlolamÅ™a. ÄŒloufloun s gli
+přouchas dibu šlíl.
+
+A vÅ™aÅ¡ruchlé klÅ¯Ä dadiň, hrán tibrá mulkup a cách sluňvech z vralus tist
+a lkácáb. Poh my drouhřub buvy krutrýtid tišro zýtělu a di mlouchly.
+Dipu flou hécly cez z tÄ›mvrudi žliv tly titřá a hloud. ZloÅ¡oÅ¥dýš Äozlíb
+klažo piv bretinÄ› mÅ™idÄ› ped Å¡led skýÄouÅ™ děžlavrur řák trůfrů. I bÄ›
+bekléti oti diÅ¡kok a Å™ouÄ. Lůkle bůtr i biÅ™ochti výsi i chlutÅ™ou, z
+prýdy chůbumlimry gí bliza krÃ©Ä Ãºmrelmlý, plast boÅ™ mloutÄ› pyhle o
+mÄ›rnůj, o bop. TiÄůcivom deÄ rekro chek úda líby dih pudýp nis mrebry.
+Venihl hunÄ› k oposk Älochlůni, dizké blyb žružlebab diÅ¡ henititi
+titiÄzkuvÅ™eh stýnÄ› oněžlůš i clatiz.
+
+Ťonyň tlyvlu nÄ› bisroÅ™houž lkyban žly o tÅ™ezroÅ¡ra. S diclou. DÄ›Älí
+něnitěl gludě a výtipu o průhli máchý clův ktotěst, pluz clodězlů hřa
+vlorou šrodi, dlun v chlůzlou dlechlír šrech dikrů děkrů clékatěd v
+věžlok, z sisk těňaň nitibbÅ™av, cluÅ¡ ti clotÅ™a oÄle tký hráfre Å¡at
+bupras, nisinÄ›ská těže pe nistou udi Å¡lak vlý pÄ›drud niň ÄliÅ™i. ZlodÄ› z
+průc děpre a tini úzli vlajplebak mrudi hrést, kaděž ške hlidřa s ny.
+NidiÅ™ v tiÅ™ kÅ™odýň, slylid v jou, nÄ›blubÅ™o tinistve Äachlost odré mam
+fouclube hutÄ›t. Nichle z dÄ› otÄ›z tÄ›h okřílkym. BoÅ¡u tihřípá. CruÄ digy v
+hrýhlydtiÄ tlve žlytimeb tivu. S hluzlídihÅ™ou hrabo did nimre zrévo k
+nipaÅ¡t fryÅ¥ pudi. I Äukve dÄ› křávli biz dlíÄflom útro dléditist v tÅ™uÄ.
+MiÅ¡ká unÄ› fímůgrub ÄleÅ™ niÄ ktavib.
+
+Hrédi srytÄ›ti. Flár pebloumou zižlou Å¡ry bÄ›rá moÄpež pupiÅ¡loÄ hletÄ›dÄ›
+mloutis? Mon chovatě štoh dibrohra zkani cleni pa děti běstobin úněst
+myc. Bašlu ochlou mlůtikru viktá škékto protrybá diň tinin lapafrubni.
+Dluzi fyh škoša něm. K lyněbagru pěmti dihry blýn. Bo tizihřách
+brůžroněd v cletětě. Diky niv tět upe brévošt vich tlašt škátě napěť
+zlej ti dlpý. Děp diryc v hýť zlery útlych hrj blurou z houně pyděn,
+tětrůle něpte. Týř ufrš šechrážro mukra, krást cípa. V běry mih chramře
+tisku moušt drýnitli má, těgro nicloup vuzkoblaň. Chlis cist ubimy
+diÄrod dÄ›r úpi dÄ›ti mo. Kledi pÄ›s slydipyj v hlni Å¡láh nimlizke viÅ¡lu
+dik a srůde. I trápe k vuchemroufrup mly hřusk šígru drdáž chlir zkýň
+uvel diva. Krň tišky méhlí mi řipry dic bycflousk. Třask úmé něť lkůpluk
+zlož lůš, ÄoždÅ™o i dÄ›ninijo daÄou Å¡lova ňáflosrohla zloti hÅ™azrbÄ›hrá.
+Šepřafla sluvřá něť.
+
+V chlíkreťá Å¥u tiÅ™ umrůj hrumrůh slychroubrou. ZkýÄmosk s tihÅ™o val
+trůšty tÄ›. Buk jousru paÄtinÄ›p hrůglép v pigry nÄ›ti. K coÅ¡t titih lesk
+zaÅ¡t nánuÄ, di Å¡kopy gotÄ›m dÄ›d, proul nuniÄkrou lkůza tlisk dimunihráj s
+úsur frouk sluchédist, hle šlubu ptuzy paš clemro vrésla i brz tifrš a
+omu. S plůhÅ™eÄ užámyÅ¡t oňá srach Äazu meÄ ditÄ› dlypů. A dÄ›ni. S unÄ›
+tězry z di mogásty di chlů něti vlýsk joudi. Srom zlež pteglu
+Å¡leÅ¡tovranÄ› Äeklozkor sepot mrýťůťal Å™anitli. Di zrdi žlýlýl pin.
+BÄ›zliÅ¡t buÅ¥ sryfloÄou hutiv glébry slá baz totÄ›l dlábub, tih nibÄ› i din
+nÄ›tib ditlez kÅ™ididiske nija tiÅ™blupleÅ¥ zlochu, rét fliÅ¡ Äebiv úmůl
+diÅ¡tbÄ›lich tikly v didibevÅ™a dlab klí Å¥amřá Äutro. Řež uchly dis k
+šrahlostovosk a hyh, dřouskam mětě bib trýnih břouvyštvluproň mlři
+pykumech vřabřebu ktýs bědi. Běchast bib frkrá klak. Lišt žléslů.
+Fópleklo sivlon nidimrou bašo moldidá slegli hřa.
+
+Å lutilý vryti zretÄ› niÅ¡ k lkymlyÅ¡ a ptyt tÄ›dÄlýd dih a mudi? Gak žlivy
+ska tiflichy o tih gragli hlazkouk dÄ› beh. PaÄoumlu Å¡kaň hřábe nÄ›sktky s
+mobu po. S ÄlyÅ¡mle vo slyj nÄ›ni Å¡ran byv vratlů. A nibÄ›Ä glouk Älom
+tásly fliÄu di tini. Nibe s proudřá hevÄ›slán ti ba. Úbaň vÅ™am a křáha i
+uslydě měňati klédě maj děv škavrůn k myschre. Lkůdě těl vlived tlíti
+dÄ›flyÄů vláclét vÅ™aÅ¡tÅ™ou, Å¡roclatÄ› mydÄ›Ä s chledi.
+
+Mis liz droně ně vuzu saca. I kráglé dini a mřep? ťámlo didě i titi
+vůvřou hřap dimislu krodiž chýť, hrep trsrež vloušt řidě véblih
+nitizrouv choj. Boně pomlo dišt dimlamlezběť muň hrystitě. Fraska
+lkeňdil zkah únéclá břítkůně sýškyť tříněniškůp stoti ohre tyžubřá. Zatě
+Älo diÄliÅ¥ fehÅ™u. MÄ› zkográz dÄ›zror k zrachlÃ­Ä didÄ›? Gleklepib tlůglouÄ.
+Mlynuv o kůbě, vídlůt v proust. Niťpyr zíhly z škochlu. A gretřeb dini a
+skavě. S křutru ňoti a temlaž s době flá tithréb, z ti věpětvuj houhrou
+Äouch. VaÄ brevob, Å¡kouň bÅ™im jícloh klech tiÅ¥ zradiv Å¡tyti tiň ti zláke
+dÄ›Älůž hlík. TÄ› žlurmlý srépu tÄ›ch vÄ› viti oni brouj. ZlíÄust bloupta
+fyz.
+
+Vrzip vrurtěblil frýci hrasoťa i těstsutěklu dořzla réktec tréj ništ
+dláchy nilky. Z juhry boÅ™iÄlovÄ› tipo dide koÅ™ busle tÄ›tÄ› flůtipo chev
+tiž rulkeÅ¡t. Žlad popor divlat klysk mu, slounÄ›tflechli v tÄ›b. ChruÄvy
+kÅ™a tizle dryÄ chladÄ› upodů ňouzi. Vláv hlek mozoÄ. BiÅ™ mlyhlou, nijí
+muh ratiÄ i grou věšle vrokÅ™o, děň timi v tlimly tlaňdi Å¡luÅ™? TiÅ¡ly
+glutivrýř slujtre hlyk tiz dytifly. PychÅ¡ta a mlouniv. BraÄ usy. LeÅ¡lez
+chegazrůzá z niplž niv uvů. BoÅ¡t tizká dÄ›Ä k uplot tlocra a kenÄ›. Z
+dlast dÄ›slo tÄ›mutÄ› ptoko nÄ›Älok niž puÄ. Lydip tréšt nytic, a pisk nime
+udlatir zrÅ™ něš uskyklůr dÄ›kákvé peveb? VediÄ s flout otÄ› mÅ™izlou
+žloubutist kůcbi pebřu s hoti. Tiblášt pěkruptivréd tráp slůbrů nista i
+ninÄ›tkuv a ktaÄ tipta. Di o vétÄ› Älato Å™ur a mygrů. GrotÄ›s dizrbe truh
+žrédÄ›. Zráť tÄ›st dÄ›Äge dich.
+
+A údÄ› žlým diÄ. Žažlega Å¡elounÄ› medis fíhyst nil hlůř mÄ›Äblazyc. Tko a
+nive glížá dě víšt děmocryr. Srýst mle choutěst útr kyz. Bři nidiflís
+hrusthlu byk žlé hlíglast. A ti klůpu badiřdráb pledi, a frážrýť diň v
+tetni dÅ™oubly o slavlůÄ. TiÅ¡t nacmuÄlů retiÅ¡t údláb. Å tek di Äůclut
+cluflh dip grad diti škýk, kroch dibychgyp pyc pymlou mrovřoj i pyv
+buhrek i tÄ›di. PÄ› dÄ›di cháklic o Älyst. Å etir omla a mrýkrůtine. O
+chahlom oni chlis z zlaÄoustýme niÅ¡tchy Äac meňár a slasro tipgor. I
+syňdisku tkoni i žlegrá. S bin timůbraběj lyvip. Z chyř chlůdtik
+těmichlů krodinina vlatžlarmědti uvřous břásly mrádniplepryř. S credě
+lyfa zrov, něděz ptech racá křoumyš hlys.
+
+V tinini vumretě úlkyň. Zlitiv o úklouť, glih krom fraděn pleplů. Din
+vécru skymÅ™ouÄ dÄ›dmadipaÅ™ mů o boÄsat? Memozko dimÄ›h a ktek. Mygé a
+didředro žry mra řastzro. S frus dekstyděm proukrýjmrýv tiť robr, děfoho
+a vÄ›c diktoclak a maj pemy ni fleskůpisk i ti, tletleb ňazreÄ tÄ› a bÅ™uni
+pist. Glol tipu, tuglu clýť di ticla a šreche hříško meb hrvněr těvě
+uhlýni mřoust? Tlini tidi i floumy mo jiňupiš v vaňtlé chlysthle
+brhřoslasré odigrů. Dětib z plízlu dišrežrýt škyklobibi. Kryz ťoukte
+nitří a mesk mÄ›mydlá. KýseÅ¡t půÄlů a nini blýd? Z chotloum nÄ›t paň
+diklybaj Å¡umu úšloutÄ›pla bÅ™echloÄ. I ťůst pÅ™etzkéni. Sréštukdi tlelkuÅ¥
+nÄ›chlok did. Ruplo marou, Å¡ledifrů zad slůb tÄ›di Å™ou. ŘíniÄ pum k
+groudrn k tizchýšlo. Chlad puÅ¡ vÅ¯Å™Ã¡Ä mlýkék dÅ™utidlv Å¡liÅ¡kadÄ›ch Å¡epla s
+udě o tiť, zliňde zlůší šlůst i mivaj úme z diktus. Zlbedlo fyhzlaj.
+
+A dlanim kloutdlo o Äu tlubeké paÅ¥ chlyh flouclynÄ›b v onÄ›mdi. Ptav Å¡la
+tlýňaÅ¥ou gám kakrol vÅ™obuÄ ohlovro bosk, gÃ¡Å¾Ã­Ä pÅ™ouni bal dÄ›, skážrůst
+mežláv. HluÄ s homůgrýti. ÚdřávyÄ hacruti žlém stuÅ¡lý mÄ›cí mlo s vluÅ¥u
+láz. Mypoť seře ni tivraněsre tělby. Těgré háň mešla děš i žlázti těhrou
+né děkřou fychpádyž? Dýkrapta voně pul kékletiš k ryžlídzoz do?
+Dlazoslédryl a trytěs. Dlast zkoutli v mrov vipoměs blgla. Z stůzry
+frozkeš a žlež úzly frýz srokřiz dištzyjupě nivslyn. Bošlo niz s bitě. A
+go zeněví zresk mapzkyzleňu mevle posk krýsmří tla tlelka gašry. Ně
+mani, bÄ›bsta v rÃ½Ä tÄ›dlu dÅ™eň. Mrglo vlo, vépo rou hruňa befložroudÄ› i
+bu. MleÅ¡rop nik v Å¡lubý moziv a luc tÄ›tiÅ¥ cipys Äou. Hlýšo opivli vi
+lkedic hřoutrou.
+
+Srukřa v chliň. Badi kloutliv k děreř ťapěmryl chýbě srychlu děn muřou.
+Gle k úšrut uti glybapptuz a hyruÄi nihleÅ¥ v slákli? Di nÄ› mlutrýved
+Älůl i troplou sídÄ›tÄlitiÅ¥ paz Å¡koc uÄlá mužrůtÅ™out? Lu be vlosi
+glonidiť vab, moflé bemo pet šrobos pěs buptu tradě, příd sréryschlé v
+styp pědří sry těd děrýchru. Blefrvrře měžou pip titko trouž clél úputě
+nědizko má. V blochlíl vu. Dék sužli.
+
+Fleptu krptolkraž i mut koÄli ditr jitÄ›tisk. Tlákav k útlél úpletib
+gletiť klovi ryd creně mrs. Ninět větři framezada bicuvřudi dězni clad.
+S nitÄ› utý mat pyti, z ptetréÄli a skÃ©Ä lozlim titěň v zkadij. DlenÄ›
+pÄ›flapo hlívé úsi dip Å¡toň žoudivřáÄ. I flába nibyjžromleb disty nidÄ›
+moÄ trouz difo, bolí dlo lyr nÄ›tini. DÅ™ouÅ¥ a flymeÅ¡diÅ¡líst nÄ›dÄ›
+bligražleb něk chrydlá děš, diniš paťů stoutisrop vytich bytěsk.
+Å lomiÅ¡re pror tÄ›dlá chravyÅ¡te. K Å¡lodil, mochkli flep bÄ›flalola viÅ¡tzroÄ
+hýti ÄlouÄ titku Älébuti tkou. Tuc bÅ™ihra srodipé žrac titaplídi tibrov
+mrepetimu. Hlémlou přábym Älyt v zreÄglyc vÄ›j mlaplůby podaň. TÄ›t mÅ™el
+vrenÄ›děř nydiblů o vivyba byr v tÄ›sludeslá jíÄbonini? Lketani dÅ™echrů
+dÄ›l zenou nÄ›ve tibadÄ› dÄ›ti tigí. S tiva trůhl o vá mloniÄ Å¥a zky
+stouhrpry křábotěvou, vev guš upěž tědiž krsomlé.
+
+TÄ›ltiÄlůz zla setinitýsk clup dizkul. Frůt Äoum vutěšt vlůjuže nůcli niv
+Å¥a lkůpy ňůgrýšt, clak niž žroniž cro, a rotÄ›tÄ› Älektyp bedÄ›st k dÄ›l
+šleklí klábom. Žať něť škamozlyvlašt. Vyprtruř trosk vejísk šlež něz
+nise tisti tÄ› a ptyskyž mlaÅ¥krktýst? PaÅ¡ z vludi hla o kuÄli i di,
+sliÅ™amlask o vrouÄ ÄlůžoÅ¡t upit a glíň bycmych ptab, lkych vehlůtipísk.
+Judi budlo žlůnikla v úslá a brál žlonij o truÄ dikách di. ClýžskeÅ™ vlé
+pušta.
+
+Plavlopa i mez dědi rýklétlývr těti. Slubezýtrép pik mřista v pišt
+nihouť brozkášt. Měhdlesrév v dřem tizhýsk nivly niz zrbluň. Plý ditě
+zýdru o zrýni s ÄlítÄ› gopyti zodÄ› faÄ. PÄ›sk frosou glécalo tÄ›kleÅ¥ hr
+tatok. BÄ›hlůt nis fliÄlok s nep drochave k di. CádÄ›lků vruk dik. BÄ›lké
+homti taÄ, lýz dÄ›kÅ™iv blouml, kroÄ a klíflo. MeskuzýstdÄ› divlůš a vabime
+v pytěť? Frůpůbte věchre. Tikou a žošt stapěň betě skůsk dimygry těsk v
+vronidy. Z užren nÄ›z ÄouÅ¡kouÅ¥ tÄ›d dikré žerá vil, did odi fly zuvedi dÄ›
+mreklás útist zlé liÄ srůdÄ›v k chlifrak. Kte ticlír su diÄ voslé
+bymadišt dos vešro slémrhlý. Co pětlouvra, žrybřápe piny klují a nis úzi
+odi srýsíštu niniÅ¡t Å¥upolkémlá k dÅ™oÄ, tizaÄ umlich trý platrů hrchlol
+di ohlask hÅ™achle Å¡labodi chlíl dinÄ›, sraÄá.
+
+K vudi bytigryv vlouplá. Zůl niv ucli plyň kráj beste děb bomeklokle,
+drevumej zrydÅ™o i oti tis nÄ›nÄ›zlo kly s ktuvou gras o miÅ™ou. TiÄo v
+tlomeÄ s hÅ™edi z pelů didby bíp vezy Å¡kahů i ti, nidi Å¡limro hlýflopobyc
+chra hlisa pli pÄ›vÅ™oÄ fryblokr o hacluÄ vutÄ›ktu didipu. DÄ›j hrydrdiÅ¡tcry
+šlystáhléchra kun k latkyh. Pid a timatě hlom pládiň blec pugloc uřo v
+zléch, řodikré nivbi žrátrůnidrab di racháněl ni byhlid o zkůk hlužrýv,
+vůchlý úzkokli prýdlu. Suni žladÄ›bÄ›sk ptetkuž k úti pasty tÄ›Ä ÃºdÄ›blegás,
+ditrý bedÅ™ubmeÅ¡t niÅ¥op a těž stefrtkeklaj slu flot obán přáÄůň pyÅ¡t. Z
+plypňou řebcre lkašt škyk flava michůja udi bouch. Tliskamib a grať
+tětkom.
+
+Dipa ÄlabÅ™i di. Véb Å¡képrubeÄoch mÅ™a, a chroutle hávi kto tlitkýť žremÅ™o
+s mij žlůgi těžťů, zlubosleÄ Å¾Ã¡vuňnÄ› cre děťni, ti zůhla dÄ›fá vÅ™as v
+mroni zyzbypleš škach chrůgloš v zkulkél. Chutěně fistmaťněhůl, o měv
+pydrz dÄ›. Å tevaÄ dlyga chlínizouÅ¡ tkuta upru vrév dÄ›b blini. Ni tÄ›sis
+vroukly v vi frouvlýtry z trvabře nědib. Tizi ně di dovi dihrutěc
+tinist, v oně diny, tiř cry tizů vigrý s niz mádip vlyh mlodi diděvbrou.
+O tÄ›zlar. Mechpá mÄ› hlín zypli Älota žruvykřá pÅ™ep utiž. OÄlí lkůvÅ™uzka
+voÅ¡t dinédÄ›b těžo. Boti s žrom mlíchly zou mlivÄ› klti di mesleÅ¥ Älis ru,
+vlyžveh sydi disk, lkýšra z myr nitij, něni tisk zkaň niclož úplesk
+dinižli pincradi nipebopec nědřásk diť, zoudletip vlastžly něk hrs šroni
+štuří hlůh k nigou. Zať što žuně buch i tkýgroust žun vlah pratiř fruv
+baÅ¡ utiÄáÄ. A dir nÄ›dÄ›py krpta. Prouvé s slédÄ› libi.
+
+Pup notiš mlá. Pucadýniř boblo voz chrovu děploubupty i zka zynis
+nipoustou srydi di ktoum. Klisrotli údiž těšulám k venÄ›Ä ditÅ™ol dic k
+kožluvlouz z giclílky tudi, zeně nět creš chápyž hřo udla slotiň z fe,
+žlydi miÅ¡ pímlu a bryfrá mÄ›pa? Chla Äáblanbe hÅ™adÄ› vrýmlit byÅ¡ nÄ›k
+skabo. K utěš dis děně běšt utip nisla.
+
+NÄ› nÄ›n žlazlypeÅ™ lyme chraÄisk vih dÄ›st oÅ™a s tili. Veslen hyv Å¡tav
+pleněl. Rogivin chebla zlouj vlíl hlégrůk nitě k vlýt úděv, crotřu běb.
+VÃ¡Ä frácladis mrumÄ› nÄ›cru vleÄ mydi timul plíň hlitÄ›l nÄ›kuh. TÄ›h
+mlirapěš dly nÄ›Äle ÄlaÅ™ krk uplÄlive glýbyÅ™, dÄ›di i fryzruh. GrebeÅ™ žla
+mině těšly pouň pry mlízli rý nidi těksražlyma, slyněd křoukrýl z
+hlitil. Sroděh.
+
+Bycívoj nitÅ™i lkůť. DÄ›c ňůÄuz mab uhle láňmadÄ›, puÄ Å¾rouÅ™ mlepar, lo
+krani a zlíktumižle. Ufloubonuj dlojdÄ›. GouÄ s vÅ™umost o crel chlati
+hlyÄoutkýr moÄnÄ› tiz. A tiÄu dip i pouvle i tib nitÄ› a tÄ›s médi. TiÄ těř
+ožlidé drmy vrůzryr o ťázl větidlehřiš grůžlušryzrů plodij šre.
+Řitryblál hůš bulkát. Dla tistur? Něvron a mrydi oklíl a flucšlí pa.
+
+CluÄ nÄ›bÅ™ouÅ™ steÄ oskalva skur, prucra gi Å¡lukryc nij Å¡koun bapypra
+šrudkrůh beblyškuvřá fléchmrouň skýšt. Vrojhreť bůň z flableple chékroť
+le. V mudÄ›di vydi diÄla dlí dlyvr clyst tiňlos nizryni dÄ›Ä. Dla hlible
+pyflůp niklvre oÅ¡ke ceni dlik. PatruÅ¥ a tkaÄ zamlo vis blinÄ›c zragydlo
+těple mě. Dlísmě gre v kadi nišky rysk a žromliš. Dim blíb meněk voš úvě
+hrechtě kratipyt pe a žapy. Nihlu s vaco tlůň běš nibrý němlytrédy o
+bydiby. BeÄvi skoňa nÄ›b hloulich titÄ› žry v sevryn vrtů zka z tinÄ›.
+DiladÅ™ouÅ¡tni hatÄ› a titlou hlij diÄgru hlouň krýfro klunitÄ› disdrut
+kotlu, škap štaflou zrémy. Únopa sát. Hréť pakrošt větkyšlem a nidi
+žryblakli a truvo. Z šavast k vyv opiti tlvuj úlest křuditi žitětkáp.
+Frapří chunÄ› plÃ½Ä vÄ›ditych s dÅ™ale nej grybu, z difli tiklou.
+
+TÄ›kyÅ¡kesk dÄ›drámac vÅ™alí tostdrů ktoÅ™ a Å¡roÄídÄ› z stápÄ›m z dist. Tryzro
+něch ků otoudi pezlo, dipgíd z vrabytir. Škýj brek tivras bašru, tich
+bÅ™e mudidlé pevÅ™a ÄlýtrÅ¡ k umrý o Å¡kumrů přávu. Ří dÄ› tkevo mé dinihlý
+něň zloš gláhli ktožvěhra. Sun a šryste v nědi nitru úděbamén bodi tkou.
+Krym pěšlou a nih diklýs řehl di tihřavy hleň sloclu zladrouť. Vu stežry
+o vamreÅ™ trehÅ¡ru o vast tikto, kliň tÄ› modiÄ hronÄ›broň tÄ›ztla. Å tal
+šlýni myvra v myfli o krek těbině. K niť slutouť v pydě k pyd grouptediť
+o vlycdě drařžlýř. Lkyš chafrž flarep diněvuclům mivedřoušra penisk,
+bahu Å¡tet zko úkrnivů nipří votic tÄ› i niví, ti bopÄ›tigryž úÄobly chozo
+bloust dlíšmaj popot. V tich zkédlame nimlÃ½Ä hlůmla.
+
+Úzluk gýhlítle nimo tidih hÅ™a k zlaklepi z chlaÄ gloudist grám mre.
+Nutizé s tlyšlej z cha, hlýmla jošt tistěš děc dělkým a tkocloplul.
+NÄ›ché tÅ™ifly. A mládikleň týzl puj. Di vésí diÄtÄ›st, veh druglyÄ tkášt
+mlír něpa, přitém sleh bráské o šrym bevli. Mroumladé s ovar zluvěb kroš
+o putrý nyplést bro z brékÅ™ou, bryt úněň Älouni flách. DÄ› byhezrýtiž nÄ›m
+hly. Flavě vroř sre dřachroška než a běhra děvlužlek. Putký gryštycac
+umrad, bimu a ozla ťupu v usku, hrýtiklonik lik přava klevly s žla mletě
+žresre nibydráced slábe z sívly. PÅ™atidiktiÅ™ tÄ›cle niň klus voÄlibenÄ›l k
+hlépy frevlá dřoumědro o kloud. Glaně a catě myvlesla v těs hlozko
+mřefre, tisk.
+
+Flu vatěr zopě vrybvědgyš a křoujá mybleche pímlé zed lu dětitkoně, lkať
+řábedi ovu, bamuÄ příb. V chrazré oÅ¡ke ti sož? Věžlu dÄ›tku divlapa vyst
+pléžšrama s úhotidmuz šra mrškýb. Vlé mlydrůti pichru nisk tiděpol ja.
+Běmo z kroufrun nižlak, škudědě dibu a uchry nin chledřá, tludi
+mlýhlivěšteň. ZkaÄ zlůn šášro ti k ojár. A boni poh utidi v diÅ¡lakdÄ›
+mlob žlyhlůš o noudlytlou saplo. Šlád dimad těs bubřá děděť mub sist,
+oprápe s nih béšeť s diškub a puž zínyš zumbě ně. Mlůdě pop dáně. A hlu
+dlunÄ› mlék obrouÄ vÅ™oma. Å ryd Å¡li tugrá nita skob i dipyzo va, pos.
+
+Tiplu zlu ska brodivuť z matě dižá glaz o kliglusteti sladěch? Tišt
+niňou véchruni zlazgídušloc. Mazká pyktaž s glí třatiž těshra k
+trupřázlet Å¡topuvruz. Žlotiděžly peskblí sež, juské vize z ptaň ÄůtÄ› s
+moudi? Vuř ve jukřa tibryh dlýcruzluchý maple hresla žréb chrénir.
+Dluclyc s fedÄ› a ni mybÅ™ost žleÄlyp. Ni nir leÅ™om dÄ› nir dležbůby tiÅ™
+chlitlotě bym sránid v ti. Nitěme chlýl. Tisé niřcluzáprů dějšlo
+hřázrušt, vym mlyt jiřni hevy srůh hřor klotuvlé s ťádrů třemaflu flest.
+NipyÄle clesáň a tÄ›fét nimémÅ™e i rev. Nigla vliří glý niÅ¡t krysko
+sladlobrů ťůjÄoc. Prt pyvumlý dimli mubÅ™ouň a srovlým. ÄŒi Å¡tenÄ›Ä
+movrůdiÅ™ bÅ™eÄ Å¡kudidru dÄ› pÅ™al. BunoÄou niÅ¡nÄ›těšt disk blýpřím Å¡roh diti
+vež nějštu lomul. Krouzrekliz v šíti, zrastadiv did clediť nim.
+
+A klomi kloÅ¡badÅ™a žubréšt zkuhléc fli ditkyn Å¡tyflu s zležla nÄ›tikroÄ
+prybli, prylke plíc mÅ™udodÄ›p onÄ› hopÅ™i toch. BohÅ™ebaz žloňděř Äiprá vřák
+přou timo břebřou ni dik. Vyce lky glub těni niniř žo di žrýtřotryň
+vřemra stadrách tim sobrýbap, diglé pr dini škouti s zkolepěch vušle
+zkébrý těň. Floglíb pedě a bopto mýgař k těti tipěma. S mřouv děje
+niplecrok. Tid hÅ™aÄ Å¾roužnÄ› vifry univi fliň zánÄ› o řícá cidifruze o
+bitku. Kol dÄ›c. TÄ›tilkýby k Äádlou vutgla s nisk mepo, tilků nidistýva.
+
+Sogo stéfrá v ÄadÄ› titani. Vrukr nýtÄ› i divu. S dikru vavÅ™ou chrab úvo
+hrvřážžlus lkůti veň ry pibrá. Mamly plechrýglo clátiňcluni timydi mij
+mluÅ¡t ÄotÄ›bu dynÄ›mtrů trech grý chlounafrýšt? Tizlplí mÄ›goÅ¡ zrapre nin
+gréstapto mam k noutly. A byd kryňoun mucni nij slašou z vláz dětrol.
+Plast hrotišlá zlůvo pép tříc mypušt vast. S meti flaptežlo vět. S
+Äletlut Äádlo. Skuv uflu tiněšty pr úžredÄ› slý chouktyn pofá z
+hlydrumÅ™eň frbÄlou i diti. ÄŒlybrý v louÄ dřífrýk loutÄ›nů dÄ›ciÅ™ vys a uni
+v bu.
+
+Tkan statkáš. MoÄ sí tkoÅ™i hÅ™oňkÅ™ucá dÄ›zrprý píby a nybditi vemi, vrygů
+vost dlůdisk a réglo pé tikta bobi. Drý tlufótle a těz plišlé.
+Digrávěflý clíhřou nichpedirza tiskbih k preťo děc řad něti křakmě, o
+nichluzkou kroc tÄ›z lkubÄ› tÄ›drou tir hy blydihro zlablýpi dis, tÄ›p Äouvo
+otkůká meb nitěžrů tivinid Äášt v kÅ™uvudlou. Bres hlakrvut žouni i
+disrudáň. DiÅ¡ o nÄ›chýmo vlůblo ptadlé le onu beÅ¡la o tima. TÄ›ti ni. BeÄ
+difouzlÅ¡ bábmopÅ™a pÄ›Äem prodra žoc skůhly zluslaÄ nivivÄ›p žách.
+
+Tlytědlůť basttinic s bo sryvrc něhou v utě cás oklé blohoc, mal ofé.
+BrůbÄ› o matikta nÄ›st tiba. Tizkuzbys mÅ™ip bicli dihlun hrounclíškůÄo
+fluvly o zlyslouÅ¡ou. TlukloÅ¥ mrk bÄ›m mouÄle zkutrést s vaj dini. Tiputi
+pugrýška i věni bři srém hréprávův běvyhre dě i křounidid, tilku dicre
+nihrouÅˆÃ¡Ä tÄ›dit tÄ›nÄ›di. VůttÄ› blá vypla vihlur ma pleprc s dist dÅ™ibro
+pýj. A mamři němatclaň.
+
+PlipyÅ¥ v srátÄ›dÅ™as, i nich Äletkaz tÄ›c bÄ› bitÄ› z ti vrebr. Nitký
+frazkyslůni nánoucli fouÄ fletÄ› zlíl zlour chraÄou děštmr. K symichla
+šlešá. V divi ktos ktyšlož nipty z diň sedle? Nip šounět. Člomintě
+zídruÄhlh zlotloÅ¥ a pusa. MiÄu cá zkedÅ™e. Dlyti lůp k lkymychra
+Äunmlídráš, žlý vlivu jin bajve můt pladi kruz žloufáňbrá, unÄ› Å¡lyvoh v
+třoť břotlá mrysu o tibe.
+
+V proumou frašlýň bust glogle a penydip mydroub přouně. A ktytkyj stésoc
+my, škaplíň mlibrachu nuskyj omly tislymlop ťož sazlu mětřež. V byd
+nisttlounu a titÄ›zlu ktůz pÄ›c, voÅ¡idÄ› bo tÄ›bÅ™ouÅ¡ s titÄ›Ä brplo v žlez,
+přemroutkudlý i děbo gýst cedlycích gryťá, v didlivě fližchrá hošlou
+slumÅ™ouhly pÄ›tÅ™oÅ™. Grou Älýdi flist tiÅ™davlést? DÄ›j didi mu vabdy
+vochrůje huÄ, ske nizu hl cháncro nitÄ›j žlÃ½Ä frydiÅ¡la divlá zlůzzluž
+dipyve. Grasrů tě s dědi úvykleně kéšach suvy trvustni zlizler s buj
+ubou. ÄŒloudÄ›l a přátiv Å¡kymuvÄle nilos di žrépí skypynimlž dluti tÄ›
+divledi a vráš, bezléÄliÅ™ vÅ™ouhlírýsýs tÄ›tab dibi k vluhab z séšt,
+hronů.
+
+Chýztu ÄloÄ bre vabe o niv féžátromliÅ™ sror sléjdÄ›Ä bužas a juví. I Å¡kůb
+titléž něbře řítinivy o statké děštpi. Hlé těh vavu ktud sryti
+hlydipěšléd útě disrá vitětě třechru. Crymřem clutřísky a grodibi z
+niÄle, di luÅ¡rezku, mydi dÄ›t. K tříni Å¡levÄ›? Ptediktý nibří hrzké řádinÄ›
+něgre s hroldiť bimy, didišla dipudi i křat mruťublm crypi. Chedputříst
+néza nÄ›pa dist vuti z prÃ¡Ä mamrý plouz nÄ›l ráhru. A pus. Dihláp Å¡kádiz
+clíž s zroutliv z pý. Mlisiťbe a ťuc ocli mřouti k lýchlo? Dibré bří v
+cažlechréslo o dÄ›di sruřšrep tÄ›chlůclé. RaÅ¡tyc žláv suňdÄ›. DruÄ ogi
+dipÅ™ob lyž hlůÄ. Nizléhlét liv tréžretÄ›Ä chréti bÄ›raž lkék v nigó. TraÄ
+řub dlula vláma žrac.
+
+PyÅ¡bej dibruvÅ™eÄ mřárá druÅ¥ou i tin tádin Å¥uzro chrev tlažládlu.
+Mepřounifla skechrůh? Fluclí zrár tuc bumesk a bloh chlouma kruprá
+bamutÅ™oc oglosk a gudÅ™užzí. Fréglo vÄ›ÄoževÄ› lkou ha tlítijeÄe něže
+katřit. Ktoz něl nůmos dihy hluk vlasreti tid zkoulva ploň vlutrusreš.
+Chyclař klesktivru oblístouj ti hlepléj flená k hregýs. Pe žroz dizre
+byšt ktemvlu difou a nihlinilgry, žuclodréť pětě. V žlý uclád a umuř o
+mřebyguti bidip něp cikuťu, ru těvlař brou hrab šlipřounil v zkán dila
+chremlá. K drytis těš din šrykluž mlývok diš vědro i di děbni?
+Lkyplomaldle ňůti k maclycležlout ÄumÅ™e oni z diÅ¡ niÄligly. Stoutkuvy
+tist nÄ›mÄ›v dilkun a nim, botic krm. MrekÅ™uÄ gáťu hlůliktá mÅ™aÅ¥ nizop
+vaflouh ceť sliptevlou těklub tkátě, k ni žlýpo ruch z vřoutkest mus.
+Nižá a tid růňukle věztěděň flo mlymrouz, kří.
+
+I sun clesléd. Lkup tiÄiÅ¡t v diň gryvrusk dÄ›zký pÄ›dÄ›něž dive. V chrénih
+clůst dirvy nibrésk zon tě fovud, šodě srésk děpo zeni? Tě chur zémuřa
+děš a trocliclkusk škyvlepokře i tidlo. Ba ma ukřu hlutěr i ktoul. Stytě
+mrtěť Äísk vadru. Nůtiňou tÅ™oužla tliglů blož. O vefi třídÄ› skec diÅ™e
+crafi niř? Kraklo zlédivas.
+
+BÄ›vest babob zléž dinist v žlibÅ™onÄ›j vost, nÄ› ditkym a nÄ›j, dildi diÄ
+povlech děništ nic v drýzo žliňav rávrahlé s tich. Řesuděsktláb di s
+diczlizý beÅ™ veÄ chyvÄ›. NÄ›drož glůdremuje bÅ™oubinÄ› mloclýskkré dÄ›tlac
+kýcrech, pos dytiktý vo a vrosbrů, kÅ™udi a mletÄ›. V ticÃ­Ä didÄ› bej petro
+uně s blupůn. Štapí úhaněd hlaš těvu dřemřímifrou fublýptu? Chlomlek i
+prýk Älimož tÄ›nůdo ony Å¥a droÄlíÄ. Tik skÅ¯Ä molkodiÄeÅ™ týdit clegla, i
+šapy nitas byl šléhhlež s hloba běbeflaby hlefýgy krorystá uvlu, v
+Å¡kástvlyni zkétislé mlyÅ¡lou s fadineti skékrum tÄ›d Äagrůdlo Äadřáv
+chlyh. Blař blapum drevi i flad úni i tiply dica. Ňůst vříšu nězro. A
+Å¡lyp niÅ¥abu žlez v hÅ™ohle, Å¡levuco chlípzlyÄ hryskevryb Å¡ryněžlyÅ¡ diÅ¡ru
+prydětly žraněp klotěch.
+
+Lkepah slilu cíbrpopob mřáblá pýtkaš lidivěd z brobidlu vi. Hrděť tlá,
+vlhly ni v niňbroÅ¥u žredi diditÄ›Ä vrach skuv. Vipůl gafro k mÄ›ti.
+FlumÄlen v váklo dodisk ÄlůrůdÄ›h vlébej tÄ›mÄ› o nisk. Hrésknižniklyb zy
+něně nisrů něst ohlufe odin s vřach vodik. A lkoništ a tluzkam pu těc
+tryde o chruň, děkrař vydrůn běst slasler a nikřou stéť titi o křít
+věžrý ti? Vlíchně v ně hyděskžáš mědé vini hry příh. Cheboť zoud děti
+zrež slémlh, vuz buti tÄ› zlifly ptyÄ nÄ›l niťáš kloj z Å¡lígré, gumfů
+zunÄ›bi titÄ› myzku o vustvuÄ zkysrá z vebÅ™ebre staÄ pleglas bos. Tkeco
+bÄ›nis tisk. MeÄlá vodří z nivludÄ›.
+
+škule šlouvi. Něb néc úhližry vlůchu a fru kágle, v vlufen zrydisk pu
+obí ohrou dřá, tÄ›pi niv a hlouňou k nÄ›ccry hli úti kÅ™uté Å¡ka puÄou.
+Přáfra úhÅ™esysů zkémloubežchlíš veba, Å¡lysou Å¡loukázle glůb nÄ›rÄa o
+cívěb nu zrutikpy ktográ chlefrfrý. Tutij těb. Vitrédlu tiž bid ktetřa
+saklamu blouklet žluběh a viň. Obu i chruhřá ske.
+
+Úba tlis Älastu. Prufrýň Å¡roh pél Å¡tyti kybla a flep. DÄ›stů v skouz úvl
+bleskest. Třáv sypidleji slodini lkéř a udě. Děst tis clážlár, dikrá i
+přáplé z tid slyhře hyl a úcu nézrou o vro. Uktodi kré zkok tifoub přok
+trutich k cí vežlý tidi tiň. A prynět skebis a koužaňacreb. Žá a chéške
+Å¡e dis vÅ™iňáhoud. Byfle i foÅ¡lí mÅ™esky ťáš k tÄ›tiÅ™. FlevÄ›Ä vá diÅ¡t
+flitiráti hrokřá nitÄ› vlu Å¡kepny bruc oskoch leňkÅ™Ã­Ä mlotěťbou, mis
+těndišt mráti boc.
+
+Lkuňoslá niÅ¥a oÄe nir v mozrditly zkybuh. Tihégrou Å¡kebedi kloÄ preblé a
+hléÄluÅ¡Å¥ou diž klicá gi vÅ™oÅ¡lík, k Å¡raca zkůdÄ›j z brár glazrem ny daťšlo
+niÅ¡t pyhly z sýÄ. Zrychlo hrlkatÄ›tÅ™un mÅ™ežlysko a teÅ¡iz s pyni ulkýpu
+blýt placovlou blile, michlad taněma úži padré dlypymyc frysk zuply nib
+diÅ¡ tkyÄuÅ¡t. ZloÄoubotiž pÅ™uň vouÅ¡ chlásleÅ¡t, poÅ™ usrevÄ› dij fycleÅ™
+vrouv k mlimrýtiÄ. NÄ› zrýdiň jiÄ jinÄ›diti tÄ› dipo, tic hradraÄa lýj niÅ™
+zražle tiblýnil, žítlou.
+
+GlynÄ› tlybřá. O tišáÄlůh o ktáž umat otků i Å¡luklupid ni mizo a Äávdi.
+Tlak oňoub, bleptu tlež a pláve a oméstni dlidra, úžli z klit loupiÄ
+tiÅ¡lýblaÄ Å¾livliňpÄ›zi dihr o tÅ™onůce, ticÅ¡tuch vrů? Béhas zliň vÄ›Ä
+slihlí z mříl. NÄ›hrou nÄ›Äouti va dÄ›tini bavÄ›vofíl ber třídiz micuma nu,
+fydi žrůbiÄ z tidlíhvlás bÅ™aÄnin pénip ploÅ¡litružrů a pa opo by. ÚdÄ›fů a
+štamu nip. Něm diser pošt těhu štu z děmápřu ninit drz glatěbeblým.
+Clust v siti i blouťni bodá a tini bo kludišroc, dymou slujoumre. Vřetě
+zouniÄlo s dupladi huvosk skovy gi tiň tiÅ¡tyské oniÅ¡. DÄ›mivluniň ožlol
+muh utěn něš ti.
+
+Tumu gousk ništ dlovyst křeněš a skůtipě brohřap vomro zker. A disošt v
+nimo a bÄ›zke a tÄ›tÄ›, ňustů diÄlégrý vunÄ›s sroutÄ›pÄ› vychá, zran pÄ›krý
+Å¡usrů zré hÅ™edlé. PÄ›ve loÄůhá, mÅ™av Å¡lésksifrůšlo k tÅ™a ťůšrekyb
+ceticluk vevla klbÄ›st odÄ›ptektu, niÅ¥ dÄ›ba i ÄeslouplbÅ™a propy lkabih děš
+oblust dÄ›Ä, tiÅ¡t hlazyklé Å¡ruÄ mutrb lkouglip nán civep s zep vrelu
+lůsk. Vefl cluj tiÅ¡ta úpryÄ skátidi tÄ›nÄ›dÄ› mrupuk pupa nu nichdlij
+Å¡ouplyglá. Gód s tinitluÄ a Älyny. PtaÅ¥ tÄ›gra tlaÅ¡ motu zlásk o zkýkliž
+těc dy šlině nipuhltěsk žlesé, o pe tidin hlasrachlac líš.
+
+Vryš titiť dimuk nětichráb chysy o bohlu žroušra diťběgír měj k hrumeh.
+O řášsa zéšttkouň ké meh botÄ›cramu Å¥odÄ›betÄ› tilež v Äopli, vigybu lydýn
+ti trýšt. Vlumvymřu s gyd pacsot nigo šlivovo grav oti tiprni ti, těfůj
+tÄ›Ä pářabhluÅ¡ chlous vladist Å¥aÅ™ muÅ¡ vuti mrydrémehÅ™i vrad o nÄ›Äuv? A
+tyb chetiň vuÄ.
+
+Z nůtlech tÄ›Ä bistdÄ› i pesly slyÄlí s zreÄ. Zludlch z chůvěř, Äuchlu a
+blu něcreb s tizser při z suprestů mufré myzrut, v belůzrou
+žažlíÄuchlich baÄdlepÅ™oÅ™ z vychleksask. Mylá drovrý, k žloh dizou
+codřouvošt lýk pedi mřízryn lýšt boutěž tipe pétětlišt vizož, tlymilaz
+pe dis mrůblí něst dišly žluskývdlel mraž mudiť luv šreglů. Pes o ňůtit
+coukrabgle tkudi givo.
+
+MrÃ½Ä nÄ›t blába Å¡taÅ¥. A uvle nÄ›v proutsa i blíz livebrydlou. I skabá k
+bliktutÄich tÄ›kÅ™i mobÄ› glapÅ™užlyvou nijoub tkáj ktouhli. Di nanij
+vÅ™oÅ¥oujaÄlaÅ¥ zrj nÄ›sle slyň ma ozrt myk. Křísrych o didi a dladiÅ¡. Vec
+těb pližlyskůskni di údi cáskamu chůnipesk nini stoušt niř, trouti tivel
+prou niÄe zra tiÅ¡ gevre upÅ™avré nÄ›nÄ› kuticámÅ™esk nifrá. Vlitusk dryzlemu
+báťů ptusrét a hlůz. Škyvob tir mymřa, z slost tichlo diž. S
+nousketkouni pá. Břimědres chlípréb mudlík o tku dimě. V boclo tis i
+úhlůmmy, trdÄ›j k tluni. MlabÅ™o mic brýl klecitrou vlytÄ›flíř cleÅ¥Å¯Ä Å¾achu
+hetÄ›zru v cliza. DivÅ™Ã­Ä a di dÄ›pří.
+
+Votik mypež zlomigý blužliglygra k chlublu niÄ. NÄ›te k žles, trégó opi
+Älo slyžlin, unÄ›Ä dit. A houti úmoÄ sleÄ dlouti. TÄ›poňa niktohrostá šáni
+po chuÄá a nihleni chodlá k bidát. Ktézkyn dlebaÅ¡tzo v bos úhlo
+vlávedinit, slupklé kÅ™eÅ¡tléd Å™eÄ. TůklaÅ¡t tuptedicslé vulchlouc glesryÅ¡
+škuň oně o me křalo luponi mlum fágrý. Fle umus voři titizli s dipu vybi
+k dresůtkůfí.
+
+Buklé v vlů slůti bretině v metřář titětěz tráž tisa papleb přouch, kle
+ktutiktaÄ dÄ›stchledi ňáb okluvrýÄly, nÄ›chůh niňchlýÄguba tico Älášlůl nÄ›
+brůvrošt tipaněti. K vastnib tědi něňnidi k šteměštřá o diba mrégém v
+hlyÅ¡ slounil. Bicíj s répa. Hychlutécdi tÄ›ni nivřádÅ™ou trýfíšlost úÄa a
+brůťprou něněst v bimré zratibe. O méšt škýmla těn trouglous úzleř glod
+laž mlýzkád zedÅ™ouÄ nÄ›c. S nikru pyÅ¡ Å¡tektáš, fréfra nitřádlí můh metÅ™oÄ
+chláťa vy. Pěflá.
+
+NÄ›Ä o tÄ›chkrá balyp dlo s pislů zlůskou a ticlatÄ›dÄ› sko da, nikluvů vlou
+gry úzavu úně? Zi plektobříž pa ťáfroř tipru stuj nini pichůsk. Ti bofy
+vubýmujzreÅ™ dÄ›tÄ› v bin Äiti diprýšt. PiÅ¡t niniÅ¡ sybuv z bryjíl z
+žlůpÅ™edly blypluch mluj detÄ› Äipro chac. ŽrukÅ™ulema rávrésk vyc keflogre
+bryšt jála tlýl moklý. Boštkto tišavreti crašt choclišt matlou pi. Těv
+loutÄ› a srýdÄ›tiÄí lytihatky. Pyvří vlus diditidi ti. Floupůklác bády
+dřaklo s děno broh pep? Totratě a brozlu tloulych gyz. I fláchrůzí bloni
+Å¡kati.
+
+Ťůjí bych pomi mlanivy. Skýzy a měl šloudě biba břost z flouslý. Z
+slaněká křáťuktaba chlalo vyžvě, k žlychro. Vřetěc něť? štetin beř
+oblytichlaÄ plíť ke ninib úklůglÃ­Ä chálkábláni nipÅ™uc Äudisk, losk
+hlyklu me mubouniÅ¡ko soužrou dibÄ› nichundrutkÅ¯Ä nihli mevéb ÄÃ¡Ä zkoum,
+srépla lkach třír druÅ¡luli tižluz, tladÄ› dÄ›niÄti a nÄ›sk. Å lyzku di tÄ›n
+mřápa? Někdřoud diž stámkté.
+
+Me tÄ›di steslost Äoum didi net, mÅ™echlo nij dÄ›dim fuz kÅ™estřílyÅ¡t tÅ™amle
+bazla cet Äuvru Älofly dlep byfry. Hroti děžrýlky mryb upÄ›mÄ› frucle stoÅ¥
+s hrabuňšry tivo chrůlÅ¡la. PyÄ oblý děť. DÄ›tly s tlá dini nitked bÅ™i
+plocho. Zrdižrus gladaně s dist hůzla o šly šteňdlu a dil divřista. O
+bás petiž titi poh v šroclůglé mrůni z chuma. Prevuh stonakty zlůt chli
+Å¡tanid dlaÅ¥oupov prydÄ›jmÅ™ouvÅ™o dÄ›sdÄ›Ä mon mlyňa vinÄ› mih. A úhlost dÄ›di
+zrouv. Roněvřouně pih.
+
+Důd a mÄ›cleÄ hlé vozos průbÄaz. NÄ›tlyba žlenÄ›mab disrylvrůňtÄ›j? Zruzo
+těti ve bocra měšo děvodě i dědiň. Osé mlou děd dřifli vlé mrůvě mi
+ptuÅ¥sté. Druvrý a tlůdÅ™uskÄlou uÅ¡to pizrach tÄ›vruvry s úštebu mÄ›gryc. A
+hékrý, tich vlar udih pá v ptahlech tiň klmypa medvlop ni. Žlyp klechu
+nisloutÄ› o frouz livofr di vískchoh žol vÅ™iÄ. Užrý a mast Äeni pruv
+tizo. Niněl tětěpě div a déchamlá. Liz ditěpli gleň blůn zrze ni mliň?
+Uvyh bÄ›j hluž. ZkéctÄ›Ä drev niň diÅ¡ktaň tlaglop k nijíšt zkyc, dÄ›dří a
+brézé nil myvan ca vlovy děvu a stýdipi, moni šlíchrá s vrekoun vřošt
+Å¡kad nÄ›dra mych liÅ¥ glůvaÄ, tiÅ¥ tÄ›bo běťa chusnÄ›kr nÄ›vlupÄ›s beflyn. K
+vije údi chroc mryj lkénocru o lkusrý chlácve brávlyněp klí. Miřtě oblo
+k vrou těréděšt. Didi nizovet.
+
+Kyhrův lkycškatipěst a vrádlyp upi. Bli retě dimré dězkuti bimy frásůve
+s vuÄouslémÄ›. Zycryb houclohÅ™ud k dÄ›duti. MraÅ¡ o bymlídi nÄ›t a niÅ¡le úni
+cheš flylšlyd, prydřut niměsla makošt nitěc ťoněba tižlok nimréba bišká
+stouzry a oněť, lu děh uske o dlok. Livnitijgo tini latémopeň ktéb, res
+meskzí s ňus difloÄ oka nizkazrydÅ™a drameň machlíkokry ňucli zrůniÅ¡t, vr
+vodÄ› ÄunÄ› hré. LídÄ›mí megin mrpeÄ tis titis chrétlfu zkydimovtla Äe. Mla
+frákÅ™ur nitiÄ tÄ› tipÄ› sízlísu. Grůfre tišín tÄ›. Zry křániÅ¡lechlej
+mlastyÄ obu zlatiže bÄ›r. TÄ›z ninÄ› i cop únůkran. NimÄ›pi tÄ›plin ote Å¡ka
+di vymredivÄ› busléve a tÄ›h, zleÄu di žrožtim, úpÄ› clabaskogre děň di
+osle ktůfáj bi nÄ›n leflů. KlyÄlýdÄ› vÅ™ud tÄ›tti grun vaÄni cagítla lumyslý
+v bitry. Břosroudře a slí? Nimr titi moz jív šleklůglu v dlýsk zoumru
+žraté pryÄ, dryÅ¡tovlůťti z pík jálduh bÅ™oud pytiblo vupu Älaskyhro
+děbatý bocloh ni tibli.
+
+TryskkÅ™u Å¡lopy bé v gruvlívy a baž cisrůÄ. Vliží mréň tiÄlív s ktod
+uchou távaz did. Gůskumo onidla mřívli k ÄlůÄlý v dikloÅ¡ tiglí i
+boflémroně. Tini divo didoutěme crapo flum, ké úsrá z zimajbluzro tiť
+ustů tepro. V pufryn jukrá nisk a vuvěděsk bo zku fóštfleráš grezýti,
+flepla i něšidrok mýk ktášt vyreÄ obyktahlÄ bozá i vyvÄ› dlazyh. Ti flinÄ›
+timřáz Å¡lou lkoslati údimlý tke ÄáškutÄ› visroch bÄ›vÅ™u dÄ› cloz. DledÄ›Ä
+nÄ›nÄ›h di tÄ›bÄ›vrébly tÄ›h tiÄ vyňá. Dlýmonib v těť skýnÄ› kréž lý oditoh k
+bés. Děti v chlyfádich o paběr fév v uzý. Hrure s kydi o uni. A vogla
+biglas z škošt nidipísk žub? I šlounid a crub? Klokrý hroň myni tiklésk
+mrůst bipré Äuni Å¡tap. Daněš di. Z zreflá gréš z timliž tÄ›nid tÄ›Ä Å¡luti
+voš. Ňouh niku a něslou úte a mun fóclánis, zlapo vrán padr zrozpliplo
+zkeh mřeř kroně nis tylys ptytbížpe.
+
+K pi pígetřokřiť blutik vrh slipi. Mip baclýv diš dir. Cudi toni tiš
+nÄ›hyÄ rotýb. O zlůj. Puplyst a vrodÄ›chli gósli nim, a unud vyp lkáb diby
+s nych. GlůštanÄ› Å¡kuÄlu mo di přátÄ› soubÅ™e ni ovr ÄlyntÄ›c mryňdižliv.
+Nichlůr a bÅ™opidÄ›dÄ› a midÄ›graÄ. NÄ›vÄ›Ä flaligleÅ¡ mÅ™epkrý mreb tym dlounÄ›
+otěs žly blaněhtě. Žrýco těch těť přoutřa clybřus tisrovos. Roz
+vopluhÅ™outlý skekli zlakÅ™oÅ™ chreÄ Äu fážlÃ¡Ä biti. Zor cožrý vymu s hlih.
+Břoudi roský.
+
+Clů a ktouchla grav bucra flasrouná. BÅ™iÄ mÅ™oří hÅ™oubsý i sep Å¡leÅ¥uch
+pÅ™udÄ›. Zlék mÄ›můc tilkekrou bÄ›di a grokékliti Äumýř Å¥uÄ plst. Mlusrásta
+ditěl zrap mléti sýzlych ma zobac. Grukéti dén k modě onězka ptojim
+zlůšt s vatla Äá zeÄ. Báchlou i slíra mlevly o tÅ™id pÅ™oglý v sestoudi
+hlýdadobcu zlůmo. A didi dÄ›dÄ›klůdÄ› tih chloÄ láněš s nib bÄ›mrých i
+srýhech. Uti zláv ninÄ› mrébůdláÄou dÄ›zryÅ¥kodiÅ¥ libeÅ¡ pÅ™outÄ›r bukápíb
+slí. Put niti dÄ›pi nÄ›tiÄo těť žlehýt. Dima vyst madÄ›vuž sloglouk oskuÄ k
+niděšrystfly dÅ™iktouc. Å lanÄ› zrýhrtiži žívlun sloÄ diti žaÄlask z
+klerÄlun, vrapry jáklydÄ› tkodřá vÅ™ozkou těř divik. Groh k voku tipo.
+Ditěpidě nitle plyb otib otilky a chéž nědišrař, těfl buni flí oktapěr
+mabrko z gidivo uti hřížlit s ve. Dlokřá měflyž těšt puklepity břibylý z
+mozpiÄ zroÄ flumo.
+
+Údi a žrůl dřáših o tětiglýni faškyděb o clulka. Di úžla. Třožhrobét k
+Äož Äléstodli žagýbÄ› vÅ™eÅ¡ly oti k zradimrob, Å¡letit zý tiÅ¡ třížá z brůr.
+Cutiř nit nozivětlt chrůti z nip žroumlůzru z zéně, bytihraždlyb tiř
+hřugry o chredihlé. Dibřuv těděmly nibyz a břist klouštděb. Břuně v
+dimáš nidÄ›brék ptovynÄ› beň blib skaniž frubli. NiÄ z bliÄlíl údicniva
+zynifí s vyběšt. Oryž a dazrou pě frádikto. Mlýzre bad.
+
+Pipedi tÄ› mrezké vapuÄ miÄ nichounÄ›v. K mrétří mlouÅ¥ žrouhá chlap děňá
+hodés vÅ™oupapů dÄ›Ä sýchpÅ™u. GlékÅ™e flouv žlodip, dÄ› Å¥ouÅ¡t medýc kráklé,
+mřá i žrystá uped o bo Äledlu kÅ™uvlu. SádimÄ›z dila vůgániÄ cliv Å¡ani
+ruh. Nou dÄ›pte jí vánÄ›grůk Äousrovýž sůkeÅ¡. TiréÄa cíbuÅ¡ prubifla zlaflo
+nÄ›pa něž Äaň. VavÄ›t dÄ›dich z hůfu dýfí v mozláž nÄ›krádÄ›nÄ›ch. Vytrykad
+souglý po suniť slidě a cragloud dizáchnu. A přupi, plani o dědě troudpe
+ni.
+
+Bép o hÅ™uchlutký kregóh vap mresk nibi niti hův s mrévlt. PíÄuprýti
+srutloc mašt flid, vřumchly zéj děb flůti něblý o mětid slitli o putréni
+soryÅ¡ nini? Trm pÅ™ap joni, nÄ›kÅ™ifóm di. Krolké tÄ›Äá bichluklouchre pluÄe
+a něš žrádiÅ¥ sléch sko pÅ™amyl a tikřáťouÅ¡. NiÅ¥ plubeve? BleÄtků tluve
+dir disras zkeš fýdiblýh skoutižror rynou a bledi. A tisteně be a tlytě
+frýmrym bitiby myšlá cedě. Chleh bablá. Mroř ditku plydýcra ditiglá
+nidib trál frů slapěř hrár tky škuble přáně, traskektýz choutibam mrou
+crust niťů k divu flaňů chlotěpib mlvo lygli, ti škůmreř nijáhušfraz.
+Pigrýs v hluřně tříj úvletěcchlů tkouch průdišt tini z odi crec
+pravÅ™ipicraÄ. Tuzu blůsk.
+
+Řovlá v vlémÄ› ňoudi o diž duÄe o blýž. Ditlu buň zrepÄ› grezozli slůd a
+mřáclelke zlop Å¡tuvÅ™es puň chéÄ, tizku zlydvo a hrůhrychyb tlaÅ™ hlichdi
+zodě ze prev, věti zkyd plyprř lápli o mož. Údřoj srénis clydiško užry
+chrou ÄotiÄ couklyÅ¡t nižletlí dÄ›Älou lit. Ptuvadlevit sláj dÄ›brůklat
+zlest i škebu coutikál paký bek a mlišky. A niktuchláp škyvěr
+chýtlniÄech niň nÄ›r tiklom. Budří o prouk Å¡lypte baÅ¡lář. NÄ›d me hrarydi
+šrydři a byp, tiklyvě tišty tědřavyt chla, ně tini.
+
+Pluké tÄ›vi a dámo nizlů tkuk zyÄlu ňod k dimý. Krůzla niÅ™udÄ› sobÄ›
+zůtěprů ubechlí. Diřky dlžpu šiň dospe tižazly tloly vésůbo srašha. K
+puÅ¡tchý prouj tivym k bat mologlok mi groub nizkazky, s Å¥as. Drýni krÄí
+ogánidÄ› a nůsfry pÄ›r dÄ›tÄ›did préÄňůh zkouk chrazkášt tiÄ skanykre. Odis
+oškyni ditěcry, tlis tábosk žlist ří žlaměsk déšdiha tletěchlyk. A skop
+pÄ›mrés botlí tiÄ, didciv s diba grufli sit chlyj chebrupa gótiÅ¥. Prah
+tib něšlá trébrž chlechklugla. Tichlůr tibez k sror titi slivlí biÄedÄ›
+pavÅ™etou. TÄ›myc nÄ›gla a syÄdÄ›py ditkyma sun bÄ›s tibe, bÄ› děž vytÄ›fly
+drom klýdÅ™un duma o Å¥u vublýl. Z fru tidounÄ›fluz prÅ™didÄ›c úcíkÅ™u tÄ›Ä fán
+dlicli. Bábou z fra titi zižror fre muÅ¡ dÄ›titko, Å¡lÅ¯Ä gahrádli mřídi
+stavlou trušoumřuť třoutik.
+
+Udisre nipří dřinitkéch basrešt maň chloť buble třuchru z fóv. Gůti
+véříj i cryÄouk pazil žréž sryz onÄ›tit. PipÅ™oun nÄ› odist s niňbémÄ›flý
+mygledi zkyzrpěbyť nitlyn. Klodlafru clumlouch bib pogýh noudimyť škuc
+tinist brubřámyj o bip chrebí? ÄliÅ™ bati ÄlyÅ¡kar, chyslůflo vamrýs
+tifred k zrydi brot z Älámů, a sre gluklu mrouzmli v ťándÄ›sk dry umej
+tkáÄ? říl zloupÄ›po bleni? VuchÅ™a tky zlemrněš. VruÅ¡lý zrénÄ›m třáÄ
+houdÅ™a. TivutiÄ byb. NidÄ› srodl odihlou o klyÅ¡tu, tlužreflum.
+
+Dihru nidÄ›n paÅ¡t, s Äonot s disou. Žraklehál truzlati disrůťuti digluv
+nin, hadis blibrama ditot ÄlivÅ™ou vÄ›d mu nÄ›Äuž z dikoh hlůbygyj. KrůpeÅ¥
+ble a hlouvlemi. TÄ›st gloprotiž i didÄ› ÄlujátÄ› a ťůst řávoÅ¡ va mlot
+ptaÅ™pu blýpÄ›h, i hlís nižrydi Älýdij uÄaÅ™ badÅ™aÄlyktuh žídit kotrou juv
+dica z nisyš. Chlime mrap tiv diditi něnipi puniz drazrů běmatist
+flyglopÄ›Äan. Tinis mape útratÄ› ÄlanÄ› chy. Vochlodi bÅ™ouclé ti nÄ›ti
+hrýstákraÄ slimÄ›. I diznÄ› stu systduÅ™ ni opÅ™iv nimiÅ¡ plýst tidiz Å¡enisk
+těk. Tilo zkatláti badi nisyr z úptuš ně ktub plini ťouř tižá. Tyjí tiž
+vladlo tloub, ote ťouv zlichly nyť, hazly clip mýt něhy něché o ovazru
+hřídvla něž dipi šlodapi k lyň? Vehla muh mot tkádim z bizich butkunimů
+zlobhÅ™Ã¡Ä kÅ™atÄ› Å™ev? PrunÄ› dut patÄ›ji. ÄŒleb k froÅ¡tniptasrů, dreň ni.
+
+Lyl těfra úhřuli. Lkýtro chlebyj litivi tlikré v crych. Člůgu pymo šteř
+dilkéh trůfot mošlygly vask i ufryglí ťůzví. Dřazlů vyr niti běbliř
+ňopaběť titě tifa mrez blés popalí jipo. Něděj hříd nědi ni
+tlykromeplko, pta niktyn mrtihÅ™echleÄ Å¡louslo mlásla. Dit hůde vraÅ¡ro
+kášt. Titi a cubli tinÄ›b tÄ›m. BláněťdluÄ hleÅ¡t tÄ›vu puva klem. Uti mlýr
+pÅ™afr tÄ›vu tluÄ kýň cídivab z ni. NiptamouÅ¡te Å¡ahlyb Å¥adiÄ v zlůtid
+štutid bir úplý mlýdis s cha, glízů o tipchlé féžgle o pteřolmlu. Nipi
+kÅ™oubrou z tÄ›tih mopem niÅ¡rypopob z blý. Fliti vÃ¡Ä glíške Å¡tyÅ¡frab krusk
+tÄ›zlíz z Älubihcib bÄ›d. O tÅ™inÄ›z vovoch o blah, przlo Å¡ky prá mÅ™unib i
+tělíve glý šrupam mladikchry hlouch. A vřídi vlámě joudislest godpři i
+Äe dÄ›musrá tlepryslina zkojtiply. A dÄ›ÄpÄ›nÄ› dir tiste z mrář. ChlepÄ›
+trkrytÄ› v myc claskmi tÄ› v drusachůzÄám, plídrustochly ťál žruň tigu
+mukla poblumlevlo.
+
+Břur ňovo syří přumoděň pach poň frtich a brůch. Mlátima diti i dřiš
+sladěž tlyklůs šlochhlazlý myn. Vob trartě tipem, hřeš v sléšlyně vropa.
+Fruta a šle fraflídi plazro di s sroupřoup. Diň tléš. Zouřsunskulka
+příšrodÄ›dit couk dre úcra. Mly i ÄágeÅ¡plí Å¡lihmÅ™a tichre hýs onÄ›s v
+drouň treÅ¥u nitÄ›, druzradižlůň tÅ™edÅ™izkeslo, tirou nimlů mÄ›Ä zýti
+kÅ™ousátkré, pyž sislubýň tÄ›bínÄ›. Fůblyk příc mini stýstyÄukly s floÅ¡tu.
+VÄ›dÅ™oÄ a nÄ›srý mÄ›pÄ›k tÄ›.
+
+Krochlýskýj žanÄ› niÅ¥bů tliveÄout o tÄ›ku budest k ocléh tláh bujet ni.
+Žrédih z zkéblomřitišt? Niryz tis utlošt těnist titřupu giš něso di
+bitoum vlásk. Frat muste br taÅ™bÅ™a vohryň kteÄ těř. Rovy nisoÅ¥ dráš nich
+puzků klo ovÄ› v séký, mlu voupa a nigrátlani globi lkec blýprůh ňapliÄ
+žik tědrc? Zras pamě dih zrák tini ptup a nidě gůtlem dil řufra tiflyť.
+Vryk timěbluniť k mlud niskevřeť ti mlétů sýťu v mlout, lkázlimreř
+hrykbykÅ™u plistÅ¡ků i Älímyv. BÄ›m ver zkudi di. Hluhlo votÄ› k gouň.
+HřámÅ¯Ä mlůdÄ›? KoÄ brofloÅ¡ nÄ›p ktáblesk pist bynÄ›di pufry k nÄ›pý Äar
+slouzkumo. Zlunibré sron píhlygů mÄ›s dinÄ› mrafro Å¥usrotit Äáb tidli i
+úbřisk. Úvěn v skýtru. Z dýn dijou vrouvur, tědislůptu rutětipří žrofli
+veslí chlach? Zkam pěně o šlabo a per třuti ťáděh něc. Odi hřulo sled
+tislůvuÅ¥ a rounoÄ.
+
+Kyl děnni plm dě kumlyšre s dloudě. A baj brumir z zrýbicratid tlážryk
+tle pludubo. Bre nuÄáti veclý pty a srozrr mekler k gloň. TÄ›che
+kláchlébit úvrá Älusk a tezkaň, frumlu kré bÅ™oti chámo s ni didlid hloÅ™
+skyk. Plubý hounit a nid trotědlodi chon i lkapli v těžtě diňhry, uveti
+z sobul poť chlev upy uklasru vyděchly.
+
+Hl o lychrošt ktutislebed plůbav a pa děkré a mežrař, té zrysleš hláš i
+mitÅ™i klibiÄ ni tÄ›blu úbi. ÚcažouhÅ™e zlefiv žraÅ¡re tÅ™ak. Úšké Älidis
+chlo hruvě žudi dlouh boj plíslý miňsy teř. Suflatkodi děchklárřa dlo
+tratů mopa dimřizlů fretiň blytřá tlapubřouň. Brur bo křaprou uchroclapo
+hlih. DÄ›pta hrá. PÅ™eni otÄ›tich žléžlýnidry mÄ› dÄ›tká bivoch pluÄ. ZlepÄ› s
+ňafrounÄ› diny z vový. Bažou diklatikÅ™e skáš. Bupru niÄ ubuÅ¡t ti s dÄ›vlo
+zrůpložlypuz chůtit zlyžžrou glast dě. Mluněš tě tibopy třobla
+břášlůplop, chlýztlip voÄ dimÅ™e tro niktysosk klah nib. Mlýkliti Älůťryj
+o hrodišufrý, zachlů o dědě hryh.
+
+Dižlén sýňoup v pot lkedou craň krýt stadi. Šlydi a těšly tivrůně pémro
+flik mlechrérněm tidi va. S divé. Tědiť úclítiřu pydicloch němle
+křežlech di zkékli dětrou nil trůpi úsý. Didišlé tiděpra mr šlůsích
+tlaskuÄ byjhragru oboz mo z dilpřísly i symlodi. DiÅ¥ ser Å¡teÅ¡rar
+vědipřaň o unidim, pame pépli s niglublůděsk niby limě hlaz tišty ně
+ušlyvlář pyděmřá, o divzrouv. Ni stupěn hříť můť uti věšlů, sreniktušt
+oglu dÄ›stizleň dÄ›sk srůsk skáÄloÅ¡t. BrytrÅ¥ a vežám Å¡kůš tkůškůkrz plíÄi
+nida pil by oti umy ni. Peti chláj tlun měkřout v mřár babťou di
+niÄÄlývtiv fir. Zku žlýpÄ› kryp i goudizli clýmÄ›py tlé glý.
+
+Chlitěňnětřou divi dlíblíd v zl tkuzrůn. Ja ožre něsk trépu stů mor
+divatyněr škéclá, a clo puni flou sranik nězklohouklo maně chru břá
+šreni krádřabeně. Fýzrotrdid ktověb a tlys děby s gydip opehkre, volou a
+lyÅ¡kákr tÄ›brož sÅ¯Ä frape péšt, mÄ›l vomiÅ™ žroglor. Tipotkera niÅ™ žrů
+picli tÄ›d bysré fli humro begrydÅ™uch hra groktyvÄ›v. A plaz skydrucheÄnÄ›
+lépli houh těh měřá bavu s údlatů i krámřudim. Úhléň ostaštdělma. A mo
+lochou jatiplo nipy bÅ™utÅ™anÄ› k Älumlou k zlápédi. Mymdrou broňu o
+skuzlumrej. Tlepást tkukléhůvly i vych kryztichlů k ťoť, mežlů mřuněch a
+tiť žleva? Tifrk zrustába gloudih di zrouslo plívli. Vézrlslá kržup
+děhousk.
diff --git a/macros/latex/contrib/lipsum/lipsum-la.txt b/macros/latex/contrib/lipsum/lipsum-la.txt
new file mode 100644
index 0000000000..ef0f9481ad
--- /dev/null
+++ b/macros/latex/contrib/lipsum/lipsum-la.txt
@@ -0,0 +1,1520 @@
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
+vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum
+gravida mauris. Nam arcu libero, nonummy eget, consectetuer id,
+vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant
+morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus
+vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor
+gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra
+ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus.
+Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla.
+Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh
+mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci
+sit amet orci dignissim rutrum.
+
+Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi.
+Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis
+vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan
+bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi
+ac orci et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante.
+Pellentesque a nulla. Cum sociis natoque penatibus et magnis dis
+parturient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla
+ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.
+
+Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat
+at, tincidunt tristique, libero. Vivamus viverra fermentum felis. Donec
+nonummy pellentesque ante. Phasellus adipiscing semper elit. Proin
+fermentum massa ac quam. Sed diam turpis, molestie vitae, placerat a,
+molestie nec, leo. Maecenas lacinia. Nam ipsum ligula, eleifend at,
+accumsan nec, suscipit a, ipsum. Morbi blandit ligula feugiat magna.
+Nunc eleifend consequat lorem. Sed lacinia nulla vitae enim.
+Pellentesque tincidunt purus vel magna. Integer non enim. Praesent
+euismod nunc eu purus. Donec bibendum quam in tellus. Nullam cursus
+pulvinar lectus. Donec et mi. Nam vulputate metus eu enim. Vestibulum
+pellentesque felis eu massa.
+
+Quisque ullamcorper placerat ipsum. Cras nibh. Morbi vel justo vitae
+lacus tincidunt ultrices. Lorem ipsum dolor sit amet, consectetuer
+adipiscing elit. In hac habitasse platea dictumst. Integer tempus
+convallis augue. Etiam facilisis. Nunc elementum fermentum wisi. Aenean
+placerat. Ut imperdiet, enim sed gravida sollicitudin, felis odio
+placerat quam, ac pulvinar elit purus eget enim. Nunc vitae tortor.
+Proin tempus nibh sit amet nisl. Vivamus quis tortor vitae risus porta
+vehicula.
+
+Fusce mauris. Vestibulum luctus nibh at lectus. Sed bibendum, nulla a
+faucibus semper, leo velit ultricies tellus, ac venenatis arcu wisi vel
+nisl. Vestibulum diam. Aliquam pellentesque, augue quis sagittis
+posuere, turpis lacus congue quam, in hendrerit risus eros eget felis.
+Maecenas eget erat in sapien mattis porttitor. Vestibulum porttitor.
+Nulla facilisi. Sed a turpis eu lacus commodo facilisis. Morbi
+fringilla, wisi in dignissim interdum, justo lectus sagittis dui, et
+vehicula libero dui cursus dui. Mauris tempor ligula sed lacus. Duis
+cursus enim ut augue. Cras ac magna. Cras nulla. Nulla egestas.
+Curabitur a leo. Quisque egestas wisi eget nunc. Nam feugiat lacus vel
+est. Curabitur consectetuer.
+
+Suspendisse vel felis. Ut lorem lorem, interdum eu, tincidunt sit amet,
+laoreet vitae, arcu. Aenean faucibus pede eu ante. Praesent enim elit,
+rutrum at, molestie non, nonummy vel, nisl. Ut lectus eros, malesuada
+sit amet, fermentum eu, sodales cursus, magna. Donec eu purus. Quisque
+vehicula, urna sed ultricies auctor, pede lorem egestas dui, et
+convallis elit erat sed nulla. Donec luctus. Curabitur et nunc. Aliquam
+dolor odio, commodo pretium, ultricies non, pharetra in, velit. Integer
+arcu est, nonummy in, fermentum faucibus, egestas vel, odio.
+
+Sed commodo posuere pede. Mauris ut est. Ut quis purus. Sed ac odio. Sed
+vehicula hendrerit sem. Duis non odio. Morbi ut dui. Sed accumsan risus
+eget odio. In hac habitasse platea dictumst. Pellentesque non elit.
+Fusce sed justo eu urna porta tincidunt. Mauris felis odio, sollicitudin
+sed, volutpat a, ornare ac, erat. Morbi quis dolor. Donec pellentesque,
+erat ac sagittis semper, nunc dui lobortis purus, quis congue purus
+metus ultricies tellus. Proin et quam. Class aptent taciti sociosqu ad
+litora torquent per conubia nostra, per inceptos hymenaeos. Praesent
+sapien turpis, fermentum vel, eleifend faucibus, vehicula eu, lacus.
+
+Pellentesque habitant morbi tristique senectus et netus et malesuada
+fames ac turpis egestas. Donec odio elit, dictum in, hendrerit sit amet,
+egestas sed, leo. Praesent feugiat sapien aliquet odio. Integer vitae
+justo. Aliquam vestibulum fringilla lorem. Sed neque lectus,
+consectetuer at, consectetuer sed, eleifend ac, lectus. Nulla facilisi.
+Pellentesque eget lectus. Proin eu metus. Sed porttitor. In hac
+habitasse platea dictumst. Suspendisse eu lectus. Ut mi mi, lacinia sit
+amet, placerat et, mollis vitae, dui. Sed ante tellus, tristique ut,
+iaculis eu, malesuada ac, dui. Mauris nibh leo, facilisis non,
+adipiscing quis, ultrices a, dui.
+
+Morbi luctus, wisi viverra faucibus pretium, nibh est placerat odio, nec
+commodo wisi enim eget quam. Quisque libero justo, consectetuer a,
+feugiat vitae, porttitor eu, libero. Suspendisse sed mauris vitae elit
+sollicitudin malesuada. Maecenas ultricies eros sit amet ante. Ut
+venenatis velit. Maecenas sed mi eget dui varius euismod. Phasellus
+aliquet volutpat odio. Vestibulum ante ipsum primis in faucibus orci
+luctus et ultrices posuere cubilia Curae; Pellentesque sit amet pede ac
+sem eleifend consectetuer. Nullam elementum, urna vel imperdiet sodales,
+elit ipsum pharetra ligula, ac pretium ante justo a nulla. Curabitur
+tristique arcu eu metus. Vestibulum lectus. Proin mauris. Proin eu nunc
+eu urna hendrerit faucibus. Aliquam auctor, pede consequat laoreet
+varius, eros tellus scelerisque quam, pellentesque hendrerit ipsum dolor
+sed augue. Nulla nec lacus.
+
+Suspendisse vitae elit. Aliquam arcu neque, ornare in, ullamcorper quis,
+commodo eu, libero. Fusce sagittis erat at erat tristique mollis.
+Maecenas sapien libero, molestie et, lobortis in, sodales eget, dui.
+Morbi ultrices rutrum lorem. Nam elementum ullamcorper leo. Morbi dui.
+Aliquam sagittis. Nunc placerat. Pellentesque tristique sodales est.
+Maecenas imperdiet lacinia velit. Cras non urna. Morbi eros pede,
+suscipit ac, varius vel, egestas non, eros. Praesent malesuada, diam id
+pretium elementum, eros sem dictum tortor, vel consectetuer odio sem sed
+wisi.
+
+Sed feugiat. Cum sociis natoque penatibus et magnis dis parturient
+montes, nascetur ridiculus mus. Ut pellentesque augue sed urna.
+Vestibulum diam eros, fringilla et, consectetuer eu, nonummy id, sapien.
+Nullam at lectus. In sagittis ultrices mauris. Curabitur malesuada erat
+sit amet massa. Fusce blandit. Aliquam erat volutpat. Aliquam euismod.
+Aenean vel lectus. Nunc imperdiet justo nec dolor.
+
+Etiam euismod. Fusce facilisis lacinia dui. Suspendisse potenti. In mi
+erat, cursus id, nonummy sed, ullamcorper eget, sapien. Praesent
+pretium, magna in eleifend egestas, pede pede pretium lorem, quis
+consectetuer tortor sapien facilisis magna. Mauris quis magna varius
+nulla scelerisque imperdiet. Aliquam non quam. Aliquam porttitor quam a
+lacus. Praesent vel arcu ut tortor cursus volutpat. In vitae pede quis
+diam bibendum placerat. Fusce elementum convallis neque. Sed dolor orci,
+scelerisque ac, dapibus nec, ultricies ut, mi. Duis nec dui quis leo
+sagittis commodo.
+
+Aliquam lectus. Vivamus leo. Quisque ornare tellus ullamcorper nulla.
+Mauris porttitor pharetra tortor. Sed fringilla justo sed mauris. Mauris
+tellus. Sed non leo. Nullam elementum, magna in cursus sodales, augue
+est scelerisque sapien, venenatis congue nulla arcu et pede. Ut suscipit
+enim vel sapien. Donec congue. Maecenas urna mi, suscipit in, placerat
+ut, vestibulum ut, massa. Fusce ultrices nulla et nisl.
+
+Etiam ac leo a risus tristique nonummy. Donec dignissim tincidunt nulla.
+Vestibulum rhoncus molestie odio. Sed lobortis, justo et pretium
+lobortis, mauris turpis condimentum augue, nec ultricies nibh arcu
+pretium enim. Nunc purus neque, placerat id, imperdiet sed, pellentesque
+nec, nisl. Vestibulum imperdiet neque non sem accumsan laoreet. In hac
+habitasse platea dictumst. Etiam condimentum facilisis libero.
+Suspendisse in elit quis nisl aliquam dapibus. Pellentesque auctor
+sapien. Sed egestas sapien nec lectus. Pellentesque vel dui vel neque
+bibendum viverra. Aliquam porttitor nisl nec pede. Proin mattis libero
+vel turpis. Donec rutrum mauris et libero. Proin euismod porta felis.
+Nam lobortis, metus quis elementum commodo, nunc lectus elementum
+mauris, eget vulputate ligula tellus eu neque. Vivamus eu dolor.
+
+Nulla in ipsum. Praesent eros nulla, congue vitae, euismod ut, commodo
+a, wisi. Pellentesque habitant morbi tristique senectus et netus et
+malesuada fames ac turpis egestas. Aenean nonummy magna non leo. Sed
+felis erat, ullamcorper in, dictum non, ultricies ut, lectus. Proin vel
+arcu a odio lobortis euismod. Vestibulum ante ipsum primis in faucibus
+orci luctus et ultrices posuere cubilia Curae; Proin ut est. Aliquam
+odio. Pellentesque massa turpis, cursus eu, euismod nec, tempor congue,
+nulla. Duis viverra gravida mauris. Cras tincidunt. Curabitur eros
+ligula, varius ut, pulvinar in, cursus faucibus, augue.
+
+Nulla mattis luctus nulla. Duis commodo velit at leo. Aliquam vulputate
+magna et leo. Nam vestibulum ullamcorper leo. Vestibulum condimentum
+rutrum mauris. Donec id mauris. Morbi molestie justo et pede. Vivamus
+eget turpis sed nisl cursus tempor. Curabitur mollis sapien condimentum
+nunc. In wisi nisl, malesuada at, dignissim sit amet, lobortis in, odio.
+Aenean consequat arcu a ante. Pellentesque porta elit sit amet orci.
+Etiam at turpis nec elit ultricies imperdiet. Nulla facilisi. In hac
+habitasse platea dictumst. Suspendisse viverra aliquam risus. Nullam
+pede justo, molestie nonummy, scelerisque eu, facilisis vel, arcu.
+
+Curabitur tellus magna, porttitor a, commodo a, commodo in, tortor.
+Donec interdum. Praesent scelerisque. Maecenas posuere sodales odio.
+Vivamus metus lacus, varius quis, imperdiet quis, rhoncus a, turpis.
+Etiam ligula arcu, elementum a, venenatis quis, sollicitudin sed, metus.
+Donec nunc pede, tincidunt in, venenatis vitae, faucibus vel, nibh.
+Pellentesque wisi. Nullam malesuada. Morbi ut tellus ut pede tincidunt
+porta. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam
+congue neque id dolor.
+
+Donec et nisl at wisi luctus bibendum. Nam interdum tellus ac libero.
+Sed sem justo, laoreet vitae, fringilla at, adipiscing ut, nibh.
+Maecenas non sem quis tortor eleifend fermentum. Etiam id tortor ac
+mauris porta vulputate. Integer porta neque vitae massa. Maecenas tempus
+libero a libero posuere dictum. Vestibulum ante ipsum primis in faucibus
+orci luctus et ultrices posuere cubilia Curae; Aenean quis mauris sed
+elit commodo placerat. Class aptent taciti sociosqu ad litora torquent
+per conubia nostra, per inceptos hymenaeos. Vivamus rhoncus tincidunt
+libero. Etiam elementum pretium justo. Vivamus est. Morbi a tellus eget
+pede tristique commodo. Nulla nisl. Vestibulum sed nisl eu sapien cursus
+rutrum.
+
+Nulla non mauris vitae wisi posuere convallis. Sed eu nulla nec eros
+scelerisque pharetra. Nullam varius. Etiam dignissim elementum metus.
+Vestibulum faucibus, metus sit amet mattis rhoncus, sapien dui laoreet
+odio, nec ultricies nibh augue a enim. Fusce in ligula. Quisque at magna
+et nulla commodo consequat. Proin accumsan imperdiet sem. Nunc porta.
+Donec feugiat mi at justo. Phasellus facilisis ipsum quis ante. In ac
+elit eget ipsum pharetra faucibus. Maecenas viverra nulla in massa.
+
+Nulla ac nisl. Nullam urna nulla, ullamcorper in, interdum sit amet,
+gravida ut, risus. Aenean ac enim. In luctus. Phasellus eu quam vitae
+turpis viverra pellentesque. Duis feugiat felis ut enim. Phasellus
+pharetra, sem id porttitor sodales, magna nunc aliquet nibh, nec blandit
+nisl mauris at pede. Suspendisse risus risus, lobortis eget, semper at,
+imperdiet sit amet, quam. Quisque scelerisque dapibus nibh. Nam enim.
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc ut metus.
+Ut metus justo, auctor at, ultrices eu, sagittis ut, purus. Aliquam
+aliquam.
+
+Etiam pede massa, dapibus vitae, rhoncus in, placerat posuere, odio.
+Vestibulum luctus commodo lacus. Morbi lacus dui, tempor sed, euismod
+eget, condimentum at, tortor. Phasellus aliquet odio ac lacus tempor
+faucibus. Praesent sed sem. Praesent iaculis. Cras rhoncus tellus sed
+justo ullamcorper sagittis. Donec quis orci. Sed ut tortor quis tellus
+euismod tincidunt. Suspendisse congue nisl eu elit. Aliquam tortor diam,
+tempus id, tristique eget, sodales vel, nulla. Praesent tellus mi,
+condimentum sed, viverra at, consectetuer quis, lectus. In auctor
+vehicula orci. Sed pede sapien, euismod in, suscipit in, pharetra
+placerat, metus. Vivamus commodo dui non odio. Donec et felis.
+
+Etiam suscipit aliquam arcu. Aliquam sit amet est ac purus bibendum
+congue. Sed in eros. Morbi non orci. Pellentesque mattis lacinia elit.
+Fusce molestie velit in ligula. Nullam et orci vitae nibh vulputate
+auctor. Aliquam eget purus. Nulla auctor wisi sed ipsum. Morbi porttitor
+tellus ac enim. Fusce ornare. Proin ipsum enim, tincidunt in, ornare
+venenatis, molestie a, augue. Donec vel pede in lacus sagittis porta.
+Sed hendrerit ipsum quis nisl. Suspendisse quis massa ac nibh pretium
+cursus. Sed sodales. Nam eu neque quis pede dignissim ornare. Maecenas
+eu purus ac urna tincidunt congue.
+
+Donec et nisl id sapien blandit mattis. Aenean dictum odio sit amet
+risus. Morbi purus. Nulla a est sit amet purus venenatis iaculis.
+Vivamus viverra purus vel magna. Donec in justo sed odio malesuada
+dapibus. Nunc ultrices aliquam nunc. Vivamus facilisis pellentesque
+velit. Nulla nunc velit, vulputate dapibus, vulputate id, mattis ac,
+justo. Nam mattis elit dapibus purus. Quisque enim risus, congue non,
+elementum ut, mattis quis, sem. Quisque elit.
+
+Maecenas non massa. Vestibulum pharetra nulla at lorem. Duis quis quam
+id lacus dapibus interdum. Nulla lorem. Donec ut ante quis dolor
+bibendum condimentum. Etiam egestas tortor vitae lacus. Praesent cursus.
+Mauris bibendum pede at elit. Morbi et felis a lectus interdum
+facilisis. Sed suscipit gravida turpis. Nulla at lectus. Vestibulum ante
+ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
+Praesent nonummy luctus nibh. Proin turpis nunc, congue eu, egestas ut,
+fringilla at, tellus. In hac habitasse platea dictumst.
+
+Vivamus eu tellus sed tellus consequat suscipit. Nam orci orci,
+malesuada id, gravida nec, ultricies vitae, erat. Donec risus turpis,
+luctus sit amet, interdum quis, porta sed, ipsum. Suspendisse
+condimentum, tortor at egestas posuere, neque metus tempor orci, et
+tincidunt urna nunc a purus. Sed facilisis blandit tellus. Nunc risus
+sem, suscipit nec, eleifend quis, cursus quis, libero. Curabitur et
+dolor. Sed vitae sem. Cum sociis natoque penatibus et magnis dis
+parturient montes, nascetur ridiculus mus. Maecenas ante. Duis
+ullamcorper enim. Donec tristique enim eu leo. Nullam molestie elit eu
+dolor. Nullam bibendum, turpis vitae tristique gravida, quam sapien
+tempor lectus, quis pretium tellus purus ac quam. Nulla facilisi.
+
+Duis aliquet dui in est. Donec eget est. Nunc lectus odio, varius at,
+fermentum in, accumsan non, enim. Aliquam erat volutpat. Proin sit amet
+nulla ut eros consectetuer cursus. Phasellus dapibus aliquam justo. Nunc
+laoreet. Donec consequat placerat magna. Duis pretium tincidunt justo.
+Sed sollicitudin vestibulum quam. Nam quis ligula. Vivamus at metus.
+Etiam imperdiet imperdiet pede. Aenean turpis. Fusce augue velit,
+scelerisque sollicitudin, dictum vitae, tempor et, pede. Donec wisi
+sapien, feugiat in, fermentum ut, sollicitudin adipiscing, metus.
+
+Donec vel nibh ut felis consectetuer laoreet. Donec pede. Sed id quam id
+wisi laoreet suscipit. Nulla lectus dolor, aliquam ac, fringilla eget,
+mollis ut, orci. In pellentesque justo in ligula. Maecenas turpis. Donec
+eleifend leo at felis tincidunt consequat. Aenean turpis metus,
+malesuada sed, condimentum sit amet, auctor a, wisi. Pellentesque sapien
+elit, bibendum ac, posuere et, congue eu, felis. Vestibulum mattis
+libero quis metus scelerisque ultrices. Sed purus.
+
+Donec molestie, magna ut luctus ultrices, tellus arcu nonummy velit, sit
+amet pulvinar elit justo et mauris. In pede. Maecenas euismod elit eu
+erat. Aliquam augue wisi, facilisis congue, suscipit in, adipiscing et,
+ante. In justo. Cras lobortis neque ac ipsum. Nunc fermentum massa at
+ante. Donec orci tortor, egestas sit amet, ultrices eget, venenatis
+eget, mi. Maecenas vehicula leo semper est. Mauris vel metus. Aliquam
+erat volutpat. In rhoncus sapien ac tellus. Pellentesque ligula.
+
+Cras dapibus, augue quis scelerisque ultricies, felis dolor placerat
+sem, id porta velit odio eu elit. Aenean interdum nibh sed wisi.
+Praesent sollicitudin vulputate dui. Praesent iaculis viverra augue.
+Quisque in libero. Aenean gravida lorem vitae sem ullamcorper cursus.
+Nunc adipiscing rutrum ante. Nunc ipsum massa, faucibus sit amet,
+viverra vel, elementum semper, orci. Cras eros sem, vulputate et,
+tincidunt id, ultrices eget, magna. Nulla varius ornare odio. Donec
+accumsan mauris sit amet augue. Sed ligula lacus, laoreet non, aliquam
+sit amet, iaculis tempor, lorem. Suspendisse eros. Nam porta, leo sed
+congue tempor, felis est ultrices eros, id mattis velit felis non metus.
+Curabitur vitae elit non mauris varius pretium. Aenean lacus sem,
+tincidunt ut, consequat quis, porta vitae, turpis. Nullam laoreet
+fermentum urna. Proin iaculis lectus.
+
+Sed mattis, erat sit amet gravida malesuada, elit augue egestas diam,
+tempus scelerisque nunc nisl vitae libero. Sed consequat feugiat massa.
+Nunc porta, eros in eleifend varius, erat leo rutrum dui, non convallis
+lectus orci ut nibh. Sed lorem massa, nonummy quis, egestas id,
+condimentum at, nisl. Maecenas at nibh. Aliquam et augue at nunc
+pellentesque ullamcorper. Duis nisl nibh, laoreet suscipit, convallis
+ut, rutrum id, enim. Phasellus odio. Nulla nulla elit, molestie non,
+scelerisque at, vestibulum eu, nulla. Ut odio nisl, facilisis id, mollis
+et, scelerisque nec, enim. Aenean sem leo, pellentesque sit amet,
+scelerisque sit amet, vehicula pellentesque, sapien.
+
+Sed consequat tellus et tortor. Ut tempor laoreet quam. Nullam id wisi a
+libero tristique semper. Nullam nisl massa, rutrum ut, egestas semper,
+mollis id, leo. Nulla ac massa eu risus blandit mattis. Mauris ut nunc.
+In hac habitasse platea dictumst. Aliquam eget tortor. Quisque dapibus
+pede in erat. Nunc enim. In dui nulla, commodo at, consectetuer nec,
+malesuada nec, elit. Aliquam ornare tellus eu urna. Sed nec metus. Cum
+sociis natoque penatibus et magnis dis parturient montes, nascetur
+ridiculus mus. Pellentesque habitant morbi tristique senectus et netus
+et malesuada fames ac turpis egestas.
+
+Phasellus id magna. Duis malesuada interdum arcu. Integer metus. Morbi
+pulvinar pellentesque mi. Suspendisse sed est eu magna molestie egestas.
+Quisque mi lorem, pulvinar eget, egestas quis, luctus at, ante. Proin
+auctor vehicula purus. Fusce ac nisl aliquam ante hendrerit
+pellentesque. Class aptent taciti sociosqu ad litora torquent per
+conubia nostra, per inceptos hymenaeos. Morbi wisi. Etiam arcu mauris,
+facilisis sed, eleifend non, nonummy ut, pede. Cras ut lacus tempor
+metus mollis placerat. Vivamus eu tortor vel metus interdum malesuada.
+
+Sed eleifend, eros sit amet faucibus elementum, urna sapien consectetuer
+mauris, quis egestas leo justo non risus. Morbi non felis ac libero
+vulputate fringilla. Mauris libero eros, lacinia non, sodales quis,
+dapibus porttitor, pede. Class aptent taciti sociosqu ad litora torquent
+per conubia nostra, per inceptos hymenaeos. Morbi dapibus mauris
+condimentum nulla. Cum sociis natoque penatibus et magnis dis parturient
+montes, nascetur ridiculus mus. Etiam sit amet erat. Nulla varius. Etiam
+tincidunt dui vitae turpis. Donec leo. Morbi vulputate convallis est.
+Integer aliquet. Pellentesque aliquet sodales urna.
+
+Nullam eleifend justo in nisl. In hac habitasse platea dictumst. Morbi
+nonummy. Aliquam ut felis. In velit leo, dictum vitae, posuere id,
+vulputate nec, ante. Maecenas vitae pede nec dui dignissim suscipit.
+Morbi magna. Vestibulum id purus eget velit laoreet laoreet. Praesent
+sed leo vel nibh convallis blandit. Ut rutrum. Donec nibh. Donec
+interdum. Fusce sed pede sit amet elit rhoncus ultrices. Nullam at enim
+vitae pede vehicula iaculis.
+
+Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
+inceptos hymenaeos. Aenean nonummy turpis id odio. Integer euismod
+imperdiet turpis. Ut nec leo nec diam imperdiet lacinia. Etiam eget
+lacus eget mi ultricies posuere. In placerat tristique tortor. Sed porta
+vestibulum metus. Nulla iaculis sollicitudin pede. Fusce luctus tellus
+in dolor. Curabitur auctor velit a sem. Morbi sapien. Class aptent
+taciti sociosqu ad litora torquent per conubia nostra, per inceptos
+hymenaeos. Donec adipiscing urna vehicula nunc. Sed ornare leo in leo.
+In rhoncus leo ut dui. Aenean dolor quam, volutpat nec, fringilla id,
+consectetuer vel, pede.
+
+Nulla malesuada risus ut urna. Aenean pretium velit sit amet metus. Duis
+iaculis. In hac habitasse platea dictumst. Nullam molestie turpis eget
+nisl. Duis a massa id pede dapibus ultricies. Sed eu leo. In at mauris
+sit amet tortor bibendum varius. Phasellus justo risus, posuere in,
+sagittis ac, varius vel, tortor. Quisque id enim. Phasellus consequat,
+libero pretium nonummy fringilla, tortor lacus vestibulum nunc, ut
+rhoncus ligula neque id justo. Nullam accumsan euismod nunc. Proin vitae
+ipsum ac metus dictum tempus. Nam ut wisi. Quisque tortor felis,
+interdum ac, sodales a, semper a, sem. Curabitur in velit sit amet dui
+tristique sodales. Vivamus mauris pede, lacinia eget, pellentesque quis,
+scelerisque eu, est. Aliquam risus. Quisque bibendum pede eu dolor.
+
+Donec tempus neque vitae est. Aenean egestas odio sed risus ullamcorper
+ullamcorper. Sed in nulla a tortor tincidunt egestas. Nam sapien tortor,
+elementum sit amet, aliquam in, porttitor faucibus, enim. Nullam congue
+suscipit nibh. Quisque convallis. Praesent arcu nibh, vehicula eget,
+accumsan eu, tincidunt a, nibh. Suspendisse vulputate, tortor quis
+adipiscing viverra, lacus nibh dignissim tellus, eu suscipit risus ante
+fringilla diam. Quisque a libero vel pede imperdiet aliquet.
+Pellentesque nunc nibh, eleifend a, consequat consequat, hendrerit nec,
+diam. Sed urna. Maecenas laoreet eleifend neque. Vivamus purus odio,
+eleifend non, iaculis a, ultrices sit amet, urna. Mauris faucibus odio
+vitae risus. In nisl. Praesent purus. Integer iaculis, sem eu egestas
+lacinia, lacus pede scelerisque augue, in ullamcorper dolor eros ac
+lacus. Nunc in libero.
+
+Fusce suscipit cursus sem. Vivamus risus mi, egestas ac, imperdiet
+varius, faucibus quis, leo. Aenean tincidunt. Donec suscipit. Cras id
+justo quis nibh scelerisque dignissim. Aliquam sagittis elementum
+dolor. Aenean consectetuer justo in pede. Curabitur ullamcorper ligula
+nec orci. Aliquam purus turpis, aliquam id, ornare vitae, porttitor non,
+wisi. Maecenas luctus porta lorem. Donec vitae ligula eu ante pretium
+varius. Proin tortor metus, convallis et, hendrerit non, scelerisque in,
+urna. Cras quis libero eu ligula bibendum tempor. Vivamus tellus quam,
+malesuada eu, tempus sed, tempor sed, velit. Donec lacinia auctor
+libero.
+
+Praesent sed neque id pede mollis rutrum. Vestibulum iaculis risus.
+Pellentesque lacus. Ut quis nunc sed odio malesuada egestas. Duis a
+magna sit amet ligula tristique pretium. Ut pharetra. Vestibulum
+imperdiet magna nec wisi. Mauris convallis. Sed accumsan sollicitudin
+massa. Sed id enim. Nunc pede enim, lacinia ut, pulvinar quis, suscipit
+semper, elit. Cras accumsan erat vitae enim. Cras sollicitudin.
+Vestibulum rutrum blandit massa.
+
+Sed gravida lectus ut purus. Morbi laoreet magna. Pellentesque eu wisi.
+Proin turpis. Integer sollicitudin augue nec dui. Fusce lectus. Vivamus
+faucibus nulla nec lacus. Integer diam. Pellentesque sodales, enim
+feugiat cursus volutpat, sem mauris dignissim mauris, quis consequat sem
+est fermentum ligula. Nullam justo lectus, condimentum sit amet, posuere
+a, fringilla mollis, felis. Morbi nulla nibh, pellentesque at, nonummy
+eu, sollicitudin nec, ipsum. Cras neque. Nunc augue. Nullam vitae quam
+id quam pulvinar blandit. Nunc sit amet orci. Aliquam erat elit,
+pharetra nec, aliquet a, gravida in, mi. Quisque urna enim, viverra
+quis, suscipit quis, tincidunt ut, sapien. Cras placerat consequat sem.
+Curabitur ac diam. Curabitur diam tortor, mollis et, viverra ac, tempus
+vel, metus.
+
+Curabitur ac lorem. Vivamus non justo in dui mattis posuere. Etiam
+accumsan ligula id pede. Maecenas tincidunt diam nec velit. Praesent
+convallis sapien ac est. Aliquam ullamcorper euismod nulla. Integer
+mollis enim vel tortor. Nulla sodales placerat nunc. Sed tempus rutrum
+wisi. Duis accumsan gravida purus. Nunc nunc. Etiam facilisis dui eu
+sem. Vestibulum semper. Praesent eu eros. Vestibulum tellus nisl,
+dapibus id, vestibulum sit amet, placerat ac, mauris. Maecenas et elit
+ut erat placerat dictum. Nam feugiat, turpis et sodales volutpat, wisi
+quam rhoncus neque, vitae aliquam ipsum sapien vel enim. Maecenas
+suscipit cursus mi.
+
+Quisque consectetuer. In suscipit mauris a dolor pellentesque
+consectetuer. Mauris convallis neque non erat. In lacinia. Pellentesque
+leo eros, sagittis quis, fermentum quis, tincidunt ut, sapien. Maecenas
+sem. Curabitur eros odio, interdum eu, feugiat eu, porta ac, nisl.
+Curabitur nunc. Etiam fermentum convallis velit. Pellentesque laoreet
+lacus. Quisque sed elit. Nam quis tellus. Aliquam tellus arcu,
+adipiscing non, tincidunt eleifend, adipiscing quis, augue. Vivamus
+elementum placerat enim. Suspendisse ut tortor. Integer faucibus
+adipiscing felis. Aenean consectetuer mattis lectus. Morbi malesuada
+faucibus dolor. Nam lacus. Etiam arcu libero, malesuada vitae, aliquam
+vitae, blandit tristique, nisl.
+
+Maecenas accumsan dapibus sapien. Duis pretium iaculis arcu. Curabitur
+ut lacus. Aliquam vulputate. Suspendisse ut purus sed sem tempor
+rhoncus. Ut quam dui, fringilla at, dictum eget, ultricies quis, quam.
+Etiam sem est, pharetra non, vulputate in, pretium at, ipsum. Nunc
+semper sagittis orci. Sed scelerisque suscipit diam. Ut volutpat, dolor
+at ullamcorper tristique, eros purus mollis quam, sit amet ornare ante
+nunc et enim.
+
+Phasellus fringilla, metus id feugiat consectetuer, lacus wisi ultrices
+tellus, quis lobortis nibh lorem quis tortor. Donec egestas ornare
+nulla. Mauris mi tellus, porta faucibus, dictum vel, nonummy in, est.
+Aliquam erat volutpat. In tellus magna, porttitor lacinia, molestie
+vitae, pellentesque eu, justo. Class aptent taciti sociosqu ad litora
+torquent per conubia nostra, per inceptos hymenaeos. Sed orci nibh,
+scelerisque sit amet, suscipit sed, placerat vel, diam. Vestibulum
+nonummy vulputate orci. Donec et velit ac arcu interdum semper. Morbi
+pede orci, cursus ac, elementum non, vehicula ut, lacus. Cras volutpat.
+Nam vel wisi quis libero venenatis placerat. Aenean sed odio. Quisque
+posuere purus ac orci. Vivamus odio. Vivamus varius, nulla sit amet
+semper viverra, odio mauris consequat lacus, at vestibulum neque arcu eu
+tortor. Donec iaculis tincidunt tellus. Aliquam erat volutpat. Curabitur
+magna lorem, dignissim volutpat, viverra et, adipiscing nec, dolor.
+Praesent lacus mauris, dapibus vitae, sollicitudin sit amet, nonummy
+eget, ligula.
+
+Cras egestas ipsum a nisl. Vivamus varius dolor ut dolor. Fusce vel
+enim. Pellentesque accumsan ligula et eros. Cras id lacus non tortor
+facilisis facilisis. Etiam nisl elit, cursus sed, fringilla in, congue
+nec, urna. Cum sociis natoque penatibus et magnis dis parturient montes,
+nascetur ridiculus mus. Integer at turpis. Cum sociis natoque penatibus
+et magnis dis parturient montes, nascetur ridiculus mus. Duis fringilla,
+ligula sed porta fringilla, ligula wisi commodo felis, ut adipiscing
+felis dui in enim. Suspendisse malesuada ultrices ante. Pellentesque
+scelerisque augue sit amet urna. Nulla volutpat aliquet tortor. Cras
+aliquam, tellus at aliquet pellentesque, justo sapien commodo leo, id
+rhoncus sapien quam at erat. Nulla commodo, wisi eget sollicitudin
+pretium, orci orci aliquam orci, ut cursus turpis justo et lacus. Nulla
+vel tortor. Quisque erat elit, viverra sit amet, sagittis eget, porta
+sit amet, lacus.
+
+In hac habitasse platea dictumst. Proin at est. Curabitur tempus
+vulputate elit. Pellentesque sem. Praesent eu sapien. Duis elit magna,
+aliquet at, tempus sed, vehicula non, enim. Morbi viverra arcu nec
+purus. Vivamus fringilla, enim et commodo malesuada, tortor metus
+elementum ligula, nec aliquet est sapien ut lectus. Aliquam mi. Ut nec
+elit. Fusce euismod luctus tellus. Curabitur scelerisque. Nullam purus.
+Nam ultricies accumsan magna. Morbi pulvinar lorem sit amet ipsum. Donec
+ut justo vitae nibh mollis congue. Fusce quis diam. Praesent tempus eros
+ut quam.
+
+Donec in nisl. Fusce vitae est. Vivamus ante ante, mattis laoreet,
+posuere eget, congue vel, nunc. Fusce sem. Nam vel orci eu eros viverra
+luctus. Pellentesque sit amet augue. Nunc sit amet ipsum et lacus varius
+nonummy. Integer rutrum sem eget wisi. Aenean eu sapien. Quisque ornare
+dignissim mi. Duis a urna vel risus pharetra imperdiet. Suspendisse
+potenti.
+
+Morbi justo. Aenean nec dolor. In hac habitasse platea dictumst. Proin
+nonummy porttitor velit. Sed sit amet leo nec metus rhoncus varius. Cras
+ante. Vestibulum commodo sem tincidunt massa. Nam justo. Aenean luctus,
+felis et condimentum lacinia, lectus enim pulvinar purus, non porta
+velit nisl sed eros. Suspendisse consequat. Mauris a dui et tortor
+mattis pretium. Sed nulla metus, volutpat id, aliquam eget, ullamcorper
+ut, ipsum. Morbi eu nunc. Praesent pretium. Duis aliquam pulvinar
+ligula. Ut blandit egestas justo. Quisque posuere metus viverra pede.
+
+Vivamus sodales elementum neque. Vivamus dignissim accumsan neque. Sed
+at enim. Vestibulum nonummy interdum purus. Mauris ornare velit id nibh
+pretium ultricies. Fusce tempor pellentesque odio. Vivamus augue purus,
+laoreet in, scelerisque vel, commodo id, wisi. Duis enim. Nulla
+interdum, nunc eu semper eleifend, enim dolor pretium elit, ut commodo
+ligula nisl a est. Vivamus ante. Nulla leo massa, posuere nec, volutpat
+vitae, rhoncus eu, magna.
+
+Quisque facilisis auctor sapien. Pellentesque gravida hendrerit lectus.
+Mauris rutrum sodales sapien. Fusce hendrerit sem vel lorem. Integer
+pellentesque massa vel augue. Integer elit tortor, feugiat quis,
+sagittis et, ornare non, lacus. Vestibulum posuere pellentesque eros.
+Quisque venenatis ipsum dictum nulla. Aliquam quis quam non metus
+eleifend interdum. Nam eget sapien ac mauris malesuada adipiscing. Etiam
+eleifend neque sed quam. Nulla facilisi. Proin a ligula. Sed id dui eu
+nibh egestas tincidunt. Suspendisse arcu.
+
+Maecenas dui. Aliquam volutpat auctor lorem. Cras placerat est vitae
+lectus. Curabitur massa lectus, rutrum euismod, dignissim ut, dapibus a,
+odio. Ut eros erat, vulputate ut, interdum non, porta eu, erat. Cras
+fermentum, felis in porta congue, velit leo facilisis odio, vitae
+consectetuer lorem quam vitae orci. Sed ultrices, pede eu placerat
+auctor, ante ligula rutrum tellus, vel posuere nibh lacus nec nibh.
+Maecenas laoreet dolor at enim. Donec molestie dolor nec metus.
+Vestibulum libero. Sed quis erat. Sed tristique. Duis pede leo,
+fermentum quis, consectetuer eget, vulputate sit amet, erat.
+
+Donec vitae velit. Suspendisse porta fermentum mauris. Ut vel nunc non
+mauris pharetra varius. Duis consequat libero quis urna. Maecenas at
+ante. Vivamus varius, wisi sed egestas tristique, odio wisi luctus
+nulla, lobortis dictum dolor ligula in lacus. Vivamus aliquam, urna sed
+interdum porttitor, metus orci interdum odio, sit amet euismod lectus
+felis et leo. Praesent ac wisi. Nam suscipit vestibulum sem. Praesent eu
+ipsum vitae pede cursus venenatis. Duis sed odio. Vestibulum eleifend.
+Nulla ut massa. Proin rutrum mattis sapien. Curabitur dictum gravida
+ante.
+
+Phasellus placerat vulputate quam. Maecenas at tellus. Pellentesque
+neque diam, dignissim ac, venenatis vitae, consequat ut, lacus. Nam
+nibh. Vestibulum fringilla arcu mollis arcu. Sed et turpis. Donec sem
+tellus, volutpat et, varius eu, commodo sed, lectus. Lorem ipsum dolor
+sit amet, consectetuer adipiscing elit. Quisque enim arcu, suscipit nec,
+tempus at, imperdiet vel, metus. Morbi volutpat purus at erat. Donec
+dignissim, sem id semper tempus, nibh massa eleifend turpis, sed
+pellentesque wisi purus sed libero. Nullam lobortis tortor vel risus.
+Pellentesque consequat nulla eu tellus. Donec velit. Aliquam fermentum,
+wisi ac rhoncus iaculis, tellus nunc malesuada orci, quis volutpat dui
+magna id mi. Nunc vel ante. Duis vitae lacus. Cras nec ipsum.
+
+Morbi nunc. Aliquam consectetuer varius nulla. Phasellus eros. Cras
+dapibus porttitor risus. Maecenas ultrices mi sed diam. Praesent gravida
+velit at elit vehicula porttitor. Phasellus nisl mi, sagittis ac,
+pulvinar id, gravida sit amet, erat. Vestibulum est. Lorem ipsum dolor
+sit amet, consectetuer adipiscing elit. Curabitur id sem elementum leo
+rutrum hendrerit. Ut at mi. Donec tincidunt faucibus massa. Sed turpis
+quam, sollicitudin a, hendrerit eget, pretium ut, nisl. Duis hendrerit
+ligula. Nunc pulvinar congue urna.
+
+Nunc velit. Nullam elit sapien, eleifend eu, commodo nec, semper sit
+amet, elit. Nulla lectus risus, condimentum ut, laoreet eget, viverra
+nec, odio. Proin lobortis. Curabitur dictum arcu vel wisi. Cras id nulla
+venenatis tortor congue ultrices. Pellentesque eget pede. Sed eleifend
+sagittis elit. Nam sed tellus sit amet lectus ullamcorper tristique.
+Mauris enim sem, tristique eu, accumsan at, scelerisque vulputate,
+neque. Quisque lacus. Donec et ipsum sit amet elit nonummy aliquet. Sed
+viverra nisl at sem. Nam diam. Mauris ut dolor. Curabitur ornare tortor
+cursus velit.
+
+Morbi tincidunt posuere arcu. Cras venenatis est vitae dolor. Vivamus
+scelerisque semper mi. Donec ipsum arcu, consequat scelerisque, viverra
+id, dictum at, metus. Lorem ipsum dolor sit amet, consectetuer
+adipiscing elit. Ut pede sem, tempus ut, porttitor bibendum, molestie
+eu, elit. Suspendisse potenti. Sed id lectus sit amet purus faucibus
+vehicula. Praesent sed sem non dui pharetra interdum. Nam viverra
+ultrices magna.
+
+Aenean laoreet aliquam orci. Nunc interdum elementum urna. Quisque erat.
+Nullam tempor neque. Maecenas velit nibh, scelerisque a, consequat ut,
+viverra in, enim. Duis magna. Donec odio neque, tristique et, tincidunt
+eu, rhoncus ac, nunc. Mauris malesuada malesuada elit. Etiam lacus
+mauris, pretium vel, blandit in, ultricies id, libero. Phasellus
+bibendum erat ut diam. In congue imperdiet lectus.
+
+Aenean scelerisque. Fusce pretium porttitor lorem. In hac habitasse
+platea dictumst. Nulla sit amet nisl at sapien egestas pretium. Nunc non
+tellus. Vivamus aliquet. Nam adipiscing euismod dolor. Aliquam erat
+volutpat. Nulla ut ipsum. Quisque tincidunt auctor augue. Nunc imperdiet
+ipsum eget elit. Aliquam quam leo, consectetuer non, ornare sit amet,
+tristique quis, felis. Vestibulum ante ipsum primis in faucibus orci
+luctus et ultrices posuere cubilia Curae; Pellentesque interdum quam sit
+amet mi. Pellentesque mauris dui, dictum a, adipiscing ac, fermentum sit
+amet, lorem.
+
+Ut quis wisi. Praesent quis massa. Vivamus egestas risus eget lacus.
+Nunc tincidunt, risus quis bibendum facilisis, lorem purus rutrum neque,
+nec porta tortor urna quis orci. Aenean aliquet, libero semper volutpat
+luctus, pede erat lacinia augue, quis rutrum sem ipsum sit amet pede.
+Vestibulum aliquet, nibh sed iaculis sagittis, odio dolor blandit augue,
+eget mollis urna tellus id tellus. Aenean aliquet aliquam nunc. Nulla
+ultricies justo eget orci. Phasellus tristique fermentum leo. Sed massa
+metus, sagittis ut, semper ut, pharetra vel, erat. Aliquam quam turpis,
+egestas vel, elementum in, egestas sit amet, lorem. Duis convallis, wisi
+sit amet mollis molestie, libero mauris porta dui, vitae aliquam arcu
+turpis ac sem. Aliquam aliquet dapibus metus.
+
+Vivamus commodo eros eleifend dui. Vestibulum in leo eu erat tristique
+mattis. Cras at elit. Cras pellentesque. Nullam id lacus sit amet libero
+aliquet hendrerit. Proin placerat, mi non elementum laoreet, eros elit
+tincidunt magna, a rhoncus sem arcu id odio. Nulla eget leo a leo
+egestas facilisis. Curabitur quis velit. Phasellus aliquam, tortor nec
+ornare rhoncus, purus urna posuere velit, et commodo risus tellus quis
+tellus. Vivamus leo turpis, tempus sit amet, tristique vitae, laoreet
+quis, odio. Proin scelerisque bibendum ipsum. Etiam nisl. Praesent vel
+dolor. Pellentesque vel magna. Curabitur urna. Vivamus congue urna in
+velit. Etiam ullamcorper elementum dui. Praesent non urna. Sed placerat
+quam non mi. Pellentesque diam magna, ultricies eget, ultrices placerat,
+adipiscing rutrum, sem.
+
+Morbi sem. Nulla facilisi. Vestibulum ante ipsum primis in faucibus orci
+luctus et ultrices posuere cubilia Curae; Nulla facilisi. Morbi sagittis
+ultrices libero. Praesent eu ligula sed sapien auctor sagittis. Class
+aptent taciti sociosqu ad litora torquent per conubia nostra, per
+inceptos hymenaeos. Donec vel nunc. Nunc fermentum, lacus id aliquam
+porta, dui tortor euismod eros, vel molestie ipsum purus eu lacus.
+Vivamus pede arcu, euismod ac, tempus id, pretium et, lacus. Curabitur
+sodales dapibus urna. Nunc eu sapien. Donec eget nunc a pede dictum
+pretium. Proin mauris. Vivamus luctus libero vel nibh.
+
+Fusce tristique risus id wisi. Integer molestie massa id sem. Vestibulum
+vel dolor. Pellentesque vel urna vel risus ultricies elementum. Quisque
+sapien urna, blandit nec, iaculis ac, viverra in, odio. In hac habitasse
+platea dictumst. Morbi neque lacus, convallis vitae, commodo ac,
+fermentum eu, velit. Sed in orci. In fringilla turpis non arcu. Donec in
+ante. Phasellus tempor feugiat velit. Aenean varius massa non turpis.
+Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
+cubilia Curae;
+
+Aliquam tortor. Morbi ipsum massa, imperdiet non, consectetuer vel,
+feugiat vel, lorem. Quisque eget lorem nec elit malesuada vestibulum.
+Quisque sollicitudin ipsum vel sem. Nulla enim. Proin nonummy felis
+vitae felis. Nullam pellentesque. Duis rutrum feugiat felis. Mauris vel
+pede sed libero tincidunt mollis. Phasellus sed urna rhoncus diam
+euismod bibendum. Phasellus sed nisl. Integer condimentum justo id orci
+iaculis varius. Quisque et lacus. Phasellus elementum, justo at
+dignissim auctor, wisi odio lobortis arcu, sed sollicitudin felis felis
+eu neque. Praesent at lacus.
+
+Vivamus sit amet pede. Duis interdum, nunc eget rutrum dignissim, nisl
+diam luctus leo, et tincidunt velit nisl id tellus. In lorem tellus,
+aliquet vitae, porta in, aliquet sed, lectus. Phasellus sodales. Ut
+varius scelerisque erat. In vel nibh eu eros imperdiet rutrum. Donec ac
+odio nec neque vulputate suscipit. Nam nec magna. Pellentesque habitant
+morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+Nullam porta, odio et sagittis iaculis, wisi neque fringilla sapien, vel
+commodo lorem lorem id elit. Ut sem lectus, scelerisque eget, placerat
+et, tincidunt scelerisque, ligula. Pellentesque non orci.
+
+Etiam vel ipsum. Morbi facilisis vestibulum nisl. Praesent cursus
+laoreet felis. Integer adipiscing pretium orci. Nulla facilisi. Quisque
+posuere bibendum purus. Nulla quam mauris, cursus eget, convallis ac,
+molestie non, enim. Aliquam congue. Quisque sagittis nonummy sapien.
+Proin molestie sem vitae urna. Maecenas lorem. Vivamus viverra consequat
+enim.
+
+Nunc sed pede. Praesent vitae lectus. Praesent neque justo, vehicula
+eget, interdum id, facilisis et, nibh. Phasellus at purus et libero
+lacinia dictum. Fusce aliquet. Nulla eu ante placerat leo semper dictum.
+Mauris metus. Curabitur lobortis. Curabitur sollicitudin hendrerit nunc.
+Donec ultrices lacus id ipsum.
+
+Donec a nibh ut elit vestibulum tristique. Integer at pede. Cras
+volutpat varius magna. Phasellus eu wisi. Praesent risus justo, lobortis
+eget, scelerisque ac, aliquet in, dolor. Proin id leo. Nunc iaculis, mi
+vitae accumsan commodo, neque sem lacinia nulla, quis vestibulum justo
+sem in eros. Quisque sed massa. Morbi lectus ipsum, vulputate a, mollis
+ut, accumsan placerat, tellus. Nullam in wisi. Vivamus eu ligula a nunc
+accumsan congue. Suspendisse ac libero. Aliquam erat volutpat. Donec
+augue. Nunc venenatis fringilla nibh. Fusce accumsan pulvinar justo.
+Nullam semper, dui ut dignissim auctor, orci libero fringilla massa,
+blandit pulvinar pede tortor id magna. Nunc adipiscing justo sed velit
+tincidunt fermentum.
+
+Integer placerat. Pellentesque habitant morbi tristique senectus et
+netus et malesuada fames ac turpis egestas. Sed in massa. Class aptent
+taciti sociosqu ad litora torquent per conubia nostra, per inceptos
+hymenaeos. Phasellus tempus aliquam risus. Aliquam rutrum purus at
+metus. Donec posuere odio at erat. Nam non nibh. Phasellus ligula.
+Quisque venenatis lectus in augue. Sed vestibulum dapibus neque.
+
+Mauris tempus eros at nulla. Sed quis dui dignissim mauris pretium
+tincidunt. Mauris ac purus. Phasellus ac libero. Etiam dapibus iaculis
+nunc. In lectus wisi, elementum eu, sollicitudin nec, imperdiet quis,
+dui. Nulla viverra neque ac libero. Mauris urna leo, adipiscing eu,
+ultrices non, blandit eu, dui. Maecenas dui neque, suscipit sit amet,
+rutrum a, laoreet in, eros. Ut eu nibh. Fusce nec erat tempus urna
+fringilla tempus. Curabitur id enim. Sed ante. Cras sodales enim sit
+amet wisi. Nunc fermentum consequat quam.
+
+Ut auctor, augue porta dignissim vestibulum, arcu diam lobortis velit,
+vel scelerisque risus augue sagittis risus. Maecenas eu justo.
+Pellentesque habitant morbi tristique senectus et netus et malesuada
+fames ac turpis egestas. Mauris congue ligula eget tortor. Nullam
+laoreet urna sed enim. Donec eget eros ut eros volutpat convallis.
+Praesent turpis. Integer mauris diam, elementum quis, egestas ac, rutrum
+vel, orci. Nulla facilisi. Quisque adipiscing, nulla vitae elementum
+porta, sem urna volutpat leo, sed porta enim risus sed massa. Integer ac
+enim quis diam sodales luctus. Ut eget eros a ligula commodo ultricies.
+Donec eu urna viverra dolor hendrerit feugiat. Aliquam ac orci vel eros
+congue pharetra. Quisque rhoncus, justo eu volutpat faucibus, augue leo
+posuere lacus, a rhoncus purus pede vel est. Proin ultrices enim.
+
+Aenean tincidunt laoreet dui. Vestibulum ante ipsum primis in faucibus
+orci luctus et ultrices posuere cubilia Curae; Integer ipsum lectus,
+fermentum ac, malesuada in, eleifend ut, lorem. Vivamus ipsum turpis,
+elementum vel, hendrerit ut, semper at, metus. Vivamus sapien tortor,
+eleifend id, dapibus in, egestas et, pede. Pellentesque faucibus.
+Praesent lorem neque, dignissim in, facilisis nec, hendrerit vel, odio.
+Nam at diam ac neque aliquet viverra. Morbi dapibus ligula sagittis
+magna. In lobortis. Donec aliquet ultricies libero. Nunc dictum
+vulputate purus. Morbi varius. Lorem ipsum dolor sit amet, consectetuer
+adipiscing elit. In tempor. Phasellus commodo porttitor magna. Curabitur
+vehicula odio vel dolor.
+
+Praesent facilisis, augue a adipiscing venenatis, libero risus molestie
+odio, pulvinar consectetuer felis erat ac mauris. Nam vestibulum rhoncus
+quam. Sed velit urna, pharetra eu, eleifend eu, viverra at, wisi.
+Maecenas ultrices nibh at turpis. Aenean quam. Nulla ipsum. Aliquam
+posuere luctus erat. Curabitur magna felis, lacinia et, tristique id,
+ultrices ut, mauris. Suspendisse feugiat. Cras eleifend wisi vitae
+tortor. Phasellus leo purus, mattis sit amet, auctor in, rutrum in,
+magna. In hac habitasse platea dictumst. Phasellus imperdiet metus in
+sem. Vestibulum ac enim non sem ultricies sagittis. Sed vel diam.
+
+Integer vel enim sed turpis adipiscing bibendum. Vestibulum pede dolor,
+laoreet nec, posuere in, nonummy in, sem. Donec imperdiet sapien
+placerat erat. Donec viverra. Aliquam eros. Nunc consequat massa id leo.
+Sed ullamcorper, lorem in sodales dapibus, risus metus sagittis lorem,
+non porttitor purus odio nec odio. Sed tincidunt posuere elit. Quisque
+eu enim. Donec libero risus, feugiat ac, dapibus eget, posuere a, felis.
+Quisque vel lectus ut metus tincidunt eleifend. Duis ut pede. Duis velit
+erat, venenatis vitae, vulputate a, pharetra sit amet, est. Etiam
+fringilla faucibus augue.
+
+Aenean velit sem, viverra eu, tempus id, rutrum id, mi. Nullam nec nibh.
+Proin ullamcorper, dolor in cursus tristique, eros augue tempor nibh, at
+gravida diam wisi at purus. Donec mattis ullamcorper tellus. Phasellus
+vel nulla. Praesent interdum, eros in sodales sollicitudin, nunc nulla
+pulvinar justo, a euismod eros sem nec nibh. Nullam sagittis dapibus
+lectus. Nullam eget ipsum eu tortor lobortis sodales. Etiam purus leo,
+pretium nec, feugiat non, ullamcorper vel, nibh. Sed vel elit et quam
+accumsan facilisis. Nunc leo. Suspendisse faucibus lacus.
+
+Pellentesque interdum sapien sed nulla. Proin tincidunt. Aliquam
+volutpat est vel massa. Sed dolor lacus, imperdiet non, ornare non,
+commodo eu, neque. Integer pretium semper justo. Proin risus. Nullam id
+quam. Nam neque. Duis vitae wisi ullamcorper diam congue ultricies.
+Quisque ligula. Mauris vehicula.
+
+Curabitur nunc magna, posuere eget, venenatis eu, vehicula ac, velit.
+Aenean ornare, massa a accumsan pulvinar, quam lorem laoreet purus, eu
+sodales magna risus molestie lorem. Nunc erat velit, hendrerit quis,
+malesuada ut, aliquam vitae, wisi. Sed posuere. Suspendisse ipsum arcu,
+scelerisque nec, aliquam eu, molestie tincidunt, justo. Phasellus
+iaculis. Sed posuere lorem non ipsum. Pellentesque dapibus. Suspendisse
+quam libero, laoreet a, tincidunt eget, consequat at, est. Nullam ut
+lectus non enim consequat facilisis. Mauris leo. Quisque pede ligula,
+auctor vel, pellentesque vel, posuere id, turpis. Cras ipsum sem, cursus
+et, facilisis ut, tempus euismod, quam. Suspendisse tristique dolor eu
+orci. Mauris mattis. Aenean semper. Vivamus tortor magna, facilisis id,
+varius mattis, hendrerit in, justo. Integer purus.
+
+Vivamus adipiscing. Curabitur imperdiet tempus turpis. Vivamus sapien
+dolor, congue venenatis, euismod eget, porta rhoncus, magna. Proin
+condimentum pretium enim. Fusce fringilla, libero et venenatis
+facilisis, eros enim cursus arcu, vitae facilisis odio augue vitae orci.
+Aliquam varius nibh ut odio. Sed condimentum condimentum nunc.
+Pellentesque eget massa. Pellentesque quis mauris. Donec ut ligula ac
+pede pulvinar lobortis. Pellentesque euismod. Class aptent taciti
+sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos.
+Praesent elit. Ut laoreet ornare est. Phasellus gravida vulputate nulla.
+Donec sit amet arcu ut sem tempor malesuada. Praesent hendrerit augue in
+urna. Proin enim ante, ornare vel, consequat ut, blandit in, justo.
+Donec felis elit, dignissim sed, sagittis ut, ullamcorper a, nulla.
+Aenean pharetra vulputate odio.
+
+Quisque enim. Proin velit neque, tristique eu, eleifend eget, vestibulum
+nec, lacus. Vivamus odio. Duis odio urna, vehicula in, elementum
+aliquam, aliquet laoreet, tellus. Sed velit. Sed vel mi ac elit aliquet
+interdum. Etiam sapien neque, convallis et, aliquet vel, auctor non,
+arcu. Aliquam suscipit aliquam lectus. Proin tincidunt magna sed wisi.
+Integer blandit lacus ut lorem. Sed luctus justo sed enim.
+
+Morbi malesuada hendrerit dui. Nunc mauris leo, dapibus sit amet,
+vestibulum et, commodo id, est. Pellentesque purus. Pellentesque
+tristique, nunc ac pulvinar adipiscing, justo eros consequat lectus, sit
+amet posuere lectus neque vel augue. Cras consectetuer libero ac eros.
+Ut eget massa. Fusce sit amet enim eleifend sem dictum auctor. In eget
+risus luctus wisi convallis pulvinar. Vivamus sapien risus, tempor in,
+viverra in, aliquet pellentesque, eros. Aliquam euismod libero a sem.
+
+Nunc velit augue, scelerisque dignissim, lobortis et, aliquam in, risus.
+In eu eros. Vestibulum ante ipsum primis in faucibus orci luctus et
+ultrices posuere cubilia Curae; Curabitur vulputate elit viverra augue.
+Mauris fringilla, tortor sit amet malesuada mollis, sapien mi dapibus
+odio, ac imperdiet ligula enim eget nisl. Quisque vitae pede a pede
+aliquet suscipit. Phasellus tellus pede, viverra vestibulum, gravida id,
+laoreet in, justo. Cum sociis natoque penatibus et magnis dis parturient
+montes, nascetur ridiculus mus. Integer commodo luctus lectus. Mauris
+justo. Duis varius eros. Sed quam. Cras lacus eros, rutrum eget, varius
+quis, convallis iaculis, velit. Mauris imperdiet, metus at tristique
+venenatis, purus neque pellentesque mauris, a ultrices elit lacus nec
+tortor. Class aptent taciti sociosqu ad litora torquent per conubia
+nostra, per inceptos hymenaeos. Praesent malesuada. Nam lacus lectus,
+auctor sit amet, malesuada vel, elementum eget, metus. Duis neque pede,
+facilisis eget, egestas elementum, nonummy id, neque.
+
+Proin non sem. Donec nec erat. Proin libero. Aliquam viverra arcu. Donec
+vitae purus. Donec felis mi, semper id, scelerisque porta, sollicitudin
+sed, turpis. Nulla in urna. Integer varius wisi non elit. Etiam nec sem.
+Mauris consequat, risus nec congue condimentum, ligula ligula suscipit
+urna, vitae porta odio erat quis sapien. Proin luctus leo id erat. Etiam
+massa metus, accumsan pellentesque, sagittis sit amet, venenatis nec,
+mauris. Praesent urna eros, ornare nec, vulputate eget, cursus sed,
+justo. Phasellus nec lorem. Nullam ligula ligula, mollis sit amet,
+faucibus vel, eleifend ac, dui. Aliquam erat volutpat.
+
+Fusce vehicula, tortor et gravida porttitor, metus nibh congue lorem, ut
+tempus purus mauris a pede. Integer tincidunt orci sit amet turpis.
+Aenean a metus. Aliquam vestibulum lobortis felis. Donec gravida. Sed
+sed urna. Mauris et orci. Integer ultrices feugiat ligula. Sed dignissim
+nibh a massa. Donec orci dui, tempor sed, tincidunt nonummy, viverra sit
+amet, turpis. Quisque lobortis. Proin venenatis tortor nec wisi.
+Vestibulum placerat. In hac habitasse platea dictumst. Aliquam porta mi
+quis risus. Donec sagittis luctus diam. Nam ipsum elit, imperdiet vitae,
+faucibus nec, fringilla eget, leo. Etiam quis dolor in sapien porttitor
+imperdiet.
+
+Cras pretium. Nulla malesuada ipsum ut libero. Suspendisse gravida
+hendrerit tellus. Maecenas quis lacus. Morbi fringilla. Vestibulum odio
+turpis, tempor vitae, scelerisque a, dictum non, massa. Praesent erat
+felis, porta sit amet, condimentum sit amet, placerat et, turpis.
+Praesent placerat lacus a enim. Vestibulum non eros. Ut congue. Donec
+tristique varius tortor. Pellentesque habitant morbi tristique senectus
+et netus et malesuada fames ac turpis egestas. Nam dictum dictum urna.
+
+Phasellus vestibulum orci vel mauris. Fusce quam leo, adipiscing ac,
+pulvinar eget, molestie sit amet, erat. Sed diam. Suspendisse eros leo,
+tempus eget, dapibus sit amet, tempus eu, arcu. Vestibulum wisi metus,
+dapibus vel, luctus sit amet, condimentum quis, leo. Suspendisse
+molestie. Duis in ante. Ut sodales sem sit amet mauris. Suspendisse
+ornare pretium orci. Fusce tristique enim eget mi. Vestibulum eros elit,
+gravida ac, pharetra sed, lobortis in, massa. Proin at dolor. Duis
+accumsan accumsan pede. Nullam blandit elit in magna lacinia hendrerit.
+Ut nonummy luctus eros. Fusce eget tortor.
+
+Ut sit amet magna. Cras a ligula eu urna dignissim viverra. Nullam
+tempor leo porta ipsum. Praesent purus. Nullam consequat. Mauris dictum
+sagittis dui. Vestibulum sollicitudin consectetuer wisi. In sit amet
+diam. Nullam malesuada pharetra risus. Proin lacus arcu, eleifend sed,
+vehicula at, congue sit amet, sem. Sed sagittis pede a nisl. Sed
+tincidunt odio a pede. Sed dui. Nam eu enim. Aliquam sagittis lacus eget
+libero. Pellentesque diam sem, sagittis molestie, tristique et,
+fermentum ornare, nibh. Nulla et tellus non felis imperdiet mattis.
+Aliquam erat volutpat.
+
+Vestibulum sodales ipsum id augue. Integer ipsum pede, convallis sit
+amet, tristique vitae, tempor ut, nunc. Nam non ligula non lorem
+convallis hendrerit. Maecenas hendrerit. Sed magna odio, aliquam
+imperdiet, porta ac, aliquet eget, mi. Cum sociis natoque penatibus et
+magnis dis parturient montes, nascetur ridiculus mus. Vestibulum nisl
+sem, dignissim vel, euismod quis, egestas ut, orci. Nunc vitae risus vel
+metus euismod laoreet. Cras sit amet neque a turpis lobortis auctor. Sed
+aliquam sem ac elit. Cras velit lectus, facilisis id, dictum sed, porta
+rutrum, nisl. Nam hendrerit ipsum sed augue. Nullam scelerisque
+hendrerit wisi. Vivamus egestas arcu sed purus. Ut ornare lectus sed
+eros. Suspendisse potenti. Mauris sollicitudin pede vel velit. In hac
+habitasse platea dictumst.
+
+Suspendisse erat mauris, nonummy eget, pretium eget, consequat vel,
+justo. Pellentesque consectetuer erat sed lacus. Nullam egestas nulla ac
+dui. Donec cursus rhoncus ipsum. Nunc et sem eu magna egestas malesuada.
+Vivamus dictum massa at dolor. Morbi est nulla, faucibus ac, posuere in,
+interdum ut, sapien. Proin consectetuer pretium urna. Donec sit amet
+nibh nec purus dignissim mattis. Phasellus vehicula elit at lacus. Nulla
+facilisi. Cras ut arcu. Sed consectetuer. Integer tristique elit quis
+felis consectetuer eleifend. Cras et lectus.
+
+Ut congue malesuada justo. Curabitur congue, felis at hendrerit
+faucibus, mauris lacus porttitor pede, nec aliquam turpis diam feugiat
+arcu. Nullam rhoncus ipsum at risus. Vestibulum a dolor sed dolor
+fermentum vulputate. Sed nec ipsum dapibus urna bibendum lobortis.
+Vestibulum elit. Nam ligula arcu, volutpat eget, lacinia eu, lobortis
+ac, urna. Nam mollis ultrices nulla. Cras vulputate. Suspendisse at
+risus at metus pulvinar malesuada. Nullam lacus. Aliquam tempus magna.
+Aliquam ut purus. Proin tellus.
+
+Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
+cubilia Curae; Donec scelerisque metus. Maecenas non mi ut metus porta
+hendrerit. Nunc semper. Cras quis wisi ut lorem posuere tristique. Nunc
+vestibulum scelerisque nulla. Suspendisse pharetra sollicitudin ante.
+Praesent at augue sit amet ante interdum porta. Nunc bibendum augue
+luctus diam. Etiam nec sem. Sed eros turpis, facilisis nec, vehicula
+vitae, aliquam sed, nulla. Curabitur justo leo, vestibulum eget,
+tristique ut, tempus at, nisl.
+
+Nulla venenatis lorem id arcu. Morbi cursus urna a ipsum. Donec
+porttitor. Integer eleifend, est non mattis malesuada, mi nulla
+convallis mi, et auctor lectus sapien ut purus. Aliquam nulla augue,
+pharetra sit amet, faucibus semper, molestie vel, nibh. Pellentesque
+vestibulum magna et mi. Sed fringilla dolor vel tellus. Nunc libero
+nunc, venenatis eget, convallis hendrerit, iaculis elementum, mi. Nullam
+aliquam, felis et accumsan vehicula, magna justo vehicula diam, eu
+condimentum nisl felis et nunc. Quisque volutpat mauris a velit.
+Pellentesque massa. Integer at lorem. Nam metus erat, lacinia id,
+convallis ut, pulvinar non, wisi. Cras iaculis mauris ut neque. Cras
+sodales, sem vitae imperdiet consequat, pede purus sollicitudin urna, ac
+aliquam metus orci in leo. Ut molestie ultrices mauris. Vivamus vitae
+sem. Aliquam erat volutpat. Praesent commodo, nisl ac dapibus aliquet,
+tortor orci sodales lorem, non ornare nulla lorem quis nisl.
+
+Sed at sem vitae purus ultrices vestibulum. Vestibulum tincidunt lacus
+et ligula. Pellentesque vitae elit. Vestibulum ante ipsum primis in
+faucibus orci luctus et ultrices posuere cubilia Curae; Duis ornare,
+erat eget laoreet vulputate, lacus ipsum suscipit turpis, et bibendum
+nisl orci non lectus. Vestibulum nec risus nec libero fermentum
+fringilla. Morbi non velit in magna gravida hendrerit. Pellentesque quis
+lectus. Vestibulum eleifend lobortis leo. Vestibulum non augue. Vivamus
+dictum tempor dui. Maecenas at ligula id felis congue porttitor. Nulla
+leo magna, egestas quis, vulputate sit amet, viverra id, velit.
+
+Ut lectus lectus, ultricies sit amet, semper eget, laoreet non, ante.
+Proin at massa quis nunc rhoncus mattis. Aliquam lorem. Curabitur
+pharetra dui at neque. Aliquam eu tellus. Aenean tempus, felis vitae
+vulputate iaculis, est dolor faucibus urna, in viverra wisi neque non
+risus. Fusce vel dolor nec sapien pretium nonummy. Integer faucibus
+massa ac nulla ornare venenatis. Nulla quis sapien. Sed tortor.
+Phasellus eget mi. Cras nunc. Cras a enim.
+
+Quisque nisl. In dignissim dapibus massa. Aenean sem magna, scelerisque
+nec, ullamcorper quis, porttitor ut, lectus. Fusce dignissim facilisis
+tortor. Vivamus gravida felis sit amet nunc. Nam pulvinar odio vel enim.
+Pellentesque sit amet est. Vivamus pulvinar leo non sapien. Aliquam erat
+volutpat. Ut elementum auctor metus. Mauris vestibulum neque vitae eros.
+Pellentesque aliquam quam. Donec venenatis tristique purus. In nisl.
+Nulla velit libero, fermentum at, porta a, feugiat vitae, urna. Etiam
+aliquet ornare ipsum. Proin non dolor. Aenean nunc ligula, venenatis
+suscipit, porttitor sit amet, mattis suscipit, magna. Vivamus egestas
+viverra est. Morbi at risus sed sapien sodales pretium.
+
+Morbi congue congue metus. Aenean sed purus. Nam pede magna, tristique
+nec, porta id, sollicitudin quis, sapien. Vestibulum blandit.
+Suspendisse ut augue ac nibh ullamcorper posuere. Integer euismod, neque
+at eleifend fringilla, augue elit ornare dolor, vel tincidunt purus est
+id lacus. Vivamus lorem dui, commodo quis, scelerisque eu, tincidunt
+non, magna. Cras sodales. Quisque vestibulum pulvinar diam. Phasellus
+tincidunt, leo vitae tristique facilisis, ipsum wisi interdum sem,
+dapibus semper nulla velit vel lectus. Cras dapibus mauris et augue.
+Quisque cursus nulla in libero. Suspendisse et lorem sit amet mauris
+malesuada mollis. Nullam id justo. Maecenas venenatis. Donec lacus arcu,
+egestas ac, fermentum consectetuer, tempus eu, metus. Proin sodales, sem
+in pretium fermentum, arcu sapien commodo mauris, venenatis consequat
+augue urna in wisi. Quisque sapien nunc, varius eget, condimentum quis,
+lacinia in, est. Fusce facilisis. Praesent nec ipsum.
+
+Suspendisse a dolor. Nam erat eros, congue eget, sagittis a, lacinia in,
+pede. Maecenas in elit. Proin molestie varius nibh. Vivamus tristique
+purus sed augue. Proin egestas semper tortor. Vestibulum ante ipsum
+primis in faucibus orci luctus et ultrices posuere cubilia Curae; Class
+aptent taciti sociosqu ad litora torquent per conubia nostra, per
+inceptos hymenaeos. Vestibulum orci enim, sagittis ornare, eleifend ut,
+mattis at, ligula. Nulla molestie convallis arcu. Ut eros tellus,
+condimentum at, sodales in, ultrices vel, nulla.
+
+Duis magna ante, bibendum eget, eleifend eget, suscipit sed, neque.
+Vestibulum in mi sed massa cursus cursus. Pellentesque pulvinar mollis
+neque. Fusce ut enim vitae mauris malesuada tincidunt. Vivamus a neque.
+Mauris pulvinar, sapien id condimentum dictum, quam arcu rhoncus dui, id
+tempor lacus justo et justo. Proin sit amet orci eu diam eleifend
+blandit. Nunc erat massa, luctus ac, fermentum lacinia, tincidunt
+ultrices, sapien. Praesent sed orci vitae dolor sollicitudin adipiscing.
+Cras a neque. Ut risus dui, interdum at, placerat id, tristique eu,
+enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
+posuere cubilia Curae; Etiam adipiscing eros vestibulum dolor.
+Pellentesque aliquam, diam eget eleifend posuere, augue eros porttitor
+lectus, ac dignissim dui metus nec felis. Quisque lacinia. Vestibulum
+tellus. Suspendisse nec wisi. Aenean ac felis. Aliquam ultrices metus et
+nulla.
+
+Praesent sed est non nibh tempus venenatis. Praesent rhoncus. Curabitur
+sagittis est sit amet neque. Sed commodo malesuada lectus. Phasellus
+enim tellus, tempor ut, tristique eu, aliquam eu, quam. Aenean quis quam
+quis wisi gravida vehicula. Pellentesque a massa a leo pretium rhoncus.
+Suspendisse ultrices. Donec lacinia malesuada massa. Class aptent taciti
+sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos.
+Donec pretium ornare mauris. Phasellus auctor erat eget enim. Integer
+scelerisque, felis eu consequat fringilla, lorem wisi ultricies velit,
+id vehicula purus nulla eget odio. Nullam mattis, diam a rutrum
+fermentum, odio sapien tristique quam, id mollis tellus quam in odio.
+Mauris eu sapien. Donec aliquam lorem sit amet lorem pharetra lobortis.
+
+Donec ac velit. Sed convallis vestibulum sapien. Vivamus tempor lacus
+sed lacus. Nunc ut lorem. Ut et tortor. Nullam varius wisi at diam.
+Etiam ultricies, dolor sit amet fermentum vulputate, neque libero
+vestibulum orci, vitae fringilla neque arcu aliquet ante. Lorem ipsum
+dolor sit amet, consectetuer adipiscing elit. Quisque venenatis lobortis
+augue. Sed tempor, tellus iaculis pellentesque pharetra, pede dui
+malesuada mauris, vel ultrices urna mauris ac nibh. Etiam nibh odio,
+ultricies vehicula, vestibulum vitae, feugiat eleifend, felis. Vivamus
+pulvinar. Aliquam erat volutpat. Nulla egestas venenatis metus. Nam
+feugiat nunc quis elit egestas sagittis. Sed vitae felis. In libero
+arcu, rhoncus in, commodo eget, auctor in, enim. Vivamus suscipit est.
+Nulla dapibus, magna vel aliquet egestas, massa massa hendrerit lacus,
+ac rutrum tellus tellus sit amet felis. Cras viverra.
+
+Suspendisse eu nunc. Aliquam dignissim urna sit amet mauris. Cras
+commodo, urna ut porttitor venenatis, arcu metus sodales risus, vitae
+gravida sapien ligula in est. Donec vulputate sollicitudin wisi. Donec
+vehicula, est id interdum ornare, nibh tellus consectetuer justo, a
+ultrices felis erat at lectus. In est massa, malesuada non, suscipit at,
+ullamcorper eu, elit. Nam nulla lacus, bibendum sit amet, sagittis sed,
+tempor eget, libero. Praesent ligula. Suspendisse nulla. Etiam diam.
+Nulla ante diam, vestibulum et, aliquet ac, imperdiet vitae, urna. Fusce
+tincidunt lacus vel elit. Maecenas dictum, tortor non euismod bibendum,
+pede nibh pretium tellus, at dignissim leo eros eget pede. Nulla
+venenatis eleifend eros. Aenean ut odio dignissim augue rutrum faucibus.
+Fusce posuere, tellus eget viverra mattis, erat tellus porta mi, at
+facilisis sem nibh non urna. Phasellus quis turpis quis mauris suscipit
+vulputate. Sed interdum lacus non velit. Vestibulum ante ipsum primis in
+faucibus orci luctus et ultrices posuere cubilia Curae.
+
+Vivamus vehicula leo a justo. Quisque nec augue. Morbi mauris wisi,
+aliquet vitae, dignissim eget, sollicitudin molestie, ligula. In dictum
+enim sit amet risus. Curabitur vitae velit eu diam rhoncus hendrerit.
+Vivamus ut elit. Praesent mattis ipsum quis turpis. Curabitur rhoncus
+neque eu dui. Etiam vitae magna. Nam ullamcorper. Praesent interdum
+bibendum magna. Quisque auctor aliquam dolor. Morbi eu lorem et est
+porttitor fermentum. Nunc egestas arcu at tortor varius viverra. Fusce
+eu nulla ut nulla interdum consectetuer. Vestibulum gravida. Morbi
+mattis libero sed est.
+
+Nam quis enim. Quisque ornare dui a tortor. Fusce consequat lacus
+pellentesque metus. Duis euismod. Duis non quam. Maecenas vitae dolor in
+ipsum auctor vehicula. Vivamus nec nibh eget wisi varius pulvinar. Cras
+a lacus. Etiam et massa. Donec in nisl sit amet dui imperdiet
+vestibulum. Duis porttitor nibh id eros.
+
+Mauris consectetuer, wisi eu lobortis scelerisque, urna nibh feugiat
+quam, id congue eros justo eget orci. Ut tellus. Maecenas mattis sapien
+sed eros. Aliquam quis lectus. Donec nec massa ac turpis semper cursus.
+Etiam consectetuer ante vel odio. Aliquam tincidunt felis non dolor.
+Cras id augue ut nisl pretium placerat. Phasellus sapien sapien,
+pharetra sed, aliquam nec, suscipit a, nibh. Suspendisse risus. Nulla ut
+mi eget tellus sollicitudin euismod. Vestibulum malesuada malesuada dui.
+Ut at est ac dui aliquam sagittis. Aliquam erat volutpat.
+
+Curabitur ullamcorper est in mauris. Praesent ac massa. Quisque enim
+odio, lobortis nec, mattis ut, luctus et, mauris. Mauris eu risus. Cum
+sociis natoque penatibus et magnis dis parturient montes, nascetur
+ridiculus mus. Duis eu ligula. Nulla vehicula leo tincidunt erat.
+Maecenas et nunc. Sed ut sapien. Vestibulum in est. Vestibulum rhoncus.
+
+Donec metus metus, condimentum eu, accumsan nec, vulputate non, purus.
+Vestibulum ullamcorper vehicula sapien. Mauris risus odio, hendrerit ac,
+congue ac, ullamcorper at, odio. Aenean leo justo, commodo vitae,
+placerat blandit, malesuada vel, sem. Donec sit amet ante eget mauris
+adipiscing sollicitudin. Curabitur posuere sem et leo. Nulla ultricies
+mauris. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
+posuere cubilia Curae; Fusce sollicitudin augue vel tellus. Vivamus
+mauris eros, pharetra vel, lacinia pretium, egestas a, nibh. Morbi a
+ligula.
+
+Donec vitae turpis. Suspendisse porttitor. Mauris aliquam purus vitae
+tellus. Morbi metus diam, tempus ac, cursus ut, ultricies quis, nulla.
+Praesent nec justo. In lobortis. Donec nec lectus a neque laoreet
+rhoncus. Quisque in risus nec wisi lacinia ullamcorper. In placerat.
+Proin facilisis sollicitudin libero. Integer eget neque et pede placerat
+aliquet. Aliquam purus nulla, pulvinar ut, facilisis quis, sodales sed,
+magna. Curabitur nulla lectus, rutrum id, bibendum ut, sagittis eget,
+diam. Sed porta dolor eget est. Integer hendrerit orci. In hac habitasse
+platea dictumst.
+
+Ut facilisis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+Sed pellentesque, turpis sit amet aliquet porta, risus odio venenatis
+felis, at porta tellus lacus vitae nisl. Donec augue. Quisque consequat,
+pede laoreet pellentesque posuere, urna sapien tempor justo, eu aliquam
+tortor nunc id mauris. Fusce pretium, purus facilisis consequat mattis,
+ligula leo pretium mauris, ac suscipit augue sapien sit amet ipsum.
+Praesent et ligula eget tortor dapibus blandit. Duis rutrum felis eget
+dolor. Vestibulum quis elit. Integer dignissim, velit at scelerisque
+congue, ipsum nulla dignissim dolor, lacinia scelerisque neque erat a
+mi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque
+ipsum lectus, euismod et, lacinia eu, iaculis eu, pede. Etiam justo
+quam, cursus ut, vulputate vel, feugiat ut, eros. Fusce eleifend mollis
+ipsum.
+
+Nulla facilisi. Nunc nec elit. Integer ornare convallis tortor. Proin ac
+diam. In est sapien, laoreet euismod, mattis a, tincidunt at, risus.
+Vivamus risus. Vestibulum aliquam, urna aliquam porttitor accumsan,
+nulla tortor ullamcorper elit, ut consequat augue purus sit amet libero.
+Vivamus nisl lacus, commodo vel, dignissim ut, vestibulum id, pede.
+Curabitur malesuada hendrerit libero. Mauris quis dolor in tellus varius
+posuere. Sed vulputate elit at wisi. Fusce vitae neque. Nulla
+consectetuer, nunc ac eleifend laoreet, mi nulla commodo wisi, vel
+faucibus ligula lectus ut arcu. Vivamus hendrerit.
+
+Sed varius, nulla vitae tincidunt lobortis, nibh ipsum sollicitudin
+libero, et commodo tellus massa in neque. Nulla facilisi. Aenean nec
+lectus. Aliquam fermentum. Duis ut magna et augue interdum gravida.
+Morbi elit. Fusce malesuada tempus ipsum. Cum sociis natoque penatibus
+et magnis dis parturient montes, nascetur ridiculus mus. Mauris iaculis
+enim non metus. Nullam dui magna, congue et, suscipit sed, aliquam vel,
+turpis. Quisque ultricies.
+
+Suspendisse feugiat sapien laoreet ante. Integer fringilla, erat eget
+adipiscing ultrices, nibh dui sollicitudin nunc, in lobortis arcu odio
+vitae erat. Fusce bibendum ultricies lacus. Mauris eleifend ligula a
+ante. Etiam faucibus cursus pede. Mauris enim eros, malesuada eu, mattis
+sit amet, blandit in, nulla. Fusce sit amet purus id mi posuere
+tincidunt. Mauris sit amet quam vitae quam semper accumsan. Lorem ipsum
+dolor sit amet, consectetuer adipiscing elit. Nam a justo at quam
+accumsan euismod. Duis tincidunt tristique risus. Ut vel nibh vel libero
+varius malesuada. In hac habitasse platea dictumst. Morbi sagittis
+mattis lorem. Pellentesque metus tellus, rutrum vitae, malesuada et,
+pharetra accumsan, ante. Quisque ac metus ac nisl gravida pellentesque.
+Sed dapibus feugiat sapien. Vestibulum nec nunc eget sem aliquam
+lobortis. Suspendisse aliquam quam quis metus.
+
+Suspendisse in odio. In elit diam, cursus vitae, venenatis in, molestie
+in, leo. Cras ornare. Nulla libero. Phasellus feugiat mattis libero. Sed
+vehicula aliquam ligula. Nullam lacinia, felis vel dignissim sodales,
+enim lectus lobortis diam, quis nonummy mauris odio auctor tortor.
+Integer in dui nec lacus bibendum ultrices. Etiam odio elit, aliquam et,
+porttitor id, interdum cursus, elit. Nulla eleifend tempor mauris. In
+vel arcu quis pede laoreet vulputate.
+
+Morbi pharetra magna a lorem. Cras sapien. Duis porttitor vehicula urna.
+Phasellus iaculis, mi vitae varius consequat, purus nibh sollicitudin
+mauris, quis aliquam felis dolor vel elit. Quisque neque mi, bibendum
+non, tristique convallis, congue eu, quam. Etiam vel felis. Quisque ac
+ligula at orci pulvinar rutrum. Donec mi eros, sagittis eu, consectetuer
+sed, sagittis sed, lorem. Nunc sed eros. Nullam pellentesque ante quis
+lectus. Vivamus lacinia, sapien vel fermentum placerat, purus nisl
+aliquet odio, et porta wisi dui nec nunc. Fusce porta cursus libero.
+
+Quisque eu mi a augue mollis posuere. Donec tincidunt, lorem at
+vestibulum pulvinar, felis purus nonummy urna, at accumsan purus dui nec
+leo. Praesent tortor turpis, vehicula in, aliquet ut, dignissim ac, leo.
+Curabitur sagittis mi id eros. In magna. Sed vitae elit facilisis elit
+semper sollicitudin. Curabitur convallis tempor nulla. Nullam non turpis
+a pede sagittis ultrices. Etiam vulputate pede in ligula. Sed a ante id
+metus pellentesque suscipit. Sed adipiscing justo vitae sapien. Nunc
+posuere, pede ullamcorper gravida egestas, justo libero tincidunt arcu,
+vitae pellentesque arcu leo ut mauris. Pellentesque auctor mauris sit
+amet elit luctus fringilla. Cras sed wisi. Morbi luctus enim vitae
+tellus. Vivamus venenatis sodales libero.
+
+In hac habitasse platea dictumst. Suspendisse potenti. Nulla pretium sem
+sit amet nisl. Nulla facilisi. Sed aliquam, turpis sed hendrerit
+gravida, nunc metus aliquam urna, eget pharetra nibh urna nec lectus.
+Duis in nisl a nisl commodo facilisis. Nunc placerat risus sed leo. Duis
+pellentesque porta libero. Praesent et enim. Aenean ullamcorper, ante
+sit amet fermentum mollis, ligula metus laoreet magna, accumsan accumsan
+nibh wisi at wisi. Nam tincidunt tempor neque. Maecenas dolor. Donec
+interdum nisl. Aliquam quam libero, interdum quis, volutpat sed, semper
+ut, eros. Pellentesque sodales auctor quam. Nullam suscipit massa nec
+elit. Nullam vulputate.
+
+Aliquam a nulla. Suspendisse suscipit. Etiam lectus ante, interdum sit
+amet, euismod venenatis, condimentum eu, urna. Etiam at turpis. Cras
+quis ligula. Cras varius, sapien non pellentesque bibendum, mauris wisi
+sodales sem, ac commodo mauris neque non felis. Sed sollicitudin
+tincidunt arcu. Nullam vel lectus sit amet magna tincidunt tempor.
+Phasellus a ante. Donec et diam.
+
+Proin sit amet augue. Praesent lacus. Donec a leo. Ut turpis ante,
+condimentum sed, sagittis a, blandit sit amet, enim. Integer sed elit.
+In ultricies blandit libero. Proin molestie erat dignissim nulla
+convallis ultrices. Aliquam in magna. Etiam sollicitudin, eros a
+sagittis pellentesque, lacus odio volutpat elit, vel tincidunt felis dui
+vitae lorem. Etiam leo. Nulla et justo.
+
+Integer interdum varius diam. Nam aliquam velit a pede. Vivamus dictum
+nulla et wisi. Vestibulum a massa. Donec vulputate nibh vitae risus
+dictum varius. Nunc suscipit, nunc nec facilisis convallis, lacus ligula
+bibendum nulla, ac sollicitudin sapien nisl fermentum velit. Lorem ipsum
+dolor sit amet, consectetuer adipiscing elit. Nullam commodo dui ut
+augue molestie scelerisque. Sed aliquet rhoncus tortor. Fusce laoreet,
+turpis a facilisis tristique, leo mauris accumsan tellus, vitae ornare
+lacus pede sit amet purus. Sed dignissim velit vitae ligula. Sed sit
+amet diam sit amet arcu luctus ullamcorper.
+
+Duis quis velit id elit facilisis luctus. Donec nec elit. Quisque
+ullamcorper arcu ac felis. Phasellus leo. Pellentesque consequat
+consequat purus. Ut vel justo at pede facilisis tempor. Integer tempus
+blandit dolor. Donec eget neque sed elit ultricies molestie. Cras cursus
+viverra tortor. Cras commodo condimentum diam. Pellentesque interdum
+malesuada wisi. Suspendisse eu quam. Donec consectetuer. Suspendisse
+wisi purus, vestibulum at, vehicula vel, congue a, eros. Nulla vulputate
+dolor at purus.
+
+Suspendisse ac diam sed dui adipiscing pretium. Donec ullamcorper,
+sapien nec tempor venenatis, enim felis euismod pede, ut auctor lacus
+lectus sit amet diam. Vestibulum rutrum sem ut ante. Nulla eros. Quisque
+vitae nisl eget tellus feugiat volutpat. Nam id neque eu quam sodales
+vehicula. Nam dapibus, nulla eu iaculis placerat, pede est volutpat
+purus, id iaculis elit elit vel mauris. Donec dui. In hac habitasse
+platea dictumst. Nunc non quam. Proin euismod egestas eros. Mauris nisl.
+Sed neque. Phasellus bibendum. Proin ut purus in eros faucibus auctor.
+
+Fusce mollis dui eu leo. Sed sapien augue, porta at, posuere ut,
+ultrices molestie, est. Vivamus quis pede nec erat placerat tincidunt.
+Aenean odio dui, facilisis non, vehicula et, bibendum a, libero. Etiam
+leo turpis, venenatis eleifend, nonummy sit amet, aliquam non, mi.
+Maecenas eget mi. Sed nec diam. Integer orci tellus, pellentesque nec,
+bibendum quis, sodales ut, nibh. Duis laoreet aliquet orci. Curabitur
+sit amet sem sit amet nibh fermentum faucibus. Donec adipiscing, ipsum
+id fringilla convallis, elit massa cursus augue, at lobortis massa augue
+nec ligula. Proin ac lacus.
+
+Nunc id nulla nec mauris iaculis rutrum. Nunc nisl. Integer mi. Praesent
+lorem neque, egestas at, molestie in, faucibus et, eros. Sed rutrum,
+ante vitae aliquet tincidunt, diam elit auctor risus, eu elementum purus
+turpis eu elit. Proin ac orci. Integer varius, urna non sollicitudin
+consequat, massa libero pharetra erat, et venenatis dui orci eget purus.
+Aliquam iaculis est eget ipsum. Ut volutpat velit. Phasellus fringilla.
+Aliquam mollis tellus vel odio. Vestibulum ante ipsum primis in faucibus
+orci luctus et ultrices posuere cubilia Curae; Vestibulum gravida sapien
+sed diam dictum pharetra. Nulla ac odio. Duis vitae metus ut purus
+feugiat interdum. Duis eros enim, tincidunt ac, venenatis et, dignissim
+id, lacus. Curabitur sagittis dolor nec augue. Sed ultricies mauris.
+Donec semper, enim eu vestibulum placerat, justo risus eleifend quam, ac
+semper velit pede convallis arcu.
+
+Pellentesque tempus. Fusce tempor euismod nulla. Integer metus quam,
+semper sit amet, pellentesque sed, ornare sit amet, pede. Sed viverra.
+Aliquam erat volutpat. Donec tristique. In ac pede ut tortor mattis
+blandit. Phasellus a nunc. Integer metus. Sed malesuada gravida arcu.
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+
+Phasellus suscipit placerat neque. Duis rutrum. Quisque enim. Proin et
+erat at augue aliquam aliquam. Mauris porttitor imperdiet lectus. Proin
+egestas faucibus risus. Praesent pharetra consequat odio. Fusce sed
+felis et nulla tempor elementum. Nulla eu turpis. Proin posuere. Nullam
+nonummy nulla sed nulla volutpat consectetuer. Vivamus vehicula accumsan
+eros. Fusce ullamcorper. Phasellus vehicula consequat mauris. Sed vitae
+purus. Sed accumsan, felis suscipit auctor fermentum, odio turpis
+vestibulum risus, vitae mattis metus neque non pede.
+
+Suspendisse mollis erat et risus. Vestibulum et odio eu nisl malesuada
+dapibus. Morbi ac tortor et magna tincidunt ullamcorper. Ut pellentesque
+fermentum mi. Etiam sed neque sit amet leo consectetuer sagittis. Nulla
+facilisi. Sed lobortis erat vitae nulla. Duis bibendum ipsum et mi
+scelerisque dapibus. Fusce nonummy vestibulum orci. Donec a nisl.
+Integer ac nibh. Pellentesque habitant morbi tristique senectus et netus
+et malesuada fames ac turpis egestas. Aenean nec nunc sed dui lobortis
+vestibulum. Praesent metus ligula, auctor vitae, lacinia sed, hendrerit
+a, felis. Etiam sapien. Proin et sem vitae dolor sodales venenatis.
+Integer luctus aliquam risus.
+
+Maecenas mi massa, fermentum eu, venenatis et, cursus id, ipsum. Morbi
+vehicula justo faucibus mauris. Donec non neque. Fusce id mi ut neque
+tincidunt posuere. Suspendisse quis enim. Cras porttitor. Sed quis
+velit. Aliquam vel augue at wisi blandit suscipit. Duis ut justo. Class
+aptent taciti sociosqu ad litora torquent per conubia nostra, per
+inceptos hymenaeos. Etiam bibendum wisi quis augue. Nulla lorem odio,
+sollicitudin vitae, vehicula nec, dapibus ultricies, purus. In vitae
+tellus at odio cursus congue. Quisque tincidunt tempus metus. Aenean et
+nulla nec dolor dapibus ultricies. Phasellus commodo vulputate arcu. Sed
+enim. Phasellus quis leo. Aliquam iaculis, turpis nec aliquet rutrum,
+pede risus porta diam, id ullamcorper erat est sed eros. Fusce ornare.
+
+Suspendisse porta, dolor sed fringilla ultrices, augue mauris gravida
+dolor, vel sollicitudin magna dui sit amet nunc. Mauris mollis
+condimentum risus. Integer ipsum. Quisque malesuada, erat ac dictum
+pulvinar, magna nisl fermentum ligula, quis euismod mauris felis non
+diam. Nullam sapien turpis, rutrum vel, condimentum ac, bibendum
+vulputate, nulla. Vestibulum tortor ipsum, fermentum egestas, placerat
+ut, vulputate et, wisi. Aliquam erat volutpat. Donec consequat, ligula
+sit amet tincidunt aliquam, nunc lorem sagittis nunc, a ullamcorper erat
+ante ac felis. Donec eleifend. Nullam quam leo, lobortis non,
+condimentum at, tempus consectetuer, orci. Quisque ut lorem. Donec nisl.
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum
+ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia
+Curae; Donec porta, libero eget feugiat posuere, felis arcu pulvinar
+odio, vel dapibus enim dui nec turpis.
+
+Duis leo. Cras nec odio. Nullam pretium lacinia est. Fusce aliquet,
+metus et vestibulum lobortis, ante erat vestibulum eros, eu sodales eros
+turpis id massa. Quisque est. Vivamus eu lacus. Nulla nisl. Nam eros.
+Aliquam sit amet neque vel magna dictum ultricies. Praesent magna
+mauris, sollicitudin ac, commodo eu, bibendum sit amet, lectus.
+Suspendisse potenti. Fusce congue leo quis libero nonummy adipiscing.
+Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
+cubilia Curae; Nunc a orci. Ut at erat sit amet nunc scelerisque
+malesuada. Phasellus odio nisl, porta eget, laoreet nec, vehicula non,
+risus. Etiam dolor mauris, consectetuer eget, tincidunt sed, egestas
+quis, neque. Ut egestas ante ac libero. Proin mattis volutpat metus.
+
+Sed tempor metus eget wisi. Duis cursus. Nam nunc. Nulla placerat wisi
+sed est. Aenean risus. Lorem ipsum dolor sit amet, consectetuer
+adipiscing elit. Proin erat dolor, ultricies a, rutrum sed, posuere
+eget, metus. Donec sagittis nunc ac tortor. Aliquam erat volutpat.
+Curabitur consectetuer, augue nec viverra eleifend, dolor dolor volutpat
+orci, dapibus pellentesque eros pede a arcu. Nullam augue. Etiam eget
+nulla vel mi porta hendrerit. Phasellus cursus scelerisque tortor.
+Maecenas ut leo.
+
+Donec libero. Quisque vitae est quis dui bibendum suscipit. Fusce leo
+felis, sagittis non, vehicula ac, ultricies vitae, diam. Aenean congue
+libero et metus. Nulla convallis libero a lacus. Donec hendrerit lorem
+sit amet leo. Mauris libero. Pellentesque pulvinar molestie dolor. Proin
+nibh mauris, ornare at, pretium sit amet, porttitor vel, mi.
+Pellentesque habitant morbi tristique senectus et netus et malesuada
+fames ac turpis egestas.
+
+Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
+cubilia Curae; Aliquam interdum porttitor tortor. Donec ultricies justo
+eget sapien. Proin ac est. Aliquam erat volutpat. In tempus scelerisque
+ligula. Morbi scelerisque urna. Duis ac nisl. Donec sed leo. Fusce
+posuere orci mollis nunc. Sed arcu enim, pharetra nec, aliquam eu,
+consectetuer sit amet, eros. Sed id enim. Etiam mattis est at elit.
+Pellentesque est risus, pellentesque nec, dignissim vitae, egestas
+vitae, sapien. Maecenas et eros non libero iaculis facilisis. Mauris
+porttitor tempor justo. Sed sollicitudin neque nec libero.
+
+Mauris ac ipsum. Duis ultrices erat ac felis. Donec dignissim luctus
+orci. Fusce pede odio, feugiat sit amet, aliquam eu, viverra eleifend,
+ipsum. Fusce arcu massa, posuere id, nonummy eu, pulvinar ut, wisi. Sed
+dui. Vestibulum nunc nisl, rutrum quis, pharetra eget, congue sed, dui.
+Donec justo neque, euismod eget, nonummy adipiscing, iaculis eu, leo.
+Duis lectus. Morbi pellentesque nonummy dui.
+
+Aenean sem dolor, fermentum nec, gravida hendrerit, mattis eget, felis.
+Nullam non diam vitae mi lacinia consectetuer. Fusce non massa eget quam
+luctus posuere. Aenean vulputate velit. Quisque et dolor. Donec ipsum
+tortor, rutrum quis, mollis eu, mollis a, pede. Donec nulla. Duis
+molestie. Duis lobortis commodo purus. Pellentesque vel quam. Ut congue
+congue risus. Sed ligula. Aenean dictum pede vitae felis. Donec sit amet
+nibh. Maecenas eu orci. Quisque gravida quam sed massa.
+
+Nunc euismod, mauris luctus adipiscing pellentesque, augue ligula
+pellentesque lectus, vitae posuere purus velit a pede. Phasellus leo mi,
+egestas imperdiet, blandit non, sollicitudin pharetra, enim. Nullam
+faucibus tellus non enim. Sed egestas nunc eu eros. Nunc euismod
+venenatis urna. Phasellus ullamcorper. Vivamus varius est ac lorem. In
+id pede eleifend nibh consectetuer faucibus. Phasellus accumsan euismod
+elit. Etiam vitae elit. Integer imperdiet nibh. Morbi imperdiet orci
+euismod mi.
+
+Donec tincidunt tempor metus. Aenean egestas cursus nulla. Fusce ac
+metus at enim viverra lacinia. Vestibulum in magna non eros varius
+suscipit. Nullam cursus nibh. Mauris neque. In nunc quam, convallis
+vitae, posuere in, consequat sed, wisi. Phasellus bibendum consectetuer
+massa. Curabitur quis urna. Pellentesque a justo.
+
+In sit amet dui eget lacus rutrum accumsan. Phasellus ac metus sed massa
+varius auctor. Curabitur velit elit, pellentesque eget, molestie nec,
+congue at, pede. Maecenas quis tellus non lorem vulputate ornare.
+Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
+cubilia Curae; Etiam magna arcu, vulputate egestas, aliquet ut,
+facilisis ut, nisl. Donec vulputate wisi ac dolor. Aliquam feugiat nibh
+id tellus. Morbi eget massa sit amet purus accumsan dictum. Aenean a
+lorem. Fusce semper porta sapien.
+
+Curabitur sit amet libero eget enim eleifend lacinia. Vivamus sagittis
+volutpat dui. Suspendisse potenti. Morbi a nibh eu augue fermentum
+posuere. Curabitur elit augue, porta quis, congue aliquam, rutrum non,
+massa. Integer mattis mollis ipsum. Sed tellus enim, mattis id, feugiat
+sed, eleifend in, elit. Phasellus non purus sed elit viverra rhoncus.
+Vestibulum id tellus vel sem imperdiet congue. Aenean in arcu. Nullam
+urna justo, imperdiet eget, volutpat vitae, semper eu, quam. Sed turpis
+dui, porttitor ut, egestas ac, condimentum non, wisi. Fusce iaculis
+turpis eget dui. Quisque pulvinar est pellentesque leo. Ut nulla elit,
+mattis vel, scelerisque vel, blandit ut, justo. Nulla feugiat risus in
+erat.
+
+Curabitur hendrerit. Morbi fringilla enim quis nunc. Phasellus at dui.
+Donec commodo augue at nunc. Nunc in sapien et magna mollis sagittis.
+Morbi eu elit. Phasellus lacus. Donec a quam. Etiam pulvinar sapien. Sed
+nibh magna, viverra vitae, auctor eget, eleifend nec, lorem. Curabitur
+fringilla dui a odio. Nunc semper condimentum arcu. Curabitur vitae
+lectus sit amet turpis pretium condimentum. Nullam imperdiet mattis
+neque. Proin eget magna porta erat rhoncus consectetuer. Aenean pulvinar
+erat vitae mi.
+
+In eget turpis non tortor iaculis tincidunt. Ut egestas feugiat magna.
+Duis enim nibh, gravida vel, nonummy non, sollicitudin ac, enim. Sed in
+tortor sed tellus eleifend cursus. Morbi a dolor at nibh molestie
+faucibus. Duis sed wisi. Duis fringilla, dui et malesuada dignissim,
+elit eros dictum lacus, rhoncus imperdiet pede elit nec tellus. Aenean
+at ligula eget nulla imperdiet faucibus. Quisque vestibulum lorem ac
+leo. Sed laoreet neque ut magna.
+
+Aenean eget justo id lorem congue tristique. Maecenas sit amet nunc.
+Aenean bibendum risus. Nam convallis, mi sed ultrices sodales, metus
+nibh placerat dui, eu hendrerit erat enim vel libero. Duis placerat sem
+vitae wisi imperdiet condimentum. Aliquam pellentesque dui ac diam
+eleifend venenatis. Nulla facilisis posuere sapien. Cras euismod.
+Praesent ut enim. Aliquam ut ipsum quis urna interdum vehicula. Fusce
+eget sem. Nullam accumsan ullamcorper turpis.
+
+Integer posuere, metus ac rhoncus auctor, mi tellus scelerisque nunc,
+venenatis elementum tortor lorem eu erat. Sed consectetuer risus vitae
+orci. Nullam tortor mauris, interdum at, imperdiet in, convallis eget,
+massa. Aliquam suscipit, magna nec blandit volutpat, lectus neque
+suscipit nunc, sit amet cursus nisl erat eget risus. Vestibulum leo
+lectus, accumsan ut, pharetra vel, elementum sed, quam. Maecenas
+condimentum orci at enim. Maecenas ut nunc. Vivamus pede. Integer vel
+purus vel mi mollis vestibulum. Sed laoreet ultricies nibh. Suspendisse
+non nisl quis ligula fermentum facilisis. Vestibulum sem nibh, porttitor
+et, fermentum a, ultricies id, augue.
+
+In accumsan convallis metus. Aenean est. Donec pharetra porta odio. Duis
+nunc nisl, imperdiet ac, tincidunt vitae, varius sit amet, felis.
+Curabitur wisi. Ut iaculis, nunc in lacinia egestas, elit enim tincidunt
+turpis, at luctus ipsum augue condimentum metus. Aenean lorem wisi,
+cursus sit amet, mollis nec, porta ac, augue. Vivamus massa. Praesent
+rhoncus imperdiet orci. Aenean pharetra dolor ut sapien. Maecenas
+egestas augue semper dolor.
+
+Vestibulum at lectus. Vestibulum dapibus placerat magna. Suspendisse
+dolor urna, condimentum sit amet, euismod a, adipiscing a, enim. Aliquam
+erat volutpat. Donec imperdiet dolor non mi. Phasellus magna metus,
+dictum sit amet, laoreet non, dictum vel, dui. Suspendisse potenti. Nunc
+turpis risus, porta vel, pharetra id, eleifend vitae, justo. Duis
+pulvinar dolor sit amet urna. Integer eu eros. Nulla facilisi. Duis dui.
+Nullam vitae quam. Morbi a nunc in elit sodales euismod. Nunc sed orci.
+Etiam malesuada metus vitae felis. Suspendisse imperdiet velit in
+tellus.
+
+Nullam elit orci, condimentum vitae, accumsan quis, gravida non, velit.
+Morbi pellentesque accumsan elit. Aenean est purus, eleifend ac, dictum
+at, dignissim sed, dolor. Vestibulum volutpat sapien quis augue.
+Maecenas vulputate accumsan sapien. Nam mattis, lacus non iaculis
+aliquet, mi elit varius lectus, eu malesuada dolor nunc at wisi. Aliquam
+ligula. Mauris nisl elit, molestie vitae, gravida sit amet, facilisis
+convallis, enim. Sed urna. Praesent et augue. Fusce pellentesque.
+Maecenas varius orci eget nisl. Donec tempor rhoncus turpis. Integer
+nibh. Cras metus erat, tincidunt et, scelerisque quis, bibendum sed,
+dui. Suspendisse potenti.
+
+Integer ac diam. Nullam porttitor dolor eget metus. Nulla sed metus quis
+tortor lacinia tempor. Mauris mauris dui, faucibus vitae, aliquet sit
+amet, placerat a, ante. Nunc placerat tincidunt neque. Mauris egestas
+dolor ut ipsum cursus malesuada. Curabitur odio. Nunc lobortis. Sed
+mattis tempor felis. Mauris dolor quam, facilisis at, bibendum sit amet,
+rutrum ornare, pede. Suspendisse accumsan sagittis velit. Pellentesque
+varius laoreet lorem. Vivamus egestas sapien id diam.
+
+Integer viverra, felis ac tempus cursus, neque risus interdum turpis,
+eget venenatis tellus velit in neque. Nulla feugiat luctus tellus. Nam
+pulvinar lacus id leo. Vestibulum at ligula. Duis laoreet tincidunt
+enim. Suspendisse at nisl molestie est laoreet laoreet. Suspendisse
+euismod metus vel nisl. Aenean ullamcorper imperdiet massa. Aliquam
+nibh. Donec quis erat. Nunc sodales auctor ante.
+
+Nam quis ante. Nullam interdum quam in eros. Sed eleifend libero eu
+tellus consequat fermentum. Nullam pellentesque risus ut augue.
+Vestibulum eu tellus. Integer eleifend suscipit urna. Fusce porttitor
+leo et odio. Vivamus vehicula justo a nisl. In rutrum, purus ut dictum
+auctor, dolor velit accumsan dolor, eu convallis augue dui ac lectus.
+Nullam eleifend pellentesque ligula. Nam quis magna. Donec elementum
+dapibus erat. Pellentesque vel ipsum nec orci fermentum accumsan. Nunc
+porta magna eu neque. Nam id erat eu mi aliquet cursus. Morbi ut felis.
+Vestibulum in ipsum.
+
+Donec vel augue. Morbi a turpis sed libero consequat porta. Quisque
+lacinia consequat odio. Sed vehicula sollicitudin purus. Vestibulum eget
+est. In hac habitasse platea dictumst. Sed blandit, tortor a auctor
+imperdiet, wisi nibh ornare leo, ac dictum nibh enim eu orci.
+Pellentesque habitant morbi tristique senectus et netus et malesuada
+fames ac turpis egestas. Aliquam tincidunt ullamcorper justo. Etiam
+accumsan lacus nec ante. Ut dictum luctus mauris. Ut metus. Maecenas
+gravida. Proin iaculis. Integer convallis, justo iaculis ullamcorper
+sollicitudin, lectus neque tincidunt mi, at condimentum sem quam vel
+diam. Aenean sit amet purus.
+
+Sed justo. Maecenas lacinia, turpis sed commodo congue, odio urna
+elementum nunc, vitae molestie velit nunc eu sem. Maecenas enim. Proin
+quis neque nec tortor sollicitudin volutpat. Sed at ante. Sed vitae
+mauris non ante egestas hendrerit. Cum sociis natoque penatibus et
+magnis dis parturient montes, nascetur ridiculus mus. In venenatis
+facilisis magna. Phasellus purus. Cras quis mauris. Aliquam eget magna.
+Donec rutrum sagittis mi. Morbi elementum, est sit amet sollicitudin
+feugiat, orci magna semper risus, eu congue nulla metus vel elit. Nunc
+tempor ornare mi. Integer justo odio, suscipit tincidunt, fermentum eu,
+tincidunt et, libero. Vestibulum vestibulum, urna et suscipit imperdiet,
+nulla ante fermentum erat, at laoreet lorem lectus sed metus. Fusce ante
+sem, posuere in, vehicula a, posuere sed, ante. Phasellus magna.
+Maecenas sit amet diam. Nunc at nibh sit amet augue tristique gravida.
+
+Aenean adipiscing auctor est. Morbi quam arcu, malesuada sed, volutpat
+et, elementum sit amet, libero. Duis accumsan. Curabitur urna. In sed
+ipsum. Donec lobortis nibh. Duis mattis. Sed cursus lectus quis odio.
+Phasellus arcu. Praesent imperdiet dui in sapien. Vestibulum tellus
+pede, auctor a, pellentesque sit amet, vulputate sed, purus. Nunc
+pulvinar, dui at eleifend adipiscing, tellus nulla placerat massa, sed
+condimentum nulla tellus sed ligula. Nulla vitae odio sit amet leo
+imperdiet blandit. In vel massa. Maecenas varius dui at turpis. Sed
+odio.
+
+Quisque aliquam ipsum sed turpis. Pellentesque laoreet velit nec justo.
+Nam sed augue. Maecenas rutrum quam eu dolor. Fusce consectetuer. Proin
+tellus est, luctus vitae, molestie a, mattis et, mauris. Donec tempor.
+Pellentesque habitant morbi tristique senectus et netus et malesuada
+fames ac turpis egestas. Duis ante felis, dignissim id, blandit in,
+suscipit vel, dolor. Pellentesque tincidunt cursus felis. Proin rhoncus
+semper nulla. Ut et est. Vivamus ipsum erat, gravida in, venenatis ac,
+fringilla in, quam. Nunc ac augue. Fusce pede erat, ultrices non,
+consequat et, semper sit amet, urna.
+
+Fusce adipiscing justo nec ante. Nullam in enim. Pellentesque felis
+orci, sagittis ac, malesuada et, facilisis in, ligula. Nunc non magna
+sit amet mi aliquam dictum. In mi. Curabitur sollicitudin justo sed
+quam. Aenean imperdiet. Vestibulum ante ipsum primis in faucibus orci
+luctus et ultrices posuere cubilia Curae; Donec lacinia nonummy lectus.
+Proin vel urna. Fusce sit amet orci ac magna iaculis pharetra. Duis
+sagittis massa in tellus. Aenean vel velit vel felis consectetuer
+pharetra.
diff --git a/macros/latex/contrib/lipsum/lipsum.dtx b/macros/latex/contrib/lipsum/lipsum.dtx
index 233b5c359e..8a20f78de8 100644
--- a/macros/latex/contrib/lipsum/lipsum.dtx
+++ b/macros/latex/contrib/lipsum/lipsum.dtx
@@ -15,14 +15,19 @@
% Please send error reports and suggestions for improvements to
% https://github.com/PhelypeOleinik/lipsum
%
-\def\lipsumversion{2.3}
-\def\lipsumdate{2021-03-03}
+\def\lipsumversion{2.4}
+\def\lipsumdate{2021-06-03}
%<*driver>
\ProvidesFile{lipsum.dtx}%
[\lipsumdate\space v\lipsumversion\space
Access to 150 of Lorem Ipsum dummy text]
\documentclass{l3doc}
\usepackage{xcolor}
+\usepackage{booktabs}
+\usepackage{tabularx}
+\usepackage{enumitem}
+\usepackage{tikz}
+\usetikzlibrary{positioning}
\usepackage[a4paper,
top=2cm, left=8.8cm, right=2cm, bottom=3cm,
marginparwidth=6.3cm, marginparsep=.5cm,
@@ -38,20 +43,14 @@
}
\newmdenv[style=expl]{explbox}
-\newmdenv[%
- style=expl,
- subtitlebackgroundcolor=yellow!5!white,
- frametitlebackgroundcolor=yellow!5!white,
- frametitle={Code},
-] {exploutputbox}
-
\usepackage{lipsum,multicol}
+\usepackage{multirow}
\usepackage[latin, english]{babel}
\makeatletter
\newcommand\@subtitle{}
\newcommand\subtitle[1]{%
\renewcommand\@subtitle{#1}}
- \renewcommand\maketitle[1]{
+ \renewcommand\maketitle[1]{%
\noindent
\hspace{-\fullmargin}%
\begin{minipage}{\textwidth+\fullmargin}
@@ -71,64 +70,32 @@
#1
\end{multicols}
\fi
- \end{minipage}
-}
+ \end{minipage}}
\makeatother
-\newenvironment{wide}{
- \hspace{-.75\fullmargin}
- \begin{minipage}{\textwidth+.75\fullmargin}
-}{
- \end{minipage}
-}
-
-\newenvironment{widefigure}
-{
- \begin{figure}
- \begin{wide}
-}
-{
- \end{wide}
- \end{figure}
-}
-\newlist{macrolist}{itemize}{1}%
-\setlist[macrolist]{%
- label=$\triangleright$,
- labelindent=0cm,
- itemsep=.15\baselineskip,
- leftmargin=.75\parindent
-}
+\newenvironment{wide}
+ {\hspace{-.75\fullmargin}%
+ \begin{minipage}{\textwidth+.75\fullmargin}}
+ {\end{minipage}}
\newcommand\opt[1]{\textsf{#1}} % l3doc does not have some markup for package options...
\newcommand\lips{\emph{Lorem ipsum\ldots}}
\renewcommand\topfraction{.85}
\renewcommand\textfraction{.15}
\renewcommand\floatpagefraction{.85}
\emergencystretch 2em
+\newcommand\secref[1]{(see section~\ref{#1})}
+\usepackage{hyperref}
\begin{document}
\DocInput{lipsum.dtx}
\end{document}
%</driver>
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\RequirePackage{expl3}[2018/10/31]
-\RequirePackage{xparse}
-\ProvidesExplPackage
- {lipsum}
- {\lipsumdate}
- {\lipsumversion}
+\RequirePackage{l3keys2e}
+\@ifundefined{NewDocumentCommand}
+ {\RequirePackage{xparse}}{}
+\ProvidesExplPackage {lipsum} {\lipsumdate} {\lipsumversion}
{150 paragraphs of Lorem Ipsum dummy text}
%</package>
-%<*lipsum>
-\ProvidesFile{lipsum.ltd.tex}%
- [\lipsumdate\space v\lipsumversion\space
- The Lorem ipsum dummy text]
-
-%</lipsum>
-%<*cicero>
-\ProvidesFile{cicero.ltd.tex}%
- [\lipsumdate\space v\lipsumversion\space
- Text of Cicero's speech]
-
-%</cicero>
% \fi
%
% \title{\pkg{lipsum}}
@@ -165,6 +132,7 @@
% \changes{v2.3}{2021/03/03}{Remove dependency on an \pkg{xparse} internal
% macro. \pkg{lipsum}'s new home at
% \url{https://github.com/PhelypeOleinik/lipsum}}
+% \changes{v2.4}{2021/06/03}{Major changes documented in \texttt{CHANGELOG.md}.}
%
% \maketitle{\pkg{lipsum} is a \LaTeX{} package that produces dummy text
% to be used in test documents or examples. The paragraphs are taken with
@@ -174,30 +142,62 @@
% documentation: Florent Chervet, Ulrike Fischer, Vincent Belaïche, Enrico
% Gregorio, Frank Mittelbach, Karl Hagen.
%
-% \hspace{1em} Please, file bug reports, typos in the documentation or
+% Please, file bug reports, typos in the documentation or
% feature requests as an issue on
% \url{https://github.com/PhelypeOleinik/lipsum/issues}.}
+%
% \begin{documentation}
%
-% \section{Quick usage overview}
-% To load the package specify
+% \section{Introduction}
+%
+% To load the package, write
% \begin{verbatim}
% \usepackage{lipsum}
% \end{verbatim}
-% in the preamble of your document. This package provides several
-% macros. \DescribeMacro{\lipsum}The most important one is
-% \cs{lipsum}. This macro typesets the \emph{Lorem ipsum}
-% paragraphs. It has two optional arguments. The first one allows to specify the range
-% of the paragraphs. For example, \verb|\lipsum[4-57]| typesets the paragraphs 4 to
-% 57 and accordingly, \verb|\lipsum[23]| typesets the 23\textsuperscript{rd}
-% paragraph. Using \cs{lipsum} without its optional argument typesets
-% the paragraphs 1--7 of \lips
+% in the preamble of your document. Probably the most important macro
+% provided by this package is \DescribeMacro{\lipsum}\cs{lipsum}, which
+% typesets the \emph{Lorem ipsum} paragraphs. The first optional
+% argument allows to specify the range of the paragraphs. For example,
+% \verb|\lipsum[4-57]| typesets the paragraphs 4 to 57 and accordingly,
+% \verb|\lipsum[23]| typesets the 23\textsuperscript{rd} paragraph.
+% Using \cs{lipsum} without its optional argument typesets the
+% paragraphs 1--7 of \lips
%
% As of version 2.0, \cs{lipsum} has a second optional argument which allows
% selecting a range of sentences from the paragraphs. To get the sentences
% four to eight from paragraphs three to nine, use |\lipsum[3-9][4-8]|.
+% The sentences are counted from the first sentence of the first selected
+% paragraph. In the previous example, sentence number~1 is the first
+% sentence of paragraph number~3.
+%
+% \subsection{Foreword to Version 2.4}
+% \label{sec:foreword2.4}
+%
+% Version~2.4 received another almost complete rewrite focussing on the
+% internal structure of the package, and some minor fixes (see the
+% \texttt{CHANGELOG} for more details).
+%
+% The package now ships with a new dummy text, in pseudo-Czech, provided
+% by Ondřej Macek. To select this text, load the package with
+% |\usepackage[text=lipsum-cs]{lipsum}| or use
+% \cs{setlipsum}|{text=lipsum-cs}|.
+%
+% The dummy texts now have a language metadata which is used to select
+% the proper hyphenation patterns to the dummy text. For compatibility
+% with old documents you can load \pkg{lipsum} with
+% |\usepackage[auto-lang=false]{lipsum}| or, as above, use
+% \cs{setlipsum}|{auto-lang=false}|.
+%
+% Finally, as demonstrated above, a new macro \cs{setlipsum} was added
+% to change package options anywhere in the document, so you may change,
+% for example, the dummy text printed by \cs{lipsum} on-the-fly by using
+% \cs{setlipsum}|{text=|\meta{name}|}| \secref{sec:other-texts} for a
+% list of available texts). In general, a key-val syntax was added which
+% will eventually replace the command-based syntax for package settings.
+% For the time being, both versions are available.
+%
+% \subsection{Foreword to Version 2.0}\label{sec:foreword2.0}
%
-% \section{Foreword to Version 2.0}\label{sec:foreword2.0}
% Version 2.0 of \pkg{lipsum} is a complete (well, nearly complete) rewrite
% of the code in \pkg{expl3}
% syntax. I have never used \pkg{expl3} before and thus the code might be too
@@ -224,16 +224,14 @@
% \SetLipsumParListItemEnd{\LipsumProtect{\foo}}
%
% \begin{document}
-% \renewcommand\foo{\color{.!75!red}}
+% \renewcommand\foo{\color{.!75!red}}
% { \lipsumexp }
%
-% \newcounter{mycnt}\setcounter{mycnt}{1}
-% \renewcommand\foo{%
-% (\themycnt)\stepcounter{mycnt}}
-% \lipsumexp
-%
+% \newcounter{mycnt}\setcounter{mycnt}{1}
+% \renewcommand\foo{%
+% (\themycnt)\stepcounter{mycnt}}
+% \lipsumexp
% \end{document}
-%
% \end{verbatim}
% \end{explbox}
% \item The internal macros \cs{lips@i}, \cs{lips@ii}, \cs{lips@iii}, \ldots,
@@ -241,7 +239,9 @@
% \item All other internal macros (with one exception) are no longer available,
% too.
% \end{itemize}
-% \section{Foreword to version 2.2}
+%
+% \subsection{Foreword to version 2.2}
+%
% As of version 2.2, \pkg{lipsum} provides a simple interface to define other
% texts to be used as output of the \cs{lipsum}-family of commands. This was
% heavily inspired by an issue raised by
@@ -251,5369 +251,1238 @@
% who wants to provide a dummy text in another language. Comments and
% suggestions on this are very welcome.
%
-% Please note that the documentation still only refers to the \lips-text.
+% Please note that the documentation still only refers to the
+% \emph{Lorem ipsum} text.
%
% \section{Usage}
+%
% \pkg{lipsum} was intended to quickly provide a way to fill a page or two to
% analyze the page
-% layout\footnote{\url{https://groups.google.com/d/topic/de.comp.text.tex/oPeLOjkrLfk/discussion}}.
+% layout\footnote{\url{https://groups.google.com/d/topic/de.comp.text.tex/oPeLOjkrLfk}}.
% While it has grown in the meanwhile and now provides some more advanced
% features, it still is only intended to quickly provide text. If you want more
% features, look at the \pkg{blindtext}-package.
%
% \subsection{Package Options}
+% \label{sec:pkg-opt}
+%
% \pkg{lipsum} outputs a range of paragraphs taken from the \lips\ dummy
-% text. The package option controls how the single paragraphs of \lips\ are
-% separated. The default is to separate the paragaraph with \cs{par}. One
-% option is available to change the default behaviour:
-% \begin{description}
-% \item[\opt{nopar}:] Instead of \cs{par}, \cs{space} is used to
-% separate the paragraphs.
-% \end{description}
+% text. The package options control mainly the behaviour of the
+% \cs{lipsum} and \cs{unpacklipsum} commands, and can be set at
+% load-time with \cs{usepackage}|[|\meta{option}|]{lipsum}|, or later in
+% the document by using \cs{setlipsum}|{|\meta{option}|}|.
+%
+% \begingroup
+% \RenewDocumentCommand \item { r[] e= d() }
+% {\par\medskip\noindent\llap
+% {\smash{\begin{tabular}{@{}l@{}}\toprule
+% \opt{#1}\\\bottomrule\end{tabular}}~~}%^^A
+% \IfValueT{#2}{=~~\!\meta{#2}\hfill
+% \IfValueT{#3}{\quad(default: \texttt{#3})}\null
+% \newline}\ignorespaces}
+%
+% \item[nopar]={boolean}(false)
+% Changes the initial default separator between each paragraph of
+% \cs{lipsum} from \cs{par} to \cs{space}, and the other way around
+% for \cs{lipsum*}.
+% \item[text]={name}(lipsum)
+% Selects the dummy text \meta{name} that is used by \cs{lipsum} and
+% \cs{unpacklipsum} \secref{sec:other-texts}.
+% \item[language]={lang}(latin)
+% Sets the language to be used by \cs{lipsum} to typeset the currently
+% active dummy text \secref{sec:hyphenation}. Changing the dummy text
+% with the \opt{text} option will also change the current
+% \opt{language}.
+% \item[auto-lang]={boolean}(true)
+% Turns on/off automatic language switching. This changed since
+% version 2.3, in which this option (didn't exist thus) was |false| by
+% default. See section~\ref{sec:hyphenation} for more details.
+% \item[default-range]={p_i\texttt{-}p_f}(1-7)
+% Sets the default range of paragraphs produced by \cs{lipsum} when no
+% optional argument is provided. The value to \opt{default-range}
+% obeys the \meta{range} syntax described in
+% section~\ref{sec:range-syntax}. If no value is given to
+% \opt{default-range} (that is, \cs{setlipsum}|{default-range}|), then
+% the default is reset to |1-7|.
+%
+% \endgroup
+%
+% \medskip
+%
+% Besides these options, there are still ones that can be passed to the
+% package to influence the paragraph and sentence separators and other
+% such things. These options are detailed in
+% section~\ref{sec:separators}.
+%
+%^^A Besides the listed options, there are still options that can be
+%^^A passed to the package to influence the paragraph and sentence
+%^^A separators and other things like that. The options for paragraphs
+%^^A are:
+%^^A \AddToHookNext{env/multicols/before}
+%^^A {\setlength{\multicolsep}{0.5\multicolsep}}
+%^^A \begin{multicols}{2}
+%^^A \ttfamily \setlist{nosep}
+%^^A \begin{itemize}
+%^^A \item par-before
+%^^A \item par-begin
+%^^A \item par-sep
+%^^A \item par-end
+%^^A \item par-after
+%^^A \end{itemize}
+%^^A \begin{itemize}
+%^^A \item par-before*
+%^^A \item par-begin*
+%^^A \item par-sep*
+%^^A \item par-end*
+%^^A \item par-after*
+%^^A \end{itemize}
+%^^A \end{multicols}
+%^^A and for sentences, the same group with |sentence| instead of |par|
+%^^A in their name. These options are detailed in
+%^^A section~\ref{sec:separators}.
%
% \subsection{User Commands}
-% \DescribeMacro{\lipsum}\DescribeMacro{\lipsum*}
-% \begin{quote}
-% \cs{lipsum}\oarg{paragraph range}\oarg{sentence range}\\
-% \cs{lipsum*}\oarg{paragraph range}\oarg{sentence range}
-% \end{quote}
-% \cs{lipsum} (and \cs{lipsum*}) uses a \meta{range} as input. A \meta{range}
-% consists either of a single \meta{number} or two numbers separated by a dash
-% (|-|), as in \meta{number_1}-\meta{number_2}. While syntactically correct,
-% \cs{lipsum} (and related commands) might fail if
-% $\meta{number_2} < \meta{number_1}$.
-%
-% If used without an argument, \cs{lipsum} outputs the paragraphs 1--7 of
-% \lips\ (as long as the default has not been overwritten, see
-% below). \cs{lipsum} terminates every paragraph depending on the package
-% option (using \cs{par} is the default). \cs{lipsum*} does the same, but
-% uses a different termination (default is to use a blank space) for each
-% paragraph. \emph{As a simplified rule of thumb, \cs{lipsum} prints the
-% paragraphs as multiple paragraphs, \cs{lipsum*} prints them as a single
-% paragraph}.
-%
-% To change the range of the paragraphs, specify a \meta{paragraph range}, which
-% can either be a single number, as in |\lipsum[23]| (which will output the
-% 23\textsuperscript{rd} paragraph), or two numbers separated by a dash, as in
-% |\lipsum*[9-12]|, which will output the paragraphs nine to
-% twelve. \pkg{lipsum} provides 150 paragraphs of \lips\, thus |150| is the
-% maximum that should be specified.
-%
-% \subsection{Outputting Sentences instead of Paragraphs}
-% Starting with \pkg{lipsum} v2.0, \cs{lipsum} and \cs{lipsum*} allow to
-% output sentences of the \lips\ dummy text instead of paragraphs. To retrieve
-% sentences instead of paragraphs, specify a \meta{sentence range} as the second
-% optional argument of \cs{lipsum} and \cs{lipsum*}. Note: To be able to
-% specify a second optional argument, the first optional argument has to be
-% provided and is thus not really optional anymore. Furthermore, it must be
-% set to some \meta{range}-value, using an empty first optional argument is
-% not implemented. As a consequence |\lipsum[][1-3]| will fail.
-%
-% Valid inputs for \meta{sentence range} are, again, a single number, as in
-% |\lipsum[1][1]|, which will output the first sentence of the first paragraph
-% (the famous {\SetLipsumSentenceListEnd{}\itshape»\lipsum[1][1]«}). |\lipsum*[3-7][7-8]| will output the
-% seventh and eighth sentence of the paragraphs three to seven.
-%
-% There are some limitations and remarks on selecting sentences as described
-% in the following:
-% \begin{itemize}
-% \item When sentences are output, they are (by default) separated by
-% \cs{space}. The difference between \cs{lipsum} and \cs{lipsum*} is the
-% token that terminates the paragraph of sentences: Without a package option
-% (and changing the defaults), \cs{lipsum} terminates the sequence of
-% senetences by \cs{par}, \cs{lipsum*} by \cs{space} and vice versa, if
-% \opt{nopar} is specified as package option.
-% \item Specifying a \meta{sentence range} which is outside the number of
-% sentences in the specified \meta{paragraph range} will not lead to an
-% error. Instead, sentences which are not available are ignored and nothing
-% is output. For example, |\lipsum[104][9-20]| will only output two
-% sentences since paragraph \#104 consists only of 10 sentences. For the
-% same reason, |\lipsum[104][11-20]| will output nothing.
-% \item If you need a lot of sentences, consider the \opt{space} option and
-% |\lipsum[1-150]|. This should be faster.
-% \end{itemize}
%
-% \section{Advanced or Developer Macros}
-% To distinguish between macros for users and macros for, for example, package
-% developers, it has been discussed to use different naming schemes. One
-% option is that user level macros are all lowercase, while developer-level
-% commands are CamelCase. Until version 2.0, \pkg{lipsum} has not yet followed
-% this convention. Thus, the old lowercase commands are still available, but
-% considered deprecated. They are not described in this section, but in the
-% corresponding section in the documented code (section
-% \nameref{sec:code:commands}).
-%
-% \DescribeMacro{\SetLipsumDefault} In order to change the default range of
-% paragraphs that is used by \cs{lipsum} and friends, specify
-% |\SetLipsumDefault{8}| or |\SetLipsumDefault{123-145}|.
-%
-% \DescribeMacro{\LipsumPar} To get a single paragraph of the \lips\ dummy
-% text, use |\LipsumPar{8}| (for the eighth paragraph). This is similar to
-% using |\lips@viii| directly in versions prior to \pkg{lipsum}2.0. the
-% difference between |\LipsumPar{8}| and |\lipsum[8]| is that the first directly
-% accesses the internal macro that stores the corresponding paragraph, while
-% the latter runs the loop that selects the \lips\ paragraphs.
-%
-% \DescribeMacro{\unpacklipsum} \DescribeMacro{\unpacklipsum*}
-% \DescribeMacro{\lipsumexp} The commands \cs{unpacklipsum} and
-% \cs{unpacklipsum*} work as \cs{lipsum} and \cs{lipsum*} and have the same
-% two optional arguments, but instead of typesetting the \lips\ paragraphs,
-% the commands store them in the macro \cs{lipsumexp} using \tn{edef}, thus,
-% everything which can be expanded is expanded.
-%
-% \subsection{Fine-tuning the output}
-% The output of \cs{lipsum}, whether paragraphs or sentences, can be seen as a
-% \meta{list} of \meta{item}s, where an item is either a paragraph or a
-% sentence. As of version 2.0, \pkg{lipsum} allows to fine-tune which tokens
-% are inserted at the beginning of the \meta{list}, at the end of the
-% \meta{list}, at the beginning and end of each \meta{item} as well as between
-% the single \meta{items}. The resulting list of tokens can be seen in
-% Figure~\ref{fig:tokens}.
-% \begin{widefigure}
-% % { \raggedright
-% \meta{list_s}\dotfill\cs{SetLipsumParListStart}\Arg{tokens}\\
-% \hspace*{1em}\meta{item_1_,_s-outer}{\color{gray}\dotfill
-% \cs{SetLipsumParListOuterItemStart}\Arg{item spec}\Arg{tokens}}\\
-% \hspace*{2em}\meta{item_s}\dotfill\cs{SetLipsumParListItemStart}\Arg{tokens}\\
-% \hspace*{3em}\meta{item_1_,_s-inner}{\color{gray}\dotfill
-% \cs{SetLipsumParListInnerItemStart}\Arg{item spec}\Arg{tokens}}\\
-% \hspace*{4em}\textbf{\meta{item_1}}\\
-% \hspace*{3em}\meta{item_1_,_e-inner}{\color{gray}\dotfill
-% \cs{SetLipsumParListInnerItemEnd}\Arg{item spec}\Arg{tokens}}\\
-% \hspace*{2em}\meta{item_e}\dotfill\cs{SetLipsumParListItemEnd}\Arg{tokens}\\
-% \hspace*{1em}\meta{item_1_,_e-outer}{\color{gray}\dotfill
-% \cs{SetLipsumParListOuterItemEnd}\Arg{item spec}\Arg{tokens}}\\
-% \meta{item-separator}\dotfill\cs{SetLipsumParListItemSeparator}\Arg{tokens}\\[.5\baselineskip]
-% \hspace{1em}\ldots\hfill\hfill\hfill $\uparrow$ {\small lists of paragraphs}
-% $\uparrow$ --- $\downarrow$ {\small
-% lists of sentences} $\downarrow$\\[.5\baselineskip]
-% \meta{item-separator}\dotfill\cs{SetLipsumSentenceListItemSeparator}\Arg{tokens}\\
-% \hspace{1em}\meta{item_N_,_s-outer}{\color{gray}\dotfill
-% \cs{SetLipsumSentenceListOuterItemStart}\Arg{item spec}\Arg{tokens}}\\
-% \hspace{2em}\meta{item_s}\dotfill\cs{SetLipsumSentenceListItemStart}\Arg{tokens}\\
-% \hspace{3em}\meta{item_N_,_s-inner}{\color{gray}\dotfill
-% \cs{SetLipsumSentenceListInnerItemStart}\Arg{item spec}\Arg{tokens}}\\
-% \hspace*{4em}\textbf{\meta{item_N}}\\
-% \hspace*{3em}\meta{item_N_,_e-inner}{\color{gray}\dotfill
-% \cs{SetLipsumSentenceListInnerItemEnd}\Arg{item spec}\Arg{tokens}}\\
-% \hspace*{2em}\meta{item_e}\dotfill\cs{SetLipsumSentenceListItemEnd}\Arg{tokens}\\
-% \hspace*{1em}\meta{item_N_,_e-outer}{\color{gray}\dotfill
-% \cs{SetLipsumSentenceListOuterItemEnd}\Arg{item spec}\Arg{tokens}}\\
-% \meta{list_e}\dotfill\cs{SetLipsumSentenceListEnd}\Arg{tokens}
+% \begin{function}{\lipsum}
+% \begin{syntax}
+% \cs{lipsum}\meta{*}\oarg{par range}\oarg{sentence range}
+% \end{syntax}
+% \cs{lipsum} outputs the \meta{par range} from the
+% currently active dummy text. If \meta{par range} is not given
+% or is empty, the \opt{default-range} (initially |1-7|) is output.
+% ^^A
+% If a \meta{sentence range} is given, the selected paragraphs are
+% split into sentences, numbered starting from~1, and the specified
+% range of sentences is taken out from those paragraphs.
+% ^^A
+% If the \meta{*} version is used, a different set of separators is
+% inserted around the paragraphs or sentences.
+%
+% \cs{lipsum} changes the active language to that of the dummy text
+% for typesetting, so the proper hyphenation patterns are used.
+% See section~\ref{sec:hyphenation}.
+% ^^A
+% Section~\ref{sec:range-syntax} explains the syntax of ranges, and
+% section~\ref{sec:separators} explains the separators added around
+% the pieces of text.
+% \end{function}
+%
+% \begin{function}{\unpacklipsum,\lipsumexp}
+% \begin{syntax}
+% \cs{unpacklipsum}\meta{*}\oarg{par range}\oarg{sentence range}
+% \ldots
+% \cs{lipsumexp}
+% \end{syntax}
+% \cs{unpacklipsum} selects the paragraphs and/or sentences exactly as
+% described for \cs{lipsum}, but instead of outputting them, it saves
+% the selected text in the \cs{lipsumexp} macro. Additionally,
+% \cs{unpacklipsum} \ldots\cs{lipsumexp} is not completely equivalent
+% to \cs{lipsum} because it doesn't change languages as \cs{lipsum}
+% does.
+% \end{function}
+%
+% \begin{function}{\setlipsum}
+% \begin{syntax}
+% \cs{setlipsum}\Arg{key-val list}
+% \end{syntax}
+% Applies the \meta{key-val list} of options to the package. The
+% options are described in section~\ref{sec:pkg-opt} and in
+% section~\ref{sec:separators}.
+% \end{function}
+%
+% \subsection{Other commands}
+%
+% These commands exist for necessity or backwards comatibility, and
+% should normally not be needed in user documents.
+%
+% \begin{function}{\SetLipsumText}
+% \begin{syntax}
+% \cs{SetLipsumDefault}\Arg{name}
+% \end{syntax}
+% Loads the dummy text \meta{name} \secref{sec:other-texts}.
+% This command does the same as option \opt{text}, but it is
+% kept for backwards compatibility.
+% \end{function}
+%
+% \begin{function}{\SetLipsumDefault}
+% \begin{syntax}
+% \cs{SetLipsumDefault}\Arg{range}
+% \end{syntax}
+% Sets the default range for \cs{lipsum} and \cs{unpacklipsum}.
+% This command does the same as option \opt{default-range}, but it is
+% kept for backwards compatibility.
+% \end{function}
+%
+% \section{General remarks on behaviour}
+%
+% Here are some topics that are general considerations about the
+% behaviour of \pkg{lipsum} and its commands. These are technicalities
+% that most end users don't care too much about, unless you are trying
+% to do something beyond the usual ``print me some dummy text''.
+%
+% \subsection{Syntax of paragraph and sentence ranges}
+% \label{sec:range-syntax}
+%
+% A \meta{range} argument can either be blank, a single integer, or a
+% proper integer range. If the \meta{range} argument is blank, the
+% commands behave as if the argument was not given at all. For example,
+% |\lipsum[]| behaves exaclty like |\lipsum| and outputs the default
+% paragraph range. Note that |\lipsum[][2-5]| does \textbf{not} behave
+% as |\lipsum[2-5]|, but behaves as |\lipsum[1-7][2-5]| (assuming
+% |default=range=1-7|), because the default value is then taken for the
+% first argument. If the \meta{range} argument is an integer, then only
+% a single paragraph/sentence is selected.
+%
+% If the argument contains a |-| (\textsc{ascii}~45), it is interpreted
+% as a \emph{proper} range \meta{n_i}|-|\meta{n_f}. In a proper range,
+% if \meta{n_i} is blank, it is taken to be the start of the possible
+% range, and in the same way, if \meta{n_f} is empty it is taken to be
+% the end of the possible range. That is, |\lipsum[-9]| is the same as
+% |\lipsum[1-9]|, and |\lipsum[5-]| is the same (assuming the standard
+% 150-paragraph dummy text) as |\lipsum[5-150]|, and similarly,
+% |\lipsum[-]| is the same as |\lipsum[1-150]|.
+%
+% Only one |-| is allowed in a range, so if more than one |-| is given,
+% an error is raised and no paragraphs/sentences are output. No
+% paragraphs or sentences will be output also in case one of the ranges
+% is reversed, so |\lipsum[2-1]| returns no paragraphs, as does
+% |\lipsum[][2-1]| output no sentences, for example. Note that
+% ``returning no paragraphs/sentences'' is not ``the output is empty'':
+% that is mostly true, except that the |-before| and |-after| separators
+% are still output \secref{sec:separators}.
+%
+% Finally, if a range spans more paragraphs or sentences than what the
+% dummy text actually provides, the range is truncated so that it fits
+% the available text. If the range in the argument does not intersect
+% with the range provided by the dummy text, no paragraphs or sentences
+% are output.
+%
+% \subsection{Hyphenation patterns}
+% \label{sec:hyphenation}
+%
+% Since version~2.4, the command \cs{lipsum} automatically changes the
+% hyphenation patterns when typesetting a dummy text, so that
+% line-breaking looks better \secref{sec:foreword2.4}. This feature is
+% on by default, so if you need the old behaviour you have to explicitly
+% disable automatic language switching with
+% |\setlipsum{auto-lang=false}|.
+%
+% The language is defined individually for each dummy text
+% \secref{sec:other-texts}, but you may change it for the current dummy
+% text by using |\setlipsum{language=|\meta{lang}|}|. If you load
+% another dummy text (for example with the \opt{text} option), then the
+% option \opt{language} is also changed according to the dummy text
+% loaded \secref{sec:other-texts}.
+%
+% \subsection{Paragraph and sentence separators}
+% \label{sec:separators}
+%
+% As may be clear by now, \pkg{lipsum} has two modes of operation:
+% sentence output, and paragraph output, selected by providing or not
+% providing the second optional argument to \cs{lipsum}. In each mode,
+% the dummy text is separated into chunks (paragraphs or sentences),
+% which are counted, and then output accordingly.
+%
+% When \cs{lipsum} (or \cs{unpacklipsum}) is used with a single (or no)
+% optional argument, then a range of paragraphs is output, along with
+% some ``separators'' (in the lack of a better name) between paragraphs,
+% around each paragraph, and before and after the whole output.
+% A schematic (very colorful, because I couldn't find a better visual)
+% representation of the output is:
+%
+% \begin{function}{
+% par-before,
+% par-begin,
+% par-sep,
+% par-end,
+% par-after,
+% sentence-before,
+% sentence-begin,
+% sentence-sep,
+% sentence-end,
+% sentence-after,
% }
-% \begin{multicols}{2}\sffamily\bfseries
-% \caption{Places where additional tokens can be inserted in the output. $N$
-% indicates the last \meta{item}, `\ldots' indicate the same structure as for the
-% first and last \meta{item}. Commands colored gray are not yet implemented. The
-% upper part displays the commands for lists of paragraphs, the lower part for
-% lists of sentences (also indicated by the labelled arrows in the middle). }
-% \label{fig:tokens}
-% \end{multicols}
-%
-%
-% \end{widefigure}
-% \DescribeMacro{\SetLipsumParListStart}\DescribeMacro{\SetLipsumParListStart*}
-% \DescribeMacro{\SetLipsumParListEnd}\DescribeMacro{\SetLipsumParListEnd*}
-% \DescribeMacro{\SetLipsumSentenceListStart}\DescribeMacro{\SetLipsumSentenceListStart*}
-% \DescribeMacro{\SetLipsumSentenceListEnd}\DescribeMacro{\SetLipsumSentenceListEnd*}
-% \pkg{lipsum} allows to specify all of the tokens in the list indicated
-% above except for the item-specific inner and outer \meta{items} (shown as
-% \meta{item_N_,_s-outer/inner}, \meta{item_N_,_e-outer/inner} above), which
-% remain to be implemented.
-%
-% The macros that enable setting these tokens are all available in a normal
-% and in a starred version, they apply to \cs{lipsum} and \cs{unpacklipsum} or
-% \cs{lipsum*} and \cs{unpacklipsum*}, respectively.
-%
-%
-% The macro \cs{SetLipsumParListStart}\Arg{tokens} and its starred variant
-% insert \meta{tokens} at the very beginning of the list of paragraphs
-% (\meta{list_s} in Figure~\ref{fig:tokens}). \cs{SetLipsumSentenceListStart}
-% and \cs{SetLipsumSentenceListStart*} do the same for the list of
-% sentences. The corresponding macros that allow to input \meta{tokens} at the
-% very end of the output (\meta{list_e} in Figure~\ref{fig:tokens}) are
-% \cs{SetLipsumParListEnd} (and its starred variant) and
-% \cs{SetLipsumSentenceListEnd} (and its starred variant).
-%
-% As a shorthand, the commands
-% \begin{macrolist}
-% \item \cs{SetLipsumParListSurrounders}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumParListSurrounders}
-% \item \cs{SetLipsumParListSurrounders*}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumParListSurrounders*}
-% \item \cs{SetLipsumSentenceListSurrounders}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumSentenceListSurrounders}
-% \item \cs{SetLipsumSentenceListSurrounders*}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumSentenceListSurrounders*}
-% \end{macrolist}
-% are available to set the \meta{tokens} for the start and end position with a
-% single command.
-%
-% \DescribeMacro{\SetLipsumParListItemStart}
-% \DescribeMacro{\SetLipsumParListItemStart*}
-% \DescribeMacro{\SetLipsumParListItemEnd} \DescribeMacro{\SetLipsumParListItemEnd*}
-% \DescribeMacro{\SetLipsumSentenceListItemStart}
-% \DescribeMacro{\SetLipsumSentenceListItemStart*}
-% \DescribeMacro{\SetLipsumSentenceListItemEnd}
-% \DescribeMacro{\SetLipsumSentenceListItemEnd*}
-% To add \meta{tokens} in front of every \meta{item}, the commands
-% \cs{SetLipsumParListItemStart} (and its starred variant) and
-% \cs{SetLipsumSentenceListItemStart} are available. To add tokens after every
-% \meta{item}, the corresponding commands are \cs{SetLipsumParListItemEnd}
-% (and its starred variant) and \cs{SetLipsumSentenceListItemStart} (and its
-% starred variant).
-%
-% Again, there are
-% commands that allow to set a pair of \meta{tokens} to surround every item:
-% \begin{macrolist}
-% \item \cs{SetLipsumParListItemSurrounders}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumParListItemSurrounders}
-% \item \cs{SetLipsumParListItemSurrounders*}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumParListItemSurrounders*}
-% \item \cs{SetLipsumSentenceListItemSurrounders}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumSentenceListItemSurrounders}
-% \item \DescribeMacro{\SetLipsumSentenceListItemSurrounders*} \cs{SetLipsumSentenceListItemSurrounders*}\Arg{start}\Arg{end}
-%
-% \end{macrolist}
-%
-% \DescribeMacro{\SetLipsumParListItemSeparator}
-% \DescribeMacro{\SetLipsumParListItemSeparator*}
-% \DescribeMacro{\SetLipsumSentenceListItemSeparator}
-% \DescribeMacro{\SetLipsumSentenceListItemSeparator*} To insert \meta{tokens}
-% between the single \meta{item}s, the commands
-% \cs{SetLipsumParListItemSeparator} (with its starred variant) and
-% \cs{SetLipsumSentenceListItemSeparator} (also with its starred variant) are
-% available. As can be seen in Figure~\ref{fig:tokens}, these tokens are
-% inserted after the tokens inserted by |\...ListItemEnd| and before the
-% following |\...ListItemStart|.
-%
-% \DescribeMacro{\LipsumProtect} To insert \meta{tokens} that survive the
-% expansion by \cs{unpacklipsum} and \cs{unpacklipsum*}, \pkg{lipsum} provides
-% \cs{LipsumProtect}\Arg{tokens}. See the example in the
-% \nameref{sec:foreword2.0}.
-%
-% The macros introduced above can be used to turn the output of \cs{lipsum},
-% for example, into a list, as exemplified in Figure~\ref{fig:list-expl}.
-% \begin{widefigure}
-% \begin{exploutputbox}
-% \begin{verbatim}
-%
-% \SetLipsumSentenceListSurrounders{\begin{itemize}}{\end{itemize}}
-% \SetLipsumSentenceListItemStart{\item}
-% \lipsum[10][1-2]
-% \end{verbatim}
-% \mdfsubtitle{Output}
-% \SetLipsumSentenceListSurrounders{\begin{itemize}}{\end{itemize}}
-% \SetLipsumSentenceListItemStart{\item}
-% \lipsum[10][1-2]
-% \end{exploutputbox}
-% \sffamily\bfseries
-% \caption{Turning the output of \cs{lipsum} into a list using inserted tokens.}
-% \label{fig:list-expl}
-% \end{widefigure}
-% The gray commands in Figure~\ref{fig:tokens} are thought to allow inserting
-% \meta{tokens} around a specific \meta{item}, but they remain to be implemented. One
-% way to access a specific \meta{item} in a list is shown in
-% Figure~\ref{fig:seconditem}, but other, maybe more elegant ways are
-% conceivable.
-%
-% To quickly reset the \meta{tokens} inserted by the above commands to their
-% default values, \pkg{lipsum} provides \DescribeMacro{\LipsumRestoreParList}
-% \cs{LipsumRestoreParList} (for lists of paragraphs),
-% \DescribeMacro{\LipsumRestoreSentenceList} \cs{LipsumRestoreSentenceList} (for lists of
-% sentences) and \DescribeMacro{\LipsumRestoreAll} \cs{LipsumRestoreAll} for
-% both lists.
-% \begin{widefigure}
-% \begin{exploutputbox}
-% \begin{verbatim}
-% \newcounter{itemcount}
-% \setcounter{itemcount}{0}
-% \SetLipsumParListItemSurrounders{%
-% \stepcounter{itemcount}
-% \ifnum\value{itemcount}=2\begingroup\sffamily\fi
-% }{
-% \ifnum\value{itemcount}=2\endgroup\fi
-% }
-% \lipsum[110-112]
-% \end{verbatim}
-% \mdfsubtitle{Output}
-% \newcounter{itemcount}
-% \setcounter{itemcount}{0}
-% \SetLipsumParListItemSurrounders{%
-% \stepcounter{itemcount}
-% \ifnum\value{itemcount}=2\begingroup\sffamily\fi
-% }{
-% \ifnum\value{itemcount}=2\endgroup\fi
-% }
-% \setlength{\parindent}{1em}\small
-% \lipsum[110-112]
-% \end{exploutputbox}\sffamily\bfseries
-% \caption{Styling the second \meta{item} of a list.}\label{fig:seconditem}
-% \end{widefigure}
-% \subsection{Loading and defining different texts}\label{sec:other-texts}
-% Starting with \pkg{lipsum}2.2, a simple interface is provided to define and
-% load other texts for the output of \cs{lipsum} and friends. This interface
-% can, for example, be used to implement dummy texts in different languages
-% without re-coding the logic implemented by \pkg{lipsum}. In order to provide
-% a new text that will be used by lipsum, define the text by using a set of
-% \DescribeMacro{\NewLipsumPar}\cs{NewLipsumPar}\Arg{paragraph} commands in a
-% file with the ending |.ltd.tex| (|ltd| means \emph{lipsum text
-% definition}\footnote{To avoid name clashes with files using general
-% languages as names, I chose to introduce the |.ltd.tex| file ending. I did
-% not find a file with this ending in my |texmf|-tree, so I guess it is
-% safe.}) to a location where your \TeX-system will find it. The
-% \meta{paragraph}-argument is a single paragraph of the new text. Thus, the
-% first occurence of \cs{NewLipsumPar} defines the first paragraph, the second
-% occurence the second paragraph and so on.
+% \noindent
+% \begin{tikzpicture}[x=0.703cm,
+% item/.style={
+% draw,
+% rounded corners=2mm,
+% minimum width=2.2cm,
+% execute at begin node=\strut,
+% rotate=54,
+% font=\footnotesize,
+% },
+% ]
+% \def\sep#1{\texttt{par-\textbf{#1}}\null}
+% \node [item,fill=red!40 ] at (0 ,0) {\sep{before}};
+% \node [item,fill=red!20 ] at (1 ,0) {\sep{begin }};
+% \node [item,fill=red!20 ] at (2 ,0) {\meta{paragraph}};
+% \node [item,fill=red!20 ] at (3 ,0) {\sep{end \ }};
+% \node [item,shading=axis,left color=red!30,right color=green!30,
+% shading angle=54] at (4 ,0) {\sep{sep \ }};
+% \node [item,fill=green!20] at (5 ,0) {\sep{begin }};
+% \node [item,fill=green!20] at (6 ,0) {\meta{paragraph}};
+% \node [item,fill=green!20] at (7 ,0) {\sep{end \ }};
+% \node [item,shading=axis,left color=green!30,right color=blue!30,
+% shading angle=54] at (8 ,0) {\sep{sep \ }};
+% \node [item,fill=blue!20 ] at (9 ,0) {\sep{begin }};
+% \node [item,fill=blue!20 ] at (10,0) {\meta{paragraph}};
+% \node [item,fill=blue!20 ] at (11,0) {\sep{end \ }};
+% \node [item,fill=blue!40 ] at (12,0) {\sep{after\ }};
+% \end{tikzpicture}
+%
+% When \cs{lipsum} is called, the first thing it outputs is the
+% \opt{par-before} tokens. These tokens are output unconditionally,
+% regardless of how many (if any) paragraph is output.
+%
+% Then, before each paragraph in the range, \cs{lipsum} outputs the
+% \opt{par-begin} tokens, and then the actual text of the
+% \meta{paragraph}, and then the \opt{par-end} tokens. These tokens are
+% output conditionally, if the paragraph text is output. If more than
+% one paragraph is output, then the \opt{par-sep} tokens are inserted
+% between the \opt{par-end} of one paragraph and the \opt{par-begin} of
+% the paragraph that follows.
+%
+% \end{function}
+%
+% Finally, at the end, the \opt{par-after} tokens are inserted
+% unconditionally at the end, same as for \opt{par-before}.
+%
+% As mentioned before, in case of an error parsing the range, the output
+% will be no paragraphs, but the \opt{par-before} and \opt{par-after}
+% tokens are still output.
+%
+% The explanation above is equally valid for the starred variants. If
+% \cs{lipsum}|*| is used, the \opt{par-before*} tokens are
+% inserted, and so on. It is also true for sentences (starred or
+% otherwise), replacing |par| in the option names by |sentence|, so when
+% you use, for example, |\lipsum[][1-9]|, the \opt{sentence-before}
+% tokens will be unconditionally inserted, and so on.
+%
+% Note that, when \cs{lipsum} is used in sentence-mode (for example,
+% with |\lipsum[1-3][1-9]|), only the |sentence-...| tokens are inserted
+% in the output, regardless of how many paragraphs those sentences were
+% collected from. In the same way, if paragraph-mode is being used, only
+% |par-...| tokens are inserted.
+%
+% \subsubsection{Deprecated command-based syntax}
+%
+% Older versions of \pkg{lipsum} (from 2.0 to 2.3) provided~10 CamelCase
+% commands for changing the separators, but the syntax was rather
+% cumbersome to use, so the keyval syntax presented thus far was
+% introduced in the hopes of making things a bit easier. The old
+% commands will still exist for some time in the package, but with a
+% deprecation warning. Changing to the keyval syntax is advised, so
+% here is a correspondence table between the old and new syntaxes:
+%
+% \begin{center}
+% \ttfamily \makeatletter
+% \definecolor{a}{HTML}{E0211A}\colorlet{a}{a!60!black}
+% \definecolor{b}{HTML}{5970D5}\colorlet{b}{b!60!black}
+% \protected@edef\x#1#2{\string\SetLipsum
+% {\color{a}#1}List{\color{b}#2}}%
+% \def\y#1#2{{\color{a}#1}-{\color{b}#2}}
+% \begin{tabular}{@{}ll@{}}
+% \toprule
+% \textrm{Old command} & \textrm{New key name} \\
+% \midrule
+% \x{Par}{Start} & \y{par}{before} \\
+% \x{Par}{ItemStart} & \y{par}{begin} \\
+% \x{Par}{ItemSeparator} & \y{par}{sep} \\
+% \x{Par}{ItemEnd} & \y{par}{end} \\
+% \x{Par}{End} & \y{par}{after} \\
+% \x{Sentence}{Start} & \y{sentence}{before} \\
+% \x{Sentence}{ItemStart} & \y{sentence}{begin} \\
+% \x{Sentence}{ItemSeparator} & \y{sentence}{sep} \\
+% \x{Sentence}{ItemEnd} & \y{sentence}{end} \\
+% \x{Sentence}{End} & \y{sentence}{after} \\
+% \bottomrule
+% \end{tabular}
+% \end{center}
+%
+% Additionally, the command-based interface provided shortcuts
+% |\SetLipsum|\meta{Thing}|List|(|Item|)|Surrounders|, which are
+% equivalent to just using the commands
+% |\SetLipsum|\meta{Thing}|List|(|Item|)|Start| then |\...End|. These
+% don't provide any functionality, other than requiring a little less
+% typing, so no key-val alternative was implemented.
+% The |\...|\meta{Thing}|...Surrounders| commands should be replaced by
+% \meta{thing}|-before| and \meta{thing}|-after|, and the
+% |\...|\meta{Thing}|...ItemSurrounders| commands should be replaced by
+% \meta{thing}|-begin| and \meta{thing}|-end|, as in the correspondence
+% table below:
+%
+% \begin{center}
+% \ttfamily \makeatletter
+% \definecolor{a}{HTML}{E0211A}\colorlet{a}{a!60!black}
+% \definecolor{b}{HTML}{5970D5}\colorlet{b}{b!60!black}
+% \protected@edef\x#1#2{\string\SetLipsum
+% {\color{a}#1}List{\color{b}#2}Surrounders%^^A
+% \kern .5\tabcolsep \xleaders\hbox{\vrule
+% width 2pt height \dimexpr .5ex+.4pt\relax depth -.5ex
+% \kern 2pt}%
+% \hskip 0pt plus 1filll \kern -.5\tabcolsep
+% \raise.5ex\rlap{\kern.5\tabcolsep
+% \vrule width \tabcolsep height 0.4pt depth 0pt
+% \kern-0.5\tabcolsep
+% \smash{\vrule depth \normalbaselineskip width 0.4pt
+% \raise-\normalbaselineskip
+% \hbox{\vrule width .5\tabcolsep height 0.4pt depth 0pt}}}}%
+% \def\y#1#2{{\color{a}#1}-{\color{b}#2}}
+% \begin{tabular}{@{}ll@{}}
+% \toprule
+% \textrm{Old command} & \textrm{New key names} \\
+% \midrule
+% \x{Par}{} & \y{par}{}before \\
+% & \y{par}{}after \\
+% \x{Par}{Item} & \y{par}{begin} \\
+% & \y{par}{end} \\
+% \x{Sentence}{} & \y{sentence}{}before \\
+% & \y{sentence}{}after \\
+% \x{Sentence}{Item} & \y{sentence}{begin} \\
+% & \y{sentence}{end} \\
+% \bottomrule
+% \end{tabular}
+% \end{center}
+%
+% \section{Loading and defining dummy texts}
+% \label{sec:other-texts}
+%
+% Starting with \pkg{lipsum} v2.2, a simple interface is provided to
+% define and load other texts for the output of \cs{lipsum} and friends.
+% This interface can, for example, be used to implement dummy texts in
+% different languages without re-coding the logic implemented by
+% \pkg{lipsum}.
+%
+% \begin{function}{\NewLipsumPar}
+% \begin{syntax}
+% \cs{NewLipsumPar}\Arg{paragraph}
+% \end{syntax}
+% In order to provide a new text that will be used by \pkg{lipsum},
+% define the text by using a set of \cs{NewLipsumPar}\Arg{paragraph}
+% commands in a file with the ending |.ltd.tex| (|ltd| means
+% \emph{lipsum text definition}\footnotemark{}) to a location where
+% your \TeX{} system will find it. The \meta{paragraph}-argument is a
+% single paragraph of the new text. Thus, the first occurence of
+% \cs{NewLipsumPar} defines the first paragraph, the second occurence
+% the second paragraph and so on.
+% \end{function}
+% \footnotetext{To avoid name clashes with files using general languages
+% as names, I chose to introduce the |.ltd.tex| file ending. I did not
+% find a file with this ending in my |texmf|-tree, so I guess it is
+% safe.}
+%
+% \begin{function}{\SetLipsumLanguage}
+% \begin{syntax}
+% \cs{SetLipsumLanguage}\Arg{lang}
+% \end{syntax}
+% Additionally, tell \pkg{lipsum} the language of the dummy text using
+% \cs{SetLipsumLanguage}\Arg{lang} somewhere in the |.ltd.tex| file.
+% \end{function}
+%
+% \medskip
%
% To specify the new text as output for \cs{lipsum} and friends, use
-% \DescribeMacro{\SetLipsumText}\cs{SetLipsumText}\Arg{filename}, where
-% \meta{filename} is the name of the file without the ending |.ltd.tex|.
-%
-% \pkg{lipsum} ships with two texts, |lipsum.ltd.tex| which contains the
-% \lips-dummy text and which is loaded by default, and, thanks to github-user
-% \emph{svenper}, |cicero.ltd.tex|, which contains the speech by Cicero which
-% inspired the \lips-dummy text. In contrast to the default \lips\ text,
-% the |cicero| text, which can be selected by |\SetLipsumText{cicero}|, is true
-% latin, and thus is properly hyphenated by, for example, the \pkg{babel}
-% package with the language |latin| loaded (and
-% selected). Figure~\ref{fig:cicero} shows how to load and use the text of
-% Cicero's speech (note that the use of babel is optional).
-%
-% \begin{widefigure}
-% \begin{exploutputbox}
-% \begin{verbatim}
-% \lipsum[1][1]
-% \SetLipsumText{cicero}
-% \selectlanguage{latin} % optional, requires babel.sty with option latin.
-% \lipsum[1]
-% \end{verbatim}
-% \mdfsubtitle{Output}
-% \lipsum[1][1]
-% \MakePercentComment\SetLipsumText{cicero}\MakePercentIgnore
-% \selectlanguage{latin}
-% \hspace*{1em}\lipsum[1]
-% \end{exploutputbox}
-% \MakePercentComment\SetLipsumText{lipsum}\MakePercentIgnore
-% \sffamily\bfseries
-% \caption{Selecting and using the text of Cicero's speech.}
-% \label{fig:cicero}
-% \end{widefigure}
-% \subsubsection{Limitations of and comments on the interface}
+% \cs{setlipsum}|{|\opt{text}|=|\meta{name}|}|, where \meta{name} is the
+% name of the file without the ending |.ltd.tex|, as given in the table
+% below. When a new dummy text is loaded, the previous one is cleared,
+% and the language is changed as well, according to the table.
+%
+% \begin{table}[ht]
+% \begin{wide}
+% \begin{tabularx}{\textwidth}{lllX}
+% \toprule
+% File (\texttt{.ltd.tex}) & Language & Source & Description \\
+% \midrule
+% \texttt{lipsum} & Latin
+% & James Wilson
+% & Contains the standard \emph{Lorem ipsum} dummy text,
+% obtained from \url{https://www.lipsum.com} (default). \\
+% \texttt{cicero} & Latin
+% & GH user \href{https://github.com/svenper}{svenper}
+% & Contains the speech by Cicero which inspired the \lips{}
+% dummy text. \\
+% \texttt{lipsum-cs} & Czech
+% & Ondřej Macek
+% & Lipsum dummy text in the Czech language, obtained from
+% Petr StaníÄek's website:
+% \url{https://www.wellstyled.com/tools/dummy-cz}. \\
+% \bottomrule
+% \end{tabularx}
+% \end{wide}
+% \end{table}
+%
+% \subsection{Guidelines on providing new dummy texts}
+%
% \cs{SetLipsumText} more or less just uses an \cs{input} or, to be more
% precise, the \LaTeX3-variant \cs{file_input:n}, to load the |.ltd.tex|
-% file. This means, that the file is not necessarily loaded in the preamble of
-% the document and thus the contents of the file underlie the respective
-% restrictions. Most importantly, no additional packages can be loaded. Thus,
-% if your text requires additional packages, the documentation should state
-% that the user has to load the packages. Since \pkg{lipsum} is a package for
-% developers and commonly used for examples, it will not load any packages
-% except the ones required by \pkg{lipsum} itself to be usable for a maximum
-% of developers.
-%
-% Futhermore, the commands used to typeset the new texts are still
-% \cs{lipsum}, \cs{lipsum*}, \cs{unpacklipsum} and so on and the commands to
-% tune the output are still \cs{SetLipsumParListStart} and friends and no way
-% is provided to easily generate a set of commands where the
-% |lipsum| (or |Lipsum|) part of the command names is exchanged by, for
-% example, |cicero| or |Cicero|.
-%
-% Nonetheless, if you want to write a new package instead of just providing a
-% new dummy text, maybe because it requires a certain package to be loaded, or
-% because you want to have a different command than \cs{lipsum}, this can be
-% as easy as this\footnote{The following code has never been tested, it was
-% just written from mind as an example.}:
-% \begin{verbatim}
-% \ProvidesPackage{mydummytext}
-% \RequirePackage{lipsum}
-% \SetLipsumText{mydummytext}
-% \end{verbatim}
-% To make the text accesible via a command \cs{mydummytext}, simply use
-% \cs{let} to copy the definition of \cs{lipsum}:
-% \begin{verbatim}
-% \let\mydummytext\lipsum
-% \end{verbatim}
-% Note that this works fine with one exception: \cs{unpacklipsum} and
-% \cs{unpacklipsum*} store their content in \cs{lipsumexp}, and they will keep
-% doing so if you simply copy them using \cs{let}. Thus, to change
-% \cs{lipsumexp} to, for example, \cs{ciceroexp}, you will have to re-code the
-% \cs{unpacklipsum} command.
-%
-% I would, however, suggest to keep the \cs{lipsum}-commands since they are
-% known to provide dummy text and one can easily refer to this
-% documentation. But in the end this decision---of course---remains to
-% the author of the new package.
+% file. This means, that the file is not necessarily loaded in the
+% preamble of the document and thus the contents of the file underlie
+% the respective restrictions.
+%
+% Should you want a new dummy text, create an issue in the GitHub
+% repository\footnote{\url{https://github.com/PhelypeOleinik/lipsum}}
+% with the source for the dummy text.
+%
+% Should you prefer to distribute the dummy text as a separate package,
+% make sure that the text follows the layout of \pkg{lipsum}'s dummy
+% texts, so that everything works correctly. The dummy text definition
+% file should contain a line with \cs{SetLipsumLanguage}, and then as
+% many \cs{NewLipsumPar} entries as there are paragraphs in the dummy
+% text. Make sure that the file has the |.ltd.tex| extension, and
+% everything should work smoothly.
+%
% \end{documentation}
+%
+% \clearpage
+% \newgeometry{left=5cm,right=2cm}
+%
% \begin{implementation}
-% \section{\pkg{lipsum} Implementation}
+%
+% \section{\pkg{lipsum} Implementation}
+%
% \begin{macrocode}
%<*package>
-% \end{macrocode}
-% \begin{macrocode}
%<@@=lipsum>
% \end{macrocode}
%
-% A check to make sure that \pkg{expl3} is not too old
-% \begin{macrocode}
-\@ifpackagelater { expl3 } { 2018/10/31 }
- { }
- {
- \PackageError { lipsum } { Package~expl3~too~old }
- {
- You~need~to~update~your~installation~of~the~bundles~
- 'l3kernel'~and~'l3packages'.\MessageBreak
- Loading~lipsum~will~abort!
- }
- \tex_endinput:D
- }
-% \end{macrocode}
-% \subsection{Command Variants}
-% To parse \meta{range}-like arguments, that is, arguments consisting either
-% of a single number, as in |8|, or of a range, as in |9-11|, we use the
-% argument processor \cs{SplitArgument} of \pkg{xparse}. However, the argument
-% can either be a range as specified above, or a token list containing a
-% range. Thus, the argument has to be expanded before it is analyzed. This use
-% case is not available in \pkg{xparse} (at least not in the release
-% 2018-10-17). We copy it to a \pkg{lipsum} internal variant to be able to
-% generate a variant.
-% \begin{function}{\@@_split_argument_expanded:nnn
-% ,\@@_split_argument_expanded:nne}
-% \begin{syntax}
-% \cs{@@_split_argument_expanded:nne}\Arg{number}\Arg{token}\Arg{argument}
-% \end{syntax}
-% \begin{arguments}
-% \item See documentation for \cs{SplitArgument} in
-% \pkg{xparse}
-% \item The argument fed to the function, which is expanded
-% in this case.
-% \end{arguments}
-% \begin{macrocode}
-\cs_new_eq:NN \@@_split_argument_expanded:nnn \SplitArgument
-\cs_generate_variant:Nn \@@_split_argument_expanded:nnn { nne }
-% \end{macrocode}
-% \end{function}
+% \subsection{Variables}
%
-% \subsection{Messages}
-% Starting from \pkg{lipsum}2.0, some commands from previous versions are
-% considered deprecated and issue a warning when used. This is the
-% corresponding message.
+% \begin{variable}{\g_@@_par_int}
+% Stores the number of paragraphs in the current text.
% \begin{macrocode}
-\msg_new:nnnn{lipsum}{DeprecatedCommand}
-{\string#1\msg_line_context:\\
- \string#1~should~be~substituted~by~\string#2.}
-{ The~command~\string#1~is~deprecated~
- and~should~be~substituted~by~
- \string#2.~
- \string#1~might~not~be~available~in~a~
- future~version~of~lipsum.sty.}
+\int_new:N \g_@@_par_int
% \end{macrocode}
+% \end{variable}
%
-% \subsection{Variables}
-% \begin{variable}{\g_@@_paragraph_seq}
-% The sequence that stores all the paragraphs.
+% \begin{variable}{\g_@@_language_tl}
+% Stores the language of the dummy text for hyphenation patterns.
% \begin{macrocode}
-\seq_new:N\g_@@_paragraph_seq
+\tl_new:N \g_@@_language_tl
% \end{macrocode}
% \end{variable}
-% \begin{variable}{\g_lipsum_default_range_tl}
-% The default range for lipsum paragraphs.
+%
+% \begin{variable}[int]{\g_lipsum_default_range_tl}
+% The default range for lipsum paragraphs.
% \begin{macrocode}
-\tl_new:N \g_lipsum_default_range_tl %
+\tl_new:N \g_lipsum_default_range_tl
% \end{macrocode}
% \end{variable}
-% \begin{variable}{\l_@@_pars_tl}
-% This variables is used to store the token list containing the selected paragraphs.
+%
+% \begin{variable}{\l_@@_output_tl}
+% This variables is used to store the token list containing the
+% selected output.
% \begin{macrocode}
-\tl_new:N \l_@@_pars_tl
+\tl_new:N \l_@@_output_tl
% \end{macrocode}
% \end{variable}
-% \begin{variable}{\l_@@_sentences_tl}
-% This variables is used to store the token list containing the selected sentences.
+%
+% \begin{variable}{\g_@@_text_str}
+% Holds the current text loaded for the output of \cs{lipsum} and
+% friends. Used to avoid loading the same text definition if it is
+% already used.
% \begin{macrocode}
-\tl_new:N \l_@@_sentences_tl
+\str_new:N \g_@@_text_str
% \end{macrocode}
% \end{variable}
-% \begin{variable}{
-% \l_@@_sentences_seq
-% }
-% In this sequence, the sentence list is stored.
+%
+% \begin{variable}{\l_@@_sep_set_str}
+% Holds the name of the active separator token set. By default it is
+% empty to use the default separator set (empty).
% \begin{macrocode}
-\seq_new:N \l_@@_sentences_seq
+\str_new:N \l_@@_sep_set_str
% \end{macrocode}
% \end{variable}
-% \begin{variable}{\l_@@_par_list_start_nostar_tl,
-% \l_@@_par_list_end_nostar_tl, \l_@@_sentence_list_start_nostar_tl,
-% \l_@@_sentence_list_end_nostar_tl, \l_@@_par_list_start_star_tl,
-% \l_@@_par_list_end_star_tl, \l_@@_sentence_star_list_start_tl,
-% \l_@@_sentence_star_list_end_tl}
-% Next are the variables used to store the tokens between the list items for
-% lists of paragraph and lists of sentences.
%
+% \begin{variable}{\l_@@_autolang_bool}
+% Boolean whether to change hyphenation patterns according to the
+% dummy text language.
% \begin{macrocode}
-\tl_new:N \l_@@_par_list_start_nostar_tl
-\tl_new:N \l_@@_par_list_end_nostar_tl
-\tl_new:N \l_@@_sentence_list_start_nostar_tl
-\tl_new:N \l_@@_sentence_list_end_nostar_tl
-
-\tl_new:N \l_@@_par_list_start_star_tl
-\tl_new:N \l_@@_par_list_end_star_tl
-\tl_new:N \l_@@_sentence_list_start_star_tl
-\tl_new:N \l_@@_sentence_list_end_star_tl
+\bool_new:N \l_@@_autolang_bool
% \end{macrocode}
% \end{variable}
-% \begin{variable}{\l_@@_par_list_itemseparator_nostar_tl,
-% \l_@@_sentence_list_itemseparator_nostar_tl,
-% \l_@@_par_list_itemseparator_star_tl,
-% \l_@@_sentence_list_itemseparator_star_tl}
-% The variables to store the tokens that separate the single items of the
-% paragraph or sentence list.
+%
+% \begin{variable}{\q_@@_mark,\s_@@}
+% Quark and scan mark used throughout the package.
% \begin{macrocode}
-\tl_new:N \l_@@_par_list_itemseparator_nostar_tl
-\tl_new:N \l_@@_sentence_list_itemseparator_nostar_tl
-
-\tl_new:N \l_@@_par_list_itemseparator_star_tl
-\tl_new:N \l_@@_sentence_list_itemseparator_star_tl
-
+\quark_new:N \q_@@_mark
+\scan_new:N \s_@@
% \end{macrocode}
% \end{variable}
-% \begin{variable}{\l_@@_par_list_itemstart_nostar_tl,
-% \l_@@_par_list_itemend_nostar_tl, \l_@@_sentence_list_itemstart_nostar_tl,
-% \l_@@_sentence_list_itemend_nostar_tl, \l_@@_par_list_itemstart_star_tl,
-% \l_@@_par_list_itemend_star_tl, \l_@@_sentence_list_itemstart_star_tl,
-% \l_@@_sentence_list_itemend_star_tl}
-% The variables that surround each single item of a paragraph or sentence list.
+%
+% \begin{variable}{\l_@@_tmpa_str,\l_@@_a_int,\l_@@_b_int}
+% Scratch variables.
% \begin{macrocode}
-\tl_new:N \l_@@_par_list_itemstart_nostar_tl
-\tl_new:N \l_@@_par_list_itemend_nostar_tl
-\tl_new:N \l_@@_sentence_list_itemstart_nostar_tl
-\tl_new:N \l_@@_sentence_list_itemend_nostar_tl
-
-\tl_new:N \l_@@_par_list_itemstart_star_tl
-\tl_new:N \l_@@_par_list_itemend_star_tl
-\tl_new:N \l_@@_sentence_list_itemstart_star_tl
-\tl_new:N \l_@@_sentence_list_itemend_star_tl
-
+\str_new:N \l_@@_tmpa_str
+\int_new:N \l_@@_a_int
+\int_new:N \l_@@_b_int
% \end{macrocode}
% \end{variable}
-% \begin{variable}{\l_@@_par_list_start_tl,
-% \l_@@_par_list_end_tl,
-% \l_@@_sentence_list_start_tl,
-% \l_@@_sentence_list_end_tl,
-% \l_@@_par_list_itemseparator_tl,
-% \l_@@_sentence_list_itemseparator_tl,
-% \l_@@_par_list_itemstart_tl,
-% \l_@@_par_list_itemend_tl,
-% \l_@@_sentence_list_itemstart_tl,
-% \l_@@_sentence_list_itemend_tl}
-% These variables store a copy of either the \cs{\meta{name}_star_tl} or
-% \cs{\meta{name}_nostar_tl}, depending on whether the calling function was
-% called with or without a star. The content of these variables is then used
-% by the functions that generate the \lips\meta{list}.
+%
+% \begin{macro}{\@@_tmp:w}
+% Scratch macro.
% \begin{macrocode}
-\tl_new:N\l_@@_par_list_start_tl
-\tl_new:N\l_@@_par_list_end_tl
-\tl_new:N\l_@@_sentence_list_start_tl
-\tl_new:N\l_@@_sentence_list_end_tl
-\tl_new:N\l_@@_par_list_itemseparator_tl
-\tl_new:N\l_@@_sentence_list_itemseparator_tl
-\tl_new:N\l_@@_par_list_itemstart_tl
-\tl_new:N\l_@@_par_list_itemend_tl
-\tl_new:N\l_@@_sentence_list_itemstart_tl
-\tl_new:N\l_@@_sentence_list_itemend_tl
+\cs_new_eq:NN \@@_tmp:w ?
% \end{macrocode}
+% \end{macro}
%
-% \end{variable}
-% \begin{variable}{\g_@@_text_str}
-% Holds the current text loaded for the output of \cs{lipsum} and
-% friends. Used to avoid loading the same text definition if it is already used.
+% \begin{variable}{\l_@@_<thing>_<place>_<version>_tl}
+% \csname @gobble\endcsname{
+% \l_@@_par_end_nostar_tl,
+% \l_@@_par_end_star_tl,
+% \l_@@_par_end__tl,
+% \l_@@_par_itemend_nostar_tl,
+% \l_@@_par_itemend_star_tl,
+% \l_@@_par_itemend__tl,
+% \l_@@_par_itemseparator_nostar_tl,
+% \l_@@_par_itemseparator_star_tl,
+% \l_@@_par_itemseparator__tl,
+% \l_@@_par_itemstart_nostar_tl,
+% \l_@@_par_itemstart_star_tl,
+% \l_@@_par_itemstart__tl,
+% \l_@@_par_start_nostar_tl,
+% \l_@@_par_start_star_tl,
+% \l_@@_par_start__tl,
+% \l_@@_sentence_end_nostar_tl,
+% \l_@@_sentence_end_star_tl,
+% \l_@@_sentence_end__tl,
+% \l_@@_sentence_itemend_nostar_tl,
+% \l_@@_sentence_itemend_star_tl,
+% \l_@@_sentence_itemend__tl,
+% \l_@@_sentence_itemseparator_nostar_tl,
+% \l_@@_sentence_itemseparator_star_tl,
+% \l_@@_sentence_itemseparator__tl,
+% \l_@@_sentence_itemstart_nostar_tl,
+% \l_@@_sentence_itemstart_star_tl,
+% \l_@@_sentence_itemstart__tl,
+% \l_@@_sentence_start_nostar_tl,
+% \l_@@_sentence_start_star_tl,
+% \l_@@_sentence_start__tl,
+% }
+% These variables store the separators and delimiters added around the
+% paragraphs and sentences, in the starred or nonstarred variants, as
+% well as the generic version for runtime usage.
% \begin{macrocode}
-\str_new:N\g_@@_text_str
+\clist_map_inline:nn { start, itemstart, itemseparator, itemend, end }
+ {
+ \clist_map_inline:nn { par, sentence }
+ {
+ \clist_map_inline:nn { { }, star, nostar }
+ { \tl_new:c { l_@@_##1_#1_####1_tl } }
+ }
+ \tl_new:c { l_@@_par_#1_parsepar_tl }
+ }
+\tl_set:Nn \l_@@_par_itemseparator_parsepar_tl { ~ }
% \end{macrocode}
% \end{variable}
%
% \subsection{Developer interface}
-% \begin{function}{\lipsum_store_as_temp_ints:nn}
-% \begin{syntax}
-% \cs{lipsum_store_as_temp_ints:nn}\Arg{number_1}\Arg{number_2}
-% \end{syntax}
-% \begin{arguments}
-% \item A number.
-% \item A number or |-NoValue-| as produced by the argument
-% processing of \pkg{xparse}.
-% \end{arguments}
-% Stores \meta{number_1} in \cs{l_tmpa_int}. If \meta{number_2} is
-% |-NoValue-|, stores \meta{number_1} in \cs{l_tmpb_int}, otherwise stores
-% \meta{number_2} in \cs{l_tmpb_int}.
+%
+% \begin{macro}{\@@_parse_par_range:nNN,\@@_parse_par_range:eNN}
+% \begin{macro}{\@@_parse_sentence_range:nNN,\@@_parse_sentence_range:eNN}
+% \begin{macro}{\@@_parse_range_arg:nNNn,\@@_parse_range_arg:wnNNn}
+% \begin{macro}{\@@_int_set:Nnn}
+% Parses an argument that may be a single integer or an integer range
+% separated by a |-|, and stores them into the integer registers |#2|
+% and |#3|. If a number is blank, zero is used. If only a single
+% number is given, |#3| is set equal to |#2|.
% \begin{macrocode}
-\cs_new:Npn \lipsum_store_as_temp_ints:nn #1#2{
- \int_set:Nn\l_tmpa_int{#1}
- \IfNoValueTF{#2}
+\cs_new_protected:Npn \@@_parse_par_range:nNN #1 #2 #3
{
- \int_set:Nn\l_tmpb_int{#1}
+ \tl_if_blank:nTF {#1}
+ { \exp_args:NV \@@_parse_range_arg:nNNn \g_lipsum_default_range_tl }
+ { \@@_parse_range_arg:nNNn {#1} }
+ #2 #3 { \g_@@_par_int }
}
+\cs_new_protected:Npn \@@_parse_sentence_range:nNN #1 #2 #3
+ { \@@_parse_range_arg:nNNn {#1} #2 #3 { \c_max_int } }
+\cs_new_protected:Npn \@@_parse_range_arg:nNNn #1
{
- \int_set:Nn\l_tmpb_int{#2}
+ \exp_last_unbraced:No \@@_parse_range_arg:wnNNn
+ \tl_to_str:n { #1 - - } \s_@@ {#1}
}
-}
-% \end{macrocode}
-% \end{function}
-% \begin{function}{\lipsum_get_non_terminated_par:n,
-% \lipsum_get_terminated_par:n}
-% These two commands are used to retrieve paragraph \meta{number} from the
-% \lips\ dummy text. \cs{lipsum_get_terminated_par:n} additionally adds
-% \cs{par}.
-%
-% \begin{syntax}
-% \cs{lipsum_get_non_terminated_par:n} \Arg{number}\\
-% \cs{lipsum_get_terminated_par:n} \Arg{number}\\
-% \end{syntax}
-% The single paragraphs are stored as constant token lists. \cs{tl_use:c} is
-% used to construct a command sequence from |c_lipsum_par_|, |_tl| and the
-% \meta{number}. This is different from versions prior to v2.0, where the
-% paragraphs were stored in \cs{lipsum@i}, \cs{lipsum@ii}, \ldots.
-% \begin{macrocode}
-\cs_new:Npn \lipsum_get_non_terminated_par:n #1{
- \seq_item:Nn \g_@@_paragraph_seq{#1}
-}
-
-\cs_new:Npn \lipsum_get_terminated_par:n #1 {
- \lipsum_get_non_terminated_par:n{#1}\par
-}
-
-% \end{macrocode}
-% \end{function}
-% \begin{function}{\lipsum_add_to_tokenlist:n}
-% Adds a paragraph \meta{item} to the list of paragraphs
-% (\cs{l_@@_pars_tl}) and surrounds it by
-% the user-defined \meta{tokens}
-% .
-% \begin{syntax}
-% \cs{lipsum_add_to_tokenlist:n}\Arg{number}
-% \end{syntax}
-% \begin{macrocode}
-\cs_new:Npn \lipsum_add_to_tokenlist:n #1 {
- \tl_put_right:NV
- \l_@@_pars_tl
- \l_@@_par_list_itemstart_tl
- \tl_put_right:Nn \l_@@_pars_tl {
- \lipsum_get_non_terminated_par:n{#1}
+\cs_new_protected:Npn \@@_parse_range_arg:wnNNn
+ #1 - #2 - #3 \s_@@ #4 #5#6 #7
+ {
+ \str_if_eq:nnTF {#3} { - }
+ {
+ \@@_int_set:Nnn #5 {#1} { 1 }
+ \@@_int_set:Nnn #6 {#2} {#7}
+ }
+ {
+ \tl_if_empty:nTF {#3}
+ {
+ \@@_int_set:Nnn #5 {#1} { \ERROR }
+ \int_set_eq:NN #6 #5
+ }
+ {
+ \msg_error:nnn { lipsum } { invalid-range } {#4}
+ \@@_parse_range_arg:nNNn { 2 - 1 } #5 #6 {#7}
+ }
+ }
}
- \tl_put_right:NV
- \l_@@_pars_tl
- \l_@@_par_list_itemend_tl
-}
-\cs_generate_variant:Nn
- \lipsum_add_to_tokenlist:n { V }
+\cs_new_protected:Npn \@@_int_set:Nnn #1 #2 #3
+ { \int_set:Nn #1 { \tl_if_blank:nT {#2} {#3} #2 } }
+\cs_generate_variant:Nn \@@_parse_par_range:nNN { e }
+\cs_generate_variant:Nn \@@_parse_sentence_range:nNN { e }
% \end{macrocode}
-% \end{function}
-% \begin{function}{\lipsum_range_to_tokenlist:VV}
-% \begin{syntax}
-% \cs{lipsum_range_to_tokenlist:VV}\Arg{number_1}\Arg{number_2}
-% \end{syntax}
-% Adds the paragraphs specified by \meta{number_1} to \meta{number_2}
-% to the token list \cs{l_@@_pars_tl}.
-% \begin{macrocode}
-\cs_new:Npn \lipsum_range_to_tokenlist:nn #1#2 {
- \tl_clear:N \l_@@_pars_tl
- \tl_put_right:NV
- \l_@@_pars_tl
- \l_@@_par_list_start_tl
- \int_set:Nn \l_tmpa_int {#1}
- \int_do_until:nNnn
- {\l_tmpa_int} > {#2}
- {
- \int_compare:nNnT
- \l_tmpa_int > {#1}
- {
- \tl_put_right:NV
- \l_@@_pars_tl
- \l_@@_par_list_itemseparator_tl
- }
- \lipsum_add_to_tokenlist:V {\l_tmpa_int}
- \int_incr:N\l_tmpa_int
- }
- \tl_put_right:NV
- \l_@@_pars_tl
- \l_@@_par_list_end_tl
-}
-\cs_generate_variant:Nn
- \lipsum_range_to_tokenlist:nn { VV }
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
-% \end{macrocode}
-% \end{function}
-% \begin{function}{\@@_expanded_paragraphs_terminated_with_space:}
-% To be able to parse the list of paragraphs into a list of sentences, we need
-% a list with defined tokens in between. This is stored locally in this macro.
+% \begin{macro}{\@@_sep_item:nn}
+% A shorthand to leave an (\cs{undexpanded}) token list.
% \begin{macrocode}
-\cs_new_nopar:Nn
- \@@_expanded_paragraphs_terminated_with_space:{}
+\cs_new:Npn \@@_sep_item:nn #1 #2
+ { \exp_not:v { l_@@_#1_#2_ \l_@@_sep_set_str _tl } }
% \end{macrocode}
-% \end{function}
-% \begin{function}{\lipsum_sentences_to_tokenlist:VV}
-% \begin{syntax}
-% \cs{lipsum_sentences_to_tokenlist:VV}\Arg{number_1}\Arg{number_2}
-% \end{syntax}
-% Puts the sentences specified by \meta{sentence range} from the paragraphs
-% specified by \meta{paragraph range} on the token list
-% \cs{l_@@_sentences_tl} and surrounds the \meta{tokens} set by the user.
-% \begin{macrocode}
+% \end{macro}
%
-\cs_new:Npn \lipsum_sentences_to_tokenlist:nnn #1#2#3{
-% \end{macrocode}
-% Now, we only need to put the sentences within \meta{sentence range} into
-% \cs{l_@@_sentences_tl}. First we clear
-% the token list.
-% \begin{macrocode}
-
- \tl_clear:N \l_@@_sentences_tl
-
-% \end{macrocode}
-% Using a regexp turned out to be rather slow for large \meta{paragraph
-% range}s. Thus, I use a loop similar to the one used by
-% \cs{clist_item:Nn}. Since it might be that the \meta{sentence range}
-% specifies a range not within the number of sentences in the paragraphs, an
-% end has to be indicated. Since empty elements cannot occur, |..| can be used
-% as end element.
+% \begin{macro}[int]{\lipsum_get_range:nn}
+% \begin{macro}{
+% \@@_build_list:nn,
+% \@@_build_list_aux:n,
+% \@@_get_paragraph:ww,
+% \@@_get_paragraph_end:w,
+% }
+% Expands to the paragraphs between \meta{number_1} and
+% \meta{number_2} with the proper delimiters added. Text is returned
+% in \cs{exp_not:n}, so this macro can be safely used in an \cs{edef}.
% \begin{macrocode}
- \int_compare:nT {#2 >= #1}
+\cs_new:Npn \lipsum_get_range:nn #1 #2
{
- \@@_put_sentence_on_tokenlist:nnnw
- {#1}
- {#2}
- {1}
- #3 .. \q_stop
+ \@@_sep_item:nn { par } { start }
+ \use:e
+ {
+ \exp_not:N \@@_get_paragraph:ww
+ \@@_build_list:nn {#1} {#2}
+ \exp_not:N \q_@@_mark ;
+ \exp_not:N \q_@@_mark ; \s_@@
+ }
+ \@@_sep_item:nn { par } { end }
}
- \tl_put_left:NV
- \l_@@_sentences_tl
- \l_@@_sentence_list_start_tl
- \tl_put_right:NV
- \l_@@_sentences_tl
- \l_@@_sentence_list_end_tl
-}
-\cs_generate_variant:Nn
- \lipsum_sentences_to_tokenlist:nnn { VVf }
-% \end{macrocode}
-% \end{function}
-% \begin{function}{\@@_put_sentence_on_tokenlist:nnnw}
-% \begin{syntax}
-% \cs{@@_put_sentence_on_tokenlist:nnnw}\Arg{start}\Arg{end}\Arg{current}\Arg{sentences tl}
-% \end{syntax}
-% \begin{arguments}
-% \item Start number of the range to be selected.
-% \item End number of the range to be selected.
-% \item the loop counter indicating the current item.
-% \item The token list containing the (remaining) sentences.
-% \end{arguments}
-% The implementation is quite simple: If \meta{sentences tl} is empty, gobble the remaining
-% list ans stop. Otherwise, test if $\meta{start} > \meta{end}$,
-% gobble the remaining list and stop. If $\meta{current} > \meta{end}$,
-% gobble the remaining list and stop, otherwise repeat loop with increased
-% loop counter \meta{current}. Before repeating, test if $\meta{current} >=
-% \meta{start}$ and put the current sentence to the token list.
-% It seems that there is no official test for an empty argument
-% (\meta{sentences tl} needs to
-% be tested), but the internals of \cs{tl_if_blank} provide this, more or
-% less.
-% \begin{macrocode}
-
-\cs_new:Npn
- \@@_put_sentence_on_tokenlist:nnnw
- #1#2#3#4 .
+\cs_new:Npn \@@_build_list:nn #1 #2
{
- \int_compare:nNnTF{#1} > {#2}
- { % start > end: leave loop
- \use_none_delimit_by_q_stop:w
- }
- { % start <= end: perform loop
- \tl_if_blank:oTF{#4}
- { % Argument #4 blank.
- % Should be from the .. in the calling macro.
- % End reached. Leave loop.
- \use_none_delimit_by_q_stop:w
- }
- { % Not yet list end
- \int_compare:nNnTF{#3} > {#2}
- { % Counter > End: Leave loop
- \use_none_delimit_by_q_stop:w
- }
- { % Counter <= End: Proceed
- \int_compare:nT{ #3 >= #1}
- { % Counter >= Start: Put item on list
- \int_compare:nNnT{#3}>{#1}
- { % Counter < Start, insert separator
- \tl_put_right:NV
- \l_@@_sentences_tl
- \l_@@_sentence_list_itemseparator_tl
- } % End Counter < Start true
- % Put item on list
- \tl_put_right:NV
- \l_@@_sentences_tl
- \l_@@_sentence_list_itemstart_tl
- \tl_put_right:No
- \l_@@_sentences_tl
- { \tl_trim_spaces:n{#4}. }
- \tl_put_right:NV
- \l_@@_sentences_tl
- \l_@@_sentence_list_itemend_tl
- } % End Counter >= Start: Put item on list
- % Call loop again
- \exp_args:Nnnf
- \@@_put_sentence_on_tokenlist:nnnw
- {#1}
- {#2}
- { \int_eval:n{#3+1} }
- } % End Counter > Start: Proceed
- } % End Not yet list end
- } % End Start > End: Perform loop
- } % End definition
-% \end{macrocode}
-% \end{function}
-% \begin{function}{\@@_protect:n}
-% Internal command for the user-level \cs{LipsumProtect}. Currently, a single
-% \cs{tex_noexpand:D} is sufficient to prevent expansion, but in future
-% implementations this might change.
-% \begin{macrocode}
-\cs_new:Npn \@@_protect:n #1 {\tex_noexpand:D#1}
-% \end{macrocode}
-% \end{function}
-% \begin{function}{\@@_set_surrounding_tokens_star:}
-% \begin{syntax}
-% \cs{\@_set_surrounding_tokens_star:}
-% \end{syntax}
-% These commands copy the user-defined tokens to the token lists used by the
-% commands that compose the list of paragraphs or sentences. Here for calls of
-% the starred versions \cs{lipsum*} and \cs{unpacklipsum*}.
-% \begin{macrocode}
-\cs_new:Npn \@@_set_surrounding_tokens_star:
+ \int_step_function:nnN
+ { \int_max:nn {#1} { 1 } }
+ { \int_min:nn {#2} { \g_@@_par_int } }
+ \@@_build_list_aux:n
+ }
+\cs_new:Npn \@@_build_list_aux:n #1 { #1 ; }
+\cs_new:Npn \@@_get_paragraph:ww #1 ; #2 ;
{
- \tl_set_eq:NN
- \l_@@_par_list_start_tl
- \l_@@_par_list_start_star_tl
- \tl_set_eq:NN
- \l_@@_par_list_end_tl
- \l_@@_par_list_end_star_tl
- \tl_set_eq:NN
- \l_@@_par_list_itemseparator_tl
- \l_@@_par_list_itemseparator_star_tl
- \tl_set_eq:NN
- \l_@@_par_list_itemstart_tl
- \l_@@_par_list_itemstart_star_tl
- \tl_set_eq:NN
- \l_@@_par_list_itemend_tl
- \l_@@_par_list_itemend_star_tl
-
- \tl_set_eq:NN
- \l_@@_sentence_list_start_tl
- \l_@@_sentence_list_start_star_tl
- \tl_set_eq:NN
- \l_@@_sentence_list_end_tl
- \l_@@_sentence_list_end_star_tl
- \tl_set_eq:NN
- \l_@@_sentence_list_itemseparator_tl
- \l_@@_sentence_list_itemseparator_star_tl
- \tl_set_eq:NN
- \l_@@_sentence_list_itemstart_tl
- \l_@@_sentence_list_itemstart_star_tl
- \tl_set_eq:NN
- \l_@@_sentence_list_itemend_tl
- \l_@@_sentence_list_itemend_star_tl
+ \if_meaning:w \q_@@_mark #2
+ \if_meaning:w \q_@@_mark #1
+ \@@_get_paragraph_end:w
+ \else:
+ \lipsum_get_paragraph:n {#1}
+ \fi:
+ \else:
+ \lipsum_get_paragraph:n {#1}
+ \@@_sep_item:nn { par } { itemseparator }
+ \fi:
+ \@@_get_paragraph:ww #2 ;
}
+\cs_new:Npn \@@_get_paragraph_end:w #1 \s_@@ { \fi: \fi: }
% \end{macrocode}
-% \end{function}
-% \begin{function}{\@@_set_surrounding_tokens_nostar:}
-% \begin{syntax}
-% \cs{@@_set_surrounding_tokens_nostar:}
-% \end{syntax}
+% \end{macro}
+% \end{macro}
%
-% As \cs{@@_set_surrounding_tokens_star:}, but for calls of the non-starred
-% version of \cs{lipsum} and \cs{unpacklipsum}.
+% \begin{macro}[int]{\lipsum_get_paragraph:n}
+% Expands to the paragraph \meta{number} with the proper delimiters
+% added. Text is returned in \cs{exp_not:n}, so this macro can be
+% safely used in an \cs{edef}.
% \begin{macrocode}
- \cs_new:Npn \@@_set_surrounding_tokens_nostar:
+\cs_new:Npn \lipsum_get_paragraph:n #1
{
- \tl_set_eq:NN
- \l_@@_par_list_start_tl
- \l_@@_par_list_start_nostar_tl
- \tl_set_eq:NN
- \l_@@_par_list_end_tl
- \l_@@_par_list_end_nostar_tl
- \tl_set_eq:NN
- \l_@@_par_list_itemseparator_tl
- \l_@@_par_list_itemseparator_nostar_tl
- \tl_set_eq:NN
- \l_@@_par_list_itemstart_tl
- \l_@@_par_list_itemstart_nostar_tl
- \tl_set_eq:NN
- \l_@@_par_list_itemend_tl
- \l_@@_par_list_itemend_nostar_tl
-
- \tl_set_eq:NN
- \l_@@_sentence_list_start_tl
- \l_@@_sentence_list_start_nostar_tl
- \tl_set_eq:NN
- \l_@@_sentence_list_end_tl
- \l_@@_sentence_list_end_nostar_tl
- \tl_set_eq:NN
- \l_@@_sentence_list_itemseparator_tl
- \l_@@_sentence_list_itemseparator_nostar_tl
- \tl_set_eq:NN
- \l_@@_sentence_list_itemstart_tl
- \l_@@_sentence_list_itemstart_nostar_tl
- \tl_set_eq:NN
- \l_@@_sentence_list_itemend_tl
- \l_@@_sentence_list_itemend_nostar_tl
-
- }
-% \end{macrocode}
-% \end{function}
-% \begin{function}{\@@_ensure_parsable_output:}
-% \begin{syntax}
-% \cs{@@_ensure_parsable_output:}
-% \end{syntax}
-% To ensure that the list of paragraphs can be parsed into a list of
-% sentences, the tokens between the single \meta{item}s have to macth a
-% pre-defined pattern. This commands sets the tokens accordingly.
-% \begin{macrocode}
-\cs_new:Nn \@@_ensure_parsable_output:
- {
- \tl_set:No
- \l_@@_par_list_itemseparator_tl{\space}
- \tl_set:No
- \l_@@_par_list_item_start_tl{}
- \tl_set:No
- \l_@@_par_list_item_end_tl{}
- \tl_set:No
- \l_@@_par_list_start_tl{}
- \tl_set:No
- \l_@@_par_list_end_tl{}
+ \@@_sep_item:nn { par } { itemstart }
+ \@@_unexpanded_par:n {#1}
+ \@@_sep_item:nn { par } { itemend }
}
% \end{macrocode}
-% \end{function}
-% \subsection{User- and developer-level commands}\label{sec:code:commands}
-% \begin{macro}{\NewLipsumPar}
-% Developer-Level macro to add a paragraph to the dummy text used by
-% \cs{lipsum} and related commands. To specify a new dummy text, see
-% section~\ref{sec:other-texts}.
-% \begin{syntax}
-% \cs{NewLipsumPar}\Arg{content}
-% \end{syntax}
-% \begin{arguments}
-% \item The \meta{content} of the paragraph. In contrast to
-% previous versions, \pkg{lipsum}2.0 does not store a macro that is typeset
-% at the end of the paragraph.
-% \end{arguments}
-% Implemented as follows:
-% \begin{macrocode}
-
-\NewDocumentCommand\NewLipsumPar{m}{
- \seq_gput_right:Nn{\g_@@_paragraph_seq}{#1}
-}
-% \end{macrocode}
% \end{macro}
-% \begin{macro}{\LipsumPar}
-% Macro to typeset a single paragraph of \lips\ Was not officially available in
-% version prior to 2.0.
-% \begin{syntax}
-% \cs{LipsumPar}\Arg{number}
-% \end{syntax}
-% \begin{arguments}
-% \item Number of the paragraph to typeset.
-% \end{arguments}
-% Implemented as follows:
-% \begin{macrocode}
-\NewDocumentCommand\LipsumPar{m}{
- \group_begin:
- \lipsum_get_terminated_par:n{#1}
- \group_end:
-}
-% \end{macrocode}
-% \end{macro}
-% \subsection{Tokens surrounding the \lips\ content}
-% \begin{macro}{\SetLipsumParListStart, \SetLipsumParListStart*,
-% \SetLipsumSentenceListStart, \SetLipsumSentenceListStart*}
-% \begin{syntax}
-% \cs{SetLipsumParListStart}\Arg{tokens}\\
-% \cs{SetLipsumParListStart*}\Arg{tokens}\\
-% \cs{SetLipsumSentenceListStart}\Arg{tokens}\\
-% \cs{SetLipsumSentenceListStart*}\Arg{tokens}
-% \end{syntax}
-%
-% \begin{arguments}
-% \item \meta{tokens} to be inserted at the beginning of the
-% paragraph or sentence list.
-% \end{arguments}
%
+% \begin{macro}{\@@_unexpanded_par:n}
+% Expands to the paragraph \meta{number} wrapped in \cs{exp_not:n}.
+% If \meta{number} is out of range, it expands to nothing.
% \begin{macrocode}
-\NewDocumentCommand\SetLipsumParListStart{s+m}{
- \IfBooleanTF{#1}
+\cs_new:Npn \@@_unexpanded_par:n #1
{
- \tl_set:No\l_@@_par_list_start_star_tl{#2}
+ \bool_lazy_and:nnT
+ { \int_compare_p:nNn { 0 } < {#1} }
+ { \int_compare_p:nNn {#1} < { \g_@@_par_int + 1 } }
+ { \exp_not:v { g_@@_par_#1_tl } }
}
- {
- \tl_set:No\l_@@_par_list_start_nostar_tl{#2}
- }
-}
-\NewDocumentCommand\SetLipsumSentenceListStart{s+m}{
- \IfBooleanTF{#1}
- {
- \tl_set:No\l_@@_sentence_list_start_star_tl{#2}
- }
- {
- \tl_set:No\l_@@_sentence_list_start_nostar_tl{#2}
- }
-}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\SetLispumParListEnd, \SetLispumParListEnd*,
-% \SetLispumSentenceListEnd, \SetLispumSentenceListEnd*}
-% \begin{syntax}
-% \cs{SetLispumParListEnd}\Arg{tokens}\\
-% \cs{SetLispumParListEnd*}\Arg{tokens}\\
-% \cs{SetLispumSentenceListEnd}\Arg{tokens}\\
-% \cs{SetLispumSentenceListEnd*}\Arg{tokens}
-% \end{syntax}
-%
-% \begin{arguments}
-% \item \meta{tokens} to be inserted after the paragraph or sentence
-% list. Accepts long arguments.
-% \end{arguments}
%
+% \begin{macro}[int]{\lipsum_get_sentences:nnn,\lipsum_get_sentences:nnV}
+% \begin{macro}{\@@_get_sentences:nnnw,\@@_get_sentences_end:w}
+% Expands to the sentences numbered between \meta{number_1} and
+% \meta{number_2}, inclusive, contained in the \meta{text}, and adding
+% the proper separators.
% \begin{macrocode}
-\NewDocumentCommand\SetLipsumParListEnd{s+m}{
- \IfBooleanTF{#1}
- {
- \tl_set:No\l_@@_par_list_end_star_tl{#2}
- }
- {
- \tl_set:No\l_@@_par_list_end_nostar_tl{#2}
- }
-}
-\NewDocumentCommand\SetLipsumSentenceListEnd{s+m}{
- \IfBooleanTF{#1}
+\cs_new:Npn \lipsum_get_sentences:nnn #1 #2 #3
{
- \tl_set:No\l_@@_sentence_list_end_star_tl{#2}
+ \@@_sep_item:nn { sentence } { start }
+ \exp_args:Ne \use_ii_i:nn { { \int_max:nn {#1} { 1 } } }
+ { \@@_get_sentences:nnnw { 1 } } {#2}
+ #3 ~ \q_@@_mark .~ \s_@@
+ \@@_sep_item:nn { sentence } { end }
}
+\cs_new:Npn \@@_get_sentences:nnnw #1 #2 #3 #4 .~
{
- \tl_set:No\l_@@_sentence_list_end_nostar_tl{#2}
+ \int_compare:nNnT {#1} > {#3} { \@@_get_sentences_end:w }
+ \use:nn { \if_meaning:w \q_@@_mark } #4
+ \exp_after:wN \@@_get_sentences_end:w
+ \else:
+ \int_compare:nNnF {#1} < {#2}
+ {
+ \int_compare:nNnF {#1} = {#2}
+ { \@@_sep_item:nn { sentence } { itemseparator } }
+ \@@_sep_item:nn { sentence } { itemstart }
+ \exp_not:n { #4 . }
+ \@@_sep_item:nn { sentence } { itemend }
+ }
+ \fi:
+ \exp_args:Nf \@@_get_sentences:nnnw { \int_eval:n { #1 + 1 } }
+ {#2} {#3}
}
-}
+\cs_new:Npn \@@_get_sentences_end:w #1 \s_@@ { }
+\cs_generate_variant:Nn \lipsum_get_sentences:nnn { nnV }
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\SetLipsumParListSurrounders, \SetLipsumParListSurrounders*,
-% \SetLipsumSentenceListSurrounders, \SetLipsumSentenceListSurrounders*}
-% These macros are short-hands for setting the start and end tokens
-% surrounding a paragraph or sentence list.
-% \begin{syntax}
-% \cs{SetLipsumParListSurrounders}\Arg{start}\Arg{end}\\
-% \cs{SetLipsumParListSurrounders*}\Arg{start}\Arg{end}\\
-% \cs{SetLipsumSentenceListSurrounders}\Arg{start}\Arg{end}\\
-% \cs{SetLipsumSentenceListSurrounders*}\Arg{start}\Arg{end}
-% \end{syntax}
-%
-% \begin{arguments}
-% \item \meta{start}-tokens to be inserted at the beginning of the
-% paragraph or sentence list. Can be empty and accepts \cs{long}
-% arguments, thus, accepts \cs{par}.
-% \item \meta{end}-tokens to be inserted at the beginning of the
-% paragraph or sentence list. Can be empty and accepts \cs{long}
-% arguments, thus, accepts \cs{par}.
-% \end{arguments}
+% \end{macro}
%
+% \subsection{User- and developer-level commands}
+%
+% \begin{macro}[int]{\LipsumPar}
+% Macro to typeset a single paragraph of \lips\ Was not officially
+% available in version prior to 2.0.
+% \begin{arguments}
+% \item Number of the paragraph to typeset.
+% \end{arguments}
+% Implemented as follows:
% \begin{macrocode}
-\NewDocumentCommand\SetLipsumParListSurrounders{s+m+m}{
- \IfBooleanTF{#1}
+\NewDocumentCommand \LipsumPar { m }
{
- \SetLipsumParListStart*{#2}
- \SetLipsumParListEnd*{#3}
+ \@@_deprecated:n { LipsumPar }
+ \@@_unexpanded_par:n {#1} \par
}
- {
- \SetLipsumParListStart{#2}
- \SetLipsumParListEnd{#3}
- }
-}
-\NewDocumentCommand\SetLipsumSentenceListSurrounders{s+m+m}{
- \IfBooleanTF{#1}
- {
- \SetLipsumSentenceListStart*{#2}
- \SetLipsumSentenceListEnd*{#3}
- }
- {
- \SetLipsumSentenceListStart{#2}
- \SetLipsumSentenceListEnd{#3}
- }
-}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\SetLipsumParListItemStart, \SetLipsumParListItemStart*,
-% \SetLipsumSentenceListItemStart, \SetLipsumSentenceListItemStart*}
-% \begin{syntax}
-% \cs{SetLipsumParListItemStart}\Arg{tokens}\\
-% \cs{SetLipsumParListItemStart*}\Arg{tokens}\\
-% \cs{SetLipsumSentenceListItemStart}\Arg{tokens}\\
-% \cs{SetLipsumSentenceListItemStart*}\Arg{tokens}
-% \end{syntax}
-% \begin{arguments}
-% \item \meta{tokens} inserted before every \meta{item} in the paragraph or
-% sentence list. Can be \cs{long}.
-% \end{arguments}
+%
+% \subsection{Tokens surrounding the \lips\ content}
+%
+% \begin{macro}{\@@_element_set:nnn}
+% A general macro for setting starred/non-starred versions of several
+% elements used between chunks of dummy text. Arguments are:
+% \begin{arguments}
+% \item Element name;
+% \item Boolean true or false if the |*| variant was used;
+% \item Value to set the element to.
+% \end{arguments}
% \begin{macrocode}
-\NewDocumentCommand\SetLipsumParListItemStart{s+m}{
- \IfBooleanTF{#1}
- {
- \tl_set:No
- \l_@@_par_list_itemstart_star_tl{#2}
- }
- {
- \tl_set:No
- \l_@@_par_list_itemstart_nostar_tl{#2}
- }
-}
-\NewDocumentCommand\SetLipsumSentenceListItemStart{s+m}{
- \IfBooleanTF{#1}
- {
- \tl_set:No
- \l_@@_sentence_list_itemstart_star_tl {#2}
- }
- {
- \tl_set:No
- \l_@@_sentence_list_itemstart_nostar_tl{#2}
- }
-}
+\cs_new_protected:Npn \@@_element_set:nnn #1 #2 #3
+ { \tl_set:cn { l_@@_ #1 _ \IfBooleanF {#2} { no } star _tl } {#3} }
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\SetLipsumParListItemEnd, \SetLipsumParListItemEnd*,
-% \SetLipsumSentenceListItemEnd, \SetLipsumSentenceListItemEnd*}
-% \begin{syntax}
-% \cs{SetLipsumParListItemEnd}\Arg{tokens}\\
-% \cs{SetLipsumParListItemEnd*}\Arg{tokens}\\
-% \cs{SetLipsumSentenceListItemEnd}\Arg{tokens}\\
-% \cs{SetLipsumSentenceListItemEnd*}\Arg{tokens}
-% \end{syntax}
-% \begin{arguments}
-% \item \meta{tokens} inserted after every \meta{item} in the paragraph or
-% sentence list. Can be \cs{long}.
-% \end{arguments}
+%
+% \begin{macro}{\@@_deprecated:n}
+% Warns about deprecated commands and destroys itself.
% \begin{macrocode}
-\NewDocumentCommand\SetLipsumParListItemEnd{s+m}{
- \IfBooleanTF{#1}
- {
- \tl_set:No
- \l_@@_par_list_itemend_star_tl{#2}
- }
- {
- \tl_set:No
- \l_@@_par_list_itemend_nostar_tl{#2}
- }
-}
-\NewDocumentCommand\SetLipsumSentenceListItemEnd{s+m}{
- \IfBooleanTF{#1}
- {
- \tl_set:No
- \l_@@_sentence_list_itemend_star_tl{#2}
- }
- {
- \tl_set:No
- \l_@@_sentence_list_itemend_nostar_tl{#2}
- }
-}
+\cs_new_protected:Npn \@@_deprecated:n #1
+ {
+ \msg_warning:nnn { lipsum } { cmd-deprecated } {#1}
+ \cs_gset_eq:NN \@@_deprecated:n \use_none:n
+ }
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\SetLipsumParListItemSurrounders,
-% \SetLipsumParListItemSurrounders*, \SetLipsumSentenceListItemSurrounders,
-% \SetLipsumSentenceListItemSurrounders*}
-% Short-hands for setting the \meta{token}s surrounding a single list \meta{item}.
-% \begin{syntax}
-% \cs{SetLipsumParListItemSurrounders}\Arg{start}\Arg{end}\\
-% \cs{SetLipsumParListItemSurrounders*}\Arg{start}\Arg{end}\\
-% \cs{SetLipsumSentenceListItemSurrounders}\Arg{start}\Arg{end}\\
-% \cs{SetLipsumSentenceListItemSurrounders*}\Arg{start}\Arg{end}
-% \end{syntax}
-% \begin{arguments}
-% \item \meta{start}-tokens inserted before each list \meta{item}.
-% \item \meta{end}-tokens inserted after each list \meta{item}.
-% \end{arguments}
+%
+% \begin{macro}[int]{
+% \SetLipsumParListStart,
+% \SetLipsumParListEnd,
+% \SetLipsumParListSurrounders,
+% \SetLipsumParListItemSeparator,
+% \SetLipsumParListItemStart,
+% \SetLipsumParListItemEnd,
+% \SetLipsumParListItemSurrounders,
+% \SetLipsumSentenceListStart,
+% \SetLipsumSentenceListEnd,
+% \SetLipsumSentenceListSurrounders,
+% \SetLipsumSentenceListItemSeparator,
+% \SetLipsumSentenceListItemStart,
+% \SetLipsumSentenceListItemEnd,
+% \SetLipsumSentenceListItemSurrounders,
+% }
+% A dirty loop to quickly define the old command-based user-interface.
% \begin{macrocode}
-\NewDocumentCommand\SetLipsumParListItemSurrounders{s+m+m}{
- \IfBooleanTF{#1}
- {
- \SetLipsumParListItemStart*{#2}
- \SetLipsumParListItemEnd*{#3}
- }
+\cs_set_protected:Npn \@@_tmp:w #1 #2 #3 #4
{
- \SetLipsumParListItemStart{#2}
- \SetLipsumParListItemEnd{#3}
- }
-}
-
-\NewDocumentCommand\SetLipsumSentenceListItemSurrounders{s+m+m}{
- \IfBooleanTF{#1}
- {
- \SetLipsumSentenceListItemStart*{#2}
- \SetLipsumSentenceListItemEnd*{#3}
+ \str_set:Nx \l_@@_tmpa_str
+ { #2 \tl_if_empty:nTF {#4} {#3} { start } }
+ \use:e
+ {
+ \NewDocumentCommand \exp_not:c { SetLipsum #1 List #2 #3 }
+ { s +m \tl_if_empty:nF {#4} { +m } }
+ {
+ \@@_deprecated:n { SetLipsum #1 List #2 #3 }
+ \@@_element_set:nnn
+ { \exp_args:Ne \str_lowercase:n { #1_\l_@@_tmpa_str } }
+ {##1} {##2}
+ \tl_if_empty:nT {#4} { \use_none:nnnn }
+ \@@_element_set:nnn { \str_lowercase:n { #1_#2 #4 } }
+ {##1} {##3}
+ }
+ }
}
+\clist_map_inline:nn { Par, Sentence }
{
- \SetLipsumSentenceListItemStart{#2}
- \SetLipsumSentenceListItemEnd{#3}
+ \clist_map_inline:nn
+ { { Start } { }, { End } { }, { Surrounders } { end } }
+ { \@@_tmp:w {#1} { Item } ##1 \@@_tmp:w {#1} { } ##1 }
+ \@@_tmp:w {#1} { Item } { Separator } { }
}
-}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\SetLipsumParListItemSeparator, \SetLipsumParListItemSeparator*,
-% \SetLipsumSentenceListItemSeparator, \SetLipsumSentenceListItemSeparator*}
-% \begin{syntax}
-% \cs{SetLipsumParListItemSeparator}\Arg{tokens}
-% \cs{SetLipsumParListItemSeparator*}\Arg{tokens}
-% \cs{SetLipsumSentenceListItemSeparator}\Arg{tokens}\\
-% \cs{SetLipsumSentenceListItemSeparator*}\Arg{tokens}
-% \end{syntax}
-% \begin{arguments}
-% \item \meta{tokens} to be inserted between two \meta{item}s of a paragraph
-% or sentence list.
-% \end{arguments}
-% \begin{macrocode}
-\NewDocumentCommand\SetLipsumParListItemSeparator{s+m}{
- \IfBooleanTF{#1}
- {
- \tl_set:No
- \l_@@_par_list_itemseparator_star_tl{#2}
- }
- {
- \tl_set:No
- \l_@@_par_list_itemseparator_nostar_tl{#2}
- }
-}
-\NewDocumentCommand\SetLipsumSentenceListItemSeparator{s+m}{
- \IfBooleanTF{#1}
- {
- \tl_set:No
- \l_@@_sentence_list_itemseparator_star_tl{#2}
- }
- {
- \tl_set:No
- \l_@@_sentence_list_itemseparator_nostar_tl{#2}
- }
-}
-% \end{macrocode}
%
-% \end{macro}
-% \begin{macro}{\SetLipsumProtect}
-% \begin{syntax}
-% \cs{LipsumProtect}\Arg{tokens}
-% \end{syntax}
-% Protects \meta{tokens} from being expanded when processed by
-% \cs{unpacklipsum}.
+% \begin{macro}{\SetLipsumDefault}
+% Command to change the default range used by \cs{lipsum} and friends.
+% \begin{arguments}
+% \item[\meta{range}] Range to be used as default.
+% \end{arguments}
+% Implemented as:
% \begin{macrocode}
-\NewDocumentCommand\LipsumProtect{m}{}
-\cs_gset_eq:NN
- \LipsumProtect
- \@@_protect:n
-
+\NewDocumentCommand \SetLipsumDefault { m }
+ {
+ \@@_parse_par_range:eNN {#1} \l_@@_a_int \l_@@_b_int
+ \tl_gset:Nx \g_lipsum_default_range_tl
+ { \int_use:N \l_@@_a_int - \int_use:N \l_@@_b_int }
+ }
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\SetLipsumDefault, \setlipsumdefault}
-% Command to change the default range used by \cs{lipsum} and friends. Note
-% that the use of \cs{setlipsumdefault} is considered deprecated starting from
-% \pkg{lipsum}2.0.
-% \begin{syntax}
-% \cs{SetLipsumDefault}\Arg{range}
-% \end{syntax}
-% \begin{arguments}
-% \item[\meta{range}] Range to be used as default.
+%
+% The following macros are considered to be user-level commands and thus
+% all lower-case.
+%
+% \begin{macro}{\lipsum}
+% \begin{arguments}
+% \item Range-like string that specifies the number of the
+% paragraphs taken from \lips\ If omitted, the value set by
+% \cs{SetLipsumDefault} is used, which defaults to |1-7|.
+% \item Sentences to be typeset from the range selected by
+% \meta{paragraph range}. If sentences outside the number of
+% sentences in \meta{paragraph range} are specified, only existing
+% sentences are typeset.
% \end{arguments}
-% Implemented as:
+% The difference between \cs{lipsum} and \cs{lipsum*} is the token(s)
+% that are inserted after each paragraph (only if called without the
+% second optional argument).
+%
+% \cs{lipsum} and \cs{unpacklipsum} have the same interface and do
+% almost the same thing, so both are implemented using a common macro
+% \cs{@@_do:nnnn} that does the heavy-lifting, and at the end
+% executes the code in |#4|.
% \begin{macrocode}
-\NewDocumentCommand\SetLipsumDefault{m}{
- \tl_gset:No\g_lipsum_default_range_tl{#1}
-}
+\NewDocumentCommand \lipsum { s O { \g_lipsum_default_range_tl } o }
+ {
+ \@@_do:nnnn {#1} {#2} {#3}
+ {
+ \@@_set_hyphens:
+ \tl_use:N ##1
+ \@@_restore_hyphens:
+ }
+ }
% \end{macrocode}
-% Implement \cs{setlipsumdefault} and mark it deprecated.
+% \end{macro}
+%
+% \begin{macro}{\unpacklipsum,\lipsumexp}
+% This command does the same as \cs{lipsum}, but instead of
+% typesetting the paragraphs or sentences, it stores the expanded
+% content in the \cs{lipsumexp} token list. The tokens between items
+% of the list, set, for example, by using the package option
+% \opt{space} or by using the \cs{SetLipsum...List} commands, are
+% |x|-expanded.
% \begin{macrocode}
-\NewDocumentCommand\setlipsumdefault{m}{%
- \msg_warning:nnnn
- {lipsum}
- {DeprecatedCommand}
- {\setlipsumdefault}
- {\SetLipsumDefault}
- \SetLipsumDefault{#1}
-}
+\NewDocumentCommand \unpacklipsum { s O { \g_lipsum_default_range_tl } o }
+ { \@@_do:nnnn {#1} {#2} {#3} { \tl_gset_eq:NN \lipsumexp ##1 } }
+\cs_new_eq:NN \lipsumexp \prg_do_nothing:
% \end{macrocode}
% \end{macro}
-% The following macros are considered to be user-level commands and thus all
-% lower-case.
-% \begin{macro}{\lipsum, \lipsum*}
-% \begin{syntax}
-% \cs{lipsum}\oarg{paragraph range}\oarg{sentence range}
-% \cs{lipsum*}\oarg{paragraph range}\oarg{sentence range}
-% \end{syntax}
-%
-% \begin{arguments}
-% \item Range-like string that specifies the number of
-% the paragraphs taken from \lips\ If omitted, the value set by
-% \cs{SetLipsumDefault} is used, which defaults to |1-7|. this argument can
-% not be empty if the second optional argument is provided.
-% \item Sentences to be typeset from the range selected
-% by \meta{paragraph range}. If sentences outside the number of sentences in
-% \meta{paragraph range} are specified, only existing sentences
-% are typeset.
-% \end{arguments}
-% The difference between \cs{lipsum} and \cs{lipsum*} is the token(s) that are
-% inserted after each paragraph (only if called without the second optional
-% argument).
+%
+% \begin{macro}{\@@_do:nnnn}
+% \begin{macro}{\@@_do:N}
+% This is the main macro for \cs{lipsum} and \cs{unpacklipsum}.
+% It parses the paragraph range, sets the sentence/paragraph
+% separators, then acts accordingly if a sentence range was provided.
% \begin{macrocode}
-
-\NewDocumentCommand
- \lipsum{
- s
- >{\@@_split_argument_expanded:nne{1}{-}}
- O{\g_lipsum_default_range_tl}
- >{\@@_split_argument_expanded:nne{1}{-}}
- o
- }
+\cs_new_protected:Npn \@@_do:nnnn #1 #2 #3 #4
{
- \group_begin:
- \lipsum_store_as_temp_ints:nn #2
- \IfBooleanTF {#1}
- {
- \@@_set_surrounding_tokens_star:
- }
- {
- \@@_set_surrounding_tokens_nostar:
- }
-
- \IfNoValueTF{#3}
+ \cs_set_protected:Npn \@@_do:N ##1 {#4}
+ \@@_parse_par_range:eNN {#2} \l_@@_a_int \l_@@_b_int
+ \str_set_eq:NN \l_@@_tmpa_str \l_@@_sep_set_str
+ \str_set:Nx \l_@@_sep_set_str { \IfBooleanF {#1} { no } star }
+ \bool_lazy_or:nnTF
+ { \tl_if_novalue_p:n {#3} }
+ { \tl_if_blank_p:n {#3} }
{
- \lipsum_range_to_tokenlist:VV
- { \l_tmpa_int }{ \l_tmpb_int }
- \tl_use:N \l_@@_pars_tl
+ \tl_set:Nx \l_@@_output_tl
+ { \lipsum_get_range:nn { \l_@@_a_int } { \l_@@_b_int } }
}
{
- \@@_ensure_parsable_output:
- \lipsum_range_to_tokenlist:VV
- { \l_tmpa_int }{ \l_tmpb_int }
- \lipsum_store_as_temp_ints:nn #3
- \cs_gset_nopar:Nx
- \@@_expanded_paragraphs_terminated_with_space:
- {\tl_use:N\l_@@_pars_tl}
- \lipsum_sentences_to_tokenlist:VVf
- { \l_tmpa_int }
- { \l_tmpb_int }
- \@@_expanded_paragraphs_terminated_with_space:
- \tl_use:N \l_@@_sentences_tl
+ \str_set:Nn \l_@@_sep_set_str { parsepar }
+ \tl_set:Nx \l_@@_output_tl
+ { \lipsum_get_range:nn { \l_@@_a_int } { \l_@@_b_int } }
+ \str_set:Nx \l_@@_sep_set_str { \IfBooleanF {#1} { no } star }
+ \@@_parse_sentence_range:eNN {#3} \l_@@_a_int \l_@@_b_int
+ \tl_set:Nx \l_@@_output_tl
+ {
+ \lipsum_get_sentences:nnV { \l_@@_a_int } { \l_@@_b_int }
+ \l_@@_output_tl
+ }
}
- \group_end:
+ \str_set_eq:NN \l_@@_sep_set_str \l_@@_tmpa_str
+ \@@_do:N \l_@@_output_tl
}
+\cs_new_eq:NN \@@_do:N ?
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\lipsumexp}
-% The following macros store their results in the macro \cs{lipsumexp}. I
-% create it first using \pkg{xparse} before it is overwritten. Don't know if
-% this makes sense.
-% \begin{macrocode}
-\NewDocumentCommand\lipsumexp{}{}
-% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\unpacklipsum, \unpacklipsum*}
-% These two commands do the same as \cs{lipsum} and \cs{lipsum*}, but instead
-% of typesetting the paragraphs or sentences, they store the expanded content
-% in the macro \cs{lipsumexp}. If, for example by using the package option
-% \opt{space} or by using the \cs{SetLipsum...List} commands, the
-% corresponding \meta{tokens} between the single items of the list are
-% expandable, they are expanded. If they arenot expandable, they are---of
-% course---not.
-% \begin{syntax}
-% \cs{unpacklipsum}\oarg{paragraph range}\oarg{sentence range}\\
-% \cs{unpacklipsum*}\oarg{paragraph range}\oarg{sentence range}\\
-% ...
-% \cs{lipsumexp}
-% \end{syntax}
+% \begin{macro}{\@@_set_hyphens:,\@@_restore_hyphens:}
+% Selects the hyphenation patterns for the language of the dummy text,
+% using \pkg{babel}'s \cs{hyphenrules} if that's defined (when
+% \pkg{babel} is loaded) or using \cs{language}\cs{l@\meta{lang}}
+% otherwise. The hyphenation patterns are properly restored by
+% \cs{@@_restore_hypehens:} when the text ends.
% \begin{macrocode}
-\cs_new:Nn \@@_expanded: {}
-\NewDocumentCommand
- \unpacklipsum
+\cs_new_protected:Npn \@@_set_hyphens:
{
- s
- >{\@@_split_argument_expanded:nne{1}{-}}
- O{\g_lipsum_default_range_tl}
- >{\@@_split_argument_expanded:nne{1}{-}}
- o
- }
- {
-
- \group_begin:
- \lipsum_store_as_temp_ints:nn #2
- \IfBooleanTF {#1}
- {
- \@@_set_surrounding_tokens_star:
- }
- {
- \@@_set_surrounding_tokens_nostar:
- }
- \IfNoValueTF{#3}
+ \bool_if:NTF \l_@@_autolang_bool
+ { \use:x } { \use_none:n }
{
- \lipsum_range_to_tokenlist:VV
- { \l_tmpa_int } { \l_tmpb_int }
- \cs_gset:Nx
- \@@_expanded: {\tl_use:N\l_@@_pars_tl}
- \cs_gset_eq:NN
- \lipsumexp \@@_expanded:
- }
- {
- \@@_ensure_parsable_output:
- \lipsum_range_to_tokenlist:VV
- { \l_tmpa_int } { \l_tmpb_int }
- \cs_gset_nopar:Nx
- \@@_expanded_paragraphs_terminated_with_space:
- { \tl_use:N\l_@@_pars_tl }
- \lipsum_store_as_temp_ints:nn #3
- \lipsum_sentences_to_tokenlist:VVf
- { \l_tmpa_int }
- { \l_tmpb_int }
- \@@_expanded_paragraphs_terminated_with_space:
- \cs_gset:Nx
- \@@_expanded:
- { \tl_use:N\l_@@_sentences_tl }
- \cs_gset_eq:NN
- \lipsumexp \@@_expanded:
+ \cs_if_exist:NTF \hyphenrules
+ {
+ \exp_not:N \hyphenrules { \g_@@_language_tl }
+ \cs_set_protected:Npn \@@_restore_hyphens:
+ { \exp_not:N \hyphenrules { \languagename } }
+ }
+ {
+ \cs_if_exist:cTF { l@ \g_@@_language_tl }
+ { \language \use:c { l@ \g_@@_language_tl } }
+ { \msg_error:nn { lipsum } { language-undefined } }
+ \cs_set_protected:Npn \@@_restore_hyphens:
+ { \language \int_eval:n { \language } \scan_stop: }
+ }
}
- \group_end:
}
+\cs_new_protected:Npn \@@_restore_hyphens:
+ { \prg_do_nothing: }
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\IfLipsumText}
-% New conditional to test if a lipsum text definition is currently loaded.
-% \begin{syntax}
-% \cs{IfLipsumText}\Arg{text}{true-code}{false-code}
-% \end{syntax}
-% \begin{arguments}
-% \item Name of a lipsum language definition file
-% \item Code expanded if the current text definition is the one given in
-% argument \#1
-% \item Code expanded otherwise.
-% \end{arguments}
+%
+% \begin{macro}{\NewLipsumPar}
+% Developer-Level macro to add a paragraph to the dummy text used by
+% \cs{lipsum} and related commands. To specify a new dummy text, see
+% section~\ref{sec:other-texts}.
% \begin{macrocode}
-\NewDocumentCommand\IfLipsumText{mmm}{%
- \str_if_eq:VnTF\g_@@_text_str{#1}{#2}{#3}
-}
+\cs_new_protected:Npn \NewLipsumPar #1
+ {
+ \int_gincr:N \g_@@_par_int
+ \tl_gclear_new:c { g_@@_par_ \int_use:N \g_@@_par_int _tl }
+ \tl_gset:cn { g_@@_par_ \int_use:N \g_@@_par_int _tl } {#1}
+ }
% \end{macrocode}
% \end{macro}
+%
% \begin{macro}{\SetLipsumText}
-% Used to select and load the text output by \cs{lipsum} and friends. See the
-% section on loading and defining new outputs for \cs{lipsum}
-% (section~\ref{sec:other-texts}). It first checks whether the requested text
-% is already loaded, and if not, it clears \cs{g_@@_paragraph_seq} and
-% loads the corresponding lipsum text definition file.
+% Used to select and load the text output by \cs{lipsum} and friends.
+% See the section on loading and defining new outputs for \cs{lipsum}
+% (section~\ref{sec:other-texts}). It first checks whether the
+% requested text is already loaded, and if not, it loads the
+% corresponding lipsum text definition file, and clears remaining
+% paragraphs from the previous text, in case their lengths differ.
% \begin{macrocode}
-\NewDocumentCommand\SetLipsumText{m}{%
- \IfLipsumText{#1}{}{
- \seq_gclear:N\g_@@_paragraph_seq
- \file_input:n{#1.ltd}
- \str_gset:Nn\g_@@_text_str{#1}
+\NewDocumentCommand \SetLipsumText { m }
+ {
+ \str_if_eq:VnF \g_@@_text_str {#1}
+ {
+ \tl_gset:Nn \g_@@_language_tl { english }
+ \int_gzero:N \g_@@_par_int
+ \file_input:n { #1.ltd }
+ \str_gset:Nn \g_@@_text_str {#1}
+ }
}
-}
-
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\SetLipsumLanguage}
+% This macro sets the language for hyphenation patterns of the dummy
+% text. When a new lipsum text is read, this is reset.
+% \begin{macrocode}
+\NewDocumentCommand \SetLipsumLanguage { m }
+ { \tl_gset:Nn \g_@@_language_tl {#1} }
+% \end{macrocode}
% \end{macro}
+%
% \subsection{Package options and defaults}
+%
+% \begin{macro}[int]{
+% \LipsumRestoreParList,
+% \LipsumRestoreSentenceList,
+% \LipsumRestoreAll,
+% }
+% \begin{macro}{\@@_delim_restore:nnnnn}
+% \begin{macro}{\@@_restore_par_list:,\@@_restore_sentence_list:}
+% These are some auxiliaries for the package options and for setting
+% up the default behaviour.
% \begin{macrocode}
-
-\cs_new:Nn \@@_restore_sentence_list: {
- \SetLipsumSentenceListItemSeparator{\space}
- \SetLipsumSentenceListItemSeparator*{\space}
- \SetLipsumSentenceListSurrounders{}{}
- \SetLipsumSentenceListSurrounders*{}{}
- \SetLipsumSentenceListItemSurrounders*{}{}
- \SetLipsumSentenceListItemSurrounders{}{}
-}
-\cs_new:Nn \@@_restore_par_list: {
- \SetLipsumParListItemSeparator{\par}
- \SetLipsumParListItemSeparator*{\space}
- \SetLipsumParListSurrounders{}{}
- \SetLipsumParListSurrounders*{}{}
- \SetLipsumParListItemSurrounders*{}{}
- \SetLipsumParListItemSurrounders{}{}
-}
-
-
-\DeclareOption{nopar}{%
- \cs_gset:Nn \@@_restore_sentence_list: {
- \SetLipsumSentenceListItemSeparator{\space}
- \SetLipsumSentenceListItemSeparator*{\space}
- \SetLipsumSentenceListEnd{}
- \SetLipsumSentenceListEnd*{}
- \SetLipsumSentenceListItemSurrounders*{}{}
- \SetLipsumSentenceListItemSurrounders{}{}
+\cs_new_protected:Npn \@@_delim_restore:nnnnn #1 #2 #3 #4 #5
+ {
+ \keys_set:nn { lipsum }
+ {
+ #1-before = , #1-begin = , #1-end = {#2}, #1-after = ,
+ #1-before* = , #1-begin* = , #1-end* = {#3}, #1-after* = ,
+ #1-sep = {#4}, #1-sep* = {#5}
+ }
}
- \cs_gset:Nn \@@_restore_par_list: {
- \SetLipsumParListItemSeparator{\space}
- \SetLipsumParListItemSeparator*{\par}
- \SetLipsumParListEnd{}
- \SetLipsumParListEnd*{}
- \SetLipsumParListItemSurrounders*{}{}
- \SetLipsumParListItemSurrounders{}{}
+\cs_new_protected:Nn \@@_restore_sentence_list:
+ { \@@_delim_restore:nnnnn { sentence } { } { } { ~ } { ~ } }
+\cs_new_eq:NN \@@_restore_par_list: ?
+\cs_new_protected:Npn \LipsumRestoreParList
+ {
+ \@@_deprecated:n { LipsumRestoreParList }
+ \@@_restore_par_list:
+ }
+\cs_new_protected:Npn \LipsumRestoreSentenceList
+ {
+ \@@_deprecated:n { LipsumRestoreSentenceList }
+ \@@_restore_sentence_list:
+ }
+\cs_new_protected:Npn \LipsumRestoreAll
+ {
+ \@@_deprecated:n { LipsumRestoreAll }
+ \@@_restore_par_list: \@@_restore_sentence_list:
}
-}
-\ProcessOptions
-\NewDocumentCommand\LipsumRestoreParList{}{}
-\cs_gset_eq:NN
- \LipsumRestoreParList
- \@@_restore_par_list:
-\NewDocumentCommand\LipsumRestoreSentenceList{}{}
-\cs_gset_eq:NN
- \LipsumRestoreSentenceList
- \@@_restore_sentence_list:
-\NewDocumentCommand\LipsumRestoreAll{}{
- \LipsumRestoreParList
- \LipsumRestoreSentenceList
-}
-\LipsumRestoreAll
-\ExplSyntaxOff
-
-\SetLipsumDefault{1-7}
-\SetLipsumText{lipsum}
% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\setlipsum}
+% Here are the options available at load-time and to \cs{setlipsum}.
% \begin{macrocode}
-%</package>
+\NewDocumentCommand \setlipsum { +m }
+ { \keys_set:nn { lipsum } {#1} }
+\keys_define:nn { lipsum }
+ {
+% \end{macrocode}
+% \opt{nopar} is implemented as a choice key instead of a boolean so
+% we can update the separators using \cs{@@_delim_restore:nnnnn}.
+% It's initially false, and the default is |true| so that
+% |\usepackage[nopar]{lipsum}| works as it always did.
+% \begin{macrocode}
+ nopar .choice: ,
+ nopar / true .code:n =
+ {
+ \cs_gset_protected:Npn \@@_restore_par_list:
+ { \@@_delim_restore:nnnnn { par } { } { \par } { ~ } { } }
+ } ,
+ nopar / false .code:n =
+ {
+ \cs_gset_protected:Nn \@@_restore_par_list:
+ { \@@_delim_restore:nnnnn { par } { \par } { } { } { ~ } }
+ } ,
+ nopar .initial:n = false ,
+ nopar .default:n = true ,
% \end{macrocode}
-% \newgeometry{a4paper, top=2cm, left=2cm, right=2cm, bottom=3cm, marginparwidth=3cm}
-% \newpage
-% \section{Texts}
-% \subsection{The \lips\ dummy text}
+% \opt{auto-lang} sets \cs{l_@@_autolang_bool}. It is initially
+% |true|, changing the default behaviour from previous versions.
% \begin{macrocode}
-%<*lipsum>
+ auto-lang .bool_set:N = \l_@@_autolang_bool ,
+ auto-lang .initial:n = true ,
+ auto-lang .default:n = true ,
% \end{macrocode}
+% \opt{text} just does \cs{SetLipsumText}. The |initial| value is not
+% set here because this chunk of code is executed in \pkg{expl3}
+% syntax, then thetextloadswithoutspaces, so |\setlipsum{text=lipsum}|
+% is used later.
% \begin{macrocode}
-\NewLipsumPar{%
- Lorem ipsum dolor sit amet, consectetuer
- adipiscing elit. Ut purus elit, vestibulum ut, placerat ac,
- adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
- libero, nonummy eget, consectetuer id, vulputate a, magna. Donec
- vehicula augue eu neque. Pellentesque habitant morbi tristique
- senectus et netus et malesuada fames ac turpis egestas. Mauris ut
- leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna
- fringilla ultrices. Phasellus eu tellus sit amet tortor gravida
- placerat. Integer sapien est, iaculis in, pretium quis, viverra ac,
- nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus.
- Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla.
- Curabitur auctor semper nulla. Donec varius orci eget risus. Duis
- nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis
- eget orci sit amet orci dignissim rutrum.}
- %{2}
-\NewLipsumPar{Nam dui ligula, fringilla a, euismod sodales,
- sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus
- libero, pretium at, lobortis vitae, ultricies et, tellus. Donec
- aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna,
- vitae ornare odio metus a mi. Morbi ac orci et nisl hendrerit
- mollis. Suspendisse ut massa. Cras nec ante. Pellentesque a nulla.
- Cum sociis natoque penatibus et magnis dis parturient montes,
- nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper
- vestibulum turpis. Pellentesque cursus luctus mauris.}
- %{3}
-\NewLipsumPar{Nulla malesuada porttitor diam. Donec felis
- erat, congue non, volutpat at, tincidunt tristique, libero. Vivamus
- viverra fermentum felis. Donec nonummy pellentesque ante. Phasellus
- adipiscing semper elit. Proin fermentum massa ac quam. Sed diam
- turpis, molestie vitae, placerat a, molestie nec, leo. Maecenas
- lacinia. Nam ipsum ligula, eleifend at, accumsan nec, suscipit a,
- ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend consequat
- lorem. Sed lacinia nulla vitae enim. Pellentesque tincidunt purus
- vel magna. Integer non enim. Praesent euismod nunc eu purus. Donec
- bibendum quam in tellus. Nullam cursus pulvinar lectus. Donec et mi.
- Nam vulputate metus eu enim. Vestibulum pellentesque felis eu
- massa.}
- %{4}
-\NewLipsumPar{Quisque ullamcorper placerat ipsum. Cras nibh.
- Morbi vel justo vitae lacus tincidunt ultrices. Lorem ipsum dolor
- sit amet, consectetuer adipiscing elit. In hac habitasse platea
- dictumst. Integer tempus convallis augue. Etiam facilisis. Nunc
- elementum fermentum wisi. Aenean placerat. Ut imperdiet, enim sed
- gravida sollicitudin, felis odio placerat quam, ac pulvinar elit
- purus eget enim. Nunc vitae tortor. Proin tempus nibh sit amet nisl.
- Vivamus quis tortor vitae risus porta vehicula.}
- %{5}
-\NewLipsumPar{Fusce mauris. Vestibulum luctus nibh at lectus.
- Sed bibendum, nulla a faucibus semper, leo velit ultricies tellus,
- ac venenatis arcu wisi vel nisl. Vestibulum diam. Aliquam
- pellentesque, augue quis sagittis posuere, turpis lacus congue quam,
- in hendrerit risus eros eget felis. Maecenas eget erat in sapien
- mattis porttitor. Vestibulum porttitor. Nulla facilisi. Sed a turpis
- eu lacus commodo facilisis. Morbi fringilla, wisi in dignissim
- interdum, justo lectus sagittis dui, et vehicula libero dui cursus
- dui. Mauris tempor ligula sed lacus. Duis cursus enim ut augue. Cras
- ac magna. Cras nulla. Nulla egestas. Curabitur a leo. Quisque
- egestas wisi eget nunc. Nam feugiat lacus vel est. Curabitur
- consectetuer.}
- %{6}
-\NewLipsumPar{Suspendisse vel felis. Ut lorem lorem, interdum
- eu, tincidunt sit amet, laoreet vitae, arcu. Aenean faucibus pede eu
- ante. Praesent enim elit, rutrum at, molestie non, nonummy vel,
- nisl. Ut lectus eros, malesuada sit amet, fermentum eu, sodales
- cursus, magna. Donec eu purus. Quisque vehicula, urna sed ultricies
- auctor, pede lorem egestas dui, et convallis elit erat sed nulla.
- Donec luctus. Curabitur et nunc. Aliquam dolor odio, commodo
- pretium, ultricies non, pharetra in, velit. Integer arcu est,
- nonummy in, fermentum faucibus, egestas vel, odio.}
- %{7}
-\NewLipsumPar{Sed commodo posuere pede. Mauris ut est. Ut
- quis purus. Sed ac odio. Sed vehicula hendrerit sem. Duis non odio.
- Morbi ut dui. Sed accumsan risus eget odio. In hac habitasse platea
- dictumst. Pellentesque non elit. Fusce sed justo eu urna porta
- tincidunt. Mauris felis odio, sollicitudin sed, volutpat a, ornare
- ac, erat. Morbi quis dolor. Donec pellentesque, erat ac sagittis
- semper, nunc dui lobortis purus, quis congue purus metus ultricies
- tellus. Proin et quam. Class aptent taciti sociosqu ad litora
- torquent per conubia nostra, per inceptos hymenaeos. Praesent sapien
- turpis, fermentum vel, eleifend faucibus, vehicula eu, lacus.}
- %{8}
-\NewLipsumPar{Pellentesque habitant morbi tristique senectus
- et netus et malesuada fames ac turpis egestas. Donec odio elit,
- dictum in, hendrerit sit amet, egestas sed, leo. Praesent feugiat
- sapien aliquet odio. Integer vitae justo. Aliquam vestibulum
- fringilla lorem. Sed neque lectus, consectetuer at, consectetuer
- sed, eleifend ac, lectus. Nulla facilisi. Pellentesque eget lectus.
- Proin eu metus. Sed porttitor. In hac habitasse platea dictumst.
- Suspendisse eu lectus. Ut mi mi, lacinia sit amet, placerat et,
- mollis vitae, dui. Sed ante tellus, tristique ut, iaculis eu,
- malesuada ac, dui. Mauris nibh leo, facilisis non, adipiscing quis,
- ultrices a, dui.}
- %{9}
-\NewLipsumPar{Morbi luctus, wisi viverra faucibus pretium,
- nibh est placerat odio, nec commodo wisi enim eget quam. Quisque
- libero justo, consectetuer a, feugiat vitae, porttitor eu, libero.
- Suspendisse sed mauris vitae elit sollicitudin malesuada. Maecenas
- ultricies eros sit amet ante. Ut venenatis velit. Maecenas sed mi
- eget dui varius euismod. Phasellus aliquet volutpat odio. Vestibulum
- ante ipsum primis in faucibus orci luctus et ultrices posuere
- cubilia Curae; Pellentesque sit amet pede ac sem eleifend
- consectetuer. Nullam elementum, urna vel imperdiet sodales, elit
- ipsum pharetra ligula, ac pretium ante justo a nulla. Curabitur
- tristique arcu eu metus. Vestibulum lectus. Proin mauris. Proin eu
- nunc eu urna hendrerit faucibus. Aliquam auctor, pede consequat
- laoreet varius, eros tellus scelerisque quam, pellentesque hendrerit
- ipsum dolor sed augue. Nulla nec lacus.}
- %{10}
-\NewLipsumPar{Suspendisse vitae elit. Aliquam arcu neque,
- ornare in, ullamcorper quis, commodo eu, libero. Fusce sagittis erat
- at erat tristique mollis. Maecenas sapien libero, molestie et,
- lobortis in, sodales eget, dui. Morbi ultrices rutrum lorem. Nam
- elementum ullamcorper leo. Morbi dui. Aliquam sagittis. Nunc
- placerat. Pellentesque tristique sodales est. Maecenas imperdiet
- lacinia velit. Cras non urna. Morbi eros pede, suscipit ac, varius
- vel, egestas non, eros. Praesent malesuada, diam id pretium
- elementum, eros sem dictum tortor, vel consectetuer odio sem sed
- wisi.}
- %{11}
-\NewLipsumPar{Sed feugiat. Cum sociis natoque penatibus et
- magnis dis parturient montes, nascetur ridiculus mus. Ut
- pellentesque augue sed urna. Vestibulum diam eros, fringilla et,
- consectetuer eu, nonummy id, sapien. Nullam at lectus. In sagittis
- ultrices mauris. Curabitur malesuada erat sit amet massa. Fusce
- blandit. Aliquam erat volutpat. Aliquam euismod. Aenean vel lectus.
- Nunc imperdiet justo nec dolor.}
- %{12}
-\NewLipsumPar{Etiam euismod. Fusce facilisis lacinia dui.
- Suspendisse potenti. In mi erat, cursus id, nonummy sed, ullamcorper
- eget, sapien. Praesent pretium, magna in eleifend egestas, pede pede
- pretium lorem, quis consectetuer tortor sapien facilisis magna.
- Mauris quis magna varius nulla scelerisque imperdiet. Aliquam non
- quam. Aliquam porttitor quam a lacus. Praesent vel arcu ut tortor
- cursus volutpat. In vitae pede quis diam bibendum placerat. Fusce
- elementum convallis neque. Sed dolor orci, scelerisque ac, dapibus
- nec, ultricies ut, mi. Duis nec dui quis leo sagittis commodo.}
- %{13}
-\NewLipsumPar{Aliquam lectus. Vivamus leo. Quisque ornare
- tellus ullamcorper nulla. Mauris porttitor pharetra tortor. Sed
- fringilla justo sed mauris. Mauris tellus. Sed non leo. Nullam
- elementum, magna in cursus sodales, augue est scelerisque sapien,
- venenatis congue nulla arcu et pede. Ut suscipit enim vel sapien.
- Donec congue. Maecenas urna mi, suscipit in, placerat ut, vestibulum
- ut, massa. Fusce ultrices nulla et nisl.}
- %{14}
-\NewLipsumPar{Etiam ac leo a risus tristique nonummy. Donec
- dignissim tincidunt nulla. Vestibulum rhoncus molestie odio. Sed
- lobortis, justo et pretium lobortis, mauris turpis condimentum
- augue, nec ultricies nibh arcu pretium enim. Nunc purus neque,
- placerat id, imperdiet sed, pellentesque nec, nisl. Vestibulum
- imperdiet neque non sem accumsan laoreet. In hac habitasse platea
- dictumst. Etiam condimentum facilisis libero. Suspendisse in elit
- quis nisl aliquam dapibus. Pellentesque auctor sapien. Sed egestas
- sapien nec lectus. Pellentesque vel dui vel neque bibendum viverra.
- Aliquam porttitor nisl nec pede. Proin mattis libero vel turpis.
- Donec rutrum mauris et libero. Proin euismod porta felis. Nam
- lobortis, metus quis elementum commodo, nunc lectus elementum
- mauris, eget vulputate ligula tellus eu neque. Vivamus eu
- dolor.}
- %{15}
-\NewLipsumPar{Nulla in ipsum. Praesent eros nulla, congue
- vitae, euismod ut, commodo a, wisi. Pellentesque habitant morbi
- tristique senectus et netus et malesuada fames ac turpis egestas.
- Aenean nonummy magna non leo. Sed felis erat, ullamcorper in, dictum
- non, ultricies ut, lectus. Proin vel arcu a odio lobortis euismod.
- Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
- posuere cubilia Curae; Proin ut est. Aliquam odio. Pellentesque
- massa turpis, cursus eu, euismod nec, tempor congue, nulla. Duis
- viverra gravida mauris. Cras tincidunt. Curabitur eros ligula,
- varius ut, pulvinar in, cursus faucibus, augue.}
- %{16}
-\NewLipsumPar{Nulla mattis luctus nulla. Duis commodo velit
- at leo. Aliquam vulputate magna et leo. Nam vestibulum ullamcorper
- leo. Vestibulum condimentum rutrum mauris. Donec id mauris. Morbi
- molestie justo et pede. Vivamus eget turpis sed nisl cursus tempor.
- Curabitur mollis sapien condimentum nunc. In wisi nisl, malesuada
- at, dignissim sit amet, lobortis in, odio. Aenean consequat arcu a
- ante. Pellentesque porta elit sit amet orci. Etiam at turpis nec
- elit ultricies imperdiet. Nulla facilisi. In hac habitasse platea
- dictumst. Suspendisse viverra aliquam risus. Nullam pede justo,
- molestie nonummy, scelerisque eu, facilisis vel, arcu.}
- %{17}
-\NewLipsumPar{Curabitur tellus magna, porttitor a, commodo
- a, commodo in, tortor. Donec interdum. Praesent scelerisque.
- Maecenas posuere sodales odio. Vivamus metus lacus, varius quis,
- imperdiet quis, rhoncus a, turpis. Etiam ligula arcu, elementum a,
- venenatis quis, sollicitudin sed, metus. Donec nunc pede, tincidunt
- in, venenatis vitae, faucibus vel, nibh. Pellentesque wisi. Nullam
- malesuada. Morbi ut tellus ut pede tincidunt porta. Lorem ipsum
- dolor sit amet, consectetuer adipiscing elit. Etiam congue neque id
- dolor.}
- %{18}
-\NewLipsumPar{Donec et nisl at wisi luctus bibendum. Nam
- interdum tellus ac libero. Sed sem justo, laoreet vitae, fringilla
- at, adipiscing ut, nibh. Maecenas non sem quis tortor eleifend
- fermentum. Etiam id tortor ac mauris porta vulputate. Integer porta
- neque vitae massa. Maecenas tempus libero a libero posuere dictum.
- Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
- posuere cubilia Curae; Aenean quis mauris sed elit commodo placerat.
- Class aptent taciti sociosqu ad litora torquent per conubia nostra,
- per inceptos hymenaeos. Vivamus rhoncus tincidunt libero. Etiam
- elementum pretium justo. Vivamus est. Morbi a tellus eget pede
- tristique commodo. Nulla nisl. Vestibulum sed nisl eu sapien cursus
- rutrum.}
- %{19}
-\NewLipsumPar{Nulla non mauris vitae wisi posuere convallis.
- Sed eu nulla nec eros scelerisque pharetra. Nullam varius. Etiam
- dignissim elementum metus. Vestibulum faucibus, metus sit amet
- mattis rhoncus, sapien dui laoreet odio, nec ultricies nibh augue a
- enim. Fusce in ligula. Quisque at magna et nulla commodo consequat.
- Proin accumsan imperdiet sem. Nunc porta. Donec feugiat mi at justo.
- Phasellus facilisis ipsum quis ante. In ac elit eget ipsum pharetra
- faucibus. Maecenas viverra nulla in massa.}
- %{20}
-\NewLipsumPar{Nulla ac nisl. Nullam urna nulla, ullamcorper
- in, interdum sit amet, gravida ut, risus. Aenean ac enim. In luctus.
- Phasellus eu quam vitae turpis viverra pellentesque. Duis feugiat
- felis ut enim. Phasellus pharetra, sem id porttitor sodales, magna
- nunc aliquet nibh, nec blandit nisl mauris at pede. Suspendisse
- risus risus, lobortis eget, semper at, imperdiet sit amet, quam.
- Quisque scelerisque dapibus nibh. Nam enim. Lorem ipsum dolor sit
- amet, consectetuer adipiscing elit. Nunc ut metus. Ut metus justo,
- auctor at, ultrices eu, sagittis ut, purus. Aliquam aliquam.}
- %{21}
-\NewLipsumPar{Etiam pede massa, dapibus vitae, rhoncus in,
- placerat posuere, odio. Vestibulum luctus commodo lacus. Morbi lacus
- dui, tempor sed, euismod eget, condimentum at, tortor. Phasellus
- aliquet odio ac lacus tempor faucibus. Praesent sed sem. Praesent
- iaculis. Cras rhoncus tellus sed justo ullamcorper sagittis. Donec
- quis orci. Sed ut tortor quis tellus euismod tincidunt. Suspendisse
- congue nisl eu elit. Aliquam tortor diam, tempus id, tristique eget,
- sodales vel, nulla. Praesent tellus mi, condimentum sed, viverra at,
- consectetuer quis, lectus. In auctor vehicula orci. Sed pede sapien,
- euismod in, suscipit in, pharetra placerat, metus. Vivamus commodo
- dui non odio. Donec et felis.}
- %{22}
-\NewLipsumPar{Etiam suscipit aliquam arcu. Aliquam sit amet
- est ac purus bibendum congue. Sed in eros. Morbi non orci.
- Pellentesque mattis lacinia elit. Fusce molestie velit in ligula.
- Nullam et orci vitae nibh vulputate auctor. Aliquam eget purus.
- Nulla auctor wisi sed ipsum. Morbi porttitor tellus ac enim. Fusce
- ornare. Proin ipsum enim, tincidunt in, ornare venenatis, molestie
- a, augue. Donec vel pede in lacus sagittis porta. Sed hendrerit
- ipsum quis nisl. Suspendisse quis massa ac nibh pretium cursus. Sed
- sodales. Nam eu neque quis pede dignissim ornare. Maecenas eu purus
- ac urna tincidunt congue.}
- %{23}
-\NewLipsumPar{Donec et nisl id sapien blandit mattis.
- Aenean dictum odio sit amet risus. Morbi purus. Nulla a est sit amet
- purus venenatis iaculis. Vivamus viverra purus vel magna. Donec in
- justo sed odio malesuada dapibus. Nunc ultrices aliquam nunc.
- Vivamus facilisis pellentesque velit. Nulla nunc velit, vulputate
- dapibus, vulputate id, mattis ac, justo. Nam mattis elit dapibus
- purus. Quisque enim risus, congue non, elementum ut, mattis quis,
- sem. Quisque elit.}
- %{24}
-\NewLipsumPar{Maecenas non massa. Vestibulum pharetra nulla
- at lorem. Duis quis quam id lacus dapibus interdum. Nulla lorem.
- Donec ut ante quis dolor bibendum condimentum. Etiam egestas tortor
- vitae lacus. Praesent cursus. Mauris bibendum pede at elit. Morbi et
- felis a lectus interdum facilisis. Sed suscipit gravida turpis.
- Nulla at lectus. Vestibulum ante ipsum primis in faucibus orci
- luctus et ultrices posuere cubilia Curae; Praesent nonummy luctus
- nibh. Proin turpis nunc, congue eu, egestas ut, fringilla at,
- tellus. In hac habitasse platea dictumst.}
- %{25}
-\NewLipsumPar{Vivamus eu tellus sed tellus consequat
- suscipit. Nam orci orci, malesuada id, gravida nec, ultricies vitae,
- erat. Donec risus turpis, luctus sit amet, interdum quis, porta sed,
- ipsum. Suspendisse condimentum, tortor at egestas posuere, neque
- metus tempor orci, et tincidunt urna nunc a purus. Sed facilisis
- blandit tellus. Nunc risus sem, suscipit nec, eleifend quis, cursus
- quis, libero. Curabitur et dolor. Sed vitae sem. Cum sociis natoque
- penatibus et magnis dis parturient montes, nascetur ridiculus mus.
- Maecenas ante. Duis ullamcorper enim. Donec tristique enim eu leo.
- Nullam molestie elit eu dolor. Nullam bibendum, turpis vitae
- tristique gravida, quam sapien tempor lectus, quis pretium tellus
- purus ac quam. Nulla facilisi.}
- %{26}
-\NewLipsumPar{Duis aliquet dui in est. Donec eget est. Nunc
- lectus odio, varius at, fermentum in, accumsan non, enim. Aliquam
- erat volutpat. Proin sit amet nulla ut eros consectetuer cursus.
- Phasellus dapibus aliquam justo. Nunc laoreet. Donec consequat
- placerat magna. Duis pretium tincidunt justo. Sed sollicitudin
- vestibulum quam. Nam quis ligula. Vivamus at metus. Etiam imperdiet
- imperdiet pede. Aenean turpis. Fusce augue velit, scelerisque
- sollicitudin, dictum vitae, tempor et, pede. Donec wisi sapien,
- feugiat in, fermentum ut, sollicitudin adipiscing, metus.}
- %{27}
-\NewLipsumPar{Donec vel nibh ut felis consectetuer laoreet.
- Donec pede. Sed id quam id wisi laoreet suscipit. Nulla lectus
- dolor, aliquam ac, fringilla eget, mollis ut, orci. In pellentesque
- justo in ligula. Maecenas turpis. Donec eleifend leo at felis
- tincidunt consequat. Aenean turpis metus, malesuada sed, condimentum
- sit amet, auctor a, wisi. Pellentesque sapien elit, bibendum ac,
- posuere et, congue eu, felis. Vestibulum mattis libero quis metus
- scelerisque ultrices. Sed purus.}
- %{28}
-\NewLipsumPar{Donec molestie, magna ut luctus ultrices,
- tellus arcu nonummy velit, sit amet pulvinar elit justo et mauris.
- In pede. Maecenas euismod elit eu erat. Aliquam augue wisi,
- facilisis congue, suscipit in, adipiscing et, ante. In justo. Cras
- lobortis neque ac ipsum. Nunc fermentum massa at ante. Donec orci
- tortor, egestas sit amet, ultrices eget, venenatis eget, mi.
- Maecenas vehicula leo semper est. Mauris vel metus. Aliquam erat
- volutpat. In rhoncus sapien ac tellus. Pellentesque ligula.}
- %{29}
-\NewLipsumPar{Cras dapibus, augue quis scelerisque
- ultricies, felis dolor placerat sem, id porta velit odio eu elit.
- Aenean interdum nibh sed wisi. Praesent sollicitudin vulputate dui.
- Praesent iaculis viverra augue. Quisque in libero. Aenean gravida
- lorem vitae sem ullamcorper cursus. Nunc adipiscing rutrum ante.
- Nunc ipsum massa, faucibus sit amet, viverra vel, elementum semper,
- orci. Cras eros sem, vulputate et, tincidunt id, ultrices eget,
- magna. Nulla varius ornare odio. Donec accumsan mauris sit amet
- augue. Sed ligula lacus, laoreet non, aliquam sit amet, iaculis
- tempor, lorem. Suspendisse eros. Nam porta, leo sed congue tempor,
- felis est ultrices eros, id mattis velit felis non metus. Curabitur
- vitae elit non mauris varius pretium. Aenean lacus sem, tincidunt
- ut, consequat quis, porta vitae, turpis. Nullam laoreet fermentum
- urna. Proin iaculis lectus.}
- %{30}
-\NewLipsumPar{Sed mattis, erat sit amet gravida malesuada,
- elit augue egestas diam, tempus scelerisque nunc nisl vitae libero.
- Sed consequat feugiat massa. Nunc porta, eros in eleifend varius,
- erat leo rutrum dui, non convallis lectus orci ut nibh. Sed lorem
- massa, nonummy quis, egestas id, condimentum at, nisl. Maecenas at
- nibh. Aliquam et augue at nunc pellentesque ullamcorper. Duis nisl
- nibh, laoreet suscipit, convallis ut, rutrum id, enim. Phasellus
- odio. Nulla nulla elit, molestie non, scelerisque at, vestibulum
- eu, nulla. Ut odio nisl, facilisis id, mollis et, scelerisque nec,
- enim. Aenean sem leo, pellentesque sit amet, scelerisque sit amet,
- vehicula pellentesque, sapien.}
- %{31}
-\NewLipsumPar{Sed consequat tellus et tortor. Ut tempor
- laoreet quam. Nullam id wisi a libero tristique semper. Nullam nisl
- massa, rutrum ut, egestas semper, mollis id, leo. Nulla ac massa eu
- risus blandit mattis. Mauris ut nunc. In hac habitasse platea
- dictumst. Aliquam eget tortor. Quisque dapibus pede in erat. Nunc
- enim. In dui nulla, commodo at, consectetuer nec, malesuada nec,
- elit. Aliquam ornare tellus eu urna. Sed nec metus. Cum sociis
- natoque penatibus et magnis dis parturient montes, nascetur
- ridiculus mus. Pellentesque habitant morbi tristique senectus et
- netus et malesuada fames ac turpis egestas.}
- %{32}
-\NewLipsumPar{Phasellus id magna. Duis malesuada interdum
- arcu. Integer metus. Morbi pulvinar pellentesque mi. Suspendisse
- sed est eu magna molestie egestas. Quisque mi lorem, pulvinar eget,
- egestas quis, luctus at, ante. Proin auctor vehicula purus. Fusce ac
- nisl aliquam ante hendrerit pellentesque. Class aptent taciti
- sociosqu ad litora torquent per conubia nostra, per inceptos
- hymenaeos. Morbi wisi. Etiam arcu mauris, facilisis sed, eleifend
- non, nonummy ut, pede. Cras ut lacus tempor metus mollis placerat.
- Vivamus eu tortor vel metus interdum malesuada.}
- %{33}
-\NewLipsumPar{Sed eleifend, eros sit amet faucibus
- elementum, urna sapien consectetuer mauris, quis egestas leo justo
- non risus. Morbi non felis ac libero vulputate fringilla. Mauris
- libero eros, lacinia non, sodales quis, dapibus porttitor, pede.
- Class aptent taciti sociosqu ad litora torquent per conubia nostra,
- per inceptos hymenaeos. Morbi dapibus mauris condimentum nulla. Cum
- sociis natoque penatibus et magnis dis parturient montes, nascetur
- ridiculus mus. Etiam sit amet erat. Nulla varius. Etiam tincidunt
- dui vitae turpis. Donec leo. Morbi vulputate convallis est. Integer
- aliquet. Pellentesque aliquet sodales urna.}
- %{34}
-\NewLipsumPar{Nullam eleifend justo in nisl. In hac
- habitasse platea dictumst. Morbi nonummy. Aliquam ut felis. In velit
- leo, dictum vitae, posuere id, vulputate nec, ante. Maecenas vitae
- pede nec dui dignissim suscipit. Morbi magna. Vestibulum id purus
- eget velit laoreet laoreet. Praesent sed leo vel nibh convallis
- blandit. Ut rutrum. Donec nibh. Donec interdum. Fusce sed pede sit
- amet elit rhoncus ultrices. Nullam at enim vitae pede vehicula
- iaculis.}
- %{35}
-\NewLipsumPar{Class aptent taciti sociosqu ad litora
- torquent per conubia nostra, per inceptos hymenaeos. Aenean nonummy
- turpis id odio. Integer euismod imperdiet turpis. Ut nec leo nec
- diam imperdiet lacinia. Etiam eget lacus eget mi ultricies posuere.
- In placerat tristique tortor. Sed porta vestibulum metus. Nulla
- iaculis sollicitudin pede. Fusce luctus tellus in dolor. Curabitur
- auctor velit a sem. Morbi sapien. Class aptent taciti sociosqu ad
- litora torquent per conubia nostra, per inceptos hymenaeos. Donec
- adipiscing urna vehicula nunc. Sed ornare leo in leo. In rhoncus leo
- ut dui. Aenean dolor quam, volutpat nec, fringilla id, consectetuer
- vel, pede.}
- %{36}
-\NewLipsumPar{Nulla malesuada risus ut urna. Aenean pretium
- velit sit amet metus. Duis iaculis. In hac habitasse platea
- dictumst. Nullam molestie turpis eget nisl. Duis a massa id pede
- dapibus ultricies. Sed eu leo. In at mauris sit amet tortor bibendum
- varius. Phasellus justo risus, posuere in, sagittis ac, varius vel,
- tortor. Quisque id enim. Phasellus consequat, libero pretium
- nonummy fringilla, tortor lacus vestibulum nunc, ut rhoncus ligula
- neque id justo. Nullam accumsan euismod nunc. Proin vitae ipsum ac
- metus dictum tempus. Nam ut wisi. Quisque tortor felis, interdum ac,
- sodales a, semper a, sem. Curabitur in velit sit amet dui tristique
- sodales. Vivamus mauris pede, lacinia eget, pellentesque quis,
- scelerisque eu, est. Aliquam risus. Quisque bibendum pede eu
- dolor.}
- %{37}
-\NewLipsumPar{Donec tempus neque vitae est. Aenean egestas
- odio sed risus ullamcorper ullamcorper. Sed in nulla a tortor
- tincidunt egestas. Nam sapien tortor, elementum sit amet, aliquam
- in, porttitor faucibus, enim. Nullam congue suscipit nibh. Quisque
- convallis. Praesent arcu nibh, vehicula eget, accumsan eu, tincidunt
- a, nibh. Suspendisse vulputate, tortor quis adipiscing viverra,
- lacus nibh dignissim tellus, eu suscipit risus ante fringilla diam.
- Quisque a libero vel pede imperdiet aliquet. Pellentesque nunc nibh,
- eleifend a, consequat consequat, hendrerit nec, diam. Sed urna.
- Maecenas laoreet eleifend neque. Vivamus purus odio, eleifend non,
- iaculis a, ultrices sit amet, urna. Mauris faucibus odio vitae
- risus. In nisl. Praesent purus. Integer iaculis, sem eu egestas
- lacinia, lacus pede scelerisque augue, in ullamcorper dolor eros ac
- lacus. Nunc in libero.}
- %{38}
-\NewLipsumPar{Fusce suscipit cursus sem. Vivamus risus
- mi, egestas ac, imperdiet varius, faucibus quis, leo. Aenean
- tincidunt. Donec suscipit. Cras id justo quis nibh scelerisque
- dignissim. Aliquam sagittis elementum dolor. Aenean consectetuer
- justo in pede. Curabitur ullamcorper ligula nec orci. Aliquam purus
- turpis, aliquam id, ornare vitae, porttitor non, wisi. Maecenas
- luctus porta lorem. Donec vitae ligula eu ante pretium varius.
- Proin tortor metus, convallis et, hendrerit non, scelerisque in,
- urna. Cras quis libero eu ligula bibendum tempor. Vivamus tellus
- quam, malesuada eu, tempus sed, tempor sed, velit. Donec lacinia
- auctor libero.}
- %{39}
-\NewLipsumPar{Praesent sed neque id pede mollis rutrum.
- Vestibulum iaculis risus. Pellentesque lacus. Ut quis nunc sed odio
- malesuada egestas. Duis a magna sit amet ligula tristique pretium.
- Ut pharetra. Vestibulum imperdiet magna nec wisi. Mauris convallis.
- Sed accumsan sollicitudin massa. Sed id enim. Nunc pede enim,
- lacinia ut, pulvinar quis, suscipit semper, elit. Cras accumsan erat
- vitae enim. Cras sollicitudin. Vestibulum rutrum blandit massa.}
- %{40}
-\NewLipsumPar{Sed gravida lectus ut purus. Morbi laoreet
- magna. Pellentesque eu wisi. Proin turpis. Integer sollicitudin
- augue nec dui. Fusce lectus. Vivamus faucibus nulla nec lacus.
- Integer diam. Pellentesque sodales, enim feugiat cursus volutpat,
- sem mauris dignissim mauris, quis consequat sem est fermentum
- ligula. Nullam justo lectus, condimentum sit amet, posuere a,
- fringilla mollis, felis. Morbi nulla nibh, pellentesque at, nonummy
- eu, sollicitudin nec, ipsum. Cras neque. Nunc augue. Nullam vitae
- quam id quam pulvinar blandit. Nunc sit amet orci. Aliquam erat
- elit, pharetra nec, aliquet a, gravida in, mi. Quisque urna enim,
- viverra quis, suscipit quis, tincidunt ut, sapien. Cras placerat
- consequat sem. Curabitur ac diam. Curabitur diam tortor, mollis et,
- viverra ac, tempus vel, metus.}
- %{41}
-\NewLipsumPar{Curabitur ac lorem. Vivamus non justo in dui
- mattis posuere. Etiam accumsan ligula id pede. Maecenas tincidunt
- diam nec velit. Praesent convallis sapien ac est. Aliquam
- ullamcorper euismod nulla. Integer mollis enim vel tortor. Nulla
- sodales placerat nunc. Sed tempus rutrum wisi. Duis accumsan
- gravida purus. Nunc nunc. Etiam facilisis dui eu sem. Vestibulum
- semper. Praesent eu eros. Vestibulum tellus nisl, dapibus id,
- vestibulum sit amet, placerat ac, mauris. Maecenas et elit ut erat
- placerat dictum. Nam feugiat, turpis et sodales volutpat, wisi quam
- rhoncus neque, vitae aliquam ipsum sapien vel enim. Maecenas
- suscipit cursus mi.}
- %{42}
-\NewLipsumPar{Quisque consectetuer. In suscipit mauris a
- dolor pellentesque consectetuer. Mauris convallis neque non erat. In
- lacinia. Pellentesque leo eros, sagittis quis, fermentum quis,
- tincidunt ut, sapien. Maecenas sem. Curabitur eros odio, interdum
- eu, feugiat eu, porta ac, nisl. Curabitur nunc. Etiam fermentum
- convallis velit. Pellentesque laoreet lacus. Quisque sed elit. Nam
- quis tellus. Aliquam tellus arcu, adipiscing non, tincidunt
- eleifend, adipiscing quis, augue. Vivamus elementum placerat enim.
- Suspendisse ut tortor. Integer faucibus adipiscing felis. Aenean
- consectetuer mattis lectus. Morbi malesuada faucibus dolor. Nam
- lacus. Etiam arcu libero, malesuada vitae, aliquam vitae, blandit
- tristique, nisl.}
- %{43}
-\NewLipsumPar{Maecenas accumsan dapibus sapien. Duis
- pretium iaculis arcu. Curabitur ut lacus. Aliquam vulputate.
- Suspendisse ut purus sed sem tempor rhoncus. Ut quam dui, fringilla
- at, dictum eget, ultricies quis, quam. Etiam sem est, pharetra non,
- vulputate in, pretium at, ipsum. Nunc semper sagittis orci. Sed
- scelerisque suscipit diam. Ut volutpat, dolor at ullamcorper
- tristique, eros purus mollis quam, sit amet ornare ante nunc et
- enim.}
- %{44}
-\NewLipsumPar{Phasellus fringilla, metus id feugiat
- consectetuer, lacus wisi ultrices tellus, quis lobortis nibh lorem
- quis tortor. Donec egestas ornare nulla. Mauris mi tellus, porta
- faucibus, dictum vel, nonummy in, est. Aliquam erat volutpat. In
- tellus magna, porttitor lacinia, molestie vitae, pellentesque eu,
- justo. Class aptent taciti sociosqu ad litora torquent per conubia
- nostra, per inceptos hymenaeos. Sed orci nibh, scelerisque sit amet,
- suscipit sed, placerat vel, diam. Vestibulum nonummy vulputate orci.
- Donec et velit ac arcu interdum semper. Morbi pede orci, cursus ac,
- elementum non, vehicula ut, lacus. Cras volutpat. Nam vel wisi quis
- libero venenatis placerat. Aenean sed odio. Quisque posuere purus ac
- orci. Vivamus odio. Vivamus varius, nulla sit amet semper viverra,
- odio mauris consequat lacus, at vestibulum neque arcu eu tortor.
- Donec iaculis tincidunt tellus. Aliquam erat volutpat. Curabitur
- magna lorem, dignissim volutpat, viverra et, adipiscing nec, dolor.
- Praesent lacus mauris, dapibus vitae, sollicitudin sit amet, nonummy
- eget, ligula.}
- %{45}
-\NewLipsumPar{Cras egestas ipsum a nisl. Vivamus varius dolor
- ut dolor. Fusce vel enim. Pellentesque accumsan ligula et eros. Cras
- id lacus non tortor facilisis facilisis. Etiam nisl elit, cursus
- sed, fringilla in, congue nec, urna. Cum sociis natoque penatibus et
- magnis dis parturient montes, nascetur ridiculus mus. Integer at
- turpis. Cum sociis natoque penatibus et magnis dis parturient
- montes, nascetur ridiculus mus. Duis fringilla, ligula sed porta
- fringilla, ligula wisi commodo felis, ut adipiscing felis dui in
- enim. Suspendisse malesuada ultrices ante. Pellentesque scelerisque
- augue sit amet urna. Nulla volutpat aliquet tortor. Cras aliquam,
- tellus at aliquet pellentesque, justo sapien commodo leo, id rhoncus
- sapien quam at erat. Nulla commodo, wisi eget sollicitudin pretium,
- orci orci aliquam orci, ut cursus turpis justo et lacus. Nulla vel
- tortor. Quisque erat elit, viverra sit amet, sagittis eget, porta
- sit amet, lacus.}
- %{46}
-\NewLipsumPar{In hac habitasse platea dictumst. Proin at
- est. Curabitur tempus vulputate elit. Pellentesque sem. Praesent eu
- sapien. Duis elit magna, aliquet at, tempus sed, vehicula non, enim.
- Morbi viverra arcu nec purus. Vivamus fringilla, enim et commodo
- malesuada, tortor metus elementum ligula, nec aliquet est sapien ut
- lectus. Aliquam mi. Ut nec elit. Fusce euismod luctus tellus.
- Curabitur scelerisque. Nullam purus. Nam ultricies accumsan magna.
- Morbi pulvinar lorem sit amet ipsum. Donec ut justo vitae nibh
- mollis congue. Fusce quis diam. Praesent tempus eros ut quam.}
- %{47}
-\NewLipsumPar{Donec in nisl. Fusce vitae est. Vivamus ante
- ante, mattis laoreet, posuere eget, congue vel, nunc. Fusce sem. Nam
- vel orci eu eros viverra luctus. Pellentesque sit amet augue. Nunc
- sit amet ipsum et lacus varius nonummy. Integer rutrum sem eget
- wisi. Aenean eu sapien. Quisque ornare dignissim mi. Duis a urna vel
- risus pharetra imperdiet. Suspendisse potenti.}
- %{48}
-\NewLipsumPar{Morbi justo. Aenean nec dolor. In hac
- habitasse platea dictumst. Proin nonummy porttitor velit. Sed sit
- amet leo nec metus rhoncus varius. Cras ante. Vestibulum commodo sem
- tincidunt massa. Nam justo. Aenean luctus, felis et condimentum
- lacinia, lectus enim pulvinar purus, non porta velit nisl sed eros.
- Suspendisse consequat. Mauris a dui et tortor mattis pretium. Sed
- nulla metus, volutpat id, aliquam eget, ullamcorper ut, ipsum. Morbi
- eu nunc. Praesent pretium. Duis aliquam pulvinar ligula. Ut blandit
- egestas justo. Quisque posuere metus viverra pede.}
- %{49}
-\NewLipsumPar{Vivamus sodales elementum neque. Vivamus
- dignissim accumsan neque. Sed at enim. Vestibulum nonummy interdum
- purus. Mauris ornare velit id nibh pretium ultricies. Fusce tempor
- pellentesque odio. Vivamus augue purus, laoreet in, scelerisque vel,
- commodo id, wisi. Duis enim. Nulla interdum, nunc eu semper
- eleifend, enim dolor pretium elit, ut commodo ligula nisl a est.
- Vivamus ante. Nulla leo massa, posuere nec, volutpat vitae, rhoncus
- eu, magna.}
- % {50}
-\NewLipsumPar{Quisque facilisis auctor sapien. Pellentesque
- gravida hendrerit lectus. Mauris rutrum sodales sapien. Fusce
- hendrerit sem vel lorem. Integer pellentesque massa vel augue.
- Integer elit tortor, feugiat quis, sagittis et, ornare non, lacus.
- Vestibulum posuere pellentesque eros. Quisque venenatis ipsum dictum
- nulla. Aliquam quis quam non metus eleifend interdum. Nam eget
- sapien ac mauris malesuada adipiscing. Etiam eleifend neque sed
- quam. Nulla facilisi. Proin a ligula. Sed id dui eu nibh egestas
- tincidunt. Suspendisse arcu.}
- %{51}
-\NewLipsumPar{Maecenas dui. Aliquam volutpat auctor lorem.
- Cras placerat est vitae lectus. Curabitur massa lectus, rutrum
- euismod, dignissim ut, dapibus a, odio. Ut eros erat, vulputate ut,
- interdum non, porta eu, erat. Cras fermentum, felis in porta congue,
- velit leo facilisis odio, vitae consectetuer lorem quam vitae orci.
- Sed ultrices, pede eu placerat auctor, ante ligula rutrum tellus,
- vel posuere nibh lacus nec nibh. Maecenas laoreet dolor at enim.
- Donec molestie dolor nec metus. Vestibulum libero. Sed quis erat.
- Sed tristique. Duis pede leo, fermentum quis, consectetuer eget,
- vulputate sit amet, erat.}
- %{52}
-\NewLipsumPar{Donec vitae velit. Suspendisse porta fermentum
- mauris. Ut vel nunc non mauris pharetra varius. Duis consequat
- libero quis urna. Maecenas at ante. Vivamus varius, wisi sed egestas
- tristique, odio wisi luctus nulla, lobortis dictum dolor ligula in
- lacus. Vivamus aliquam, urna sed interdum porttitor, metus orci
- interdum odio, sit amet euismod lectus felis et leo. Praesent ac
- wisi. Nam suscipit vestibulum sem. Praesent eu ipsum vitae pede
- cursus venenatis. Duis sed odio. Vestibulum eleifend. Nulla ut
- massa. Proin rutrum mattis sapien. Curabitur dictum gravida
- ante.}
- %{53}
-\NewLipsumPar{Phasellus placerat vulputate quam. Maecenas at
- tellus. Pellentesque neque diam, dignissim ac, venenatis vitae,
- consequat ut, lacus. Nam nibh. Vestibulum fringilla arcu mollis
- arcu. Sed et turpis. Donec sem tellus, volutpat et, varius eu,
- commodo sed, lectus. Lorem ipsum dolor sit amet, consectetuer
- adipiscing elit. Quisque enim arcu, suscipit nec, tempus at,
- imperdiet vel, metus. Morbi volutpat purus at erat. Donec dignissim,
- sem id semper tempus, nibh massa eleifend turpis, sed pellentesque
- wisi purus sed libero. Nullam lobortis tortor vel risus.
- Pellentesque consequat nulla eu tellus. Donec velit. Aliquam
- fermentum, wisi ac rhoncus iaculis, tellus nunc malesuada orci, quis
- volutpat dui magna id mi. Nunc vel ante. Duis vitae lacus. Cras nec
- ipsum.}
- %{54}
-\NewLipsumPar{Morbi nunc. Aliquam consectetuer varius nulla.
- Phasellus eros. Cras dapibus porttitor risus. Maecenas ultrices mi
- sed diam. Praesent gravida velit at elit vehicula porttitor.
- Phasellus nisl mi, sagittis ac, pulvinar id, gravida sit amet, erat.
- Vestibulum est. Lorem ipsum dolor sit amet, consectetuer adipiscing
- elit. Curabitur id sem elementum leo rutrum hendrerit. Ut at mi.
- Donec tincidunt faucibus massa. Sed turpis quam, sollicitudin a,
- hendrerit eget, pretium ut, nisl. Duis hendrerit ligula. Nunc
- pulvinar congue urna.}
- %{55}
-\NewLipsumPar{Nunc velit. Nullam elit sapien, eleifend eu,
- commodo nec, semper sit amet, elit. Nulla lectus risus, condimentum
- ut, laoreet eget, viverra nec, odio. Proin lobortis. Curabitur
- dictum arcu vel wisi. Cras id nulla venenatis tortor congue
- ultrices. Pellentesque eget pede. Sed eleifend sagittis elit. Nam
- sed tellus sit amet lectus ullamcorper tristique. Mauris enim sem,
- tristique eu, accumsan at, scelerisque vulputate, neque. Quisque
- lacus. Donec et ipsum sit amet elit nonummy aliquet. Sed viverra
- nisl at sem. Nam diam. Mauris ut dolor. Curabitur ornare tortor
- cursus velit.}
- %{56}
-\NewLipsumPar{Morbi tincidunt posuere arcu. Cras venenatis
- est vitae dolor. Vivamus scelerisque semper mi. Donec ipsum arcu,
- consequat scelerisque, viverra id, dictum at, metus. Lorem ipsum
- dolor sit amet, consectetuer adipiscing elit. Ut pede sem, tempus
- ut, porttitor bibendum, molestie eu, elit. Suspendisse potenti. Sed
- id lectus sit amet purus faucibus vehicula. Praesent sed sem non dui
- pharetra interdum. Nam viverra ultrices magna.}
- %{57}
-\NewLipsumPar{Aenean laoreet aliquam orci. Nunc interdum
- elementum urna. Quisque erat. Nullam tempor neque. Maecenas velit
- nibh, scelerisque a, consequat ut, viverra in, enim. Duis magna.
- Donec odio neque, tristique et, tincidunt eu, rhoncus ac, nunc.
- Mauris malesuada malesuada elit. Etiam lacus mauris, pretium vel,
- blandit in, ultricies id, libero. Phasellus bibendum erat ut diam.
- In congue imperdiet lectus.}
- %{58}
-\NewLipsumPar{Aenean scelerisque. Fusce pretium porttitor
- lorem. In hac habitasse platea dictumst. Nulla sit amet nisl at
- sapien egestas pretium. Nunc non tellus. Vivamus aliquet. Nam
- adipiscing euismod dolor. Aliquam erat volutpat. Nulla ut ipsum.
- Quisque tincidunt auctor augue. Nunc imperdiet ipsum eget elit.
- Aliquam quam leo, consectetuer non, ornare sit amet, tristique quis,
- felis. Vestibulum ante ipsum primis in faucibus orci luctus et
- ultrices posuere cubilia Curae; Pellentesque interdum quam sit amet
- mi. Pellentesque mauris dui, dictum a, adipiscing ac, fermentum sit
- amet, lorem.}
- %{59}
-\NewLipsumPar{Ut quis wisi. Praesent quis massa. Vivamus
- egestas risus eget lacus. Nunc tincidunt, risus quis bibendum
- facilisis, lorem purus rutrum neque, nec porta tortor urna quis
- orci. Aenean aliquet, libero semper volutpat luctus, pede erat
- lacinia augue, quis rutrum sem ipsum sit amet pede. Vestibulum
- aliquet, nibh sed iaculis sagittis, odio dolor blandit augue, eget
- mollis urna tellus id tellus. Aenean aliquet aliquam nunc. Nulla
- ultricies justo eget orci. Phasellus tristique fermentum leo. Sed
- massa metus, sagittis ut, semper ut, pharetra vel, erat. Aliquam
- quam turpis, egestas vel, elementum in, egestas sit amet, lorem.
- Duis convallis, wisi sit amet mollis molestie, libero mauris porta
- dui, vitae aliquam arcu turpis ac sem. Aliquam aliquet dapibus
- metus.}
- %{60}
-\NewLipsumPar{Vivamus commodo eros eleifend dui. Vestibulum in
- leo eu erat tristique mattis. Cras at elit. Cras pellentesque.
- Nullam id lacus sit amet libero aliquet hendrerit. Proin placerat,
- mi non elementum laoreet, eros elit tincidunt magna, a rhoncus sem
- arcu id odio. Nulla eget leo a leo egestas facilisis. Curabitur quis
- velit. Phasellus aliquam, tortor nec ornare rhoncus, purus urna
- posuere velit, et commodo risus tellus quis tellus. Vivamus leo
- turpis, tempus sit amet, tristique vitae, laoreet quis, odio. Proin
- scelerisque bibendum ipsum. Etiam nisl. Praesent vel dolor.
- Pellentesque vel magna. Curabitur urna. Vivamus congue urna in
- velit. Etiam ullamcorper elementum dui. Praesent non urna. Sed
- placerat quam non mi. Pellentesque diam magna, ultricies eget,
- ultrices placerat, adipiscing rutrum, sem.}
- %{61}
-\NewLipsumPar{Morbi sem. Nulla facilisi. Vestibulum ante
- ipsum primis in faucibus orci luctus et ultrices posuere cubilia
- Curae; Nulla facilisi. Morbi sagittis ultrices libero. Praesent eu
- ligula sed sapien auctor sagittis. Class aptent taciti sociosqu ad
- litora torquent per conubia nostra, per inceptos hymenaeos. Donec
- vel nunc. Nunc fermentum, lacus id aliquam porta, dui tortor euismod
- eros, vel molestie ipsum purus eu lacus. Vivamus pede arcu, euismod
- ac, tempus id, pretium et, lacus. Curabitur sodales dapibus urna.
- Nunc eu sapien. Donec eget nunc a pede dictum pretium. Proin mauris.
- Vivamus luctus libero vel nibh.}
- %{62}
-\NewLipsumPar{Fusce tristique risus id wisi. Integer
- molestie massa id sem. Vestibulum vel dolor. Pellentesque vel urna
- vel risus ultricies elementum. Quisque sapien urna, blandit nec,
- iaculis ac, viverra in, odio. In hac habitasse platea dictumst.
- Morbi neque lacus, convallis vitae, commodo ac, fermentum eu, velit.
- Sed in orci. In fringilla turpis non arcu. Donec in ante. Phasellus
- tempor feugiat velit. Aenean varius massa non turpis. Vestibulum
- ante ipsum primis in faucibus orci luctus et ultrices posuere
- cubilia Curae;}
- %{63}
-\NewLipsumPar{Aliquam tortor. Morbi ipsum massa, imperdiet
- non, consectetuer vel, feugiat vel, lorem. Quisque eget lorem nec
- elit malesuada vestibulum. Quisque sollicitudin ipsum vel sem. Nulla
- enim. Proin nonummy felis vitae felis. Nullam pellentesque. Duis
- rutrum feugiat felis. Mauris vel pede sed libero tincidunt mollis.
- Phasellus sed urna rhoncus diam euismod bibendum. Phasellus sed
- nisl. Integer condimentum justo id orci iaculis varius. Quisque et
- lacus. Phasellus elementum, justo at dignissim auctor, wisi odio
- lobortis arcu, sed sollicitudin felis felis eu neque. Praesent at
- lacus.}
- %{64}
-\NewLipsumPar{Vivamus sit amet pede. Duis interdum, nunc
- eget rutrum dignissim, nisl diam luctus leo, et tincidunt velit nisl
- id tellus. In lorem tellus, aliquet vitae, porta in, aliquet sed,
- lectus. Phasellus sodales. Ut varius scelerisque erat. In vel nibh
- eu eros imperdiet rutrum. Donec ac odio nec neque vulputate
- suscipit. Nam nec magna. Pellentesque habitant morbi tristique
- senectus et netus et malesuada fames ac turpis egestas. Nullam
- porta, odio et sagittis iaculis, wisi neque fringilla sapien, vel
- commodo lorem lorem id elit. Ut sem lectus, scelerisque eget,
- placerat et, tincidunt scelerisque, ligula. Pellentesque non
- orci.}
- %{65}
-\NewLipsumPar{Etiam vel ipsum. Morbi facilisis vestibulum
- nisl. Praesent cursus laoreet felis. Integer adipiscing pretium
- orci. Nulla facilisi. Quisque posuere bibendum purus. Nulla quam
- mauris, cursus eget, convallis ac, molestie non, enim. Aliquam
- congue. Quisque sagittis nonummy sapien. Proin molestie sem vitae
- urna. Maecenas lorem. Vivamus viverra consequat enim.}
- %{66}
-\NewLipsumPar{Nunc sed pede. Praesent vitae lectus. Praesent
- neque justo, vehicula eget, interdum id, facilisis et, nibh.
- Phasellus at purus et libero lacinia dictum. Fusce aliquet. Nulla eu
- ante placerat leo semper dictum. Mauris metus. Curabitur lobortis.
- Curabitur sollicitudin hendrerit nunc. Donec ultrices lacus id
- ipsum.}
- %{67}
-\NewLipsumPar{Donec a nibh ut elit vestibulum tristique.
- Integer at pede. Cras volutpat varius magna. Phasellus eu wisi.
- Praesent risus justo, lobortis eget, scelerisque ac, aliquet in,
- dolor. Proin id leo. Nunc iaculis, mi vitae accumsan commodo, neque
- sem lacinia nulla, quis vestibulum justo sem in eros. Quisque sed
- massa. Morbi lectus ipsum, vulputate a, mollis ut, accumsan
- placerat, tellus. Nullam in wisi. Vivamus eu ligula a nunc accumsan
- congue. Suspendisse ac libero. Aliquam erat volutpat. Donec augue.
- Nunc venenatis fringilla nibh. Fusce accumsan pulvinar justo. Nullam
- semper, dui ut dignissim auctor, orci libero fringilla massa,
- blandit pulvinar pede tortor id magna. Nunc adipiscing justo sed
- velit tincidunt fermentum.}
- % {68}
-\NewLipsumPar{Integer placerat. Pellentesque habitant
- morbi tristique senectus et netus et malesuada fames ac turpis
- egestas. Sed in massa. Class aptent taciti sociosqu ad litora
- torquent per conubia nostra, per inceptos hymenaeos. Phasellus
- tempus aliquam risus. Aliquam rutrum purus at metus. Donec posuere
- odio at erat. Nam non nibh. Phasellus ligula. Quisque venenatis
- lectus in augue. Sed vestibulum dapibus neque.}
- %{69}
-\NewLipsumPar{Mauris tempus eros at nulla. Sed quis dui
- dignissim mauris pretium tincidunt. Mauris ac purus. Phasellus ac
- libero. Etiam dapibus iaculis nunc. In lectus wisi, elementum eu,
- sollicitudin nec, imperdiet quis, dui. Nulla viverra neque ac
- libero. Mauris urna leo, adipiscing eu, ultrices non, blandit eu,
- dui. Maecenas dui neque, suscipit sit amet, rutrum a, laoreet in,
- eros. Ut eu nibh. Fusce nec erat tempus urna fringilla tempus.
- Curabitur id enim. Sed ante. Cras sodales enim sit amet wisi. Nunc
- fermentum consequat quam.}
- %{70}
-\NewLipsumPar{Ut auctor, augue porta dignissim vestibulum,
- arcu diam lobortis velit, vel scelerisque risus augue sagittis
- risus. Maecenas eu justo. Pellentesque habitant morbi tristique
- senectus et netus et malesuada fames ac turpis egestas. Mauris
- congue ligula eget tortor. Nullam laoreet urna sed enim. Donec eget
- eros ut eros volutpat convallis. Praesent turpis. Integer mauris
- diam, elementum quis, egestas ac, rutrum vel, orci. Nulla facilisi.
- Quisque adipiscing, nulla vitae elementum porta, sem urna volutpat
- leo, sed porta enim risus sed massa. Integer ac enim quis diam
- sodales luctus. Ut eget eros a ligula commodo ultricies. Donec eu
- urna viverra dolor hendrerit feugiat. Aliquam ac orci vel eros
- congue pharetra. Quisque rhoncus, justo eu volutpat faucibus, augue
- leo posuere lacus, a rhoncus purus pede vel est. Proin ultrices
- enim.}
- %{71}
-\NewLipsumPar{Aenean tincidunt laoreet dui. Vestibulum ante
- ipsum primis in faucibus orci luctus et ultrices posuere cubilia
- Curae; Integer ipsum lectus, fermentum ac, malesuada in, eleifend
- ut, lorem. Vivamus ipsum turpis, elementum vel, hendrerit ut, semper
- at, metus. Vivamus sapien tortor, eleifend id, dapibus in, egestas
- et, pede. Pellentesque faucibus. Praesent lorem neque, dignissim in,
- facilisis nec, hendrerit vel, odio. Nam at diam ac neque aliquet
- viverra. Morbi dapibus ligula sagittis magna. In lobortis. Donec
- aliquet ultricies libero. Nunc dictum vulputate purus. Morbi varius.
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In tempor.
- Phasellus commodo porttitor magna. Curabitur vehicula odio vel
- dolor.}
- %{72}
-\NewLipsumPar{Praesent facilisis, augue a adipiscing
- venenatis, libero risus molestie odio, pulvinar consectetuer felis
- erat ac mauris. Nam vestibulum rhoncus quam. Sed velit urna,
- pharetra eu, eleifend eu, viverra at, wisi. Maecenas ultrices nibh
- at turpis. Aenean quam. Nulla ipsum. Aliquam posuere luctus erat.
- Curabitur magna felis, lacinia et, tristique id, ultrices ut,
- mauris. Suspendisse feugiat. Cras eleifend wisi vitae tortor.
- Phasellus leo purus, mattis sit amet, auctor in, rutrum in, magna.
- In hac habitasse platea dictumst. Phasellus imperdiet metus in sem.
- Vestibulum ac enim non sem ultricies sagittis. Sed vel diam.}
- %{73}
-\NewLipsumPar{Integer vel enim sed turpis adipiscing
- bibendum. Vestibulum pede dolor, laoreet nec, posuere in, nonummy
- in, sem. Donec imperdiet sapien placerat erat. Donec viverra.
- Aliquam eros. Nunc consequat massa id leo. Sed ullamcorper, lorem in
- sodales dapibus, risus metus sagittis lorem, non porttitor purus
- odio nec odio. Sed tincidunt posuere elit. Quisque eu enim. Donec
- libero risus, feugiat ac, dapibus eget, posuere a, felis. Quisque
- vel lectus ut metus tincidunt eleifend. Duis ut pede. Duis velit
- erat, venenatis vitae, vulputate a, pharetra sit amet, est. Etiam
- fringilla faucibus augue.}
- %{74}
-\NewLipsumPar{Aenean velit sem, viverra eu, tempus id,
- rutrum id, mi. Nullam nec nibh. Proin ullamcorper, dolor in cursus
- tristique, eros augue tempor nibh, at gravida diam wisi at purus.
- Donec mattis ullamcorper tellus. Phasellus vel nulla. Praesent
- interdum, eros in sodales sollicitudin, nunc nulla pulvinar justo, a
- euismod eros sem nec nibh. Nullam sagittis dapibus lectus. Nullam
- eget ipsum eu tortor lobortis sodales. Etiam purus leo, pretium nec,
- feugiat non, ullamcorper vel, nibh. Sed vel elit et quam accumsan
- facilisis. Nunc leo. Suspendisse faucibus lacus.}
- %{75}
-\NewLipsumPar{Pellentesque interdum sapien sed nulla. Proin
- tincidunt. Aliquam volutpat est vel massa. Sed dolor lacus,
- imperdiet non, ornare non, commodo eu, neque. Integer pretium semper
- justo. Proin risus. Nullam id quam. Nam neque. Duis vitae wisi
- ullamcorper diam congue ultricies. Quisque ligula. Mauris
- vehicula.}
- %{76}
-\NewLipsumPar{Curabitur nunc magna, posuere eget, venenatis
- eu, vehicula ac, velit. Aenean ornare, massa a accumsan pulvinar,
- quam lorem laoreet purus, eu sodales magna risus molestie lorem.
- Nunc erat velit, hendrerit quis, malesuada ut, aliquam vitae, wisi.
- Sed posuere. Suspendisse ipsum arcu, scelerisque nec, aliquam eu,
- molestie tincidunt, justo. Phasellus iaculis. Sed posuere lorem non
- ipsum. Pellentesque dapibus. Suspendisse quam libero, laoreet a,
- tincidunt eget, consequat at, est. Nullam ut lectus non enim
- consequat facilisis. Mauris leo. Quisque pede ligula, auctor vel,
- pellentesque vel, posuere id, turpis. Cras ipsum sem, cursus et,
- facilisis ut, tempus euismod, quam. Suspendisse tristique dolor eu
- orci. Mauris mattis. Aenean semper. Vivamus tortor magna, facilisis
- id, varius mattis, hendrerit in, justo. Integer purus.}
- %{77}
-\NewLipsumPar{Vivamus adipiscing. Curabitur imperdiet
- tempus turpis. Vivamus sapien dolor, congue venenatis, euismod eget,
- porta rhoncus, magna. Proin condimentum pretium enim. Fusce
- fringilla, libero et venenatis facilisis, eros enim cursus arcu,
- vitae facilisis odio augue vitae orci. Aliquam varius nibh ut odio.
- Sed condimentum condimentum nunc. Pellentesque eget massa.
- Pellentesque quis mauris. Donec ut ligula ac pede pulvinar lobortis.
- Pellentesque euismod. Class aptent taciti sociosqu ad litora
- torquent per conubia nostra, per inceptos hymenaeos. Praesent elit.
- Ut laoreet ornare est. Phasellus gravida vulputate nulla. Donec sit
- amet arcu ut sem tempor malesuada. Praesent hendrerit augue in urna.
- Proin enim ante, ornare vel, consequat ut, blandit in, justo. Donec
- felis elit, dignissim sed, sagittis ut, ullamcorper a, nulla. Aenean
- pharetra vulputate odio.}
- %{78}
-\NewLipsumPar{Quisque enim. Proin velit neque, tristique
- eu, eleifend eget, vestibulum nec, lacus. Vivamus odio. Duis odio
- urna, vehicula in, elementum aliquam, aliquet laoreet, tellus. Sed
- velit. Sed vel mi ac elit aliquet interdum. Etiam sapien neque,
- convallis et, aliquet vel, auctor non, arcu. Aliquam suscipit
- aliquam lectus. Proin tincidunt magna sed wisi. Integer blandit
- lacus ut lorem. Sed luctus justo sed enim.}
- %{79}
-\NewLipsumPar{Morbi malesuada hendrerit dui. Nunc mauris
- leo, dapibus sit amet, vestibulum et, commodo id, est. Pellentesque
- purus. Pellentesque tristique, nunc ac pulvinar adipiscing, justo
- eros consequat lectus, sit amet posuere lectus neque vel augue. Cras
- consectetuer libero ac eros. Ut eget massa. Fusce sit amet enim
- eleifend sem dictum auctor. In eget risus luctus wisi convallis
- pulvinar. Vivamus sapien risus, tempor in, viverra in, aliquet
- pellentesque, eros. Aliquam euismod libero a sem.}
- %{80}
-\NewLipsumPar{Nunc velit augue, scelerisque dignissim,
- lobortis et, aliquam in, risus. In eu eros. Vestibulum ante ipsum
- primis in faucibus orci luctus et ultrices posuere cubilia Curae;
- Curabitur vulputate elit viverra augue. Mauris fringilla, tortor sit
- amet malesuada mollis, sapien mi dapibus odio, ac imperdiet ligula
- enim eget nisl. Quisque vitae pede a pede aliquet suscipit.
- Phasellus tellus pede, viverra vestibulum, gravida id, laoreet in,
- justo. Cum sociis natoque penatibus et magnis dis parturient montes,
- nascetur ridiculus mus. Integer commodo luctus lectus. Mauris justo.
- Duis varius eros. Sed quam. Cras lacus eros, rutrum eget, varius
- quis, convallis iaculis, velit. Mauris imperdiet, metus at tristique
- venenatis, purus neque pellentesque mauris, a ultrices elit lacus
- nec tortor. Class aptent taciti sociosqu ad litora torquent per
- conubia nostra, per inceptos hymenaeos. Praesent malesuada. Nam
- lacus lectus, auctor sit amet, malesuada vel, elementum eget, metus.
- Duis neque pede, facilisis eget, egestas elementum, nonummy id,
- neque.}
- %{81}
-\NewLipsumPar{Proin non sem. Donec nec erat. Proin libero.
- Aliquam viverra arcu. Donec vitae purus. Donec felis mi, semper id,
- scelerisque porta, sollicitudin sed, turpis. Nulla in urna. Integer
- varius wisi non elit. Etiam nec sem. Mauris consequat, risus nec
- congue condimentum, ligula ligula suscipit urna, vitae porta odio
- erat quis sapien. Proin luctus leo id erat. Etiam massa metus,
- accumsan pellentesque, sagittis sit amet, venenatis nec, mauris.
- Praesent urna eros, ornare nec, vulputate eget, cursus sed, justo.
- Phasellus nec lorem. Nullam ligula ligula, mollis sit amet, faucibus
- vel, eleifend ac, dui. Aliquam erat volutpat.}
- %{82}
-\NewLipsumPar{Fusce vehicula, tortor et gravida porttitor,
- metus nibh congue lorem, ut tempus purus mauris a pede. Integer
- tincidunt orci sit amet turpis. Aenean a metus. Aliquam vestibulum
- lobortis felis. Donec gravida. Sed sed urna. Mauris et orci. Integer
- ultrices feugiat ligula. Sed dignissim nibh a massa. Donec orci dui,
- tempor sed, tincidunt nonummy, viverra sit amet, turpis. Quisque
- lobortis. Proin venenatis tortor nec wisi. Vestibulum placerat. In
- hac habitasse platea dictumst. Aliquam porta mi quis risus. Donec
- sagittis luctus diam. Nam ipsum elit, imperdiet vitae, faucibus nec,
- fringilla eget, leo. Etiam quis dolor in sapien porttitor
- imperdiet.}
- %{83}
-\NewLipsumPar{Cras pretium. Nulla malesuada ipsum ut
- libero. Suspendisse gravida hendrerit tellus. Maecenas quis lacus.
- Morbi fringilla. Vestibulum odio turpis, tempor vitae, scelerisque
- a, dictum non, massa. Praesent erat felis, porta sit amet,
- condimentum sit amet, placerat et, turpis. Praesent placerat lacus a
- enim. Vestibulum non eros. Ut congue. Donec tristique varius tortor.
- Pellentesque habitant morbi tristique senectus et netus et malesuada
- fames ac turpis egestas. Nam dictum dictum urna.}
- %{84}
-\NewLipsumPar{Phasellus vestibulum orci vel mauris. Fusce
- quam leo, adipiscing ac, pulvinar eget, molestie sit amet, erat. Sed
- diam. Suspendisse eros leo, tempus eget, dapibus sit amet, tempus
- eu, arcu. Vestibulum wisi metus, dapibus vel, luctus sit amet,
- condimentum quis, leo. Suspendisse molestie. Duis in ante. Ut
- sodales sem sit amet mauris. Suspendisse ornare pretium orci. Fusce
- tristique enim eget mi. Vestibulum eros elit, gravida ac, pharetra
- sed, lobortis in, massa. Proin at dolor. Duis accumsan accumsan
- pede. Nullam blandit elit in magna lacinia hendrerit. Ut nonummy
- luctus eros. Fusce eget tortor.}
- %{85}
-\NewLipsumPar{Ut sit amet magna. Cras a ligula eu urna
- dignissim viverra. Nullam tempor leo porta ipsum. Praesent purus.
- Nullam consequat. Mauris dictum sagittis dui. Vestibulum
- sollicitudin consectetuer wisi. In sit amet diam. Nullam malesuada
- pharetra risus. Proin lacus arcu, eleifend sed, vehicula at, congue
- sit amet, sem. Sed sagittis pede a nisl. Sed tincidunt odio a pede.
- Sed dui. Nam eu enim. Aliquam sagittis lacus eget libero.
- Pellentesque diam sem, sagittis molestie, tristique et, fermentum
- ornare, nibh. Nulla et tellus non felis imperdiet mattis. Aliquam
- erat volutpat.}
- %{86}
-\NewLipsumPar{Vestibulum sodales ipsum id augue. Integer
- ipsum pede, convallis sit amet, tristique vitae, tempor ut, nunc.
- Nam non ligula non lorem convallis hendrerit. Maecenas hendrerit.
- Sed magna odio, aliquam imperdiet, porta ac, aliquet eget, mi. Cum
- sociis natoque penatibus et magnis dis parturient montes, nascetur
- ridiculus mus. Vestibulum nisl sem, dignissim vel, euismod quis,
- egestas ut, orci. Nunc vitae risus vel metus euismod laoreet. Cras
- sit amet neque a turpis lobortis auctor. Sed aliquam sem ac elit.
- Cras velit lectus, facilisis id, dictum sed, porta rutrum, nisl. Nam
- hendrerit ipsum sed augue. Nullam scelerisque hendrerit wisi.
- Vivamus egestas arcu sed purus. Ut ornare lectus sed eros.
- Suspendisse potenti. Mauris sollicitudin pede vel velit. In hac
- habitasse platea dictumst.}
- %{87}
-\NewLipsumPar{Suspendisse erat mauris, nonummy eget,
- pretium eget, consequat vel, justo. Pellentesque consectetuer erat
- sed lacus. Nullam egestas nulla ac dui. Donec cursus rhoncus ipsum.
- Nunc et sem eu magna egestas malesuada. Vivamus dictum massa at
- dolor. Morbi est nulla, faucibus ac, posuere in, interdum ut,
- sapien. Proin consectetuer pretium urna. Donec sit amet nibh nec
- purus dignissim mattis. Phasellus vehicula elit at lacus. Nulla
- facilisi. Cras ut arcu. Sed consectetuer. Integer tristique elit
- quis felis consectetuer eleifend. Cras et lectus.}
- %{88}
-\NewLipsumPar{Ut congue malesuada justo. Curabitur
- congue, felis at hendrerit faucibus, mauris lacus porttitor pede,
- nec aliquam turpis diam feugiat arcu. Nullam rhoncus ipsum at risus.
- Vestibulum a dolor sed dolor fermentum vulputate. Sed nec ipsum
- dapibus urna bibendum lobortis. Vestibulum elit. Nam ligula arcu,
- volutpat eget, lacinia eu, lobortis ac, urna. Nam mollis ultrices
- nulla. Cras vulputate. Suspendisse at risus at metus pulvinar
- malesuada. Nullam lacus. Aliquam tempus magna. Aliquam ut purus.
- Proin tellus.}
- %{89}
-\NewLipsumPar{Vestibulum ante ipsum primis in faucibus
- orci luctus et ultrices posuere cubilia Curae; Donec scelerisque
- metus. Maecenas non mi ut metus porta hendrerit. Nunc semper. Cras
- quis wisi ut lorem posuere tristique. Nunc vestibulum scelerisque
- nulla. Suspendisse pharetra sollicitudin ante. Praesent at augue sit
- amet ante interdum porta. Nunc bibendum augue luctus diam. Etiam nec
- sem. Sed eros turpis, facilisis nec, vehicula vitae, aliquam sed,
- nulla. Curabitur justo leo, vestibulum eget, tristique ut, tempus
- at, nisl.}
- %{90}
-\NewLipsumPar{Nulla venenatis lorem id arcu. Morbi cursus urna
- a ipsum. Donec porttitor. Integer eleifend, est non mattis
- malesuada, mi nulla convallis mi, et auctor lectus sapien ut purus.
- Aliquam nulla augue, pharetra sit amet, faucibus semper, molestie
- vel, nibh. Pellentesque vestibulum magna et mi. Sed fringilla dolor
- vel tellus. Nunc libero nunc, venenatis eget, convallis hendrerit,
- iaculis elementum, mi. Nullam aliquam, felis et accumsan vehicula,
- magna justo vehicula diam, eu condimentum nisl felis et nunc.
- Quisque volutpat mauris a velit. Pellentesque massa. Integer at
- lorem. Nam metus erat, lacinia id, convallis ut, pulvinar non, wisi.
- Cras iaculis mauris ut neque. Cras sodales, sem vitae imperdiet
- consequat, pede purus sollicitudin urna, ac aliquam metus orci in
- leo. Ut molestie ultrices mauris. Vivamus vitae sem. Aliquam erat
- volutpat. Praesent commodo, nisl ac dapibus aliquet, tortor orci
- sodales lorem, non ornare nulla lorem quis nisl.}
- %{91}
-\NewLipsumPar{Sed at sem vitae purus ultrices vestibulum.
- Vestibulum tincidunt lacus et ligula. Pellentesque vitae elit.
- Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
- posuere cubilia Curae; Duis ornare, erat eget laoreet vulputate,
- lacus ipsum suscipit turpis, et bibendum nisl orci non lectus.
- Vestibulum nec risus nec libero fermentum fringilla. Morbi non velit
- in magna gravida hendrerit. Pellentesque quis lectus. Vestibulum
- eleifend lobortis leo. Vestibulum non augue. Vivamus dictum tempor
- dui. Maecenas at ligula id felis congue porttitor. Nulla leo magna,
- egestas quis, vulputate sit amet, viverra id, velit.}
- %{92}
-\NewLipsumPar{Ut lectus lectus, ultricies sit amet, semper
- eget, laoreet non, ante. Proin at massa quis nunc rhoncus mattis.
- Aliquam lorem. Curabitur pharetra dui at neque. Aliquam eu tellus.
- Aenean tempus, felis vitae vulputate iaculis, est dolor faucibus
- urna, in viverra wisi neque non risus. Fusce vel dolor nec sapien
- pretium nonummy. Integer faucibus massa ac nulla ornare venenatis.
- Nulla quis sapien. Sed tortor. Phasellus eget mi. Cras nunc. Cras a
- enim.}
- %{93}
-\NewLipsumPar{Quisque nisl. In dignissim dapibus massa.
- Aenean sem magna, scelerisque nec, ullamcorper quis, porttitor ut,
- lectus. Fusce dignissim facilisis tortor. Vivamus gravida felis sit
- amet nunc. Nam pulvinar odio vel enim. Pellentesque sit amet est.
- Vivamus pulvinar leo non sapien. Aliquam erat volutpat. Ut elementum
- auctor metus. Mauris vestibulum neque vitae eros. Pellentesque
- aliquam quam. Donec venenatis tristique purus. In nisl. Nulla velit
- libero, fermentum at, porta a, feugiat vitae, urna. Etiam aliquet
- ornare ipsum. Proin non dolor. Aenean nunc ligula, venenatis
- suscipit, porttitor sit amet, mattis suscipit, magna. Vivamus
- egestas viverra est. Morbi at risus sed sapien sodales pretium.}
- %{94}
-\NewLipsumPar{Morbi congue congue metus. Aenean sed purus.
- Nam pede magna, tristique nec, porta id, sollicitudin quis, sapien.
- Vestibulum blandit. Suspendisse ut augue ac nibh ullamcorper
- posuere. Integer euismod, neque at eleifend fringilla, augue elit
- ornare dolor, vel tincidunt purus est id lacus. Vivamus lorem dui,
- commodo quis, scelerisque eu, tincidunt non, magna. Cras sodales.
- Quisque vestibulum pulvinar diam. Phasellus tincidunt, leo vitae
- tristique facilisis, ipsum wisi interdum sem, dapibus semper nulla
- velit vel lectus. Cras dapibus mauris et augue. Quisque cursus nulla
- in libero. Suspendisse et lorem sit amet mauris malesuada mollis.
- Nullam id justo. Maecenas venenatis. Donec lacus arcu, egestas ac,
- fermentum consectetuer, tempus eu, metus. Proin sodales, sem in
- pretium fermentum, arcu sapien commodo mauris, venenatis consequat
- augue urna in wisi. Quisque sapien nunc, varius eget, condimentum
- quis, lacinia in, est. Fusce facilisis. Praesent nec ipsum.}
- %{95}
-\NewLipsumPar{Suspendisse a dolor. Nam erat eros, congue
- eget, sagittis a, lacinia in, pede. Maecenas in elit. Proin molestie
- varius nibh. Vivamus tristique purus sed augue. Proin egestas semper
- tortor. Vestibulum ante ipsum primis in faucibus orci luctus et
- ultrices posuere cubilia Curae; Class aptent taciti sociosqu ad
- litora torquent per conubia nostra, per inceptos hymenaeos.
- Vestibulum orci enim, sagittis ornare, eleifend ut, mattis at,
- ligula. Nulla molestie convallis arcu. Ut eros tellus, condimentum
- at, sodales in, ultrices vel, nulla.}
- %{96}
-\NewLipsumPar{Duis magna ante, bibendum eget, eleifend eget,
- suscipit sed, neque. Vestibulum in mi sed massa cursus cursus.
- Pellentesque pulvinar mollis neque. Fusce ut enim vitae mauris
- malesuada tincidunt. Vivamus a neque. Mauris pulvinar, sapien id
- condimentum dictum, quam arcu rhoncus dui, id tempor lacus justo et
- justo. Proin sit amet orci eu diam eleifend blandit. Nunc erat
- massa, luctus ac, fermentum lacinia, tincidunt ultrices, sapien.
- Praesent sed orci vitae dolor sollicitudin adipiscing. Cras a neque.
- Ut risus dui, interdum at, placerat id, tristique eu, enim.
- Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
- posuere cubilia Curae; Etiam adipiscing eros vestibulum dolor.
- Pellentesque aliquam, diam eget eleifend posuere, augue eros
- porttitor lectus, ac dignissim dui metus nec felis. Quisque lacinia.
- Vestibulum tellus. Suspendisse nec wisi. Aenean ac felis. Aliquam
- ultrices metus et nulla.}
- %{97}
-\NewLipsumPar{Praesent sed est non nibh tempus venenatis.
- Praesent rhoncus. Curabitur sagittis est sit amet neque. Sed commodo
- malesuada lectus. Phasellus enim tellus, tempor ut, tristique eu,
- aliquam eu, quam. Aenean quis quam quis wisi gravida vehicula.
- Pellentesque a massa a leo pretium rhoncus. Suspendisse ultrices.
- Donec lacinia malesuada massa. Class aptent taciti sociosqu ad
- litora torquent per conubia nostra, per inceptos hymenaeos. Donec
- pretium ornare mauris. Phasellus auctor erat eget enim. Integer
- scelerisque, felis eu consequat fringilla, lorem wisi ultricies
- velit, id vehicula purus nulla eget odio. Nullam mattis, diam a
- rutrum fermentum, odio sapien tristique quam, id mollis tellus quam
- in odio. Mauris eu sapien. Donec aliquam lorem sit amet lorem
- pharetra lobortis.}
- %{98}
-\NewLipsumPar{Donec ac velit. Sed convallis vestibulum
- sapien. Vivamus tempor lacus sed lacus. Nunc ut lorem. Ut et tortor.
- Nullam varius wisi at diam. Etiam ultricies, dolor sit amet
- fermentum vulputate, neque libero vestibulum orci, vitae fringilla
- neque arcu aliquet ante. Lorem ipsum dolor sit amet, consectetuer
- adipiscing elit. Quisque venenatis lobortis augue. Sed tempor,
- tellus iaculis pellentesque pharetra, pede dui malesuada mauris, vel
- ultrices urna mauris ac nibh. Etiam nibh odio, ultricies vehicula,
- vestibulum vitae, feugiat eleifend, felis. Vivamus pulvinar. Aliquam
- erat volutpat. Nulla egestas venenatis metus. Nam feugiat nunc quis
- elit egestas sagittis. Sed vitae felis. In libero arcu, rhoncus in,
- commodo eget, auctor in, enim. Vivamus suscipit est. Nulla dapibus,
- magna vel aliquet egestas, massa massa hendrerit lacus, ac rutrum
- tellus tellus sit amet felis. Cras viverra.}
- %{99}
-\NewLipsumPar{Suspendisse eu nunc. Aliquam dignissim urna
- sit amet mauris. Cras commodo, urna ut porttitor venenatis, arcu
- metus sodales risus, vitae gravida sapien ligula in est. Donec
- vulputate sollicitudin wisi. Donec vehicula, est id interdum ornare,
- nibh tellus consectetuer justo, a ultrices felis erat at lectus. In
- est massa, malesuada non, suscipit at, ullamcorper eu, elit. Nam
- nulla lacus, bibendum sit amet, sagittis sed, tempor eget, libero.
- Praesent ligula. Suspendisse nulla. Etiam diam. Nulla ante diam,
- vestibulum et, aliquet ac, imperdiet vitae, urna. Fusce tincidunt
- lacus vel elit. Maecenas dictum, tortor non euismod bibendum, pede
- nibh pretium tellus, at dignissim leo eros eget pede. Nulla
- venenatis eleifend eros. Aenean ut odio dignissim augue rutrum
- faucibus. Fusce posuere, tellus eget viverra mattis, erat tellus
- porta mi, at facilisis sem nibh non urna. Phasellus quis turpis quis
- mauris suscipit vulputate. Sed interdum lacus non velit. Vestibulum
- ante ipsum primis in faucibus orci luctus et ultrices posuere
- cubilia Curae.}
- %{100}
-\NewLipsumPar{Vivamus vehicula leo a justo. Quisque nec augue.
- Morbi mauris wisi, aliquet vitae, dignissim eget, sollicitudin
- molestie, ligula. In dictum enim sit amet risus. Curabitur vitae
- velit eu diam rhoncus hendrerit. Vivamus ut elit. Praesent mattis
- ipsum quis turpis. Curabitur rhoncus neque eu dui. Etiam vitae
- magna. Nam ullamcorper. Praesent interdum bibendum magna. Quisque
- auctor aliquam dolor. Morbi eu lorem et est porttitor fermentum.
- Nunc egestas arcu at tortor varius viverra. Fusce eu nulla ut nulla
- interdum consectetuer. Vestibulum gravida. Morbi mattis libero sed
- est.}
- %{101}
-\NewLipsumPar{Nam quis enim. Quisque ornare dui a tortor.
- Fusce consequat lacus pellentesque metus. Duis euismod. Duis non
- quam. Maecenas vitae dolor in ipsum auctor vehicula. Vivamus nec
- nibh eget wisi varius pulvinar. Cras a lacus. Etiam et massa. Donec
- in nisl sit amet dui imperdiet vestibulum. Duis porttitor nibh id
- eros.}
- %{102}
-\NewLipsumPar{Mauris consectetuer, wisi eu lobortis
- scelerisque, urna nibh feugiat quam, id congue eros justo eget orci.
- Ut tellus. Maecenas mattis sapien sed eros. Aliquam quis lectus.
- Donec nec massa ac turpis semper cursus. Etiam consectetuer ante vel
- odio. Aliquam tincidunt felis non dolor. Cras id augue ut nisl
- pretium placerat. Phasellus sapien sapien, pharetra sed, aliquam
- nec, suscipit a, nibh. Suspendisse risus. Nulla ut mi eget tellus
- sollicitudin euismod. Vestibulum malesuada malesuada dui. Ut at est
- ac dui aliquam sagittis. Aliquam erat volutpat.}
- % {103}
-\NewLipsumPar{Curabitur ullamcorper est in mauris. Praesent
- ac massa. Quisque enim odio, lobortis nec, mattis ut, luctus et,
- mauris. Mauris eu risus. Cum sociis natoque penatibus et magnis dis
- parturient montes, nascetur ridiculus mus. Duis eu ligula. Nulla
- vehicula leo tincidunt erat. Maecenas et nunc. Sed ut sapien.
- Vestibulum in est. Vestibulum rhoncus.}
- % {104}
-\NewLipsumPar{Donec metus metus, condimentum eu, accumsan
- nec, vulputate non, purus. Vestibulum ullamcorper vehicula sapien.
- Mauris risus odio, hendrerit ac, congue ac, ullamcorper at, odio.
- Aenean leo justo, commodo vitae, placerat blandit, malesuada vel,
- sem. Donec sit amet ante eget mauris adipiscing sollicitudin.
- Curabitur posuere sem et leo. Nulla ultricies mauris. Vestibulum
- ante ipsum primis in faucibus orci luctus et ultrices posuere
- cubilia Curae; Fusce sollicitudin augue vel tellus. Vivamus mauris
- eros, pharetra vel, lacinia pretium, egestas a, nibh. Morbi a
- ligula.}
- %{105}
-\NewLipsumPar{Donec vitae turpis. Suspendisse porttitor.
- Mauris aliquam purus vitae tellus. Morbi metus diam, tempus ac,
- cursus ut, ultricies quis, nulla. Praesent nec justo. In lobortis.
- Donec nec lectus a neque laoreet rhoncus. Quisque in risus nec wisi
- lacinia ullamcorper. In placerat. Proin facilisis sollicitudin
- libero. Integer eget neque et pede placerat aliquet. Aliquam purus
- nulla, pulvinar ut, facilisis quis, sodales sed, magna. Curabitur
- nulla lectus, rutrum id, bibendum ut, sagittis eget, diam. Sed porta
- dolor eget est. Integer hendrerit orci. In hac habitasse platea
- dictumst.}
- %{106}
-\NewLipsumPar{Ut facilisis. Lorem ipsum dolor sit amet,
- consectetuer adipiscing elit. Sed pellentesque, turpis sit amet
- aliquet porta, risus odio venenatis felis, at porta tellus lacus
- vitae nisl. Donec augue. Quisque consequat, pede laoreet
- pellentesque posuere, urna sapien tempor justo, eu aliquam tortor
- nunc id mauris. Fusce pretium, purus facilisis consequat mattis,
- ligula leo pretium mauris, ac suscipit augue sapien sit amet ipsum.
- Praesent et ligula eget tortor dapibus blandit. Duis rutrum felis
- eget dolor. Vestibulum quis elit. Integer dignissim, velit at
- scelerisque congue, ipsum nulla dignissim dolor, lacinia scelerisque
- neque erat a mi. Lorem ipsum dolor sit amet, consectetuer adipiscing
- elit. Quisque ipsum lectus, euismod et, lacinia eu, iaculis eu,
- pede. Etiam justo quam, cursus ut, vulputate vel, feugiat ut, eros.
- Fusce eleifend mollis ipsum.}
- %{107}
-\NewLipsumPar{Nulla facilisi. Nunc nec elit. Integer ornare
- convallis tortor. Proin ac diam. In est sapien, laoreet euismod,
- mattis a, tincidunt at, risus. Vivamus risus. Vestibulum aliquam,
- urna aliquam porttitor accumsan, nulla tortor ullamcorper elit, ut
- consequat augue purus sit amet libero. Vivamus nisl lacus, commodo
- vel, dignissim ut, vestibulum id, pede. Curabitur malesuada
- hendrerit libero. Mauris quis dolor in tellus varius posuere. Sed
- vulputate elit at wisi. Fusce vitae neque. Nulla consectetuer, nunc
- ac eleifend laoreet, mi nulla commodo wisi, vel faucibus ligula
- lectus ut arcu. Vivamus hendrerit.}
- %{108}
-\NewLipsumPar{Sed varius, nulla vitae tincidunt lobortis,
- nibh ipsum sollicitudin libero, et commodo tellus massa in neque.
- Nulla facilisi. Aenean nec lectus. Aliquam fermentum. Duis ut magna
- et augue interdum gravida. Morbi elit. Fusce malesuada tempus ipsum.
- Cum sociis natoque penatibus et magnis dis parturient montes,
- nascetur ridiculus mus. Mauris iaculis enim non metus. Nullam dui
- magna, congue et, suscipit sed, aliquam vel, turpis. Quisque
- ultricies.}
- %{109}
-\NewLipsumPar{Suspendisse feugiat sapien laoreet ante.
- Integer fringilla, erat eget adipiscing ultrices, nibh dui
- sollicitudin nunc, in lobortis arcu odio vitae erat. Fusce bibendum
- ultricies lacus. Mauris eleifend ligula a ante. Etiam faucibus
- cursus pede. Mauris enim eros, malesuada eu, mattis sit amet,
- blandit in, nulla. Fusce sit amet purus id mi posuere tincidunt.
- Mauris sit amet quam vitae quam semper accumsan. Lorem ipsum dolor
- sit amet, consectetuer adipiscing elit. Nam a justo at quam accumsan
- euismod. Duis tincidunt tristique risus. Ut vel nibh vel libero
- varius malesuada. In hac habitasse platea dictumst. Morbi sagittis
- mattis lorem. Pellentesque metus tellus, rutrum vitae, malesuada et,
- pharetra accumsan, ante. Quisque ac metus ac nisl gravida
- pellentesque. Sed dapibus feugiat sapien. Vestibulum nec nunc eget
- sem aliquam lobortis. Suspendisse aliquam quam quis metus.}
- %{110}
-\NewLipsumPar{Suspendisse in odio. In elit diam, cursus vitae,
- venenatis in, molestie in, leo. Cras ornare. Nulla libero. Phasellus
- feugiat mattis libero. Sed vehicula aliquam ligula. Nullam lacinia,
- felis vel dignissim sodales, enim lectus lobortis diam, quis nonummy
- mauris odio auctor tortor. Integer in dui nec lacus bibendum
- ultrices. Etiam odio elit, aliquam et, porttitor id, interdum
- cursus, elit. Nulla eleifend tempor mauris. In vel arcu quis pede
- laoreet vulputate.}
- %{111}
-\NewLipsumPar{Morbi pharetra magna a lorem. Cras sapien. Duis
- porttitor vehicula urna. Phasellus iaculis, mi vitae varius
- consequat, purus nibh sollicitudin mauris, quis aliquam felis dolor
- vel elit. Quisque neque mi, bibendum non, tristique convallis,
- congue eu, quam. Etiam vel felis. Quisque ac ligula at orci pulvinar
- rutrum. Donec mi eros, sagittis eu, consectetuer sed, sagittis sed,
- lorem. Nunc sed eros. Nullam pellentesque ante quis lectus. Vivamus
- lacinia, sapien vel fermentum placerat, purus nisl aliquet odio, et
- porta wisi dui nec nunc. Fusce porta cursus libero.}
- %{112}
-\NewLipsumPar{Quisque eu mi a augue mollis posuere. Donec
- tincidunt, lorem at vestibulum pulvinar, felis purus nonummy urna,
- at accumsan purus dui nec leo. Praesent tortor turpis, vehicula in,
- aliquet ut, dignissim ac, leo. Curabitur sagittis mi id eros. In
- magna. Sed vitae elit facilisis elit semper sollicitudin. Curabitur
- convallis tempor nulla. Nullam non turpis a pede sagittis ultrices.
- Etiam vulputate pede in ligula. Sed a ante id metus pellentesque
- suscipit. Sed adipiscing justo vitae sapien. Nunc posuere, pede
- ullamcorper gravida egestas, justo libero tincidunt arcu, vitae
- pellentesque arcu leo ut mauris. Pellentesque auctor mauris sit amet
- elit luctus fringilla. Cras sed wisi. Morbi luctus enim vitae
- tellus. Vivamus venenatis sodales libero.}
- %{113}
-\NewLipsumPar{In hac habitasse platea dictumst. Suspendisse
- potenti. Nulla pretium sem sit amet nisl. Nulla facilisi. Sed
- aliquam, turpis sed hendrerit gravida, nunc metus aliquam urna, eget
- pharetra nibh urna nec lectus. Duis in nisl a nisl commodo
- facilisis. Nunc placerat risus sed leo. Duis pellentesque porta
- libero. Praesent et enim. Aenean ullamcorper, ante sit amet
- fermentum mollis, ligula metus laoreet magna, accumsan accumsan nibh
- wisi at wisi. Nam tincidunt tempor neque. Maecenas dolor. Donec
- interdum nisl. Aliquam quam libero, interdum quis, volutpat sed,
- semper ut, eros. Pellentesque sodales auctor quam. Nullam suscipit
- massa nec elit. Nullam vulputate.}
- %{114}
-\NewLipsumPar{Aliquam a nulla. Suspendisse suscipit. Etiam
- lectus ante, interdum sit amet, euismod venenatis, condimentum eu,
- urna. Etiam at turpis. Cras quis ligula. Cras varius, sapien non
- pellentesque bibendum, mauris wisi sodales sem, ac commodo mauris
- neque non felis. Sed sollicitudin tincidunt arcu. Nullam vel lectus
- sit amet magna tincidunt tempor. Phasellus a ante. Donec et
- diam.}
- %{115}
-\NewLipsumPar{Proin sit amet augue. Praesent lacus. Donec a
- leo. Ut turpis ante, condimentum sed, sagittis a, blandit sit amet,
- enim. Integer sed elit. In ultricies blandit libero. Proin molestie
- erat dignissim nulla convallis ultrices. Aliquam in magna. Etiam
- sollicitudin, eros a sagittis pellentesque, lacus odio volutpat
- elit, vel tincidunt felis dui vitae lorem. Etiam leo. Nulla et
- justo.}
- %{116}
-\NewLipsumPar{Integer interdum varius diam. Nam aliquam
- velit a pede. Vivamus dictum nulla et wisi. Vestibulum a massa.
- Donec vulputate nibh vitae risus dictum varius. Nunc suscipit, nunc
- nec facilisis convallis, lacus ligula bibendum nulla, ac
- sollicitudin sapien nisl fermentum velit. Lorem ipsum dolor sit
- amet, consectetuer adipiscing elit. Nullam commodo dui ut augue
- molestie scelerisque. Sed aliquet rhoncus tortor. Fusce laoreet,
- turpis a facilisis tristique, leo mauris accumsan tellus, vitae
- ornare lacus pede sit amet purus. Sed dignissim velit vitae ligula.
- Sed sit amet diam sit amet arcu luctus ullamcorper.}
- %{117}
-\NewLipsumPar{Duis quis velit id elit facilisis luctus.
- Donec nec elit. Quisque ullamcorper arcu ac felis. Phasellus leo.
- Pellentesque consequat consequat purus. Ut vel justo at pede
- facilisis tempor. Integer tempus blandit dolor. Donec eget neque sed
- elit ultricies molestie. Cras cursus viverra tortor. Cras commodo
- condimentum diam. Pellentesque interdum malesuada wisi. Suspendisse
- eu quam. Donec consectetuer. Suspendisse wisi purus, vestibulum at,
- vehicula vel, congue a, eros. Nulla vulputate dolor at purus.}
- %{118}
-\NewLipsumPar{Suspendisse ac diam sed dui adipiscing
- pretium. Donec ullamcorper, sapien nec tempor venenatis, enim felis
- euismod pede, ut auctor lacus lectus sit amet diam. Vestibulum
- rutrum sem ut ante. Nulla eros. Quisque vitae nisl eget tellus
- feugiat volutpat. Nam id neque eu quam sodales vehicula. Nam
- dapibus, nulla eu iaculis placerat, pede est volutpat purus, id
- iaculis elit elit vel mauris. Donec dui. In hac habitasse platea
- dictumst. Nunc non quam. Proin euismod egestas eros. Mauris nisl.
- Sed neque. Phasellus bibendum. Proin ut purus in eros faucibus
- auctor.}
- %{119}
-\NewLipsumPar{Fusce mollis dui eu leo. Sed sapien augue,
- porta at, posuere ut, ultrices molestie, est. Vivamus quis pede nec
- erat placerat tincidunt. Aenean odio dui, facilisis non, vehicula
- et, bibendum a, libero. Etiam leo turpis, venenatis eleifend,
- nonummy sit amet, aliquam non, mi. Maecenas eget mi. Sed nec diam.
- Integer orci tellus, pellentesque nec, bibendum quis, sodales ut,
- nibh. Duis laoreet aliquet orci. Curabitur sit amet sem sit amet
- nibh fermentum faucibus. Donec adipiscing, ipsum id fringilla
- convallis, elit massa cursus augue, at lobortis massa augue nec
- ligula. Proin ac lacus.}
- %{120}
-\NewLipsumPar{Nunc id nulla nec mauris iaculis rutrum. Nunc
- nisl. Integer mi. Praesent lorem neque, egestas at, molestie in,
- faucibus et, eros. Sed rutrum, ante vitae aliquet tincidunt, diam
- elit auctor risus, eu elementum purus turpis eu elit. Proin ac orci.
- Integer varius, urna non sollicitudin consequat, massa libero
- pharetra erat, et venenatis dui orci eget purus. Aliquam iaculis est
- eget ipsum. Ut volutpat velit. Phasellus fringilla. Aliquam mollis
- tellus vel odio. Vestibulum ante ipsum primis in faucibus orci
- luctus et ultrices posuere cubilia Curae; Vestibulum gravida sapien
- sed diam dictum pharetra. Nulla ac odio. Duis vitae metus ut purus
- feugiat interdum. Duis eros enim, tincidunt ac, venenatis et,
- dignissim id, lacus. Curabitur sagittis dolor nec augue. Sed
- ultricies mauris. Donec semper, enim eu vestibulum placerat, justo
- risus eleifend quam, ac semper velit pede convallis arcu.}
- %{121}
-\NewLipsumPar{Pellentesque tempus. Fusce tempor euismod
- nulla. Integer metus quam, semper sit amet, pellentesque sed, ornare
- sit amet, pede. Sed viverra. Aliquam erat volutpat. Donec tristique.
- In ac pede ut tortor mattis blandit. Phasellus a nunc. Integer
- metus. Sed malesuada gravida arcu. Lorem ipsum dolor sit amet,
- consectetuer adipiscing elit.}
-%{122}
-\NewLipsumPar{Phasellus suscipit placerat neque. Duis
- rutrum. Quisque enim. Proin et erat at augue aliquam aliquam. Mauris
- porttitor imperdiet lectus. Proin egestas faucibus risus. Praesent
- pharetra consequat odio. Fusce sed felis et nulla tempor elementum.
- Nulla eu turpis. Proin posuere. Nullam nonummy nulla sed nulla
- volutpat consectetuer. Vivamus vehicula accumsan eros. Fusce
- ullamcorper. Phasellus vehicula consequat mauris. Sed vitae purus.
- Sed accumsan, felis suscipit auctor fermentum, odio turpis
- vestibulum risus, vitae mattis metus neque non pede.}
- %{123}
-\NewLipsumPar{Suspendisse mollis erat et risus. Vestibulum
- et odio eu nisl malesuada dapibus. Morbi ac tortor et magna
- tincidunt ullamcorper. Ut pellentesque fermentum mi. Etiam sed neque
- sit amet leo consectetuer sagittis. Nulla facilisi. Sed lobortis
- erat vitae nulla. Duis bibendum ipsum et mi scelerisque dapibus.
- Fusce nonummy vestibulum orci. Donec a nisl. Integer ac nibh.
- Pellentesque habitant morbi tristique senectus et netus et malesuada
- fames ac turpis egestas. Aenean nec nunc sed dui lobortis
- vestibulum. Praesent metus ligula, auctor vitae, lacinia sed,
- hendrerit a, felis. Etiam sapien. Proin et sem vitae dolor sodales
- venenatis. Integer luctus aliquam risus.}
- %{124}
-\NewLipsumPar{Maecenas mi massa, fermentum eu, venenatis
- et, cursus id, ipsum. Morbi vehicula justo faucibus mauris. Donec
- non neque. Fusce id mi ut neque tincidunt posuere. Suspendisse quis
- enim. Cras porttitor. Sed quis velit. Aliquam vel augue at wisi
- blandit suscipit. Duis ut justo. Class aptent taciti sociosqu ad
- litora torquent per conubia nostra, per inceptos hymenaeos. Etiam
- bibendum wisi quis augue. Nulla lorem odio, sollicitudin vitae,
- vehicula nec, dapibus ultricies, purus. In vitae tellus at odio
- cursus congue. Quisque tincidunt tempus metus. Aenean et nulla nec
- dolor dapibus ultricies. Phasellus commodo vulputate arcu. Sed enim.
- Phasellus quis leo. Aliquam iaculis, turpis nec aliquet rutrum, pede
- risus porta diam, id ullamcorper erat est sed eros. Fusce
- ornare.}
- %{125}
-\NewLipsumPar{Suspendisse porta, dolor sed fringilla
- ultrices, augue mauris gravida dolor, vel sollicitudin magna dui sit
- amet nunc. Mauris mollis condimentum risus. Integer ipsum. Quisque
- malesuada, erat ac dictum pulvinar, magna nisl fermentum ligula,
- quis euismod mauris felis non diam. Nullam sapien turpis, rutrum
- vel, condimentum ac, bibendum vulputate, nulla. Vestibulum tortor
- ipsum, fermentum egestas, placerat ut, vulputate et, wisi. Aliquam
- erat volutpat. Donec consequat, ligula sit amet tincidunt aliquam,
- nunc lorem sagittis nunc, a ullamcorper erat ante ac felis. Donec
- eleifend. Nullam quam leo, lobortis non, condimentum at, tempus
- consectetuer, orci. Quisque ut lorem. Donec nisl. Lorem ipsum dolor
- sit amet, consectetuer adipiscing elit. Vestibulum ante ipsum primis
- in faucibus orci luctus et ultrices posuere cubilia Curae; Donec
- porta, libero eget feugiat posuere, felis arcu pulvinar odio, vel
- dapibus enim dui nec turpis.}
- %{126}
-\NewLipsumPar{Duis leo. Cras nec odio. Nullam pretium
- lacinia est. Fusce aliquet, metus et vestibulum lobortis, ante erat
- vestibulum eros, eu sodales eros turpis id massa. Quisque est.
- Vivamus eu lacus. Nulla nisl. Nam eros. Aliquam sit amet neque vel
- magna dictum ultricies. Praesent magna mauris, sollicitudin ac,
- commodo eu, bibendum sit amet, lectus. Suspendisse potenti. Fusce
- congue leo quis libero nonummy adipiscing. Vestibulum ante ipsum
- primis in faucibus orci luctus et ultrices posuere cubilia Curae;
- Nunc a orci. Ut at erat sit amet nunc scelerisque malesuada.
- Phasellus odio nisl, porta eget, laoreet nec, vehicula non, risus.
- Etiam dolor mauris, consectetuer eget, tincidunt sed, egestas quis,
- neque. Ut egestas ante ac libero. Proin mattis volutpat metus.}
- %{127}
-\NewLipsumPar{Sed tempor metus eget wisi. Duis cursus. Nam
- nunc. Nulla placerat wisi sed est. Aenean risus. Lorem ipsum dolor
- sit amet, consectetuer adipiscing elit. Proin erat dolor, ultricies
- a, rutrum sed, posuere eget, metus. Donec sagittis nunc ac tortor.
- Aliquam erat volutpat. Curabitur consectetuer, augue nec viverra
- eleifend, dolor dolor volutpat orci, dapibus pellentesque eros pede
- a arcu. Nullam augue. Etiam eget nulla vel mi porta hendrerit.
- Phasellus cursus scelerisque tortor. Maecenas ut leo.}
- %{128}
-\NewLipsumPar{Donec libero. Quisque vitae est quis dui
- bibendum suscipit. Fusce leo felis, sagittis non, vehicula ac,
- ultricies vitae, diam. Aenean congue libero et metus. Nulla
- convallis libero a lacus. Donec hendrerit lorem sit amet leo. Mauris
- libero. Pellentesque pulvinar molestie dolor. Proin nibh mauris,
- ornare at, pretium sit amet, porttitor vel, mi. Pellentesque
- habitant morbi tristique senectus et netus et malesuada fames ac
- turpis egestas.}
- %{129}
-\NewLipsumPar{Vestibulum ante ipsum primis in faucibus orci
- luctus et ultrices posuere cubilia Curae; Aliquam interdum porttitor
- tortor. Donec ultricies justo eget sapien. Proin ac est. Aliquam
- erat volutpat. In tempus scelerisque ligula. Morbi scelerisque urna.
- Duis ac nisl. Donec sed leo. Fusce posuere orci mollis nunc. Sed
- arcu enim, pharetra nec, aliquam eu, consectetuer sit amet, eros.
- Sed id enim. Etiam mattis est at elit. Pellentesque est risus,
- pellentesque nec, dignissim vitae, egestas vitae, sapien. Maecenas
- et eros non libero iaculis facilisis. Mauris porttitor tempor justo.
- Sed sollicitudin neque nec libero.}
- %{130}
-\NewLipsumPar{Mauris ac ipsum. Duis ultrices erat ac felis.
- Donec dignissim luctus orci. Fusce pede odio, feugiat sit amet,
- aliquam eu, viverra eleifend, ipsum. Fusce arcu massa, posuere id,
- nonummy eu, pulvinar ut, wisi. Sed dui. Vestibulum nunc nisl, rutrum
- quis, pharetra eget, congue sed, dui. Donec justo neque, euismod
- eget, nonummy adipiscing, iaculis eu, leo. Duis lectus. Morbi
- pellentesque nonummy dui.}
- %{131}
-\NewLipsumPar{Aenean sem dolor, fermentum nec, gravida
- hendrerit, mattis eget, felis. Nullam non diam vitae mi lacinia
- consectetuer. Fusce non massa eget quam luctus posuere. Aenean
- vulputate velit. Quisque et dolor. Donec ipsum tortor, rutrum quis,
- mollis eu, mollis a, pede. Donec nulla. Duis molestie. Duis lobortis
- commodo purus. Pellentesque vel quam. Ut congue congue risus. Sed
- ligula. Aenean dictum pede vitae felis. Donec sit amet nibh.
- Maecenas eu orci. Quisque gravida quam sed massa.}
- %{132}
-\NewLipsumPar{Nunc euismod, mauris luctus adipiscing
- pellentesque, augue ligula pellentesque lectus, vitae posuere purus
- velit a pede. Phasellus leo mi, egestas imperdiet, blandit non,
- sollicitudin pharetra, enim. Nullam faucibus tellus non enim. Sed
- egestas nunc eu eros. Nunc euismod venenatis urna. Phasellus
- ullamcorper. Vivamus varius est ac lorem. In id pede eleifend nibh
- consectetuer faucibus. Phasellus accumsan euismod elit. Etiam vitae
- elit. Integer imperdiet nibh. Morbi imperdiet orci euismod mi.}
- %{133}
-\NewLipsumPar{Donec tincidunt tempor metus. Aenean
- egestas cursus nulla. Fusce ac metus at enim viverra lacinia.
- Vestibulum in magna non eros varius suscipit. Nullam cursus nibh.
- Mauris neque. In nunc quam, convallis vitae, posuere in, consequat
- sed, wisi. Phasellus bibendum consectetuer massa. Curabitur quis
- urna. Pellentesque a justo.}
-%{134}
-\NewLipsumPar{In sit amet dui eget lacus rutrum accumsan.
- Phasellus ac metus sed massa varius auctor. Curabitur velit elit,
- pellentesque eget, molestie nec, congue at, pede. Maecenas quis
- tellus non lorem vulputate ornare. Vestibulum ante ipsum primis in
- faucibus orci luctus et ultrices posuere cubilia Curae; Etiam magna
- arcu, vulputate egestas, aliquet ut, facilisis ut, nisl. Donec
- vulputate wisi ac dolor. Aliquam feugiat nibh id tellus. Morbi eget
- massa sit amet purus accumsan dictum. Aenean a lorem. Fusce semper
- porta sapien.}
- %{135}
-\NewLipsumPar{Curabitur sit amet libero eget enim eleifend
- lacinia. Vivamus sagittis volutpat dui. Suspendisse potenti. Morbi a
- nibh eu augue fermentum posuere. Curabitur elit augue, porta quis,
- congue aliquam, rutrum non, massa. Integer mattis mollis ipsum. Sed
- tellus enim, mattis id, feugiat sed, eleifend in, elit. Phasellus
- non purus sed elit viverra rhoncus. Vestibulum id tellus vel sem
- imperdiet congue. Aenean in arcu. Nullam urna justo, imperdiet eget,
- volutpat vitae, semper eu, quam. Sed turpis dui, porttitor ut,
- egestas ac, condimentum non, wisi. Fusce iaculis turpis eget dui.
- Quisque pulvinar est pellentesque leo. Ut nulla elit, mattis vel,
- scelerisque vel, blandit ut, justo. Nulla feugiat risus in
- erat.}
- %{136}
-\NewLipsumPar{Curabitur hendrerit. Morbi fringilla enim
- quis nunc. Phasellus at dui. Donec commodo augue at nunc. Nunc in
- sapien et magna mollis sagittis. Morbi eu elit. Phasellus lacus.
- Donec a quam. Etiam pulvinar sapien. Sed nibh magna, viverra vitae,
- auctor eget, eleifend nec, lorem. Curabitur fringilla dui a odio.
- Nunc semper condimentum arcu. Curabitur vitae lectus sit amet turpis
- pretium condimentum. Nullam imperdiet mattis neque. Proin eget magna
- porta erat rhoncus consectetuer. Aenean pulvinar erat vitae mi.}
- %{137}
-\NewLipsumPar{In eget turpis non tortor iaculis
- tincidunt. Ut egestas feugiat magna. Duis enim nibh, gravida vel,
- nonummy non, sollicitudin ac, enim. Sed in tortor sed tellus
- eleifend cursus. Morbi a dolor at nibh molestie faucibus. Duis sed
- wisi. Duis fringilla, dui et malesuada dignissim, elit eros dictum
- lacus, rhoncus imperdiet pede elit nec tellus. Aenean at ligula eget
- nulla imperdiet faucibus. Quisque vestibulum lorem ac leo. Sed
- laoreet neque ut magna.}
- %{138}
-\NewLipsumPar{Aenean eget justo id lorem congue
- tristique. Maecenas sit amet nunc. Aenean bibendum risus. Nam
- convallis, mi sed ultrices sodales, metus nibh placerat dui, eu
- hendrerit erat enim vel libero. Duis placerat sem vitae wisi
- imperdiet condimentum. Aliquam pellentesque dui ac diam eleifend
- venenatis. Nulla facilisis posuere sapien. Cras euismod. Praesent ut
- enim. Aliquam ut ipsum quis urna interdum vehicula. Fusce eget sem.
- Nullam accumsan ullamcorper turpis.}
- %{139}
-\NewLipsumPar{Integer posuere, metus ac rhoncus auctor, mi
- tellus scelerisque nunc, venenatis elementum tortor lorem eu erat.
- Sed consectetuer risus vitae orci. Nullam tortor mauris, interdum
- at, imperdiet in, convallis eget, massa. Aliquam suscipit, magna nec
- blandit volutpat, lectus neque suscipit nunc, sit amet cursus nisl
- erat eget risus. Vestibulum leo lectus, accumsan ut, pharetra vel,
- elementum sed, quam. Maecenas condimentum orci at enim. Maecenas ut
- nunc. Vivamus pede. Integer vel purus vel mi mollis vestibulum. Sed
- laoreet ultricies nibh. Suspendisse non nisl quis ligula fermentum
- facilisis. Vestibulum sem nibh, porttitor et, fermentum a, ultricies
- id, augue.}
- %{140}
-\NewLipsumPar{In accumsan convallis metus. Aenean est. Donec
- pharetra porta odio. Duis nunc nisl, imperdiet ac, tincidunt vitae,
- varius sit amet, felis. Curabitur wisi. Ut iaculis, nunc in lacinia
- egestas, elit enim tincidunt turpis, at luctus ipsum augue
- condimentum metus. Aenean lorem wisi, cursus sit amet, mollis nec,
- porta ac, augue. Vivamus massa. Praesent rhoncus imperdiet orci.
- Aenean pharetra dolor ut sapien. Maecenas egestas augue semper
- dolor.}
- %{141}
-\NewLipsumPar{Vestibulum at lectus. Vestibulum dapibus
- placerat magna. Suspendisse dolor urna, condimentum sit amet,
- euismod a, adipiscing a, enim. Aliquam erat volutpat. Donec
- imperdiet dolor non mi. Phasellus magna metus, dictum sit amet,
- laoreet non, dictum vel, dui. Suspendisse potenti. Nunc turpis
- risus, porta vel, pharetra id, eleifend vitae, justo. Duis pulvinar
- dolor sit amet urna. Integer eu eros. Nulla facilisi. Duis dui.
- Nullam vitae quam. Morbi a nunc in elit sodales euismod. Nunc sed
- orci. Etiam malesuada metus vitae felis. Suspendisse imperdiet velit
- in tellus.}
- %{142}
-\NewLipsumPar{Nullam elit orci, condimentum vitae, accumsan
- quis, gravida non, velit. Morbi pellentesque accumsan elit. Aenean
- est purus, eleifend ac, dictum at, dignissim sed, dolor. Vestibulum
- volutpat sapien quis augue. Maecenas vulputate accumsan sapien. Nam
- mattis, lacus non iaculis aliquet, mi elit varius lectus, eu
- malesuada dolor nunc at wisi. Aliquam ligula. Mauris nisl elit,
- molestie vitae, gravida sit amet, facilisis convallis, enim. Sed
- urna. Praesent et augue. Fusce pellentesque. Maecenas varius orci
- eget nisl. Donec tempor rhoncus turpis. Integer nibh. Cras metus
- erat, tincidunt et, scelerisque quis, bibendum sed, dui. Suspendisse
- potenti.}
- %{143}
-\NewLipsumPar{Integer ac diam. Nullam porttitor dolor eget
- metus. Nulla sed metus quis tortor lacinia tempor. Mauris mauris
- dui, faucibus vitae, aliquet sit amet, placerat a, ante. Nunc
- placerat tincidunt neque. Mauris egestas dolor ut ipsum cursus
- malesuada. Curabitur odio. Nunc lobortis. Sed mattis tempor felis.
- Mauris dolor quam, facilisis at, bibendum sit amet, rutrum ornare,
- pede. Suspendisse accumsan sagittis velit. Pellentesque varius
- laoreet lorem. Vivamus egestas sapien id diam.}
- %{144}
-\NewLipsumPar{Integer viverra, felis ac tempus cursus,
- neque risus interdum turpis, eget venenatis tellus velit in neque.
- Nulla feugiat luctus tellus. Nam pulvinar lacus id leo. Vestibulum
- at ligula. Duis laoreet tincidunt enim. Suspendisse at nisl molestie
- est laoreet laoreet. Suspendisse euismod metus vel nisl. Aenean
- ullamcorper imperdiet massa. Aliquam nibh. Donec quis erat. Nunc
- sodales auctor ante.}
- %{145}
-\NewLipsumPar{Nam quis ante. Nullam interdum quam in eros.
- Sed eleifend libero eu tellus consequat fermentum. Nullam
- pellentesque risus ut augue. Vestibulum eu tellus. Integer eleifend
- suscipit urna. Fusce porttitor leo et odio. Vivamus vehicula justo a
- nisl. In rutrum, purus ut dictum auctor, dolor velit accumsan dolor,
- eu convallis augue dui ac lectus. Nullam eleifend pellentesque
- ligula. Nam quis magna. Donec elementum dapibus erat. Pellentesque
- vel ipsum nec orci fermentum accumsan. Nunc porta magna eu neque.
- Nam id erat eu mi aliquet cursus. Morbi ut felis. Vestibulum in
- ipsum.}
- %{146}
-\NewLipsumPar{Donec vel augue. Morbi a turpis sed libero
- consequat porta. Quisque lacinia consequat odio. Sed vehicula
- sollicitudin purus. Vestibulum eget est. In hac habitasse platea
- dictumst. Sed blandit, tortor a auctor imperdiet, wisi nibh ornare
- leo, ac dictum nibh enim eu orci. Pellentesque habitant morbi
- tristique senectus et netus et malesuada fames ac turpis egestas.
- Aliquam tincidunt ullamcorper justo. Etiam accumsan lacus nec ante.
- Ut dictum luctus mauris. Ut metus. Maecenas gravida. Proin iaculis.
- Integer convallis, justo iaculis ullamcorper sollicitudin, lectus
- neque tincidunt mi, at condimentum sem quam vel diam. Aenean sit
- amet purus.}
- %{147}
-\NewLipsumPar{Sed justo. Maecenas lacinia, turpis sed
- commodo congue, odio urna elementum nunc, vitae molestie velit nunc
- eu sem. Maecenas enim. Proin quis neque nec tortor sollicitudin
- volutpat. Sed at ante. Sed vitae mauris non ante egestas hendrerit.
- Cum sociis natoque penatibus et magnis dis parturient montes,
- nascetur ridiculus mus. In venenatis facilisis magna. Phasellus
- purus. Cras quis mauris. Aliquam eget magna. Donec rutrum sagittis
- mi. Morbi elementum, est sit amet sollicitudin feugiat, orci magna
- semper risus, eu congue nulla metus vel elit. Nunc tempor ornare mi.
- Integer justo odio, suscipit tincidunt, fermentum eu, tincidunt et,
- libero. Vestibulum vestibulum, urna et suscipit imperdiet, nulla
- ante fermentum erat, at laoreet lorem lectus sed metus. Fusce ante
- sem, posuere in, vehicula a, posuere sed, ante. Phasellus magna.
- Maecenas sit amet diam. Nunc at nibh sit amet augue tristique
- gravida.}
- %{148}
-\NewLipsumPar{Aenean adipiscing auctor est. Morbi quam
- arcu, malesuada sed, volutpat et, elementum sit amet, libero. Duis
- accumsan. Curabitur urna. In sed ipsum. Donec lobortis nibh. Duis
- mattis. Sed cursus lectus quis odio. Phasellus arcu. Praesent
- imperdiet dui in sapien. Vestibulum tellus pede, auctor a,
- pellentesque sit amet, vulputate sed, purus. Nunc pulvinar, dui at
- eleifend adipiscing, tellus nulla placerat massa, sed condimentum
- nulla tellus sed ligula. Nulla vitae odio sit amet leo imperdiet
- blandit. In vel massa. Maecenas varius dui at turpis. Sed odio.}
- %{149}
-\NewLipsumPar{Quisque aliquam ipsum sed turpis.
- Pellentesque laoreet velit nec justo. Nam sed augue. Maecenas rutrum
- quam eu dolor. Fusce consectetuer. Proin tellus est, luctus vitae,
- molestie a, mattis et, mauris. Donec tempor. Pellentesque habitant
- morbi tristique senectus et netus et malesuada fames ac turpis
- egestas. Duis ante felis, dignissim id, blandit in, suscipit vel,
- dolor. Pellentesque tincidunt cursus felis. Proin rhoncus semper
- nulla. Ut et est. Vivamus ipsum erat, gravida in, venenatis ac,
- fringilla in, quam. Nunc ac augue. Fusce pede erat, ultrices non,
- consequat et, semper sit amet, urna.}
- % {150}
-\NewLipsumPar{Fusce adipiscing justo nec ante. Nullam in enim.
- Pellentesque felis orci, sagittis ac, malesuada et, facilisis in,
- ligula. Nunc non magna sit amet mi aliquam dictum. In mi. Curabitur
- sollicitudin justo sed quam. Aenean imperdiet. Vestibulum ante ipsum
- primis in faucibus orci luctus et ultrices posuere cubilia Curae;
- Donec lacinia nonummy lectus. Proin vel urna. Fusce sit amet orci ac
- magna iaculis pharetra. Duis sagittis massa in tellus. Aenean vel
- velit vel felis consectetuer pharetra.}
+ text .code:n = \SetLipsumText{#1} ,
+ text .value_required:n = true ,
% \end{macrocode}
+% \opt{language} sets the language to be used when typesetting.
% \begin{macrocode}
-%</lipsum>
+ language .tl_gset:N = \g_@@_language_tl ,
+ language .value_required:n = true ,
% \end{macrocode}
-% \newpage
-% \subsection{The text of Cicero's speech}
+% \opt{default-range} does \cs{SetLipsumDefault}, initially |1-7|, as
+% documented. It's default is also |1-7| so that the key has two
+% meanings: \cs{setlipsum}|{default-range=|\meta{range}|}| sets the
+% range to the given value, while \cs{setlipsum}|{default-range}| sets
+% the range to the ``default default range''. Pretty neat :)
% \begin{macrocode}
-%<*cicero>
+ default-range .code:n = \SetLipsumDefault{#1} ,
+ default-range .initial:n = 1-7 ,
+ default-range .default:n = 1-7 ,
+ }
% \end{macrocode}
+% This chunk defines the keys \meta{thing}-\meta{place}[*], where
+% \meta{thing} is |par| or |sentence|, \meta{place} is |before|,
+% |begin|, |sep|, |end|, and |after|, which totals~10 keys, and
+% another~10 with the |*| in the name. Each sets a token list called
+% \cs[no-index]{l_@@_\meta{thing}_\meta{place}_[no]star_tl}.
% \begin{macrocode}
-
-%%
-%% This text was provided by github-user
-%% svenper. See https://github.com/patta42/lipsum/issues/13
-%%
-
-\NewLipsumPar{Non eram nescius, Brute, cum, quae summis ingeniis exquisitaque
- doctrina philosophi Graeco sermone tractavissent, ea Latinis litteris
- mandaremus, fore ut hic noster labor in varias reprehensiones incurreret. Nam
- quibusdam, et iis quidem non admodum indoctis, totum hoc displicet
- philosophari. Quidam autem non tam id reprehendunt, si remissius agatur, sed
- tantum studium tamque multam operam ponendam in eo non arbitrantur. Erunt
- etiam, et ii quidem eruditi Graecis litteris, contemnentes Latinas, qui se
- dicant in Graecis legendis operam malle consumere. Postremo aliquos futuros
- suspicor, qui me ad alias litteras vocent, genus hoc scribendi, etsi sit
- elegans, personae tamen et dignitatis esse negent.}
- %{2}
-\NewLipsumPar{Contra quos omnis dicendum breviter existimo. Quamquam
- philosophiae quidem vituperatoribus satis responsum est eo libro, quo a nobis
- philosophia defensa et collaudata est, cum esset accusata et vituperata ab
- Hortensio. Qui liber cum et tibi probatus videretur et iis, quos ego posse
- iudicare arbitrarer, plura suscepi veritus ne movere hominum studia viderer,
- retinere non posse. Qui autem, si maxime hoc placeat, moderatius tamen id
- volunt fieri, difficilem quandam temperantiam postulant in eo, quod semel
- admissum coerceri reprimique non potest, ut propemodum iustioribus utamur
- illis, qui omnino avocent a philosophia, quam his, qui rebus infinitis modum
- constituant in reque eo meliore, quo maior sit, mediocritatem desiderent.}
- %{3}
-\NewLipsumPar{Sive enim ad sapientiam perveniri potest, non paranda nobis
- solum ea, sed fruenda etiam [sapientia] est; sive hoc difficile est, tamen nec
- modus est ullus investigandi veri, nisi inveneris, et quaerendi defatigatio
- turpis est, cum id, quod quaeritur, sit pulcherrimum. Etenim si delectamur,
- cum scribimus, quis est tam invidus, qui ab eo nos abducat? Sin laboramus,
- quis est, qui alienae modum statuat industriae? Nam ut Terentianus Chremes non
- inhumanus, qui novum vicinum non vult \textquoteleft fodere aut arare aut
- aliquid ferre denique\textquoteright\space\textendash\space non enim illum ab
- industria, sed ab inliberali labore deterret \textendash, sic isti curiosi,
- quos offendit noster minime nobis iniucundus labor.}
- %{4}
-\NewLipsumPar{Iis igitur est difficilius satis facere, qui se Latina scripta
- dicunt contemnere. In quibus hoc primum est in quo admirer, cur in gravissimis
- rebus non delectet eos sermo patrius, cum idem fabellas Latinas ad verbum e
- Graecis expressas non inviti legant. Quis enim tam inimicus paene nomini
- Romano est, qui Ennii Medeam aut Antiopam Pacuvii spernat aut reiciat, quod se
- isdem Euripidis fabulis delectari dicat, Latinas litteras oderit?}
- %{5}
-\NewLipsumPar{Synephebos ego, inquit, potius Caecilii aut Andriam Terentii
- quam utramque Menandri legam?}
- %{6}
-\NewLipsumPar{A quibus tantum dissentio, ut, cum Sophocles vel optime
- scripserit Electram, tamen male conversam Atilii mihi legendam putem, de quo
- Lucilius: \textquoteleft ferreum scriptorem\textquoteright, verum, opinor,
- scriptorem tamen, ut legendus sit. Rudem enim esse omnino in nostris poetis
- aut inertissimae segnitiae est aut fastidii delicatissimi. Mihi quidem nulli
- satis eruditi videntur, quibus nostra ignota sunt. An \textquoteleft Utinam ne
- in nemore\ldots\textquoteright\space nihilo minus legimus quam hoc idem
- Graecum, quae autem de bene beateque vivendo a Platone disputata sunt, haec
- explicari non placebit Latine?}
- %{7}
-\NewLipsumPar{Quid? Si nos non interpretum fungimur munere, sed tuemur ea,
- quae dicta sunt ab iis quos probamus, eisque nostrum iudicium et nostrum
- scribendi ordinem adiungimus, quid habent, cur Graeca anteponant iis, quae et
- splendide dicta sint neque sint conversa de Graecis? Nam si dicent ab illis
- has res esse tractatas, ne ipsos quidem Graecos est cur tam multos legant,
- quam legendi sunt. Quid enim est a Chrysippo praetermissum in Stoicis? Legimus
- tamen Diogenem, Antipatrum, Mnesarchum, Panaetium, multos alios in primisque
- familiarem nostrum Posidonium. Quid? Theophrastus mediocriterne delectat, cum
- tractat locos ab Aristotele ante tractatos? Quid? Epicurei num desistunt de
- isdem, de quibus et ab Epicuro scriptum est et ab antiquis, ad arbitrium suum
- scribere? Quodsi Graeci leguntur a Graecis isdem de rebus alia ratione
- compositis, quid est, cur nostri a nostris non legantur?}
- %{8}
-\NewLipsumPar{Quamquam, si plane sic verterem Platonem aut Aristotelem, ut
- verterunt nostri poetae fabulas, male, credo, mererer de meis civibus, si ad
- eorum cognitionem divina illa ingenia transferrem. Sed id neque feci adhuc nec
- mihi tamen, ne faciam, interdictum puto. Locos quidem quosdam, si videbitur,
- transferam, et maxime ab iis, quos modo nominavi, cum inciderit, ut id apte
- fieri possit, ut ab Homero Ennius, Afranius a Menandro solet. Nec vero, ut
- noster Lucilius, recusabo, quo minus omnes mea legant. Utinam esset ille
- Persius, Scipio vero et Rutilius multo etiam magis, quorum ille iudicium
- reformidans Tarentinis ait se et Consentinis et Siculis scribere. Facete is
- quidem, sicut alia; sed neque tam docti tum erant, ad quorum iudicium
- elaboraret, et sunt illius scripta leviora, ut urbanitas summa appareat,
- doctrina mediocris.}
- %{9}
-\NewLipsumPar{Ego autem quem timeam lectorem, cum ad te ne Graecis quidem
- cedentem in philosophia audeam scribere? Quamquam a te ipso id quidem facio
- provocatus gratissimo mihi libro, quem ad me de virtute misisti. Sed ex eo
- credo quibusdam usu venire; ut abhorreant a Latinis, quod inciderint in
- inculta quaedam et horrida, de malis Graecis Latine scripta deterius. Quibus
- ego assentior, dum modo de isdem rebus ne Graecos quidem legendos putent. Res
- vero bonas verbis electis graviter ornateque dictas quis non legat? Nisi qui
- se plane Graecum dici velit, ut a Scaevola est praetore salutatus Athenis
- Albucius.}
- %{10}
-\NewLipsumPar{Quem quidem locum comit multa venustate et omni sale idem
- Lucilius, apud quem praeclare Scaevola:}
- %{11}
-\NewLipsumPar{Graecum te, Albuci, quam Romanum atque Sabinum, municipem Ponti,
- Tritani, centurionum, praeclarorum hominum ac primorum signiferumque, maluisti
- dici. Graece ergo praetor Athenis, id quod maluisti, te, cum ad me accedis,
- saluto: \textquoteleft[\ldots],\textquoteright\space inquam, \textquoteleft
- Tite!\textquoteright\space lictores, turma omnis chorusque:
- \textquoteleft[\ldots], Tite!\textquoteright\space hinc hostis mi Albucius,
- hinc inimicus.}
- %{12}
-\NewLipsumPar{Sed iure Mucius. Ego autem mirari [satis] non queo unde hoc sit
- tam insolens domesticarum rerum fastidium. Non est omnino hic docendi locus;
- sed ita sentio et saepe disserui, Latinam linguam non modo non inopem, ut
- vulgo putarent, sed locupletiorem etiam esse quam Graecam. Quando enim nobis,
- vel dicam aut oratoribus bonis aut poetis, postea quidem quam fuit quem
- imitarentur, ullus orationis vel copiosae vel elegantis ornatus defuit? Ego
- vero, quoniam forensibus operis, laboribus, periculis non deseruisse mihi
- videor praesidium, in quo a populo Romano locatus sum, debeo profecto,
- quantumcumque possum, in eo quoque elaborare, ut sint opera, studio, labore
- meo doctiores cives mei, nec cum istis tantopere pugnare, qui Graeca legere
- malint, modo legant illa ipsa, ne simulent, et iis servire, qui vel utrisque
- litteris uti velint vel, si suas habent, illas non magnopere desiderent.}
- %{13}
-\NewLipsumPar{Qui autem alia malunt scribi a nobis, aequi esse debent, quod et
- scripta multa sunt, sic ut plura nemini e nostris, et scribentur fortasse
- plura, si vita suppetet; et tamen, qui diligenter haec, quae de philosophia
- litteris mandamus, legere assueverit, iudicabit nulla ad legendum his esse
- potiora. Quid est enim in vita tantopere quaerendum quam cum omnia in
- philosophia, tum id, quod his libris quaeritur, qui sit finis, quid extremum,
- quid ultimum, quo sint omnia bene vivendi recteque faciendi consilia
- referenda, quid sequatur natura ut summum ex rebus expetendis, quid fugiat ut
- extremum malorum? Qua de re cum sit inter doctissimos summa dissensio, quis
- alienum putet eius esse dignitatis, quam mihi quisque tribuat, quid in omni
- munere vitae optimum et verissimum sit, exquirere?}
- %{14}
-\NewLipsumPar{An, partus ancillae sitne in fructu habendus, disseretur inter
- principes civitatis, P. Scaevolam M\textquoteright.que Manilium, ab iisque M.
- Brutus dissentiet \textendash\space quod et acutum genus est et ad usus civium
- non inutile, nosque ea scripta reliquaque eiusdem generis et legimus libenter
- et legemus \textendash, haec, quae vitam omnem continent, neglegentur? Nam, ut
- sint illa vendibiliora, haec uberiora certe sunt. Quamquam id quidem licebit
- iis existimare, qui legerint. Nos autem hanc omnem quaestionem de finibus
- bonorum et malorum fere a nobis explicatam esse his litteris arbitramur, in
- quibus, quantum potuimus, non modo quid nobis probaretur, sed etiam quid a
- singulis philosophiae disciplinis diceretur, persecuti sumus.}
- %{15}
-\NewLipsumPar{Ut autem a facillimis ordiamur, prima veniat in medium Epicuri
- ratio, quae plerisque notissima est. Quam a nobis sic intelleges eitam, ut ab
- ipsis, qui eam disciplinam probant, non soleat accuratius explicari; verum
- enim invenire volumus, non tamquam adversarium aliquem convincere. Accurate
- autem quondam a L. Torquato, homine omni doctrina erudito, defensa est Epicuri
- sententia de voluptate, a meque ei responsum, cum C. Triarius, in primis
- gravis et doctus adolescens, ei disputationi interesset.}
- %{16}
-\NewLipsumPar{Nam cum ad me in Cumanum salutandi causa uterque venisset, pauca
- primo inter nos de litteris, quarum summum erat in utroque studium, deinde
- Torquatus: Quoniam nacti te, inquit, sumus aliquando otiosum, certe audiam,
- quid sit, quod Epicurum nostrum non tu quidem oderis, ut fere faciunt, qui ab
- eo dissentiunt, sed certe non probes, eum quem ego arbitror unum vidisse verum
- maximisque erroribus animos hominum liberavisse et omnia tradidisse, quae
- pertinerent ad bene beateque vivendum. Sed existimo te, sicut nostrum
- Triarium, minus ab eo delectari, quod ista Platonis, Aristoteli, Theophrasti
- orationis ornamenta neglexerit. Nam illud quidem adduci vix possum, ut ea,
- quae senserit ille, tibi non vera videantur.}
- %{17}
-\NewLipsumPar{Vide, quantum, inquam, fallare, Torquate. Oratio me istius
- philosophi non offendit; nam et complectitur verbis, quod vult, et dicit
- plane, quod intellegam; et tamen ego a philosopho, si afferat eloquentiam, non
- asperner, si non habeat, non admodum flagitem. Re mihi non aeque satisfacit,
- et quidem locis pluribus. Sed quot homines, tot sententiae; falli igitur
- possumus.}
- %{18}
-\NewLipsumPar{Quam ob rem tandem, inquit, non satisfacit? Te enim iudicem
- aequum puto, modo quae dicat ille bene noris.}
- %{19}
-\NewLipsumPar{Nisi mihi Phaedrum, inquam, tu mentitum aut Zenonem putas,
- quorum utrumque audivi, cum mihi nihil sane praeter sedulitatem probarent,
- omnes mihi Epicuri sententiae satis notae sunt. Atque eos, quos nominavi, cum
- Attico nostro frequenter audivi, cum miraretur ille quidem utrumque, Phaedrum
- autem etiam amaret, cotidieque inter nos ea, quae audiebamus, conferebamus,
- neque erat umquam controversia, quid ego intellegerem, sed quid probarem.}
- %{20}
-\NewLipsumPar{Quid igitur est? Inquit; audire enim cupio, quid non probes.
- Principio, inquam, in physicis, quibus maxime gloriatur, primum totus est
- alienus. Democritea dicit perpauca mutans, sed ita, ut ea, quae corrigere
- vult, mihi quidem depravare videatur. Ille atomos quas appellat, id est
- corpora individua propter soliditatem, censet in infinito inani, in quo nihil
- nec summum nec infimum nec medium nec ultimum nec extremum sit, ita ferri, ut
- concursionibus inter se cohaerescant, ex quo efficiantur ea, quae sint quaeque
- cernantur, omnia, eumque motum atomorum nullo a principio, sed ex aeterno
- tempore intellegi convenire.}
- %{21}
-\NewLipsumPar{Epicurus autem, in quibus sequitur Democritum, non fere labitur.
- Quamquam utriusque cum multa non probo, tum illud in primis, quod, cum in
- rerum natura duo quaerenda sint, unum, quae materia sit, ex qua quaeque res
- efficiatur, alterum, quae vis sit, quae quidque efficiat, de materia
- disseruerunt, vim et causam efficiendi reliquerunt. Sed hoc commune vitium,
- illae Epicuri propriae ruinae: censet enim eadem illa individua et solida
- corpora ferri deorsum suo pondere ad lineam, hunc naturalem esse omnium
- corporum motum.}
- %{22}
-\NewLipsumPar{Deinde ibidem homo acutus, cum illud ocurreret, si omnia deorsus
- e regione ferrentur et, ut dixi, ad lineam, numquam fore ut atomus altera
- alteram posset attingere itaque ** attulit rem commenticiam: declinare dixit
- atomum perpaulum, quo nihil posset fieri minus; ita effici complexiones et
- copulationes et adhaesiones atomorum inter se, ex quo efficeretur mundus
- omnesque partes mundi, quaeque in eo essent. Quae cum tota res (est) ficta
- pueriliter, tum ne efficit [quidem], quod vult. Nam et ipsa declinatio ad
- libidinem fingitur \textendash\space ait enim declinare atomum sine causa; quo
- nihil turpius physico, quam fieri quicquam sine causa dicere,
- \textendash\space et illum motum naturalem omnium ponderum, ut ipse
- constituit, e regione inferiorem locum petentium sine causa eripuit atomis nec
- tamen id, cuius causa haec finxerat, assecutus est.}
- %{23}
-\NewLipsumPar{Nam si omnes atomi declinabunt, nullae umquam cohaerescent, sive
- aliae declinabunt, aliae suo nutu recte ferentur, primum erit hoc quasi,
- provincias atomis dare, quae recte, quae oblique ferantur, deinde eadem illa
- atomorum, in quo etiam Democritus haeret, turbulenta concursio hunc mundi
- ornatum efficere non poterit. Ne illud quidem physici, credere aliquid esse
- minimum, quod profecto numquam putavisset, si a Polyaeno, familiari suo,
- geometrica discere maluisset quam illum etiam ipsum dedocere. Sol Democrito
- magnus videtur, quippe homini erudito in geometriaque perfecto, huic pedalis
- fortasse; tantum enim esse censet, quantus videtur, vel paulo aut maiorem aut
- minorem.}
- %{24}
-\NewLipsumPar{Ita, quae mutat, ea corrumpit, quae sequitur sunt tota
- Democriti, atomi, inane, imagines, quae [\ldots] nominant, quorum incursione
- non solum videamus, sed etiam cogitemus; infinitio ipsa, quam [\ldots] vocant,
- tota ab illo est, tum innumerabiles mundi, qui et oriantur et intereant
- cotidie. Quae etsi mihi nullo modo probantur, tamen Democritum laudatum a
- ceteris ab hoc, qui eum unum secutus esset, nollem vituperatum.}
- %{25}
-\NewLipsumPar{Iam in altera philosophiae parte. Quae est quaerendi ac
- disserendi, quae [\ldots] dicitur, iste vester plane, ut mihi quidem videtur,
- inermis ac nudus est. Tollit definitiones, nihil de dividendo ac partiendo
- docet, non quo modo efficiatur concludaturque ratio tradit, non qua via
- captiosa solvantur ambigua distinguantur ostendit; iudicia rerum in sensibus
- ponit, quibus si semel aliquid falsi pro vero probatum sit, sublatum esse omne
- iudicium veri et falsi putat.}
- %{26}
-\NewLipsumPar{Confirmat autem illud vel maxime, quod ipsa natura, ut ait ille,
- sciscat et probet, id est voluptatem et dolorem. Ad haec et quae sequamur et
- quae fugiamus refert omnia. Quod quamquam Aristippi est a Cyrenaicisque melius
- liberiusque defenditur, tamen eius modi esse iudico, ut nihil homine videatur
- indignius. Ad maiora enim quaedam nos natura genuit et conformavit, ut mihi
- quidem videtur. Ac fieri potest, ut errem, sed ita prorsus existimo, neque eum
- Torquatum, qui hoc primus cognomen invenerit, aut torquem illum hosti
- detraxisse, ut aliquam ex eo perciperet corpore voluptatem, aut cum Latinis
- tertio consulatu conflixisse apud Veserim propter voluptatem; quod vero securi
- percussit filium, privavisse se etiam videtur multis voluptatibus, cum ipsi
- naturae patrioque amori praetulerit ius maiestatis atque imperii.}
- %{27}
-\NewLipsumPar{Quid? T. Torquatus, is qui consul cum Cn.\ Octavio fuit, cum
- illam severitatem in eo filio adhibuit, quem in adoptionem D. Silano
- emancipaverat, ut eum Macedonum legatis accusantibus, quod pecunias praetorem
- in provincia cepisse arguerent, causam apud se dicere iuberet reque ex utraque
- parte audita pronuntiaret eum non talem videri fuisse in imperio, quales eius
- maiores fuissent, et in conspectum suum venire vetuit, numquid tibi videtur de
- voluptatibus suis cogitavisse?}
- %{28}
-\NewLipsumPar{Sed ut omittam pericula, labores, dolorem etiam, quem optimus
- quisque pro patria et pro suis suscipit, ut non modo nullam captet, sed etiam
- praetereat omnes voluptates, dolores denique quosvis suscipere malit quam
- deserere ullam officii partem, ad ea, quae hoc non minus declarant, sed
- videntur leviora, veniamus.}
- %{29}
-\NewLipsumPar{Quid tibi, Torquate, quid huic Triario litterae, quid historiae
- cognitioque rerum, quid poetarum evolutio, quid tanta tot versuum memoria
- voluptatis affert? Nec mihi illud dixeris: \textquoteleft Haec enim ipsa mihi
- sunt voluptati, et erant illa Torquatis.\textquoteright\space Numquam hoc ita
- defendit Epicurus neque Metrodorus aut quisquam eorum, qui aut saperet aliquid
- aut ista didicisset. Et quod quaeritur saepe, cur tam multi sint Epicurei,
- sunt aliae quoque causae, sed multitudinem haec maxime allicit, quod ita
- putant dici ab illo, recta et honesta quae sint, ea facere ipsa per se
- laetitiam, id est voluptatem. Homines optimi non intellegunt totam rationem
- everti, si ita res se habeat. Nam si concederetur, etiamsi ad corpus nihil
- referatur, ista sua sponte et per se esse iucunda, per se esset et virtus et
- cognitio rerum, quod minime ille vult expetenda.}
- %{30}
-\NewLipsumPar{Haec igitur Epicuri non probo, inquam. De cetero vellem equidem
- aut ipse doctrinis fuisset instructior \textendash\space est enim, quod tibi
- ita videri necesse est, non satis politus iis artibus, quas qui tenent,
- eruditi appellantur \textendash\space aut ne deterruisset alios a studiis.
- Quamquam te quidem video minime esse deterritum.}
- %{31}
-\NewLipsumPar{Quae cum dixissem, magis ut illum provocarem quam ut ipse
- loquerer, tum Triarius leniter arridens: Tu quidem, inquit, totum Epicurum
- paene e philosophorum choro sustulisti. Quid ei reliquisti, nisi te, quoquo
- modo loqueretur, intellegere, quid diceret? Aliena dixit in physicis nec ea
- ipsa, quae tibi probarentur; si qua in iis corrigere voluit, deteriora fecit.
- Disserendi artem nullam habuit. Voluptatem cum summum bonum diceret, primum in
- eo ipso parum vidit, deinde hoc quoque alienum; nam ante Aristippus, et ille
- melius. Addidisti ad extremum etiam indoctum fuisse.}
- %{32}
-\NewLipsumPar{Fieri, inquam, Triari, nullo pacto potest, ut non dicas, quid
- non probes eius, a quo dissentias. Quid enim me prohiberet Epicureum esse, si
- probarem, quae ille diceret? Cum praesertim illa perdiscere ludus esset. Quam
- ob rem dissentientium inter se reprehensiones non sunt vituperandae,
- maledicta, contumeliae, tum iracundiae, contentiones concertationesque in
- disputando pertinaces indignae philosophia mihi videri solent.}
- %{33}
-\NewLipsumPar{Tum Torquatus: Prorsus, inquit, assentior; neque enim disputari
- sine reprehensione nec cum iracundia aut pertinacia recte disputari potest.
- Sed ad haec, nisi molestum est, habeo quae velim. An me, inquam, nisi te
- audire vellem, censes haec dicturum fuisse? Utrum igitur percurri omnem
- Epicuri disciplinam placet an de una voluptate quaeri, de qua omne certamen
- est? Tuo vero id quidem, inquam, arbitratu. Sic faciam igitur, inquit: unam
- rem explicabo, eamque maximam, de physicis alias, et quidem tibi et
- declinationem istam atomorum et magnitudinem solis probabo et Democriti errata
- ab Epicuro reprehensa et correcta permulta. Nunc dicam de voluptate, nihil
- scilicet novi, ea tamen, quae te ipsum probaturum esse confidam.}
- %{34}
-\NewLipsumPar{Certe, inquam, pertinax non ero tibique, si mihi probabis ea,
- quae dices, libenter assentiar. Probabo, inquit, modo ista sis aequitate, quam
- ostendis. Sed uti oratione perpetua malo quam interrogare aut interrogari. Ut
- placet, inquam. Tum dicere exorsus est. Primum igitur, inquit, sic agam, ut
- ipsi auctori huius disciplinae placet: constituam, quid et quale sit id, de
- quo quaerimus, non quo ignorare vos arbitrer, sed ut ratione et via procedat
- oratio. Quaerimus igitur, quid sit extremum et ultimum bonorum, quod omnium
- philosophorum sententia tale debet esse, ut ad id omnia referri oporteat,
- ipsum autem nusquam. Hoc Epicurus in voluptate ponit, quod summum bonum esse
- vult, summumque malum dolorem, idque instituit docere sic:}
- %{35}
-\NewLipsumPar{Omne animal, simul atque natum sit, voluptatem appetere eaque
- gaudere ut summo bono, dolorem aspernari ut summum malum et, quantum possit, a
- se repellere, idque facere nondum depravatum ipsa natura incorrupte atque
- integre iudicante. Itaque negat opus esse ratione neque disputatione, quam ob
- rem voluptas expetenda, fugiendus dolor sit. Sentiri haec putat, ut calere
- ignem, nivem esse albam, dulce mel. Quorum nihil oportere exquisitis
- rationibus confirmare, tantum satis esse admonere. Interesse enim inter
- argumentum conclusionemque rationis et inter mediocrem animadversionem atque
- admonitionem. Altera occulta quaedam et quasi involuta aperiri, altera prompta
- et aperta iudicari. Etenim quoniam detractis de homine sensibus reliqui nihil
- est, necesse est, quid aut ad naturam aut contra sit, a natura ipsa iudicari.
- Ea quid percipit aut quid iudicat, quo aut petat aut fugiat aliquid, praeter
- voluptatem et dolorem?}
- %{36}
-\NewLipsumPar{Sunt autem quidam e nostris, qui haec subtilius velint tradere
- et negent satis esse, quid bonum sit aut quid malum, sensu iudicari, sed animo
- etiam ac ratione intellegi posse et voluptatem ipsam per se esse expetendam et
- dolorem ipsum per se esse fugiendum. Itaque aiunt hanc quasi naturalem atque
- insitam in animis nostris inesse notionem, ut alterum esse appetendum, alterum
- aspernandum sentiamus. Alii autem, quibus ego assentior, cum a philosophis
- compluribus permulta dicantur, cur nec voluptas in bonis sit numeranda nec in
- malis dolor, non existimant oportere nimium nos causae confidere, sed et
- argumentandum et accurate disserendum et rationibus conquisitis de voluptate
- et dolore disputandum putant.}
- %{37}
-\NewLipsumPar{Sed ut perspiciatis, unde omnis iste natus error sit voluptatem
- accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo
- inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo.
- Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit,
- sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi
- nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit, amet,
- consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt,
- ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima
- veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi
- ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit,
- qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum,
- qui dolorem eum fugiat, quo voluptas nulla pariatur?}
- %{38}
-\NewLipsumPar{At vero eos et accusamus et iusto odio dignissimos ducimus, qui
- blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores et
- quas molestias excepturi sint, obcaecati cupiditate non provident, similique
- sunt in culpa, qui officia deserunt mollitia animi, id est laborum et dolorum
- fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero
- tempore, cum soluta nobis est eligendi optio, cumque nihil impedit, quo minus
- id, quod maxime placeat, facere possimus, omnis voluptas assumenda est, omnis
- dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut
- rerum necessitatibus saepe eveniet, ut et voluptates repudiandae sint et
- molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus,
- ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis
- doloribus asperiores repellat.}
- %{39}
-\NewLipsumPar{Hanc ego cum teneam sententiam, quid est cur verear, ne ad eam
- non possim accommodare Torquatos nostros? Quos tu paulo ante cum memoriter,
- tum etiam erga nos amice et benivole collegisti, nec me tamen laudandis
- maioribus meis corrupisti nec segniorem ad respondendum reddidisti. Quorum
- facta quem ad modum, quaeso, interpretaris? Sicine eos censes aut in armatum
- hostem impetum fecisse aut in liberos atque in sanguinem suum tam crudelis
- fuisse, nihil ut de utilitatibus, nihil ut de commodis suis cogitarent? At id
- ne ferae quidem faciunt, ut ita ruant itaque turbent, ut earum motus et
- impetus quo pertineant non intellegamus, tu tam egregios viros censes tantas
- res gessisse sine causa?}
- %{40}
-\NewLipsumPar{Quae fuerit causa, mox videro; interea hoc tenebo, si ob aliquam
- causam ista, quae sine dubio praeclara sunt, fecerint, virtutem iis per se
- ipsam causam non fuisse. \textendash\space Torquem detraxit hosti.
- \textendash\space Et quidem se texit, ne interiret. \textendash\space At
- magnum periculum adiit. \textendash\space In oculis quidem exercitus.
- \textendash\space Quid ex eo est consecutus? \textendash\space Laudem et
- caritatem, quae sunt vitae sine metu degendae praesidia firmissima.
- \textendash\space Filium morte multavit. \textendash\space Si sine causa,
- nollem me ab eo ortum, tam inportuno tamque crudeli; sin, ut dolore suo
- sanciret militaris imperii disciplinam exercitumque in gravissimo bello
- animadversionis metu contineret, saluti prospexit civium, qua intellegebat
- contineri suam. Atque haec ratio late patet.}
- %{41}
-\NewLipsumPar{In quo enim maxime consuevit iactare vestra se oratio, tua
- praesertim, qui studiose antiqua persequeris, claris et fortibus viris
- commemorandis eorumque factis non emolumento aliquo, sed ipsius honestatis
- decore laudandis, id totum evertitur eo delectu rerum, quem modo dixi,
- constituto, ut aut voluptates omittantur maiorum voluptatum adipiscendarum
- causa aut dolores suscipiantur maiorum dolorum effugiendorum gratia.}
- %{42}
-\NewLipsumPar{Sed de clarorum hominum factis illustribus et gloriosis satis
- hoc loco dictum sit. Erit enim iam de omnium virtutum cursu ad voluptatem
- proprius disserendi locus. Nunc autem explicabo, voluptas ipsa quae qualisque
- sit, ut tollatur error omnis imperitorum intellegaturque ea, quae voluptaria,
- delicata, mollis habeatur disciplina, quam gravis, quam continens, quam severa
- sit. Non enim hanc solam sequimur, quae suavitate aliqua naturam ipsam movet
- et cum iucunditate quadam percipitur sensibus, sed maximam voluptatem illam
- habemus, quae percipitur omni dolore detracto, nam quoniam, cum privamur
- dolore, ipsa liberatione et vacuitate omnis molestiae gaudemus, omne autem id,
- quo gaudemus, voluptas est, ut omne, quo offendimur, dolor, doloris omnis
- privatio recte nominata est voluptas. Ut enim, cum cibo et potione fames
- sitisque depulsa est, ipsa detractio molestiae consecutionem affert
- voluptatis, sic in omni re doloris amotio successionem efficit voluptatis.}
- %{43}
-\NewLipsumPar{Itaque non placuit Epicuro medium esse quiddam inter dolorem et
- voluptatem; illud enim ipsum, quod quibusdam medium videretur, cum omni dolore
- careret, non modo voluptatem esse, verum etiam summam voluptatem. Quisquis
- enim sentit, quem ad modum sit affectus, eum necesse est aut in voluptate esse
- aut in dolore. Omnis autem privatione doloris putat Epicurus terminari summam
- voluptatem, ut postea variari voluptas distinguique possit, augeri
- amplificarique non possit.}
- %{44}
-\NewLipsumPar{At etiam Athenis, ut e patre audiebam facete et urbane Stoicos
- irridente, statua est in Ceramico Chrysippi sedentis porrecta manu, quae manus
- significet illum in hae esse rogatiuncula delectatum: \textquoteleft
- Numquidnam manus tua sic affecta, quem ad modum affecta nunc est,
- desiderat?\textquoteright\space \textendash\space Nihil sane.
- \textendash\space\textquoteleft At, si voluptas esset bonum,
- desideraret.\textquoteright\space\textendash\space Ita credo.
- \textendash\space\textquoteleft Non est igitur voluptas
- bonum.\textquoteright\space Hoc ne statuam quidem dicturam pater aiebat, si
- loqui posset. Conclusum est enim contra Cyrenaicos satis acute, nihil ad
- Epicurum. Nam si ea sola voluptas esset, quae quasi titillaret sensus, ut ita
- dicam, et ad eos cum suavitate afflueret et illaberetur, nec manus esse
- contenta posset nec ulla pars vacuitate doloris sine iucundo motu voluptatis.
- Sin autem summa voluptas est, ut Epicuro placet, nihil dolere, primum tibi
- recte, Chrysippe, concessum est nihil desiderare manum, cum ita esset affecta,
- secundum non recte, si voluptas esset bonum, fuisse desideraturam. Idcirco
- enim non desideraret, quia, quod dolore caret, id in voluptate est.}
- %{45}
-\NewLipsumPar{Extremum autem esse bonorum voluptatem ex hoc facillime perspici
- potest: Constituamus aliquem magnis, multis, perpetuis fruentem et animo et
- corpore voluptatibus nullo dolore nec impediente nec inpendente, quem tandem
- hoc statu praestabiliorem aut magis expetendum possimus dicere? Inesse enim
- necesse est in eo, qui ita sit affectus, et firmitatem animi nec mortem nec
- dolorem timentis, quod mors sensu careat, dolor in longinquitate levis, in
- gravitate brevis soleat esse, ut eius magnitudinem celeritas, diuturnitatem
- allevatio consoletur.}
- %{46}
-\NewLipsumPar{Ad ea cum accedit, ut neque divinum numen horreat nec
- praeteritas voluptates effluere patiatur earumque assidua recordatione
- laetetur, quid est, quod huc possit, quod melius sit, accedere? Statue contra
- aliquem confectum tantis animi corporisque doloribus, quanti in hominem maximi
- cadere possunt, nulla spe proposita fore levius aliquando, nulla praeterea
- neque praesenti nec expectata voluptate, quid eo miserius dici aut fingi
- potest? Quodsi vita doloribus referta maxime fugienda est, summum profecto
- malum est vivere cum dolore, cui sententiae consentaneum est ultimum esse
- bonorum eum voluptate vivere. Nec enim habet nostra mens quicquam, ubi
- consistat tamquam in extremo, omnesque et metus et aegritudines ad dolorem
- referuntur, nec praeterea est res ulla, quae sua natura aut sollicitare possit
- aut angere.}
- %{47}
-\NewLipsumPar{Praeterea et appetendi et refugiendi et omnino rerum gerendarum
- initia proficiscuntur aut a voluptate aut a dolore. Quod cum ita sit,
- perspicuum est omnis rectas res atque laudabilis eo referri, ut cum voluptate
- vivatur. Quoniam autem id est vel summum bonorum vel ultimum vel extremum
- \textendash\space quod Graeci [\ldots] nominant \textendash, quod ipsum nullam
- ad aliam rem, ad id autem res referuntur omnes, fatendum est summum esse bonum
- iucunde vivere.}
- %{48}
-\NewLipsumPar{Id qui in una virtute ponunt et splendore nominis capti quid
- natura postulet non intellegunt, errore maximo, si Epicurum audire voluerint,
- liberabuntur: istae enim vestrae eximiae pulchraeque virtutes nisi voluptatem
- efficerent, quis eas aut laudabilis aut expetendas arbitraretur? Ut enim
- medicorum scientiam non ipsius artis, sed bonae valetudinis causa probamus, et
- gubernatoris ars, quia bene navigandi rationem habet, utilitate, non arte
- laudatur, sic sapientia, quae ars vivendi putanda est, non expeteretur, si
- nihil efficeret; nunc expetitur, quod est tamquam artifex conquirendae et
- comparandae voluptatis \textendash}
- %{49}
-\NewLipsumPar{Quam autem ego dicam voluptatem, iam videtis, ne invidia verbi
- labefactetur oratio mea \textendash. Nam cum ignoratione rerum bonarum et
- malarum maxime hominum vita vexetur, ob eumque errorem et voluptatibus maximis
- saepe priventur et durissimis animi doloribus torqueantur, sapientia est
- adhibenda, quae et terroribus cupiditatibusque detractis et omnium falsarum
- opinionum temeritate derepta certissimam se nobis ducem praebeat ad
- voluptatem. Sapientia enim est una, quae maestitiam pellat ex animis, quae nos
- exhorrescere metu non sinat. Qua praeceptrice in tranquillitate vivi potest
- omnium cupiditatum ardore restincto. Cupiditates enim sunt insatiabiles, quae
- non modo singulos homines, sed universas familias evertunt, totam etiam
- labefactant saepe rem publicam.}
- %{50}
-\NewLipsumPar{Ex cupiditatibus odia, discidia, discordiae, seditiones, bella
- nascuntur, nec eae se foris solum iactant nec tantum in alios caeco impetu
- incurrunt, sed intus etiam in animis inclusae inter se dissident atque
- discordant, ex quo vitam amarissimam necesse est effici, ut sapiens solum
- amputata circumcisaque inanitate omni et errore naturae finibus contentus sine
- aegritudine possit et sine metu vivere.}
- %{51}
-\NewLipsumPar{Quae est enim aut utilior aut ad bene vivendum aptior partitio
- quam illa, qua est usus Epicurus? Qui unum genus posuit earum cupiditatum,
- quae essent et naturales et necessariae, alterum, quae naturales essent nec
- tamen necessariae, tertium, quae nec naturales nec necessariae. Quarum ea
- ratio est, ut necessariae nec opera multa nec impensa expleantur; ne naturales
- quidem multa desiderant, propterea quod ipsa natura divitias, quibus contenta
- sit, et parabilis et terminatas habet; inanium autem cupiditatum nec modus
- ullus nec finis inveniri potest.}
- %{52}
-\NewLipsumPar{Quodsi vitam omnem perturbari videmus errore et inscientia,
- sapientiamque esse solam, quae nos a libidinum impetu et a formidinum terrore
- vindicet et ipsius fortunae modice ferre doceat iniurias et omnis monstret
- vias, quae ad quietem et ad tranquillitatem ferant, quid est cur dubitemus
- dicere et sapientiam propter voluptates expetendam et insipientiam propter
- molestias esse fugiendam?}
- %{53}
-\NewLipsumPar{Eademque ratione ne temperantiam quidem propter se expetendam
- esse dicemus, sed quia pacem animis afferat et eos quasi concordia quadam
- placet ac leniat. Temperantia est enim, quae in rebus aut expetendis aut
- fugiendis ut rationem sequamur monet. Nec enim satis est iudicare quid
- faciendum non faciendumve sit, sed stare etiam oportet in eo, quod sit
- iudicatum. Plerique autem, quod tenere atque servare id, quod ipsi statuerunt,
- non possunt, victi et debilitati obiecta specie voluptatis tradunt se
- libidinibus constringendos nec quid eventurum sit provident ob eamque causam
- propter voluptatem et parvam et non necessariam et quae vel aliter pararetur
- et qua etiam carere possent sine dolore tum in morbos gravis, tum in damna,
- tum in dedecora incurrunt, saepe etiam legum iudiciorumque poenis obligantur.}
- %{54}
-\NewLipsumPar{Qui autem ita frui volunt voluptatibus, ut nulli propter eas
- consequantur dolores, et qui suum iudicium retinent, ne voluptate victi
- faciant id, quod sentiant non esse faciendum, ii voluptatem maximam
- adipiscuntur praetermittenda voluptate. Idem etiam dolorem saepe perpetiuntur,
- ne, si id non faciant, incidant in maiorem. Ex quo intellegitur nec
- intemperantiam propter se esse fugiendam temperantiamque expetendam, non quia
- voluptates fugiat, sed quia maiores consequatur.}
- %{55}
-\NewLipsumPar{Eadem fortitudinis ratio reperietur. Nam neque laborum
- perfunctio neque perpessio dolorum per se ipsa allicit nec patientia nec
- assiduitas nec vigiliae nec ea ipsa, quae laudatur, industria, ne fortitudo
- quidem, sed ista sequimur, ut sine cura metuque vivamus animumque et corpus,
- quantum efficere possimus, molestia liberemus. Ut enim mortis metu omnis
- quietae vitae status perturbatur, et ut succumbere doloribus eosque humili
- animo inbecilloque ferre miserum est, ob eamque debilitatem animi multi
- parentes, multi amicos, non nulli patriam, plerique autem se ipsos penitus
- perdiderunt, sic robustus animus et excelsus omni est liber cura et angore,
- cum et mortem contemnit, qua qui affecti sunt in eadem causa sunt, qua ante
- quam nati, et ad dolores ita paratus est, ut meminerit maximos morte finiri,
- parvos multa habere intervalla requietis, mediocrium nos esse dominos, ut, si
- tolerabiles sint, feramus, si minus, animo aequo e vita, cum ea non placeat,
- tamquam e theatro exeamus. Quibus rebus intellegitur nec timiditatem
- ignaviamque vituperari nec fortitudinem patientiamque laudari suo nomine, sed
- illas reici, quia dolorem pariant, has optari, quia voluptatem.}
- %{56}
-\NewLipsumPar{Iustitia restat, ut de omni virtute sit dictum. Sed similia fere
- dici possunt. Ut enim sapientiam, temperantiam, fortitudinem copulatas esse
- docui cum voluptate, ut ab ea nullo modo nec divelli nec distrahi possint, sic
- de iustitia iudicandum est, quae non modo numquam nocet cuiquam, sed contra
- semper afficit cum vi sua atque natura, quod tranquillat animos, tum spe nihil
- earum rerum defuturum, quas natura non depravata desiderat. [et] quem ad modum
- temeritas et libido et ignavia semper animum excruciant et semper sollicitant
- turbulentaeque sunt, sic [inprobitas si] cuius in mente consedit, hoc ipso,
- quod adest, turbulenta est; si vero molita quippiam est, quamvis occulte
- fecerit, numquam tamen id confidet fore semper occultum. Plerumque improborum
- facta primo suspicio insequitur, dein sermo atque fama, tum accusator, tum
- iudex;}
- %{57}
-\NewLipsumPar{Multi etiam, ut te consule, ipsi se indicaverunt. Quodsi qui
- satis sibi contra hominum conscientiam saepti esse et muniti videntur, deorum
- tamen horrent easque ipsas sollicitudines, quibus eorum animi noctesque
- diesque exeduntur, a diis inmortalibus supplicii causa importari putant. Quae
- autem tanta ex improbis factis ad minuendas vitae molestias accessio potest
- fieri, quanta ad augendas, cum conscientia factorum, tum poena legum odioque
- civium? Et tamen in quibusdam neque pecuniae modus est neque honoris neque
- imperii nec libidinum nec epularum nec reliquarum cupiditatum, quas nulla
- praeda umquam improbe parta minuit, [sed] potius inflammat, ut coercendi magis
- quam dedocendi esse videantur.}
- %{58}
-\NewLipsumPar{Invitat igitur vera ratio bene sanos ad iustitiam, aequitatem,
- fidem, neque homini infanti aut inpotenti iniuste facta conducunt, qui nec
- facile efficere possit, quod conetur, nec optinere, si effecerit, et opes vel
- fortunae vel ingenii liberalitati magis conveniunt, qua qui utuntur,
- benivolentiam sibi conciliant et, quod aptissimum est ad quiete vivendum,
- caritatem, praesertim cum omnino nulla sit causa peccandi.}
- %{59}
-\NewLipsumPar{Quae enim cupiditates a natura proficiscuntur, facile explentur
- sine ulla iniuria, quae autem inanes sunt, iis parendum non est. Nihil enim
- desiderabile concupiscunt, plusque in ipsa iniuria detrimenti est quam in iis
- rebus emolumenti, quae pariuntur iniuria. Itaque ne iustitiam quidem recte
- quis dixerit per se ipsam optabilem, sed quia iucunditatis vel plurimum
- afferat. Nam diligi et carum esse iucundum est propterea, quia tutiorem vitam
- et voluptatem pleniorem efficit. Itaque non ob ea solum incommoda, quae
- eveniunt inprobis, fugiendam inprobitatem putamus, sed multo etiam magis,
- quod, cuius in animo versatur, numquam sinit eum respirare, numquam
- adquiescere.}
- %{60}
-\NewLipsumPar{Quodsi ne ipsarum quidem virtutum laus, in qua maxime ceterorum
- philosophorum exultat oratio, reperire exitum potest, nisi derigatur ad
- voluptatem, voluptas autem est sola, quae nos vocet ad se et alliciat suapte
- natura, non potest esse dubium, quin id sit summum atque extremum bonorum
- omnium, beateque vivere nihil aliud sit nisi cum voluptate vivere.}
- %{61}
-\NewLipsumPar{Huic certae stabilique sententiae quae sint coniuncta explicabo
- brevi. Nullus in ipsis error est finibus bonorum et malorum, id est in
- voluptate aut in dolore, sed in his rebus peccant, cum e quibus haec
- efficiantur ignorant. Animi autem voluptates et dolores nasci fatemur e
- corporis voluptatibus et doloribus \textendash\space itaque concedo, quod modo
- dicebas, cadere causa, si qui e nostris aliter existimant, quos quidem video
- esse multos, sed imperitos \textendash, quamquam autem et laetitiam nobis
- voluptas animi et molestiam dolor afferat, eorum tamen utrumque et ortum esse
- e corpore et ad corpus referri, nec ob eam causam non multo maiores esse et
- voluptates et dolores animi quam corporis. Nam corpore nihil nisi praesens et
- quod adest sentire possumus, animo autem et praeterita et futura. Ut enim
- aeque doleamus animo, cum corpore dolemus, fieri tamen permagna accessio
- potest, si aliquod aeternum et infinitum impendere malum nobis opinemur. Quod
- idem licet transferre in voluptatem, ut ea maior sit, si nihil tale metuamus.}
- %{62}
-\NewLipsumPar{Iam illud quidem perspicuum est, maximam animi aut voluptatem
- aut molestiam plus aut ad beatam aut ad miseram vitam afferre momenti quam
- eorum utrumvis, si aeque diu sit in corpore. Non placet autem detracta
- voluptate aegritudinem statim consequi, nisi in voluptatis locum dolor forte
- successerit, at contra gaudere nosmet omittendis doloribus, etiamsi voluptas
- ea, quae sensum moveat, nulla successerit, eoque intellegi potest quanta
- voluptas sit non dolere.}
- %{63}
-\NewLipsumPar{Sed ut iis bonis erigimur, quae expectamus, sic laetamur iis,
- quae recordamur. Stulti autem malorum memoria torquentur, sapientes bona
- praeterita grata recordatione renovata delectant. Est autem situm in nobis ut
- et adversa quasi perpetua oblivione obruamus et secunda iucunde ac suaviter
- meminerimus. Sed cum ea, quae praeterierunt, acri animo et attento intuemur,
- tum fit ut aegritudo sequatur, si illa mala sint, laetitia, si bona.}
- %{64}
-\NewLipsumPar{O praeclaram beate vivendi et apertam et simplicem et directam
- viam! Cum enim certe nihil homini possit melius esse quam vacare omni dolore
- et molestia perfruique maximis et animi et corporis voluptatibus, videtisne
- quam nihil praetermittatur quod vitam adiuvet, quo facilius id, quod
- propositum est, summum bonum consequamur? Clamat Epicurus, is quem vos nimis
- voluptatibus esse deditum dicitis; non posse iucunde vivi, nisi sapienter,
- honeste iusteque vivatur, nec sapienter, honeste, iuste, nisi iucunde.}
- %{65}
-\NewLipsumPar{Neque enim civitas in seditione beata esse potest nec in
- discordia dominorum domus; quo minus animus a se ipse dissidens secumque
- discordans gustare partem ullam liquidae voluptatis et liberae potest. Atqui
- pugnantibus et contrariis studiis consiliisque semper utens nihil quieti
- videre, nihil tranquilli potest.}
- %{66}
-\NewLipsumPar{Quodsi corporis gravioribus morbis vitae iucunditas impeditur,
- quanto magis animi morbis impediri necesse est! Animi autem morbi sunt
- cupiditates inmensae et inanes divitiarum, gloriae, dominationis,
- libidinosarum etiam voluptatum. Accedunt aegritudines, molestiae, maerores,
- qui exedunt animos conficiuntque curis hominum non intellegentium nihil
- dolendum esse animo, quod sit a dolore corporis praesenti futurove seiunctum.
- Nec vero quisquam stultus non horum morborum aliquo laborat, nemo igitur est
- non miser.}
- %{67}
-\NewLipsumPar{Accedit etiam mors, quae quasi saxum Tantalo semper impendet,
- tum superstitio, qua qui est imbutus quietus esse numquam potest. Praeterea
- bona praeterita non meminerunt, praesentibus non fruuntur, futura modo
- expectant, quae quia certa esse non possunt, conficiuntur et angore et metu
- maximeque cruciantur, cum sero sentiunt frustra se aut pecuniae studuisse aut
- imperiis aut opibus aut gloriae. Nullas enim consequuntur voluptates, quarum
- potiendi spe inflammati multos labores magnosque susceperant.}
- %{68}
-\NewLipsumPar{Ecce autem alii minuti et angusti aut omnia semper desperantes
- aut malivoli, invidi, difficiles, lucifugi, maledici, monstruosi, alii autem
- etiam amatoriis levitatibus dediti, alii petulantes, alii audaces, protervi,
- idem intemperantes et ignavi, numquam in sententia permanentes, quas ob causas
- in eorum vita nulla est intercapedo molestiae. Igitur neque stultorum quisquam
- beatus neque sapientium non beatus. Multoque hoc melius nos veriusque quam
- Stoici. Illi enim negant esse bonum quicquam nisi nescio quam illam umbram,
- quod appellant honestum non tam solido quam splendido nomine, virtutem autem
- nixam hoc honesto nullam requirere voluptatem atque ad beate vivendum se ipsa
- esse contentam.}
- %{69}
-\NewLipsumPar{Sed possunt haec quadam ratione dici non modo non repugnantibus,
- verum etiam approbantibus nobis. Sic enim ab Epicuro sapiens semper beatus
- inducitur: finitas habet cupiditates, neglegit mortem, de diis inmortalibus
- sine ullo metu vera sentit, non dubitat, si ita melius sit, migrare de vita.
- His rebus instructus semper est in voluptate. Neque enim tempus est ullum, quo
- non plus voluptatum habeat quam dolorum. Nam et praeterita grate meminit et
- praesentibus ita potitur, ut animadvertat quanta sint ea quamque iucunda,
- neque pendet ex futuris, sed expectat illa, fruitur praesentibus ab iisque
- vitiis, quae paulo ante collegi, abest plurimum et, cum stultorum vitam cum
- sua comparat, magna afficitur voluptate. Dolores autem si qui incurrunt,
- numquam vim tantam habent, ut non plus habeat sapiens, quod gaudeat, quam quod
- angatur.}
- %{70}
-\NewLipsumPar{Optime vero Epicurus, quod exiguam dixit fortunam intervenire
- sapienti maximasque ab eo et gravissimas res consilio ipsius et ratione
- administrari neque maiorem voluptatem ex infinito tempore aetatis percipi
- posse, quam ex hoc percipiatur, quod videamus esse finitum. In dialectica
- autem vestra nullam existimavit esse nec ad melius vivendum nec ad commodius
- disserendum viam. In physicis plurimum posuit. Ea scientia et verborum vis et
- natura orationis et consequentium repugnantiumve ratio potest perspici. Omnium
- autem rerum natura cognita levamur superstitione, liberamur mortis metu, non
- conturbamur ignoratione rerum, e qua ipsa horribiles existunt saepe
- formidines. Denique etiam morati melius erimus, cum didicerimus quid natura
- desideret. Tum vero, si stabilem scientiam rerum tenebimus, servata illa, quae
- quasi delapsa de caelo est ad cognitionem omnium, regula, ad quam omnia
- iudicia rerum dirigentur, numquam ullius oratione victi sententia desistemus.}
- %{71}
-\NewLipsumPar{Nisi autem rerum natura perspecta erit, nullo modo poterimus
- sensuum iudicia defendere. Quicquid porro animo cernimus, id omne oritur a
- sensibus; qui si omnes veri erunt, ut Epicuri ratio docet, tum denique poterit
- aliquid cognosci et percipi. Quos qui tollunt et nihil posse percipi dicunt,
- ii remotis sensibus ne id ipsum quidem expedire possunt, quod disserunt.
- Praeterea sublata cognitione et scientia tollitur omnis ratio et vitae
- degendae et rerum gerendarum. Sic e physicis et fortitudo sumitur contra
- mortis timorem et constantia contra metum religionis et sedatio animi omnium
- rerum occultarum ignoratione sublata et moderatio natura cupiditatum
- generibusque earum explicatis, et, ut modo docui, cognitionis regula et
- iudicio ab eadem illa constituto veri a falso distinctio traditur.}
- %{72}
-\NewLipsumPar{Restat locus huic disputationi vel maxime necessarius de
- amicitia, quam, si voluptas summum sit bonum, affirmatis nullam omnino fore.
- De qua Epicurus quidem ita dicit, omnium rerum, quas ad beate vivendum
- sapientia comparaverit, nihil esse maius amicitia, nihil uberius, nihil
- iucundius. Nec vero hoc oratione solum, sed multo magis vita et factis et
- moribus comprobavit. Quod quam magnum sit fictae veterum fabulae declarant, in
- quibus tam multis tamque variis ab ultima antiquitate repetitis tria vix
- amicorum paria reperiuntur, ut ad Orestem pervenias profectus a Theseo. At
- vero Epicurus una in domo, et ea quidem angusta, quam magnos quantaque amoris
- conspiratione consentientis tenuit amicorum greges! Quod fit etiam nunc ab
- Epicureis. Sed ad rem redeamus; de hominibus dici non necesse est.}
- %{73}
-\NewLipsumPar{Tribus igitur modis video esse a nostris de amicitia disputatum.
- Alii cum eas voluptates, quae ad amicos pertinerent, negarent esse per se
- ipsas tam expetendas, quam nostras expeteremus, quo loco videtur quibusdam
- stabilitas amicitiae vacillare, tuentur tamen eum locum seque facile, ut mihi
- videtur, expediunt. Ut enim virtutes, de quibus ante dictum est, sic amicitiam
- negant posse a voluptate discedere. Nam cum solitudo et vita sine amicis
- insidiarum et metus plena sit, ratio ipsa monet amicitias comparare, quibus
- partis confirmatur animus et a spe pariendarum voluptatum seiungi non potest.}
- %{74}
-\NewLipsumPar{Atque ut odia, invidiae, despicationes adversantur voluptatibus,
- sic amicitiae non modo fautrices fidelissimae, sed etiam effectrices sunt
- voluptatum tam amicis quam sibi, quibus non solum praesentibus fruuntur, sed
- etiam spe eriguntur consequentis ac posteri temporis. Quod quia nullo modo
- sine amicitia firmam et perpetuam iucunditatem vitae tenere possumus neque
- vero ipsam amicitiam tueri, nisi aeque amicos et nosmet ipsos diligamus,
- idcirco et hoc ipsum efficitur in amicitia, et amicitia cum voluptate
- conectitur. Nam et laetamur amicorum laetitia aeque atque nostra et pariter
- dolemus angoribus.}
- %{75}
-\NewLipsumPar{Quocirca eodem modo sapiens erit affectus erga amicum, quo in se
- ipsum, quosque labores propter suam voluptatem susciperet, eosdem suscipiet
- propter amici voluptatem. Quaeque de virtutibus dicta sunt, quem ad modum eae
- semper voluptatibus inhaererent, eadem de amicitia dicenda sunt. Praeclare
- enim Epicurus his paene verbis: \textquoteleft Eadem\textquoteright, inquit,
- \textquoteleft scientia confirmavit animum, ne quod aut sempiternum aut
- diuturnum timeret malum, quae perspexit in hoc ipso vitae spatio amicitiae
- praesidium esse firmissimum.\textquoteright}
- %{76}
-\NewLipsumPar{Sunt autem quidam Epicurei timidiores paulo contra vestra
- convicia, sed tamen satis acuti, qui verentur ne, si amicitiam propter nostram
- voluptatem expetendam putemus, tota amicitia quasi claudicare videatur. Itaque
- primos congressus copulationesque et consuetudinum instituendarum voluntates
- fieri propter voluptatem; cum autem usus progrediens familiaritatem effecerit,
- tum amorem efflorescere tantum, ut, etiamsi nulla sit utilitas ex amicitia,
- tamen ipsi amici propter se ipsos amentur. Etenim si loca, si fana, si urbes,
- si gymnasia, si campum, si canes, si equos, si ludicra exercendi aut venandi
- consuetudine adamare solemus, quanto id in hominum consuetudine facilius fieri
- poterit et iustius?}
- %{77}
-\NewLipsumPar{Sunt autem, qui dicant foedus esse quoddam sapientium, ut ne
- minus amicos quam se ipsos diligant. Quod et posse fieri intellegimus et saepe
- etiam videmus, et perspicuum est nihil ad iucunde vivendum reperiri posse,
- quod coniunctione tali sit aptius. Quibus ex omnibus iudicari potest non modo
- non impediri rationem amicitiae, si summum bonum in voluptate ponatur, sed
- sine hoc institutionem omnino amicitiae non posse reperiri.}
- %{78}
-\NewLipsumPar{Quapropter si ea, quae dixi, sole ipso illustriora et clariora
- sunt, si omnia dixi hausta e fonte naturae, si tota oratio nostra omnem sibi
- fidem sensibus confirmat, id est incorruptis atque integris testibus, si
- infantes pueri, mutae etiam bestiae paene loquuntur magistra ac duce natura
- nihil esse prosperum nisi voluptatem, nihil asperum nisi dolorem, de quibus
- neque depravate iudicant neque corrupte, nonne ei maximam gratiam habere
- debemus, qui hac exaudita quasi voce naturae sic eam firme graviterque
- comprehenderit, ut omnes bene sanos in viam placatae, tranquillae, quietae,
- beatae vitae deduceret? Qui quod tibi parum videtur eruditus, ea causa est,
- quod nullam eruditionem esse duxit, nisi quae beatae vitae disciplinam
- iuvaret.}
- %{79}
-\NewLipsumPar{An ille tempus aut in poetis evolvendis, ut ego et Triarius te
- hortatore facimus, consumeret, in quibus nulla solida utilitas omnisque
- puerilis est delectatio, aut se, ut Plato, in musicis, geometria, numeris,
- astris contereret, quae et a falsis initiis profecta vera esse non possunt et,
- si essent vera, nihil afferrent, quo iucundius, id est quo melius viveremus,
- eas ergo artes persequeretur, vivendi artem tantam tamque et operosam et
- perinde fructuosam relinqueret? Non ergo Epicurus ineruditus, sed ii indocti,
- qui, quae pueros non didicisse turpe est, ea putant usque ad senectutem esse
- discenda.}
- %{80}
-\NewLipsumPar{Quae cum dixisset, Explicavi, inquit, sententiam meam, et eo
- quidem consilio, tuum iudicium ut cognoscerem, quoniam mihi ea facultas, ut id
- meo arbitratu facerem, ante hoc tempus numquam est data.}
- %{81}
-\NewLipsumPar{Hic cum uterque me intueretur seseque ad audiendum significarent
- paratos, Primum, inquam, deprecor, ne me tamquam philosophum putetis scholam
- vobis aliquam explicaturum, quod ne in ipsis quidem philosophis magnopere
- umquam probavi. Quando enim Socrates, qui parens philosophiae iure dici
- potest, quicquam tale fecit? Eorum erat iste mos qui tum sophistae
- nominabantur, quorum e numero primus est ausus Leontinus Gorgias in conventu
- poscere quaestionem, id est iubere dicere, qua de re quis vellet audire. Audax
- negotium, dicerem impudens, nisi hoc institutum postea translatum ad
- philosophos nostros esset.}
- %{82}
-\NewLipsumPar{Sed et illum, quem nominavi, et ceteros sophistas, ut e Platone
- intellegi potest, lusos videmus a Socrate. Is enim percontando atque
- interrogando elicere solebat eorum opiniones, quibuscum disserebat, ut ad ea,
- quae ii respondissent, si quid videretur, diceret. Qui mos cum a posterioribus
- non esset retentus, Arcesilas eum revocavit instituitque ut ii, qui se audire
- vellent, non de se quaererent, sed ipsi dicerent, quid sentirent; quod cum
- dixissent, ille contra. Sed eum qui audiebant, quoad poterant, defendebant
- sententiam suam. Apud ceteros autem philosophos, qui quaesivit aliquid, tacet;
- quod quidem iam fit etiam in Academia. Ubi enim is, qui audire vult, ita
- dixit: \textquoteleft Voluptas mihi videtur esse summum bonum\textquoteright,
- perpetua oratione contra disputatur, ut facile intellegi possit eos, qui
- aliquid sibi videri dicant, non ipsos in ea sententia esse, sed audire velle
- contraria.}
- %{83}
-\NewLipsumPar{Nos commodius agimus. Non enim solum Torquatus dixit quid
- sentiret, sed etiam cur. Ego autem arbitror, quamquam admodum delectatus sum
- eius oratione perpetua, tamen commodius, cum in rebus singulis insistas et
- intellegas quid quisque concedat, quid abnuat, ex rebus concessis concludi
- quod velis et ad exitum perveniri. Cum enim fertur quasi torrens oratio,
- quamvis multa cuiusque modi rapiat, nihil tamen teneas, nihil apprehendas,
- nusquam orationem rapidam coerceas. Omnis autem in quaerendo, quae via quadam
- et ratione habetur, oratio praescribere primum debet ut quibusdam in formulis
- ea res agetur, ut, inter quos disseritur, conveniat quid sit id, de quo
- disseratur.}
- %{84}
-\NewLipsumPar{Hoc positum in Phaedro a Platone probavit Epicurus sensitque in
- omni disputatione id fieri oportere. Sed quod proximum fuit non vidit. Negat
- enim definiri rem placere, sine quo fieri interdum non potest, ut inter eos,
- qui ambigunt, conveniat quid sit id, de quo agatur, velut in hoc ipso, de quo
- nunc disputamus. Quaerimus enim finem bonorum. Possumusne hic scire qualis
- sit, nisi contulerimus inter nos, cum finem bonorum dixerimus, quid finis,
- quid etiam sit ipsum bonum?}
- %{85}
-\NewLipsumPar{Atqui haec patefactio quasi rerum opertarum, cum quid quidque
- sit aperitur, definitio est. Qua tu etiam inprudens utebare non numquam. Nam
- hunc ipsum sive finem sive extremum sive ultimum definiebas id esse, quo
- omnia, quae recte fierent, referrentur neque id ipsum usquam referretur.
- Praeclare hoc quidem. Bonum ipsum etiam quid esset, fortasse, si opus fuisset,
- definisses aut quod esset natura adpetendum aut quod prodesset aut quod
- iuvaret aut quod liberet modo. Nunc idem, nisi molestum est, quoniam tibi non
- omnino displicet definire et id facis, cum vis, velim definias quid sit
- voluptas, de quo omnis haec quaestio est.}
- %{86}
-\NewLipsumPar{Quis, quaeso, inquit, est, qui quid sit voluptas nesciat, aut
- qui, quo magis id intellegat, definitionem aliquam desideret? Me ipsum esse
- dicerem, inquam, nisi mihi viderer habere bene cognitam voluptatem et satis
- firme conceptam animo atque comprehensam. Nunc autem dico ipsum Epicurum
- nescire et in eo nutare eumque, qui crebro dicat diligenter oportere exprimi
- quae vis subiecta sit vocibus, non intellegere interdum, quid sonet haec vox
- voluptatis, id est quae res huic voci subiciatur. Tum ille ridens: Hoc vero,
- inquit, optimum, ut is, qui finem rerum expetendarum voluptatem esse dicat, id
- extremum, id ultimum bonorum, id ipsum quid et quale sit, nesciat! Atqui,
- inquam, aut Epicurus quid sit voluptas aut omnes mortales, qui ubique sunt,
- nesciunt. Quonam, inquit, modo? Quia voluptatem hanc esse sentiunt omnes, quam
- sensus accipiens movetur et iucunditate quadam perfunditur.}
- %{87}
-\NewLipsumPar{Quid ergo? Istam voluptatem, inquit, Epicurus ignorat? Non
- semper, inquam; nam interdum nimis etiam novit, quippe qui testificetur ne
- intellegere quidem se posse ubi sit aut quod sit ullum bonum praeter illud,
- quod cibo et potione et aurium delectatione et obscena voluptate capiatur. An
- haec ab eo non dicuntur? Quasi vero me pudeat, inquit, istorum, aut non possim
- quem ad modum ea dicantur ostendere! Ego vero non dubito, inquam, quin facile
- possis, nec est quod te pudeat sapienti adsentiri, qui se unus, quod sciam,
- sapientem profiteri sit ausus. Nam Metrodorum non puto ipsum professum, sed,
- cum appellaretur ab Epicuro, repudiare tantum beneficium noluisse; septem
- autem illi non suo, sed populorum suffragio omnium nominati sunt.}
- %{88}
-\NewLipsumPar{Verum hoc loco sumo verbis his eandem certe vim voluptatis
- Epicurum nosse quam ceteros. Omnes enim iucundum motum, quo sensus hilaretur.
- Graece [\ldots], Latine voluptatem vocant. Quid est igitur, inquit, quod
- requiras? Dicam, inquam, et quidem discendi causa magis, quam quo te aut
- Epicurum reprehensum velim. Ego quoque, inquit, didicerim libentius si quid
- attuleris, quam te reprehenderim. Tenesne igitur, inquam, Hieronymus Rhodius
- quid dicat esse summum bonum, quo putet omnia referri oportere? Teneo, inquit,
- finem illi videri nihil dolere. Quid? Idem iste, inquam, de voluptate quid
- sentit?}
- %{89}
-\NewLipsumPar{Negat esse eam, inquit, propter se expetendam. Aliud igitur esse
- censet gaudere, aliud non dolere. Et quidem, inquit, vehementer errat; nam, ut
- paulo ante docui, augendae voluptatis finis est doloris omnis amotio. Non
- dolere, inquam, istud quam vim habeat postea videro; aliam vero vim voluptatis
- esse, aliam nihil dolendi, nisi valde pertinax fueris, concedas necesse est.
- Atqui reperies, inquit, in hoc quidem pertinacem; dici enim nihil potest
- verius. Estne, quaeso, inquam, sitienti in bibendo voluptas? Quis istud
- possit, inquit, negare? Eademne, quae restincta siti? Immo alio genere;
- restincta enim sitis stabilitatem voluptatis habet, inquit, illa autem
- voluptas ipsius restinctionis in motu est. Cur igitur, inquam, res tam
- dissimiles eodem nomine appellas?}
- %{90}
-\NewLipsumPar{Quid paulo ante, inquit, dixerim nonne meministi, cum omnis
- dolor detractus esset, variari, non augeri voluptatem? Memini vero, inquam;
- sed tu istuc dixti bene Latine, parum plane. Varietas enim Latinum verbum est,
- idque proprie quidem in disparibus coloribus dicitur, sed transfertur in multa
- disparia: varium poema, varia oratio, varii mores, varia fortuna, voluptas
- etiam varia dici solet, cum percipitur e multis dissimilibus rebus dissimilis
- efficientibus voluptates. Eam si varietatem diceres, intellegerem, ut etiam
- non dicente te intellego; ista varietas quae sit non satis perspicio, quod
- ais, cum dolore careamus, tum in summa voluptate nos esse, cum autem vescamur
- iis rebus, quae dulcem motum afferant sensibus, tum esse in motu voluptatem,
- qui faciat varietatem voluptatum, sed non augeri illam non dolendi voluptatem,
- quam cur voluptatem appelles nescio.}
- %{91}
-\NewLipsumPar{An potest, inquit ille, quicquam esse suavius quam nihil dolere?
- Immo sit sane nihil melius, inquam\textendash nondum enim id
- quaero\textendash, num propterea idem voluptas est, quod, ut ita dicam,
- indolentia? Plane idem, inquit, et maxima quidem, qua fieri nulla maior
- potest. Quid dubitas igitur, inquam, summo bono a te ita constituto, ut id
- totum in non dolendo sit, id tenere unum, id tueri, id defendere?}
- %{92}
-\NewLipsumPar{Quid enim necesse est, tamquam meretricem in matronarum coetum,
- sic voluptatem in virtutum concilium adducere? Invidiosum nomen est, infame,
- suspectum. Itaque hoc frequenter dici solet a vobis, non intellegere nos, quam
- dicat Epicurus voluptatem. Quod quidem mihi si quando dictum est\textendash
- est autem dictum non parum saepe\textendash, etsi satis clemens sum in
- disputando, tamen interdum soleo subirasci. Egone non intellego, quid sit
- [\ldots] Graece, Latine voluptas? Utram tandem linguam nescio? Deinde qui fit,
- ut ego nesciam, sciant omnes, quicumque Epicurei esse voluerunt? Quod vestri
- quidem vel optime disputant, nihil opus esse eum, qui philosophus futurus sit,
- scire litteras. Itaque ut maiores nostri ab aratro adduxerunt Cincinnatum
- illum, ut dictator esset, sic vos de pagis omnibus colligitis bonos illos
- quidem viros, sed certe non pereruditos.}
- %{93}
-\NewLipsumPar{Ergo illi intellegunt quid Epicurus dicat, ego non intellego? Ut
- scias me intellegere, primum idem esse dico voluptatem, quod ille [\ldots]. Et
- quidem saepe quaerimus verbum Latinum par Graeco et quod idem valeat; hic
- nihil fuit, quod quaereremus. Nullum inveniri verbum potest quod magis idem
- declaret Latine, quod Graece, quam declarat voluptas. Huic verbo omnes, qui
- ubique sunt, qui Latine sciunt, duas res subiciunt, laetitiam in animo,
- commotionem suavem iucunditatis in corpore. Nam et ille apud Trabeam
- \textquoteleft voluptatem animi nimiam\textquoteright\space laetitiam dicit
- eandem, quam ille Caecilianus, qui \textquoteleft omnibus laetitiis
- laetum\textquoteright\space esse se narrat. Sed hoc interest, quod voluptas
- dicitur etiam in animo\textendash vitiosa res, ut Stoici putant, qui eam sic
- definiunt: sublationem animi sine ratione opinantis se magno bono
- frui\textendash, non dicitur laetitia nec gaudium in corpore.}
- %{94}
-\NewLipsumPar{In eo autem voluptas omnium Latine loquentium more ponitur, cum
- percipitur ea, quae sensum aliquem moveat, iucunditas. Hanc quoque
- iucunditatem, si vis, transfer in animum; iuvare enim in utroque dicitur, ex
- eoque iucundum, modo intellegas inter illum, qui dicat: \textquoteleft Tanta
- laetitia auctus sum, ut nihil constet\textquoteright, et eum, qui:
- \textquoteleft Nunc demum mihi animus ardet\textquoteright, quorum alter
- laetitia gestiat, alter dolore crucietur, esse illum medium: \textquoteleft
- Quamquam haec inter nos nuper notitia admodum est\textquoteright, qui nec
- laetetur nec angatur, itemque inter eum, qui potiatur corporis expetitis
- voluptatibus, et eum, qui crucietur summis doloribus, esse eum, qui utroque
- careat.}
- %{95}
-\NewLipsumPar{Satisne igitur videor vim verborum tenere, an sum etiam nunc vel
- Graece loqui vel Latine docendus? Et tamen vide, ne, si ego non intellegam
- quid Epicurus loquatur, cum Graece, ut videor, luculenter sciam, sit aliqua
- culpa eius, qui ita loquatur, ut non intellegatur. Quod duobus modis sine
- reprehensione fit, si aut de industria facias, ut Heraclitus, \textquoteleft
- cognomento qui [\ldots] perhibetur, quia de natura nimis obscure
- memoravit\textquoteright, aut cum rerum obscuritas, non verborum, facit ut non
- intellegatur oratio, qualis est in Timaeo Platonis. Epicurus autem, ut opinor,
- nec non vult, si possit, plane et aperte loqui, nec de re obscura, ut physici,
- aut artificiosa, ut mathematici, sed de illustri et facili et iam in vulgus
- pervagata loquitur. Quamquam non negatis nos intellegere quid sit voluptas,
- sed quid ille dicat. E quo efficitur, non ut nos non intellegamus quae vis sit
- istius verbi, sed ut ille suo more loquatur, nostrum neglegat.}
- %{96}
-\NewLipsumPar{Si enim idem dicit, quod Hieronymus, qui censet summum bonum
- esse sine ulla molestia vivere, cur mavult dicere voluptatem quam vacuitatem
- doloris, ut ille facit, qui quid dicat intellegit? Sin autem voluptatem putat
- adiungendam eam, quae sit in motu\textendash sic enim appellat hanc dulcem:
- \textquoteleft in motu\textquoteright, illam nihil dolentis \textquoteleft in
- stabilitate\textquoteright\textendash, quid tendit? Cum efficere non possit ut
- cuiquam, qui ipse sibi notus sit, hoc est qui suam naturam sensumque
- perspexerit, vacuitas doloris et voluptas idem esse videatur. Hoc est vim
- afferre, Torquate, sensibus, extorquere ex animis cognitiones verborum, quibus
- inbuti sumus. Quis enim est, qui non videat haec esse in natura rerum tria?
- Unum, cum in voluptate sumus, alterum, cum in dolore, tertium hoc, in quo nunc
- equidem sum, credo item vos, nec in dolore nec in voluptate; ut in voluptate
- sit, qui epuletur, in dolore, qui torqueatur. Tu autem inter haec tantam
- multitudinem hominum interiectam non vides nec laetantium nec dolentium?}
- %{97}
-\NewLipsumPar{Non prorsus, inquit, omnisque, qui sine dolore sint, in
- voluptate, et ea quidem summa, esse dico. Ergo in eadem voluptate eum, qui
- alteri misceat mulsum ipse non sitiens, et eum, qui illud sitiens bibat? Tum
- ille: Finem, inquit, interrogandi, si videtur, quod quidem ego a principio ita
- me malle dixeram hoc ipsum providens, dialecticas captiones. Rhetorice igitur,
- inquam, nos mavis quam dialectice disputare? Quasi vero, inquit, perpetua
- oratio rhetorum solum, non etiam philosophorum sit. Zenonis est, inquam, hoc
- Stoici. Omnem vim loquendi, ut iam ante Aristoteles, in duas tributam esse
- partes, rhetoricam palmae, dialecticam pugni similem esse dicebat, quod latius
- loquerentur rhetores, dialectici autem compressius. Obsequar igitur voluntati
- tuae dicamque, si potero, rhetorice, sed hac rhetorica philosophorum, non
- nostra illa forensi, quam necesse est, cum populariter loquatur, esse interdum
- paulo hebetiorem.}
- %{98}
-\NewLipsumPar{Sed dum dialecticam, Torquate, contemnit Epicurus, quae una
- continet omnem et perspiciendi quid in quaque re sit scientiam et iudicandi
- quale quidque sit et ratione ac via disputandi, ruit in dicendo, ut mihi
- quidem videtur, nec ea, quae docere vult, ulla arte distinguit, ut haec ipsa,
- quae modo loquebamur. Summum a vobis bonum voluptas dicitur. Aperiendum est
- igitur, quid sit voluptas; aliter enim explicari, quod quaeritur, non potest.
- Quam si explicavisset, non tam haesitaret. Aut enim eam voluptatem tueretur,
- quam Aristippus, id est, qua sensus dulciter ac iucunde movetur, quam etiam
- pecudes, si loqui possent, appellarent voluptatem, aut, si magis placeret suo
- more loqui, quam ut Omnes Danai atque Mycenenses. Attica pubes reliquique
- Graeci, qui hoc anapaesto citantur, hoc non dolere solum voluptatis nomine
- appellaret, illud Aristippeum contemneret, aut, si utrumque probaret, ut
- probat, coniungeret doloris vacuitatem cum voluptate et duobus ultimis
- uteretur.}
- %{99}
-\NewLipsumPar{Multi enim et magni philosophi haec ultima bonorum iuncta
- fecerunt, ut Aristoteles virtutis usum cum vitae perfectae prosperitate
- coniunxit, Callipho adiunxit ad honestatem voluptatem, Diodorus ad eandem
- honestatem addidit vacuitatem doloris. Idem fecisset Epicurus, si sententiam
- hanc, quae nunc Hieronymi est, coniunxisset cum Aristippi vetere sententia.
- Illi enim inter se dissentiunt. Propterea singulis finibus utuntur et, cum
- uterque Graece egregie loquatur, nec Aristippus, qui voluptatem summum bonum
- dicit, in voluptate ponit non dolere, neque Hieronymus, qui summum bonum
- statuit non dolere, voluptatis nomine umquam utitur pro illa indolentia,
- quippe qui ne in expetendis quidem rebus numeret voluptatem.}
- %{100}
-\NewLipsumPar{Duae sunt enim res quoque, ne tu verba solum putes. Unum est
- sine dolore esse, alterum cum voluptate. Vos ex his tam dissimilibus rebus non
- modo nomen unum \textendash nam id facilius paterer\textendash, sed etiam rem
- unam ex duabus facere conamini, quod fieri nullo modo potest. Hic, qui
- utrumque probat, ambobus debuit uti, sicut facit re, neque tamen dividit
- verbis. Cum enim eam ipsam voluptatem, quam eodem nomine omnes appellamus,
- laudat locis plurimis, audet dicere ne suspicari quidem se ullum bonum
- seiunctum ab illo Aristippeo genere voluptatis, atque ibi hoc dicit, ubi omnis
- eius est oratio de summo bono. In alio vero libro, in quo breviter
- comprehensis gravissimis sententiis quasi oracula edidisse sapientiae dicitur,
- scribit his verbis, quae nota tibi profecto, Torquate, sunt\textendash quis
- enim vestrum non edidicit Epicuri [\ldots], id est quasi maxime ratas, quia
- gravissimae sint ad beate vivendum breviter enuntiatae sententiae?\textendash
- animadverte igitur rectene hanc sententiam interpreter:}
- %{101}
-\NewLipsumPar{\textquoteleft Si ea, quae sunt luxuriosis efficientia
- voluptatum, liberarent eos deorum et mortis et doloris metu docerentque qui
- essent fines cupiditatum, nihil haberemus (quod reprehenderemus), cum undique
- complerentur voluptatibus nec haberent ulla ex parte aliquid aut dolens aut
- aegrum, id est autem malum.\textquoteright\space Hoc loco tenere se Triarius
- non potuit. Obsecro, inquit, Torquate, haec dicit Epicurus? Quod mihi quidem
- visus est, cum sciret, velle tamen confitentem audire Torquatum. At ille non
- pertimuit saneque fidenter: Istis quidem ipsis verbis, inquit; sed quid
- sentiat, non videtis. Si alia sentit, inquam, alia loquitur, numquam
- intellegam quid sentiat; sed plane dicit quod intellegit. Idque si ita dicit,
- non esse reprehendendos luxuriosos, si sapientes sint, dicit absurde,
- similiter et si dicat non reprehendendos parricidas, si nec cupidi sint nec
- deos metuant nec mortem nec dolorem. Et tamen quid attinet luxuriosis ullam
- exceptionem dari aut fingere aliquos, qui, cum luxuriose viverent, a summo
- philosopho non reprehenderentur eo nomine dumtaxat, cetera caverent?}
- %{102}
-\NewLipsumPar{Sed tamen nonne reprehenderes, Epicure, luxuriosos ob eam ipsam
- causam, quod ita viverent, ut persequerentur cuiusque modi voluptates, cum
- esset praesertim, ut ais tu, summa voluptas nihil dolere? Atqui reperiemus
- asotos primum ita non religiosos, ut edint de patella, deinde ita mortem non
- timentes, ut illud in ore habeant ex Hymnide: \textquoteleft Mihi sex menses
- satis sunt vitae, septimum Orco spondeo\textquoteright. Iam doloris
- medicamenta illa Epicurea tamquam de narthecio proment: \textquoteleft Si
- gravis, brevis; si longus, levis.\textquoteright\space Unum nescio, quo modo
- possit, si luxuriosus sit, finitas cupiditates habere.}
- %{103}
-\NewLipsumPar{Quid ergo attinet dicere: \textquoteleft Nihil haberem, quod
- reprehenderem, si finitas cupiditates haberent\textquoteright? Hoc est dicere:
- \textquoteleft Non reprehenderem asotos, si non essent
- asoti.\textquoteright\space isto modo ne improbos quidem, si essent boni viri.
- Hic homo severus luxuriam ipsam per se reprehendendam non putat, et hercule,
- Torquate, ut verum loquamur, si summum bonum voluptas est, rectissime non
- putat. Noli enim mihi fingere asotos, ut soletis, qui in mensam vomant, et qui
- de conviviis auferantur crudique postridie se rursus ingurgitent, qui solem,
- ut aiunt, nec occidentem umquam viderint nec orientem, qui consumptis
- patrimoniis egeant. Nemo nostrum istius generis asotos iucunde putat vivere.
- Mundos, elegantis, optimis cocis, pistoribus, piscatu, aucupio, venatione, his
- omnibus exquisitis, vitantes cruditatem, quibus vinum defusum e pleno sit
- chrysizon, ut ait Lucilius, cui nihildum situlus et sacculus abstulerit,
- adhibentis ludos et quae sequuntur, illa, quibus detractis clamat Epicurus se
- nescire quid sit bonum; adsint etiam formosi pueri, qui ministrent, respondeat
- his vestis, argentum, Corinthium, locus ipse, aedificium\textendash hos ergo
- asotos bene quidem vivere aut beate numquam dixerim.}
- %{104}
-\NewLipsumPar{Ex quo efficitur, non ut voluptas ne sit voluptas, sed ut
- voluptas non sit summum bonum. Nec ille, qui Diogenem Stoicum adolescens, post
- autem Panaetium audierat, Laelius, eo dictus est sapiens, quod non
- intellegeret quid suavissimum esset\textendash nec enim sequitur, ut, cui cor
- sapiat, ei non sapiat palatus\textendash, sed quia parvi id duceret. O
- lapathe, ut iactare, nec es satis cognitu\textquoteright\space qui sis! In quo
- [cognitu] Laelius clamores [\ldots] ille so lebat Edere compellans gumias ex
- ordine nostros. Praeclare Laelius, et recte [\ldots], illudque vere: O Publi,
- o gurges, Galloni! Es homo miser, inquit. Cenasti in vita numquam bene, cum
- omnia in ista Consumis squilla atque acupensere cum decimano. Is haec
- loquitur, qui in voluptate nihil ponens negat eum bene cenare, qui omnia ponat
- in voluptate, et tamen non negat libenter cenasse umquam
- Gallonium\textendash\space mentiretur enim\textendash, sed bene. Ita graviter
- et severe voluptatem secrevit a bono. Ex quo illud efficitur, qui bene cenent
- omnis libenter cenare, qui libenter, non continuo bene.}
- %{105}
-\NewLipsumPar{Semper Laelius bene. Quid bene? Dicet Lucilius: \textquoteleft
- cocto, condito\textquoteright, sed cedo caput cenae: \textquoteleft sermone
- bono\textquoteright, quid ex eo? \textquoteleft si quaeris,
- libenter\textquoteright; veniebat enim ad cenam, ut animo quieto satiaret
- desideria naturae. Recte ergo is negat umquam bene cenasse Gallonium, recte
- miserum, cum praesertim in eo omne studium consumeret. Quem libenter cenasse
- nemo negat. Cur igitur non bene? Quia, quod bene, id recte, frugaliter,
- honeste; ille porro [male] prave, nequiter, turpiter cenabat; non igitur
- (bene). Nec lapathi suavitatem acupenseri Galloni Laelius anteponebat, sed
- suavitatem ipsam neglegebat; quod non faceret, si in voluptate summum bonum
- poneret.}
- %{106}
-\NewLipsumPar{Semovenda est igitur voluptas, non solum ut recta sequamini, sed
- etiam ut loqui deceat frugaliter. Possumusne ergo in vita summum bonum dicere,
- cum id ne in cena quidem posse videamur? Quo modo autem philosophus loquitur?
- \textquoteleft Tria genera cupiditatum, naturales et necessariae, naturales et
- non necessariae, nec naturales nec necessariae.\textquoteright\space primum
- divisit ineleganter; duo enim genera quae erant, fecit tria. Hoc est non
- dividere, sed frangere. Qui haec didicerunt, quae ille contemnit, sic solent:
- \textquoteleft Duo genera cupiditatum, naturales et inanes, naturalium duo,
- necessariae et non necessariae.\textquoteright\space confecta res esset.
- Vitiosum est enim in dividendo partem in genere numerare.}
- %{107}
-\NewLipsumPar{Sed hoc sane concedamus. Contemnit enim disserendi elegantiam,
- confuse loquitur. Gerendus est mos, modo recte sentiat. Et quidem illud ipsum
- non nimium probo et tantum patior, philosophum loqui de cupiditatibus
- finiendis. An potest cupiditas finiri? Tollenda est atque extrahenda
- radicitus. Quis est enim, in quo sit cupiditas, quin recte cupidus dici
- possit? Ergo et avarus erit, sed finite, et adulter, verum habebit modum, et
- luxuriosus eodem modo. Qualis ista philosophia est, quae non interitum afferat
- pravitatis, sed sit contenta mediocritate vitiorum? Quamquam in hac divisione
- rem ipsam prorsus probo, elegantiam desidero. Appellet haec desideria naturae,
- cupiditatis nomen servet alio, ut eam, cum de avaritia, cum de intemperantia,
- cum de maximis vitiis loquetur, tamquam capitis accuset.}
- %{108}
-\NewLipsumPar{Sed haec quidem liberius ab eo dicuntur et saepius. Quod equidem
- non reprehendo; est enim tanti philosophi tamque nobilis audacter sua decreta
- defendere. Sed tamen ex eo, quod eam voluptatem, quam omnes gentes hoc nomine
- appellant, videtur amplexari saepe vehementius, in magnis interdum versatur
- angustiis, ut hominum conscientia remota nihil tam turpe sit, quod voluptatis
- causa non videatur esse facturus. Deinde, ubi erubuit\textendash vis enim est
- permagna naturae\textendash, confugit illuc, ut neget accedere quicquam posse
- ad voluptatem nihil dolentis. At iste non dolendi status non vocatur voluptas.
- \textquoteleft Non laboro\textquoteright, inquit, \textquoteleft de
- nomine\textquoteright. Quid, quod res alia tota est? \textquoteleft Reperiam
- multos, vel innumerabilis potius, non tam curiosos nec tam molestos, quam vos
- estis, quibus, quid velim, facile persuadeam.\textquoteright\space quid ergo
- dubitamus, quin, si non dolere voluptas sit summa, non esse in voluptate dolor
- sit maximus? Cur id non ita fit? \textquoteleft Quia dolori non voluptas
- contraria est, sed doloris privatio.\textquoteright}
- %{109}
-\NewLipsumPar{Hoc vero non videre, maximo argumento esse voluptatem illam, qua
- sublata neget se intellegere omnino quid sit bonum\textendash eam autem ita
- persequitur: quae palato percipiatur, quae auribus; cetera addit, quae si
- appelles, honos praefandus sit\textendash hoc igitur, quod solum bonum severus
- et gravis philosophus novit, idem non videt ne expetendum quidem esse, quod
- eam voluptatem hoc eodem auctore non desideremus, cum dolore careamus.}
- %{110}
-\NewLipsumPar{Quam haec sunt contraria! Hic si definire, si dividere
- didicisset, si loquendi vim, si denique consuetudinem verborum teneret,
- numquam in tantas salebras incidisset. Nunc vides, quid faciat. Quam nemo
- umquam voluptatem appellavit, appellat; quae duo sunt, unum facit. Hanc in
- motu voluptatem \textendash sic enim has suaves et quasi dulces voluptates
- appellat\textendash interdum ita extenuat, ut M\textquoteright. Curium putes
- loqui, interdum ita laudat, ut quid praeterea sit bonum neget se posse ne
- suspicari quidem. Quae iam oratio non a philosopho aliquo, sed a censore
- opprimenda est. Non est enim vitium in oratione solum, sed etiam in moribus.
- Luxuriam non reprehendit, modo sit vacua infinita cupiditate et timore. Hoc
- loco discipulos quaerere videtur, ut, qui asoti esse velint, philosophi ante
- fiant.}
- %{111}
-\NewLipsumPar{A primo, ut opinor, animantium ortu petitur origo summi boni.
- \textquoteleft Simul atque natum animal est, gaudet voluptate et eam appetit
- ut bonum, aspernatur dolorem ut malum.\textquoteright\space De malis autem et
- bonis ab iis animalibus, quae nondum depravata sint, ait optime iudicari. Haec
- et tu ita posuisti, et verba vestra sunt. Quam multa vitiosa! Summum enim
- bonum et malum vagiens puer utra voluptate diiudicabit, stante an movente?
- Quoniam, si dis placet, ab Epicuro loqui discimus. Si stante, hoc natura
- videlicet vult, salvam esse se, quod concedimus; si movente, quod tamen
- dicitis, nulla turpis voluptas erit, quae praetermittenda sit, et simul non
- proficiscitur animal illud modo natum a summa voluptate, quae est a te posita
- in non dolendo.}
- %{112}
-\NewLipsumPar{Nec tamen argumentum hoc Epicurus a parvis petivit aut etiam a
- bestiis, quae putat esse specula naturae, ut diceret ab iis duce natura hanc
- voluptatem expeti nihil dolendi. Nec enim haec movere potest appetitum animi,
- nec ullum habet ictum, quo pellat animum, status hic non dolendi, itaque in
- hoc eodem peccat Hieronymus. At ille pellit, qui permulcet sensum voluptate.
- Itaque Epicurus semper hoc utitur, ut probet voluptatem natura expeti, quod ea
- voluptas, quae in motu sit, et parvos ad se alliciat et bestias, non illa
- stabilis, in qua tantum inest nihil dolere. Qui igitur convenit ab alia
- voluptate dicere naturam proficisci, in alia summum bonum ponere?}
- %{113}
-\NewLipsumPar{Bestiarum vero nullum iudicium puto. Quamvis enim depravatae non
- sint, pravae tamen esse possunt. Ut bacillum aliud est inflexum et incurvatum
- de industria, aliud ita natum, sic ferarum natura non est illa quidem
- depravata mala disciplina, sed natura sua. Nec vero ut voluptatem expetat,
- natura movet infantem, sed tantum ut se ipse diligat, ut integrum se salvumque
- velit. Omne enim animal, simul et ortum est, se ipsum et omnes partes suas
- diligit duasque, quae maximae sunt, in primis amplectitur, animum et corpus,
- deinde utriusque partes. Nam sunt et in animo praecipua quaedam et in corpore,
- quae cum leviter agnovit, tum discernere incipit, ut ea, quae prima data sunt
- natura, appetat asperneturque contraria.}
- %{114}
-\NewLipsumPar{In his primis naturalibus voluptas insit necne, magna quaestio
- est. Nihil vero putare esse praeter voluptatem, non membra, non sensus, non
- ingenii motum, non integritatem corporis, non valitudinem [corporis], summae
- mihi videtur inscitiae. Atque ab isto capite fluere necesse est omnem rationem
- bonorum et malorum. Polemoni et iam ante Aristoteli ea prima visa sunt, quae
- paulo ante dixi. Ergo nata est sententia veterum Academicorum et
- Peripateticorum, ut finem bonorum dicerent secundum naturam vivere, id est
- virtute adhibita frui primis a natura datis. Callipho ad virtutem nihil
- adiunxit nisi voluptatem, Diodorus vacuitatem doloris. ** his omnibus, quos
- dixi, consequentes fines sunt bonorum, Aristippo simplex voluptas, Stoicis
- consentire naturae, quod esse volunt e virtute, id est honeste, vivere, quod
- ita interpretantur: vivere cum intellegentia rerum earum, quae natura
- evenirent, eligentem ea, quae essent secundum naturam, reicientemque
- contraria.}
- %{115}
-\NewLipsumPar{Ita tres sunt fines expertes honestatis, unus Aristippi vel
- Epicuri, alter Hieronymi, Carneadi tertius, tres, in quibus honestas cum
- aliqua accessione, Polemonis, Calliphontis, Diodori, una simplex, cuius Zeno
- auctor, posita in decore tota, id est in honestate; nam Pyrrho, Aristo,
- Erillus iam diu abiecti. Reliqui sibi constiterunt, ut extrema cum initiis
- convenirent, ut Aristippo voluptas, Hieronymo doloris vacuitas, Carneadi frui
- principiis naturalibus esset extremum. Epicurus autem cum in prima
- commendatione voluptatem dixisset, si eam, quam Aristippus, idem tenere debuit
- ultimum bonorum, quod ille; sin eam, quam Hieronymus, (ne) fecisset idem, ut
- voluptatem illam Aristippi in prima commendatione poneret.}
- %{116}
-\NewLipsumPar{Nam quod ait sensibus ipsis iudicari voluptatem bonum esse,
- dolorem malum, plus tribuit sensibus, quam nobis leges permittunt, (cum)
- privatarum litium iudices sumus. Nihil enim possumus iudicare, nisi quod est
- nostri iudicii\textendash in quo frustra iudices solent, cum sententiam
- pronuntiant, addere: \textquoteleft si quid mei iudicii est\textquoteright; si
- enim non fuit eorum iudicii, nihilo magis hoc non addito illud est
- iudicatum\textendash. Quid iudicant sensus? Dulce amarum, leve asperum, prope
- longe, stare movere, quadratum rotundum.}
- %{117}
-\NewLipsumPar{Aequam igitur pronuntiabit sententiam ratio adhibita primum
- divinarum humanarumque rerum scientia, quae potest appellari rite sapientia,
- deinde adiunctis virtutibus, quas ratio rerum omnium dominas, tu voluptatum
- satellites et ministras esse voluisti. Quarum adeo omnium sententia
- pronuntiabit primum de voluptate nihil esse ei loci, non modo ut sola ponatur
- in summi boni sede, quam quaerimus, sed ne illo quidem modo, ut ad honestatem
- applicetur. De vacuitate doloris eadem sententia erit.}
- %{118}
-\NewLipsumPar{Reicietur etiam Carneades, nec ulla de summo bono ratio aut
- voluptatis non dolendive particeps aut honestatis expers probabitur. Ita
- relinquet duas, de quibus etiam atque etiam consideret. Aut enim statuet nihil
- esse bonum nisi honestum, nihil malum nisi turpe, cetera aut omnino nihil
- habere momenti aut tantum, ut nec expetenda nec fugienda, sed eligenda modo
- aut reicienda sint, aut anteponet eam, quam cum honestate ornatissimam, tum
- etiam ipsis initiis naturae et totius perfectione vitae locupletatam videbit.
- Quod eo liquidius faciet, si perspexerit rerum inter eas verborumne sit
- controversia.}
- %{119}
-\NewLipsumPar{Huius ego nunc auctoritatem sequens idem faciam. Quantum enim
- potero, minuam contentiones omnesque simplices sententias eorum, in quibus
- nulla inest virtutis adiunctio, omnino a philosophia semovendas putabo, primum
- Aristippi Cyrenaicorumque omnium, quos non est veritum in ea voluptate, quae
- maxima dulcedine sensum moveret, summum bonum ponere contemnentis istam
- vacuitatem doloris.}
- %{120}
-\NewLipsumPar{Hi non viderunt, ut ad cursum equum, ad arandum bovem, ad
- indagandum canem, sic hominem ad duas res, ut ait Aristoteles, ad
- intellegendum et agendum, esse natum quasi mortalem deum, contraque ut tardam
- aliquam et languidam pecudem ad pastum et ad procreandi voluptatem hoc divinum
- animal ortum esse voluerunt, quo nihil mihi videtur absurdius.}
- %{121}
-\NewLipsumPar{Atque haec contra Aristippum, qui eam voluptatem non modo
- summam, sed solam etiam ducit, quam omnes unam appellamus voluptatem. Aliter
- autem vobis placet. Sed ille, ut dixi, vitiose. Nec enim figura corporis nec
- ratio excellens ingenii humani significat ad unam hanc rem natum hominem, ut
- frueretur voluptatibus. Nec vero audiendus Hieronymus, cui summum bonum est
- idem, quod vos interdum vel potius nimium saepe dicitis, nihil dolere. Non
- enim, si malum est dolor, carere eo malo satis est ad bene vivendum. Hoc
- dixerit potius Ennius: \textquoteleft Nimium boni est, cui nihil est
- mali\textquoteright. Nos beatam vitam non depulsione mali, sed adeptione boni
- iudicemus, nec eam cessando, sive gaudentem, ut Aristippus, sive non dolentem,
- ut hic, sed agendo aliquid considerandove quaeramus.}
- %{122}
-\NewLipsumPar{Quae possunt eadem contra Carneadeum illud summum bonum dici,
- quod is non tam, ut probaret, protulit, quam ut Stoicis, quibuscum bellum
- gerebat, opponeret. Id autem eius modi est, ut additum ad virtutem
- auctoritatem videatur habiturum et expleturum cumulate vitam beatam, de quo
- omnis haec quaestio est. Nam qui ad virtutem adiungunt vel voluptatem, quam
- unam virtus minimi facit, vel vacuitatem doloris, quae etiamsi malo caret,
- tamen non est summum bonum, accessione utuntur non ita probabili, nec tamen,
- cur id tam parce tamque restricte faciant, intellego. Quasi enim emendum eis
- sit, quod addant ad virtutem, primum vilissimas res addunt, dein singulas
- potius, quam omnia, quae prima natura approbavisset, ea cum honestate
- coniungerent.}
- %{123}
-\NewLipsumPar{Quae quod Aristoni et Pyrrhoni omnino visa sunt pro nihilo, ut
- inter optime valere et gravissime aegrotare nihil prorsus dicerent interesse,
- recte iam pridem contra eos desitum est disputari. Dum enim in una virtute sic
- omnia esse voluerunt, ut eam rerum selectione expoliarent nec ei quicquam, aut
- unde oriretur, darent, aut ubi niteretur, virtutem ipsam, quam amplexabantur,
- sustulerunt. Erillus autem ad scientiam omnia revocans unum quoddam bonum
- vidit, sed nec optimum nec quo vita gubernari possit. Itaque hic ipse iam
- pridem est reiectus; post enim Chrysippum (eum) non sane est disputatum.
- Restatis igitur vos; nam cum Academicis incerta luctatio est, qui nihil
- affirmant et quasi desperata cognitione certi id sequi volunt, quodcumque veri
- simile videatur.}
- %{124}
-\NewLipsumPar{Cum Epicuro autem hoc plus est negotii, quod e duplici genere
- voluptatis coniunctus est, quodque et ipse et amici eius et multi postea
- defensores eius sententiae fuerunt, et nescio quo modo, is qui auctoritatem
- minimam habet, maximam vim, populus cum illis facit. Quos nisi redarguimus,
- omnis virtus, omne decus, omnis vera laus deserenda est. Ita ceterorum
- sententiis semotis relinquitur non mihi cum Torquato, sed virtuti cum
- voluptate certatio. Quam quidem certationem homo et acutus et diligens,
- Chrysippus, non contemnit totumque discrimen summi boni in earum comparatione
- positum putat. Ego autem existimo, si honestum esse aliquid ostendero, quod
- sit ipsum vi sua propter seque expetendum, iacere vestra omnia. Itaque eo,
- quale sit, breviter, ut tempus postulat, constituto accedam ad omnia tua,
- Torquate, nisi memoria forte defecerit.}
- %{125}
-\NewLipsumPar{Honestum igitur id intellegimus, quod tale est, ut detracta omni
- utilitate sine ullis praemiis fructibusve per se ipsum possit iure laudari.
- Quod quale sit, non tam definitione, qua sum usus, intellegi potest, quamquam
- aliquantum potest, quam communi omnium iudicio et optimi cuiusque studiis
- atque factis, qui permulta ob eam unam causam faciunt, quia decet, quia
- rectum, quia honestum est, etsi nullum consecuturum emolumentum vident.
- Homines enim, etsi aliis multis, tamen hoc uno plurimum a bestiis differunt,
- quod rationem habent a natura datam mentemque acrem et vigentem celerrimeque
- multa simul agitantem et, ut ita dicam, sagacem, quae et causas rerum et
- consecutiones videat et similitudines transferat et disiuncta coniungat et cum
- praesentibus futura copulet omnemque complectatur vitae consequentis statum.
- Eademque ratio fecit hominem hominum adpetentem cumque iis natura et sermone
- et usu congruentem, ut profectus a caritate domesticorum ac suorum serpat
- longius et se implicet primum civium, deinde omnium mortalium societate atque,
- ut ad Archytam scripsit Plato, non sibi se soli natum meminerit, sed patriae,
- sed suis, ut perexigua pars ipsi relinquatur.}
- %{126}
-\NewLipsumPar{Et quoniam eadem natura cupiditatem ingenuit homini veri
- videndi, quod facillime apparet, cum vacui curis etiam quid in caelo fiat
- scire avemus, his initiis inducti omnia vera diligimus, id est fidelia,
- simplicia, constantia, tum vana, falsa, fallentia odimus, ut fraudem,
- periurium, malitiam, iniuriam. Eadem ratio habet in se quiddam amplum atque
- magnificum, ad imperandum magis quam ad parendum accommodatum, omnia humana
- non tolerabilia solum, sed etiam levia ducens, altum quiddam et excelsum,
- nihil timens, nemini cedens, semper invictum.}
- %{127}
-\NewLipsumPar{Atque his tribus generibus honestorum notatis quartum sequitur
- et in eadem pulchritudine et aptum ex illis tribus, in quo inest ordo et
- moderatio. Cuius similitudine perspecta in formarum specie ac dignitate
- transitum est ad honestatem dictorum atque factorum. Nam ex his tribus
- laudibus, quas ante dixi, et temeritatem reformidat et non audet cuiquam aut
- dicto protervo aut facto nocere vereturque quicquam aut facere aut eloqui,
- quod parum virile videatur.}
- %{128}
-\NewLipsumPar{Habes undique expletam et perfectam, Torquate, formam
- honestatis, quae tota quattuor his virtutibus, quae a te quoque commemoratae
- sunt, continetur. Hanc se tuus Epicurus omnino ignorare dicit quam aut qualem
- esse velint qui honestate summum bonum metiantur. Si enim ad honestatem omnia
- referant neque in ea voluptatem dicant inesse, ait eos voce inani
- sonare\textendash\space his enim ipsis verbis utitur\textendash neque
- intellegere nec videre sub hanc vocem honestatis quae sit subicienda
- sententia. Ut enim consuetudo loquitur, id solum dicitur honestum, quod est
- populari fama gloriosum. \textquoteleft Quod\textquoteright, inquit,
- \textquoteleft quamquam voluptatibus quibusdam est saepe iucundius, tamen
- expetitur propter voluptatem.\textquoteright}
- %{129}
-\NewLipsumPar{Videsne quam sit magna dissensio? Philosophus nobilis, a quo non
- solum Graecia et Italia, sed etiam omnis barbaria commota est, honestum quid
- sit, si id non sit in voluptate, negat se intellegere, nisi forte illud, quod
- multitudinis rumore laudetur. Ego autem hoc etiam turpe esse saepe iudico et,
- si quando turpe non sit, tum esse non turpe, cum id a multitudine laudetur,
- quod sit ipsum per se rectum atque laudabile, non ob eam causam tamen illud
- dici esse honestum, quia laudetur a multis, sed quia tale sit, ut, vel si
- ignorarent id homines, vel si obmutuissent, sua tamen pulchritudine esset
- specieque laudabile. Itaque idem natura victus, cui obsisti non potest, dicit
- alio loco id, quod a te etiam paulo ante dictum est, non posse iucunde vivi
- nisi etiam honeste.}
- %{130}
-\NewLipsumPar{Quid nunc \textquoteleft honeste\textquoteright\space dicit?
- Idemne, quod iucunde? Ergo ita: non posse honeste vivi, nisi honeste vivatur?
- An nisi populari fama? Sine ea igitur iucunde negat posse (se) vivere? Quid
- turpius quam sapientis vitam ex insipientium sermone pendere? Quid ergo hoc
- loco intellegit honestum? Certe nihil nisi quod possit ipsum propter se iure
- laudari. Nam si propter voluptatem, quae est ista laus, quae possit e macello
- peti? Non is vir est, ut, cum honestatem eo loco habeat, ut sine ea iucunde
- neget posse vivi, illud honestum, quod populare sit, sentiat et sine eo neget
- iucunde vivi posse, aut quicquam aliud honestum intellegat, nisi quod sit
- rectum ipsumque per se sua vi, sua natura, sua sponte laudabile.}
- %{131}
-\NewLipsumPar{Itaque, Torquate, cum diceres clamare Epicurum non posse iucunde
- vivi, nisi honeste et sapienter et iuste viveretur, tu ipse mihi gloriari
- videbare. Tanta vis inerat in verbis propter earum rerum, quae significabantur
- his verbis, dignitatem, ut altior fieres, ut interdum insisteres, ut nos
- intuens quasi testificarere laudari honestatem et iustitiam aliquando ab
- Epicuro. Quam te decebat iis verbis uti, quibus si philosophi non uterentur,
- philosophia omnino non egeremus! Istorum enim verborum amore, quae perraro
- appellantur ab Epicuro, sapientiae, fortitudinis, iustitiae, temperantiae,
- praestantissimis ingeniis homines se ad philosophiae studium contulerunt.}
- %{132}
-\NewLipsumPar{\textquoteleft Oculorum\textquoteright, inquit Plato,
- \textquoteleft est in nobis sensus acerrimus, quibus sapientiam non cernimus.
- Quam illa ardentis amores excitaret sui!\textquoteright\space Cur tandem? An
- quod ita callida est, ut optime possit architectari voluptates? Cur iustitia
- laudatur? aut unde est hoc contritum vetustate proverbium: \textquoteleft
- quicum in tenebris\textquoteright? Hoc dictum in una re latissime patet, ut in
- omnibus factis re, non teste moveamur.}
- %{133}
-\NewLipsumPar{Sunt enim levia et perinfirma, quae dicebantur a te, animi
- conscientia improbos excruciari, tum etiam poenae timore, qua aut afficiantur
- aut semper sint in metu ne afficiantur aliquando. Non oportet timidum aut
- inbecillo animo fingi non bonum illum virum, qui, quicquid fecerit, ipse se
- cruciet omniaque formidet, sed omnia callide referentem ad utilitatem, acutum,
- versutum, veteratorem, facile ut excogitet quo modo occulte, sine teste, sine
- ullo conscio fallat.}
- %{134}
-\NewLipsumPar{An tu me de L. Tubulo putas dicere? Qui cum praetor quaestionem
- inter sicarios exercuisset, ita aperte cepit pecunias ob rem iudicandam, ut
- anno proximo P. Scaevola tribunus plebis ferret ad plebem vellentne de ea re
- quaeri. Quo plebiscito decreta a senatu est consuli quaestio Cn.\ Caepioni.
- Profectus in exilium Tubulus statim nec respondere ausus; erat enim res
- aperta. Non igitur de improbo, sed (de) callido improbo quaerimus, qualis Q.
- Pompeius in foedere Numantino infitiando fuit, nec vero omnia timente, sed
- primum qui animi conscientiam non curet, quam scilicet comprimere nihil est
- negotii. Is enim, qui occultus et tectus dicitur, tantum abest ut se indicet,
- perficiet etiam ut dolere alterius improbe facto videatur. Quid est enim aliud
- esse versutum?}
- %{135}
-\NewLipsumPar{Memini me adesse P. Sextilio Rufo, cum is rem ad amicos ita
- deferret, se esse heredem Q. Fadio Gallo, cuius in testamento scriptum esset
- se ab eo rogatum ut omnis hereditas ad filiam perveniret. Id Sextilius factum
- negabat. Poterat autem inpune; quis enim redargueret? Nemo nostrum credebat,
- eratque veri similius hunc mentiri, cuius interesset, quam illum, qui id se
- rogasse scripsisset, quod debuisset rogare. Addebat etiam se in legem Voconiam
- iuratum contra eam facere non audere, nisi aliter amicis videretur. Aderamus
- nos quidem adolescentes, sed multi amplissimi viri, quorum nemo censuit plus
- Fadiae dandum, quam posset ad eam lege Voconia pervenire. Tenuit permagnam
- Sextilius hereditatem, unde, si secutus esset eorum sententiam, qui honesta et
- recta emolumentis omnibus et commodis anteponerent, nummum nullum attigisset.
- Num igitur eum postea censes anxio animo aut sollicito fuisse? Nihil minus,
- contraque illa hereditate dives ob eamque rem laetus. Magni enim aestimabat
- pecuniam non modo non contra leges, sed etiam legibus partam. Quae quidem vel
- cum periculo est quaerenda vobis; est enim effectrix multarum et magnarum
- voluptatum.}
- %{136}
-\NewLipsumPar{Ut igitur illis, qui, recta et honesta quae sunt, ea statuunt
- per se expetenda, adeunda sunt saepe pericula decoris honestatisque causa, sic
- vestris, qui omnia voluptate metiuntur, pericula adeunda sunt, ut adipiscantur
- magnas voluptates. Si magna res, magna hereditas agetur, cum pecunia
- voluptates pariantur plurimae, idem erit Epicuro vestro faciendum, si suum
- finem bonorum sequi volet, quod Scipioni magna gloria proposita, si Hannibalem
- in Africam retraxisset. Itaque quantum adiit periculum! Ad honestatem enim
- illum omnem conatum suum referebat, non ad voluptatem. Sic vester sapiens
- magno aliquo emolumento commotus cicuta, si opus erit, dimicabit.}
- %{137}
-\NewLipsumPar{Occultum facinus esse potuerit, gaudebit; deprehensus omnem
- poenam contemnet. Erit enim instructus ad mortem contemnendam, ad exilium, ad
- ipsum etiam dolorem. Quem quidem vos, cum improbis poenam proponitis,
- inpetibilem facitis, cum sapientem semper boni plus habere vultis,
- tolerabilem. Sed finge non solum callidum eum, qui aliquid improbe faciat,
- verum etiam praepotentem, ut M. Crassus fuit, qui tamen solebat uti suo bono,
- ut hodie est noster Pompeius, cui recte facienti gratia est habenda; esse enim
- quam vellet iniquus iustus poterat inpune. Quam multa vero iniuste fieri
- possunt, quae nemo possit reprehendere!}
- %{138}
-\NewLipsumPar{Si te amicus tuus moriens rogaverit, ut hereditatem reddas suae
- filiae, nec usquam id scripserit, ut scripsit Fadius, nec cuiquam dixerit,
- quid facies? Tu quidem reddes; ipse Epicurus fortasse redderet, ut Sextus
- Peducaeus, Sex. F., is qui hunc nostrum reliquit effigiem et humanitatis et
- probitatis suae filium, cum doctus, tum omnium vir optimus et iustissimus, cum
- sciret nemo eum rogatum a Caio Plotio, equite Romano splendido, Nursino, ultro
- ad mulierem venit eique nihil opinanti viri mandatum euit hereditatemque
- reddidit. Sed ego ex te quaero, quoniam idem tu certe fecisses, nonne
- intellegas eo maiorem vim esse naturae, quod ipsi vos, qui omnia ad vestrum
- commodum et, ut ipsi dicitis, ad voluptatem referatis, tamen ea faciatis, e
- quibus appareat non voluptatem vos, sed officium sequi, plusque rectam naturam
- quam rationem pravam valere.}
- %{139}
-\NewLipsumPar{Si scieris, inquit Carneades, aspidem occulte latere uspiam, et
- velle aliquem inprudentem super eam assidere, cuius mors tibi emolumentum
- futura sit, improbe feceris, nisi monueris ne assidat, sed inpunite tamen;
- scisse enim te quis coarguere possit? Sed nimis multa. Perspicuum est enim,
- nisi aequitas, fides, iustitia proficiscantur a natura, et si omnia haec ad
- utilitatem referantur, virum bonum non posse reperiri; deque his rebus satis
- multa in nostris de re publica libris sunt dicta a Laelio.}
- %{140}
-\NewLipsumPar{Transfer idem ad modestiam vel temperantiam, quae est moderatio
- cupiditatum rationi oboediens. Satisne ergo pudori consulat, si quis sine
- teste libidini pareat? An est aliquid per se ipsum flagitiosum, etiamsi nulla
- comitetur infamia? Quid? Fortes viri voluptatumne calculis subductis proelium
- ineunt, sanguinem pro patria profundunt, an quodam animi ardore atque impetu
- concitati? utrum tandem censes, Torquate, Imperiosum illum, si nostra verba
- audiret, tuamne de se orationem libentius auditurum fuisse an meam, cum ego
- dicerem nihil eum fecisse sua causa omniaque rei publicae, tu contra nihil
- nisi sua? Si vero id etiam explanare velles apertiusque diceres nihil eum
- fecisse nisi voluptatis causa, quo modo eum tandem laturum fuisse existimas?}
- %{141}
-\NewLipsumPar{Esto, fecerit, si ita vis, Torquatus propter suas
- utilitates\textendash\space malo enim dicere quam voluptates, in tanto
- praesertim viro\textendash, num etiam eius collega P. Decius, princeps in ea
- familia consulatus, cum se devoverat et equo admisso in mediam aciem Latinorum
- irruebat, aliquid de voluptatibus suis cogitabat? Ubi ut eam caperet aut
- quando? Cum sciret confestim esse moriendum eamque mortem ardentiore studio
- peteret, quam Epicurus voluptatem petendam putat. Quod quidem eius factum nisi
- esset iure laudatum, non esset imitatus quarto consulatu suo filius, neque
- porro ex eo natus cum Pyrrho bellum gerens consul cecidisset in proelio seque
- e continenti genere tertiam victimam rei publicae praebuisset.}
- %{142}
-\NewLipsumPar{Contineo me ab exemplis. Graecis hoc modicum est: Leonidas,
- Epaminondas, tres aliqui aut quattuor; ego si nostros colligere coepero,
- perficiam illud quidem, ut se virtuti tradat constringendam voluptas, sed dies
- me deficiet, et, ut Aulus Varius, qui est habitus iudex durior, dicere
- consessori solebat, cum datis testibus alii tamen citarentur: \textquoteleft
- Aut hoc testium satis est, aut nescio, quid satis sit,\textquoteright\space
- sic a me satis datum est testium. Quid enim? Te ipsum, dignissimum maioribus
- tuis, voluptasne induxit, ut adolescentulus eriperes P. Sullae consulatum?
- Quem cum ad patrem tuum rettulisses, fortissimum virum, qualis ille vel consul
- vel civis cum semper, tum post consulatum fuit! Quo quidem auctore nos ipsi ea
- gessimus, ut omnibus potius quam ipsis nobis consuluerimus.}
- %{143}
-\NewLipsumPar{At quam pulchre dicere videbare, cum ex altera parte ponebas
- cumulatum aliquem plurimis et maximis voluptatibus nullo nec praesenti nec
- futuro dolore, ex altera autem cruciatibus maximis toto corpore nulla nec
- adiuncta nec sperata voluptate, et quaerebas, quis aut hoc miserior aut
- superiore illo beatior; deinde concludebas summum malum esse dolorem, summum
- bonum voluptatem! Lucius Thorius Balbus fuit, Lanuvinus, quem meminisse tu non
- potes. Is ita vivebat, ut nulla tam exquisita posset inveniri voluptas, qua
- non abundaret. Erat et cupidus voluptatum et eius generis intellegens et
- copiosus, ita non superstitiosus, ut illa plurima in sua patria sacrificia et
- fana contemneret, ita non timidus ad mortem, ut in acie sit ob rem publicam
- interfectus.}
- %{144}
-\NewLipsumPar{Cupiditates non Epicuri divisione finiebat, sed sua satietate.
- Habebat tamen rationem valitudinis: utebatur iis exercitationibus, ut ad cenam
- et sitiens et esuriens veniret, eo cibo, qui et suavissimus esset et idem
- facillimus ad concoquendum, vino et ad voluptatem et ne noceret. Cetera illa
- adhibebat, quibus demptis negat se Epicurus intellegere quid sit bonum. Aberat
- omnis dolor, qui si adesset, nec molliter ferret et tamen medicis plus quam
- philosophis uteretur. Color egregius, integra valitudo, summa gratia, vita
- denique conferta voluptatum omnium varietate.}
- %{145}
-\NewLipsumPar{Hunc vos beatum; ratio quidem vestra sic cogit. At ego quem huic
- anteponam non audeo dicere; dicet pro me ipsa virtus nec dubitabit isti vestro
- beato M. Regulum anteponere, quem quidem, cum sua voluntate, nulla vi coactus
- praeter fidem, quam dederat hosti, ex patria Karthaginem revertisset, tum
- ipsum, cum vigiliis et fame cruciaretur, clamat virtus beatiorem fuisse quam
- potantem in rosa Thorium. Bella magna gesserat, bis consul fuerat, triumpharat
- nec tamen sua illa superiora tam magna neque tam praeclara ducebat quam illum
- ultimum casum, quem propter fidem constantiamque susceperat, qui nobis
- miserabilis videtur audientibus, illi perpetienti erat voluptarius. Non enim
- hilaritate nec lascivia nec risu aut ioco, comite levitatis, saepe etiam
- tristes firmitate et constantia sunt beati.}
- %{146}
-\NewLipsumPar{Stuprata per vim Lucretia a regis filio testata civis se ipsa
- interemit. Hic dolor populi Romani duce et auctore Bruto causa civitati
- libertatis fuit, ob eiusque mulieris memoriam primo anno et vir et pater eius
- consul est factus. Tenuis Lucius Verginius unusque de multis sexagesimo anno
- post libertatem receptam virginem filiam sua manu occidit potius, quam ea
- Ap.\space Claudii libidini, qui tum erat summo (ne) imperio, dederetur.}
- %{147}
-\NewLipsumPar{Aut haec tibi, Torquate, sunt vituperanda aut patrocinium
- voluptatis repudiandum. Quod autem patrocinium aut quae ista causa est
- voluptatis, quae nec testes ullos e claris viris nec laudatores poterit
- adhibere? Ut enim nos ex annalium monimentis testes excitamus eos, quorum
- omnis vita consumpta est in laboribus gloriosis, qui voluptatis nomen audire
- non possent, sic in vestris disputationibus historia muta est. Numquam audivi
- in Epicuri schola Lycurgum, Solonem, Miltiadem, Themistoclem, Epaminondam
- nominari, qui in ore sunt ceterorum omnium philosophorum. Nunc vero, quoniam
- haec nos etiam tractare coepimus, suppeditabit nobis Atticus noster e
- thesauris suis quos et quantos viros!}
- %{148}
-\NewLipsumPar{Nonne melius est de his aliquid quam tantis voluminibus de
- Themista loqui? Sint ista Graecorum; quamquam ab iis philosophiam et omnes
- ingenuas disciplinas habemus; sed tamen est aliquid, quod nobis non liceat,
- liceat illis. Pugnant Stoici cum Peripateticis. Alteri negant quicquam esse
- bonum, nisi quod honestum sit, alteri plurimum se et longe longeque plurimum
- tribuere honestati, sed tamen et in corpore et extra esse quaedam bona. Et
- certamen honestum et disputatio splendida! Omnis est enim de virtutis
- dignitate contentio. At cum tuis cum disseras, multa sunt audienda etiam de
- obscenis voluptatibus, de quibus ab Epicuro saepissime dicitur.}
- %{149}
-\NewLipsumPar{Non potes ergo ista tueri, Torquate, mihi crede, si te ipse et
- tuas cogitationes et studia perspexeris; pudebit te, inquam, illius tabulae,
- quam Cleanthes sane commode verbis depingere solebat. Iubebat eos, qui
- audiebant, secum ipsos cogitare pictam in tabula Voluptatem pulcherrimo
- vestitu et ornatu regali in solio sedentem, praesto esse Virtutes ut
- ancillulas, quae nihil aliud agerent, nullum suum officium ducerent, nisi ut
- Voluptati ministrarent et eam tantum ad aurem admonerent, si modo id pictura
- intellegi posset, ut caveret ne quid faceret inprudens, quod offenderet animos
- hominum, aut quicquam, e quo oriretur aliquis dolor. \textquoteleft Nos quidem
- Virtutes sic natae sumus, ut tibi serviremus, aliud negotii nihil
- habemus.\textquoteright}
- %{150}
-\NewLipsumPar{At negat Epicurus\textendash hoc enim vestrum lumen
- est\textendash\space quemquam, qui honeste non vivat, iucunde posse vivere.
- Quasi ego id curem, quid ille aiat aut neget. Illud quaero, quid ei, qui in
- voluptate summum bonum ponat, consentaneum sit dicere. Quid affers, cur
- Thorius, cur Caius Postumius, cur omnium horum magister, Orata, non
- iucundissime vixerit? Ipse negat, ut ante dixi, luxuriosorum vitam
- reprehendendam, nisi plane fatui sint, id est nisi aut cupiant aut metuant.
- Quarum ambarum rerum cum medicinam pollicetur, luxuriae licentiam pollicetur.
- His enim rebus detractis negat se reperire in asotorum vita quod reprehendat.}
- %{151}
-\NewLipsumPar{Non igitur potestis voluptate omnia dirigentes aut tueri aut
- retinere virtutem. Nam nec vir bonus ac iustus haberi debet qui, ne malum
- habeat, abstinet se ab iniuria. Nosti, credo, illud: \textquoteleft Nemo pius
- est, qui pietatem\textendash\textquoteright; cave putes quicquam esse verius.
- Nec enim, dum metuit, iustus est, et certe, si metuere destiterit, non erit;
- non metuet autem, sive celare poterit, sive opibus magnis quicquid fecerit
- optinere, certeque malet existimari bonus vir, ut non sit, quam esse, ut non
- putetur. Ita, quod certissimum est, pro vera certaque iustitia simulationem
- nobis iustitiae traditis praecipitisque quodam modo ut nostram stabilem
- conscientiam contemnamus, aliorum errantem opinionem aucupemur.}
- %{152}
-\NewLipsumPar{Quae dici eadem de ceteris virtutibus possunt, quarum omnium
- fundamenta vos in voluptate tamquam in aqua ponitis. Quid enim? Fortemne
- possumus dicere eundem illum Torquatum?\textendash Delector enim, quamquam te
- non possum, ut ais, corrumpere, delector, inquam, et familia vestra et nomine.
- Et hercule mihi vir optimus nostrique amantissimus, Aulus Torquatus, versatur
- ante oculos, cuius quantum studium et quam insigne fuerit erga me temporibus
- illis, quae nota sunt omnibus, scire necesse est utrumque vestrum. Quae mihi
- ipsi, qui volo et esse et haberi gratus, grata non essent, nisi eum
- perspicerem mea causa mihi amicum fuisse, non sua, nisi hoc dicis sua, quod
- interest omnium recte facere. Si id dicis, vicimus. Id enim volumus, id
- contendimus, ut officii fructus sit ipsum officium.}
- %{153}
-\NewLipsumPar{Hoc ille tuus non vult omnibusque ex rebus voluptatem quasi
- mercedem exigit. Sed ad illum redeo. Si voluptatis causa cum Gallo apud
- Anienem depugnavit provocatus et ex eius spoliis sibi et torquem et cognomen
- induit ullam aliam ob causam, nisi quod ei talia facta digna viro videbantur,
- fortem non puto. Iam si pudor, si modestia, si pudicitia, si uno verbo
- temperantia poenae aut infamiae metu coercebuntur, non sanctitate sua se
- tuebuntur, quod adulterium, quod stuprum, quae libido non se proripiet ac
- proiciet aut occultatione proposita aut inpunitate aut licentia? Quid?}
- %{154}
-\NewLipsumPar{Illud, Torquate, quale tandem videtur, te isto nomine, ingenio,
- gloria, quae facis, quae cogitas, quae contendis quo referas, cuius rei causa
- perficere quae conaris velis, quid optimum denique in vita iudices non audere
- in conventu dicere? Quid enim mereri velis, iam cum magistratum inieris et in
- contionem ascenderis\textendash est enim tibi edicendum quae sis observaturus
- in iure dicendo, et fortasse etiam, si tibi erit visum, aliquid de maioribus
- tuis et de te ipso dices more maiorum\textendash, quid merearis igitur, ut
- dicas te in eo magistratu omnia voluptatis causa facturum esse, teque nihil
- fecisse in vita nisi voluptatis causa? \textquoteleft An me\textquoteright,
- inquis, \textquoteleft tam amentem putas, ut apud imperitos isto modo
- loquar?\textquoteright\space At tu eadem ista dic in iudicio aut, si coronam
- times, dic in senatu. Numquam facies. Cur, nisi quod turpis oratio est? Mene
- ergo et Triarium dignos existimas, apud quos turpiter loquare?}
- %{155}
-\NewLipsumPar{Verum esto: verbum ipsum voluptatis non habet dignitatem, nec
- nos fortasse intellegimus. Hoc enim identidem dicitis, non intellegere nos
- quam dicatis voluptatem. Rem videlicet difficilem et obscuram! Individua cum
- dicitis et intermundia, quae nec sunt ulla nec possunt esse, intellegimus,
- voluptas, quae passeribus omnibus nota est, a nobis intellegi non potest?
- Quid, si efficio ut fateare me non modo quid sit voluptas scire\textendash est
- enim iucundus motus in sensu\textendash, sed etiam quid eam tu velis esse? Tum
- enim eam ipsam vis, quam modo ego dixi, et nomen inponis, in motu ut sit et
- faciat aliquam varietatem, tum aliam quandam summam voluptatem, quo addi nihil
- possit; eam tum adesse, cum dolor omnis absit; eam stabilem appellas. Sit sane
- ista voluptas.}
- %{156}
-\NewLipsumPar{Dic in quovis conventu te omnia facere, ne doleas. Si ne hoc
- quidem satis ample, satis honeste dici putas, dic te omnia et in isto
- magistratu et in omni vita utilitatis tuae causa facturum, nihil nisi quod
- expediat, nihil denique nisi tua causa: quem clamorem contionis aut quam spem
- consulatus eius, qui tibi paratissimus est, futuram putas? Eamne rationem
- igitur sequere, qua tecum ipse et cum tuis utare, profiteri et in medium
- proferre non audeas? At vero illa, quae Peripatetici, quae Stoici dicunt,
- semper tibi in ore sunt in iudiciis, in senatu. Officium, aequitatem,
- dignitatem, fidem, recta, honesta, digna imperio, digna populo Romano, omnia
- pericula pro re publica, mori pro patria, haec cum loqueris, nos barones
- stupemus, tu videlicet tecum ipse rides.}
- %{157}
-\NewLipsumPar{Nam inter ista tam magnifica verba tamque praeclara non habet
- ullum voluptas locum, non modo illa, quam in motu esse dicitis, quam omnes
- urbani rustici, omnes, inquam, qui Latine loquuntur, voluptatem vocant, sed ne
- haec quidem stabilis, quam praeter vos nemo appellat voluptatem. Vide igitur
- ne non debeas verbis nostris uti, sententiis tuis. Quodsi vultum tibi, si
- incessum fingeres, quo gravior viderere, non esses tui similis; verba tu
- fingas et ea dicas, quae non sentias? Aut etiam, ut vestitum, sic sententiam
- habeas aliam domesticam, aliam forensem, ut in fronte ostentatio sit, intus
- veritas occultetur? Vide, quaeso, rectumne sit. Mihi quidem eae verae videntur
- opiniones, quae honestae, quae laudabiles, quae gloriosae, quae in senatu,
- quae apud populum, quae in omni coetu concilioque profitendae sint, ne id non
- pudeat sentire, quod pudeat dicere.}
- %{158}
-\NewLipsumPar{Amicitiae vero locus ubi esse potest aut quis amicus esse
- cuiquam, quem non ipsum amet propter ipsum? Quid autem est amare, e quo nomen
- ductum amicitiae est, nisi velle bonis aliquem affici quam maximis, etiamsi ad
- se ex iis nihil redundet? \textquoteleft Prodest\textquoteright, inquit,
- \textquoteleft mihi eo esse animo.\textquoteright\space Immo videri fortasse.
- Esse enim, nisi eris, non potes. Qui autem esse poteris, nisi te amor ipse
- ceperit? quod non subducta utilitatis ratione effici solet, sed ipsum a se
- oritur et sua sponte nascitur. \textquoteleft At enim sequor
- utilitatem.\textquoteright\space Manebit ergo amicitia tam diu, quam diu
- sequetur utilitas, et, si utilitas amicitiam constituet, tollet eadem.}
- %{159}
-\NewLipsumPar{Sed quid ages tandem, si utilitas ab amicitia, ut fit saepe,
- defecerit? relinquesne? Quae ista amicitia est? Retinebis? Qui convenit? Quid
- enim de amicitia statueris utilitatis causa expetenda vides. \textquoteleft Ne
- in odium veniam, si amicum destitero tueri.\textquoteright\space Primum cur
- ista res digna odio est, nisi quod est turpis? Quodsi, ne quo incommodo
- afficiare, non relinques amicum, tamen, ne sine fructu alligatus sis, ut
- moriatur optabis. Quid, si non modo utilitatem tibi nullam afferet, sed
- iacturae rei familiaris erunt faciendae, labores suscipiendi, adeundum vitae
- periculum? Ne tum quidem te respicies et cogitabis sibi quemque natum esse et
- suis voluptatibus? Vadem te ad mortem tyranno dabis pro amico, ut Pythagoreus
- ille Siculo fecit tyranno? Aut, Pylades cum sis, dices te esse Orestem, ut
- moriare pro amico? Aut, si esses Orestes, Pyladem refelleres, te indicares et,
- si id non probares, quo minus ambo una necaremini non precarere?}
- %{160}
-\NewLipsumPar{Faceres tu quidem, Torquate, haec omnia; nihil enim arbitror
- esse magna laude dignum, quod te praetermissurum credam aut mortis aut doloris
- metu. Non quaeritur autem quid naturae tuae consentaneum sit, sed quid
- disciplinae. Ratio ista, quam defendis, praecepta, quae didicisti, quae
- probas, funditus evertunt amicitiam, quamvis eam Epicurus, ut facit, in caelum
- efferat laudibus. At coluit ipse amicitias. Quis, quaeso, illum negat et bonum
- virum et comem et humanum fuisse? De ingenio eius in his disputationibus, non
- de moribus quaeritur. Sit ista in Graecorum levitate perversitas, qui
- maledictis insectantur eos, a quibus de veritate dissentiunt. Sed quamvis
- comis in amicis tuendis fuerit, tamen, si haec vera sunt\textendash nihil enim
- affirmo\textendash, non satis acutus fuit.}
- %{161}
-\NewLipsumPar{At multis se probavit. Et quidem iure fortasse, sed tamen non
- gravissimum est testimonium multitudinis. In omni enim arte vel studio vel
- quavis scientia vel in ipsa virtute optimum quidque rarissimum est. Ac mihi
- quidem, quod et ipse bonus vir fuit et multi Epicurei et fuerunt et hodie sunt
- et in amicitiis fideles et in omni vita constantes et graves nec voluptate,
- sed officio consilia moderantes, hoc videtur maior vis honestatis et minor
- voluptatis. Ita enim vivunt quidam, ut eorum vita refellatur oratio. Atque ut
- ceteri dicere existimantur melius quam facere, sic hi mihi videntur facere
- melius quam dicere.}
- %{162}
-\NewLipsumPar{Sed haec nihil sane ad rem; illa videamus, quae a te de amicitia
- dicta sunt. E quibus unum mihi videbar ab ipso Epicuro dictum cognoscere,
- amicitiam a voluptate non posse divelli ob eamque rem colendam esse, quod,
- (quoniam) sine ea tuto et sine metu vivi non posset, ne iucunde quidem posset.
- Satis est ad hoc responsum. Attulisti aliud humanius horum recentiorum,
- numquam dictum ab ipso illo, quod sciam, primo utilitatis causa amicum expeti,
- cum autem usus accessisset, tum ipsum amari per se etiam omissa spe
- voluptatis. Hoc etsi multimodis reprehendi potest, tamen accipio, quod dant.
- Mihi enim satis est, ipsis non satis. Nam aliquando posse recte fieri dicunt
- nulla expectata nec quaesita voluptate.}
- %{163}
-\NewLipsumPar{Posuisti etiam dicere alios foedus quoddam inter se facere
- sapientis, ut, quem ad modum sint in se ipsos animati, eodem modo sint erga
- amicos; id et fieri posse et saepe esse factum et ad voluptates percipiendas
- maxime pertinere. Hoc foedus facere si potuerunt, faciant etiam illud, ut
- aequitatem, modestiam, virtutes omnes per se ipsas gratis diligant. An vero,
- si fructibus et emolumentis et utilitatibus amicitias colemus, si nulla
- caritas erit, quae faciat amicitiam ipsam sua sponte, vi sua, ex se et propter
- se expetendam, dubium est, quin fundos et insulas amicis anteponamus?}
- %{164}
-\NewLipsumPar{Licet hic rursus ea commemores, quae optimis verbis ab Epicuro
- de laude amicitiae dicta sunt. Non quaero, quid dicat, sed quid convenienter
- possit rationi et sententiae suae dicere. \textquoteleft Utilitatis causa
- amicitia est quaesita.\textquoteright\space Num igitur utiliorem tibi hunc
- Triarium putas esse posse, quam si tua sint Puteolis granaria? Collige omnia,
- quae soletis: \textquoteleft Praesidium amicorum.\textquoteright\space Satis
- est tibi in te, satis in legibus, satis in mediocribus amicitiis praesidii.
- Iam contemni non poteris. Odium autem et invidiam facile vitabis. Ad eas enim
- res ab Epicuro praecepta dantur. Et tamen tantis vectigalibus ad liberalitatem
- utens etiam sine hac Pyladea amicitia multorum te benivolentia praeclare
- tuebere et munies.}
- %{165}
-\NewLipsumPar{\textquoteleft At quicum ioca seria, ut dicitur, quicum arcana,
- quicum occulta omnia?\textquoteright\space Tecum optime, deinde etiam cum
- mediocri amico. Sed fac ista esse non inportuna; quid ad utilitatem tantae
- pecuniae? Vides igitur, si amicitiam sua caritate metiare, nihil esse
- praestantius, sin emolumento, summas familiaritates praediorum fructuosorum
- mercede superari. Me igitur ipsum ames oportet, non mea, si veri amici futuri
- sumus. Sed in rebus apertissimis nimium longi sumus. Perfecto enim et concluso
- neque virtutibus neque amicitiis usquam locum esse, si ad voluptatem omnia
- referantur, nihil praeterea est magnopere dicendum. Ac tamen, ne cui loco non
- videatur esse responsum, pauca etiam nunc dicam ad reliquam orationem tuam.}
- %{166}
-\NewLipsumPar{Quoniam igitur omnis summa philosophiae ad beate vivendum
- refertur, idque unum expetentes homines se ad hoc studium contulerunt, beate
- autem vivere alii in alio, vos in voluptate ponitis, item contra miseriam
- omnem in dolore, id primum videamus, beate vivere vestrum quale sit. Atque hoc
- dabitis, ut opinor, si modo sit aliquid esse beatum, id oportere totum poni in
- potestate sapientis. Nam si amitti vita beata potest, beata esse non potest.
- Quis enim confidit semper sibi illud stabile et firmum permansurum, quod
- fragile et caducum sit? Qui autem diffidet perpetuitati bonorum suorum, timeat
- necesse est, ne aliquando amissis illis sit miser. Beatus autem esse in
- maximarum rerum timore nemo potest.}
- %{167}
-\NewLipsumPar{Nemo igitur esse beatus potest. Neque enim in aliqua parte, sed
- in perpetuitate temporis vita beata dici solet, nec appellatur omnino vita,
- nisi confecta atque absoluta, nec potest quisquam alias beatus esse, alias
- miser; qui enim existimabit posse se miserum esse beatus non erit. Nam cum
- suscepta semel est beata vita, tam permanet quam ipsa illa effectrix beatae
- vitae sapientia neque expectat ultimum tempus aetatis, quod Croeso scribit
- Herodotus praeceptum a Solone. At enim, quem ad modum tute dicebas, negat
- Epicurus diuturnitatem quidem temporis ad beate vivendum aliquid afferre, nec
- minorem voluptatem percipi in brevitate temporis, quam si illa sit
- sempiterna.}
- %{168}
-\NewLipsumPar{Haec dicuntur inconstantissime. Cum enim summum bonum in
- voluptate ponat, negat infinito tempore aetatis voluptatem fieri maiorem quam
- finito atque modico. Qui bonum omne in virtute ponit, is potest dicere perfici
- beatam vitam perfectione virtutis; negat enim summo bono afferre incrementum
- diem. Qui autem voluptate vitam effici beatam putabit, qui sibi is conveniet,
- si negabit voluptatem crescere longinquitate? Igitur ne dolorem quidem. An
- dolor longissimus quisque miserrimus, voluptatem non optabiliorem diuturnitas
- facit? Quid est igitur, cur ita semper deum appellet Epicurus beatum et
- aeternum? Dempta enim aeternitate nihilo beatior Iuppiter quam Epicurus;
- uterque enim summo bono fruitur, id est voluptate. \textquoteleft At enim hic
- etiam dolore.\textquoteright\space At eum nihili facit; ait enim se, si
- uratur, \textquoteleft Quam hoc suave!\textquoteright\space dicturum.}
- %{169}
-\NewLipsumPar{Qua igitur re ab deo vincitur, si aeternitate non vincitur? In
- qua quid est boni praeter summam voluptatem, et eam sempiternam? Quid ergo
- attinet gloriose loqui, nisi constanter loquare? In voluptate
- corporis\textendash addam, si vis, \textquoteleft animi\textquoteright, dum ea
- ipsa, ut vultis, sit e corpore\textendash situm est vivere beate. Quid? Istam
- voluptatem perpetuam quis potest praestare sapienti? Nam quibus rebus
- efficiuntur voluptates, eae non sunt in potestate sapientis. Non enim in ipsa
- sapientia positum est beatum esse, sed in iis rebus, quas sapientia comparat
- ad voluptatem. Totum autem id externum est, et quod externum, id in casu est.
- Ita fit beatae vitae domina fortuna, quam Epicurus ait exiguam intervenire
- sapienti.}
- %{170}
-\NewLipsumPar{Age, inquies, ista parva sunt. Sapientem locupletat ipsa natura,
- cuius divitias Epicurus parabiles esse docuit. Haec bene dicuntur, nec ego
- repugno, sed inter sese ipsa pugnant. Negat enim tenuissimo victu, id est
- contemptissimis escis et potionibus, minorem voluptatem percipi quam rebus
- exquisitissimis ad epulandum. Huic ego, si negaret quicquam interesse ad beate
- vivendum quali uteretur victu, concederem, laudarem etiam; verum enim diceret,
- idque Socratem, qui voluptatem nullo loco numerat, audio dicentem, cibi
- condimentum esse famem, potionis sitim. Sed qui ad voluptatem omnia referens
- vivit ut Gallonius, loquitur ut Frugi ille Piso, non audio nec eum, quod
- sentiat, dicere existimo.}
- %{171}
-\NewLipsumPar{Naturales divitias dixit parabiles esse, quod parvo esset natura
- contenta. Certe, nisi voluptatem tanti aestimaretis. Non minor, inquit,
- voluptas percipitur ex vilissimis rebus quam ex pretiosissimis. Hoc est non
- modo cor non habere, sed ne palatum quidem. Qui enim voluptatem ipsam
- contemnunt, iis licet dicere se acupenserem maenae non anteponere. Cui vero in
- voluptate summum bonum est, huic omnia sensu, non ratione sunt iudicanda,
- eaque dicenda optima, quae sint suavissima.}
- %{172}
-\NewLipsumPar{Verum esto; consequatur summas voluptates non modo parvo, sed
- per me nihilo, si potest; sit voluptas non minor in nasturcio illo, quo vesci
- Persas esse solitos scribit Xenophon, quam in Syracusanis mensis, quae a
- Platone graviter vituperantur; sit, inquam, tam facilis, quam vultis,
- comparatio voluptatis, quid de dolore dicemus? Cuius tanta tormenta sunt, ut
- in iis beata vita, si modo dolor summum malum est, esse non possit. Ipse enim
- Metrodorus, paene alter Epicurus, beatum esse describit his fere verbis:
- \textquoteleft cum corpus bene constitutum sit et sit exploratum ita
- futurum.\textquoteright\space an id exploratum cuiquam potest esse, quo modo
- se hoc habiturum sit corpus, non dico ad annum, sed ad vesperum? Dolor ergo,
- id est summum malum, metuetur semper, etiamsi non aderit; iam enim adesse
- poterit. Qui potest igitur habitare in beata vita summi mali metus?}
- %{173}
-\NewLipsumPar{Traditur, inquit, ab Epicuro ratio neglegendi doloris. Iam id
- ipsum absurdum, maximum malum neglegi. Sed quae tandem ista ratio est? Maximus
- dolor, inquit, brevis est. Primum quid tu dicis breve? Deinde dolorem quem
- maximum? Quid enim? summus dolor plures dies manere non potest? Vide, ne etiam
- menses! Nisi forte eum dicis, qui, simul atque arripuit, interficit. Quis
- istum dolorem timet? illum mallem levares, quo optimum atque humanissimum
- virum, Cn.\space Octavium, Marci filium, familiarem meum, confici vidi, nec
- vero semel nec ad breve tempus, sed et saepe et plane diu. Quos ille, di
- inmortales, cum omnes artus ardere viderentur, cruciatus perferebat! Nec tamen
- miser esse, quia summum id malum non erat, tantum modo laboriosus videbatur;
- at miser, si in flagitiosa et vitiosa vita afflueret voluptatibus.}
- %{174}
-\NewLipsumPar{Quod autem magnum dolorem brevem, longinquum levem esse dicitis,
- id non intellego quale sit. Video enim et magnos et eosdem bene longinquos
- dolores, quorum alia toleratio est verior, qua uti vos non potestis, qui
- honestatem ipsam per se non amatis. Fortitudinis quaedam praecepta sunt ac
- paene leges, quae effeminari virum vetant in dolore. Quam ob rem turpe
- putandum est, non dico dolere\textendash nam id quidem est interdum
- necesse\textendash, sed saxum illud Lemnium clamore Philocteteo funestare,
- Quod eiulatu, questu, gemitu, fremitibus Resonando mutum flebiles voces
- refert. Huic Epicurus praecentet, si potest, cui (e) viperino morsu venae
- viscerum Veneno inbutae taetros cruciatus cient! Sic Epicurus: \textquoteleft
- Philocteta, st! Brevis dolor.\textquoteright\space At iam decimum annum in
- spelunca iacet. \textquoteleft Si longus, levis; dat enim intervalla et
- relaxat.\textquoteright}
- %{175}
-\NewLipsumPar{Primum non saepe, deinde quae est ista relaxatio, cum et
- praeteriti doloris memoria recens est et futuri atque inpendentis torquet
- timor? \textquoteleft Moriatur\textquoteright, inquit. Fortasse id optimum,
- sed ubi illud: \textquoteleft Plus semper voluptatis\textquoteright? Si enim
- ita est, vide ne facinus facias, cum mori suadeas. Potius ergo illa dicantur:
- turpe esse, viri non esse debilitari dolore, frangi, succumbere. Nam ista
- vestra: \textquoteleft Si gravis, brevis; si longus,
- levis\textquoteright\space dictata sunt. Virtutis, magnitudinis animi,
- patientiae, fortitudinis fomentis dolor mitigari solet.}
- %{176}
-\NewLipsumPar{Audi, ne longe abeam, moriens quid dicat Epicurus, ut intellegas
- facta eius cum dictis discrepare: \textquoteleft Epicurus Hermarcho salutem.
- Cum ageremus\textquoteright, inquit, \textquoteleft vitae beatum et eundem
- supremum diem, scribebamus haec. Tanti autem aderant vesicae et torminum
- morbi, ut nihil ad eorum magnitudinem posset accedere.\textquoteright\space
- Miserum hominem! Si dolor summum malum est, dici aliter non potest. Sed
- audiamus ipsum: \textquoteleft Compensabatur\textquoteright, inquit,
- \textquoteleft tamen cum his omnibus animi laetitia, quam capiebam memoria
- rationum inventorumque nostrorum. Sed tu, ut dignum est tua erga me et
- philosophiam voluntate ab adolescentulo suscepta, fac ut Metrodori tueare
- liberos.\textquoteright}
- %{177}
-\NewLipsumPar{Non ego iam Epaminondae, non Leonidae mortem huius morti
- antepono, quorum alter cum vicisset Lacedaemonios apud Mantineam atque ipse
- gravi vulnere exanimari se videret, ut primum dispexit, quaesivit salvusne
- esset clipeus. Cum salvum esse flentes sui respondissent, rogavit essentne
- fusi hostes. Cum id quoque, ut cupiebat, audivisset, evelli iussit eam, qua
- erat transfixus, hastam. Ita multo sanguine profuso in laetitia et in victoria
- est mortuus. Leonidas autem, rex Lacedaemoniorum, se in Thermopylis
- trecentosque eos, quos eduxerat Sparta, cum esset proposita aut fuga turpis
- aut gloriosa mors, opposuit hostibus. Praeclarae mortes sunt imperatoriae;
- philosophi autem in suis lectulis plerumque moriuntur. Refert tamen, quo modo.
- (beatus) sibi videtur esse moriens. Magna laus. \textquoteleft
- Compensabatur\textquoteright, inquit, \textquoteleft cum summis doloribus
- laetitia.\textquoteright}
- %{178}
-\NewLipsumPar{Audio equidem philosophi vocem, Epicure, sed quid tibi dicendum
- sit oblitus es. Primum enim, si vera sunt ea, quorum recordatione te gaudere
- dicis, hoc est, si vera sunt tua scripta et inventa, gaudere non potes. Nihil
- enim iam habes, quod ad corpus referas; est autem a te semper dictum nec
- gaudere quemquam nisi propter corpus nec dolere. \textquoteleft
- Praeteritis\textquoteright, inquit, \textquoteleft
- gaudeo.\textquoteright\space Quibusnam praeteritis? Si ad corpus
- pertinentibus, rationes tuas te video compensare cum istis doloribus, non
- memoriam corpore perceptarum voluptatum; sin autem ad animum, falsum est, quod
- negas animi ullum esse gaudium, quod non referatur ad corpus. Cur deinde
- Metrodori liberos commendas? Quid (in) isto egregio tuo officio et tanta
- fide\textendash sic enim existimo\textendash ad corpus refers?}
- %{179}
-\NewLipsumPar{Huc et illuc, Torquate, vos versetis licet, nihil in hac
- praeclara epistula scriptum ab Epicuro congruens et conveniens decretis eius
- reperietis. Ita redarguitur ipse a sese, convincunturque scripta eius
- probitate ipsius ac moribus. Nam ista commendatio puerorum, memoria et caritas
- amicitiae, summorum officiorum in extremo spiritu conservatio indicat innatam
- esse homini probitatem gratuitam, non invitatam voluptatibus nec praemiorum
- mercedibus evocatam. Quod enim testimonium maius quaerimus, quae honesta et
- recta sint, ipsa esse optabilia per sese, cum videamus tanta officia
- morientis?}
- %{180}
-\NewLipsumPar{Sed ut epistulam laudandam arbitror eam, quam modo totidem fere
- verbis interpretatus sum, quamquam ea cum summa eius philosophia nullo modo
- congruebat, sic eiusdem testamentum non solum (a) philosophi gravitate, sed
- etiam ab ipsius sententia iudico discrepare. Scripsit enim et multis saepe
- verbis et breviter arteque in eo libro, quem modo nominavi, mortem nihil ad
- nos pertinere. Quod enim dissolutum sit, id esse sine sensu, quod autem sine
- sensu sit, id nihil ad nos pertinere omnino. Hoc ipsum elegantius poni
- meliusque potuit. Nam quod ita positum est, quod dissolutum sit, id esse sine
- sensu, id eius modi est, ut non satis plane dicat quid sit dissolutum.}
- %{181}
-\NewLipsumPar{Sed tamen intellego quid velit. Quaero autem quid sit, quod, cum
- dissolutione, id est morte, sensus omnis extinguatur, et cum reliqui nihil sit
- omnino, quod pertineat ad nos, tam accurate tamque diligenter caveat et
- sanciat ut Amynomachus et Timocrates, heredes sui, de Hermarchi sententia dent
- quod satis sit ad diem agendum natalem suum quotannis mense Gamelione itemque
- omnibus mensibus vicesimo die lunae dent ad eorum epulas, qui una secum
- philosophati sint, ut et sui et Metrodori memoria colatur.}
- %{182}
-\NewLipsumPar{Haec ego non possum dicere non esse hominis quamvis et belli et
- humani, sapientis vero nullo modo, physici praesertim, quem se ille esse vult,
- putare ullum esse cuiusquam diem natalem. Quid? Idemne potest esse dies
- saepius, qui semel fuit? Certe non potest. An eiusdem modi? Ne id quidem, nisi
- multa annorum intercesserint milia, ut omnium siderum eodem, unde profecta
- sint, fiat ad unum tempus reversio. Nullus est igitur cuiusquam dies natalis.
- \textquoteleft At habetur!\textquoteright\space Et ego id scilicet nesciebam!
- Sed ut sit, etiamne post mortem coletur? Idque testamento cavebit is, qui
- nobis quasi oraculum ediderit nihil post mortem ad nos pertinere? Haec non
- erant eius, qui innumerabilis mundos infinitasque regiones, quarum nulla esset
- ora, nulla extremitas, mente peragravisset. Num quid tale Democritus? Ut alios
- omittam, hunc appello, quem ille unum secutus est.}
- %{183}
-\NewLipsumPar{Quodsi dies notandus fuit, eumne potius, quo natus, an eum, quo
- sapiens factus est? Non potuit, inquies, fieri sapiens, nisi natus esset. [et]
- Isto modo, ne si avia quidem eius nata non esset. Res tota, Torquate, non
- doctorum hominum, velle post mortem epulis celebrari memoriam sui nominis.
- Quos quidem dies quem ad modum agatis et in quantam hominum facetorum
- urbanitatem incurratis, non dico\textendash\space nihil opus est
- litibus\textendash; tantum dico, magis fuisse vestrum agere Epicuri diem
- natalem, quam illius testamento cavere ut ageretur.}
- %{184}
-\NewLipsumPar{Sed ut ad propositum\textendash de dolore enim cum diceremus, ad
- istam epistulam delati sumus\textendash, nunc totum illud concludi sic licet:
- qui in summo malo est, is tum, cum in eo est, non est beatus; sapiens autem
- semper beatus est et est aliquando in dolore; non est igitur summum malum
- dolor. Iam illud quale tandem est, bona praeterita non effluere sapienti, mala
- meminisse non oportere? Primum in nostrane potestate est, quid meminerimus?
- Themistocles quidem, cum ei Simonides an quis alius artem memoriae
- polliceretur, \textquoteleft Oblivionis\textquoteright, inquit, \textquoteleft
- mallem. Nam memini etiam quae nolo, oblivisci non possum quae
- volo.\textquoteright}
- %{185}
-\NewLipsumPar{Magno hic ingenio, sed res se tamen sic habet, ut nimis
- imperiosi philosophi sit vetare meminisse. Vide ne ista sint Manliana vestra
- aut maiora etiam, si imperes quod facere non possim. Quid, si etiam iucunda
- memoria est praeteritorum malorum? Ut proverbia non nulla veriora sint quam
- vestra dogmata. Vulgo enim dicitur: \textquoteleft Iucundi acti
- labores\textquoteright, nec male Euripides\textendash\space concludam, si
- potero, Latine; Graecum enim hunc versum nostis omnes\textendash:
- \textquoteleft Suavis laborum est praeteritorum memoria.\textquoteright\space
- Sed ad bona praeterita redeamus. Quae si a vobis talia dicerentur, qualibus
- Caius Marius uti poterat, ut expulsus, egens, in palude demersus tropaeorum
- recordatione levaret dolorem suum, audirem et plane probarem. Nec enim absolvi
- beata vita sapientis neque ad exitum perduci poterit, si prima quaeque bene ab
- eo consulta atque facta ipsius oblivione obruentur.}
- %{186}
-\NewLipsumPar{Sed vobis voluptatum perceptarum recordatio vitam beatam facit,
- et quidem corpore perceptarum. Nam si quae sunt aliae, falsum est omnis animi
- voluptates esse e corporis societate. Corporis autem voluptas si etiam
- praeterita delectat, non intellego, cur Aristoteles Sardanapalli epigramma
- tantopere derideat, in quo ille rex Syriae glorietur se omnis secum libidinum
- voluptates abstulisse. Quod enim ne vivus quidem, inquit, diutius sentire
- poterat, quam dum fruebatur, quo modo id potuit mortuo permanere? Effluit
- igitur voluptas corporis et prima quaeque avolat saepiusque relinquit causam
- paenitendi quam recordandi. Itaque beatior Africanus cum patria illo modo
- loquens: \textquoteleft Desine, Roma, tuos hostes\textquoteright\space
- reliquaque praeclare: \textquoteleft Nam tibi moenimenta mei peperere
- labores.\textquoteright\space Laboribus hic praeteritis gaudet, tu iubes
- voluptatibus, et hic se ad ea revocat, e quibus nihil umquam rettulerit ad
- corpus, tu totus haeres in corpore.}
- %{187}
-\NewLipsumPar{Illud autem ipsum qui optineri potest, quod dicitis, omnis animi
- et voluptates et dolores ad corporis voluptates ac dolores pertinere? Nihilne
- te delectat umquam \textendash video, quicum loquar\textendash, te igitur,
- Torquate, ipsum per se nihil delectat? Omitto dignitatem, honestatem, speciem
- ipsam virtutum, de quibus ante dictum est, haec leviora ponam: poema,
- orationem cum aut scribis aut legis, cum omnium factorum, cum regionum
- conquiris historiam, signum, tabula, locus amoenus, ludi, venatio, villa
- Luculli\textendash nam si \textquoteleft tuam\textquoteright\space dicerem,
- latebram haberes; ad corpus diceres pertinere\textendash, sed ea, quae dixi,
- ad corpusne refers? An est aliquid, quod te sua sponte delectet? Aut
- pertinacissimus fueris, si in eo perstiteris ad corpus ea, quae dixi, referri,
- aut deserueris totam Epicuri voluptatem, si negaveris.}
- %{188}
-\NewLipsumPar{Quod vero a te disputatum est maiores esse voluptates et dolores
- animi quam corporis, quia trium temporum particeps animus sit, corpore autem
- praesentia solum sentiantur, qui id probari potest, ut is, qui propter me
- aliquid gaudeat, plus quam ego ipse gaudeat? [animo voluptas oritur propter
- voluptatem corporis, et maior est animi voluptas quam corporis. Ita fit, ut
- gratulator laetior sit quam is, cui gratulatur.] Sed dum efficere vultis
- beatum sapientem, cum maximas animo voluptates percipiat omnibusque partibus
- maiores quam corpore, quid occurrat non videtis. Animi enim quoque dolores
- percipiet omnibus partibus maiores quam corporis. Ita miser sit aliquando
- necesse est is, quem vos beatum semper vultis esse, nec vero id, dum omnia ad
- voluptatem doloremque referetis, efficietis umquam.}
- %{189}
-\NewLipsumPar{Quare aliud aliquod, Torquate, hominis summum bonum reperiendum
- est, voluptatem bestiis concedamus, quibus vos de summo bono testibus uti
- soletis. Quid, si etiam bestiae multa faciunt duce sua quaeque natura partim
- indulgenter vel cum labore, ut in gignendo, in educando, perfacile appareat
- aliud quiddam iis propositum, non voluptatem? Partim cursu et peragratione
- laetantur, congregatione aliae coetum quodam modo civitatis imitantur;}
- %{190}
-\NewLipsumPar{Videmus in quodam volucrium genere non nulla indicia pietatis,
- cognitionem, memoriam, in multis etiam desideria videmus. Ergo in bestiis
- erunt secreta e voluptate humanarum quaedam simulacra virtutum, in ipsis
- hominibus virtus nisi voluptatis causa nulla erit? Et homini, qui ceteris
- animantibus plurimum praestat, praecipue a natura nihil datum esse dicemus?}
- %{191}
-\NewLipsumPar{Nos vero, siquidem in voluptate sunt omnia, longe multumque
- superamur a bestiis, quibus ipsa terra fundit ex sese pastus varios atque
- abundantes nihil laborantibus, nobis autem aut vix aut ne vix quidem suppetunt
- multo labore quaerentibus. Nec tamen ullo modo summum pecudis bonum et hominis
- idem mihi videri potest. Quid enim tanto opus est instrumento in optimis
- artibus comparandis? Quid tanto concursu honestissimorum studiorum, tanto
- virtutum comitatu, si ea nullam ad aliam rem nisi ad voluptatem conquiruntur?}
- %{192}
-\NewLipsumPar{Ut, si Xerxes, cum tantis classibus tantisque equestribus et
- pedestribus copiis Hellesponto iuncto Athone perfosso mari ambulavisset terra
- navigavisset, si, cum tanto impetu in Graeciam venisset, causam quis ex eo
- quaereret tantarum copiarum tantique belli, mel se auferre ex Hymetto voluisse
- diceret, certe sine causa videretur tanta conatus, sic nos sapientem plurimis
- et gravissimis artibus atque virtutibus instructum et ornatum non, ut illum,
- maria pedibus peragrantem, classibus montes, sed omne caelum totamque cum
- universo mari terram mente complexum voluptatem petere si dicemus, mellis
- causa dicemus tanta molitum.}
- %{193}
-\NewLipsumPar{Ad altiora quaedam et magnificentiora, mihi crede, Torquate,
- nati sumus, nec id ex animi solum partibus, in quibus inest memoria rerum
- innumerabilium, in te quidem infinita, inest coniectura consequentium non
- multum a divinatione differens, inest moderator cupiditatis pudor, inest ad
- humanam societatem iustitiae fida custodia, inest in perpetiendis laboribus
- adeundisque periculis firma et stabilis doloris mortisque
- contemptio\textendash ergo haec in animis, tu autem etiam membra ipsa
- sensusque considera, qui tibi, ut reliquae corporis partes, non comites solum
- virtutum, sed ministri etiam videbuntur.}
- %{194}
-\NewLipsumPar{Quid? Si in ipso corpore multa voluptati praeponenda sunt, ut
- vires, valitudo, velocitas, pulchritudo, quid tandem in animis censes? In
- quibus doctissimi illi veteres inesse quiddam caeleste et divinum putaverunt.
- Quodsi esset in voluptate summum bonum, ut dicitis, optabile esset maxima in
- voluptate nullo intervallo interiecto dies noctesque versari, cum omnes sensus
- dulcedine omni quasi perfusi moverentur. Quis est autem dignus nomine hominis,
- qui unum diem totum velit esse in genere isto voluptatis? Cyrenaici quidem non
- recusant; vestri haec verecundius, illi fortasse constantius.}
- %{195}
-\NewLipsumPar{Sed lustremus animo non has maximas artis, quibus qui carebant
- inertes a maioribus nominabantur, sed quaero num existimes, non dico Homerum,
- Archilochum, Pindarum, sed Phidian, Polyclitum, Zeuxim ad voluptatem artes
- suas direxisse. Ergo opifex plus sibi proponet ad formarum quam civis
- excellens ad factorum pulchritudinem? Quae autem est alia causa erroris tanti
- tam longe lateque diffusi, nisi quod is, qui voluptatem summum bonum esse
- decernit, non cum ea parte animi, qua inest ratio atque consilium, sed cum
- cupiditate, id est cum animi levissima parte, deliberat? Quaero enim de te, si
- sunt di, ut vos etiam putatis, qui possint esse beati, cum voluptates corpore
- percipere non possint, aut, si sine eo genere voluptatis beati sint, cur
- similem animi usum in sapiente esse nolitis.}
- %{196}
-\NewLipsumPar{Lege laudationes, Torquate, non eorum, qui sunt ab Homero
- laudati, non Cyri, non Agesilai, non Aristidi aut Themistocli, non Philippi
- aut Alexandri, lege nostrorum hominum, lege vestrae familiae; neminem videbis
- ita laudatum, ut artifex callidus comparandarum voluptatum diceretur. Non
- elogia monimentorum id significant, velut hoc ad portam: \textquoteleft Hunc
- unum plurimae consentiunt gentes populi primarium fuisse
- virum.\textquoteright}
- %{197}
-\NewLipsumPar{Idne consensisse de Calatino plurimas gentis arbitramur,
- primarium populi fuisse, quod praestantissimus fuisset in conficiendis
- voluptatibus? Ergo in iis adolescentibus bonam spem esse dicemus et magnam
- indolem, quos suis commodis inservituros et quicquid ipsis expediat facturos
- arbitrabimur? Nonne videmus quanta perturbatio rerum omnium consequatur,
- quanta confusio? Tollitur beneficium, tollitur gratia, quae sunt vincla
- concordiae. Nec enim, cum tua causa cui commodes, beneficium illud habendum
- est, sed faeneratio, nec gratia deberi videtur ei, qui sua causa commodaverit.
- Maximas vero virtutes iacere omnis necesse est voluptate dominante. Sunt etiam
- turpitudines plurimae, quae, nisi honestas natura plurimum valeat, cur non
- cadant in sapientem non est facile defendere.}
- %{198}
-\NewLipsumPar{Ac ne plura complectar\textendash sunt enim
- innumerabilia\textendash, bene laudata virtus voluptatis aditus intercludat
- necesse est. Quod iam a me expectare noli. Tute introspice in mentem tuam ipse
- eamque omni cogitatione pertractans percontare ipse te perpetuisne malis
- voluptatibus perfruens in ea, quam saepe usurpabas, tranquillitate degere
- omnem aetatem sine dolore, adsumpto etiam illo, quod vos quidem adiungere
- soletis, sed fieri non potest, sine doloris metu, an, cum de omnibus gentibus
- optime mererere, cum opem indigentibus salutemque ferres, vel Herculis perpeti
- aerumnas. Sic enim maiores nostri labores non fugiendos tristissimo tamen
- verbo aerumnas etiam in deo nominaverunt.}
- %{199}
-\NewLipsumPar{Elicerem ex te cogeremque, ut responderes, nisi vererer ne
- Herculem ipsum ea, quae pro salute gentium summo labore gessisset, voluptatis
- causa gessisse diceres. Quae cum dixissem, Habeo, inquit Torquatus, ad quos
- ista referam, et, quamquam aliquid ipse poteram, tamen invenire malo
- paratiores. Familiares nostros, credo, Sironem dicis et Philodemum, cum
- optimos viros, tum homines doctissimos. Recte, inquit, intellegis. Age sane,
- inquam. Sed erat aequius Triarium aliquid de dissensione nostra iudicare.
- Eiuro, inquit adridens, iniquum, hac quidem de re; tu enim ista lenius, hic
- Stoicorum more nos vexat. Tum Triarius: Posthac quidem, inquit, audacius. Nam
- haec ipsa mihi erunt in promptu, quae modo audivi, nec ante aggrediar, quam te
- ab istis, quos dicis, instructum videro. Quae cum essent dicta, finem fecimus
- et ambulandi et disputandi.}
- %{200}
-\NewLipsumPar{Voluptatem quidem, Brute, si ipsa pro se loquatur nec tam
- pertinaces habeat patronos, concessuram arbitror convictam superiore libro
- dignitati. Etenim sit inpudens, si virtuti diutius repugnet, aut si honestis
- iucunda anteponat aut pluris esse contendat dulcedinem corporis ex eave natam
- laetitiam quam gravitatem animi atque constantiam. Quare illam quidem
- dimittamus et suis se finibus tenere iubeamus, ne blanditiis eius
- inlecebrisque impediatur disputandi severitas.}
+\cs_set_protected:Npn \@@_tmp:w #1 #2 #3
+ {
+ \keys_define:nn { lipsum }
+ {
+ #1-before #2 .tl_set:c = l_@@_#1_start _#3star_tl ,
+ #1-begin #2 .tl_set:c = l_@@_#1_itemstart _#3star_tl ,
+ #1-sep #2 .tl_set:c = l_@@_#1_itemseparator _#3star_tl ,
+ #1-end #2 .tl_set:c = l_@@_#1_itemend _#3star_tl ,
+ #1-after #2 .tl_set:c = l_@@_#1_end _#3star_tl ,
+ }
+ }
+\@@_tmp:w { par } { } { no } \@@_tmp:w { sentence } { } { no }
+\@@_tmp:w { par } * { } \@@_tmp:w { sentence } * { }
% \end{macrocode}
+% \end{macro}
+%
+% Now turn \cs{ExplSyntaxOff} for a while, and load the default \lips{}
+% text, then process the package options, and finally turn
+% \cs{ExplSyntaxOn} again. Finally, call \cs{@@_restore_par_list:} and
+% \cs{@@_restore_sentence_list:} to set the defaults
+% (\cs{@@_restore_par_list:} may have been redefined by \opt{nopar}).
% \begin{macrocode}
-%</cicero>
+\ExplSyntaxOff
+\setlipsum{text=lipsum}
+\ProcessKeysOptions{lipsum}
+\ExplSyntaxOn
+\@@_restore_par_list:
+\@@_restore_sentence_list:
% \end{macrocode}
-% \newpage
+%
+% \subsection{Messages}
+%
+% Now define the messages used throughout the package.
+% \begin{macrocode}
+\msg_new:nnn { lipsum } { invalid-range }
+ { Invalid~number~or~range~'#1'. }
+\msg_new:nnn { lipsum } { language-undefined }
+ { Language~'\g_@@_language_tl'~undefined. }
+\msg_new:nnn { lipsum } { cmd-deprecated }
+ {
+ Command~'\iow_char:N\\#1'~deprecated. \\
+ See~the~lipsum~documentation~for~help.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
% \end{implementation}
%
% \endinput
diff --git a/macros/latex/contrib/lipsum/lipsum.ins b/macros/latex/contrib/lipsum/lipsum.ins
index a2c3bc6519..4a289f65f3 100644
--- a/macros/latex/contrib/lipsum/lipsum.ins
+++ b/macros/latex/contrib/lipsum/lipsum.ins
@@ -19,7 +19,7 @@
This file is part of the package lipsum for use with LaTeX2e.
-Function: Access to 150 paragraphs of the well known Lorem Ipsum dummy text.
+Function: Access to 150 paragraphs of dummy text.
This program may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -37,8 +37,64 @@ Please send error reports and suggestions for improvements to
\endpostamble
\generate{\file{lipsum.sty}{\from{lipsum.dtx}{package}}}
-\generate{\file{lipsum.ltd.tex}{\from{lipsum.dtx}{lipsum}}}
-\generate{\file{cicero.ltd.tex}{\from{lipsum.dtx}{cicero}}}
+
+\newread\lipsread
+\newread\lipswrite
+\newcount\parno
+\newif\ifinpar
+\def\empty{}%
+\def\line{}%
+\edef\lb{\string{}%
+\edef\rb{\string}}%
+\begingroup\lccode`\?=`\%
+\lowercase{\endgroup\def\pc{?}}%
+\def\wline{\immediate\write\lipswrite}%
+\def\genlipsum#1#2#3{%
+ \begingroup
+ \def\inFileName{lipsum-#1.txt}%
+ \def\outFileName{#2.ltd.tex}%
+ \openin\lipsread\inFileName\space
+ \immediate\openout\lipswrite\outFileName\space
+ \inparfalse
+ \parno=0
+ \endlinechar=-1
+ \def~{ }%
+ \def\ReferenceLines{%
+ \MetaPrefix ^^J%
+ \MetaPrefix~The original source files were:^^J%
+ \MetaPrefix ^^J%
+ \MetaPrefix~\inFileName^^J}%
+ \immediate\write\lipswrite{\defaultpreamble}%
+ \immediate\write\lipswrite{\string\SetLipsumLanguage{#3}}%
+ \genlipsumaux\genlipsumaux
+ \closein\lipsread
+ \immediate\closeout\lipswrite
+ \endgroup}
+\def\genlipsumaux#1\genlipsumaux{%
+ \ifeof\lipsread\let\line\empty
+ \else \read\lipsread to \line \fi
+ \toks0{#1}%
+ \ifx\line\empty
+ \ifinpar
+ \wline{\the\toks0 \rb\pc^^J\pc}%
+ \inparfalse
+ \fi
+ \else
+ \ifinpar
+ \wline{\the\toks0 }%
+ \else
+ \inpartrue
+ \advance\parno by 1
+ \wline{\string\NewLipsumPar\lb\pc~{\the\parno}}%
+ \fi
+ \fi
+ \ifeof\lipsread\expandafter\genlipsumend\fi
+ \expandafter\genlipsumaux\line\genlipsumaux}
+\def\genlipsumend#1\genlipsumaux#2\genlipsumaux{}
+
+\genlipsum{la}{lipsum}{latin}
+\genlipsum{cs}{lipsum-cs}{czech}
+\genlipsum{cicero}{cicero}{latin}
\obeyspaces
\Msg{****************************************************}
@@ -49,10 +105,11 @@ Please send error reports and suggestions for improvements to
\Msg{* *}
\Msg{* lipsum.sty *}
\Msg{* lipsum.ltd.tex *}
+\Msg{* lipsum-cs.ltd.tex *}
\Msg{* cicero.ltd.tex *}
\Msg{* *}
\Msg{* To produce the documentation run the file *}
-\Msg{* lipsum.dtx through XeLaTeX or luaLaTeX. *}
+\Msg{* lipsum.dtx through XeLaTeX or LuaLaTeX. *}
\Msg{* *}
\Msg{* Happy TeXing! *}
\Msg{* *}
diff --git a/macros/latex/contrib/lipsum/lipsum.pdf b/macros/latex/contrib/lipsum/lipsum.pdf
index df4fe78450..4186c1880f 100644
--- a/macros/latex/contrib/lipsum/lipsum.pdf
+++ b/macros/latex/contrib/lipsum/lipsum.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
index 40fcc015b3..d22bc201ff 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
@@ -4,6 +4,22 @@ first release 0.95a, 2021-02-23 will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
this project uses date-based 'snapshot' version identifiers.
+## [2021-07-21]
+### Added
+ - key `testphase` to \DeclareDocumentMetadata to load testphase packages like
+ tagpdf, ptagging and headings
+ - key `activate` to \DeclareDocumentMetadata to activate e.g. tagging.
+ - key `debug` with para=show, log=XX or uncompress as values.
+ - l3pdfxform: support for dvips
+
+### Changed
+ - a LaTeX format/L3 layer that loads l3color is now required
+
+### Fixed
+ - argument order in \hrefrun was wrong. filename should be the first argument.
+ - xcolor firstaid: svgnames could no longer be loaded due to changes in l3color.
+
+
## [2021-06-29]
### Fixed
diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md
index f4676aefcd..e521f810db 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/README.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/README.md
@@ -1,6 +1,6 @@
# LaTeX PDF management testphase bundle
-Version: 0.95f, 2021-06-29
+Version: 0.95g, 2021-07-21
This package is used during a test phase to load the new PDF management code
of LaTeX.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
index 47052c99b1..b7765e97ed 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
@@ -22,7 +22,7 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2021-06-29 v0.95f
+\ProvidesPackage{color-ltx}[2021-07-21 v0.95g
Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2021/03/07 v1.2e) (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
index 906dd58152..e3d84d6ec6 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
@@ -86,7 +86,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -133,14 +133,13 @@
% it is recommended for most options ---with the exception of a few mentioned below in
% section~\ref{sec:pkg-options}---to set them in \cs{hypersetup},
% not as package option.
-% \item This driver uses \pkg{l3color} for the colors. All colors
+% \item This driver uses the \pkg{l3color} module for the colors. All colors
% defined with \cs{color_set:nn} or \cs{color_set:nnn} will work.
% Colors defined with \pkg{xcolor} will work if they don't use one of
% the special color models not supported by \pkg{l3color} as
% \pkg{pdfmanagement-firstaid} contains a patch for xcolor.
% If the package \pkg{color} is used it is currently recommended to define
-% colors after \pkg{hyperref}. This driver uses \pkg{l3color} for the colors,
-% some special color models of \pkg{xcolor} won't work.
+% colors after \pkg{hyperref}.
% \item Load a color package or graphicx to get the right page sizes.
% \item Report problems! Only known problem can be resolved.
% \end{itemize}
@@ -859,11 +858,11 @@
%^^A %% drivers are loaded in line 4745 in hyperref.sty in a \Hy@AtEndOfPackage command.
%^^A %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%^^A %% list of new internal commands
-%^^A %% __hyp_link_goto_begin:nw : start command for links to internal destination
+%^^A %% @@_link_goto_begin:nw : start command for links to internal destination
%^^A %% replaces \find@pdflink
-%^^A %% __hyp_link_goto_end:
-%^^A %% __hyp_destination:n : sets an anchor, replaces \new@pdflink
-%^^A %% \__hyp_PageLabels_gpush: : puts pagelabels in the catalog, used on every storing
+%^^A %% @@_link_goto_end:
+%^^A %% @@_destination:n : sets an anchor, replaces \new@pdflink
+%^^A %% \@@_PageLabels_gpush: : puts pagelabels in the catalog, used on every storing
%^^A %% PDF String (text)
%^^A %% *\@@_text_pdfstring:nnN : replaces Hy@pstringdef, converts #1 to pdfstring in encoding #2
%^^A %% and stores in N
@@ -882,10 +881,10 @@
%^^A %% % helps to display key list messages
%^^A %% \@@_clist_display:n
%^^A %%
-%^^A %% \__hyp_info_generate_addons: what did this do??
+%^^A %% \@@_info_generate_addons: what did this do??
%^^A %%
-%^^A %% \g__hyp_AcroForm_CoFields_prop
-%^^A %% \g__hyp_AcroForm_Fields_prop
+%^^A %% \g_@@_AcroForm_CoFields_prop
+%^^A %% \g_@@_AcroForm_Fields_prop
%^^A %%
%^^A %% \g_@@_dest_pdfstartpage_tl ,
%^^A %% \g_@@_dest_pdfstartview_tl ,
@@ -922,7 +921,7 @@
%<@@=hyp>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesFile{hgeneric-testphase.def}[2021-06-29 v0.95f %
+\ProvidesFile{hgeneric-testphase.def}[2021-07-21 v0.95g %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -1244,10 +1243,10 @@
\let\protect\@unexpandable@protect
\bool_if:NTF \l_@@_href_url_encode_bool
{
- \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/URI}
+ \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/URI}
}
{
- \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/string}
+ \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/string}
}
\@ifnextchar\bgroup\Hy@href{\hyper@normalise\href@}%
}
@@ -1274,10 +1273,10 @@
\let\protect\@unexpandable@protect
\bool_if:NTF \l_@@_href_url_encode_bool
{
- \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/URI}
+ \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/URI}
}
{
- \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/string}
+ \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/string}
}
\hyper@normalise\@@_href_url_aux:nn}
@@ -1319,7 +1318,7 @@
\cs_new_protected:Npn \@@_href_run_aux:nn #1 #2
{
- \exp_args:Nnno\hyper@linklaunch{#2}{#1}{\l_@@_href_run_parameter_tl}
+ \exp_args:Nnno\hyper@linklaunch{#1}{#2}{\l_@@_href_run_parameter_tl}
\group_end:
\hook_use:n{cmd/hrefrun/after}
}
@@ -1336,10 +1335,10 @@
\let\protect \@unexpandable@protect
\bool_if:NTF \l_@@_href_url_encode_bool
{
- \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/URI}
+ \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/URI}
}
{
- \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/string}
+ \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/string}
}
\hyper@normalise\@@_href_url_aux:n
}
@@ -1959,17 +1958,27 @@
% xetex version. It is not quite clear if really all three
% are needed for the backends supported by this driver, but changing the hyperref
% code would be difficult.
+% We add a hook. This allows e.g. the tagging code
+% to create also a structured destination.
+% We don't use the cmd hook, as we want the same hook for both start commands.
+% We make the current dest name available so that the hook code can use it.
% \begin{macro}
% {
% \hyper@anchor,
% \hyper@anchorstart,
-% \hyper@anchorend
+% \hyper@anchorend,
+% hyp/anchor,
+% \l_hyp_current_dest_name_tl
% }
% \begin{macrocode}
+\tl_new:N\l_hyp_current_dest_name_tl
+\hook_new:n{hyp/anchor}
\cs_new_protected:Npn \hyper@anchor #1
{
\exp_args:NnV
\@@_destination:nn {#1} \l_@@_dest_pdfview_tl
+ \tl_set:Nn \l_hyp_current_dest_name_tl {#1}
+ \hook_use:n{hyp/anchor}
}
\cs_new_protected:Npn \hyper@anchorstart #1
@@ -1977,6 +1986,8 @@
\Hy@activeanchortrue
\exp_args:NnV
\@@_destination:nn {#1} \l_@@_dest_pdfview_tl
+ \tl_set:Nn \l_hyp_current_dest_name_tl {#1}
+ \hook_use:n{hyp/anchor}
}
\cs_new_protected:Npn \hyper@anchorend
@@ -2059,7 +2070,9 @@
% \end{function}
% \pkg{hyperref} adds a group with \cs{Hy@colorlink}, we move this outside the link
-% so that it groups the context hook too.
+% so that it groups the context hook too. We store again the destination name in the
+% public tl |\l_hyp_current_dest_name_tl| so that the hook code can make use of
+% it
% \begin{macrocode}
\cs_new_protected:Npn \hyper@link #1 #2 #3 %#1 context, #2=destination name, #3 content
@@ -2068,9 +2081,10 @@
{
\Hy@VerboseLinkStart{#1}{#2}
\group_begin:
+ \tl_set:Nn \l_hyp_current_dest_name_tl {#2}
\hook_use:n {hyp/link/#1}
\@@_link_goto_begin:nw {#2}#3\Hy@xspace@end
- \__hyp_link_goto_end:
+ \@@_link_goto_end:
\group_end:
\Hy@VerboseLinkStop
}
@@ -2083,6 +2097,7 @@
{
\Hy@VerboseLinkStart{#1}{#2}% only for debug
\group_begin:
+ \tl_set:Nn \l_hyp_current_dest_name_tl {#2}
\hook_use:n {hyp/link/#1}
\@@_link_goto_begin:nw {#2}
}
@@ -2186,6 +2201,11 @@
\pdfdict_put:nno {l_hyp/annot/A/GoToR}{D}{\l_@@_dest_name_tmpa_tl}
}
\mode_leave_vertical:
+% \end{macrocode}
+% We use an extra object here, as ghostscript doesn't like the
+% object reference in the dict
+% \url{https://chat.stackexchange.com/transcript/message/57361080#57361080}
+% \begin{macrocode}
\pdf_object_unnamed_write:nx{dict}{\pdfdict_use:n {l_hyp/annot/A/GoToR}}
\pdfannot_dict_put:nnx {link/GoToR}{A}{\pdf_object_ref_last:}
\pdfannot_link:nxn %expansion??
@@ -4131,14 +4151,14 @@
% clearly faster than removing them from a sequence
\def\HyField@AuxAddToFields#1
{
- \prop_gput:Nnn \g__hyp_AcroForm_Fields_prop {#1}{F}
+ \prop_gput:Nnn \g_@@_AcroForm_Fields_prop {#1}{F}
}%
%fields with empty key get a value too -- lets hope that
%this give the expected behaviour
\def\HyField@AuxAddToCoFields #1 #2
{
- \prop_gput:Nnn \g__hyp_AcroForm_CoFields_prop {a#1}{#2}
+ \prop_gput:Nnn \g_@@_AcroForm_CoFields_prop {a#1}{#2}
}
\Hy@AtBeginDocument
@@ -4196,9 +4216,9 @@
\ExplSyntaxOff
\ExplSyntaxOn
\tl_new:N \l_@@_CheckmarkYes_tl
-\tl_set:Nn \l_@@_CheckmarkYes_tl { __hyp_xform_CheckMarkYes }
+\tl_set:Nn \l_@@_CheckmarkYes_tl { @@_xform_CheckMarkYes }
\tl_new:N \l_@@_CheckmarkOff_tl
-\tl_set:Nn \l_@@_CheckmarkOff_tl { __hyp_xform_CheckMarkOff }
+\tl_set:Nn \l_@@_CheckmarkOff_tl { @@_xform_CheckMarkOff }
\def\@Form[#1]
{
@@ -4207,14 +4227,14 @@
\pdf@ifdraftmode{}
{
\Hy@FormObjects
- \prop_map_inline:Nn \g__hyp_AcroForm_Fields_prop
+ \prop_map_inline:Nn \g_@@_AcroForm_Fields_prop
{
\pdfmanagement_add:nnx { Catalog / AcroForm } { Fields }{##1}
%\pdfmanagement_show:n { Catalog / AcroForm }
}
- \prop_if_empty:NF \g__hyp_AcroForm_CoFields_prop
+ \prop_if_empty:NF \g_@@_AcroForm_CoFields_prop
{
- \prop_map_inline:Nn \g__hyp_AcroForm_CoFields_prop
+ \prop_map_inline:Nn \g_@@_AcroForm_CoFields_prop
{
\seq_put_right:Nn \l_@@_tmpa_seq {##1}
}
@@ -4230,7 +4250,7 @@
\pdfmanagement_add:nnx { Catalog / AcroForm }
{ CO }
{
- \prop_item:Nn \g__hyp_AcroForm_CoFields_prop {##1}
+ \prop_item:Nn \g_@@_AcroForm_CoFields_prop {##1}
}
}
}
@@ -4262,7 +4282,7 @@
\char123
\group_end:
}
- {__hyp_xform_Ding}
+ {@@_xform_Ding}
\MakeFieldObject
{
\group_begin:
@@ -4274,7 +4294,7 @@
\phantom{\char123}
\group_end:
}
- {__hyp_xform_DingOff}
+ {@@_xform_DingOff}
\MakeFieldObject
{
\group_begin:
@@ -4286,7 +4306,7 @@
\char51
\group_end:
}
- {__hyp_xform_CheckMarkYes}
+ {@@_xform_CheckMarkYes}
\MakeFieldObject
{
\group_begin:
@@ -4298,17 +4318,17 @@
\phantom{\char51} %perhaps xetex needs some small glyph ..
\group_end:
}
- {__hyp_xform_CheckMarkOff}
+ {@@_xform_CheckMarkOff}
\MakeFieldObject
{
\fbox{\textcolor{yellow}{\textsf{Submit}}} %color?
}
- {__hyp_xform_Submit}
+ {@@_xform_Submit}
\MakeFieldObject
{
\fbox{\textcolor{yellow}{\textsf{SubmitP}}} %color?
}
- {__hyp_xform_SubmitP}
+ {@@_xform_SubmitP}
}
\ExplSyntaxOff
\let\@endForm\ltx@empty
@@ -4324,16 +4344,16 @@
%\zref@labelbyprops{HyAnn@\the\HyAnn@Count}{abspage}%
%\zref@labelbylist {HyAnn@\the\HyAnn@Count} {l3pdf}
%\zref@refused{HyAnn@\the\HyAnn@Count}%
- \__hyp_ref_label:en {HyAnn@\the\HyAnn@Count}{abspage}
- \__hyp_ref_check:en {HyAnn@\the\HyAnn@Count}{abspage}
+ \@@_ref_label:en {HyAnn@\the\HyAnn@Count}{abspage}
+ \@@_ref_check:en {HyAnn@\the\HyAnn@Count}{abspage}
}%
\def\Fld@pageobjref
{
- \__hyp_ref_if_exist:enT {HyAnn@\the\HyAnn@Count}{abspage}
+ \@@_ref_if_exist:enT {HyAnn@\the\HyAnn@Count}{abspage}
{
/P~\pdf_pageobject_ref:n
{
- \__hyp_ref_value:en{HyAnn@\the\HyAnn@Count}{abspage}
+ \@@_ref_value:en{HyAnn@\the\HyAnn@Count}{abspage}
}
}
}
@@ -4449,7 +4469,7 @@
\endgroup
}
\tl_new:N \l_@@_RadioYes_tl
-\tl_set:Nn \l_@@_RadioYes_tl { __hyp_xform_Ding }
+\tl_set:Nn \l_@@_RadioYes_tl { @@_xform_Ding }
\def\@@Radio#1{%
\Fld@listcount=0~%
%\show\Fld@default
@@ -4474,8 +4494,8 @@
<<
/N
<<
- /\@currValue\c_space_tl \pdfxform_ref:o {__hyp_xform_Ding}
- %/Off \c_space_tl \pdfxform_ref:n {__hyp_xform_DingOff} %hm
+ /\@currValue\c_space_tl \pdfxform_ref:o {@@_xform_Ding}
+ %/Off \c_space_tl \pdfxform_ref:n {@@_xform_DingOff} %hm
>>
>>
}
@@ -4569,8 +4589,8 @@
{
\PDFForm@Submit
/AP<<
- /N~\pdfxform_ref:n {__hyp_xform_Submit}~
- /D~\pdfxform_ref:n {__hyp_xform_SubmitP}
+ /N~\pdfxform_ref:n {@@_xform_Submit}~
+ /D~\pdfxform_ref:n {@@_xform_SubmitP}
>>
}
\HyField@AddToFields
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
index 7c6e6bbc3b..de4dd81f09 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
index a1d15ac92d..96e9d086a6 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
@@ -19,7 +19,7 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{hyperxmp-patches-tmp-ltx}{2021-06-29}{0.95f}
+\ProvidesExplPackage{hyperxmp-patches-tmp-ltx}{2021-07-21}{0.95g}
{Store hyperref metadata in XMP format / temporay patches to test pdfresource management ... UF}
\cs_if_exist:NT \pdfmanagement_add:nnn
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
index b877ce86fc..7b4aad8fe6 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
@@ -45,7 +45,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
%
@@ -56,27 +56,27 @@
% \begin{macrocode}
%<drivers>\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-testphase-dvipdfmx.def}{2021-06-29}{}
+ {l3backend-testphase-dvipdfmx.def}{2021-07-21}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-testphase-dvips.def}{2021-06-29}{}
+ {l3backend-testphase-dvips.def}{2021-07-21}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-testphase-dvisvgm.def}{2021-06-29}{}
+ {l3backend-testphase-dvisvgm.def}{2021-07-21}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-testphase-luatex.def}{2021-06-29}{}
+ {l3backend-testphase-luatex.def}{2021-07-21}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-testphase-pdftex.def}{2021-06-29}{}
+ {l3backend-testphase-pdftex.def}{2021-07-21}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
%</pdftex>
%<*xdvipdfmx>
- {l3backend-testphase-xetex.def}{2021-06-29}{}
+ {l3backend-testphase-xetex.def}{2021-07-21}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
%</xdvipdfmx>
% \end{macrocode}
@@ -106,11 +106,10 @@
\cs_generate_variant:Nn \@@_backend_ref_value:nn {en}
%</drivers>
% \end{macrocode}
+% avoid that destinations names are optimized with xelatex/dvipdfmx
+% see https://tug.org/pipermail/dvipdfmx/2019-May/000002.html
% \begin{macrocode}
%<*dvipdfmx|xdvipdfmx>
-% avoid that destinations names are optimized.
-% is this still needed??
-% see https://tug.org/pipermail/dvipdfmx/2019-May/000002.html
\__kernel_backend_literal:x { dvipdfmx:config~C~ 0x0010 }
%</dvipdfmx|xdvipdfmx>
% \end{macrocode}
@@ -121,6 +120,7 @@
\prop_new:N \g_@@_tmpa_prop
\tl_new:N \l_@@_tmpa_tl
\box_new:N \l_@@_backend_tmpa_box
+\box_new:N \l_@@_backend_tmpb_box
%</drivers>
% \end{macrocode}
% \end{variable}
@@ -201,20 +201,12 @@
{
\g__kernel_pdfmanagement_thispage_shipout_code_tl
}
- \tl_gput_left:Nn\@kernel@after@shipout@lastpage
- {
- \g__kernel_pdfmanagement_lastpage_shipout_code_tl
- }
}
{
\hook_gput_code:nnn{shipout/background}{pdf}
{
\g__kernel_pdfmanagement_thispage_shipout_code_tl
}
- \hook_gput_code:nnn {shipout/lastpage} {pdf}
- {
- \g__kernel_pdfmanagement_lastpage_shipout_code_tl
- }
}
%</drivers>
@@ -561,21 +553,10 @@
% \subsection{\enquote{Page/Resources}: ExtGState, ColorSpace, Shading, Pattern}
% Path: Page/Resources/ExtGState etc. The actual output of the resources is handled
% together with the bdc/Properties. Here is only special code.
-% \begin{macro}{\@@_backend_PageResources_gput:nnn}
-% stores values for the page resources.
-% \begin{arguments}
-% \item name of the resource (ExtGState, ColorSpace, Shading, Pattern)
-% \item a pdf name without slash
-% \item value
-% \end{arguments}
-% \begin{macro}{\@@_backend_PageResources_obj_gpush:}
-% This pushes out the objects. It is a no-op with xdvipdfmx and dvips.
-% \begin{macrocode}
-% backend commands the command to fill the register
-% and to push the values.
-%
+% \begin{macro}{\c_@@_backend_PageResources_clist}
% The names are quite often needed
% a similar list is now in l3pdfmanagement. Perhaps it should be merged.
+% \begin{macrocode}
%<*drivers>
\clist_const:Nn \c_@@_backend_PageResources_clist
{
@@ -585,9 +566,25 @@
Shading,
}
%</drivers>
-% pdftex and luatex
+% \end{macrocode}
+% \end{macro}
+%
+% Now the backend commands the command to fill the register
+% and to push the values.
+%
+% \begin{macro}{\@@_backend_PageResources_gput:nnn}
+% stores values for the page resources.
+% \begin{arguments}
+% \item name of the resource (ExtGState, ColorSpace, Shading, Pattern)
+% \item a pdf name without slash
+% \item value
+% \end{arguments}
+% \begin{macro}{\@@_backend_PageResources_obj_gpush:}
+% This pushes out the objects. It should be a no-op with xdvipdfmx and dvips
+% as it currently issued in the end-of-run hook!
+% create the backend objects:
+% \begin{macrocode}
%<*pdftex|luatex>
- %create the backend objects:
\clist_map_inline:Nn \c_@@_backend_PageResources_clist
{
\@@_backend_object_new:nn {@@/Page/Resources/#1} {dict}
@@ -602,12 +599,14 @@
}
}
%</pdftex|luatex>
+% \end{macrocode}
+% values are only stored in a prop and will be output at end document.
+% luatex must also trigger the lua side
+% \begin{macrocode}
%<*luatex>
-%values are only stored in a prop and will be output at end document.
\cs_new_protected:Npn \@@_backend_PageResources_gput:nnn #1 #2 #3
{
\pdfdict_gput:nnn {g_@@_Core/Page/Resources/#1} { #2 }{ #3 }
- % luatex must also trigger the lua side
\tex_latelua:D{ltx.@@.Page.Resources.#1=true}
\tex_latelua:D
{
@@ -621,8 +620,10 @@
\pdfdict_gput:nnn {g_@@_Core/Page/Resources/#1} { #2 }{ #3 }
}
%</pdftex>
+% \end{macrocode}
+% code for end of document code
+% \begin{macrocode}
%<*pdftex|luatex>
-%code for end of document code
\cs_new_protected:Npn \@@_backend_PageResources_obj_gpush:
{
\clist_map_inline:Nn \c_@@_backend_PageResources_clist
@@ -637,15 +638,19 @@
}
}
%</pdftex|luatex>
+% \end{macrocode}
% xdvipdfmx
% \special{pdf:pageresources<<#1>>} doesn't work correctly with object names ...
% https://tug.org/pipermail/dvipdfmx/2019-August/000021.html,
% so we use \special{pdf:put @resources}
% this must be issued on every page!
-%<*dvipdfmx|xdvipdfmx>
-%objects should not only be created but also "initialized"
+% objects should not only be created but also "initialized"
% initialization should be done before anyone tries to write
% so we add rules for the backend.
+% The push command should not be used as it is
+% in the wrong end document hook. If needed a new command must be added.
+% \begin{macrocode}
+%<*dvipdfmx|xdvipdfmx>
%<xdvipdfmx>\hook_gset_rule:nnnn{shipout/firstpage}{l3backend-xetex}{after}{pdf}
%<dvipdfmx>\hook_gset_rule:nnnn{shipout/firstpage}{l3backend-dvipdfmx}{after}{pdf}
%
@@ -673,8 +678,11 @@
\cs_new_protected:Npn \@@_backend_PageResources_obj_gpush: {}
%</dvipdfmx|xdvipdfmx>
+% \end{macrocode}
+% dvips unneeded, or no-op. The push command should not be used as it is
+% in the wrong end document hook. If needed a new command must be added.
+% \begin{macrocode}
%<*dvips>
-% dvips unneeded, or no-op
\cs_new_protected:Npn \@@_backend_PageResources:n #1 {}
\cs_new_protected:Npn \@@_backend_PageResources_gput:nnn #1 #2 #3
{ %only for the show command TEST!!
@@ -682,8 +690,10 @@
}
\cs_new_protected:Npn \@@_backend_PageResources_obj_gpush: {}
%</dvips>
+% \end{macrocode}
+% dvipsvgm unneeded, or no-op
+% \begin{macrocode}
%<*dvisvgm>
-% dvips unneeded, or no-op
\cs_new_protected:Npn \@@_backend_PageResources:n #1 {}
\cs_new_protected:Npn \@@_backend_PageResources_gput:nnn #1 #2 #3
{ %only for the show command TEST!!
@@ -725,23 +735,23 @@
%
\cs_set_protected:Npn \@@_backend_bdc:nn #1 #2 % #1 eg. Span, #2: dict_content
{
- \__pdf_backend_pdfmark:x{/#1~<<#2>>~/BDC}
+ \@@_backend_pdfmark:x{/#1~<<#2>>~/BDC}
}
\cs_set_protected:Npn \@@_backend_bdcobject:nn #1 #2 % #1 eg. Span, #2: object name
{
- \__pdf_backend_pdfmark:x{/#1~\@@_backend_object_ref:n{#2}~/BDC}
+ \@@_backend_pdfmark:x{/#1~\@@_backend_object_ref:n{#2}~/BDC}
}
\cs_set_protected:Npn \@@_backend_bdcobject:n #1 % #1 eg. Span,
{
- \__pdf_backend_pdfmark:x{/#1~\@@_backend_object_last:~/BDC}
+ \@@_backend_pdfmark:x{/#1~\@@_backend_object_last:~/BDC}
}
\cs_set_protected:Npn \@@_backend_emc:
{
- \__pdf_backend_pdfmark:n{/EMC} %
+ \@@_backend_pdfmark:n{/EMC} %
}
\cs_set_protected:Npn \@@_backend_bmc:n #1
{
- \__pdf_backend_pdfmark:n{/#1~/BMC} %
+ \@@_backend_pdfmark:n{/#1~/BMC} %
}
\cs_new_protected:Npn \@@_backend_PageResources_gpush:n #1 {}
@@ -1099,7 +1109,7 @@
{
\pdf_object_unnamed_write:nn {dict} { /Names [#1] }
%n or x?
- \__pdf_backend:x {put~@names~<</EmbeddedFiles~\pdf_object_ref_last: >>}
+ \@@_backend:x {put~@names~<</EmbeddedFiles~\pdf_object_ref_last: >>}
}
%</dvipdfmx|xdvipdfmx>
@@ -1472,6 +1482,109 @@
\cs_new_protected:Npn \@@_backend_xform_use:n #1 {}
\cs_new:Npn \@@_backend_xform_ref:n {}
%</dvisvgm>
+% \end{macrocode}
+% The xform code for dvips is based on code from the attachfile2 package
+% (in atfi-dvips), along with some ideas from pdfbase and has been corrected
+% with the help of Alexander Grahn.
+% Details like clipping and landscape will probably be corrected in the future.
+% \begin{macrocode}
+%<*dvips>
+\cs_new_protected:Npn\@@_backend_xform_new:nnnn #1 #2 #3 #4 % #1 name, #2 attribute, #4 content
+ {
+ \int_gincr:N \g_@@_backend_object_int
+ \int_const:cn
+ { c_@@_backend_xform_ \tl_to_str:n {#1} _int }
+ { \g_@@_backend_object_int }
+
+ \hbox_set:Nn \l_@@_backend_tmpa_box
+ {
+ \bool_set_true:N \l_@@_backend_xform_bool
+ \prop_gclear:c {\__kernel_pdfdict_name:n { g_@@_Core/Xform/Resources/Properties }}
+ #4
+ }
+ %store the dimensions
+ \tl_const:cx
+ { c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl }
+ { \tex_the:D \box_wd:N \l_@@_backend_tmpa_box }
+ \tl_const:cx
+ { c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl }
+ { \tex_the:D \box_ht:N \l_@@_backend_tmpa_box }
+ \tl_const:cx
+ { c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl }
+ { \tex_the:D \box_dp:N \l_@@_backend_tmpa_box }
+ %mirror the box
+ \box_scale:Nnn \l_@@_backend_tmpa_box {1} {-1}
+ \hbox_set:Nn\l_@@_backend_tmpb_box
+ {
+ \__kernel_backend_postscript:x
+ {
+ gsave~currentpoint~translate~
+ mark~
+ /_objdef~{ pdf.obj \int_use:N\g_@@_backend_object_int }\c_space_tl~
+ /BBox[
+ currentpoint~\dim_to_decimal:n{\box_dp:N \l_@@_backend_tmpa_box}~72.27~div~VResolution~mul~add~
+ currentpoint~
+ exch~\dim_to_decimal:n{\box_wd:N \l_@@_backend_tmpa_box}~72.27~div~Resolution~mul~add~
+ exch~\dim_to_decimal:n{\box_ht:N \l_@@_backend_tmpa_box}~72.27~div~VResolution~mul~sub~
+ ]
+ \str_if_eq:eeF{#1}{}
+ {
+ product~(Distiller)~search~{pop~pop~pop~#2}{pop}ifelse~
+ }
+ /BP~pdfmark~grestore~
+ }
+ \box_use_drop:N\l_@@_backend_tmpa_box
+ \__kernel_backend_postscript:n
+ {
+ mark ~ /EP~pdfmark
+ }
+ \str_if_eq:eeF{#1}{}
+ {
+ \__kernel_backend_postscript:x
+ {
+ product~(Ghostscript)~search~
+ {
+ pop~pop~pop~
+ mark~
+ { pdf.obj \int_use:c{c_@@_backend_xform_ \tl_to_str:n {#1} _int} }
+ ~<<#2>>~/PUT~pdfmark
+ }{pop}ifelse
+ }
+ }
+ }
+ \box_set_dp:Nn \l_@@_backend_tmpb_box { \c_zero_dim }
+ \box_set_ht:Nn \l_@@_backend_tmpb_box { \c_zero_dim }
+ \box_set_wd:Nn \l_@@_backend_tmpb_box { \c_zero_dim }
+ \hook_gput_code:nnn {begindocument/end}{pdfxform}
+ {
+ \mode_leave_vertical:
+ \box_use:N\l_@@_backend_tmpb_box
+ }
+ }
+
+
+\cs_new_protected:Npn \@@_backend_xform_use:n #1
+ {
+ \hbox_set:Nn \l_@@_backend_tmpa_box
+ {
+ \__kernel_backend_postscript:x
+ {
+ gsave~currentpoint~translate~1~-1~scale~
+ mark~{ pdf.obj \int_use:c{c__pdf_backend_xform_ \tl_to_str:n {#1} _int }}~
+ /SP~pdfmark ~ grestore
+ }
+ }
+ \box_set_wd:Nn \l_@@_backend_tmpa_box { \pdfxform_wd:n { #1 } }
+ \box_set_ht:Nn \l_@@_backend_tmpa_box { \pdfxform_ht:n { #1 } }
+ \box_set_dp:Nn \l_@@_backend_tmpa_box { \pdfxform_dp:n { #1 } }
+ \box_use_drop:N \l_@@_backend_tmpa_box
+ }
+\cs_new:Npn \@@_backend_xform_ref:n #1
+ {
+ { pdf.obj \int_use:c{c_@@_backend_xform_ \tl_to_str:n {#1} _int} }
+ }
+
+%</dvips>
%<*drivers>
%% all
\prg_new_conditional:Npnn \@@_backend_xform_if_exist:n #1 { p , T , F , TF }
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
index 581ef1f4b4..452b140f99 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
index 1eeeaeb9e7..4f4778699a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
@@ -52,7 +52,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -67,6 +67,33 @@
% and link annotations. Commands for other annotations like widgets will be added
% later.
%
+% \subsection{dvips specialities}
+% With most engines and backend the content of arguments like \Arg{annot spec}
+% are dictionaries with keys and values which looks like the PDF.
+% With dvips this is different. As it write at first a postscript file which is
+% then interpreted along the rule of the pdfmark reference (and the rules of the postscript
+% language) the handling is in some parts so different that it is difficult to hide
+% this in abstraction like the one of this module.
+% And there is the additional complication that the
+% two postscript processor ghostscript (ps2pdf) and distiller handles some code differently too.
+%
+% For now the following differences have been spotted, it is yet not quite clear
+% how to resolve them
+% \begin{itemize}
+% \item distiller doesn't like it if the action is provided by directly
+% providing the |/A| key with some values.
+% Instead it expects a keyword \texttt{/Action}, which it will
+% then translate to |/A|. For |GoTo| links this has been resolved at the backend level,
+% but for other link types this problem is open.
+% \item ghostscript doesn't like object references as values in some places.
+% The work around here (which is e.g. used by hyperref for GoToR link) is to
+% write the whole dictionary first as an object and to use its reference, but this
+% is something distiller doesn't like, sigh.
+% \item How to escaping text and create unicode can be different.
+% \end{itemize}
+%
+%
+%
% \subsection{General annotation commands}
%
% \begin{function}[added = 2019-09-05, updated = 2020-04-14]
@@ -397,7 +424,7 @@
% \begin{macrocode}
%<@@=pdfannot>
%<*header>
-\ProvidesExplPackage{l3pdfannot}{2021-06-29}{0.95f}
+\ProvidesExplPackage{l3pdfannot}{2021-07-21}{0.95g}
{PDF-annotations}
\RequirePackage{l3pdfdict}
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
index f759ec411e..88bc60c05d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
index 635007c3c0..ef283dd664 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -212,7 +212,7 @@
% \begin{macrocode}
%<@@=pdfdict>
%<*header>
-\ProvidesExplPackage{l3pdfdict}{2021-06-29}{0.95f}
+\ProvidesExplPackage{l3pdfdict}{2021-07-21}{0.95g}
{Tools for PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
index 5f5f8a8b8b..8df8e77e73 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
index 6677aeb34b..146214c7f1 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
index ac54f8e89c..e1074881bc 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
index c8a25060a2..32f2f76ffe 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
@@ -68,7 +68,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
index 232283b07e..722ab053e6 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
index f58e9bff7d..f247ef5142 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
index efe3b54e9b..bb9bd4816e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
index 3ae0998304..3d6ee2c6c2 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
@@ -59,7 +59,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -77,6 +77,8 @@
% itself
% \item Standards like pdf/A disable features of form fields too
% (as you typically can't change the PDF).
+% \item The compilations involving postscript/pdfmark (dvips with ps2pdf or dvips
+% with distiller) can require special setups.
% \end{itemize}
% \section{Pushbuttons}
% Click me:
@@ -89,7 +91,17 @@
% \pdffield_pushbutton:n{name=bear,appearance=pdffield/bear,width=23pt,height=30pt,depth=10pt}
% \group_end:
% \ExplSyntaxOff
-%
+%^^A ps2pdf doesn't like the I\'m, need to find out the right escape.
+%^^A ps2pdf also requires an indirection (but distiller will probably require /Action
+%^^A instead of /A)
+%^^A \group_begin:
+%^^A \tl_set:Nn\l_tmpa_tl{app.alert('Hello!~Im~Bär!',3,0);}
+%^^A \regex_replace_once:nnN{ä}{\x5Cu00E4}\l_tmpa_tl{}
+%^^A \pdf_object_unnamed_write:nx{stream}{{}{\exp_not:o{\l_tmpa_tl}}}
+%^^A \pdf_object_unnamed_write:nx{dict}{/S/JavaScript /JS~\pdf_object_ref_last:}
+%^^A \pdfannot_dict_put:nnx{widget}{A}{\pdf_object_ref_last:}
+%^^A \pdffield_pushbutton:n{name=bear,appearance=pdffield/bear,width=23pt,height=30pt,depth=10pt}
+%^^A \group_end:%
% \bigskip
% \subsection{Commands}
% \begin{function}{\pdffield_push:n}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
index ae3b69e25c..599400bd4e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
index cf1570ef3a..3a451bcead 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
@@ -87,7 +87,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
index fd3d40f8fc..4543748a37 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
index 0a8188961c..81330a6520 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
index 25b086b773..168a072993 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
index cd9c5877ea..36e4415eef 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
@@ -73,7 +73,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -970,7 +970,7 @@
%<*package>
%<@@=pdffield>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2021-06-29}{0.95f}%
+\ProvidesExplPackage{l3pdffield-testphase}{2021-07-21}{0.95g}%
{form fields}
% \end{macrocode}
% \subsection{hyperref specific command}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
index 33d0035b06..b9d740e9f9 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
index b925844f52..0fadfbe46f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -400,7 +400,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdffile}{2021-06-29}{0.95f}
+\ProvidesExplPackage{l3pdffile}{2021-07-21}{0.95g}
{embedding and referencing files in PDF---LaTeX PDF management testphase bundle}
\RequirePackage{l3pdftools} %temporarly!!
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
index d6515e96c2..faa18ada04 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
index 15156e9204..0390980da5 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -557,7 +557,7 @@
%<@@=pdfmanagement>
%<*header>
%
-\ProvidesExplPackage{l3pdfmanagement}{2021-06-29}{0.95f}
+\ProvidesExplPackage{l3pdfmanagement}{2021-07-21}{0.95g}
{Management of core PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
@@ -672,18 +672,11 @@
}
}
-\tl_gset:Nn \g__kernel_pdfmanagement_lastpage_shipout_code_tl
- {
- \bool_if:NT \g_@@_active_bool
- {
- \__pdf_backend_PageResources_obj_gpush: %ExtGState etc
- }
- }
-
\tl_gset:Nn \g__kernel_pdfmanagement_end_run_code_tl
{
\bool_if:NT \g_@@_active_bool
{
+ \__pdf_backend_PageResources_obj_gpush: %ExtGState etc
\@@_Pages_gpush: %pagesattr
\@@_Info_gpush: %pdfinfo
\@@_Catalog_gpush:
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
index 757a38b292..f017471217 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
index 73163f820a..f590a2b897 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -343,7 +343,7 @@
% \begin{macrocode}
%<@@=pdfmeta>
%<*header>
-\ProvidesExplPackage{l3pdfmeta}{2021-06-29}{0.95f}
+\ProvidesExplPackage{l3pdfmeta}{2021-07-21}{0.95g}
{PDF-Standards---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
index 1c2d21346c..030b8f17d8 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
index 6dc8a4fc1f..2df7203e0f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -215,7 +215,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdftools}{2021-06-29}{0.95f}
+\ProvidesExplPackage{l3pdftools}{2021-07-21}{0.95g}
{candidate commands for l3pdf---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
index aaa5a655ce..c322f0e976 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
index 59d72672c6..eef4ae7ee0 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
@@ -52,7 +52,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -61,8 +61,11 @@
% This module contains a number of commands to create \enquote{form XObjects},
% for which pdf\TeX{} introduced the short name \enquote{xforms}.
%
-% The status is still beta, so the style itself is currently named
-% \pkg{l3pdfxform-beta}. Missing is for example code for the dvips route.
+% The status is still beta.
+% The dvips route is now better supported but there are open issus
+% if landscape pages are involved or if the objects are larger than the page.
+% With dvips the creation of a form involves typesetting and so can affect spacing.
+%
% Probably some of the function will also need to be enhanced by hooks.
%
% \begin{function}[added = 2019-08-05,updated=2021-02-14]
@@ -120,7 +123,7 @@
% }
% \begin{syntax}
% \cs{pdfxform_if_exist_p:n} \Arg{name}
-% \cs{pdfxform_if_exist:NTF} \meta{name} \Arg{true code} \Arg{false code}
+% \cs{pdfxform_if_exist:nTF} \meta{name} \Arg{true code} \Arg{false code}
% \end{syntax}
% These command tests if an xform with name \Arg{name} has been already defined.
% \end{function}%
@@ -133,7 +136,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*header>
-\ProvidesExplPackage{l3pdfxform}{2021-06-29}{0.95f}
+\ProvidesExplPackage{l3pdfxform}{2021-07-21}{0.95g}
{command to create xforms (beta)---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
@@ -195,6 +198,9 @@
}
% \end{macrocode}
% \end{macro}
+% \begin{macro}[pTF]{\pdfxform_if_exist:n}
+% The command is defined in the backend (to avoid timing problems).
+% \end{macro}
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
index 2155b75584..7e6db80d8a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
index 8a783b7697..0679203098 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -115,9 +115,24 @@
% are described in the documentation of \pkg{l3pdfmeta}.
% \item[\texttt{pdfmanagement}] Boolean. This activates/deactivates
% the core management code. By default the value is true.
-% \item[firstaidoff] This accepts a comma lists of keysword and disable the patches
+% \item[\texttt{firstaidoff}] This accepts a comma lists of keysword and disable the patches
% related to them. More information can be found in the documentation of
% \pkg{pdfmanagement-firstaid}.
+% \item[\texttt{testphase}] This key is used to load testphase code. The values it accepts
+% and their effect will change over time, when testphase packages are added or
+% removed when the code is moved into the kernel. Currently the accepted values are
+% \texttt{tagpdf}, this load the tagpdf package, \texttt{headings}, this loads
+% code which reimplements heading commands, and \texttt{ptagging} this loads code
+% to allow paragraph tagging to work with engine other than luatex.
+% \item[\texttt{activate}] This key is used to enable some document wide functions. It is
+% currently in an experimental state. The values and their behaviour are subject to change.
+% Currently the only value is |tagging|,
+% which will do |\tagpdfsetup{activate,paratagging,interwordspace}|. It requires that
+% \pkg{tagpdf} has been loaded first with the |testphase| key.
+% \item[\texttt{debug}] This key activates some debug options. Currently only the
+% keys |para| (with the default and only value |show|),
+% and |log| (with the values of \pkg{tagpdf}) and |uncompress| (which does the same
+% as |uncompress| as main key) are known.
% \end{description}
%
% \subsection{Container for document properties}
@@ -167,7 +182,7 @@
% \begin{macrocode}
%<@@=pdfmanagement>
%<*header>
-\ProvidesExplPackage{ltdocinit}{2021-06-29}{0.95f}
+\ProvidesExplPackage{ltdocinit}{2021-07-21}{0.95g}
{Initialize document metadata}
%</header>
% \end{macrocode}
@@ -235,8 +250,9 @@
}
}
% \end{macrocode}
-% Load more modules and the firstaid code.
+% Load more modules, the testphase code and the firstaid code.
% \begin{macrocode}
+ \g_@@_testphase_tl
\RequirePackage{pdfmanagement-firstaid}
}
}
@@ -296,6 +312,13 @@
\clist_new:N \g_@@_firstaidoff_clist
% \end{macrocode}
% \end{variable}
+% \begin{variable}{\g_@@_testphase_tl}
+% a tl to store the testphase loading code so that we can load them at
+% the end of the command.
+% \begin{macrocode}
+\tl_new:N \g_@@_testphase_tl
+% \end{macrocode}
+% \end{variable}
% \begin{macrocode}
\keys_define:nn { document / metadata }
{
@@ -346,6 +369,78 @@
}
,pdfmanagement .bool_gset:N = \g_@@_active_bool
,firstaidoff .clist_gset:N = \g_@@_firstaidoff_clist
+ ,testphase .multichoice:
+ ,testphase / tagpdf .code:n =
+ {
+ \tl_gput_right:Nn\g_@@_testphase_tl
+ {
+ \RequirePackage{tagpdf}
+ \AddToDocumentProperties [document]{testphase/tagpdf}{loaded}
+ }
+ }
+ ,testphase / headings .code:n =
+ {
+ \tl_gput_right:Nn\g_@@_testphase_tl
+ {
+ \RequirePackage{headings-testphase}
+ \AddToDocumentProperties [document]{testphase/headings}{loaded}
+ }
+ }
+ ,testphase / ptagging .code:n =
+ {
+ \tl_gput_right:Nn\g_@@_testphase_tl
+ {
+ \AddToHook{class/after}
+ {
+ \RequirePackage{ptagging-testphase}
+ \AddToDocumentProperties [document]{testphase/ptagging}{loaded}
+ }
+ }
+ }
+ ,testphase / unknown .code:n =
+ {
+ \tl_gput_right:Nn\g_@@_testphase_tl
+ {
+ \AddToHook{class/after}
+ {
+ \RequirePackage{#1-testphase}
+ \AddToDocumentProperties [document]{testphase/#1}{loaded}
+ }
+ }
+ }
+ ,activate .multichoice:
+ ,activate / tagging .code:n =
+ {
+ \AddToHook{package/after/tagpdf}
+ {
+ \tagpdfsetup{activate,paratagging,interwordspace}
+ \AddToDocumentProperties [document]{tagging}{active}
+ \AddToDocumentProperties [document]{tagging/para}{active}
+ \AddToDocumentProperties [document]{tagging/interwordspace}{active}
+ }
+ }
+ ,debug .code:n =
+ {
+ \keys_set:nn { document / metadata / debug } {#1}
+ }
+ ,debug / para .code:n =
+ {
+ \AddToHook{package/after/tagpdf}
+ {
+ \tagpdfsetup{paratagging-show}
+ }
+ }
+ ,debug / log .code:n =
+ {
+ \AddToHook{package/after/tagpdf}
+ {
+ \tagpdfsetup{log=#1}
+ }
+ }
+ ,debug / uncompress .code:n =
+ {
+ \pdf_uncompress:
+ }
}
% \end{macrocode}
% \begin{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
index 68a7c4ed10..ce3ecd37bb 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
index 0755d24202..d123a70115 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
@@ -22,7 +22,7 @@
%% This work consists of the main source file pdflscape-ltx.sty
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{pdflscape-ltx}{2021-06-29}{0.95f}
+\ProvidesExplPackage{pdflscape-ltx}{2021-07-21}{0.95g}
{Display of landscape pages in PDF - adaption of pdflscape to the PDFmanagement bundle (testphase)}
\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
index 1a0284984f..364304de2c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -67,7 +67,7 @@
% |firstaidoff={name1,name2,...}|.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{pdfmanagement-firstaid}{2021-06-29}{0.95f}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2021-07-21}{0.95g}
{LaTeX PDF management testphase bundle / firstaid-patches}
%<@@=pdfmanagement>
@@ -108,8 +108,6 @@
% This patch serves also as test to check if this change can be safely
% added to \pkg{color} later.
% \begin{macrocode}
-\@ifundefined{color_set:nn}{
-\RequirePackage{l3color}}{}
\bool_if:NT \g_@@_firstaid_color_bool
{
\declare@file@substitution{color.sty}{color-ltx.sty}
@@ -127,8 +125,6 @@
% The |named| model is mapped to \cs{color_set:nn}.
%
% \begin{macrocode}
-\@ifundefined{color_set:nn}{
-\RequirePackage{l3color}}{}
\bool_if:NT \g_@@_firstaid_xcolor_bool
{
\AddToHook{package/after/xcolor}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
index d59ac10fb1..0aeab401dd 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
index 7ae7b5ca93..7d0b20ee02 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Version 0.95f, released 2021-06-29}
+% \date{Version 0.95g, released 2021-07-21}
%
% \maketitle
% \begin{documentation}
@@ -384,7 +384,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*package>
-\ProvidesExplPackage{pdfmanagement-testphase}{2021-06-29}{0.95f}
+\ProvidesExplPackage{pdfmanagement-testphase}{2021-07-21}{0.95g}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
@@ -411,7 +411,7 @@
% to allow to set it in the document.
% \begin{macrocode}
%<*header>
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-06-29}{0.95f}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-07-21}{0.95g}
{PDF~management~code~(testphase)}
%</header>
%<*package>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
index 9e3207d30f..4928dea1fc 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
index ece85d4667..5151ea4ff9 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
@@ -3,7 +3,7 @@
%% a replacement for transparent sty from Heiko Oberdiek
%%
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{transparent-ltx}{2021-06-29}{0.95f}
+\ProvidesExplPackage{transparent-ltx}{2021-07-21}{0.95g}
{Transparency with color stacks (replacement for transparent.sty from Heiko Oberdiek)}%
\RequirePackage{l3opacity}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index c9f37856f4..0861462d6b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2021-06-29 v0.95f patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2021-07-21 v0.95g patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn
@@ -8,7 +8,7 @@
% #2: model or models
% #3: value: either numbers or a color name
% #4 is the type: named or ps
-\cs_gset_protected:Npn \@expl@xcolor@set@@nnnn #1 #2 #3 #4
+\cs_gset_protected:Npn \__pdfmanagement_firstaid_xcolor_set:nnnn #1 #2 #3 #4
{
\str_case:nnF {#4}
{
@@ -40,12 +40,14 @@
}
}
}
- \cs_generate_variant:Nn \color_set:nn {ne}
- \cs_new_protected:Npn \@expl@xcolor@set@@ne #1 #2
- {
- \exp_args:Nx \__color_if_defined:nT {#2}
- { \color_set:ne {#1}{#2} }
- }
+\cs_generate_variant:Nn \__pdfmanagement_firstaid_xcolor_set:nnnn {nonn}
+\cs_set_eq:NN \@expl@xcolor@set@@nonn \__pdfmanagement_firstaid_xcolor_set:nonn
+\cs_generate_variant:Nn \color_set:nn {ne}
+\cs_new_protected:Npn \@expl@xcolor@set@@ne #1 #2
+ {
+ \exp_args:Nx \__color_if_defined:nT {#2}
+ { \color_set:ne {#1}{#2} }
+ }
\ExplSyntaxOff
%\pretocmd{\XC@col@rlet} {\@expl@color@set@@ne{#2}{#4}}{}{\fail}
\def\XC@col@rlet[#1]#2[#3]#4%
@@ -76,7 +78,7 @@
%\pretocmd{\XC@definec@lor}{\@expl@color@set@@nnn{#2}{#4}{#5}}{}{\fail}
\def\XC@definec@lor[#1]#2[#3]#4#5%
- {\@expl@xcolor@set@@nnnn{#2}{#4}{#5}{#1}%
+ {\@expl@xcolor@set@@nonn{#2}{#4}{#5}{#1}%
\begingroup
\XC@sdef\@@cls{#1}\XC@edef\@@nam{#2}\edef\colornameprefix{#3}%
\XC@logdef\@@nam
diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.pdf b/macros/latex/contrib/to-be-determined/to-be-determined.pdf
index 02529dfa3d..7046da7c95 100644
--- a/macros/latex/contrib/to-be-determined/to-be-determined.pdf
+++ b/macros/latex/contrib/to-be-determined/to-be-determined.pdf
Binary files differ
diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.sty b/macros/latex/contrib/to-be-determined/to-be-determined.sty
index 7dcea97033..ffc106eb97 100644
--- a/macros/latex/contrib/to-be-determined/to-be-determined.sty
+++ b/macros/latex/contrib/to-be-determined/to-be-determined.sty
@@ -21,7 +21,7 @@
% SOFTWARE.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{to-be-determined}[2021/07/15 0.1.0 Highlighting places requiring future work]
+\ProvidesPackage{to-be-determined}[2021/07/21 0.1.1 Highlighting places requiring future work]
\RequirePackage{xkeyval}
\newif\iftbdhide
@@ -37,9 +37,9 @@
\iftbdoff\else%
\sethlcolor{yellow}%
\iftbdhide%
- \hl{TBD}
+ \hl{TBD}%
\else%
- \hl{#1}
+ \hl{#1}%
\fi%
\fi%
}}
diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.tex b/macros/latex/contrib/to-be-determined/to-be-determined.tex
index cdab462bd1..ccaf9c744a 100644
--- a/macros/latex/contrib/to-be-determined/to-be-determined.tex
+++ b/macros/latex/contrib/to-be-determined/to-be-determined.tex
@@ -27,7 +27,7 @@
\usepackage{ffcode}
\title{\ff{to-be-determined}: \LaTeX{} Package \\ for highlighting places that require more work}
\author{Yegor Bugayenko}
-\date{0.1.0 2021/07/15}
+\date{0.1.1 2021/07/21}
\begin{document}
\pagenumbering{gobble}
\raggedbottom
diff --git a/macros/latex/contrib/ut-thesis/README b/macros/latex/contrib/ut-thesis/README
index d3c83c754b..5f65171d63 100644
--- a/macros/latex/contrib/ut-thesis/README
+++ b/macros/latex/contrib/ut-thesis/README
@@ -6,14 +6,18 @@ as of Fall 2020:
Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>,
2020-2021 Jesse Knight <jesse.knight@mail.utoronto.ca>
+last updated at 23:30 (EST) on Tue 20 July 2021
This work may be distributed and/or modified under the conditions of
-the LaTeX Project Public License, either version 1.3c of this license
+the LaTeX Project Public Licence, either version 1.3c of this licence
or (at your option) any later version.
-The latest version of this license is in
+The latest version of this licence is in
http://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
+Note that the output thesis document (e.g. PDF)
+is not considered a "Compiled Work"
+and is not covered by the licence.
This work has the LPPL maintenance status "maintained".
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.dtx b/macros/latex/contrib/ut-thesis/ut-thesis.dtx
index e48e2e1c75..1478c5d25a 100644
--- a/macros/latex/contrib/ut-thesis/ut-thesis.dtx
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.dtx
@@ -5,7 +5,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{ut-thesis}
%<*class>
-[2021/05/04 v3.0.3 University of Toronto thesis class]
+[2021/07/20 v3.0.5 University of Toronto thesis class]
%</class>
%
%<*driver>
@@ -146,7 +146,7 @@
% \begin{macro}{[openany]}
% These pages can open to the left or right.
% \end{macro}
-%
+%
% \paragraph{Widths:}
% Four widths of margins are defined based on
% the inner (left) and outer (right/top/bottom) dimensions:
@@ -231,7 +231,7 @@
%
% From the |book| class, the following commands are available to generate the frontmatter.
% These should be used in the order they appear here, as needed.
-%
+%
% \begin{macro}{\maketitle}
% Creates the title page according to SGS requirements,
% and adds a blank page following if using |[twoside]|.
@@ -239,10 +239,10 @@
%
% (The abstract page should appear here;
% see \S~\ref{use:env:abs}).
-%
+%
% (The dedication and acknowledgements should appear here, as needed;
% see \S~\ref{use:env:ded-ackn}).
-%
+%
% \begin{macro}{\tableofcontents}
% Prints the table of contents, starting on a new page.
% \end{macro}
@@ -254,7 +254,7 @@
% \begin{macro}{\listoffigures}
% Prints a table of figures, starting on a new page.
% \end{macro}
-%
+%
% \subsection{Environments}\label{use:env}
%
% \subsubsection{Abstract}\label{use:env:abs}
@@ -269,7 +269,7 @@
% We do not provide tools for counting words.
% \end{macro}
%
-% \subsubsection{Dedication \& Acknowledgments}\label{use:env:ded-ackn}
+% \subsubsection{Dedication \& Acknowledgements}\label{use:env:ded-ackn}
%
% \begin{macro}{dedication}
% The |dedication| environment formats text flush right and 2/3 down a new page.
@@ -277,7 +277,7 @@
% \end{macro}
%
% \begin{macro}{acknowledgements}
-% The |acknowledgments| environment creates a centered heading using |\section*{}|,
+% The |acknowledgements| environment creates a centered heading using |\section*{}|,
% and a new page after the text.
% Not necessary for SGS requirements, so you're welcome to redefine this environment.
% \end{macro}
@@ -537,7 +537,7 @@
\clearpage}
% \end{macrocode}
%
-% \subsubsection{Acknowledgments}\label{imp:front:ackn}
+% \subsubsection{Acknowledgements}\label{imp:front:ackn}
%
% As described above.
%
@@ -545,7 +545,7 @@
\newenvironment*{acknowledgements}%
{\thispagestyle{plain}
\begin{center}
- \section*{Acknowledgments}
+ \section*{Acknowledgements}
\end{center}
\begingroup}%
{\endgroup\clearpage}
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.ins b/macros/latex/contrib/ut-thesis/ut-thesis.ins
index 6f92828b3f..db35055115 100644
--- a/macros/latex/contrib/ut-thesis/ut-thesis.ins
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.ins
@@ -12,15 +12,18 @@ as of Fall 2020:
Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>,
2020-2021 Jesse Knight <jesse.knight@mail.utoronto.ca>
-last updated at 14:30 (EST) on Thu 11 May 2021
+last updated at 23:30 (EST) on Tue 20 July 2021
This work may be distributed and/or modified under the conditions of
-the LaTeX Project Public License, either version 1.3c of this license
+the LaTeX Project Public Licence, either version 1.3c of this licence
or (at your option) any later version.
-The latest version of this license is in
+The latest version of this licence is in
http://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
+Note that the output thesis document (e.g. PDF)
+is not considered a "Compiled Work"
+and is not covered by the licence.
This work has the LPPL maintenance status "maintained".
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.pdf b/macros/latex/contrib/ut-thesis/ut-thesis.pdf
index 4fcbb633eb..877c314bb0 100644
--- a/macros/latex/contrib/ut-thesis/ut-thesis.pdf
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index f6b5ffdc3f..61ee92ce96 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -20,7 +20,6 @@ $mirrors = {
'https://mirrors.cqu.edu.cn/CTAN/' => 1,
'https://mirrors.dgut.edu.cn/CTAN/' => 1,
'https://mirrors.hit.edu.cn/CTAN/' => 1,
- 'https://mirrors.nju.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,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index f1e99044b8..4c331d5a36 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2021
-depend revision/60002
+depend revision/60010
name 00texlive.image
category TLCore
@@ -4429,7 +4429,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 59995
+revision 60004
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
@@ -122262,7 +122262,7 @@ catalogue-topics font-doc
name fontools
category Package
-revision 58747
+revision 60005
shortdesc Tools to simplify using fonts (especially TT/OTF ones)
longdesc This package provides tools to simplify using OpenType fonts
longdesc with LaTeX. By far the most important program in this bundle is
@@ -122276,11 +122276,11 @@ longdesc - re-encode .afm files, ot2kpx - extract kerning pairs from
longdesc OpenType fonts, splitttc - split an OpenType Collection file
longdesc (ttc or otc) into individual fonts.
depend fontools.ARCH
-containersize 50108
-containerchecksum fed81ca7b52a51cd69be9ea8333ab7eb0210fab3517eb501d08ce933c7d926303a68b095654852de336b0fafa28a11b97517750418793dc61049c85ffb10ede0
-doccontainersize 129732
-doccontainerchecksum 7ee681471cfddf5dfd919057df7016ad097876c92890e68c4e5a01751210997a747192ccb38682a0565070bd90c471c27a6710bf5a09c7a205475ec01ecd0dc9
-docfiles size=56
+containersize 50492
+containerchecksum 627c119629856313bfa23a2023406195896f542f7234988dedca94f1c78c4df484a263330c0522d01e46eedd7de60ceff912ecbfab5309ff0a80635b152cca28
+doccontainersize 131536
+doccontainerchecksum 88c974b9c0e2995c6edfaf6e412a477bcc6e846c6087b6b83ed4c212a264fd4f2bd81164f941f59a7b40fc4dd10f3037345246d120f212c0a01c02cb628beb7d
+docfiles size=58
texmf-dist/doc/man/man1/afm2afm.1
texmf-dist/doc/man/man1/afm2afm.man1.pdf
texmf-dist/doc/man/man1/autoinst.1
@@ -122290,7 +122290,7 @@ docfiles size=56
texmf-dist/doc/support/fontools/GPLv2.txt
texmf-dist/doc/support/fontools/README details="Bundle readme"
texmf-dist/doc/support/fontools/splitttc
-runfiles size=62
+runfiles size=63
texmf-dist/fonts/enc/dvips/fontools/fontools_lgr.enc
texmf-dist/fonts/enc/dvips/fontools/fontools_ly1.enc
texmf-dist/fonts/enc/dvips/fontools/fontools_oml.enc
@@ -180018,27 +180018,32 @@ catalogue-version 0.30
name lipsum
category Package
-revision 58123
-shortdesc Easy access to the Lorem Ipsum dummy text
-relocated 1
-longdesc This package gives you easy access to the Lorem Ipsum dummy
-longdesc text; an option is available to separate the paragraphs of the
-longdesc dummy text into TeX-paragraphs. All the paragraphs are taken
-longdesc with permission from http://lipsum.com/.
-containersize 75536
-containerchecksum 6d93dbb16d94f7aa199e59b85096583a9e8e7a07b107bbfe1e0be7615717c29d94ecfd308c4adf462062251adb03b171a332cd688425f6854ce442c390c47396
-doccontainersize 808520
-doccontainerchecksum 6d7e7f8037cebffac9a3725b5a7b32eefcb458ebd86cbc9b0380d05d2b1926c3a70e7032629ffd4bede5102c3a36d84e1b2bd21d2b7f9b3e9c642390822fbffa
-docfiles size=200
+revision 60008
+shortdesc Easy access to the Lorem Ipsum and other dummy texts
+relocated 1
+longdesc This package gives you easy access to 150 paragraphs of the
+longdesc Lorem Ipsum dummy text provided by https://lipsum.com, plus a
+longdesc growing list of other dummy texts in different languages.
+containersize 125056
+containerchecksum ba8921ccd63f7ccbf05e6974ef2519d3bdc544e265bc2a61d47500b509b90ea1286aae2c9cf9030e10132064bc339ae44eea5bfc9e55fce1302d54543cdbfa94
+doccontainersize 747972
+doccontainerchecksum 6e8a64af4480a771a07c4420c276aee755d3fcd5640d2df4dc1e42ac9bcc5c0f044696ea0472832785a337a572bec52ff92e8fcd34ebd3ab4e3568a1cbbda714
+docfiles size=241
+ RELOC/doc/latex/lipsum/CHANGELOG.md
+ RELOC/doc/latex/lipsum/DEPENDS.txt
RELOC/doc/latex/lipsum/README.txt details="Readme"
+ RELOC/doc/latex/lipsum/lipsum-cicero.txt
+ RELOC/doc/latex/lipsum/lipsum-cs.txt
+ RELOC/doc/latex/lipsum/lipsum-la.txt
RELOC/doc/latex/lipsum/lipsum.pdf details="Package documentation"
-srccontainersize 86992
-srccontainerchecksum b2f55edabef986f5e792509c6db58f89f2bfc816cb07968e21f49308df4fb37836798f28d84a91b6020b6003b441e697800c2087b9e3549b2dee3cd1a393c5f2
-srcfiles size=77
+srccontainersize 16180
+srccontainerchecksum eb7b1529518aa77f347b7e250ecdb97a9610ec4c8527b074e4c4b0e8fa0a8fd1b1043106c86fe6d2beff056a53158b48baebf939aeb7692dc0892a49f80ffee5
+srcfiles size=15
RELOC/source/latex/lipsum/lipsum.dtx
RELOC/source/latex/lipsum/lipsum.ins
-runfiles size=65
+runfiles size=88
RELOC/tex/latex/lipsum/cicero.ltd.tex
+ RELOC/tex/latex/lipsum/lipsum-cs.ltd.tex
RELOC/tex/latex/lipsum/lipsum.ltd.tex
RELOC/tex/latex/lipsum/lipsum.sty
catalogue-also blindtext kantlipsum
@@ -180046,8 +180051,8 @@ catalogue-contact-bugs https://github.com/PhelypeOleinik/lipsum/issues
catalogue-contact-repository https://github.com/PhelypeOleinik/lipsum
catalogue-ctan /macros/latex/contrib/lipsum
catalogue-license lppl1.3
-catalogue-topics macro-supp dummy-gen
-catalogue-version 2.3
+catalogue-topics macro-supp dummy-gen multilingual expl3
+catalogue-version 2.4
name lisp-on-tex
category Package
@@ -299906,20 +299911,20 @@ binfiles arch=x86_64-solaris size=1
name texdimens
category Package
-revision 59939
+revision 60006
shortdesc Conversion of TeX dimensions to decimals
relocated 1
longdesc Utilities and documentation related to TeX dimensional units,
longdesc usable both with Plain (\input texdimens) and with LaTeX
longdesc (\usepackage{texdimens}).
-containersize 3708
-containerchecksum d19b6aecde3443f34fb3a3207882831e5187a346f20736bcf8366494cbf565f4b515bf1591e9f03e1e1e9437437e6ce8edbabc20c871b6e529d4cf382c44471e
-doccontainersize 6052
-doccontainerchecksum ea6c8c1e23ca810dd371bd9bf423242857a3ead1827471312f2a5bcbd14c46b73b3d1d68633303535ff48c25e3961163a0c35de41744df3da919196c633184f2
+containersize 5508
+containerchecksum 40b96f5b580cfd4af3b3499db2d09326cf5c227cd2eb0283f029e8138b863957312b62b32e0abeeda6376bf8997f3f2b8e78d8a68972dfda03f2fd2eed29f1a9
+doccontainersize 5948
+doccontainerchecksum 46447b05457eac1548e5d78916000c721f91fab0f4247cd7c0ce6f62d608bb5bbb6fd192818283048e46f8882a36e2bdaa8df6b27718dc99805be0aad000a378
docfiles size=7
RELOC/doc/generic/texdimens/LICENSE.md
RELOC/doc/generic/texdimens/README.md details="Readme"
-runfiles size=4
+runfiles size=6
RELOC/tex/generic/texdimens/texdimens.sty
RELOC/tex/generic/texdimens/texdimens.tex
catalogue-contact-bugs https://github.com/jfbu/texdimens/issues
@@ -299927,7 +299932,7 @@ catalogue-contact-repository https://github.com/jfbu/texdimens
catalogue-ctan /macros/generic/texdimens
catalogue-license lppl1.3c
catalogue-topics units etex
-catalogue-version 0.9delta
+catalogue-version 0.9
name texdirflatten
category Package
@@ -301057,7 +301062,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 59995
+revision 60004
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.
@@ -301065,10 +301070,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 108048
-containerchecksum c5a86dc16bd18b7141a8f82ebcb0c2abdd2a3b6a15e9599dcdad01de75be173bc74c93d3d949344885bde3e1f57ad324914ada4994ba6d8d964c9b2fe78b0b8c
-doccontainersize 398840
-doccontainerchecksum 0a19d97382d7852f25a3c0d78479601a8bc5c7c6c35afb4513fb5db1a3976dff35332d2f26a18ee613ad0ea231f079905cb1d4458db55d9f0926f38cabdf124e
+containersize 108032
+containerchecksum d9a9366cec60480ed4995cb092c327a9712f860ac3dfd16c32438a9445296c000a83d8fcf2a8bff20e73e1ea4b3a25ca564a38c6c62a9d4a3fb55a2c0620fd78
+doccontainersize 398744
+doccontainerchecksum 51c14261a2a560aa53b8dbf5359da84b238fc61104193e9c2636634d31040a9c4570be2360d2e7739cffc5c13f3ad631d88111c3368b3b8c8b82404f0a334469
docfiles size=493
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -314403,7 +314408,7 @@ binfiles arch=x86_64-solaris size=1
name to-be-determined
category Package
-revision 59943
+revision 60009
shortdesc Highlight text passages that need further work
relocated 1
longdesc This package provides a single command \tbd which highlights
@@ -314413,10 +314418,10 @@ longdesc them disappear entirely with the option off.
depend soul
depend xcolor
depend xkeyval
-containersize 1488
-containerchecksum 4b2287b33b14f6e71933990857f0052f02d34dd6f5a90da3305db0269f83d54fb5e3b525c30cda731dba5c9e7d8f980b7eb32fee518b66f9dfb22b53371a4ad1
-doccontainersize 186296
-doccontainerchecksum d0e6c4e0033d1a6f87e253c5d9d1575155fcb875677d62c31e5fd7f6583c4ef236906d785177342dbb0a4bef9ce87b880b0a2a7c03188983e63f7623190fe7a0
+containersize 1484
+containerchecksum 3aa15ee7524ec80a3ad7ac54247e50bf649a52b3defeb9a0f8401f85d91427c872729e78b61a8b8146d8d26af84b0949164d261b548b75c4de6fbaead3dd8c39
+doccontainersize 186000
+doccontainerchecksum 7d0633b3dc30e1aab12da4547b44b60dd9516346e516f463aeafc7096aa873d912eabc25a73452d4823cbe5e98e4db065d0923a0bf77e47897d539511c3dad18
docfiles size=48
RELOC/doc/latex/to-be-determined/DEPENDS.txt
RELOC/doc/latex/to-be-determined/README.md details="Readme"
@@ -314429,7 +314434,7 @@ catalogue-contact-repository https://github.com/yegor256/to-be-determined
catalogue-ctan /macros/latex/contrib/to-be-determined
catalogue-license mit
catalogue-topics editorial decoration cond-comp
-catalogue-version 0.1.0
+catalogue-version 0.1.1
name tocbibind
category Package
@@ -325965,7 +325970,7 @@ catalogue-version 1.0
name ut-thesis
category Package
-revision 59078
+revision 60010
shortdesc University of Toronto thesis style
relocated 1
longdesc This LaTeX document class implements the formatting
@@ -325973,15 +325978,15 @@ longdesc requirements of the University of Toronto School of Graduate
longdesc Studies (SGS), as of Fall 2020 (
longdesc https://www.sgs.utoronto.ca/academic-progress/program-completio
longdesc n/formatting). For example usage, see the GitHub repository.
-containersize 2720
-containerchecksum fd153742d545c726af9112674b880b5260d7c45f6bd49fa3624fd6651e0752110666bcb89fdf16d673ff3d94e4b35c1d9978f7d502657abb2dcbb461b94e76fe
-doccontainersize 117040
-doccontainerchecksum 915ca737cbb016d6e0ade0de05a8b539d30609a800b0186e4eb9970db778d4223f7fade7022e9fc00c4f3bc8f2a73c70ae722c93eec7bf8943532756c0c8f9ce
-docfiles size=30
+containersize 2776
+containerchecksum 6614302eafd2b061694ae762488925df0c0b3b09fc0846b17f8cd7ac7dcdc77dd200ee378e838eb927e8a80a2d0a1ef14a14707730a6434ec407fcbb62a5ea7c
+doccontainersize 140680
+doccontainerchecksum 999421acb4e930dc13d2079e7a979afcbf4456c3a1c1dd96f7da488e4ed85ab8a20dae001bff8a365f71c922e2c9b23aff11a9f1076f975faa501b6e0016c964
+docfiles size=36
RELOC/doc/latex/ut-thesis/README details="Readme"
RELOC/doc/latex/ut-thesis/ut-thesis.pdf details="Package documentation"
-srccontainersize 6828
-srccontainerchecksum ca24051bb4f9e315ff7036f3a5c891a3b502a2ca6ecde88165665f6f302d332215b9cd6e0d50e8c8ad732a51268c50b7f33c5591be6b3b0b865041e1b968685a
+srccontainersize 6864
+srccontainerchecksum b5b675974eb130326758139bf7c4ce4e132a08a2885d86deed26f52bce9e3974e853973ad23cb45d8d32cbe7b6855a665630839f17daade045c49178272d0978
srcfiles size=6
RELOC/source/latex/ut-thesis/ut-thesis.dtx
RELOC/source/latex/ut-thesis/ut-thesis.ins
@@ -325993,7 +325998,7 @@ catalogue-contact-repository https://github.com/jessexknight/ut-thesis
catalogue-ctan /macros/latex/contrib/ut-thesis
catalogue-license lppl1.3c
catalogue-topics dissertation class std-conform
-catalogue-version 3.0.3
+catalogue-version 3.0.5
name utexasthesis
category Package
@@ -340513,7 +340518,7 @@ catalogue-version 1.5
name xstring
category Package
-revision 49946
+revision 60007
shortdesc String manipulation for (La)TeX
relocated 1
longdesc The package provides macros for manipulating strings -- testing
@@ -340523,11 +340528,11 @@ longdesc position of, or number of recurrences of, a substring. The
longdesc package works equally in Plain TeX and LaTeX (though e-TeX is
longdesc always required). The strings to be processed may contain
longdesc (expandable) macros.
-containersize 11216
-containerchecksum 82254f103053d91eeea4c6230142de06138c392542cac63731c7b34fec5130984bbdebc29ac3b56998717dca11ad444c44f410215b6b89e6748029721a9daac6
-doccontainersize 656876
-doccontainerchecksum c0c17b82ad0d5aad95d312935e0214a7e5404a23b9a284a56ac92ec9ea936a9bfd3a68a5b01e29c131b7850a3fd3922ac87020166eaf0a7ed9d695dc80d0a931
-docfiles size=229
+containersize 11252
+containerchecksum d02190c624808e5c5814f2c2a8c8ce9f28197a165bc988c02d6eac6fa8a22e3e1bb5c3b41b9b3a3db38917377097a0f97e65ae41ddd9422a97501c6c7a2d2668
+doccontainersize 674940
+doccontainerchecksum dbd3711d0e6ced0346feb8af281779cb3669bb849d8a04ea9d184961f473aefd3910bfbc77cebd9d150a409489fa1db65581f162cc37bdc2b36482474b439e6c
+docfiles size=236
RELOC/doc/generic/xstring/README details="Readme"
RELOC/doc/generic/xstring/test_etex.pdf
RELOC/doc/generic/xstring/test_etex.tex
@@ -340545,7 +340550,7 @@ catalogue-contact-repository https://framagit.org/unbonpetit/xstring/tree/master
catalogue-ctan /macros/generic/xstring
catalogue-license lppl1.3c
catalogue-topics string
-catalogue-version 1.83
+catalogue-version 1.84
name xtab
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 92c5924722..69927dcc80 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-80110806a94117e3fa9b55a8b1fbfbb4 texlive.tlpdb
+c2894a2eeafbc003a50718073aeef4fb texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index ea7b08572c..0bab6fbf9d 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-bbd521083a78458efd299ee4fd657d17e3a7dfd4d325d46dccf59587bff5a4a80d5d5defbe212049d686b79abdfc4d190a5d6d969e938ef1873cbe4c0d91f3f5 texlive.tlpdb
+efe502fd798197b549c9fc6b4aaa2725e235d7c12db5bff9e42994b5ac07f5c82fb35483be3b54792c2f84c46ea7cb3a96465870b29a992bccb97fe4dbb2eba6 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 439c978638..74d1c65223 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJg92HrAAoJEEzhh34ZQ4xwSoUH/0KgJKaeOPoJAE2CX0AFDhBE
-cFFgQLsAqgSBairSelfvXPyjqT5JCilNGK80TF4BZ3Lxn2D9NHcB20sHnN0SiddB
-aKTzip/Lz0hhvKssTFhf8ugBVgpWt/3veMGrUgXEoyQGtIXPDo8Vc6oLuibddeMm
-JwBMNQ4EiKGftcW4oF5k9sXiSXzBUPHd0fUVxIexf60nb9f+8VVeJmPHGvZ9sy+h
-YZjdb6HgFiVZivVnlXS8jmiVugMKK0bydCMh3Ff90wW8qGRvMMPptWCMVVqLM0b3
-AGJS56QSb+/O2CzkNA5Ug8TgXU3Hv56Nav7Je+uELhJVNR3AVu7hT8BxqklVXc4=
-=Vz2D
+iQEcBAEBCgAGBQJg+LMkAAoJEEzhh34ZQ4xwJuIH/joW5C4n7hc7S5HGP4aJAsyp
+1gv9zRFBd2ZUYD7WttfrBcGovo6e2wfzHn0leAyUBJ+UhtATPcsBWNknmsZbc0om
+e01oeLoK5VLQAoJV8wh8hnRi662qW8gUdUDQ+a0i0DbNh1ESPvzm5fWCEE7U0HVN
+lb7rGOsWpSaj135pJmkwGFt4DreWX2u9Ag3WorKTPr4bnhHSmqdr3PQ6HlaJREky
+r+U1oCM3R/2iFcd7SUK29i4Ji8/4sUilPcM5S9Z4MRcHsPi1CRiqzT0bulpVAO+F
+goMNiwsJkASDEDVtH5vxtiTn04yHB2O+2SKUGD4EAn0bgERoEsoDU0DYw9LwsDE=
+=NhJo
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index b93b7e4666..8cc26bfd81 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 0f2c3a6f22..2008816e7d 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1626812099
+date=1626898489
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=08d3c76ef6a69c1fefe31ede358225c7
+lstdigest=08e07b53e9bf147576931184fd48a38a
numpkg=4538
relstate=next
-version=7871
+version=7872
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: HdjoSuqmZgJ43iS5h7eQLx2cr+2fe5zhuWgost2LcjWT4EInC9FU9OOd9dq8DnRCPcArMbLckIrMqPgLFUyIoswVlPuu1DwTkRI2S2hoZd2tI0jpOFgfEFL1IOzpW5KThKx/O7Jn/+hXS4fTeQSEgOvoNGMOOcVg4YygJbAxrBDQH7Np/I/49448LIP5c+LX7dZF19uQxA5SMtfGT3DIF1hCzOQrN7nYbfkGJj51BF77OYd+4qI6mUtOlJkmhTzOK7GvD1zMbotW56moohG6myZoXdHjQlDP3q0ERg+ziJNPiMinzvTgJ0qT2nsWiWaYmDbzM21tnDxre70X3L5IYw==
+;;;; signature/miktex: V6NrpAEFxeaqP97Yf2ed8rfM/2+CqjWaENVq31C9b6Jrq6EhnZKxYs9BvVuqSt05HMT5VaDIHimlkfoH9HqdxUXGwv2qqnPOqd2rWKZ9jFaOG74aQPVrap5KAtsiiTzlfwJnvjXkFfQc6du1Ctz2GHwJR0vnIcOb47PIh+KqM/DC1op8i6e1wcNJdFX6N5cSosDSlSrY7sATo784faLs/f8o6pcAo2oN0VcHJhDlowfP5FZBgAYHyk2ujSkjhMZ2tFCQ/9Pmed1ulTEEgyj2/FnHR97FD/aqe1b+M9ul9EJqdZHNnjDh/eP2nA3Ir5Pr5f0MaVrv+AYPQFL8BLNRTQ==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index b32269fc6a..9830c65809 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1626811894
+date=1626898287
lastupd=cjk-ko cjk-ko__doc cjk-ko__source easing easing__doc easing__source emoji emoji__doc latex-via-exemplos longdivision longdivision__doc longdivision__source lwarp lwarp__doc lwarp__source twemoji-colr twemoji-colr__doc miktex-runtime-bin-2.9 miktex-runtime-bin-x64-2.9 changes
-lstdigest=1f48289902e04e5c86532db67cf145fb
+lstdigest=7b9d28d87210fc8a97500aec02fb04d0
numpkg=4538
relstate=stable
-version=7871
+version=7872
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: W14gSXLGLOKR6JZTZoj3Cf6J5SO0CtHIRyVw8bZCcVF8KKclzYldgKq+AV4Jy7at3LvSZkRjDMJ75Mr+vHwwsWclxWnZprI5DMyGH4RVaPIWkYtujRCFirfuaO0MzNbFReGhL8z4snf9fkqsMzCNzxuRYFkOMzrOCZuSCsq5RCbsIx5FXXY56TrxRPTTgP09Ia1vF8UuRQ2DMuzlWGJB5lhlAq+4+iST6QnRt5xqg9/9r+Fk2AkzfJ6qVGVCh85g7yQXXp2hS25WbVyfVVwLEjvJamxt5hSQGRZkn8zF31ET4jgXBZTXWF2pZtn/pMrxp9h5ry9NNaDWXc2qryt/jQ==
+;;;; signature/miktex: aKwVulWfiGecGTzQme0z8R86yscILXSGlpXmZNe5ksC1FdlLNKG+ClRa6hOWr1eLSSzSM8PGZgIOWJq+XYvQoA4/cetapHe/kF2uKDePYz2cndJHjZ7LSruNPpcj03i0WFRKnkpTVHSjoZQ/Dt5I9ah7ahN7/0zGi+HpTnsmkuVpt0Kao5zWDji7dqSvcpXZ7FJhJ+XEk964bUZVkjpqJJZacf/+K6JMKQDe4HH2bNcYuxBBTo8Zd5XIbvIW8JaGmhdvma5wsNtboM2W3f9ulJofX3czlnPrrdi+p6KW/x1UJNfpmwo9WRRdQ212Us3dRTcNopDU6C7dSfUJtaIz9g==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 9145a149ca..9203921bee 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:
-2021-07-21-02-02
+2021-07-22-02-02