summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname3563
-rw-r--r--FILES.byname.gzbin2410264 -> 2410351 bytes
-rw-r--r--FILES.last07days4367
-rw-r--r--graphics/asymptote/ChangeLog50
-rw-r--r--graphics/asymptote/ReleaseNotes5
-rw-r--r--graphics/asymptote/asy-keywords.el2
-rw-r--r--graphics/asymptote/asymptote.spec2
-rw-r--r--graphics/asymptote/base/v3dheadertypes.asy2
-rw-r--r--graphics/asymptote/base/v3dtypes.asy2
-rw-r--r--graphics/asymptote/base/webgl/asygl.js2
-rw-r--r--graphics/asymptote/binaries/i386-windows/README62
-rwxr-xr-xgraphics/asymptote/binaries/i386-windows/cygwin1.dllbin3276463 -> 0 bytes
-rw-r--r--graphics/asymptote/binaries/i386-windows/texlive/README5
-rwxr-xr-xgraphics/asymptote/configure18
-rw-r--r--graphics/asymptote/configure.ac2
-rw-r--r--graphics/asymptote/doc/CAD.pdfbin198823 -> 198824 bytes
-rw-r--r--graphics/asymptote/doc/FAQ/asy-faq.info2
-rw-r--r--graphics/asymptote/doc/TeXShopAndAsymptote.pdfbin81162 -> 81162 bytes
-rw-r--r--graphics/asymptote/doc/asy-latex.pdfbin206973 -> 206973 bytes
-rw-r--r--graphics/asymptote/doc/asyRefCard.pdfbin121145 -> 121145 bytes
-rw-r--r--graphics/asymptote/doc/asymptote.pdfbin1241549 -> 1241553 bytes
-rw-r--r--graphics/asymptote/doc/png/asymptote.info4
-rw-r--r--graphics/asymptote/revision.cc2
-rw-r--r--graphics/asymptote/v3dheadertypes.h2
-rw-r--r--graphics/asymptote/v3dheadertypes.py2
-rw-r--r--graphics/asymptote/v3dtypes.h2
-rw-r--r--graphics/asymptote/v3dtypes.py2
-rw-r--r--graphics/asymptote/webgl/gl.js70
-rw-r--r--graphics/pgf/contrib/yquant/README.md17
-rw-r--r--graphics/pgf/contrib/yquant/doc/yquant-doc.pdfbin712093 -> 994303 bytes
-rw-r--r--graphics/pgf/contrib/yquant/doc/yquant-doc.tex1694
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-circuit.tex32
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-config.tex35
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-env.tex303
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-lang.tex15
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-prepare.tex2
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-registers.tex63
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-shapes.tex7
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-tools.tex2
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant.sty8
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquantlanguage-groups.sty8
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquantlanguage-qasm.sty12
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/Changes6
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/Changes.txt5
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/README.md16
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdfbin0 -> 228546 bytes
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex (renamed from graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-doc.tex)110
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdfbin0 -> 233412 bytes
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex (renamed from graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-fr-doc.tex)102
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty (renamed from graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools.sty)0
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-doc.pdfbin214485 -> 0 bytes
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-fr-doc.pdfbin268998 -> 0 bytes
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex (renamed from graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools.tex)2469
-rw-r--r--macros/latex/contrib/ccfonts/LICENSE415
-rw-r--r--macros/latex/contrib/ccfonts/README15
-rw-r--r--macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdfbin7556798 -> 7591580 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty407
-rw-r--r--macros/latex/contrib/profcollege/metapost/datastest/FranceCQ.dat142
-rw-r--r--macros/latex/contrib/profcollege/metapost/datastest/FranceCycle4.dat142
-rw-r--r--macros/latex/contrib/profcollege/metapost/datastest/lacs.dat24984
-rw-r--r--macros/latex/contrib/profcollege/metapost/datastest/rivieres.dat56782
-rw-r--r--macros/latex/contrib/profcollege/metapost/datastest/volcans.dat1626
-rw-r--r--macros/latex/required/babel/base/README.md26
-rw-r--r--macros/latex/required/babel/base/babel.dtx273
-rw-r--r--macros/latex/required/babel/base/babel.ins2
-rw-r--r--macros/latex/required/babel/base/babel.pdfbin858700 -> 860656 bytes
-rw-r--r--macros/latex/required/babel/base/bbcompat.dtx2
-rw-r--r--support/TeX4ht/source/ChangeLog60
-rw-r--r--support/TeX4ht/source/mktex4ht-cnf.tex3
-rw-r--r--support/TeX4ht/source/tex4ht-4ht.tex78
-rw-r--r--support/latexdiff/doc/example-diff.tex2
-rw-r--r--support/latexdiff/doc/latexdiff-man.pdfbin282140 -> 269147 bytes
-rwxr-xr-xsupport/latexdiff/latexdiff191
-rwxr-xr-xsupport/latexdiff/latexdiff-fast191
-rwxr-xr-xsupport/latexdiff/latexdiff-so191
-rwxr-xr-xsupport/latexdiff/latexdiff-vc71
-rw-r--r--support/latexdiff/latexdiff-vc.117
-rw-r--r--support/latexdiff/latexdiff.126
-rwxr-xr-xsupport/latexdiff/latexrevise44
-rw-r--r--support/latexdiff/latexrevise.119
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb159
-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.xzbin2336164 -> 2334820 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
-rw-r--r--web/c_cpp/cweb/Makefile18
-rw-r--r--web/c_cpp/cweb/README8
-rw-r--r--web/c_cpp/cweb/comm-amiga.ch2
-rw-r--r--web/c_cpp/cweb/comm-bs.ch38
-rw-r--r--web/c_cpp/cweb/comm-mac.ch49
-rw-r--r--web/c_cpp/cweb/comm-os2.ch4
-rw-r--r--web/c_cpp/cweb/comm-pc.ch6
-rw-r--r--web/c_cpp/cweb/comm-ql.ch18
-rw-r--r--web/c_cpp/cweb/comm-vms.ch8
-rw-r--r--web/c_cpp/cweb/comm-w32.ch4
-rw-r--r--web/c_cpp/cweb/common.c427
-rw-r--r--web/c_cpp/cweb/common.h92
-rw-r--r--web/c_cpp/cweb/common.w221
-rw-r--r--web/c_cpp/cweb/ctang-bs.ch77
-rw-r--r--web/c_cpp/cweb/ctang-man.ch2
-rw-r--r--web/c_cpp/cweb/ctang-pc.ch17
-rw-r--r--web/c_cpp/cweb/ctang-ql.ch8
-rw-r--r--web/c_cpp/cweb/ctang-vms.ch10
-rw-r--r--web/c_cpp/cweb/ctang-w32.ch12
-rw-r--r--web/c_cpp/cweb/ctangle.c583
-rw-r--r--web/c_cpp/cweb/ctangle.w460
-rw-r--r--web/c_cpp/cweb/cweav-bs.ch37
-rw-r--r--web/c_cpp/cweb/cweav-man.ch2
-rw-r--r--web/c_cpp/cweb/cweav-pc.ch10
-rw-r--r--web/c_cpp/cweb/cweav-ql.ch8
-rw-r--r--web/c_cpp/cweb/cweav-vms.ch10
-rw-r--r--web/c_cpp/cweb/cweav-w32.ch12
-rw-r--r--web/c_cpp/cweb/cweave.w1375
-rw-r--r--web/c_cpp/cweb/cweb.123
-rw-r--r--web/c_cpp/cweb/cwebmac.tex32
-rw-r--r--web/c_cpp/cweb/cwebman.pdfbin335909 -> 344141 bytes
-rw-r--r--web/c_cpp/cweb/cwebman.tex123
-rw-r--r--web/c_cpp/cweb/iso_types.w95
-rw-r--r--web/c_cpp/cweb/prod.w272
123 files changed, 52751 insertions, 50291 deletions
diff --git a/FILES.byname b/FILES.byname
index 2c3b4adfc5..ed964d899a 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5107,7 +5107,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/12/27 | 220965 | FILES.last07days
+2021/12/28 | 320483 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -145260,1439 +145260,1435 @@
2012/11/17 | 1096 | graphics/AddTeX2Eps/default.tex
2006/04/17 | 836 | graphics/AddTeX2Eps/readme.txt
2012/11/17 | 5620 | graphics/AddTeX2Eps.zip
-2021/12/27 | 2557 | graphics/asymptote/abs3doutfile.h
-2021/12/27 | 504 | graphics/asymptote/absyn.cc
-2021/12/27 | 1140 | graphics/asymptote/absyn.h
-2021/12/27 | 3297 | graphics/asymptote/access.cc
-2021/12/27 | 2964 | graphics/asymptote/access.h
-2021/12/27 | 2266 | graphics/asymptote/align.h
-2021/12/27 | 886 | graphics/asymptote/angle.h
-2021/12/27 | 18578 | graphics/asymptote/application.cc
-2021/12/27 | 9088 | graphics/asymptote/application.h
-2021/12/27 | 4735 | graphics/asymptote/array.cc
-2021/12/27 | 1975 | graphics/asymptote/array.h
-2021/12/27 | 13980 | graphics/asymptote/arrayop.h
-2021/12/27 | 11541 | graphics/asymptote/aspy.py
-2021/12/27 | 4286 | graphics/asymptote/asy.ico
-2021/12/27 | 17902 | graphics/asymptote/asy-keywords.el
-2021/12/27 | 208085 | graphics/asymptote/asy.list
-2021/12/27 | 1612 | graphics/asymptote/asy-list.pl
-2021/12/27 | 6370 | graphics/asymptote/asymptote.nsi
-2021/12/27 | 3040 | graphics/asymptote/asymptote.spec
-2021/12/27 | 770 | graphics/asymptote/asy.rc
-2021/12/27 | 34 | graphics/asymptote/autogen.sh
-2021/12/27 | 12534 | graphics/asymptote/ax_pthread.m4
-2021/12/27 | 42 | graphics/asymptote/base/animate.asy
-2021/12/27 | 5238 | graphics/asymptote/base/animation.asy
-2021/12/27 | 578 | graphics/asymptote/base/annotate.asy
-2021/12/27 | 99 | graphics/asymptote/base/asy_filetype.vim
-2021/12/27 | 268 | graphics/asymptote/base/asy-init.el
-2021/12/27 | 8243 | graphics/asymptote/base/asy-kate.sh
-2021/12/27 | 71368 | graphics/asymptote/base/asy-mode.el
-2021/12/27 | 1276 | graphics/asymptote/base/asymptote.py
-2021/12/27 | 8870 | graphics/asymptote/base/asy.vim
-2021/12/27 | 50 | graphics/asymptote/base/babel.asy
-2021/12/27 | 9562 | graphics/asymptote/base/bezulate.asy
-2021/12/27 | 11656 | graphics/asymptote/base/binarytree.asy
-2021/12/27 | 5279 | graphics/asymptote/base/bsp.asy
-2021/12/27 | 10840 | graphics/asymptote/base/CAD.asy
-2021/12/27 | 205495 | graphics/asymptote/base/colormap.asy
-2021/12/27 | 14749 | graphics/asymptote/base/contour3.asy
-2021/12/27 | 20277 | graphics/asymptote/base/contour.asy
-2021/12/27 | 2109 | graphics/asymptote/base/drawtree.asy
-2021/12/27 | 1178 | graphics/asymptote/base/embed.asy
-2021/12/27 | 1120 | graphics/asymptote/base/external.asy
-2021/12/27 | 21448 | graphics/asymptote/base/feynman.asy
-2021/12/27 | 15277 | graphics/asymptote/base/flowchart.asy
-2021/12/27 | 35 | graphics/asymptote/base/fontsize.asy
-2021/12/27 | 320403 | graphics/asymptote/base/geometry.asy
-2021/12/27 | 70102 | graphics/asymptote/base/graph3.asy
-2021/12/27 | 64207 | graphics/asymptote/base/graph.asy
-2021/12/27 | 314 | graphics/asymptote/base/graph_settings.asy
-2021/12/27 | 7407 | graphics/asymptote/base/graph_splinetype.asy
-2021/12/27 | 13605 | graphics/asymptote/base/grid3.asy
-2021/12/27 | 3936 | graphics/asymptote/base/interpolate.asy
-2021/12/27 | 2451 | graphics/asymptote/base/labelpath3.asy
-2021/12/27 | 729 | graphics/asymptote/base/labelpath.asy
-2021/12/27 | 25357 | graphics/asymptote/base/lmfit.asy
-2021/12/27 | 908 | graphics/asymptote/base/map.asy
-2021/12/27 | 7302 | graphics/asymptote/base/markers.asy
-2021/12/27 | 11122 | graphics/asymptote/base/math.asy
-2021/12/27 | 251 | graphics/asymptote/base/metapost.asy
-2021/12/27 | 39 | graphics/asymptote/base/nopapersize.ps
-2021/12/27 | 3278 | graphics/asymptote/base/obj.asy
-2021/12/27 | 15601 | graphics/asymptote/base/ode.asy
-2021/12/27 | 14982 | graphics/asymptote/base/palette.asy
-2021/12/27 | 2613 | graphics/asymptote/base/patterns.asy
-2021/12/27 | 1213 | graphics/asymptote/base/plain_arcs.asy
-2021/12/27 | 22594 | graphics/asymptote/base/plain_arrows.asy
-2021/12/27 | 7295 | graphics/asymptote/base/plain.asy
-2021/12/27 | 20989 | graphics/asymptote/base/plain_bounds.asy
-2021/12/27 | 4088 | graphics/asymptote/base/plain_boxes.asy
-2021/12/27 | 3706 | graphics/asymptote/base/plain_constants.asy
-2021/12/27 | 2187 | graphics/asymptote/base/plain_debugger.asy
-2021/12/27 | 6278 | graphics/asymptote/base/plain_filldraw.asy
-2021/12/27 | 16492 | graphics/asymptote/base/plain_Label.asy
-2021/12/27 | 2310 | graphics/asymptote/base/plain_margins.asy
-2021/12/27 | 11373 | graphics/asymptote/base/plain_markers.asy
-2021/12/27 | 9334 | graphics/asymptote/base/plain_paths.asy
-2021/12/27 | 8711 | graphics/asymptote/base/plain_pens.asy
-2021/12/27 | 46531 | graphics/asymptote/base/plain_picture.asy
-2021/12/27 | 6287 | graphics/asymptote/base/plain_prethree.asy
-2021/12/27 | 5735 | graphics/asymptote/base/plain_scaling.asy
-2021/12/27 | 4487 | graphics/asymptote/base/plain_shipout.asy
-2021/12/27 | 6159 | graphics/asymptote/base/plain_strings.asy
-2021/12/27 | 354 | graphics/asymptote/base/pstoedit.asy
-2021/12/27 | 4996 | graphics/asymptote/base/rational.asy
-2021/12/27 | 9826 | graphics/asymptote/base/rationalSimplex.asy
-2021/12/27 | 657 | graphics/asymptote/base/reload.js
-2021/12/27 | 289 | graphics/asymptote/base/res/notes.txt
-2021/12/27 | 3374 | graphics/asymptote/base/roundedpath.asy
-2021/12/27 | 1765 | graphics/asymptote/base/shaders/blend.glsl
-2021/12/27 | 176 | graphics/asymptote/base/shaders/count0.glsl
-2021/12/27 | 187 | graphics/asymptote/base/shaders/count.glsl
-2021/12/27 | 5877 | graphics/asymptote/base/shaders/fragment.glsl
-2021/12/27 | 193 | graphics/asymptote/base/shaders/offset.glsl
-2021/12/27 | 1086 | graphics/asymptote/base/shaders/partialsum.glsl
-2021/12/27 | 496 | graphics/asymptote/base/shaders/postsum.glsl
-2021/12/27 | 521 | graphics/asymptote/base/shaders/presum.glsl
-2021/12/27 | 129 | graphics/asymptote/base/shaders/screen.glsl
-2021/12/27 | 677 | graphics/asymptote/base/shaders/vertex.glsl
-2021/12/27 | 8342 | graphics/asymptote/base/simplex.asy
-2021/12/27 | 608 | graphics/asymptote/base/size10.asy
-2021/12/27 | 600 | graphics/asymptote/base/size11.asy
-2021/12/27 | 16089 | graphics/asymptote/base/slide.asy
-2021/12/27 | 2031 | graphics/asymptote/base/slopefield.asy
-2021/12/27 | 55991 | graphics/asymptote/base/smoothcontour3.asy
-2021/12/27 | 12012 | graphics/asymptote/base/solids.asy
-2021/12/27 | 7305 | graphics/asymptote/base/stats.asy
-2021/12/27 | 22946 | graphics/asymptote/base/syzygy.asy
-2021/12/27 | 2277 | graphics/asymptote/base/texcolors.asy
-2021/12/27 | 23717 | graphics/asymptote/base/three_arrows.asy
-2021/12/27 | 86123 | graphics/asymptote/base/three.asy
-2021/12/27 | 3719 | graphics/asymptote/base/three_light.asy
-2021/12/27 | 2492 | graphics/asymptote/base/three_margins.asy
-2021/12/27 | 73066 | graphics/asymptote/base/three_surface.asy
-2021/12/27 | 5975 | graphics/asymptote/base/three_tube.asy
-2021/12/27 | 1375 | graphics/asymptote/base/tree.asy
-2021/12/27 | 5789 | graphics/asymptote/base/trembling.asy
-2021/12/27 | 4992 | graphics/asymptote/base/tube.asy
-2021/12/27 | 14758 | graphics/asymptote/base/v3d.asy
-2021/12/27 | 1323 | graphics/asymptote/base/v3dheadertypes.asy
-2021/12/27 | 670 | graphics/asymptote/base/v3dtypes.asy
-2021/12/27 | 66559 | graphics/asymptote/base/webgl/asygl.js
-2021/12/27 | 4811 | graphics/asymptote/base/x11colors.asy
-2021/12/27 | 3640 | graphics/asymptote/bbox3.h
-2021/12/27 | 4514 | graphics/asymptote/bbox.h
-2021/12/27 | 1828 | graphics/asymptote/beziercurve.cc
-2021/12/27 | 1280 | graphics/asymptote/beziercurve.h
-2021/12/27 | 25325 | graphics/asymptote/bezierpatch.cc
-2021/12/27 | 5712 | graphics/asymptote/bezierpatch.h
-2021/12/03 | 3276463 | graphics/asymptote/binaries/i386-windows/cygwin1.dll
-2021/12/27 | 2505 | graphics/asymptote/binaries/i386-windows/README
-2021/12/27 | 8426496 | graphics/asymptote/binaries/i386-windows/texlive/asy.exe
-2020/08/06 | 297 | graphics/asymptote/binaries/i386-windows/texlive/README
+2021/12/28 | 2557 | graphics/asymptote/abs3doutfile.h
+2021/12/28 | 504 | graphics/asymptote/absyn.cc
+2021/12/28 | 1140 | graphics/asymptote/absyn.h
+2021/12/28 | 3297 | graphics/asymptote/access.cc
+2021/12/28 | 2964 | graphics/asymptote/access.h
+2021/12/28 | 2266 | graphics/asymptote/align.h
+2021/12/28 | 886 | graphics/asymptote/angle.h
+2021/12/28 | 18578 | graphics/asymptote/application.cc
+2021/12/28 | 9088 | graphics/asymptote/application.h
+2021/12/28 | 4735 | graphics/asymptote/array.cc
+2021/12/28 | 1975 | graphics/asymptote/array.h
+2021/12/28 | 13980 | graphics/asymptote/arrayop.h
+2021/12/28 | 11541 | graphics/asymptote/aspy.py
+2021/12/28 | 4286 | graphics/asymptote/asy.ico
+2021/12/28 | 17902 | graphics/asymptote/asy-keywords.el
+2021/12/28 | 208085 | graphics/asymptote/asy.list
+2021/12/28 | 1612 | graphics/asymptote/asy-list.pl
+2021/12/28 | 6370 | graphics/asymptote/asymptote.nsi
+2021/12/28 | 3040 | graphics/asymptote/asymptote.spec
+2021/12/28 | 770 | graphics/asymptote/asy.rc
+2021/12/28 | 34 | graphics/asymptote/autogen.sh
+2021/12/28 | 12534 | graphics/asymptote/ax_pthread.m4
+2021/12/28 | 42 | graphics/asymptote/base/animate.asy
+2021/12/28 | 5238 | graphics/asymptote/base/animation.asy
+2021/12/28 | 578 | graphics/asymptote/base/annotate.asy
+2021/12/28 | 99 | graphics/asymptote/base/asy_filetype.vim
+2021/12/28 | 268 | graphics/asymptote/base/asy-init.el
+2021/12/28 | 8243 | graphics/asymptote/base/asy-kate.sh
+2021/12/28 | 71368 | graphics/asymptote/base/asy-mode.el
+2021/12/28 | 1276 | graphics/asymptote/base/asymptote.py
+2021/12/28 | 8870 | graphics/asymptote/base/asy.vim
+2021/12/28 | 50 | graphics/asymptote/base/babel.asy
+2021/12/28 | 9562 | graphics/asymptote/base/bezulate.asy
+2021/12/28 | 11656 | graphics/asymptote/base/binarytree.asy
+2021/12/28 | 5279 | graphics/asymptote/base/bsp.asy
+2021/12/28 | 10840 | graphics/asymptote/base/CAD.asy
+2021/12/28 | 205495 | graphics/asymptote/base/colormap.asy
+2021/12/28 | 14749 | graphics/asymptote/base/contour3.asy
+2021/12/28 | 20277 | graphics/asymptote/base/contour.asy
+2021/12/28 | 2109 | graphics/asymptote/base/drawtree.asy
+2021/12/28 | 1178 | graphics/asymptote/base/embed.asy
+2021/12/28 | 1120 | graphics/asymptote/base/external.asy
+2021/12/28 | 21448 | graphics/asymptote/base/feynman.asy
+2021/12/28 | 15277 | graphics/asymptote/base/flowchart.asy
+2021/12/28 | 35 | graphics/asymptote/base/fontsize.asy
+2021/12/28 | 320403 | graphics/asymptote/base/geometry.asy
+2021/12/28 | 70102 | graphics/asymptote/base/graph3.asy
+2021/12/28 | 64207 | graphics/asymptote/base/graph.asy
+2021/12/28 | 314 | graphics/asymptote/base/graph_settings.asy
+2021/12/28 | 7407 | graphics/asymptote/base/graph_splinetype.asy
+2021/12/28 | 13605 | graphics/asymptote/base/grid3.asy
+2021/12/28 | 3936 | graphics/asymptote/base/interpolate.asy
+2021/12/28 | 2451 | graphics/asymptote/base/labelpath3.asy
+2021/12/28 | 729 | graphics/asymptote/base/labelpath.asy
+2021/12/28 | 25357 | graphics/asymptote/base/lmfit.asy
+2021/12/28 | 908 | graphics/asymptote/base/map.asy
+2021/12/28 | 7302 | graphics/asymptote/base/markers.asy
+2021/12/28 | 11122 | graphics/asymptote/base/math.asy
+2021/12/28 | 251 | graphics/asymptote/base/metapost.asy
+2021/12/28 | 39 | graphics/asymptote/base/nopapersize.ps
+2021/12/28 | 3278 | graphics/asymptote/base/obj.asy
+2021/12/28 | 15601 | graphics/asymptote/base/ode.asy
+2021/12/28 | 14982 | graphics/asymptote/base/palette.asy
+2021/12/28 | 2613 | graphics/asymptote/base/patterns.asy
+2021/12/28 | 1213 | graphics/asymptote/base/plain_arcs.asy
+2021/12/28 | 22594 | graphics/asymptote/base/plain_arrows.asy
+2021/12/28 | 7295 | graphics/asymptote/base/plain.asy
+2021/12/28 | 20989 | graphics/asymptote/base/plain_bounds.asy
+2021/12/28 | 4088 | graphics/asymptote/base/plain_boxes.asy
+2021/12/28 | 3706 | graphics/asymptote/base/plain_constants.asy
+2021/12/28 | 2187 | graphics/asymptote/base/plain_debugger.asy
+2021/12/28 | 6278 | graphics/asymptote/base/plain_filldraw.asy
+2021/12/28 | 16492 | graphics/asymptote/base/plain_Label.asy
+2021/12/28 | 2310 | graphics/asymptote/base/plain_margins.asy
+2021/12/28 | 11373 | graphics/asymptote/base/plain_markers.asy
+2021/12/28 | 9334 | graphics/asymptote/base/plain_paths.asy
+2021/12/28 | 8711 | graphics/asymptote/base/plain_pens.asy
+2021/12/28 | 46531 | graphics/asymptote/base/plain_picture.asy
+2021/12/28 | 6287 | graphics/asymptote/base/plain_prethree.asy
+2021/12/28 | 5735 | graphics/asymptote/base/plain_scaling.asy
+2021/12/28 | 4487 | graphics/asymptote/base/plain_shipout.asy
+2021/12/28 | 6159 | graphics/asymptote/base/plain_strings.asy
+2021/12/28 | 354 | graphics/asymptote/base/pstoedit.asy
+2021/12/28 | 4996 | graphics/asymptote/base/rational.asy
+2021/12/28 | 9826 | graphics/asymptote/base/rationalSimplex.asy
+2021/12/28 | 657 | graphics/asymptote/base/reload.js
+2021/12/28 | 289 | graphics/asymptote/base/res/notes.txt
+2021/12/28 | 3374 | graphics/asymptote/base/roundedpath.asy
+2021/12/28 | 1765 | graphics/asymptote/base/shaders/blend.glsl
+2021/12/28 | 176 | graphics/asymptote/base/shaders/count0.glsl
+2021/12/28 | 187 | graphics/asymptote/base/shaders/count.glsl
+2021/12/28 | 5877 | graphics/asymptote/base/shaders/fragment.glsl
+2021/12/28 | 193 | graphics/asymptote/base/shaders/offset.glsl
+2021/12/28 | 1086 | graphics/asymptote/base/shaders/partialsum.glsl
+2021/12/28 | 496 | graphics/asymptote/base/shaders/postsum.glsl
+2021/12/28 | 521 | graphics/asymptote/base/shaders/presum.glsl
+2021/12/28 | 129 | graphics/asymptote/base/shaders/screen.glsl
+2021/12/28 | 677 | graphics/asymptote/base/shaders/vertex.glsl
+2021/12/28 | 8342 | graphics/asymptote/base/simplex.asy
+2021/12/28 | 608 | graphics/asymptote/base/size10.asy
+2021/12/28 | 600 | graphics/asymptote/base/size11.asy
+2021/12/28 | 16089 | graphics/asymptote/base/slide.asy
+2021/12/28 | 2031 | graphics/asymptote/base/slopefield.asy
+2021/12/28 | 55991 | graphics/asymptote/base/smoothcontour3.asy
+2021/12/28 | 12012 | graphics/asymptote/base/solids.asy
+2021/12/28 | 7305 | graphics/asymptote/base/stats.asy
+2021/12/28 | 22946 | graphics/asymptote/base/syzygy.asy
+2021/12/28 | 2277 | graphics/asymptote/base/texcolors.asy
+2021/12/28 | 23717 | graphics/asymptote/base/three_arrows.asy
+2021/12/28 | 86123 | graphics/asymptote/base/three.asy
+2021/12/28 | 3719 | graphics/asymptote/base/three_light.asy
+2021/12/28 | 2492 | graphics/asymptote/base/three_margins.asy
+2021/12/28 | 73066 | graphics/asymptote/base/three_surface.asy
+2021/12/28 | 5975 | graphics/asymptote/base/three_tube.asy
+2021/12/28 | 1375 | graphics/asymptote/base/tree.asy
+2021/12/28 | 5789 | graphics/asymptote/base/trembling.asy
+2021/12/28 | 4992 | graphics/asymptote/base/tube.asy
+2021/12/28 | 14758 | graphics/asymptote/base/v3d.asy
+2021/12/28 | 1323 | graphics/asymptote/base/v3dheadertypes.asy
+2021/12/28 | 670 | graphics/asymptote/base/v3dtypes.asy
+2021/12/28 | 66838 | graphics/asymptote/base/webgl/asygl.js
+2021/12/28 | 4811 | graphics/asymptote/base/x11colors.asy
+2021/12/28 | 3640 | graphics/asymptote/bbox3.h
+2021/12/28 | 4514 | graphics/asymptote/bbox.h
+2021/12/28 | 1828 | graphics/asymptote/beziercurve.cc
+2021/12/28 | 1280 | graphics/asymptote/beziercurve.h
+2021/12/28 | 25325 | graphics/asymptote/bezierpatch.cc
+2021/12/28 | 5712 | graphics/asymptote/bezierpatch.h
2021/12/03 | 3551236 | graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
-2021/12/27 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
-2021/12/27 | 8303104 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
+2021/12/28 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
+2021/12/28 | 8303104 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
2020/08/06 | 297 | graphics/asymptote/binaries/x86_64-windows/texlive/README
-2021/12/27 | 242 | graphics/asymptote/BUGS
-2021/12/27 | 1588 | graphics/asymptote/build-scripts/asy-format.el
-2021/12/27 | 210 | graphics/asymptote/build-scripts/asy-indent.el
-2021/12/27 | 1227 | graphics/asymptote/build-scripts/build-asygl
-2021/12/27 | 2484 | graphics/asymptote/build-scripts/build-asymptote
-2021/12/27 | 3556 | graphics/asymptote/build-scripts/build-asymptote.dos
-2021/12/27 | 1578 | graphics/asymptote/build-scripts/cc-format.el
-2021/12/27 | 183 | graphics/asymptote/build-scripts/cc-indent.el
-2021/12/27 | 2207 | graphics/asymptote/build-scripts/HOWTO-MSWindows
-2021/12/27 | 297 | graphics/asymptote/build-scripts/README-binaries
-2021/12/27 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
-2021/12/27 | 31342 | graphics/asymptote/builtin.cc
-2021/12/27 | 1630 | graphics/asymptote/builtin.h
-2021/12/27 | 1151 | graphics/asymptote/callable.cc
-2021/12/27 | 1640 | graphics/asymptote/callable.h
-2021/12/27 | 1190 | graphics/asymptote/camperror.cc
-2021/12/27 | 814 | graphics/asymptote/camperror.h
-2021/12/27 | 13357 | graphics/asymptote/camp.l
-2021/12/27 | 129790 | graphics/asymptote/camp.tab.cc
-2021/12/27 | 6189 | graphics/asymptote/camp.tab.h
-2021/12/27 | 20029 | graphics/asymptote/camp.y
-2021/12/27 | 4629 | graphics/asymptote/castop.h
-2021/12/27 | 1876 | graphics/asymptote/cc-mode2.el
-2021/12/27 | 1577303 | graphics/asymptote/ChangeLog
-2021/12/27 | 7790 | graphics/asymptote/coder.cc
-2021/12/27 | 11642 | graphics/asymptote/coder.h
-2021/12/27 | 1126 | graphics/asymptote/coenv.cc
-2021/12/27 | 908 | graphics/asymptote/coenv.h
-2021/12/27 | 2187 | graphics/asymptote/common.h
-2021/12/27 | 48441 | graphics/asymptote/config.guess
-2021/12/27 | 7099 | graphics/asymptote/config.h.in
-2021/12/27 | 31609 | graphics/asymptote/config.sub
-2021/12/27 | 292060 | graphics/asymptote/configure
-2021/12/27 | 16523 | graphics/asymptote/configure.ac
-2021/12/27 | 26 | graphics/asymptote/_config.yml
-2021/12/27 | 3676 | graphics/asymptote/constructor.cc
-2021/12/27 | 241 | graphics/asymptote/cudareflect/common.h
-2021/12/27 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
-2021/12/27 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
-2021/12/27 | 883 | graphics/asymptote/cudareflect/helper.cuh
-2021/12/27 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
-2021/12/27 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
-2021/12/27 | 4371 | graphics/asymptote/cudareflect/kernel.cu
-2021/12/27 | 445 | graphics/asymptote/cudareflect/kernel.h
-2021/12/27 | 7780 | graphics/asymptote/cudareflect/main.cc
-2021/12/27 | 548 | graphics/asymptote/cudareflect/Makefile
-2021/12/27 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
-2021/12/27 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
-2021/12/27 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
-2021/12/27 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
-2021/12/27 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
-2021/12/27 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
-2021/12/27 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
-2021/12/27 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
-2021/12/27 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
-2021/12/27 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
-2021/12/27 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
-2021/12/27 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
-2021/12/27 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
-2021/12/27 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
-2021/12/27 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
-2021/12/27 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
-2021/12/27 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
-2021/12/27 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
-2021/12/27 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
-2021/12/27 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
-2021/12/27 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
-2021/12/27 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
-2021/12/27 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
-2021/12/27 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
-2021/12/27 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
-2021/12/27 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
-2021/12/27 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
-2021/12/27 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
-2021/12/27 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
-2021/12/27 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
-2021/12/27 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
-2021/12/27 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
-2021/12/27 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
-2021/12/27 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
-2021/12/27 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
-2021/12/27 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
-2021/12/27 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
-2021/12/27 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
-2021/12/27 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
-2021/12/27 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
-2021/12/27 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
-2021/12/27 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
-2021/12/27 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
-2021/12/27 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
-2021/12/27 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
-2021/12/27 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
-2021/12/27 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
-2021/12/27 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
-2021/12/27 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
-2021/12/27 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
-2021/12/27 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
-2021/12/27 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
-2021/12/27 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
-2021/12/27 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
-2021/12/27 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
-2021/12/27 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
-2021/12/27 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
-2021/12/27 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
-2021/12/27 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
-2021/12/27 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
-2021/12/27 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
-2021/12/27 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
-2021/12/27 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
-2021/12/27 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
-2021/12/27 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
-2021/12/27 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
-2021/12/27 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
-2021/12/27 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
-2021/12/27 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
-2021/12/27 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
-2021/12/27 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
-2021/12/27 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
-2021/12/27 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
-2021/12/27 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
-2021/12/27 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
-2021/12/27 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
-2021/12/27 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
-2021/12/27 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
-2021/12/27 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
-2021/12/27 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
-2021/12/27 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
-2021/12/27 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
-2021/12/27 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
-2021/12/27 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
-2021/12/27 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
-2021/12/27 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
-2021/12/27 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
-2021/12/27 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
-2021/12/27 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
-2021/12/27 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
-2021/12/27 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
-2021/12/27 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
-2021/12/27 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
-2021/12/27 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
-2021/12/27 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
-2021/12/27 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
-2021/12/27 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
-2021/12/27 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
-2021/12/27 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
-2021/12/27 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
-2021/12/27 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
-2021/12/27 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
-2021/12/27 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
-2021/12/27 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
-2021/12/27 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
-2021/12/27 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
-2021/12/27 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
-2021/12/27 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
-2021/12/27 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
-2021/12/27 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
-2021/12/27 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
-2021/12/27 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
-2021/12/27 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
-2021/12/27 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
-2021/12/27 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
-2021/12/27 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
-2021/12/27 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
-2021/12/27 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
-2021/12/27 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
-2021/12/27 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
-2021/12/27 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
-2021/12/27 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
-2021/12/27 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
-2021/12/27 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
-2021/12/27 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
-2021/12/27 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
-2021/12/27 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
-2021/12/27 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
-2021/12/27 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
-2021/12/27 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
-2021/12/27 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
-2021/12/27 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
-2021/12/27 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
-2021/12/27 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
-2021/12/27 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
-2021/12/27 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
-2021/12/27 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
-2021/12/27 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
-2021/12/27 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
-2021/12/27 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
-2021/12/27 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
-2021/12/27 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
-2021/12/27 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
-2021/12/27 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
-2021/12/27 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
-2021/12/27 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
-2021/12/27 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
-2021/12/27 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
-2021/12/27 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
-2021/12/27 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
-2021/12/27 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
-2021/12/27 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
-2021/12/27 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
-2021/12/27 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
-2021/12/27 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
-2021/12/27 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
-2021/12/27 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
-2021/12/27 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
-2021/12/27 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
-2021/12/27 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
-2021/12/27 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
-2021/12/27 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
-2021/12/27 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
-2021/12/27 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
-2021/12/27 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
-2021/12/27 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
-2021/12/27 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
-2021/12/27 | 270497 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
-2021/12/27 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
-2021/12/27 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
-2021/12/27 | 1950 | graphics/asymptote/cudareflect/utils.cuh
-2021/12/27 | 26693 | graphics/asymptote/dec.cc
-2021/12/27 | 17734 | graphics/asymptote/dec.h
-2021/12/27 | 5883 | graphics/asymptote/Delaunay.cc
-2021/12/27 | 384 | graphics/asymptote/Delaunay.h
-2021/12/27 | 8836 | graphics/asymptote/doc/asy.1
-2021/12/27 | 1005 | graphics/asymptote/doc/asy.1.begin
-2021/12/27 | 333 | graphics/asymptote/doc/asy.1.end
-2021/12/27 | 2800 | graphics/asymptote/doc/asycolors.sty
-2021/12/27 | 18101 | graphics/asymptote/doc/asy-latex.dtx
-2021/12/27 | 206973 | graphics/asymptote/doc/asy-latex.pdf
-2021/12/27 | 1241549 | graphics/asymptote/doc/asymptote.pdf
-2021/12/27 | 9811 | graphics/asymptote/doc/asymptote.sty
-2021/12/27 | 393676 | graphics/asymptote/doc/asymptote.texi
-2021/12/27 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
-2021/12/27 | 20051 | graphics/asymptote/doc/asyRefCard.tex
-2021/12/27 | 246 | graphics/asymptote/doc/axis3.asy
-2021/12/27 | 416 | graphics/asymptote/doc/bezier2.asy
-2021/12/27 | 81 | graphics/asymptote/doc/bezier.asy
-2021/12/27 | 234 | graphics/asymptote/doc/beziercurve.asy
-2021/12/27 | 41 | graphics/asymptote/doc/bigdiagonal.asy
-2021/12/27 | 306 | graphics/asymptote/doc/binarytreetest.asy
-2021/12/27 | 677 | graphics/asymptote/doc/Bode.asy
-2021/12/27 | 524 | graphics/asymptote/doc/brokenaxis.asy
-2021/12/27 | 1391 | graphics/asymptote/doc/CAD1.asy
-2021/12/27 | 198823 | graphics/asymptote/doc/CAD.pdf
-2021/12/27 | 10196 | graphics/asymptote/doc/CAD.tex
-2021/12/27 | 518 | graphics/asymptote/doc/CDlabel.asy
-2021/12/27 | 4348 | graphics/asymptote/doc/colo-asy.tex
-2021/12/27 | 49 | graphics/asymptote/doc/colons.asy
-2021/12/27 | 1620 | graphics/asymptote/doc/colors.asy
-2021/12/27 | 243 | graphics/asymptote/doc/cube.asy
-2021/12/27 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
-2021/12/27 | 218 | graphics/asymptote/doc/datagraph.asy
-2021/12/27 | 24 | graphics/asymptote/doc/diagonal.asy
-2021/12/27 | 2979 | graphics/asymptote/doc/diatom.asy
-2021/12/27 | 4067 | graphics/asymptote/doc/diatom.csv
-2021/12/27 | 49 | graphics/asymptote/doc/dots.asy
-2021/12/27 | 1051 | graphics/asymptote/doc/eetomumu.asy
-2021/12/27 | 2034 | graphics/asymptote/doc/elliptic.asy
-2021/12/27 | 912 | graphics/asymptote/doc/errorbars.asy
-2021/12/27 | 202 | graphics/asymptote/doc/exp.asy
-2021/12/27 | 343 | graphics/asymptote/doc/externalprc.tex
-2021/12/27 | 19597 | graphics/asymptote/doc/external-proposal.html
-2021/12/27 | 25154 | graphics/asymptote/doc/extra/intro.asy
-2021/12/27 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
-2021/12/27 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
-2021/12/27 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
-2021/12/27 | 13663 | graphics/asymptote/doc/FAQ/install-sh
-2021/12/27 | 1000 | graphics/asymptote/doc/FAQ/Makefile
-2021/12/27 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
-2021/12/27 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
-2021/12/27 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
-2021/12/27 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
-2021/12/27 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
-2021/12/27 | 238 | graphics/asymptote/doc/filegraph.asy
-2021/12/27 | 26 | graphics/asymptote/doc/filegraph.dat
-2021/12/27 | 604 | graphics/asymptote/doc/flow.asy
-2021/12/27 | 897 | graphics/asymptote/doc/flowchartdemo.asy
-2021/12/27 | 464 | graphics/asymptote/doc/GaussianSurface.asy
-2021/12/27 | 376 | graphics/asymptote/doc/generalaxis3.asy
-2021/12/27 | 277 | graphics/asymptote/doc/generalaxis.asy
-2021/12/27 | 754 | graphics/asymptote/doc/graphmarkers.asy
-2021/12/27 | 219 | graphics/asymptote/doc/graphwithderiv.asy
-2021/12/27 | 426 | graphics/asymptote/doc/grid3xyz.asy
-2021/12/27 | 279 | graphics/asymptote/doc/hatch.asy
-2021/12/27 | 423 | graphics/asymptote/doc/helix.asy
-2021/12/27 | 324 | graphics/asymptote/doc/HermiteSpline.asy
-2021/12/27 | 441 | graphics/asymptote/doc/histogram.asy
-2021/12/27 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
-2021/12/27 | 500 | graphics/asymptote/doc/Hobbydir.asy
-2021/12/27 | 378 | graphics/asymptote/doc/icon.asy
-2021/12/27 | 401 | graphics/asymptote/doc/image.asy
-2021/12/27 | 868 | graphics/asymptote/doc/imagecontour.asy
-2021/12/27 | 13663 | graphics/asymptote/doc/install-sh
-2021/12/27 | 357 | graphics/asymptote/doc/irregularcontour.asy
-2021/12/27 | 442 | graphics/asymptote/doc/join3.asy
-2021/12/27 | 261 | graphics/asymptote/doc/join.asy
-2021/12/27 | 417 | graphics/asymptote/doc/knots.asy
-2021/12/27 | 121 | graphics/asymptote/doc/labelsquare.asy
-2021/12/27 | 144 | graphics/asymptote/doc/latexmkrc
-2021/12/27 | 150 | graphics/asymptote/doc/latexmkrc_asydir
-2021/12/27 | 3125 | graphics/asymptote/doc/latexusage.tex
-2021/12/27 | 1008 | graphics/asymptote/doc/leastsquares.asy
-2021/12/27 | 6318 | graphics/asymptote/doc/leastsquares.dat
-2021/12/27 | 396 | graphics/asymptote/doc/legend.asy
-2021/12/27 | 366 | graphics/asymptote/doc/lineargraph0.asy
-2021/12/27 | 373 | graphics/asymptote/doc/lineargraph.asy
-2021/12/27 | 415 | graphics/asymptote/doc/linetype.asy
-2021/12/27 | 423 | graphics/asymptote/doc/log2graph.asy
-2021/12/27 | 262 | graphics/asymptote/doc/loggraph.asy
-2021/12/27 | 382 | graphics/asymptote/doc/loggrid.asy
-2021/12/27 | 480 | graphics/asymptote/doc/logimage.asy
-2021/12/27 | 617 | graphics/asymptote/doc/logo.asy
-2021/12/27 | 314 | graphics/asymptote/doc/logticks.asy
-2021/12/27 | 3023 | graphics/asymptote/doc/Makefile.in
-2021/12/27 | 293 | graphics/asymptote/doc/makepen.asy
-2021/12/27 | 2674 | graphics/asymptote/doc/markers1.asy
-2021/12/27 | 877 | graphics/asymptote/doc/markers2.asy
-2021/12/27 | 288 | graphics/asymptote/doc/mexicanhat.asy
-2021/12/27 | 374 | graphics/asymptote/doc/monthaxis.asy
-2021/12/27 | 458 | graphics/asymptote/doc/multicontour.asy
-2021/12/27 | 115 | graphics/asymptote/doc/onecontour.asy
-2021/12/27 | 240 | graphics/asymptote/doc/parametricgraph.asy
-2021/12/27 | 498 | graphics/asymptote/doc/penfunctionimage.asy
-2021/12/27 | 219 | graphics/asymptote/doc/penimage.asy
-2021/12/27 | 2771 | graphics/asymptote/doc/pixel.pdf
-2021/12/27 | 354 | graphics/asymptote/doc/planes.asy
-2021/12/27 | 472132 | graphics/asymptote/doc/png/asymptote.info
-2021/12/27 | 1469 | graphics/asymptote/doc/png/Makefile.in
-2021/12/27 | 49 | graphics/asymptote/doc/quartercircle.asy
-2021/12/27 | 354 | graphics/asymptote/doc/reloadpdf.tex
-2021/12/27 | 157 | graphics/asymptote/doc/saddle.asy
-2021/12/27 | 355 | graphics/asymptote/doc/scaledgraph.asy
-2021/12/27 | 792 | graphics/asymptote/doc/secondaryaxis.asy
-2021/12/27 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
-2021/12/27 | 256 | graphics/asymptote/doc/shadedtiling.asy
-2021/12/27 | 154 | graphics/asymptote/doc/slopefield1.asy
-2021/12/27 | 52 | graphics/asymptote/doc/square.asy
-2021/12/27 | 341 | graphics/asymptote/doc/subpictures.asy
-2021/12/27 | 123 | graphics/asymptote/doc/superpath.asy
-2021/12/27 | 81162 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
-2021/12/27 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
-2021/12/27 | 390 | graphics/asymptote/doc/tile.asy
-2021/12/27 | 396 | graphics/asymptote/doc/triangulate.asy
-2021/12/27 | 186 | graphics/asymptote/doc/unitcircle3.asy
-2021/12/27 | 147 | graphics/asymptote/doc/vectorfield.asy
-2021/12/27 | 1746 | graphics/asymptote/doc/westnile.asy
-2021/12/27 | 4727 | graphics/asymptote/doc/westnile.csv
-2021/12/27 | 880 | graphics/asymptote/doc/xasy.1x
-2021/12/27 | 1851 | graphics/asymptote/drawclipbegin.h
-2021/12/27 | 1197 | graphics/asymptote/drawclipend.h
-2021/12/27 | 11468 | graphics/asymptote/drawelement.h
-2021/12/27 | 4597 | graphics/asymptote/drawfill.cc
-2021/12/27 | 6525 | graphics/asymptote/drawfill.h
-2021/12/27 | 494 | graphics/asymptote/drawgrestore.h
-2021/12/27 | 2880 | graphics/asymptote/drawgroup.h
-2021/12/27 | 464 | graphics/asymptote/drawgsave.h
-2021/12/27 | 3024 | graphics/asymptote/drawimage.h
-2021/12/27 | 6787 | graphics/asymptote/drawlabel.cc
-2021/12/27 | 2134 | graphics/asymptote/drawlabel.h
-2021/12/27 | 1096 | graphics/asymptote/drawlayer.h
-2021/12/27 | 5566 | graphics/asymptote/drawpath3.cc
-2021/12/27 | 5823 | graphics/asymptote/drawpath3.h
-2021/12/27 | 3465 | graphics/asymptote/drawpath.cc
-2021/12/27 | 669 | graphics/asymptote/drawpath.h
-2021/12/27 | 25094 | graphics/asymptote/drawsurface.cc
-2021/12/27 | 23679 | graphics/asymptote/drawsurface.h
-2021/12/27 | 1266 | graphics/asymptote/drawverbatim.h
-2021/12/27 | 17987 | graphics/asymptote/entry.cc
-2021/12/27 | 13615 | graphics/asymptote/entry.h
-2021/12/27 | 5441 | graphics/asymptote/env.cc
-2021/12/27 | 1142 | graphics/asymptote/envcompleter.cc
-2021/12/27 | 845 | graphics/asymptote/envcompleter.h
-2021/12/27 | 4570 | graphics/asymptote/env.h
-2021/12/27 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
-2021/12/27 | 2279 | graphics/asymptote/errormsg.cc
-2021/12/27 | 5621 | graphics/asymptote/errormsg.h
-2021/12/27 | 9251 | graphics/asymptote/errors
-2021/12/27 | 6911 | graphics/asymptote/errortest.asy
-2021/12/27 | 43335 | graphics/asymptote/examples/100d.pdb1
-2021/12/27 | 657 | graphics/asymptote/examples/100d.views
-2021/12/27 | 163 | graphics/asymptote/examples/1overx.asy
-2021/12/27 | 4158 | graphics/asymptote/examples/advection.asy
-2021/12/27 | 245 | graphics/asymptote/examples/alignbox.asy
-2021/12/27 | 2830 | graphics/asymptote/examples/alignedaxis.asy
-2021/12/27 | 946 | graphics/asymptote/examples/animations/cube.asy
-2021/12/27 | 160672 | graphics/asymptote/examples/animations/dice.u3d
-2021/12/27 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
-2021/12/27 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
-2021/12/27 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
-2021/12/27 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
-2021/12/27 | 414 | graphics/asymptote/examples/animations/glmovie.asy
-2021/12/27 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
-2021/12/27 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
-2021/12/27 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
-2021/12/27 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
-2021/12/27 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
-2021/12/27 | 856 | graphics/asymptote/examples/animations/sphere.asy
-2021/12/27 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
-2021/12/27 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
-2021/12/27 | 1120 | graphics/asymptote/examples/animations/wheel.asy
-2021/12/27 | 236 | graphics/asymptote/examples/annotation.asy
-2021/12/27 | 1240 | graphics/asymptote/examples/arrows3.asy
-2021/12/27 | 61 | graphics/asymptote/examples/axialshade.asy
-2021/12/27 | 496 | graphics/asymptote/examples/bars3.asy
-2021/12/27 | 1033 | graphics/asymptote/examples/basealign.asy
-2021/12/27 | 407 | graphics/asymptote/examples/BezierPatch.asy
-2021/12/27 | 581 | graphics/asymptote/examples/BezierSaddle.asy
-2021/12/27 | 1548 | graphics/asymptote/examples/BezierSurface.asy
-2021/12/27 | 199 | graphics/asymptote/examples/BezierTriangle.asy
-2021/12/27 | 154 | graphics/asymptote/examples/billboard.asy
-2021/12/27 | 513 | graphics/asymptote/examples/buildcycle.asy
-2021/12/27 | 233 | graphics/asymptote/examples/cardioid.asy
-2021/12/27 | 485 | graphics/asymptote/examples/cards.asy
-2021/12/27 | 688 | graphics/asymptote/examples/centroidfg.asy
-2021/12/27 | 322 | graphics/asymptote/examples/cheese.asy
-2021/12/27 | 576 | graphics/asymptote/examples/circles.asy
-2021/12/27 | 228 | graphics/asymptote/examples/circumcircle.asy
-2021/12/27 | 762 | graphics/asymptote/examples/clockarray.asy
-2021/12/27 | 264 | graphics/asymptote/examples/coag.asy
-2021/12/27 | 436 | graphics/asymptote/examples/colorpatch.asy
-2021/12/27 | 472 | graphics/asymptote/examples/colorplanes.asy
-2021/12/27 | 739 | graphics/asymptote/examples/condor.asy
-2021/12/27 | 495 | graphics/asymptote/examples/cones.asy
-2021/12/27 | 1778 | graphics/asymptote/examples/conicurv.asy
-2021/12/27 | 254 | graphics/asymptote/examples/contextfonts.asy
-2021/12/27 | 802 | graphics/asymptote/examples/controlsystem.asy
-2021/12/27 | 123 | graphics/asymptote/examples/Coons.asy
-2021/12/27 | 235 | graphics/asymptote/examples/cos2theta.asy
-2021/12/27 | 582 | graphics/asymptote/examples/cos3.asy
-2021/12/27 | 460 | graphics/asymptote/examples/cosaddition.asy
-2021/12/27 | 5537 | graphics/asymptote/examples/cpkcolors.asy
-2021/12/27 | 572 | graphics/asymptote/examples/curvedlabel3.asy
-2021/12/27 | 177 | graphics/asymptote/examples/curvedlabel.asy
-2021/12/27 | 1835 | graphics/asymptote/examples/cyclohexane.asy
-2021/12/27 | 352 | graphics/asymptote/examples/cylinder.asy
-2021/12/27 | 506 | graphics/asymptote/examples/delu.asy
-2021/12/27 | 509 | graphics/asymptote/examples/dimension.asy
-2021/12/27 | 1216 | graphics/asymptote/examples/dragon.asy
-2021/12/27 | 1298 | graphics/asymptote/examples/electromagnetic.asy
-2021/12/27 | 325 | graphics/asymptote/examples/elevation.asy
-2021/12/27 | 398 | graphics/asymptote/examples/epix.asy
-2021/12/27 | 242 | graphics/asymptote/examples/equilateral.asy
-2021/12/27 | 548 | graphics/asymptote/examples/equilchord.asy
-2021/12/27 | 579 | graphics/asymptote/examples/exp3.asy
-2021/12/27 | 519 | graphics/asymptote/examples/extrudedcontour.asy
-2021/12/27 | 498 | graphics/asymptote/examples/fano.asy
-2021/12/27 | 973 | graphics/asymptote/examples/fequlogo.asy
-2021/12/27 | 727 | graphics/asymptote/examples/fermi.asy
-2021/12/27 | 980 | graphics/asymptote/examples/filesurface.asy
-2021/12/27 | 5543 | graphics/asymptote/examples/filesurface.dat
-2021/12/27 | 570 | graphics/asymptote/examples/fillcontour.asy
-2021/12/27 | 4244 | graphics/asymptote/examples/fin.asy
-2021/12/27 | 710 | graphics/asymptote/examples/fjortoft.asy
-2021/12/27 | 558 | graphics/asymptote/examples/floatingdisk.asy
-2021/12/27 | 500 | graphics/asymptote/examples/floor.asy
-2021/12/27 | 683 | graphics/asymptote/examples/fractaltree.asy
-2021/12/27 | 1185 | graphics/asymptote/examples/functionshading.asy
-2021/12/27 | 499 | graphics/asymptote/examples/galleon.asy
-2021/12/27 | 713 | graphics/asymptote/examples/gamma3.asy
-2021/12/27 | 439 | graphics/asymptote/examples/gamma.asy
-2021/12/27 | 679 | graphics/asymptote/examples/genusthree.asy
-2021/12/27 | 1164 | graphics/asymptote/examples/genustwo.asy
-2021/12/27 | 383 | graphics/asymptote/examples/Gouraud.asy
-2021/12/27 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
-2021/12/27 | 76 | graphics/asymptote/examples/grid.asy
-2021/12/27 | 459 | graphics/asymptote/examples/hierarchy.asy
-2021/12/27 | 315 | graphics/asymptote/examples/hyperboloid.asy
-2021/12/27 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
-2021/12/27 | 1111 | graphics/asymptote/examples/imagehistogram.asy
-2021/12/27 | 610 | graphics/asymptote/examples/impact.asy
-2021/12/27 | 598 | graphics/asymptote/examples/integraltest.asy
-2021/12/27 | 4808 | graphics/asymptote/examples/interpolate1.asy
-2021/12/27 | 289 | graphics/asymptote/examples/jump.asy
-2021/12/27 | 1352 | graphics/asymptote/examples/Klein.asy
-2021/12/27 | 182 | graphics/asymptote/examples/label3.asy
-2021/12/27 | 196 | graphics/asymptote/examples/label3ribbon.asy
-2021/12/27 | 187 | graphics/asymptote/examples/label3solid.asy
-2021/12/27 | 632 | graphics/asymptote/examples/label3zoom.asy
-2021/12/27 | 264 | graphics/asymptote/examples/labelbox.asy
-2021/12/27 | 1114 | graphics/asymptote/examples/laserlattice.asy
-2021/12/27 | 136 | graphics/asymptote/examples/latticeshading.asy
-2021/12/27 | 690 | graphics/asymptote/examples/layers.asy
-2021/12/27 | 460 | graphics/asymptote/examples/lever.asy
-2021/12/27 | 654 | graphics/asymptote/examples/limit.asy
-2021/12/27 | 1910 | graphics/asymptote/examples/linearregression.asy
-2021/12/27 | 168 | graphics/asymptote/examples/lines.asy
-2021/12/27 | 1040 | graphics/asymptote/examples/lmfit1.asy
-2021/12/27 | 206 | graphics/asymptote/examples/log.asy
-2021/12/27 | 349 | graphics/asymptote/examples/logdown.asy
-2021/12/27 | 1461 | graphics/asymptote/examples/logo3.asy
-2021/12/27 | 196 | graphics/asymptote/examples/lowint.asy
-2021/12/27 | 657 | graphics/asymptote/examples/lowupint.asy
-2021/12/27 | 479 | graphics/asymptote/examples/magnetic.asy
-2021/12/27 | 879 | graphics/asymptote/examples/markregular.asy
-2021/12/27 | 1968 | graphics/asymptote/examples/mergeExample.asy
-2021/12/27 | 5216 | graphics/asymptote/examples/mosaic.asy
-2021/12/27 | 2504 | graphics/asymptote/examples/mosquito.asy
-2021/12/27 | 1566 | graphics/asymptote/examples/near_earth.asy
-2021/12/27 | 658 | graphics/asymptote/examples/NURBScurve.asy
-2021/12/27 | 1042 | graphics/asymptote/examples/NURBSsphere.asy
-2021/12/27 | 1552 | graphics/asymptote/examples/NURBSsurface.asy
-2021/12/27 | 1251 | graphics/asymptote/examples/odetest.asy
-2021/12/27 | 308 | graphics/asymptote/examples/oneoverx.asy
-2021/12/27 | 810 | graphics/asymptote/examples/orthocenter.asy
-2021/12/27 | 254 | graphics/asymptote/examples/parametricelevation.asy
-2021/12/27 | 407 | graphics/asymptote/examples/parametricsurface.asy
-2021/12/27 | 711 | graphics/asymptote/examples/partialsurface.asy
-2021/12/27 | 1055 | graphics/asymptote/examples/partitionExample.asy
-2021/12/27 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
-2021/12/27 | 3335 | graphics/asymptote/examples/pdb.asy
-2021/12/27 | 361 | graphics/asymptote/examples/phase.asy
-2021/12/27 | 22873 | graphics/asymptote/examples/piicon.png
-2021/12/27 | 362 | graphics/asymptote/examples/pipeintersection.asy
-2021/12/27 | 3857 | graphics/asymptote/examples/pipes.asy
-2021/12/27 | 418 | graphics/asymptote/examples/planeproject.asy
-2021/12/27 | 930 | graphics/asymptote/examples/polararea.asy
-2021/12/27 | 628 | graphics/asymptote/examples/polarcircle.asy
-2021/12/27 | 326 | graphics/asymptote/examples/polardatagraph.asy
-2021/12/27 | 641 | graphics/asymptote/examples/pOrbital.asy
-2021/12/27 | 954 | graphics/asymptote/examples/poster.asy
-2021/12/27 | 58 | graphics/asymptote/examples/progrid.asy
-2021/12/27 | 373 | graphics/asymptote/examples/projectelevation.asy
-2021/12/27 | 427 | graphics/asymptote/examples/projectrevolution.asy
-2021/12/27 | 747 | graphics/asymptote/examples/pseudosphere.asy
-2021/12/27 | 557 | graphics/asymptote/examples/Pythagoras.asy
-2021/12/27 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
-2021/12/27 | 734 | graphics/asymptote/examples/quilt.asy
-2021/12/27 | 345 | graphics/asymptote/examples/rainbow.asy
-2021/12/27 | 78 | graphics/asymptote/examples/randompath3.asy
-2021/12/27 | 1537 | graphics/asymptote/examples/refs.bib
-2021/12/27 | 990 | graphics/asymptote/examples/RiemannSphere.asy
-2021/12/27 | 348 | graphics/asymptote/examples/RiemannSurface.asy
-2021/12/27 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
-2021/12/27 | 141 | graphics/asymptote/examples/ring.asy
-2021/12/27 | 184 | graphics/asymptote/examples/roll.asy
-2021/12/27 | 1309 | graphics/asymptote/examples/roundpath.asy
-2021/12/27 | 288 | graphics/asymptote/examples/sacone3D.asy
-2021/12/27 | 445 | graphics/asymptote/examples/sacone.asy
-2021/12/27 | 341 | graphics/asymptote/examples/sacylinder3D.asy
-2021/12/27 | 400 | graphics/asymptote/examples/sacylinder.asy
-2021/12/27 | 66 | graphics/asymptote/examples/shade.asy
-2021/12/27 | 111 | graphics/asymptote/examples/shadestroke.asy
-2021/12/27 | 1065 | graphics/asymptote/examples/shellmethod.asy
-2021/12/27 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
-2021/12/27 | 410 | graphics/asymptote/examples/Sierpinski.asy
-2021/12/27 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
-2021/12/27 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
-2021/12/27 | 327 | graphics/asymptote/examples/sin1x.asy
-2021/12/27 | 579 | graphics/asymptote/examples/sin3.asy
-2021/12/27 | 591 | graphics/asymptote/examples/sinc.asy
-2021/12/27 | 378 | graphics/asymptote/examples/sinxlex.asy
-2021/12/27 | 3358 | graphics/asymptote/examples/slidedemo.asy
-2021/12/27 | 341 | graphics/asymptote/examples/slidedemo_.bbl
-2021/12/27 | 2023 | graphics/asymptote/examples/slope.asy
-2021/12/27 | 520 | graphics/asymptote/examples/smoothelevation.asy
-2021/12/27 | 2680 | graphics/asymptote/examples/soccerball.asy
-2021/12/27 | 2362 | graphics/asymptote/examples/spectrum.asy
-2021/12/27 | 141 | graphics/asymptote/examples/sphere.asy
-2021/12/27 | 150 | graphics/asymptote/examples/spheresilhouette.asy
-2021/12/27 | 162 | graphics/asymptote/examples/sphereskeleton.asy
-2021/12/27 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
-2021/12/27 | 424 | graphics/asymptote/examples/spiral3.asy
-2021/12/27 | 210 | graphics/asymptote/examples/spiral.asy
-2021/12/27 | 608 | graphics/asymptote/examples/spline.asy
-2021/12/27 | 2191 | graphics/asymptote/examples/splitpatch.asy
-2021/12/27 | 38 | graphics/asymptote/examples/spring0.asy
-2021/12/27 | 43 | graphics/asymptote/examples/spring2.asy
-2021/12/27 | 667 | graphics/asymptote/examples/spring.asy
-2021/12/27 | 674 | graphics/asymptote/examples/sqrtx01.asy
-2021/12/27 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
-2021/12/27 | 145 | graphics/asymptote/examples/star.asy
-2021/12/27 | 162 | graphics/asymptote/examples/stereoscopic.asy
-2021/12/27 | 59 | graphics/asymptote/examples/stroke3.asy
-2021/12/27 | 300 | graphics/asymptote/examples/strokepath.asy
-2021/12/27 | 175 | graphics/asymptote/examples/strokeshade.asy
-2021/12/27 | 198 | graphics/asymptote/examples/tanh.asy
-2021/12/27 | 14378 | graphics/asymptote/examples/teapot.asy
-2021/12/27 | 34 | graphics/asymptote/examples/teapotIBL.asy
-2021/12/27 | 303 | graphics/asymptote/examples/tensor.asy
-2021/12/27 | 547 | graphics/asymptote/examples/tetra.asy
-2021/12/27 | 312 | graphics/asymptote/examples/textpath.asy
-2021/12/27 | 8429 | graphics/asymptote/examples/thermodynamics.asy
-2021/12/27 | 576 | graphics/asymptote/examples/threeviews.asy
-2021/12/27 | 104 | graphics/asymptote/examples/tiling.asy
-2021/12/27 | 419 | graphics/asymptote/examples/torus.asy
-2021/12/27 | 188 | graphics/asymptote/examples/transparency.asy
-2021/12/27 | 250 | graphics/asymptote/examples/transparentCubes.asy
-2021/12/27 | 602 | graphics/asymptote/examples/treetest.asy
-2021/12/27 | 589 | graphics/asymptote/examples/trefoilknot.asy
-2021/12/27 | 972 | graphics/asymptote/examples/triads.asy
-2021/12/27 | 207 | graphics/asymptote/examples/triangle.asy
-2021/12/27 | 441 | graphics/asymptote/examples/triangles.asy
-2021/12/27 | 251 | graphics/asymptote/examples/triceratops.asy
-2021/12/27 | 291 | graphics/asymptote/examples/trumpet.asy
-2021/12/27 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
-2021/12/27 | 40665 | graphics/asymptote/examples/tvgen.asy
-2021/12/27 | 868 | graphics/asymptote/examples/twistedtubes.asy
-2021/12/27 | 26096 | graphics/asymptote/examples/uhrturm.obj
-2021/12/27 | 322 | graphics/asymptote/examples/unitcircle.asy
-2021/12/27 | 430 | graphics/asymptote/examples/unitoctant.asy
-2021/12/27 | 714 | graphics/asymptote/examples/unitoctantx.asy
-2021/12/27 | 199 | graphics/asymptote/examples/upint.asy
-2021/12/27 | 525 | graphics/asymptote/examples/vectorfield3.asy
-2021/12/27 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
-2021/12/27 | 839 | graphics/asymptote/examples/venn3.asy
-2021/12/27 | 626 | graphics/asymptote/examples/venn.asy
-2021/12/27 | 802 | graphics/asymptote/examples/vertexshading.asy
-2021/12/27 | 360 | graphics/asymptote/examples/washer.asy
-2021/12/27 | 1010 | graphics/asymptote/examples/washermethod.asy
-2021/12/27 | 628 | graphics/asymptote/examples/wedge.asy
-2021/12/27 | 1030 | graphics/asymptote/examples/workcone.asy
-2021/12/27 | 978 | graphics/asymptote/examples/worksheet.asy
-2021/12/27 | 2626 | graphics/asymptote/examples/worldmap.asy
-2021/12/27 | 1261761 | graphics/asymptote/examples/worldmap.dat
-2021/12/27 | 580 | graphics/asymptote/examples/xsin1x.asy
-2021/12/27 | 3739 | graphics/asymptote/examples/xstitch.asy
-2021/12/27 | 743 | graphics/asymptote/examples/xxsq01.asy
-2021/12/27 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
-2021/12/27 | 825 | graphics/asymptote/examples/xxsq01y.asy
-2021/12/27 | 222 | graphics/asymptote/examples/yingyang.asy
-2021/12/27 | 37783 | graphics/asymptote/exp.cc
-2021/12/27 | 30307 | graphics/asymptote/exp.h
-2021/12/27 | 1188 | graphics/asymptote/EXRFiles.cc
-2021/12/27 | 454 | graphics/asymptote/EXRFiles.h
-2021/12/27 | 178 | graphics/asymptote/fftw++asy.cc
-2021/12/27 | 1694 | graphics/asymptote/fftw++.cc
-2021/12/27 | 45411 | graphics/asymptote/fftw++.h
-2021/12/27 | 4866 | graphics/asymptote/fileio.cc
-2021/12/27 | 21382 | graphics/asymptote/fileio.h
-2021/12/27 | 1245 | graphics/asymptote/findsym.pl
-2021/12/27 | 1020 | graphics/asymptote/flatguide.cc
-2021/12/27 | 4209 | graphics/asymptote/flatguide.h
-2021/12/27 | 654 | graphics/asymptote/fpu.h
-2021/12/27 | 2164 | graphics/asymptote/frame.h
-2021/12/27 | 9772 | graphics/asymptote/fundec.cc
-2021/12/27 | 4895 | graphics/asymptote/fundec.h
-2021/12/27 | 1183225 | graphics/asymptote/gc-8.2.0.tar.gz
-2021/12/27 | 6275 | graphics/asymptote/generate_enums.py
-2021/12/27 | 3153 | graphics/asymptote/genv.cc
-2021/12/27 | 1626 | graphics/asymptote/genv.h
-2021/12/27 | 4520 | graphics/asymptote/getopt1.c
-2021/12/27 | 30147 | graphics/asymptote/getopt.c
-2021/12/27 | 6650 | graphics/asymptote/getopt.h
-2021/12/27 | 202 | graphics/asymptote/glew.c
-2021/12/27 | 1235777 | graphics/asymptote/GL/glew.c
-2021/12/27 | 1186601 | graphics/asymptote/GL/glew.h
-2021/12/27 | 73435 | graphics/asymptote/GL/glxew.h
-2021/12/27 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
-2021/12/27 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
-2021/12/27 | 57688 | graphics/asymptote/glrender.cc
-2021/12/27 | 9362 | graphics/asymptote/glrender.h
-2021/12/27 | 818 | graphics/asymptote/GLTextures.cc
-2021/12/27 | 3608 | graphics/asymptote/GLTextures.h
-2021/12/27 | 63314 | graphics/asymptote/GL/wglew.h
-2021/12/27 | 50437 | graphics/asymptote/gsl.cc
-2021/12/27 | 22 | graphics/asymptote/GUI/configs/__init__.py
-2021/12/27 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
-2021/12/27 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
-2021/12/27 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
-2021/12/27 | 100 | graphics/asymptote/GUI/DebugFlags.py
-2021/12/27 | 1149 | graphics/asymptote/guide.cc
-2021/12/27 | 294 | graphics/asymptote/guideflags.h
-2021/12/27 | 6725 | graphics/asymptote/guide.h
-2021/12/27 | 1751 | graphics/asymptote/GUI/GuidesManager.py
-2021/12/27 | 23 | graphics/asymptote/GUI/__init__.py
-2021/12/27 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
-2021/12/27 | 5272 | graphics/asymptote/GUI/labelEditor.py
-2021/12/27 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
-2021/12/27 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
-2021/12/27 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
-2021/12/27 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
-2021/12/27 | 2918 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
-2021/12/27 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
-2021/12/27 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
-2021/12/27 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
-2021/12/27 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
-2021/12/27 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
-2021/12/27 | 57 | graphics/asymptote/GUI/requirements.txt
-2021/12/27 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
-2021/12/27 | 637 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
-2021/12/27 | 637 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
-2021/12/27 | 802 | graphics/asymptote/GUI/res/icons/android-camera.svg
-2021/12/27 | 695 | graphics/asymptote/GUI/res/icons/android-close.svg
-2021/12/27 | 1319 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
-2021/12/27 | 674 | graphics/asymptote/GUI/res/icons/android-delete.svg
-2021/12/27 | 633 | graphics/asymptote/GUI/res/icons/android-done.svg
-2021/12/27 | 822 | graphics/asymptote/GUI/res/icons/android-expand.svg
-2021/12/27 | 850 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
-2021/12/27 | 1482 | graphics/asymptote/GUI/res/icons/android-hand.svg
-2021/12/27 | 1124 | graphics/asymptote/GUI/res/icons/android-locate.svg
-2021/12/27 | 764 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
-2021/12/27 | 844 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
-2021/12/27 | 806 | graphics/asymptote/GUI/res/icons/android-refresh.svg
-2021/12/27 | 713 | graphics/asymptote/GUI/res/icons/arrow-move.svg
-2021/12/27 | 639 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
-2021/12/27 | 999 | graphics/asymptote/GUI/res/icons/brush.svg
-2021/12/27 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
-2021/12/27 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
-2021/12/27 | 111 | graphics/asymptote/GUI/res/icons/center.asy
-2021/12/27 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
-2021/12/27 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
-2021/12/27 | 858 | graphics/asymptote/GUI/res/icons/center.svg
-2021/12/27 | 780 | graphics/asymptote/GUI/res/icons/check.svg
-2021/12/27 | 1013 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
-2021/12/27 | 998 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
-2021/12/27 | 754 | graphics/asymptote/GUI/res/icons/circle.svg
-2021/12/27 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
-2021/12/27 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
-2021/12/27 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
-2021/12/27 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
-2021/12/27 | 838 | graphics/asymptote/GUI/res/icons/close-round.svg
-2021/12/27 | 1194 | graphics/asymptote/GUI/res/icons/code.svg
-2021/12/27 | 876 | graphics/asymptote/GUI/res/icons/edit.svg
-2021/12/27 | 1003 | graphics/asymptote/GUI/res/icons/eye.svg
-2021/12/27 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
-2021/12/27 | 1764 | graphics/asymptote/GUI/res/icons/grid.svg
-2021/12/27 | 964 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
-2021/12/27 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
-2021/12/27 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
-2021/12/27 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
-2021/12/27 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
-2021/12/27 | 759 | graphics/asymptote/GUI/res/icons/plus-round.svg
-2021/12/27 | 1808 | graphics/asymptote/GUI/res/icons.qrc
-2021/12/27 | 1130 | graphics/asymptote/GUI/res/icons/redo.svg
-2021/12/27 | 673 | graphics/asymptote/GUI/res/icons/save.svg
-2021/12/27 | 1920 | graphics/asymptote/GUI/res/icons/social-python.svg
-2021/12/27 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
-2021/12/27 | 284 | graphics/asymptote/GUI/res/icons/text.svg
-2021/12/27 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
-2021/12/27 | 1087 | graphics/asymptote/GUI/res/icons/undo.svg
-2021/12/27 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
-2021/12/27 | 393 | graphics/asymptote/GUI/setup.py
-2021/12/27 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
-2021/12/27 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
-2021/12/27 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
-2021/12/27 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
-2021/12/27 | 94848 | graphics/asymptote/GUI/Window1.py
-2021/12/27 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
-2021/12/27 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
-2021/12/27 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
-2021/12/27 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
-2021/12/27 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
-2021/12/27 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
-2021/12/27 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
-2021/12/27 | 79003 | graphics/asymptote/GUI/windows/window1.ui
-2021/12/27 | 60074 | graphics/asymptote/GUI/xasy2asy.py
-2021/12/27 | 1183 | graphics/asymptote/GUI/xasyArgs.py
-2021/12/27 | 14082 | graphics/asymptote/GUI/xasyBezierInterface.py
-2021/12/27 | 4084 | graphics/asymptote/GUI/xasyFile.py
-2021/12/27 | 6717 | graphics/asymptote/GUI/xasyOptions.py
-2021/12/27 | 611 | graphics/asymptote/GUI/xasy.py
-2021/12/27 | 586 | graphics/asymptote/GUI/xasyStrings.py
-2021/12/27 | 733 | graphics/asymptote/GUI/xasySvg.py
-2021/12/27 | 1015 | graphics/asymptote/GUI/xasyTransform.py
-2021/12/27 | 1542 | graphics/asymptote/GUI/xasyUtils.py
-2021/12/27 | 238 | graphics/asymptote/GUI/xasyValidator.py
-2021/12/27 | 12823 | graphics/asymptote/impdatum.cc
-2021/12/27 | 127 | graphics/asymptote/index.html
-2021/12/27 | 10445 | graphics/asymptote/INSTALL
-2021/12/27 | 15645 | graphics/asymptote/install-sh
-2021/12/27 | 1982 | graphics/asymptote/inst.h
-2021/12/27 | 5586 | graphics/asymptote/interact.cc
-2021/12/27 | 1345 | graphics/asymptote/interact.h
-2021/12/27 | 5733 | graphics/asymptote/item.h
-2021/12/27 | 11846 | graphics/asymptote/jsfile.cc
-2021/12/27 | 3065 | graphics/asymptote/jsfile.h
-2021/12/27 | 609 | graphics/asymptote/keywords.cc
-2021/12/27 | 1253 | graphics/asymptote/keywords.pl
-2021/12/27 | 22345 | graphics/asymptote/knot.cc
-2021/12/27 | 12259 | graphics/asymptote/knot.h
-2021/12/27 | 342 | graphics/asymptote/lexical.h
-2021/12/27 | 83449 | graphics/asymptote/lex.yy.cc
-2021/12/27 | 35147 | graphics/asymptote/LICENSE
-2021/12/27 | 7639 | graphics/asymptote/LICENSE.LESSER
-2021/12/27 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
-2021/12/27 | 2194 | graphics/asymptote/locate.cc
-2021/12/27 | 631 | graphics/asymptote/locate.h
-2021/12/27 | 4973 | graphics/asymptote/LspCpp/example/StdIOClientExample.cpp
-2021/12/27 | 3669 | graphics/asymptote/LspCpp/example/StdIOServerExample.cpp
-2021/12/27 | 4837 | graphics/asymptote/LspCpp/example/TcpServerExample.cpp
-2021/12/27 | 8095 | graphics/asymptote/LspCpp/example/WebsocketExample.cpp
-2021/12/27 | 460 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Cancellation.h
-2021/12/27 | 867 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Condition.h
-2021/12/27 | 949 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Context.cpp
-2021/12/27 | 7671 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Context.h
-2021/12/27 | 1171 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Endpoint.cpp
-2021/12/27 | 1665 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Endpoint.h
-2021/12/27 | 262 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/GCThreadContext.cpp
-2021/12/27 | 217 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/GCThreadContext.h
-2021/12/27 | 2845 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/json.h
-2021/12/27 | 1159 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/lsRequestId.h
-2021/12/27 | 1600 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/lsResponseMessage.h
-2021/12/27 | 2054 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/message.cpp
-2021/12/27 | 628 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/message.h
-2021/12/27 | 4580 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageIssue.h
-2021/12/27 | 1175 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageJsonHandler.cpp
-2021/12/27 | 2122 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageJsonHandler.h
-2021/12/27 | 241 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageProducer.h
-2021/12/27 | 1475 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/NotificationInMessage.h
-2021/12/27 | 54109 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/optional.hpp
-2021/12/27 | 16878 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RemoteEndPoint.cpp
-2021/12/27 | 10070 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RemoteEndPoint.h
-2021/12/27 | 1774 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RequestInMessage.h
-2021/12/27 | 1765 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/ScopeExit.h
-2021/12/27 | 4792 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/serializer.cpp
-2021/12/27 | 10581 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/serializer.h
-2021/12/27 | 2930 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/stream.h
-2021/12/27 | 4366 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/StreamMessageProducer.cpp
-2021/12/27 | 1000 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/StreamMessageProducer.h
-2021/12/27 | 8990 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/TcpServer.cpp
-2021/12/27 | 1183 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/TcpServer.h
-2021/12/27 | 450 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/threaded_queue.cpp
-2021/12/27 | 6386 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/threaded_queue.h
-2021/12/27 | 6369 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/traits.h
-2021/12/27 | 10221 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/WebSocketServer.cpp
-2021/12/27 | 2424 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/WebSocketServer.h
-2021/12/27 | 706 | graphics/asymptote/LspCpp/LibLsp/lsp/AbsolutePath.h
-2021/12/27 | 8521 | graphics/asymptote/LspCpp/LibLsp/lsp/ClientPreferences.h
-2021/12/27 | 1567 | graphics/asymptote/LspCpp/LibLsp/lsp/client/registerCapability.h
-2021/12/27 | 1019 | graphics/asymptote/LspCpp/LibLsp/lsp/client/unregisterCapability.h
-2021/12/27 | 2636 | graphics/asymptote/LspCpp/LibLsp/lsp/CodeActionParams.h
-2021/12/27 | 236 | graphics/asymptote/LspCpp/LibLsp/lsp/Directory.h
-2021/12/27 | 587 | graphics/asymptote/LspCpp/LibLsp/lsp/ExecuteCommandParams.h
-2021/12/27 | 625 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
-2021/12/27 | 382 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/buildWorkspace.h
-2021/12/27 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
-2021/12/27 | 827 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
-2021/12/27 | 1002 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
-2021/12/27 | 631 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
-2021/12/27 | 294 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/classFileContents.h
-2021/12/27 | 1109 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/codeActionResult.h
-2021/12/27 | 901 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/executeCommand.h
-2021/12/27 | 579 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/findLinks.h
-2021/12/27 | 565 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateAccessors.h
-2021/12/27 | 617 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateConstructors.h
-2021/12/27 | 828 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
-2021/12/27 | 738 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
-2021/12/27 | 514 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateToString.h
-2021/12/27 | 1673 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
-2021/12/27 | 2104 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
-2021/12/27 | 325 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
-2021/12/27 | 320 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/Move.h
-2021/12/27 | 301 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/organizeImports.h
-2021/12/27 | 907 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/OverridableMethod.h
-2021/12/27 | 309 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
-2021/12/27 | 748 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
-2021/12/27 | 722 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/searchSymbols.h
-2021/12/27 | 229 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
-2021/12/27 | 5734 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/protocol.h
-2021/12/27 | 632 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/SCTConfig.h
-2021/12/27 | 16226 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/sct.cpp
-2021/12/27 | 1918 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/sct.h
-2021/12/27 | 4688 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sonarlint/protocol.h
-2021/12/27 | 203 | graphics/asymptote/LspCpp/LibLsp/lsp/general/exit.h
-2021/12/27 | 1055 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialize.cpp
-2021/12/27 | 482 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialized.h
-2021/12/27 | 1380 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialize.h
-2021/12/27 | 3418 | graphics/asymptote/LspCpp/LibLsp/lsp/general/InitializeParams.h
-2021/12/27 | 1150 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsClientCapabilities.h
-2021/12/27 | 18994 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsServerCapabilities.h
-2021/12/27 | 22502 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
-2021/12/27 | 6889 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
-2021/12/27 | 693 | graphics/asymptote/LspCpp/LibLsp/lsp/general/progress.h
-2021/12/27 | 487 | graphics/asymptote/LspCpp/LibLsp/lsp/general/shutdown.h
-2021/12/27 | 4578 | graphics/asymptote/LspCpp/LibLsp/lsp/IProgressMonitor.h
-2021/12/27 | 2974 | graphics/asymptote/LspCpp/LibLsp/lsp/language/language.h
-2021/12/27 | 1808 | graphics/asymptote/LspCpp/LibLsp/lsp/location_type.h
-2021/12/27 | 4118 | graphics/asymptote/LspCpp/LibLsp/lsp/lru_cache.h
-2021/12/27 | 3294 | graphics/asymptote/LspCpp/LibLsp/lsp/lsAny.h
-2021/12/27 | 1213 | graphics/asymptote/LspCpp/LibLsp/lsp/lsCodeAction.h
-2021/12/27 | 1328 | graphics/asymptote/LspCpp/LibLsp/lsp/lsCommand.h
-2021/12/27 | 778 | graphics/asymptote/LspCpp/LibLsp/lsp/lsDocumentUri.h
-2021/12/27 | 1192 | graphics/asymptote/LspCpp/LibLsp/lsp/lsFormattingOptions.h
-2021/12/27 | 1105 | graphics/asymptote/LspCpp/LibLsp/lsp/lsMarkedString.h
-2021/12/27 | 1411 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_code_action.h
-2021/12/27 | 7152 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_completion.h
-2021/12/27 | 23274 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp.cpp
-2021/12/27 | 1661 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_diagnostic.cpp
-2021/12/27 | 3834 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_diagnostic.h
-2021/12/27 | 1143 | graphics/asymptote/LspCpp/LibLsp/lsp/lsPosition.h
-2021/12/27 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/lsRange.h
-2021/12/27 | 3004 | graphics/asymptote/LspCpp/LibLsp/lsp/lsResponseError.h
-2021/12/27 | 688 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentEdit.h
-2021/12/27 | 424 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentIdentifier.h
-2021/12/27 | 676 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentItem.h
-2021/12/27 | 667 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentPositionParams.h
-2021/12/27 | 2514 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextEdit.h
-2021/12/27 | 1154 | graphics/asymptote/LspCpp/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
-2021/12/27 | 2482 | graphics/asymptote/LspCpp/LibLsp/lsp/lsWorkspaceEdit.h
-2021/12/27 | 33677 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/Markup.cpp
-2021/12/27 | 3917 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/Markup.h
-2021/12/27 | 27528 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/string_ref.h
-2021/12/27 | 74 | graphics/asymptote/LspCpp/LibLsp/lsp/method_type.h
-2021/12/27 | 588 | graphics/asymptote/LspCpp/LibLsp/lsp/out_list.h
-2021/12/27 | 2880 | graphics/asymptote/LspCpp/LibLsp/lsp/ParentProcessWatcher.cpp
-2021/12/27 | 348 | graphics/asymptote/LspCpp/LibLsp/lsp/ParentProcessWatcher.h
-2021/12/27 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/ProcessIoService.h
-2021/12/27 | 23205 | graphics/asymptote/LspCpp/LibLsp/lsp/ProtocolJsonHandler.cpp
-2021/12/27 | 176 | graphics/asymptote/LspCpp/LibLsp/lsp/ProtocolJsonHandler.h
-2021/12/27 | 2675 | graphics/asymptote/LspCpp/LibLsp/lsp/ResourceOperation.h
-2021/12/27 | 1185 | graphics/asymptote/LspCpp/LibLsp/lsp/SimpleTimer.h
-2021/12/27 | 4265 | graphics/asymptote/LspCpp/LibLsp/lsp/symbol.h
-2021/12/27 | 3731 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/callHierarchy.h
-2021/12/27 | 2668 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/code_action.h
-2021/12/27 | 1129 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/code_lens.h
-2021/12/27 | 1615 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/colorPresentation.h
-2021/12/27 | 2524 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/completion.h
-2021/12/27 | 934 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/declaration_definition.h
-2021/12/27 | 1493 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_change.h
-2021/12/27 | 768 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_close.h
-2021/12/27 | 937 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_open.h
-2021/12/27 | 1056 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/didRenameFiles.h
-2021/12/27 | 808 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_save.h
-2021/12/27 | 1831 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/documentColor.h
-2021/12/27 | 1244 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/document_link.h
-2021/12/27 | 1814 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/document_symbol.h
-2021/12/27 | 1665 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/foldingRange.h
-2021/12/27 | 792 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/formatting.h
-2021/12/27 | 566 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/highlight.h
-2021/12/27 | 1617 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/hover.h
-2021/12/27 | 488 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/implementation.h
-2021/12/27 | 1267 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/linkedEditingRange.h
-2021/12/27 | 1054 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/onTypeFormatting.h
-2021/12/27 | 1033 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/prepareRename.h
-2021/12/27 | 751 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/publishDiagnostics.h
-2021/12/27 | 872 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/range_formatting.h
-2021/12/27 | 1195 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/references.h
-2021/12/27 | 1098 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/rename.h
-2021/12/27 | 223 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveCodeLens.h
-2021/12/27 | 489 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveCompletionItem.h
-2021/12/27 | 789 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
-2021/12/27 | 1440 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/selectionRange.h
-2021/12/27 | 2632 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/semanticHighlighting.h
-2021/12/27 | 9945 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/SemanticTokens.h
-2021/12/27 | 3391 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/signature_help.h
-2021/12/27 | 11111 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/textDocument.cpp
-2021/12/27 | 490 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/type_definition.h
-2021/12/27 | 4199 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/typeHierarchy.h
-2021/12/27 | 1924 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/willSave.h
-2021/12/27 | 15516 | graphics/asymptote/LspCpp/LibLsp/lsp/utils.cpp
-2021/12/27 | 4899 | graphics/asymptote/LspCpp/LibLsp/lsp/utils.h
-2021/12/27 | 2257 | graphics/asymptote/LspCpp/LibLsp/lsp/windows/MessageNotify.h
-2021/12/27 | 5328 | graphics/asymptote/LspCpp/LibLsp/lsp/working_files.cpp
-2021/12/27 | 2149 | graphics/asymptote/LspCpp/LibLsp/lsp/working_files.h
-2021/12/27 | 1077 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/applyEdit.h
-2021/12/27 | 1161 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/configuration.h
-2021/12/27 | 580 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/did_change_configuration.h
-2021/12/27 | 1352 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/did_change_watched_files.h
-2021/12/27 | 1321 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
-2021/12/27 | 794 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/execute_command.h
-2021/12/27 | 428 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/symbol.h
-2021/12/27 | 953 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/workspaceFolders.h
-2021/12/27 | 1066 | graphics/asymptote/LspCpp/LICENSE
-2021/12/27 | 17860 | graphics/asymptote/LspCpp/LspCpp.filters
-2021/12/27 | 165 | graphics/asymptote/LspCpp/LspCpp.user
-2021/12/27 | 39804 | graphics/asymptote/LspCpp/LspCpp.vcxproj
-2021/12/27 | 25452 | graphics/asymptote/LspCpp/LspCpp.vcxproj.filters
-2021/12/27 | 165 | graphics/asymptote/LspCpp/LspCpp.vcxproj.user
-2021/12/27 | 30640 | graphics/asymptote/LspCpp/macro_map.h
-2021/12/27 | 1386 | graphics/asymptote/LspCpp/Makefile
-2021/12/27 | 16421 | graphics/asymptote/LspCpp/network/optional.hpp
-2021/12/27 | 7737 | graphics/asymptote/LspCpp/network/string_view.hpp
-2021/12/27 | 568 | graphics/asymptote/LspCpp/network/uri/config.hpp
-2021/12/27 | 2098 | graphics/asymptote/LspCpp/network/uri/detail/algorithm.hpp
-2021/12/27 | 1898 | graphics/asymptote/LspCpp/network/uri/detail/decode.hpp
-2021/12/27 | 4395 | graphics/asymptote/LspCpp/network/uri/detail/encode.hpp
-2021/12/27 | 3072 | graphics/asymptote/LspCpp/network/uri/detail/grammar.hpp
-2021/12/27 | 2151 | graphics/asymptote/LspCpp/network/uri/detail/translate.hpp
-2021/12/27 | 2176 | graphics/asymptote/LspCpp/network/uri/detail/uri_advance_parts.cpp
-2021/12/27 | 658 | graphics/asymptote/LspCpp/network/uri/detail/uri_advance_parts.hpp
-2021/12/27 | 2259 | graphics/asymptote/LspCpp/network/uri/detail/uri_normalize.cpp
-2021/12/27 | 594 | graphics/asymptote/LspCpp/network/uri/detail/uri_normalize.hpp
-2021/12/27 | 3052 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse_authority.cpp
-2021/12/27 | 730 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse_authority.hpp
-2021/12/27 | 10607 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse.cpp
-2021/12/27 | 552 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse.hpp
-2021/12/27 | 2073 | graphics/asymptote/LspCpp/network/uri/detail/uri_parts.hpp
-2021/12/27 | 1787 | graphics/asymptote/LspCpp/network/uri/detail/uri_percent_encode.hpp
-2021/12/27 | 2827 | graphics/asymptote/LspCpp/network/uri/detail/uri_resolve.cpp
-2021/12/27 | 714 | graphics/asymptote/LspCpp/network/uri/detail/uri_resolve.hpp
-2021/12/27 | 1030 | graphics/asymptote/LspCpp/network/uri.hpp
-2021/12/27 | 4083 | graphics/asymptote/LspCpp/network/uri/uri_builder.cpp
-2021/12/27 | 6917 | graphics/asymptote/LspCpp/network/uri/uri_builder.hpp
-2021/12/27 | 18396 | graphics/asymptote/LspCpp/network/uri/uri.cpp
-2021/12/27 | 2002 | graphics/asymptote/LspCpp/network/uri/uri_errors.cpp
-2021/12/27 | 2609 | graphics/asymptote/LspCpp/network/uri/uri_errors.hpp
-2021/12/27 | 21807 | graphics/asymptote/LspCpp/network/uri/uri.hpp
-2021/12/27 | 1710 | graphics/asymptote/LspCpp/network/uri/uri_io.hpp
-2021/12/27 | 968 | graphics/asymptote/LspCpp/packages.config
-2021/12/27 | 1172 | graphics/asymptote/LspCpp/README.md
-2021/12/27 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/future.hpp
-2021/12/27 | 2088 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/locking_ptr.hpp
-2021/12/27 | 13824 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/pool_core.hpp
-2021/12/27 | 1006 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/scope_guard.hpp
-2021/12/27 | 2817 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/worker_thread.hpp
-2021/12/27 | 2649 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/future.hpp
-2021/12/27 | 663 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool.hpp
-2021/12/27 | 2000 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool_adaptors.hpp
-2021/12/27 | 7632 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool.hpp
-2021/12/27 | 6550 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/scheduling_policies.hpp
-2021/12/27 | 1957 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/shutdown_policies.hpp
-2021/12/27 | 2396 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
-2021/12/27 | 4345 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/task_adaptors.hpp
-2021/12/27 | 3723 | graphics/asymptote/LspCpp/third_party/threadpool/CHANGE_LOG
-2021/12/27 | 221 | graphics/asymptote/LspCpp/third_party/threadpool/COPYING
-2021/12/27 | 319 | graphics/asymptote/LspCpp/third_party/threadpool/Jamfile.v2
-2021/12/27 | 32 | graphics/asymptote/LspCpp/third_party/threadpool/Jamrules
-2021/12/27 | 5196 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.dox
-2021/12/27 | 1134 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design_header.htm
-2021/12/27 | 1322 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.txt
-2021/12/27 | 5202 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.dox
-2021/12/27 | 1122 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples_header.htm
-2021/12/27 | 113 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.txt
-2021/12/27 | 643 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/common_footer.htm
-2021/12/27 | 625 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/overview_footer.htm
-2021/12/27 | 994 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/common_footer.htm
-2021/12/27 | 967 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/overview_footer.htm
-2021/12/27 | 184 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/index.html
-2021/12/27 | 801 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/Makefile
-2021/12/27 | 5221 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.dox
-2021/12/27 | 1188 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview_header.htm
-2021/12/27 | 8296 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.txt
-2021/12/27 | 8411 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference.dox
-2021/12/27 | 1283 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference_header.htm
-2021/12/27 | 7619 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/threadpool.css
-2021/12/27 | 5203 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.dox
-2021/12/27 | 1332 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial_header.htm
-2021/12/27 | 6350 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.txt
-2021/12/27 | 195 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/Jamfile.v2
-2021/12/27 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/mergesort.cpp
-2021/12/27 | 194 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/Jamfile.v2
-2021/12/27 | 986 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/quickstart.cpp
-2021/12/27 | 321 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/README
-2021/12/27 | 2315 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp
-2021/12/27 | 199 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/Jamfile.v2
-2021/12/27 | 190 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/Jamfile.v2
-2021/12/27 | 5265 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/tutorial.cpp
-2021/12/27 | 1338 | graphics/asymptote/LspCpp/third_party/threadpool/LICENSE_1_0.txt
-2021/12/27 | 1125 | graphics/asymptote/LspCpp/third_party/threadpool/Makefile
-2021/12/27 | 67 | graphics/asymptote/LspCpp/third_party/threadpool/project-root.jam
-2021/12/27 | 279 | graphics/asymptote/LspCpp/third_party/threadpool/README
-2021/12/27 | 1088 | graphics/asymptote/LspCpp/third_party/threadpool/TODO
-2021/12/27 | 1291 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
-2021/12/27 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
-2021/12/27 | 55726 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
-2021/12/27 | 2123 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
-2021/12/27 | 12474 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
-2021/12/27 | 10928 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
-2021/12/27 | 3306 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
-2021/12/27 | 3298 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
-2021/12/27 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
-2021/12/27 | 10989 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
-2021/12/27 | 1734 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
-2021/12/27 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
-2021/12/27 | 2143 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
-2021/12/27 | 5578 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp
-2021/12/27 | 1032 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp
-2021/12/27 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
-2021/12/27 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
-2021/12/27 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
-2021/12/27 | 4626 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp
-2021/12/27 | 1002 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp
-2021/12/27 | 21481 | graphics/asymptote/lspserv.cc
-2021/12/27 | 6528 | graphics/asymptote/lspserv.h
-2021/12/27 | 6402 | graphics/asymptote/main.cc
-2021/12/27 | 12632 | graphics/asymptote/Makefile.in
-2021/12/27 | 920 | graphics/asymptote/makeUnique.h
-2021/12/27 | 2968 | graphics/asymptote/material.h
-2021/12/27 | 6414 | graphics/asymptote/mathop.h
-2021/12/27 | 5095 | graphics/asymptote/memory.h
-2021/12/27 | 714 | graphics/asymptote/mod.h
-2021/12/27 | 908 | graphics/asymptote/modifier.h
-2021/12/27 | 8037 | graphics/asymptote/name.cc
-2021/12/27 | 5691 | graphics/asymptote/name.h
-2021/12/27 | 4285 | graphics/asymptote/newexp.cc
-2021/12/27 | 1274 | graphics/asymptote/newexp.h
-2021/12/27 | 916 | graphics/asymptote/opcodes.h
-2021/12/27 | 1050 | graphics/asymptote/opsymbols.pl
-2021/12/27 | 5278 | graphics/asymptote/pair.h
-2021/12/27 | 4873 | graphics/asymptote/parser.cc
-2021/12/27 | 1171 | graphics/asymptote/parser.h
-2021/12/27 | 5262 | graphics/asymptote/patches/bison.patch
-2021/12/27 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
-2021/12/27 | 1311 | graphics/asymptote/patches/dvipdf
-2021/12/27 | 113 | graphics/asymptote/patches/fixmem.reg
-2021/12/27 | 1524 | graphics/asymptote/patches/flex.patch
-2021/12/27 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
-2021/12/27 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
-2021/12/27 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
-2021/12/27 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
-2021/12/27 | 1082 | graphics/asymptote/patches/README
-2021/12/27 | 37991 | graphics/asymptote/path3.cc
-2021/12/27 | 10585 | graphics/asymptote/path3.h
-2021/12/27 | 33813 | graphics/asymptote/path.cc
-2021/12/27 | 11663 | graphics/asymptote/path.h
-2021/12/27 | 1594 | graphics/asymptote/pen.cc
-2021/12/27 | 27856 | graphics/asymptote/pen.h
-2021/12/27 | 42110 | graphics/asymptote/picture.cc
-2021/12/27 | 3472 | graphics/asymptote/picture.h
-2021/12/27 | 5250 | graphics/asymptote/pipestream.cc
-2021/12/27 | 2614 | graphics/asymptote/pipestream.h
-2021/12/27 | 138 | graphics/asymptote/Pipfile
-2021/12/27 | 2542 | graphics/asymptote/policy.h
-2021/12/27 | 650 | graphics/asymptote/prcfile.h
-2021/12/27 | 974 | graphics/asymptote/prc/Makefile
-2021/12/27 | 71201 | graphics/asymptote/prc/oPRCFile.cc
-2021/12/27 | 51640 | graphics/asymptote/prc/oPRCFile.h
-2021/12/27 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
-2021/12/27 | 2518 | graphics/asymptote/prc/PRCbitStream.h
-2021/12/27 | 177246 | graphics/asymptote/prc/PRCdouble.cc
-2021/12/27 | 3765 | graphics/asymptote/prc/PRCdouble.h
-2021/12/27 | 30208 | graphics/asymptote/prc/PRC.h
-2021/12/27 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
-2021/12/27 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
-2021/12/27 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
-2021/12/27 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
-2021/12/27 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
-2021/12/27 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
-2021/12/27 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
-2021/12/27 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
-2021/12/27 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
-2021/12/27 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
-2021/12/27 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
-2021/12/27 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
-2021/12/27 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
-2021/12/27 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
-2021/12/27 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
-2021/12/27 | 95 | graphics/asymptote/prc/test.asy
-2021/12/27 | 36243 | graphics/asymptote/prc/test.cc
-2021/12/27 | 66751 | graphics/asymptote/prc/writePRC.cc
-2021/12/27 | 48481 | graphics/asymptote/prc/writePRC.h
-2021/12/27 | 116010 | graphics/asymptote/predicates.cc
-2021/12/27 | 986 | graphics/asymptote/predicates.h
-2021/12/27 | 1236 | graphics/asymptote/primitives.h
-2021/12/27 | 23904 | graphics/asymptote/process.cc
-2021/12/27 | 4919 | graphics/asymptote/process.h
-2021/12/27 | 2378 | graphics/asymptote/profile.py
-2021/12/27 | 9923 | graphics/asymptote/profiler.h
-2021/12/27 | 3265 | graphics/asymptote/program.cc
-2021/12/27 | 2561 | graphics/asymptote/program.h
-2021/12/27 | 19107 | graphics/asymptote/psfile.cc
-2021/12/27 | 9015 | graphics/asymptote/psfile.h
-2021/12/27 | 2505 | graphics/asymptote/README
-2021/12/27 | 1698 | graphics/asymptote/record.cc
-2021/12/27 | 2732 | graphics/asymptote/record.h
-2021/12/27 | 1096 | graphics/asymptote/refaccess.cc
-2021/12/27 | 1936 | graphics/asymptote/refaccess.h
-2021/12/27 | 126385 | graphics/asymptote/ReleaseNotes
-2021/12/27 | 62 | graphics/asymptote/revision.cc
-2021/12/27 | 3441 | graphics/asymptote/rounding.h
-2021/12/27 | 73254 | graphics/asymptote/runarray.cc
-2021/12/27 | 1492 | graphics/asymptote/runarray.h
-2021/12/27 | 48417 | graphics/asymptote/runarray.in
-2021/12/27 | 2661 | graphics/asymptote/runbacktrace.cc
-2021/12/27 | 169 | graphics/asymptote/runbacktrace.h
-2021/12/27 | 831 | graphics/asymptote/runbacktrace.in
-2021/12/27 | 17798 | graphics/asymptote/runfile.cc
-2021/12/27 | 969 | graphics/asymptote/runfile.h
-2021/12/27 | 5987 | graphics/asymptote/runfile.in
-2021/12/27 | 8096 | graphics/asymptote/runhistory.cc
-2021/12/27 | 161 | graphics/asymptote/runhistory.h
-2021/12/27 | 5064 | graphics/asymptote/runhistory.in
-2021/12/27 | 15833 | graphics/asymptote/runlabel.cc
-2021/12/27 | 153 | graphics/asymptote/runlabel.h
-2021/12/27 | 12093 | graphics/asymptote/runlabel.in
-2021/12/27 | 21926 | graphics/asymptote/runmath.cc
-2021/12/27 | 269 | graphics/asymptote/runmath.h
-2021/12/27 | 8856 | graphics/asymptote/runmath.in
-2021/12/27 | 16483 | graphics/asymptote/runpair.cc
-2021/12/27 | 299 | graphics/asymptote/runpair.h
-2021/12/27 | 4156 | graphics/asymptote/runpair.in
-2021/12/27 | 25701 | graphics/asymptote/runpath3d.cc
-2021/12/27 | 186 | graphics/asymptote/runpath3d.h
-2021/12/27 | 8008 | graphics/asymptote/runpath3d.in
-2021/12/27 | 26844 | graphics/asymptote/runpath.cc
-2021/12/27 | 177 | graphics/asymptote/runpath.h
-2021/12/27 | 8439 | graphics/asymptote/runpath.in
-2021/12/27 | 57944 | graphics/asymptote/runpicture.cc
-2021/12/27 | 191 | graphics/asymptote/runpicture.h
-2021/12/27 | 20090 | graphics/asymptote/runpicture.in
-2021/12/27 | 18739 | graphics/asymptote/runstring.cc
-2021/12/27 | 188 | graphics/asymptote/runstring.h
-2021/12/27 | 9867 | graphics/asymptote/runstring.in
-2021/12/27 | 12604 | graphics/asymptote/runsystem.cc
-2021/12/27 | 157 | graphics/asymptote/runsystem.h
-2021/12/27 | 5111 | graphics/asymptote/runsystem.in
-2021/12/27 | 1341 | graphics/asymptote/runtimebase.in
-2021/12/27 | 60939 | graphics/asymptote/runtime.cc
-2021/12/27 | 1163 | graphics/asymptote/runtime.h
-2021/12/27 | 20633 | graphics/asymptote/runtime.in
-2021/12/27 | 7274 | graphics/asymptote/runtime.pl
-2021/12/27 | 13944 | graphics/asymptote/runtriple.cc
-2021/12/27 | 320 | graphics/asymptote/runtriple.h
-2021/12/27 | 2707 | graphics/asymptote/runtriple.in
-2021/12/27 | 2136 | graphics/asymptote/seconds.h
-2021/12/27 | 53997 | graphics/asymptote/settings.cc
-2021/12/27 | 2707 | graphics/asymptote/settings.h
-2021/12/27 | 3160 | graphics/asymptote/shaders.cc
-2021/12/27 | 902 | graphics/asymptote/shaders.h
-2021/12/27 | 6634 | graphics/asymptote/simpson.cc
-2021/12/27 | 14532 | graphics/asymptote/stack.cc
-2021/12/27 | 3295 | graphics/asymptote/stack.h
-2021/12/27 | 942 | graphics/asymptote/statistics.h
-2021/12/27 | 14795 | graphics/asymptote/stm.cc
-2021/12/27 | 5183 | graphics/asymptote/stm.h
-2021/12/27 | 9104 | graphics/asymptote/symbol.cc
-2021/12/27 | 2749 | graphics/asymptote/symbol.h
-2021/12/27 | 24784 | graphics/asymptote/symbolmaps.cc
-2021/12/27 | 28337 | graphics/asymptote/symbolmaps.h
-2021/12/27 | 2697 | graphics/asymptote/table.h
-2021/12/27 | 620 | graphics/asymptote/tests/arith/integer.asy
-2021/12/27 | 449 | graphics/asymptote/tests/arith/pair.asy
-2021/12/27 | 193 | graphics/asymptote/tests/arith/random.asy
-2021/12/27 | 383 | graphics/asymptote/tests/arith/real.asy
-2021/12/27 | 1710 | graphics/asymptote/tests/arith/roots.asy
-2021/12/27 | 639 | graphics/asymptote/tests/arith/transform.asy
-2021/12/27 | 244 | graphics/asymptote/tests/arith/triple.asy
-2021/12/27 | 936 | graphics/asymptote/tests/array/array.asy
-2021/12/27 | 680 | graphics/asymptote/tests/array/delete.asy
-2021/12/27 | 737 | graphics/asymptote/tests/array/determinant.asy
-2021/12/27 | 1927 | graphics/asymptote/tests/array/fields.asy
-2021/12/27 | 4841 | graphics/asymptote/tests/array/slice.asy
-2021/12/27 | 966 | graphics/asymptote/tests/array/solve.asy
-2021/12/27 | 746 | graphics/asymptote/tests/array/sort.asy
-2021/12/27 | 1096 | graphics/asymptote/tests/array/transpose.asy
-2021/12/27 | 276 | graphics/asymptote/tests/bench/6000circles.asy
-2021/12/27 | 2222 | graphics/asymptote/tests/frames/loop.asy
-2021/12/27 | 202 | graphics/asymptote/tests/frames/stat2.asy
-2021/12/27 | 158 | graphics/asymptote/tests/frames/stat.asy
-2021/12/27 | 62 | graphics/asymptote/tests/gc/array.asy
-2021/12/27 | 102 | graphics/asymptote/tests/gc/file.asy
-2021/12/27 | 54 | graphics/asymptote/tests/gc/funcall.asy
-2021/12/27 | 65 | graphics/asymptote/tests/gc/guide.asy
-2021/12/27 | 143 | graphics/asymptote/tests/gc/label.asy
-2021/12/27 | 124 | graphics/asymptote/tests/gc/path.asy
-2021/12/27 | 72 | graphics/asymptote/tests/gc/pen.asy
-2021/12/27 | 193 | graphics/asymptote/tests/gc/shipout.asy
-2021/12/27 | 77 | graphics/asymptote/tests/gc/string.asy
-2021/12/27 | 129 | graphics/asymptote/tests/gc/struct.asy
-2021/12/27 | 70 | graphics/asymptote/tests/gc/transform.asy
-2021/12/27 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
-2021/12/27 | 11907 | graphics/asymptote/tests/gsl/random.asy
-2021/12/27 | 1209 | graphics/asymptote/tests/imp/unravel.asy
-2021/12/27 | 308 | graphics/asymptote/tests/Makefile
-2021/12/27 | 18 | graphics/asymptote/tests/output/circle.asy
-2021/12/27 | 22 | graphics/asymptote/tests/output/line.asy
-2021/12/27 | 1284 | graphics/asymptote/tests/output/Makefile
-2021/12/27 | 1384 | graphics/asymptote/tests/pic/trans.asy
-2021/12/27 | 236 | graphics/asymptote/tests/string/erase.asy
-2021/12/27 | 182 | graphics/asymptote/tests/string/find.asy
-2021/12/27 | 109 | graphics/asymptote/tests/string/insert.asy
-2021/12/27 | 132 | graphics/asymptote/tests/string/length.asy
-2021/12/27 | 187 | graphics/asymptote/tests/string/rfind.asy
-2021/12/27 | 118 | graphics/asymptote/tests/string/substr.asy
-2021/12/27 | 238 | graphics/asymptote/tests/TestLib.asy
-2021/12/27 | 159 | graphics/asymptote/tests/types/cast.asy
-2021/12/27 | 6503 | graphics/asymptote/tests/types/constructor.asy
-2021/12/27 | 155 | graphics/asymptote/tests/types/ecast.asy
-2021/12/27 | 3375 | graphics/asymptote/tests/types/guide.asy
-2021/12/27 | 224 | graphics/asymptote/tests/types/init.asy
-2021/12/27 | 4242 | graphics/asymptote/tests/types/keyword.asy
-2021/12/27 | 4072 | graphics/asymptote/tests/types/order.asy
-2021/12/27 | 2731 | graphics/asymptote/tests/types/resolve.asy
-2021/12/27 | 308 | graphics/asymptote/tests/types/shadow.asy
-2021/12/27 | 1331 | graphics/asymptote/tests/types/spec.asy
-2021/12/27 | 1189 | graphics/asymptote/tests/types/var.asy
-2021/12/27 | 14283 | graphics/asymptote/testv3d.asy
-2021/12/27 | 18659 | graphics/asymptote/texfile.cc
-2021/12/27 | 13513 | graphics/asymptote/texfile.h
-2021/12/27 | 351 | graphics/asymptote/tinyexr.cc
-2021/12/27 | 1293 | graphics/asymptote/TODO
-2021/12/27 | 6288 | graphics/asymptote/transform.h
-2021/12/27 | 10224 | graphics/asymptote/tr.cc
-2021/12/27 | 3912 | graphics/asymptote/tr.h
-2021/12/27 | 9754 | graphics/asymptote/triple.h
-2021/12/27 | 14072 | graphics/asymptote/types.cc
-2021/12/27 | 15451 | graphics/asymptote/types.h
-2021/12/27 | 10093 | graphics/asymptote/util.cc
-2021/12/27 | 4602 | graphics/asymptote/util.h
-2021/12/27 | 10039 | graphics/asymptote/v3dfile.cc
-2021/12/27 | 4818 | graphics/asymptote/v3dfile.h
-2021/12/27 | 1061 | graphics/asymptote/v3dheadertypes.csv
-2021/12/27 | 1225 | graphics/asymptote/v3dheadertypes.h
-2021/12/27 | 1597 | graphics/asymptote/v3dheadertypes.py
-2021/12/27 | 422 | graphics/asymptote/v3dtypes.csv
-2021/12/27 | 548 | graphics/asymptote/v3dtypes.h
-2021/12/27 | 821 | graphics/asymptote/v3dtypes.py
-2021/12/27 | 2004 | graphics/asymptote/varinit.cc
-2021/12/27 | 2012 | graphics/asymptote/varinit.h
-2021/12/27 | 901 | graphics/asymptote/virtualfieldaccess.cc
-2021/12/27 | 2328 | graphics/asymptote/virtualfieldaccess.h
-2021/12/27 | 766 | graphics/asymptote/vm.h
-2021/12/27 | 222 | graphics/asymptote/wce
-2021/12/27 | 4531 | graphics/asymptote/webgl/fragment.glsl
-2021/12/27 | 89290 | graphics/asymptote/webgl/gl.js
-2021/12/27 | 820 | graphics/asymptote/webgl/license
-2021/12/27 | 1728 | graphics/asymptote/webgl/vertex.glsl
-2021/12/27 | 8567 | graphics/asymptote/xstream.h
-2021/12/27 | 23682714 | graphics/asymptote.zip
+2021/12/28 | 242 | graphics/asymptote/BUGS
+2021/12/28 | 1588 | graphics/asymptote/build-scripts/asy-format.el
+2021/12/28 | 210 | graphics/asymptote/build-scripts/asy-indent.el
+2021/12/28 | 1227 | graphics/asymptote/build-scripts/build-asygl
+2021/12/28 | 2484 | graphics/asymptote/build-scripts/build-asymptote
+2021/12/28 | 3556 | graphics/asymptote/build-scripts/build-asymptote.dos
+2021/12/28 | 1578 | graphics/asymptote/build-scripts/cc-format.el
+2021/12/28 | 183 | graphics/asymptote/build-scripts/cc-indent.el
+2021/12/28 | 2207 | graphics/asymptote/build-scripts/HOWTO-MSWindows
+2021/12/28 | 297 | graphics/asymptote/build-scripts/README-binaries
+2021/12/28 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
+2021/12/28 | 31342 | graphics/asymptote/builtin.cc
+2021/12/28 | 1630 | graphics/asymptote/builtin.h
+2021/12/28 | 1151 | graphics/asymptote/callable.cc
+2021/12/28 | 1640 | graphics/asymptote/callable.h
+2021/12/28 | 1190 | graphics/asymptote/camperror.cc
+2021/12/28 | 814 | graphics/asymptote/camperror.h
+2021/12/28 | 13357 | graphics/asymptote/camp.l
+2021/12/28 | 129790 | graphics/asymptote/camp.tab.cc
+2021/12/28 | 6189 | graphics/asymptote/camp.tab.h
+2021/12/28 | 20029 | graphics/asymptote/camp.y
+2021/12/28 | 4629 | graphics/asymptote/castop.h
+2021/12/28 | 1876 | graphics/asymptote/cc-mode2.el
+2021/12/28 | 1578728 | graphics/asymptote/ChangeLog
+2021/12/28 | 7790 | graphics/asymptote/coder.cc
+2021/12/28 | 11642 | graphics/asymptote/coder.h
+2021/12/28 | 1126 | graphics/asymptote/coenv.cc
+2021/12/28 | 908 | graphics/asymptote/coenv.h
+2021/12/28 | 2187 | graphics/asymptote/common.h
+2021/12/28 | 48441 | graphics/asymptote/config.guess
+2021/12/28 | 7099 | graphics/asymptote/config.h.in
+2021/12/28 | 31609 | graphics/asymptote/config.sub
+2021/12/28 | 292060 | graphics/asymptote/configure
+2021/12/28 | 16523 | graphics/asymptote/configure.ac
+2021/12/28 | 26 | graphics/asymptote/_config.yml
+2021/12/28 | 3676 | graphics/asymptote/constructor.cc
+2021/12/28 | 241 | graphics/asymptote/cudareflect/common.h
+2021/12/28 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
+2021/12/28 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
+2021/12/28 | 883 | graphics/asymptote/cudareflect/helper.cuh
+2021/12/28 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
+2021/12/28 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
+2021/12/28 | 4371 | graphics/asymptote/cudareflect/kernel.cu
+2021/12/28 | 445 | graphics/asymptote/cudareflect/kernel.h
+2021/12/28 | 7780 | graphics/asymptote/cudareflect/main.cc
+2021/12/28 | 548 | graphics/asymptote/cudareflect/Makefile
+2021/12/28 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
+2021/12/28 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
+2021/12/28 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
+2021/12/28 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
+2021/12/28 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
+2021/12/28 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
+2021/12/28 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
+2021/12/28 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
+2021/12/28 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
+2021/12/28 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
+2021/12/28 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
+2021/12/28 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
+2021/12/28 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
+2021/12/28 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
+2021/12/28 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
+2021/12/28 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
+2021/12/28 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
+2021/12/28 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
+2021/12/28 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
+2021/12/28 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
+2021/12/28 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
+2021/12/28 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
+2021/12/28 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
+2021/12/28 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
+2021/12/28 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
+2021/12/28 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
+2021/12/28 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
+2021/12/28 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
+2021/12/28 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
+2021/12/28 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
+2021/12/28 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
+2021/12/28 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
+2021/12/28 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
+2021/12/28 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
+2021/12/28 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
+2021/12/28 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
+2021/12/28 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
+2021/12/28 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
+2021/12/28 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
+2021/12/28 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
+2021/12/28 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
+2021/12/28 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
+2021/12/28 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
+2021/12/28 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
+2021/12/28 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
+2021/12/28 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
+2021/12/28 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
+2021/12/28 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
+2021/12/28 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
+2021/12/28 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
+2021/12/28 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
+2021/12/28 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
+2021/12/28 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
+2021/12/28 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
+2021/12/28 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
+2021/12/28 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
+2021/12/28 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
+2021/12/28 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
+2021/12/28 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
+2021/12/28 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
+2021/12/28 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
+2021/12/28 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
+2021/12/28 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
+2021/12/28 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
+2021/12/28 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
+2021/12/28 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
+2021/12/28 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
+2021/12/28 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
+2021/12/28 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
+2021/12/28 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
+2021/12/28 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
+2021/12/28 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
+2021/12/28 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
+2021/12/28 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
+2021/12/28 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
+2021/12/28 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
+2021/12/28 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
+2021/12/28 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
+2021/12/28 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
+2021/12/28 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
+2021/12/28 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
+2021/12/28 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
+2021/12/28 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
+2021/12/28 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
+2021/12/28 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
+2021/12/28 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
+2021/12/28 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
+2021/12/28 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
+2021/12/28 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
+2021/12/28 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
+2021/12/28 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
+2021/12/28 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
+2021/12/28 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
+2021/12/28 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
+2021/12/28 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
+2021/12/28 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
+2021/12/28 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
+2021/12/28 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
+2021/12/28 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
+2021/12/28 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
+2021/12/28 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
+2021/12/28 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
+2021/12/28 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
+2021/12/28 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
+2021/12/28 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
+2021/12/28 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
+2021/12/28 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
+2021/12/28 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
+2021/12/28 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
+2021/12/28 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
+2021/12/28 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
+2021/12/28 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
+2021/12/28 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
+2021/12/28 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
+2021/12/28 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
+2021/12/28 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
+2021/12/28 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
+2021/12/28 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
+2021/12/28 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
+2021/12/28 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
+2021/12/28 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
+2021/12/28 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
+2021/12/28 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
+2021/12/28 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
+2021/12/28 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
+2021/12/28 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
+2021/12/28 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
+2021/12/28 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
+2021/12/28 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
+2021/12/28 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
+2021/12/28 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
+2021/12/28 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
+2021/12/28 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
+2021/12/28 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
+2021/12/28 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
+2021/12/28 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
+2021/12/28 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
+2021/12/28 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
+2021/12/28 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
+2021/12/28 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
+2021/12/28 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
+2021/12/28 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
+2021/12/28 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
+2021/12/28 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
+2021/12/28 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
+2021/12/28 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
+2021/12/28 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
+2021/12/28 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
+2021/12/28 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
+2021/12/28 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
+2021/12/28 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
+2021/12/28 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
+2021/12/28 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
+2021/12/28 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
+2021/12/28 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
+2021/12/28 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
+2021/12/28 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
+2021/12/28 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
+2021/12/28 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
+2021/12/28 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
+2021/12/28 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
+2021/12/28 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
+2021/12/28 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
+2021/12/28 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
+2021/12/28 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
+2021/12/28 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
+2021/12/28 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
+2021/12/28 | 270497 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
+2021/12/28 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
+2021/12/28 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
+2021/12/28 | 1950 | graphics/asymptote/cudareflect/utils.cuh
+2021/12/28 | 26693 | graphics/asymptote/dec.cc
+2021/12/28 | 17734 | graphics/asymptote/dec.h
+2021/12/28 | 5883 | graphics/asymptote/Delaunay.cc
+2021/12/28 | 384 | graphics/asymptote/Delaunay.h
+2021/12/28 | 8836 | graphics/asymptote/doc/asy.1
+2021/12/28 | 1005 | graphics/asymptote/doc/asy.1.begin
+2021/12/28 | 333 | graphics/asymptote/doc/asy.1.end
+2021/12/28 | 2800 | graphics/asymptote/doc/asycolors.sty
+2021/12/28 | 18101 | graphics/asymptote/doc/asy-latex.dtx
+2021/12/28 | 206973 | graphics/asymptote/doc/asy-latex.pdf
+2021/12/28 | 1241553 | graphics/asymptote/doc/asymptote.pdf
+2021/12/28 | 9811 | graphics/asymptote/doc/asymptote.sty
+2021/12/28 | 393676 | graphics/asymptote/doc/asymptote.texi
+2021/12/28 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
+2021/12/28 | 20051 | graphics/asymptote/doc/asyRefCard.tex
+2021/12/28 | 246 | graphics/asymptote/doc/axis3.asy
+2021/12/28 | 416 | graphics/asymptote/doc/bezier2.asy
+2021/12/28 | 81 | graphics/asymptote/doc/bezier.asy
+2021/12/28 | 234 | graphics/asymptote/doc/beziercurve.asy
+2021/12/28 | 41 | graphics/asymptote/doc/bigdiagonal.asy
+2021/12/28 | 306 | graphics/asymptote/doc/binarytreetest.asy
+2021/12/28 | 677 | graphics/asymptote/doc/Bode.asy
+2021/12/28 | 524 | graphics/asymptote/doc/brokenaxis.asy
+2021/12/28 | 1391 | graphics/asymptote/doc/CAD1.asy
+2021/12/28 | 198824 | graphics/asymptote/doc/CAD.pdf
+2021/12/28 | 10196 | graphics/asymptote/doc/CAD.tex
+2021/12/28 | 518 | graphics/asymptote/doc/CDlabel.asy
+2021/12/28 | 4348 | graphics/asymptote/doc/colo-asy.tex
+2021/12/28 | 49 | graphics/asymptote/doc/colons.asy
+2021/12/28 | 1620 | graphics/asymptote/doc/colors.asy
+2021/12/28 | 243 | graphics/asymptote/doc/cube.asy
+2021/12/28 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
+2021/12/28 | 218 | graphics/asymptote/doc/datagraph.asy
+2021/12/28 | 24 | graphics/asymptote/doc/diagonal.asy
+2021/12/28 | 2979 | graphics/asymptote/doc/diatom.asy
+2021/12/28 | 4067 | graphics/asymptote/doc/diatom.csv
+2021/12/28 | 49 | graphics/asymptote/doc/dots.asy
+2021/12/28 | 1051 | graphics/asymptote/doc/eetomumu.asy
+2021/12/28 | 2034 | graphics/asymptote/doc/elliptic.asy
+2021/12/28 | 912 | graphics/asymptote/doc/errorbars.asy
+2021/12/28 | 202 | graphics/asymptote/doc/exp.asy
+2021/12/28 | 343 | graphics/asymptote/doc/externalprc.tex
+2021/12/28 | 19597 | graphics/asymptote/doc/external-proposal.html
+2021/12/28 | 25154 | graphics/asymptote/doc/extra/intro.asy
+2021/12/28 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
+2021/12/28 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
+2021/12/28 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
+2021/12/28 | 13663 | graphics/asymptote/doc/FAQ/install-sh
+2021/12/28 | 1000 | graphics/asymptote/doc/FAQ/Makefile
+2021/12/28 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
+2021/12/28 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
+2021/12/28 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
+2021/12/28 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
+2021/12/28 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
+2021/12/28 | 238 | graphics/asymptote/doc/filegraph.asy
+2021/12/28 | 26 | graphics/asymptote/doc/filegraph.dat
+2021/12/28 | 604 | graphics/asymptote/doc/flow.asy
+2021/12/28 | 897 | graphics/asymptote/doc/flowchartdemo.asy
+2021/12/28 | 464 | graphics/asymptote/doc/GaussianSurface.asy
+2021/12/28 | 376 | graphics/asymptote/doc/generalaxis3.asy
+2021/12/28 | 277 | graphics/asymptote/doc/generalaxis.asy
+2021/12/28 | 754 | graphics/asymptote/doc/graphmarkers.asy
+2021/12/28 | 219 | graphics/asymptote/doc/graphwithderiv.asy
+2021/12/28 | 426 | graphics/asymptote/doc/grid3xyz.asy
+2021/12/28 | 279 | graphics/asymptote/doc/hatch.asy
+2021/12/28 | 423 | graphics/asymptote/doc/helix.asy
+2021/12/28 | 324 | graphics/asymptote/doc/HermiteSpline.asy
+2021/12/28 | 441 | graphics/asymptote/doc/histogram.asy
+2021/12/28 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
+2021/12/28 | 500 | graphics/asymptote/doc/Hobbydir.asy
+2021/12/28 | 378 | graphics/asymptote/doc/icon.asy
+2021/12/28 | 401 | graphics/asymptote/doc/image.asy
+2021/12/28 | 868 | graphics/asymptote/doc/imagecontour.asy
+2021/12/28 | 13663 | graphics/asymptote/doc/install-sh
+2021/12/28 | 357 | graphics/asymptote/doc/irregularcontour.asy
+2021/12/28 | 442 | graphics/asymptote/doc/join3.asy
+2021/12/28 | 261 | graphics/asymptote/doc/join.asy
+2021/12/28 | 417 | graphics/asymptote/doc/knots.asy
+2021/12/28 | 121 | graphics/asymptote/doc/labelsquare.asy
+2021/12/28 | 144 | graphics/asymptote/doc/latexmkrc
+2021/12/28 | 150 | graphics/asymptote/doc/latexmkrc_asydir
+2021/12/28 | 3125 | graphics/asymptote/doc/latexusage.tex
+2021/12/28 | 1008 | graphics/asymptote/doc/leastsquares.asy
+2021/12/28 | 6318 | graphics/asymptote/doc/leastsquares.dat
+2021/12/28 | 396 | graphics/asymptote/doc/legend.asy
+2021/12/28 | 366 | graphics/asymptote/doc/lineargraph0.asy
+2021/12/28 | 373 | graphics/asymptote/doc/lineargraph.asy
+2021/12/28 | 415 | graphics/asymptote/doc/linetype.asy
+2021/12/28 | 423 | graphics/asymptote/doc/log2graph.asy
+2021/12/28 | 262 | graphics/asymptote/doc/loggraph.asy
+2021/12/28 | 382 | graphics/asymptote/doc/loggrid.asy
+2021/12/28 | 480 | graphics/asymptote/doc/logimage.asy
+2021/12/28 | 617 | graphics/asymptote/doc/logo.asy
+2021/12/28 | 314 | graphics/asymptote/doc/logticks.asy
+2021/12/28 | 3023 | graphics/asymptote/doc/Makefile.in
+2021/12/28 | 293 | graphics/asymptote/doc/makepen.asy
+2021/12/28 | 2674 | graphics/asymptote/doc/markers1.asy
+2021/12/28 | 877 | graphics/asymptote/doc/markers2.asy
+2021/12/28 | 288 | graphics/asymptote/doc/mexicanhat.asy
+2021/12/28 | 374 | graphics/asymptote/doc/monthaxis.asy
+2021/12/28 | 458 | graphics/asymptote/doc/multicontour.asy
+2021/12/28 | 115 | graphics/asymptote/doc/onecontour.asy
+2021/12/28 | 240 | graphics/asymptote/doc/parametricgraph.asy
+2021/12/28 | 498 | graphics/asymptote/doc/penfunctionimage.asy
+2021/12/28 | 219 | graphics/asymptote/doc/penimage.asy
+2021/12/28 | 2771 | graphics/asymptote/doc/pixel.pdf
+2021/12/28 | 354 | graphics/asymptote/doc/planes.asy
+2021/12/28 | 472132 | graphics/asymptote/doc/png/asymptote.info
+2021/12/28 | 1469 | graphics/asymptote/doc/png/Makefile.in
+2021/12/28 | 49 | graphics/asymptote/doc/quartercircle.asy
+2021/12/28 | 354 | graphics/asymptote/doc/reloadpdf.tex
+2021/12/28 | 157 | graphics/asymptote/doc/saddle.asy
+2021/12/28 | 355 | graphics/asymptote/doc/scaledgraph.asy
+2021/12/28 | 792 | graphics/asymptote/doc/secondaryaxis.asy
+2021/12/28 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
+2021/12/28 | 256 | graphics/asymptote/doc/shadedtiling.asy
+2021/12/28 | 154 | graphics/asymptote/doc/slopefield1.asy
+2021/12/28 | 52 | graphics/asymptote/doc/square.asy
+2021/12/28 | 341 | graphics/asymptote/doc/subpictures.asy
+2021/12/28 | 123 | graphics/asymptote/doc/superpath.asy
+2021/12/28 | 81162 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
+2021/12/28 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
+2021/12/28 | 390 | graphics/asymptote/doc/tile.asy
+2021/12/28 | 396 | graphics/asymptote/doc/triangulate.asy
+2021/12/28 | 186 | graphics/asymptote/doc/unitcircle3.asy
+2021/12/28 | 147 | graphics/asymptote/doc/vectorfield.asy
+2021/12/28 | 1746 | graphics/asymptote/doc/westnile.asy
+2021/12/28 | 4727 | graphics/asymptote/doc/westnile.csv
+2021/12/28 | 880 | graphics/asymptote/doc/xasy.1x
+2021/12/28 | 1851 | graphics/asymptote/drawclipbegin.h
+2021/12/28 | 1197 | graphics/asymptote/drawclipend.h
+2021/12/28 | 11468 | graphics/asymptote/drawelement.h
+2021/12/28 | 4597 | graphics/asymptote/drawfill.cc
+2021/12/28 | 6525 | graphics/asymptote/drawfill.h
+2021/12/28 | 494 | graphics/asymptote/drawgrestore.h
+2021/12/28 | 2880 | graphics/asymptote/drawgroup.h
+2021/12/28 | 464 | graphics/asymptote/drawgsave.h
+2021/12/28 | 3024 | graphics/asymptote/drawimage.h
+2021/12/28 | 6787 | graphics/asymptote/drawlabel.cc
+2021/12/28 | 2134 | graphics/asymptote/drawlabel.h
+2021/12/28 | 1096 | graphics/asymptote/drawlayer.h
+2021/12/28 | 5566 | graphics/asymptote/drawpath3.cc
+2021/12/28 | 5823 | graphics/asymptote/drawpath3.h
+2021/12/28 | 3465 | graphics/asymptote/drawpath.cc
+2021/12/28 | 669 | graphics/asymptote/drawpath.h
+2021/12/28 | 25094 | graphics/asymptote/drawsurface.cc
+2021/12/28 | 23679 | graphics/asymptote/drawsurface.h
+2021/12/28 | 1266 | graphics/asymptote/drawverbatim.h
+2021/12/28 | 17987 | graphics/asymptote/entry.cc
+2021/12/28 | 13615 | graphics/asymptote/entry.h
+2021/12/28 | 5441 | graphics/asymptote/env.cc
+2021/12/28 | 1142 | graphics/asymptote/envcompleter.cc
+2021/12/28 | 845 | graphics/asymptote/envcompleter.h
+2021/12/28 | 4570 | graphics/asymptote/env.h
+2021/12/28 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
+2021/12/28 | 2279 | graphics/asymptote/errormsg.cc
+2021/12/28 | 5621 | graphics/asymptote/errormsg.h
+2021/12/28 | 9251 | graphics/asymptote/errors
+2021/12/28 | 6911 | graphics/asymptote/errortest.asy
+2021/12/28 | 43335 | graphics/asymptote/examples/100d.pdb1
+2021/12/28 | 657 | graphics/asymptote/examples/100d.views
+2021/12/28 | 163 | graphics/asymptote/examples/1overx.asy
+2021/12/28 | 4158 | graphics/asymptote/examples/advection.asy
+2021/12/28 | 245 | graphics/asymptote/examples/alignbox.asy
+2021/12/28 | 2830 | graphics/asymptote/examples/alignedaxis.asy
+2021/12/28 | 946 | graphics/asymptote/examples/animations/cube.asy
+2021/12/28 | 160672 | graphics/asymptote/examples/animations/dice.u3d
+2021/12/28 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
+2021/12/28 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
+2021/12/28 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
+2021/12/28 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
+2021/12/28 | 414 | graphics/asymptote/examples/animations/glmovie.asy
+2021/12/28 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
+2021/12/28 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
+2021/12/28 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
+2021/12/28 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
+2021/12/28 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
+2021/12/28 | 856 | graphics/asymptote/examples/animations/sphere.asy
+2021/12/28 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
+2021/12/28 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
+2021/12/28 | 1120 | graphics/asymptote/examples/animations/wheel.asy
+2021/12/28 | 236 | graphics/asymptote/examples/annotation.asy
+2021/12/28 | 1240 | graphics/asymptote/examples/arrows3.asy
+2021/12/28 | 61 | graphics/asymptote/examples/axialshade.asy
+2021/12/28 | 496 | graphics/asymptote/examples/bars3.asy
+2021/12/28 | 1033 | graphics/asymptote/examples/basealign.asy
+2021/12/28 | 407 | graphics/asymptote/examples/BezierPatch.asy
+2021/12/28 | 581 | graphics/asymptote/examples/BezierSaddle.asy
+2021/12/28 | 1548 | graphics/asymptote/examples/BezierSurface.asy
+2021/12/28 | 199 | graphics/asymptote/examples/BezierTriangle.asy
+2021/12/28 | 154 | graphics/asymptote/examples/billboard.asy
+2021/12/28 | 513 | graphics/asymptote/examples/buildcycle.asy
+2021/12/28 | 233 | graphics/asymptote/examples/cardioid.asy
+2021/12/28 | 485 | graphics/asymptote/examples/cards.asy
+2021/12/28 | 688 | graphics/asymptote/examples/centroidfg.asy
+2021/12/28 | 322 | graphics/asymptote/examples/cheese.asy
+2021/12/28 | 576 | graphics/asymptote/examples/circles.asy
+2021/12/28 | 228 | graphics/asymptote/examples/circumcircle.asy
+2021/12/28 | 762 | graphics/asymptote/examples/clockarray.asy
+2021/12/28 | 264 | graphics/asymptote/examples/coag.asy
+2021/12/28 | 436 | graphics/asymptote/examples/colorpatch.asy
+2021/12/28 | 472 | graphics/asymptote/examples/colorplanes.asy
+2021/12/28 | 739 | graphics/asymptote/examples/condor.asy
+2021/12/28 | 495 | graphics/asymptote/examples/cones.asy
+2021/12/28 | 1778 | graphics/asymptote/examples/conicurv.asy
+2021/12/28 | 254 | graphics/asymptote/examples/contextfonts.asy
+2021/12/28 | 802 | graphics/asymptote/examples/controlsystem.asy
+2021/12/28 | 123 | graphics/asymptote/examples/Coons.asy
+2021/12/28 | 235 | graphics/asymptote/examples/cos2theta.asy
+2021/12/28 | 582 | graphics/asymptote/examples/cos3.asy
+2021/12/28 | 460 | graphics/asymptote/examples/cosaddition.asy
+2021/12/28 | 5537 | graphics/asymptote/examples/cpkcolors.asy
+2021/12/28 | 572 | graphics/asymptote/examples/curvedlabel3.asy
+2021/12/28 | 177 | graphics/asymptote/examples/curvedlabel.asy
+2021/12/28 | 1835 | graphics/asymptote/examples/cyclohexane.asy
+2021/12/28 | 352 | graphics/asymptote/examples/cylinder.asy
+2021/12/28 | 506 | graphics/asymptote/examples/delu.asy
+2021/12/28 | 509 | graphics/asymptote/examples/dimension.asy
+2021/12/28 | 1216 | graphics/asymptote/examples/dragon.asy
+2021/12/28 | 1298 | graphics/asymptote/examples/electromagnetic.asy
+2021/12/28 | 325 | graphics/asymptote/examples/elevation.asy
+2021/12/28 | 398 | graphics/asymptote/examples/epix.asy
+2021/12/28 | 242 | graphics/asymptote/examples/equilateral.asy
+2021/12/28 | 548 | graphics/asymptote/examples/equilchord.asy
+2021/12/28 | 579 | graphics/asymptote/examples/exp3.asy
+2021/12/28 | 519 | graphics/asymptote/examples/extrudedcontour.asy
+2021/12/28 | 498 | graphics/asymptote/examples/fano.asy
+2021/12/28 | 973 | graphics/asymptote/examples/fequlogo.asy
+2021/12/28 | 727 | graphics/asymptote/examples/fermi.asy
+2021/12/28 | 980 | graphics/asymptote/examples/filesurface.asy
+2021/12/28 | 5543 | graphics/asymptote/examples/filesurface.dat
+2021/12/28 | 570 | graphics/asymptote/examples/fillcontour.asy
+2021/12/28 | 4244 | graphics/asymptote/examples/fin.asy
+2021/12/28 | 710 | graphics/asymptote/examples/fjortoft.asy
+2021/12/28 | 558 | graphics/asymptote/examples/floatingdisk.asy
+2021/12/28 | 500 | graphics/asymptote/examples/floor.asy
+2021/12/28 | 683 | graphics/asymptote/examples/fractaltree.asy
+2021/12/28 | 1185 | graphics/asymptote/examples/functionshading.asy
+2021/12/28 | 499 | graphics/asymptote/examples/galleon.asy
+2021/12/28 | 713 | graphics/asymptote/examples/gamma3.asy
+2021/12/28 | 439 | graphics/asymptote/examples/gamma.asy
+2021/12/28 | 679 | graphics/asymptote/examples/genusthree.asy
+2021/12/28 | 1164 | graphics/asymptote/examples/genustwo.asy
+2021/12/28 | 383 | graphics/asymptote/examples/Gouraud.asy
+2021/12/28 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
+2021/12/28 | 76 | graphics/asymptote/examples/grid.asy
+2021/12/28 | 459 | graphics/asymptote/examples/hierarchy.asy
+2021/12/28 | 315 | graphics/asymptote/examples/hyperboloid.asy
+2021/12/28 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
+2021/12/28 | 1111 | graphics/asymptote/examples/imagehistogram.asy
+2021/12/28 | 610 | graphics/asymptote/examples/impact.asy
+2021/12/28 | 598 | graphics/asymptote/examples/integraltest.asy
+2021/12/28 | 4808 | graphics/asymptote/examples/interpolate1.asy
+2021/12/28 | 289 | graphics/asymptote/examples/jump.asy
+2021/12/28 | 1352 | graphics/asymptote/examples/Klein.asy
+2021/12/28 | 182 | graphics/asymptote/examples/label3.asy
+2021/12/28 | 196 | graphics/asymptote/examples/label3ribbon.asy
+2021/12/28 | 187 | graphics/asymptote/examples/label3solid.asy
+2021/12/28 | 632 | graphics/asymptote/examples/label3zoom.asy
+2021/12/28 | 264 | graphics/asymptote/examples/labelbox.asy
+2021/12/28 | 1114 | graphics/asymptote/examples/laserlattice.asy
+2021/12/28 | 136 | graphics/asymptote/examples/latticeshading.asy
+2021/12/28 | 690 | graphics/asymptote/examples/layers.asy
+2021/12/28 | 460 | graphics/asymptote/examples/lever.asy
+2021/12/28 | 654 | graphics/asymptote/examples/limit.asy
+2021/12/28 | 1910 | graphics/asymptote/examples/linearregression.asy
+2021/12/28 | 168 | graphics/asymptote/examples/lines.asy
+2021/12/28 | 1040 | graphics/asymptote/examples/lmfit1.asy
+2021/12/28 | 206 | graphics/asymptote/examples/log.asy
+2021/12/28 | 349 | graphics/asymptote/examples/logdown.asy
+2021/12/28 | 1461 | graphics/asymptote/examples/logo3.asy
+2021/12/28 | 196 | graphics/asymptote/examples/lowint.asy
+2021/12/28 | 657 | graphics/asymptote/examples/lowupint.asy
+2021/12/28 | 479 | graphics/asymptote/examples/magnetic.asy
+2021/12/28 | 879 | graphics/asymptote/examples/markregular.asy
+2021/12/28 | 1968 | graphics/asymptote/examples/mergeExample.asy
+2021/12/28 | 5216 | graphics/asymptote/examples/mosaic.asy
+2021/12/28 | 2504 | graphics/asymptote/examples/mosquito.asy
+2021/12/28 | 1566 | graphics/asymptote/examples/near_earth.asy
+2021/12/28 | 658 | graphics/asymptote/examples/NURBScurve.asy
+2021/12/28 | 1042 | graphics/asymptote/examples/NURBSsphere.asy
+2021/12/28 | 1552 | graphics/asymptote/examples/NURBSsurface.asy
+2021/12/28 | 1251 | graphics/asymptote/examples/odetest.asy
+2021/12/28 | 308 | graphics/asymptote/examples/oneoverx.asy
+2021/12/28 | 810 | graphics/asymptote/examples/orthocenter.asy
+2021/12/28 | 254 | graphics/asymptote/examples/parametricelevation.asy
+2021/12/28 | 407 | graphics/asymptote/examples/parametricsurface.asy
+2021/12/28 | 711 | graphics/asymptote/examples/partialsurface.asy
+2021/12/28 | 1055 | graphics/asymptote/examples/partitionExample.asy
+2021/12/28 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
+2021/12/28 | 3335 | graphics/asymptote/examples/pdb.asy
+2021/12/28 | 361 | graphics/asymptote/examples/phase.asy
+2021/12/28 | 22873 | graphics/asymptote/examples/piicon.png
+2021/12/28 | 362 | graphics/asymptote/examples/pipeintersection.asy
+2021/12/28 | 3857 | graphics/asymptote/examples/pipes.asy
+2021/12/28 | 418 | graphics/asymptote/examples/planeproject.asy
+2021/12/28 | 930 | graphics/asymptote/examples/polararea.asy
+2021/12/28 | 628 | graphics/asymptote/examples/polarcircle.asy
+2021/12/28 | 326 | graphics/asymptote/examples/polardatagraph.asy
+2021/12/28 | 641 | graphics/asymptote/examples/pOrbital.asy
+2021/12/28 | 954 | graphics/asymptote/examples/poster.asy
+2021/12/28 | 58 | graphics/asymptote/examples/progrid.asy
+2021/12/28 | 373 | graphics/asymptote/examples/projectelevation.asy
+2021/12/28 | 427 | graphics/asymptote/examples/projectrevolution.asy
+2021/12/28 | 747 | graphics/asymptote/examples/pseudosphere.asy
+2021/12/28 | 557 | graphics/asymptote/examples/Pythagoras.asy
+2021/12/28 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
+2021/12/28 | 734 | graphics/asymptote/examples/quilt.asy
+2021/12/28 | 345 | graphics/asymptote/examples/rainbow.asy
+2021/12/28 | 78 | graphics/asymptote/examples/randompath3.asy
+2021/12/28 | 1537 | graphics/asymptote/examples/refs.bib
+2021/12/28 | 990 | graphics/asymptote/examples/RiemannSphere.asy
+2021/12/28 | 348 | graphics/asymptote/examples/RiemannSurface.asy
+2021/12/28 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
+2021/12/28 | 141 | graphics/asymptote/examples/ring.asy
+2021/12/28 | 184 | graphics/asymptote/examples/roll.asy
+2021/12/28 | 1309 | graphics/asymptote/examples/roundpath.asy
+2021/12/28 | 288 | graphics/asymptote/examples/sacone3D.asy
+2021/12/28 | 445 | graphics/asymptote/examples/sacone.asy
+2021/12/28 | 341 | graphics/asymptote/examples/sacylinder3D.asy
+2021/12/28 | 400 | graphics/asymptote/examples/sacylinder.asy
+2021/12/28 | 66 | graphics/asymptote/examples/shade.asy
+2021/12/28 | 111 | graphics/asymptote/examples/shadestroke.asy
+2021/12/28 | 1065 | graphics/asymptote/examples/shellmethod.asy
+2021/12/28 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
+2021/12/28 | 410 | graphics/asymptote/examples/Sierpinski.asy
+2021/12/28 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
+2021/12/28 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
+2021/12/28 | 327 | graphics/asymptote/examples/sin1x.asy
+2021/12/28 | 579 | graphics/asymptote/examples/sin3.asy
+2021/12/28 | 591 | graphics/asymptote/examples/sinc.asy
+2021/12/28 | 378 | graphics/asymptote/examples/sinxlex.asy
+2021/12/28 | 3358 | graphics/asymptote/examples/slidedemo.asy
+2021/12/28 | 341 | graphics/asymptote/examples/slidedemo_.bbl
+2021/12/28 | 2023 | graphics/asymptote/examples/slope.asy
+2021/12/28 | 520 | graphics/asymptote/examples/smoothelevation.asy
+2021/12/28 | 2680 | graphics/asymptote/examples/soccerball.asy
+2021/12/28 | 2362 | graphics/asymptote/examples/spectrum.asy
+2021/12/28 | 141 | graphics/asymptote/examples/sphere.asy
+2021/12/28 | 150 | graphics/asymptote/examples/spheresilhouette.asy
+2021/12/28 | 162 | graphics/asymptote/examples/sphereskeleton.asy
+2021/12/28 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
+2021/12/28 | 424 | graphics/asymptote/examples/spiral3.asy
+2021/12/28 | 210 | graphics/asymptote/examples/spiral.asy
+2021/12/28 | 608 | graphics/asymptote/examples/spline.asy
+2021/12/28 | 2191 | graphics/asymptote/examples/splitpatch.asy
+2021/12/28 | 38 | graphics/asymptote/examples/spring0.asy
+2021/12/28 | 43 | graphics/asymptote/examples/spring2.asy
+2021/12/28 | 667 | graphics/asymptote/examples/spring.asy
+2021/12/28 | 674 | graphics/asymptote/examples/sqrtx01.asy
+2021/12/28 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
+2021/12/28 | 145 | graphics/asymptote/examples/star.asy
+2021/12/28 | 162 | graphics/asymptote/examples/stereoscopic.asy
+2021/12/28 | 59 | graphics/asymptote/examples/stroke3.asy
+2021/12/28 | 300 | graphics/asymptote/examples/strokepath.asy
+2021/12/28 | 175 | graphics/asymptote/examples/strokeshade.asy
+2021/12/28 | 198 | graphics/asymptote/examples/tanh.asy
+2021/12/28 | 14378 | graphics/asymptote/examples/teapot.asy
+2021/12/28 | 34 | graphics/asymptote/examples/teapotIBL.asy
+2021/12/28 | 303 | graphics/asymptote/examples/tensor.asy
+2021/12/28 | 547 | graphics/asymptote/examples/tetra.asy
+2021/12/28 | 312 | graphics/asymptote/examples/textpath.asy
+2021/12/28 | 8429 | graphics/asymptote/examples/thermodynamics.asy
+2021/12/28 | 576 | graphics/asymptote/examples/threeviews.asy
+2021/12/28 | 104 | graphics/asymptote/examples/tiling.asy
+2021/12/28 | 419 | graphics/asymptote/examples/torus.asy
+2021/12/28 | 188 | graphics/asymptote/examples/transparency.asy
+2021/12/28 | 250 | graphics/asymptote/examples/transparentCubes.asy
+2021/12/28 | 602 | graphics/asymptote/examples/treetest.asy
+2021/12/28 | 589 | graphics/asymptote/examples/trefoilknot.asy
+2021/12/28 | 972 | graphics/asymptote/examples/triads.asy
+2021/12/28 | 207 | graphics/asymptote/examples/triangle.asy
+2021/12/28 | 441 | graphics/asymptote/examples/triangles.asy
+2021/12/28 | 251 | graphics/asymptote/examples/triceratops.asy
+2021/12/28 | 291 | graphics/asymptote/examples/trumpet.asy
+2021/12/28 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
+2021/12/28 | 40665 | graphics/asymptote/examples/tvgen.asy
+2021/12/28 | 868 | graphics/asymptote/examples/twistedtubes.asy
+2021/12/28 | 26096 | graphics/asymptote/examples/uhrturm.obj
+2021/12/28 | 322 | graphics/asymptote/examples/unitcircle.asy
+2021/12/28 | 430 | graphics/asymptote/examples/unitoctant.asy
+2021/12/28 | 714 | graphics/asymptote/examples/unitoctantx.asy
+2021/12/28 | 199 | graphics/asymptote/examples/upint.asy
+2021/12/28 | 525 | graphics/asymptote/examples/vectorfield3.asy
+2021/12/28 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
+2021/12/28 | 839 | graphics/asymptote/examples/venn3.asy
+2021/12/28 | 626 | graphics/asymptote/examples/venn.asy
+2021/12/28 | 802 | graphics/asymptote/examples/vertexshading.asy
+2021/12/28 | 360 | graphics/asymptote/examples/washer.asy
+2021/12/28 | 1010 | graphics/asymptote/examples/washermethod.asy
+2021/12/28 | 628 | graphics/asymptote/examples/wedge.asy
+2021/12/28 | 1030 | graphics/asymptote/examples/workcone.asy
+2021/12/28 | 978 | graphics/asymptote/examples/worksheet.asy
+2021/12/28 | 2626 | graphics/asymptote/examples/worldmap.asy
+2021/12/28 | 1261761 | graphics/asymptote/examples/worldmap.dat
+2021/12/28 | 580 | graphics/asymptote/examples/xsin1x.asy
+2021/12/28 | 3739 | graphics/asymptote/examples/xstitch.asy
+2021/12/28 | 743 | graphics/asymptote/examples/xxsq01.asy
+2021/12/28 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
+2021/12/28 | 825 | graphics/asymptote/examples/xxsq01y.asy
+2021/12/28 | 222 | graphics/asymptote/examples/yingyang.asy
+2021/12/28 | 37783 | graphics/asymptote/exp.cc
+2021/12/28 | 30307 | graphics/asymptote/exp.h
+2021/12/28 | 1188 | graphics/asymptote/EXRFiles.cc
+2021/12/28 | 454 | graphics/asymptote/EXRFiles.h
+2021/12/28 | 178 | graphics/asymptote/fftw++asy.cc
+2021/12/28 | 1694 | graphics/asymptote/fftw++.cc
+2021/12/28 | 45411 | graphics/asymptote/fftw++.h
+2021/12/28 | 4866 | graphics/asymptote/fileio.cc
+2021/12/28 | 21382 | graphics/asymptote/fileio.h
+2021/12/28 | 1245 | graphics/asymptote/findsym.pl
+2021/12/28 | 1020 | graphics/asymptote/flatguide.cc
+2021/12/28 | 4209 | graphics/asymptote/flatguide.h
+2021/12/28 | 654 | graphics/asymptote/fpu.h
+2021/12/28 | 2164 | graphics/asymptote/frame.h
+2021/12/28 | 9772 | graphics/asymptote/fundec.cc
+2021/12/28 | 4895 | graphics/asymptote/fundec.h
+2021/12/28 | 1183225 | graphics/asymptote/gc-8.2.0.tar.gz
+2021/12/28 | 6275 | graphics/asymptote/generate_enums.py
+2021/12/28 | 3153 | graphics/asymptote/genv.cc
+2021/12/28 | 1626 | graphics/asymptote/genv.h
+2021/12/28 | 4520 | graphics/asymptote/getopt1.c
+2021/12/28 | 30147 | graphics/asymptote/getopt.c
+2021/12/28 | 6650 | graphics/asymptote/getopt.h
+2021/12/28 | 202 | graphics/asymptote/glew.c
+2021/12/28 | 1235777 | graphics/asymptote/GL/glew.c
+2021/12/28 | 1186601 | graphics/asymptote/GL/glew.h
+2021/12/28 | 73435 | graphics/asymptote/GL/glxew.h
+2021/12/28 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
+2021/12/28 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
+2021/12/28 | 57688 | graphics/asymptote/glrender.cc
+2021/12/28 | 9362 | graphics/asymptote/glrender.h
+2021/12/28 | 818 | graphics/asymptote/GLTextures.cc
+2021/12/28 | 3608 | graphics/asymptote/GLTextures.h
+2021/12/28 | 63314 | graphics/asymptote/GL/wglew.h
+2021/12/28 | 50437 | graphics/asymptote/gsl.cc
+2021/12/28 | 22 | graphics/asymptote/GUI/configs/__init__.py
+2021/12/28 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
+2021/12/28 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
+2021/12/28 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
+2021/12/28 | 100 | graphics/asymptote/GUI/DebugFlags.py
+2021/12/28 | 1149 | graphics/asymptote/guide.cc
+2021/12/28 | 294 | graphics/asymptote/guideflags.h
+2021/12/28 | 6725 | graphics/asymptote/guide.h
+2021/12/28 | 1751 | graphics/asymptote/GUI/GuidesManager.py
+2021/12/28 | 23 | graphics/asymptote/GUI/__init__.py
+2021/12/28 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
+2021/12/28 | 5272 | graphics/asymptote/GUI/labelEditor.py
+2021/12/28 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
+2021/12/28 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
+2021/12/28 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
+2021/12/28 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
+2021/12/28 | 2918 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
+2021/12/28 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
+2021/12/28 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
+2021/12/28 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
+2021/12/28 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
+2021/12/28 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
+2021/12/28 | 57 | graphics/asymptote/GUI/requirements.txt
+2021/12/28 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
+2021/12/28 | 637 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
+2021/12/28 | 637 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
+2021/12/28 | 802 | graphics/asymptote/GUI/res/icons/android-camera.svg
+2021/12/28 | 695 | graphics/asymptote/GUI/res/icons/android-close.svg
+2021/12/28 | 1319 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
+2021/12/28 | 674 | graphics/asymptote/GUI/res/icons/android-delete.svg
+2021/12/28 | 633 | graphics/asymptote/GUI/res/icons/android-done.svg
+2021/12/28 | 822 | graphics/asymptote/GUI/res/icons/android-expand.svg
+2021/12/28 | 850 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
+2021/12/28 | 1482 | graphics/asymptote/GUI/res/icons/android-hand.svg
+2021/12/28 | 1124 | graphics/asymptote/GUI/res/icons/android-locate.svg
+2021/12/28 | 764 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
+2021/12/28 | 844 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
+2021/12/28 | 806 | graphics/asymptote/GUI/res/icons/android-refresh.svg
+2021/12/28 | 713 | graphics/asymptote/GUI/res/icons/arrow-move.svg
+2021/12/28 | 639 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
+2021/12/28 | 999 | graphics/asymptote/GUI/res/icons/brush.svg
+2021/12/28 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
+2021/12/28 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
+2021/12/28 | 111 | graphics/asymptote/GUI/res/icons/center.asy
+2021/12/28 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
+2021/12/28 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
+2021/12/28 | 858 | graphics/asymptote/GUI/res/icons/center.svg
+2021/12/28 | 780 | graphics/asymptote/GUI/res/icons/check.svg
+2021/12/28 | 1013 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
+2021/12/28 | 998 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
+2021/12/28 | 754 | graphics/asymptote/GUI/res/icons/circle.svg
+2021/12/28 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
+2021/12/28 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
+2021/12/28 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
+2021/12/28 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
+2021/12/28 | 838 | graphics/asymptote/GUI/res/icons/close-round.svg
+2021/12/28 | 1194 | graphics/asymptote/GUI/res/icons/code.svg
+2021/12/28 | 876 | graphics/asymptote/GUI/res/icons/edit.svg
+2021/12/28 | 1003 | graphics/asymptote/GUI/res/icons/eye.svg
+2021/12/28 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
+2021/12/28 | 1764 | graphics/asymptote/GUI/res/icons/grid.svg
+2021/12/28 | 964 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
+2021/12/28 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
+2021/12/28 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
+2021/12/28 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
+2021/12/28 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
+2021/12/28 | 759 | graphics/asymptote/GUI/res/icons/plus-round.svg
+2021/12/28 | 1808 | graphics/asymptote/GUI/res/icons.qrc
+2021/12/28 | 1130 | graphics/asymptote/GUI/res/icons/redo.svg
+2021/12/28 | 673 | graphics/asymptote/GUI/res/icons/save.svg
+2021/12/28 | 1920 | graphics/asymptote/GUI/res/icons/social-python.svg
+2021/12/28 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
+2021/12/28 | 284 | graphics/asymptote/GUI/res/icons/text.svg
+2021/12/28 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
+2021/12/28 | 1087 | graphics/asymptote/GUI/res/icons/undo.svg
+2021/12/28 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
+2021/12/28 | 393 | graphics/asymptote/GUI/setup.py
+2021/12/28 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
+2021/12/28 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
+2021/12/28 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
+2021/12/28 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
+2021/12/28 | 94848 | graphics/asymptote/GUI/Window1.py
+2021/12/28 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
+2021/12/28 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
+2021/12/28 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
+2021/12/28 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
+2021/12/28 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
+2021/12/28 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
+2021/12/28 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
+2021/12/28 | 79003 | graphics/asymptote/GUI/windows/window1.ui
+2021/12/28 | 60074 | graphics/asymptote/GUI/xasy2asy.py
+2021/12/28 | 1183 | graphics/asymptote/GUI/xasyArgs.py
+2021/12/28 | 14082 | graphics/asymptote/GUI/xasyBezierInterface.py
+2021/12/28 | 4084 | graphics/asymptote/GUI/xasyFile.py
+2021/12/28 | 6717 | graphics/asymptote/GUI/xasyOptions.py
+2021/12/28 | 611 | graphics/asymptote/GUI/xasy.py
+2021/12/28 | 586 | graphics/asymptote/GUI/xasyStrings.py
+2021/12/28 | 733 | graphics/asymptote/GUI/xasySvg.py
+2021/12/28 | 1015 | graphics/asymptote/GUI/xasyTransform.py
+2021/12/28 | 1542 | graphics/asymptote/GUI/xasyUtils.py
+2021/12/28 | 238 | graphics/asymptote/GUI/xasyValidator.py
+2021/12/28 | 12823 | graphics/asymptote/impdatum.cc
+2021/12/28 | 127 | graphics/asymptote/index.html
+2021/12/28 | 10445 | graphics/asymptote/INSTALL
+2021/12/28 | 15645 | graphics/asymptote/install-sh
+2021/12/28 | 1982 | graphics/asymptote/inst.h
+2021/12/28 | 5586 | graphics/asymptote/interact.cc
+2021/12/28 | 1345 | graphics/asymptote/interact.h
+2021/12/28 | 5733 | graphics/asymptote/item.h
+2021/12/28 | 11846 | graphics/asymptote/jsfile.cc
+2021/12/28 | 3065 | graphics/asymptote/jsfile.h
+2021/12/28 | 609 | graphics/asymptote/keywords.cc
+2021/12/28 | 1253 | graphics/asymptote/keywords.pl
+2021/12/28 | 22345 | graphics/asymptote/knot.cc
+2021/12/28 | 12259 | graphics/asymptote/knot.h
+2021/12/28 | 342 | graphics/asymptote/lexical.h
+2021/12/28 | 83449 | graphics/asymptote/lex.yy.cc
+2021/12/28 | 35147 | graphics/asymptote/LICENSE
+2021/12/28 | 7639 | graphics/asymptote/LICENSE.LESSER
+2021/12/28 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
+2021/12/28 | 2194 | graphics/asymptote/locate.cc
+2021/12/28 | 631 | graphics/asymptote/locate.h
+2021/12/28 | 4973 | graphics/asymptote/LspCpp/example/StdIOClientExample.cpp
+2021/12/28 | 3669 | graphics/asymptote/LspCpp/example/StdIOServerExample.cpp
+2021/12/28 | 4837 | graphics/asymptote/LspCpp/example/TcpServerExample.cpp
+2021/12/28 | 8095 | graphics/asymptote/LspCpp/example/WebsocketExample.cpp
+2021/12/28 | 460 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Cancellation.h
+2021/12/28 | 867 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Condition.h
+2021/12/28 | 949 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Context.cpp
+2021/12/28 | 7671 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Context.h
+2021/12/28 | 1171 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Endpoint.cpp
+2021/12/28 | 1665 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Endpoint.h
+2021/12/28 | 262 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/GCThreadContext.cpp
+2021/12/28 | 217 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/GCThreadContext.h
+2021/12/28 | 2845 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/json.h
+2021/12/28 | 1159 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/lsRequestId.h
+2021/12/28 | 1600 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/lsResponseMessage.h
+2021/12/28 | 2054 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/message.cpp
+2021/12/28 | 628 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/message.h
+2021/12/28 | 4580 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageIssue.h
+2021/12/28 | 1175 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageJsonHandler.cpp
+2021/12/28 | 2122 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageJsonHandler.h
+2021/12/28 | 241 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageProducer.h
+2021/12/28 | 1475 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/NotificationInMessage.h
+2021/12/28 | 54109 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/optional.hpp
+2021/12/28 | 16878 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RemoteEndPoint.cpp
+2021/12/28 | 10070 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RemoteEndPoint.h
+2021/12/28 | 1774 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RequestInMessage.h
+2021/12/28 | 1765 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/ScopeExit.h
+2021/12/28 | 4792 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/serializer.cpp
+2021/12/28 | 10581 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/serializer.h
+2021/12/28 | 2930 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/stream.h
+2021/12/28 | 4366 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/StreamMessageProducer.cpp
+2021/12/28 | 1000 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/StreamMessageProducer.h
+2021/12/28 | 8990 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/TcpServer.cpp
+2021/12/28 | 1183 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/TcpServer.h
+2021/12/28 | 450 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/threaded_queue.cpp
+2021/12/28 | 6386 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/threaded_queue.h
+2021/12/28 | 6369 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/traits.h
+2021/12/28 | 10221 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/WebSocketServer.cpp
+2021/12/28 | 2424 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/WebSocketServer.h
+2021/12/28 | 706 | graphics/asymptote/LspCpp/LibLsp/lsp/AbsolutePath.h
+2021/12/28 | 8521 | graphics/asymptote/LspCpp/LibLsp/lsp/ClientPreferences.h
+2021/12/28 | 1567 | graphics/asymptote/LspCpp/LibLsp/lsp/client/registerCapability.h
+2021/12/28 | 1019 | graphics/asymptote/LspCpp/LibLsp/lsp/client/unregisterCapability.h
+2021/12/28 | 2636 | graphics/asymptote/LspCpp/LibLsp/lsp/CodeActionParams.h
+2021/12/28 | 236 | graphics/asymptote/LspCpp/LibLsp/lsp/Directory.h
+2021/12/28 | 587 | graphics/asymptote/LspCpp/LibLsp/lsp/ExecuteCommandParams.h
+2021/12/28 | 625 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
+2021/12/28 | 382 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/buildWorkspace.h
+2021/12/28 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
+2021/12/28 | 827 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
+2021/12/28 | 1002 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
+2021/12/28 | 631 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
+2021/12/28 | 294 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/classFileContents.h
+2021/12/28 | 1109 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/codeActionResult.h
+2021/12/28 | 901 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/executeCommand.h
+2021/12/28 | 579 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/findLinks.h
+2021/12/28 | 565 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateAccessors.h
+2021/12/28 | 617 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateConstructors.h
+2021/12/28 | 828 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
+2021/12/28 | 738 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
+2021/12/28 | 514 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateToString.h
+2021/12/28 | 1673 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
+2021/12/28 | 2104 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
+2021/12/28 | 325 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
+2021/12/28 | 320 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/Move.h
+2021/12/28 | 301 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/organizeImports.h
+2021/12/28 | 907 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/OverridableMethod.h
+2021/12/28 | 309 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
+2021/12/28 | 748 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
+2021/12/28 | 722 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/searchSymbols.h
+2021/12/28 | 229 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
+2021/12/28 | 5734 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/protocol.h
+2021/12/28 | 632 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/SCTConfig.h
+2021/12/28 | 16226 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/sct.cpp
+2021/12/28 | 1918 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/sct.h
+2021/12/28 | 4688 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sonarlint/protocol.h
+2021/12/28 | 203 | graphics/asymptote/LspCpp/LibLsp/lsp/general/exit.h
+2021/12/28 | 1055 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialize.cpp
+2021/12/28 | 482 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialized.h
+2021/12/28 | 1380 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialize.h
+2021/12/28 | 3418 | graphics/asymptote/LspCpp/LibLsp/lsp/general/InitializeParams.h
+2021/12/28 | 1150 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsClientCapabilities.h
+2021/12/28 | 18994 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsServerCapabilities.h
+2021/12/28 | 22502 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
+2021/12/28 | 6889 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
+2021/12/28 | 693 | graphics/asymptote/LspCpp/LibLsp/lsp/general/progress.h
+2021/12/28 | 487 | graphics/asymptote/LspCpp/LibLsp/lsp/general/shutdown.h
+2021/12/28 | 4578 | graphics/asymptote/LspCpp/LibLsp/lsp/IProgressMonitor.h
+2021/12/28 | 2974 | graphics/asymptote/LspCpp/LibLsp/lsp/language/language.h
+2021/12/28 | 1808 | graphics/asymptote/LspCpp/LibLsp/lsp/location_type.h
+2021/12/28 | 4118 | graphics/asymptote/LspCpp/LibLsp/lsp/lru_cache.h
+2021/12/28 | 3294 | graphics/asymptote/LspCpp/LibLsp/lsp/lsAny.h
+2021/12/28 | 1213 | graphics/asymptote/LspCpp/LibLsp/lsp/lsCodeAction.h
+2021/12/28 | 1328 | graphics/asymptote/LspCpp/LibLsp/lsp/lsCommand.h
+2021/12/28 | 778 | graphics/asymptote/LspCpp/LibLsp/lsp/lsDocumentUri.h
+2021/12/28 | 1192 | graphics/asymptote/LspCpp/LibLsp/lsp/lsFormattingOptions.h
+2021/12/28 | 1105 | graphics/asymptote/LspCpp/LibLsp/lsp/lsMarkedString.h
+2021/12/28 | 1411 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_code_action.h
+2021/12/28 | 7152 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_completion.h
+2021/12/28 | 23274 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp.cpp
+2021/12/28 | 1661 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_diagnostic.cpp
+2021/12/28 | 3834 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_diagnostic.h
+2021/12/28 | 1143 | graphics/asymptote/LspCpp/LibLsp/lsp/lsPosition.h
+2021/12/28 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/lsRange.h
+2021/12/28 | 3004 | graphics/asymptote/LspCpp/LibLsp/lsp/lsResponseError.h
+2021/12/28 | 688 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentEdit.h
+2021/12/28 | 424 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentIdentifier.h
+2021/12/28 | 676 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentItem.h
+2021/12/28 | 667 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentPositionParams.h
+2021/12/28 | 2514 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextEdit.h
+2021/12/28 | 1154 | graphics/asymptote/LspCpp/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
+2021/12/28 | 2482 | graphics/asymptote/LspCpp/LibLsp/lsp/lsWorkspaceEdit.h
+2021/12/28 | 33677 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/Markup.cpp
+2021/12/28 | 3917 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/Markup.h
+2021/12/28 | 27528 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/string_ref.h
+2021/12/28 | 74 | graphics/asymptote/LspCpp/LibLsp/lsp/method_type.h
+2021/12/28 | 588 | graphics/asymptote/LspCpp/LibLsp/lsp/out_list.h
+2021/12/28 | 2880 | graphics/asymptote/LspCpp/LibLsp/lsp/ParentProcessWatcher.cpp
+2021/12/28 | 348 | graphics/asymptote/LspCpp/LibLsp/lsp/ParentProcessWatcher.h
+2021/12/28 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/ProcessIoService.h
+2021/12/28 | 23205 | graphics/asymptote/LspCpp/LibLsp/lsp/ProtocolJsonHandler.cpp
+2021/12/28 | 176 | graphics/asymptote/LspCpp/LibLsp/lsp/ProtocolJsonHandler.h
+2021/12/28 | 2675 | graphics/asymptote/LspCpp/LibLsp/lsp/ResourceOperation.h
+2021/12/28 | 1185 | graphics/asymptote/LspCpp/LibLsp/lsp/SimpleTimer.h
+2021/12/28 | 4265 | graphics/asymptote/LspCpp/LibLsp/lsp/symbol.h
+2021/12/28 | 3731 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/callHierarchy.h
+2021/12/28 | 2668 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/code_action.h
+2021/12/28 | 1129 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/code_lens.h
+2021/12/28 | 1615 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/colorPresentation.h
+2021/12/28 | 2524 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/completion.h
+2021/12/28 | 934 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/declaration_definition.h
+2021/12/28 | 1493 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_change.h
+2021/12/28 | 768 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_close.h
+2021/12/28 | 937 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_open.h
+2021/12/28 | 1056 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/didRenameFiles.h
+2021/12/28 | 808 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_save.h
+2021/12/28 | 1831 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/documentColor.h
+2021/12/28 | 1244 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/document_link.h
+2021/12/28 | 1814 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/document_symbol.h
+2021/12/28 | 1665 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/foldingRange.h
+2021/12/28 | 792 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/formatting.h
+2021/12/28 | 566 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/highlight.h
+2021/12/28 | 1617 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/hover.h
+2021/12/28 | 488 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/implementation.h
+2021/12/28 | 1267 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/linkedEditingRange.h
+2021/12/28 | 1054 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/onTypeFormatting.h
+2021/12/28 | 1033 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/prepareRename.h
+2021/12/28 | 751 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/publishDiagnostics.h
+2021/12/28 | 872 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/range_formatting.h
+2021/12/28 | 1195 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/references.h
+2021/12/28 | 1098 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/rename.h
+2021/12/28 | 223 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveCodeLens.h
+2021/12/28 | 489 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveCompletionItem.h
+2021/12/28 | 789 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
+2021/12/28 | 1440 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/selectionRange.h
+2021/12/28 | 2632 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/semanticHighlighting.h
+2021/12/28 | 9945 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/SemanticTokens.h
+2021/12/28 | 3391 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/signature_help.h
+2021/12/28 | 11111 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/textDocument.cpp
+2021/12/28 | 490 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/type_definition.h
+2021/12/28 | 4199 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/typeHierarchy.h
+2021/12/28 | 1924 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/willSave.h
+2021/12/28 | 15516 | graphics/asymptote/LspCpp/LibLsp/lsp/utils.cpp
+2021/12/28 | 4899 | graphics/asymptote/LspCpp/LibLsp/lsp/utils.h
+2021/12/28 | 2257 | graphics/asymptote/LspCpp/LibLsp/lsp/windows/MessageNotify.h
+2021/12/28 | 5328 | graphics/asymptote/LspCpp/LibLsp/lsp/working_files.cpp
+2021/12/28 | 2149 | graphics/asymptote/LspCpp/LibLsp/lsp/working_files.h
+2021/12/28 | 1077 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/applyEdit.h
+2021/12/28 | 1161 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/configuration.h
+2021/12/28 | 580 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/did_change_configuration.h
+2021/12/28 | 1352 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/did_change_watched_files.h
+2021/12/28 | 1321 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
+2021/12/28 | 794 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/execute_command.h
+2021/12/28 | 428 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/symbol.h
+2021/12/28 | 953 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/workspaceFolders.h
+2021/12/28 | 1066 | graphics/asymptote/LspCpp/LICENSE
+2021/12/28 | 17860 | graphics/asymptote/LspCpp/LspCpp.filters
+2021/12/28 | 165 | graphics/asymptote/LspCpp/LspCpp.user
+2021/12/28 | 39804 | graphics/asymptote/LspCpp/LspCpp.vcxproj
+2021/12/28 | 25452 | graphics/asymptote/LspCpp/LspCpp.vcxproj.filters
+2021/12/28 | 165 | graphics/asymptote/LspCpp/LspCpp.vcxproj.user
+2021/12/28 | 30640 | graphics/asymptote/LspCpp/macro_map.h
+2021/12/28 | 1386 | graphics/asymptote/LspCpp/Makefile
+2021/12/28 | 16421 | graphics/asymptote/LspCpp/network/optional.hpp
+2021/12/28 | 7737 | graphics/asymptote/LspCpp/network/string_view.hpp
+2021/12/28 | 568 | graphics/asymptote/LspCpp/network/uri/config.hpp
+2021/12/28 | 2098 | graphics/asymptote/LspCpp/network/uri/detail/algorithm.hpp
+2021/12/28 | 1898 | graphics/asymptote/LspCpp/network/uri/detail/decode.hpp
+2021/12/28 | 4395 | graphics/asymptote/LspCpp/network/uri/detail/encode.hpp
+2021/12/28 | 3072 | graphics/asymptote/LspCpp/network/uri/detail/grammar.hpp
+2021/12/28 | 2151 | graphics/asymptote/LspCpp/network/uri/detail/translate.hpp
+2021/12/28 | 2176 | graphics/asymptote/LspCpp/network/uri/detail/uri_advance_parts.cpp
+2021/12/28 | 658 | graphics/asymptote/LspCpp/network/uri/detail/uri_advance_parts.hpp
+2021/12/28 | 2259 | graphics/asymptote/LspCpp/network/uri/detail/uri_normalize.cpp
+2021/12/28 | 594 | graphics/asymptote/LspCpp/network/uri/detail/uri_normalize.hpp
+2021/12/28 | 3052 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse_authority.cpp
+2021/12/28 | 730 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse_authority.hpp
+2021/12/28 | 10607 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse.cpp
+2021/12/28 | 552 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse.hpp
+2021/12/28 | 2073 | graphics/asymptote/LspCpp/network/uri/detail/uri_parts.hpp
+2021/12/28 | 1787 | graphics/asymptote/LspCpp/network/uri/detail/uri_percent_encode.hpp
+2021/12/28 | 2827 | graphics/asymptote/LspCpp/network/uri/detail/uri_resolve.cpp
+2021/12/28 | 714 | graphics/asymptote/LspCpp/network/uri/detail/uri_resolve.hpp
+2021/12/28 | 1030 | graphics/asymptote/LspCpp/network/uri.hpp
+2021/12/28 | 4083 | graphics/asymptote/LspCpp/network/uri/uri_builder.cpp
+2021/12/28 | 6917 | graphics/asymptote/LspCpp/network/uri/uri_builder.hpp
+2021/12/28 | 18396 | graphics/asymptote/LspCpp/network/uri/uri.cpp
+2021/12/28 | 2002 | graphics/asymptote/LspCpp/network/uri/uri_errors.cpp
+2021/12/28 | 2609 | graphics/asymptote/LspCpp/network/uri/uri_errors.hpp
+2021/12/28 | 21807 | graphics/asymptote/LspCpp/network/uri/uri.hpp
+2021/12/28 | 1710 | graphics/asymptote/LspCpp/network/uri/uri_io.hpp
+2021/12/28 | 968 | graphics/asymptote/LspCpp/packages.config
+2021/12/28 | 1172 | graphics/asymptote/LspCpp/README.md
+2021/12/28 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/future.hpp
+2021/12/28 | 2088 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/locking_ptr.hpp
+2021/12/28 | 13824 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/pool_core.hpp
+2021/12/28 | 1006 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/scope_guard.hpp
+2021/12/28 | 2817 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/worker_thread.hpp
+2021/12/28 | 2649 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/future.hpp
+2021/12/28 | 663 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool.hpp
+2021/12/28 | 2000 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool_adaptors.hpp
+2021/12/28 | 7632 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool.hpp
+2021/12/28 | 6550 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/scheduling_policies.hpp
+2021/12/28 | 1957 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/shutdown_policies.hpp
+2021/12/28 | 2396 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
+2021/12/28 | 4345 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/task_adaptors.hpp
+2021/12/28 | 3723 | graphics/asymptote/LspCpp/third_party/threadpool/CHANGE_LOG
+2021/12/28 | 221 | graphics/asymptote/LspCpp/third_party/threadpool/COPYING
+2021/12/28 | 319 | graphics/asymptote/LspCpp/third_party/threadpool/Jamfile.v2
+2021/12/28 | 32 | graphics/asymptote/LspCpp/third_party/threadpool/Jamrules
+2021/12/28 | 5196 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.dox
+2021/12/28 | 1134 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design_header.htm
+2021/12/28 | 1322 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.txt
+2021/12/28 | 5202 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.dox
+2021/12/28 | 1122 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples_header.htm
+2021/12/28 | 113 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.txt
+2021/12/28 | 643 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/common_footer.htm
+2021/12/28 | 625 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/overview_footer.htm
+2021/12/28 | 994 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/common_footer.htm
+2021/12/28 | 967 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/overview_footer.htm
+2021/12/28 | 184 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/index.html
+2021/12/28 | 801 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/Makefile
+2021/12/28 | 5221 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.dox
+2021/12/28 | 1188 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview_header.htm
+2021/12/28 | 8296 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.txt
+2021/12/28 | 8411 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference.dox
+2021/12/28 | 1283 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference_header.htm
+2021/12/28 | 7619 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/threadpool.css
+2021/12/28 | 5203 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.dox
+2021/12/28 | 1332 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial_header.htm
+2021/12/28 | 6350 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.txt
+2021/12/28 | 195 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/Jamfile.v2
+2021/12/28 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/mergesort.cpp
+2021/12/28 | 194 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/Jamfile.v2
+2021/12/28 | 986 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/quickstart.cpp
+2021/12/28 | 321 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/README
+2021/12/28 | 2315 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp
+2021/12/28 | 199 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/Jamfile.v2
+2021/12/28 | 190 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/Jamfile.v2
+2021/12/28 | 5265 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/tutorial.cpp
+2021/12/28 | 1338 | graphics/asymptote/LspCpp/third_party/threadpool/LICENSE_1_0.txt
+2021/12/28 | 1125 | graphics/asymptote/LspCpp/third_party/threadpool/Makefile
+2021/12/28 | 67 | graphics/asymptote/LspCpp/third_party/threadpool/project-root.jam
+2021/12/28 | 279 | graphics/asymptote/LspCpp/third_party/threadpool/README
+2021/12/28 | 1088 | graphics/asymptote/LspCpp/third_party/threadpool/TODO
+2021/12/28 | 1291 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
+2021/12/28 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
+2021/12/28 | 55726 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
+2021/12/28 | 2123 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
+2021/12/28 | 12474 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
+2021/12/28 | 10928 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
+2021/12/28 | 3306 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
+2021/12/28 | 3298 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
+2021/12/28 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
+2021/12/28 | 10989 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
+2021/12/28 | 1734 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
+2021/12/28 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
+2021/12/28 | 2143 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
+2021/12/28 | 5578 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp
+2021/12/28 | 1032 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp
+2021/12/28 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
+2021/12/28 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
+2021/12/28 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
+2021/12/28 | 4626 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp
+2021/12/28 | 1002 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp
+2021/12/28 | 21481 | graphics/asymptote/lspserv.cc
+2021/12/28 | 6528 | graphics/asymptote/lspserv.h
+2021/12/28 | 6402 | graphics/asymptote/main.cc
+2021/12/28 | 12632 | graphics/asymptote/Makefile.in
+2021/12/28 | 920 | graphics/asymptote/makeUnique.h
+2021/12/28 | 2968 | graphics/asymptote/material.h
+2021/12/28 | 6414 | graphics/asymptote/mathop.h
+2021/12/28 | 5095 | graphics/asymptote/memory.h
+2021/12/28 | 714 | graphics/asymptote/mod.h
+2021/12/28 | 908 | graphics/asymptote/modifier.h
+2021/12/28 | 8037 | graphics/asymptote/name.cc
+2021/12/28 | 5691 | graphics/asymptote/name.h
+2021/12/28 | 4285 | graphics/asymptote/newexp.cc
+2021/12/28 | 1274 | graphics/asymptote/newexp.h
+2021/12/28 | 916 | graphics/asymptote/opcodes.h
+2021/12/28 | 1050 | graphics/asymptote/opsymbols.pl
+2021/12/28 | 5278 | graphics/asymptote/pair.h
+2021/12/28 | 4873 | graphics/asymptote/parser.cc
+2021/12/28 | 1171 | graphics/asymptote/parser.h
+2021/12/28 | 5262 | graphics/asymptote/patches/bison.patch
+2021/12/28 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
+2021/12/28 | 1311 | graphics/asymptote/patches/dvipdf
+2021/12/28 | 113 | graphics/asymptote/patches/fixmem.reg
+2021/12/28 | 1524 | graphics/asymptote/patches/flex.patch
+2021/12/28 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
+2021/12/28 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
+2021/12/28 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
+2021/12/28 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
+2021/12/28 | 1082 | graphics/asymptote/patches/README
+2021/12/28 | 37991 | graphics/asymptote/path3.cc
+2021/12/28 | 10585 | graphics/asymptote/path3.h
+2021/12/28 | 33813 | graphics/asymptote/path.cc
+2021/12/28 | 11663 | graphics/asymptote/path.h
+2021/12/28 | 1594 | graphics/asymptote/pen.cc
+2021/12/28 | 27856 | graphics/asymptote/pen.h
+2021/12/28 | 42110 | graphics/asymptote/picture.cc
+2021/12/28 | 3472 | graphics/asymptote/picture.h
+2021/12/28 | 5250 | graphics/asymptote/pipestream.cc
+2021/12/28 | 2614 | graphics/asymptote/pipestream.h
+2021/12/28 | 138 | graphics/asymptote/Pipfile
+2021/12/28 | 2542 | graphics/asymptote/policy.h
+2021/12/28 | 650 | graphics/asymptote/prcfile.h
+2021/12/28 | 974 | graphics/asymptote/prc/Makefile
+2021/12/28 | 71201 | graphics/asymptote/prc/oPRCFile.cc
+2021/12/28 | 51640 | graphics/asymptote/prc/oPRCFile.h
+2021/12/28 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
+2021/12/28 | 2518 | graphics/asymptote/prc/PRCbitStream.h
+2021/12/28 | 177246 | graphics/asymptote/prc/PRCdouble.cc
+2021/12/28 | 3765 | graphics/asymptote/prc/PRCdouble.h
+2021/12/28 | 30208 | graphics/asymptote/prc/PRC.h
+2021/12/28 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
+2021/12/28 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
+2021/12/28 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
+2021/12/28 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
+2021/12/28 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
+2021/12/28 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
+2021/12/28 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
+2021/12/28 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
+2021/12/28 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
+2021/12/28 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
+2021/12/28 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
+2021/12/28 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
+2021/12/28 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
+2021/12/28 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
+2021/12/28 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
+2021/12/28 | 95 | graphics/asymptote/prc/test.asy
+2021/12/28 | 36243 | graphics/asymptote/prc/test.cc
+2021/12/28 | 66751 | graphics/asymptote/prc/writePRC.cc
+2021/12/28 | 48481 | graphics/asymptote/prc/writePRC.h
+2021/12/28 | 116010 | graphics/asymptote/predicates.cc
+2021/12/28 | 986 | graphics/asymptote/predicates.h
+2021/12/28 | 1236 | graphics/asymptote/primitives.h
+2021/12/28 | 23904 | graphics/asymptote/process.cc
+2021/12/28 | 4919 | graphics/asymptote/process.h
+2021/12/28 | 2378 | graphics/asymptote/profile.py
+2021/12/28 | 9923 | graphics/asymptote/profiler.h
+2021/12/28 | 3265 | graphics/asymptote/program.cc
+2021/12/28 | 2561 | graphics/asymptote/program.h
+2021/12/28 | 19107 | graphics/asymptote/psfile.cc
+2021/12/28 | 9015 | graphics/asymptote/psfile.h
+2021/12/28 | 2505 | graphics/asymptote/README
+2021/12/28 | 1698 | graphics/asymptote/record.cc
+2021/12/28 | 2732 | graphics/asymptote/record.h
+2021/12/28 | 1096 | graphics/asymptote/refaccess.cc
+2021/12/28 | 1936 | graphics/asymptote/refaccess.h
+2021/12/28 | 126514 | graphics/asymptote/ReleaseNotes
+2021/12/28 | 62 | graphics/asymptote/revision.cc
+2021/12/28 | 3441 | graphics/asymptote/rounding.h
+2021/12/28 | 73254 | graphics/asymptote/runarray.cc
+2021/12/28 | 1492 | graphics/asymptote/runarray.h
+2021/12/28 | 48417 | graphics/asymptote/runarray.in
+2021/12/28 | 2661 | graphics/asymptote/runbacktrace.cc
+2021/12/28 | 169 | graphics/asymptote/runbacktrace.h
+2021/12/28 | 831 | graphics/asymptote/runbacktrace.in
+2021/12/28 | 17798 | graphics/asymptote/runfile.cc
+2021/12/28 | 969 | graphics/asymptote/runfile.h
+2021/12/28 | 5987 | graphics/asymptote/runfile.in
+2021/12/28 | 8096 | graphics/asymptote/runhistory.cc
+2021/12/28 | 161 | graphics/asymptote/runhistory.h
+2021/12/28 | 5064 | graphics/asymptote/runhistory.in
+2021/12/28 | 15833 | graphics/asymptote/runlabel.cc
+2021/12/28 | 153 | graphics/asymptote/runlabel.h
+2021/12/28 | 12093 | graphics/asymptote/runlabel.in
+2021/12/28 | 21926 | graphics/asymptote/runmath.cc
+2021/12/28 | 269 | graphics/asymptote/runmath.h
+2021/12/28 | 8856 | graphics/asymptote/runmath.in
+2021/12/28 | 16483 | graphics/asymptote/runpair.cc
+2021/12/28 | 299 | graphics/asymptote/runpair.h
+2021/12/28 | 4156 | graphics/asymptote/runpair.in
+2021/12/28 | 25701 | graphics/asymptote/runpath3d.cc
+2021/12/28 | 186 | graphics/asymptote/runpath3d.h
+2021/12/28 | 8008 | graphics/asymptote/runpath3d.in
+2021/12/28 | 26844 | graphics/asymptote/runpath.cc
+2021/12/28 | 177 | graphics/asymptote/runpath.h
+2021/12/28 | 8439 | graphics/asymptote/runpath.in
+2021/12/28 | 57944 | graphics/asymptote/runpicture.cc
+2021/12/28 | 191 | graphics/asymptote/runpicture.h
+2021/12/28 | 20090 | graphics/asymptote/runpicture.in
+2021/12/28 | 18739 | graphics/asymptote/runstring.cc
+2021/12/28 | 188 | graphics/asymptote/runstring.h
+2021/12/28 | 9867 | graphics/asymptote/runstring.in
+2021/12/28 | 12604 | graphics/asymptote/runsystem.cc
+2021/12/28 | 157 | graphics/asymptote/runsystem.h
+2021/12/28 | 5111 | graphics/asymptote/runsystem.in
+2021/12/28 | 1341 | graphics/asymptote/runtimebase.in
+2021/12/28 | 60939 | graphics/asymptote/runtime.cc
+2021/12/28 | 1163 | graphics/asymptote/runtime.h
+2021/12/28 | 20633 | graphics/asymptote/runtime.in
+2021/12/28 | 7274 | graphics/asymptote/runtime.pl
+2021/12/28 | 13944 | graphics/asymptote/runtriple.cc
+2021/12/28 | 320 | graphics/asymptote/runtriple.h
+2021/12/28 | 2707 | graphics/asymptote/runtriple.in
+2021/12/28 | 2136 | graphics/asymptote/seconds.h
+2021/12/28 | 53997 | graphics/asymptote/settings.cc
+2021/12/28 | 2707 | graphics/asymptote/settings.h
+2021/12/28 | 3160 | graphics/asymptote/shaders.cc
+2021/12/28 | 902 | graphics/asymptote/shaders.h
+2021/12/28 | 6634 | graphics/asymptote/simpson.cc
+2021/12/28 | 14532 | graphics/asymptote/stack.cc
+2021/12/28 | 3295 | graphics/asymptote/stack.h
+2021/12/28 | 942 | graphics/asymptote/statistics.h
+2021/12/28 | 14795 | graphics/asymptote/stm.cc
+2021/12/28 | 5183 | graphics/asymptote/stm.h
+2021/12/28 | 9104 | graphics/asymptote/symbol.cc
+2021/12/28 | 2749 | graphics/asymptote/symbol.h
+2021/12/28 | 24784 | graphics/asymptote/symbolmaps.cc
+2021/12/28 | 28337 | graphics/asymptote/symbolmaps.h
+2021/12/28 | 2697 | graphics/asymptote/table.h
+2021/12/28 | 620 | graphics/asymptote/tests/arith/integer.asy
+2021/12/28 | 449 | graphics/asymptote/tests/arith/pair.asy
+2021/12/28 | 193 | graphics/asymptote/tests/arith/random.asy
+2021/12/28 | 383 | graphics/asymptote/tests/arith/real.asy
+2021/12/28 | 1710 | graphics/asymptote/tests/arith/roots.asy
+2021/12/28 | 639 | graphics/asymptote/tests/arith/transform.asy
+2021/12/28 | 244 | graphics/asymptote/tests/arith/triple.asy
+2021/12/28 | 936 | graphics/asymptote/tests/array/array.asy
+2021/12/28 | 680 | graphics/asymptote/tests/array/delete.asy
+2021/12/28 | 737 | graphics/asymptote/tests/array/determinant.asy
+2021/12/28 | 1927 | graphics/asymptote/tests/array/fields.asy
+2021/12/28 | 4841 | graphics/asymptote/tests/array/slice.asy
+2021/12/28 | 966 | graphics/asymptote/tests/array/solve.asy
+2021/12/28 | 746 | graphics/asymptote/tests/array/sort.asy
+2021/12/28 | 1096 | graphics/asymptote/tests/array/transpose.asy
+2021/12/28 | 276 | graphics/asymptote/tests/bench/6000circles.asy
+2021/12/28 | 2222 | graphics/asymptote/tests/frames/loop.asy
+2021/12/28 | 202 | graphics/asymptote/tests/frames/stat2.asy
+2021/12/28 | 158 | graphics/asymptote/tests/frames/stat.asy
+2021/12/28 | 62 | graphics/asymptote/tests/gc/array.asy
+2021/12/28 | 102 | graphics/asymptote/tests/gc/file.asy
+2021/12/28 | 54 | graphics/asymptote/tests/gc/funcall.asy
+2021/12/28 | 65 | graphics/asymptote/tests/gc/guide.asy
+2021/12/28 | 143 | graphics/asymptote/tests/gc/label.asy
+2021/12/28 | 124 | graphics/asymptote/tests/gc/path.asy
+2021/12/28 | 72 | graphics/asymptote/tests/gc/pen.asy
+2021/12/28 | 193 | graphics/asymptote/tests/gc/shipout.asy
+2021/12/28 | 77 | graphics/asymptote/tests/gc/string.asy
+2021/12/28 | 129 | graphics/asymptote/tests/gc/struct.asy
+2021/12/28 | 70 | graphics/asymptote/tests/gc/transform.asy
+2021/12/28 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
+2021/12/28 | 11907 | graphics/asymptote/tests/gsl/random.asy
+2021/12/28 | 1209 | graphics/asymptote/tests/imp/unravel.asy
+2021/12/28 | 308 | graphics/asymptote/tests/Makefile
+2021/12/28 | 18 | graphics/asymptote/tests/output/circle.asy
+2021/12/28 | 22 | graphics/asymptote/tests/output/line.asy
+2021/12/28 | 1284 | graphics/asymptote/tests/output/Makefile
+2021/12/28 | 1384 | graphics/asymptote/tests/pic/trans.asy
+2021/12/28 | 236 | graphics/asymptote/tests/string/erase.asy
+2021/12/28 | 182 | graphics/asymptote/tests/string/find.asy
+2021/12/28 | 109 | graphics/asymptote/tests/string/insert.asy
+2021/12/28 | 132 | graphics/asymptote/tests/string/length.asy
+2021/12/28 | 187 | graphics/asymptote/tests/string/rfind.asy
+2021/12/28 | 118 | graphics/asymptote/tests/string/substr.asy
+2021/12/28 | 238 | graphics/asymptote/tests/TestLib.asy
+2021/12/28 | 159 | graphics/asymptote/tests/types/cast.asy
+2021/12/28 | 6503 | graphics/asymptote/tests/types/constructor.asy
+2021/12/28 | 155 | graphics/asymptote/tests/types/ecast.asy
+2021/12/28 | 3375 | graphics/asymptote/tests/types/guide.asy
+2021/12/28 | 224 | graphics/asymptote/tests/types/init.asy
+2021/12/28 | 4242 | graphics/asymptote/tests/types/keyword.asy
+2021/12/28 | 4072 | graphics/asymptote/tests/types/order.asy
+2021/12/28 | 2731 | graphics/asymptote/tests/types/resolve.asy
+2021/12/28 | 308 | graphics/asymptote/tests/types/shadow.asy
+2021/12/28 | 1331 | graphics/asymptote/tests/types/spec.asy
+2021/12/28 | 1189 | graphics/asymptote/tests/types/var.asy
+2021/12/28 | 14283 | graphics/asymptote/testv3d.asy
+2021/12/28 | 18659 | graphics/asymptote/texfile.cc
+2021/12/28 | 13513 | graphics/asymptote/texfile.h
+2021/12/28 | 351 | graphics/asymptote/tinyexr.cc
+2021/12/28 | 1293 | graphics/asymptote/TODO
+2021/12/28 | 6288 | graphics/asymptote/transform.h
+2021/12/28 | 10224 | graphics/asymptote/tr.cc
+2021/12/28 | 3912 | graphics/asymptote/tr.h
+2021/12/28 | 9754 | graphics/asymptote/triple.h
+2021/12/28 | 14072 | graphics/asymptote/types.cc
+2021/12/28 | 15451 | graphics/asymptote/types.h
+2021/12/28 | 10093 | graphics/asymptote/util.cc
+2021/12/28 | 4602 | graphics/asymptote/util.h
+2021/12/28 | 10039 | graphics/asymptote/v3dfile.cc
+2021/12/28 | 4818 | graphics/asymptote/v3dfile.h
+2021/12/28 | 1061 | graphics/asymptote/v3dheadertypes.csv
+2021/12/28 | 1225 | graphics/asymptote/v3dheadertypes.h
+2021/12/28 | 1597 | graphics/asymptote/v3dheadertypes.py
+2021/12/28 | 422 | graphics/asymptote/v3dtypes.csv
+2021/12/28 | 548 | graphics/asymptote/v3dtypes.h
+2021/12/28 | 821 | graphics/asymptote/v3dtypes.py
+2021/12/28 | 2004 | graphics/asymptote/varinit.cc
+2021/12/28 | 2012 | graphics/asymptote/varinit.h
+2021/12/28 | 901 | graphics/asymptote/virtualfieldaccess.cc
+2021/12/28 | 2328 | graphics/asymptote/virtualfieldaccess.h
+2021/12/28 | 766 | graphics/asymptote/vm.h
+2021/12/28 | 222 | graphics/asymptote/wce
+2021/12/28 | 4531 | graphics/asymptote/webgl/fragment.glsl
+2021/12/28 | 89902 | graphics/asymptote/webgl/gl.js
+2021/12/28 | 820 | graphics/asymptote/webgl/license
+2021/12/28 | 1728 | graphics/asymptote/webgl/vertex.glsl
+2021/12/28 | 8567 | graphics/asymptote/xstream.h
+2021/12/28 | 19332208 | graphics/asymptote.zip
2014/04/16 | 55108 | graphics/asypictureb/asypictureB.dtx
2014/04/16 | 2401 | graphics/asypictureb/asypictureB.ins
2014/04/15 | 637107 | graphics/asypictureb/asypictureB.pdf
@@ -156959,23 +156955,23 @@
2020/06/11 | 268 | graphics/pgf/contrib/yquant/doc/qasm/test7.qasm
2020/06/11 | 302 | graphics/pgf/contrib/yquant/doc/qasm/test8.qasm
2020/06/11 | 309 | graphics/pgf/contrib/yquant/doc/qasm/test9.qasm
-2021/09/04 | 712093 | graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
-2021/09/04 | 214933 | graphics/pgf/contrib/yquant/doc/yquant-doc.tex
-2021/09/04 | 4775 | graphics/pgf/contrib/yquant/README.md
-2021/08/14 | 14467 | graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
-2021/09/04 | 10420 | graphics/pgf/contrib/yquant/tex/yquant-config.tex
+2021/12/28 | 994303 | graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
+2021/12/28 | 298139 | graphics/pgf/contrib/yquant/doc/yquant-doc.tex
+2021/12/28 | 5895 | graphics/pgf/contrib/yquant/README.md
+2021/12/25 | 14901 | graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
+2021/12/27 | 11468 | graphics/pgf/contrib/yquant/tex/yquant-config.tex
2021/08/14 | 42668 | graphics/pgf/contrib/yquant/tex/yquant-draw.tex
-2021/08/17 | 32550 | graphics/pgf/contrib/yquant/tex/yquant-env.tex
+2021/12/25 | 44037 | graphics/pgf/contrib/yquant/tex/yquant-env.tex
2021/07/31 | 14438 | graphics/pgf/contrib/yquant/tex/yquant-langhelper.tex
-2021/08/14 | 25605 | graphics/pgf/contrib/yquant/tex/yquant-lang.tex
-2021/08/17 | 21914 | graphics/pgf/contrib/yquant/tex/yquantlanguage-groups.sty
-2021/07/31 | 24830 | graphics/pgf/contrib/yquant/tex/yquantlanguage-qasm.sty
-2021/08/17 | 37186 | graphics/pgf/contrib/yquant/tex/yquant-prepare.tex
-2021/07/31 | 38583 | graphics/pgf/contrib/yquant/tex/yquant-registers.tex
-2021/07/31 | 39348 | graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
-2021/09/04 | 2118 | graphics/pgf/contrib/yquant/tex/yquant.sty
-2021/07/31 | 25074 | graphics/pgf/contrib/yquant/tex/yquant-tools.tex
-2021/09/04 | 659905 | graphics/pgf/contrib/yquant.zip
+2021/12/27 | 25956 | graphics/pgf/contrib/yquant/tex/yquant-lang.tex
+2021/12/24 | 21914 | graphics/pgf/contrib/yquant/tex/yquantlanguage-groups.sty
+2021/12/24 | 24866 | graphics/pgf/contrib/yquant/tex/yquantlanguage-qasm.sty
+2021/12/27 | 37196 | graphics/pgf/contrib/yquant/tex/yquant-prepare.tex
+2021/12/25 | 40977 | graphics/pgf/contrib/yquant/tex/yquant-registers.tex
+2021/12/27 | 39277 | graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
+2021/12/28 | 2120 | graphics/pgf/contrib/yquant/tex/yquant.sty
+2021/12/25 | 25114 | graphics/pgf/contrib/yquant/tex/yquant-tools.tex
+2021/12/28 | 913778 | graphics/pgf/contrib/yquant.zip
2021/10/22 | 557 | graphics/pgf/contrib/zx-calculus/README.md
2021/10/22 | 81903 | graphics/pgf/contrib/zx-calculus/tikzlibraryzx-calculus.code.tex
2021/10/22 | 652511 | graphics/pgf/contrib/zx-calculus.zip
@@ -157932,15 +157928,15 @@
2021/09/01 | 37423 | graphics/pstricks/contrib/pst-geo/doc/pst-geo-doc.tex
2016/12/07 | 24810 | graphics/pstricks/contrib/pst-geo/dvips/pst-geo.pro
2020/06/07 | 371 | graphics/pstricks/contrib/pst-geo/latex/pst-geo.sty
-2017/09/16 | 101 | graphics/pstricks/contrib/pst-geometrictools/Changes.txt
-2017/09/16 | 214485 | graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-doc.pdf
-2017/09/16 | 16985 | graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-doc.tex
-2017/06/18 | 268998 | graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-fr-doc.pdf
-2017/07/02 | 15244 | graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-fr-doc.tex
-2017/06/30 | 830 | graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools.sty
-2017/09/16 | 51994 | graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools.tex
-2017/09/16 | 1042 | graphics/pstricks/contrib/pst-geometrictools/README.md
-2017/09/16 | 424849 | graphics/pstricks/contrib/pst-geometrictools.zip
+2021/12/28 | 191 | graphics/pstricks/contrib/pst-geometrictools/Changes
+2021/12/28 | 228546 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
+2021/12/28 | 17300 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
+2021/12/28 | 233412 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
+2021/12/28 | 15387 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
+2017/07/02 | 830 | graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty
+2021/12/28 | 990 | graphics/pstricks/contrib/pst-geometrictools/README.md
+2021/12/28 | 51149 | graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
+2021/12/28 | 454213 | graphics/pstricks/contrib/pst-geometrictools.zip
2021/09/01 | 538 | graphics/pstricks/contrib/pst-geo/README
2021/09/01 | 43110 | graphics/pstricks/contrib/pst-geo/tex/pst-geo.tex
2021/09/01 | 157496858 | graphics/pstricks/contrib/pst-geo.zip
@@ -184200,7 +184196,7 @@
2021/11/12 | 7360495 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
2021/12/06 | 35260885 | install/macros/latex/latex-base.tds.zip
2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip
-2021/11/29 | 2877441 | install/macros/latex/required/babel-base.tds.zip
+2021/12/28 | 2879890 | install/macros/latex/required/babel-base.tds.zip
2021/11/12 | 2766926 | install/macros/latex/required/latex-amsmath.tds.zip
2021/09/25 | 223228 | install/macros/latex/required/latexbug.tds.zip
2018/04/06 | 1324669 | install/macros/latex/required/latex-cyrillic.tds.zip
@@ -205455,12 +205451,13 @@
2011/08/07 | 469733 | macros/latex/contrib/ccaption/ccaption.pdf
2011/08/07 | 4063 | macros/latex/contrib/ccaption/README
2011/08/07 | 504381 | macros/latex/contrib/ccaption.zip
-2020/03/26 | 4658 | macros/latex/contrib/ccfonts/cc.fdd
-2020/04/01 | 12238 | macros/latex/contrib/ccfonts/ccfonts.dtx
-2020/03/26 | 406 | macros/latex/contrib/ccfonts/ccfonts.ins
-2020/04/01 | 195982 | macros/latex/contrib/ccfonts/ccfonts.pdf
-2020/03/26 | 4691 | macros/latex/contrib/ccfonts/README
-2020/04/01 | 203090 | macros/latex/contrib/ccfonts.zip
+2021/12/28 | 4658 | macros/latex/contrib/ccfonts/cc.fdd
+2021/12/28 | 12238 | macros/latex/contrib/ccfonts/ccfonts.dtx
+2021/12/28 | 406 | macros/latex/contrib/ccfonts/ccfonts.ins
+2021/12/28 | 195982 | macros/latex/contrib/ccfonts/ccfonts.pdf
+2021/12/28 | 19105 | macros/latex/contrib/ccfonts/LICENSE
+2021/12/28 | 4877 | macros/latex/contrib/ccfonts/README
+2021/12/28 | 209717 | macros/latex/contrib/ccfonts.zip
1997/06/16 | 69 | macros/latex/contrib/cchess/cchess46.mf
1997/06/16 | 416 | macros/latex/contrib/cchess/cchess46.tfm
1997/06/16 | 10335 | macros/latex/contrib/cchess/cchessboard.tex
@@ -220607,15 +220604,15 @@
2002/02/04 | 5634 | macros/latex/contrib/procIAGssymp/procIAGssymp.sty
2002/02/04 | 7126 | macros/latex/contrib/procIAGssymp/TestPaper.tex
2019/07/29 | 5300 | macros/latex/contrib/procIAGssymp.zip
-2021/11/06 | 7556798 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
-2021/11/06 | 2114901 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
+2021/12/27 | 7591580 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2021/12/27 | 2116628 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
2021/08/22 | 23478 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
2021/08/22 | 19350 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
2021/08/22 | 20438 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
2021/08/22 | 27165 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
2021/08/22 | 15309 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
2021/08/22 | 22791 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
-2021/11/06 | 717203 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
+2021/12/27 | 728288 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2021/11/06 | 8247 | macros/latex/contrib/profcollege/metapost/datastest/afganistan.dat
2021/11/06 | 10915 | macros/latex/contrib/profcollege/metapost/datastest/afriquesud1.dat
2021/11/06 | 218 | macros/latex/contrib/profcollege/metapost/datastest/afriquesud2.dat
@@ -220686,8 +220683,6 @@
2021/11/06 | 9195 | macros/latex/contrib/profcollege/metapost/datastest/finlande.dat
2021/11/06 | 4277242 | macros/latex/contrib/profcollege/metapost/datastest/fleuveseurope.dat
2021/11/06 | 233434 | macros/latex/contrib/profcollege/metapost/datastest/fleuvessup.dat
-2021/11/06 | 1522 | macros/latex/contrib/profcollege/metapost/datastest/FranceCQ.dat
-2021/11/06 | 1522 | macros/latex/contrib/profcollege/metapost/datastest/FranceCycle4.dat
2021/11/06 | 12472 | macros/latex/contrib/profcollege/metapost/datastest/france.dat
2021/11/06 | 6702 | macros/latex/contrib/profcollege/metapost/datastest/gabon.dat
2021/11/06 | 2099 | macros/latex/contrib/profcollege/metapost/datastest/gambie.dat
@@ -220721,7 +220716,7 @@
2021/11/06 | 8482 | macros/latex/contrib/profcollege/metapost/datastest/kenya.dat
2021/11/06 | 1010 | macros/latex/contrib/profcollege/metapost/datastest/koweit.dat
2021/11/06 | 7095 | macros/latex/contrib/profcollege/metapost/datastest/kyrgyzstan.dat
-2021/11/06 | 150848 | macros/latex/contrib/profcollege/metapost/datastest/lacs.dat
+2021/11/06 | 163340 | macros/latex/contrib/profcollege/metapost/datastest/lacs.dat
2021/11/06 | 15090 | macros/latex/contrib/profcollege/metapost/datastest/lacssup.dat
2021/11/06 | 8002 | macros/latex/contrib/profcollege/metapost/datastest/laos.dat
2021/11/06 | 1537 | macros/latex/contrib/profcollege/metapost/datastest/lesotho.dat
@@ -220770,7 +220765,7 @@
2021/11/06 | 7732 | macros/latex/contrib/profcollege/metapost/datastest/repcentreafrique.dat
2021/11/06 | 2668 | macros/latex/contrib/profcollege/metapost/datastest/repdominicaine.dat
2021/11/06 | 1123 | macros/latex/contrib/profcollege/metapost/datastest/riomuni.dat
-2021/11/06 | 343175 | macros/latex/contrib/profcollege/metapost/datastest/rivieres.dat
+2021/11/06 | 371566 | macros/latex/contrib/profcollege/metapost/datastest/rivieres.dat
2021/11/06 | 5067 | macros/latex/contrib/profcollege/metapost/datastest/roumanie.dat
2021/11/06 | 112436 | macros/latex/contrib/profcollege/metapost/datastest/russie1bis.dat
2021/11/06 | 112908 | macros/latex/contrib/profcollege/metapost/datastest/russie1.dat
@@ -220811,7 +220806,7 @@
2021/11/06 | 104 | macros/latex/contrib/profcollege/metapost/datastest/villesFranceNord.dat
2021/11/06 | 499 | macros/latex/contrib/profcollege/metapost/datastest/villesFrancesimp.dat
2021/11/06 | 3469 | macros/latex/contrib/profcollege/metapost/datastest/villesItalie.dat
-2021/11/06 | 15564 | macros/latex/contrib/profcollege/metapost/datastest/volcans.dat
+2021/11/06 | 16377 | macros/latex/contrib/profcollege/metapost/datastest/volcans.dat
2021/11/06 | 866 | macros/latex/contrib/profcollege/metapost/datastest/westbank.dat
2021/11/06 | 4890 | macros/latex/contrib/profcollege/metapost/datastest/yemen.dat
2021/11/06 | 5211 | macros/latex/contrib/profcollege/metapost/datastest/yougoslavie.dat
@@ -220830,7 +220825,7 @@
2021/08/22 | 104787 | macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp
2021/08/22 | 6652 | macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp
2021/01/18 | 435 | macros/latex/contrib/profcollege/README
-2021/11/07 | 11754781 | macros/latex/contrib/profcollege.zip
+2021/12/28 | 11792173 | macros/latex/contrib/profcollege.zip
1996/02/05 | 1760 | macros/latex/contrib/progkeys/demo/demo.tex
1996/02/05 | 459 | macros/latex/contrib/progkeys/demo/prog1.tex
1996/02/05 | 347 | macros/latex/contrib/progkeys/demo/prog2.tex
@@ -234225,14 +234220,14 @@
2021/11/12 | 454662 | macros/latex/required/amsmath/testmath.pdf
2021/11/12 | 82371 | macros/latex/required/amsmath/testmath.tex
2021/11/12 | 2734832 | macros/latex/required/amsmath.zip
-2021/11/29 | 718234 | macros/latex/required/babel/base/babel.dtx
-2021/11/29 | 7461 | macros/latex/required/babel/base/babel.ins
-2021/11/29 | 858700 | macros/latex/required/babel/base/babel.pdf
-2021/11/29 | 21890 | macros/latex/required/babel/base/bbcompat.dtx
-2021/11/29 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx
-2021/11/29 | 794467 | macros/latex/required/babel/base/locale.zip
-2021/11/29 | 2200 | macros/latex/required/babel/base/README.md
-2021/11/29 | 1842096 | macros/latex/required/babel/base.zip
+2021/12/28 | 719123 | macros/latex/required/babel/base/babel.dtx
+2021/12/28 | 7461 | macros/latex/required/babel/base/babel.ins
+2021/12/28 | 860656 | macros/latex/required/babel/base/babel.pdf
+2021/12/28 | 21890 | macros/latex/required/babel/base/bbcompat.dtx
+2021/12/28 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx
+2021/12/28 | 794462 | macros/latex/required/babel/base/locale.zip
+2021/12/28 | 2144 | macros/latex/required/babel/base/README.md
+2021/12/28 | 1844340 | macros/latex/required/babel/base.zip
2018/04/06 | 5462 | macros/latex/required/cyrillic/changes.txt
2018/04/06 | 57716 | macros/latex/required/cyrillic/cyinpenc.dtx
2018/04/06 | 206017 | macros/latex/required/cyrillic/cyinpenc.pdf
@@ -271186,27 +271181,27 @@
2003/03/08 | 2750 | support/latexcount/latexcount.pl
2006/10/01 | 31301 | support/latexdb/latexdb-0.3.tgz
2006/04/24 | 506 | support/latexdb/README
-2020/06/13 | 2212 | support/latexdiff/contrib/latexchanges.py
-2020/06/13 | 1491 | support/latexdiff/contrib/latexdiff.spec
-2020/06/13 | 4454 | support/latexdiff/contrib/latexdiff-wrap
-2020/06/13 | 575 | support/latexdiff/contrib/README.latexchanges
-2020/06/13 | 32474 | support/latexdiff/COPYING
-2020/06/13 | 4172 | support/latexdiff/doc/example-diff.tex
-2020/06/13 | 282140 | support/latexdiff/doc/latexdiff-man.pdf
-2020/06/13 | 12049 | support/latexdiff/doc/latexdiff-man.tex
-2020/06/13 | 1356 | support/latexdiff/example/example-draft.tex
-2020/06/13 | 1414 | support/latexdiff/example/example-rev.tex
-2020/06/13 | 224332 | support/latexdiff/latexdiff
-2020/06/13 | 49272 | support/latexdiff/latexdiff.1
-2020/06/13 | 240531 | support/latexdiff/latexdiff-fast
-2020/06/13 | 236142 | support/latexdiff/latexdiff-so
-2020/06/13 | 28725 | support/latexdiff/latexdiff-vc
-2020/06/13 | 13572 | support/latexdiff/latexdiff-vc.1
-2020/06/13 | 20731 | support/latexdiff/latexrevise
-2020/06/13 | 9551 | support/latexdiff/latexrevise.1
-2020/06/13 | 3148 | support/latexdiff/Makefile
-2020/06/13 | 5296 | support/latexdiff/README
-2020/06/13 | 544231 | support/latexdiff.zip
+2021/12/27 | 2212 | support/latexdiff/contrib/latexchanges.py
+2021/12/27 | 1491 | support/latexdiff/contrib/latexdiff.spec
+2021/12/27 | 4454 | support/latexdiff/contrib/latexdiff-wrap
+2021/12/27 | 575 | support/latexdiff/contrib/README.latexchanges
+2021/12/27 | 32474 | support/latexdiff/COPYING
+2021/12/27 | 4177 | support/latexdiff/doc/example-diff.tex
+2021/12/27 | 269147 | support/latexdiff/doc/latexdiff-man.pdf
+2021/12/27 | 12049 | support/latexdiff/doc/latexdiff-man.tex
+2021/12/27 | 1356 | support/latexdiff/example/example-draft.tex
+2021/12/27 | 1414 | support/latexdiff/example/example-rev.tex
+2021/12/27 | 229912 | support/latexdiff/latexdiff
+2021/12/27 | 49478 | support/latexdiff/latexdiff.1
+2021/12/27 | 246111 | support/latexdiff/latexdiff-fast
+2021/12/27 | 241722 | support/latexdiff/latexdiff-so
+2021/12/27 | 31034 | support/latexdiff/latexdiff-vc
+2021/12/27 | 13667 | support/latexdiff/latexdiff-vc.1
+2021/12/27 | 22241 | support/latexdiff/latexrevise
+2021/12/27 | 9913 | support/latexdiff/latexrevise.1
+2021/12/27 | 3148 | support/latexdiff/Makefile
+2021/12/27 | 5296 | support/latexdiff/README
+2021/12/28 | 537364 | support/latexdiff.zip
1997/05/24 | 9592 | support/latexdraw/bin/latex2epc
1996/03/06 | 8149 | support/latexdraw/bin/ldstapeldiagramm
1996/03/06 | 5576 | support/latexdraw/bin/ldtortendiagramm
@@ -274298,7 +274293,7 @@
2021/05/03 | 629 | support/TeX4ht/doc/README
2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex
2021/05/11 | 262 | support/TeX4ht/README
-2021/12/20 | 171255 | support/TeX4ht/source/ChangeLog
+2021/12/27 | 171876 | support/TeX4ht/source/ChangeLog
2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua
2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex
2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex
@@ -274306,11 +274301,11 @@
2021/05/06 | 15 | support/TeX4ht/source/extra-bin/vcss
2021/05/06 | 15 | support/TeX4ht/source/extra-bin/xmllint
2021/05/16 | 26800 | support/TeX4ht/source/Makefile
-2021/12/19 | 7860 | support/TeX4ht/source/mktex4ht-cnf.tex
+2021/12/27 | 7881 | support/TeX4ht/source/mktex4ht-cnf.tex
2021/05/03 | 1121 | support/TeX4ht/source/README
2021/05/03 | 1744 | support/TeX4ht/source/t1fontmake.lua
2021/05/03 | 297 | support/TeX4ht/source/t1fontsample.tex
-2021/12/20 | 1103001 | support/TeX4ht/source/tex4ht-4ht.tex
+2021/12/27 | 1104187 | support/TeX4ht/source/tex4ht-4ht.tex
2021/05/03 | 7127 | support/TeX4ht/source/tex4ht-auto-script.tex
2021/05/16 | 1539 | support/TeX4ht/source/tex4ht-bibtex2.tex
2021/05/03 | 21247 | support/TeX4ht/source/tex4ht-cond4ht.tex
@@ -278586,8 +278581,8 @@
2020/10/23 | 3312 | systems/texlive/tlnet/archive/askmaps.r56730.tar.xz
2021/12/27 | 1453400 | systems/texlive/tlnet/archive/asmeconf.doc.r61412.tar.xz
2021/12/27 | 27720 | systems/texlive/tlnet/archive/asmeconf.r61412.tar.xz
-2021/12/24 | 638748 | systems/texlive/tlnet/archive/asmejour.doc.r61388.tar.xz
-2021/12/24 | 21444 | systems/texlive/tlnet/archive/asmejour.r61388.tar.xz
+2021/12/28 | 638776 | systems/texlive/tlnet/archive/asmejour.doc.r61421.tar.xz
+2021/12/28 | 21988 | systems/texlive/tlnet/archive/asmejour.r61421.tar.xz
2019/02/28 | 337268 | systems/texlive/tlnet/archive/aspectratio.doc.r25243.tar.xz
2019/02/28 | 65600 | systems/texlive/tlnet/archive/aspectratio.r25243.tar.xz
2019/02/28 | 81860 | systems/texlive/tlnet/archive/assignment.doc.r20431.tar.xz
@@ -280253,8 +280248,8 @@
2019/07/13 | 257164 | systems/texlive/tlnet/archive/codeanatomy.doc.r51627.tar.xz
2019/07/13 | 1836 | systems/texlive/tlnet/archive/codeanatomy.r51627.tar.xz
2019/07/13 | 4596 | systems/texlive/tlnet/archive/codeanatomy.source.r51627.tar.xz
-2021/12/27 | 361352 | systems/texlive/tlnet/archive/codebox.doc.r61415.tar.xz
-2021/12/27 | 3596 | systems/texlive/tlnet/archive/codebox.r61415.tar.xz
+2021/12/28 | 362712 | systems/texlive/tlnet/archive/codebox.doc.r61425.tar.xz
+2021/12/28 | 3560 | systems/texlive/tlnet/archive/codebox.r61425.tar.xz
2019/02/28 | 377460 | systems/texlive/tlnet/archive/codedoc.doc.r17630.tar.xz
2019/02/28 | 10108 | systems/texlive/tlnet/archive/codedoc.r17630.tar.xz
2021/05/13 | 84052 | systems/texlive/tlnet/archive/codehigh.doc.r59173.tar.xz
@@ -280294,7 +280289,7 @@
2020/03/04 | 608 | systems/texlive/tlnet/archive/collection-langcyrillic.r54074.tar.xz
2020/03/04 | 372 | systems/texlive/tlnet/archive/collection-langczechslovak.r54074.tar.xz
2021/10/04 | 844 | systems/texlive/tlnet/archive/collection-langenglish.r60687.tar.xz
-2021/03/22 | 704 | systems/texlive/tlnet/archive/collection-langeuropean.r58626.tar.xz
+2021/12/28 | 716 | systems/texlive/tlnet/archive/collection-langeuropean.r61419.tar.xz
2021/08/20 | 604 | systems/texlive/tlnet/archive/collection-langfrench.r60273.tar.xz
2020/07/01 | 628 | systems/texlive/tlnet/archive/collection-langgerman.r55706.tar.xz
2020/03/07 | 428 | systems/texlive/tlnet/archive/collection-langgreek.r54139.tar.xz
@@ -280305,7 +280300,7 @@
2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz
2020/03/04 | 392 | systems/texlive/tlnet/archive/collection-langportuguese.r54074.tar.xz
2020/03/07 | 380 | systems/texlive/tlnet/archive/collection-langspanish.r54141.tar.xz
-2021/12/27 | 6524 | systems/texlive/tlnet/archive/collection-latexextra.r61415.tar.xz
+2021/12/28 | 6528 | systems/texlive/tlnet/archive/collection-latexextra.r61423.tar.xz
2020/12/03 | 696 | systems/texlive/tlnet/archive/collection-latex.r57048.tar.xz
2021/02/24 | 772 | systems/texlive/tlnet/archive/collection-latexrecommended.r57862.tar.xz
2021/10/15 | 780 | systems/texlive/tlnet/archive/collection-luatex.r60764.tar.xz
@@ -283927,6 +283922,8 @@
2019/02/28 | 139420 | systems/texlive/tlnet/archive/kastrup.doc.r15878.tar.xz
2019/02/28 | 1388 | systems/texlive/tlnet/archive/kastrup.r15878.tar.xz
2019/02/28 | 7392 | systems/texlive/tlnet/archive/kastrup.source.r15878.tar.xz
+2021/12/28 | 988908 | systems/texlive/tlnet/archive/kaytannollista-latexia.doc.r61419.tar.xz
+2021/12/28 | 572 | systems/texlive/tlnet/archive/kaytannollista-latexia.r61419.tar.xz
2021/02/05 | 339680 | systems/texlive/tlnet/archive/kblocks.doc.r57617.tar.xz
2021/02/05 | 8140 | systems/texlive/tlnet/archive/kblocks.r57617.tar.xz
2019/02/28 | 718580 | systems/texlive/tlnet/archive/kdgdocs.doc.r24498.tar.xz
@@ -286187,8 +286184,8 @@
2019/02/28 | 196212 | systems/texlive/tlnet/archive/newspaper.doc.r15878.tar.xz
2019/02/28 | 1924 | systems/texlive/tlnet/archive/newspaper.r15878.tar.xz
2019/02/28 | 6804 | systems/texlive/tlnet/archive/newspaper.source.r15878.tar.xz
-2021/12/26 | 633692 | systems/texlive/tlnet/archive/newtx.doc.r61408.tar.xz
-2021/12/26 | 6537272 | systems/texlive/tlnet/archive/newtx.r61408.tar.xz
+2021/12/28 | 633820 | systems/texlive/tlnet/archive/newtx.doc.r61418.tar.xz
+2021/12/28 | 6367332 | systems/texlive/tlnet/archive/newtx.r61418.tar.xz
2021/05/17 | 332420 | systems/texlive/tlnet/archive/newtxsf.doc.r59227.tar.xz
2021/05/17 | 105908 | systems/texlive/tlnet/archive/newtxsf.r59227.tar.xz
2020/03/24 | 171356 | systems/texlive/tlnet/archive/newtxtt.doc.r54512.tar.xz
@@ -289196,14 +289193,14 @@
2021/02/27 | 109184 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r57941.tar.xz
2021/02/24 | 87364 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r57877.tar.xz
2021/02/27 | 69944 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r57957.tar.xz
-2021/12/21 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r61362.tar.xz
+2021/12/28 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r61424.tar.xz
2021/03/16 | 51080 | systems/texlive/tlnet/archive/tex4ht.i386-cygwin.r58387.tar.xz
2021/02/27 | 93092 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r57961.tar.xz
2021/02/24 | 89116 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r57878.tar.xz
2021/02/24 | 76196 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r57877.tar.xz
2021/02/27 | 83896 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r57938.tar.xz
-2021/12/21 | 937372 | systems/texlive/tlnet/archive/tex4ht.r61362.tar.xz
-2021/12/21 | 1227188 | systems/texlive/tlnet/archive/tex4ht.source.r61362.tar.xz
+2021/12/28 | 937524 | systems/texlive/tlnet/archive/tex4ht.r61424.tar.xz
+2021/12/28 | 1234988 | systems/texlive/tlnet/archive/tex4ht.source.r61424.tar.xz
2021/02/25 | 185088 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r57908.tar.xz
2021/04/08 | 57760 | systems/texlive/tlnet/archive/tex4ht.win32.r58783.tar.xz
2021/03/16 | 58360 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r58387.tar.xz
@@ -289438,7 +289435,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/12/27 | 402268 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61410.tar.xz
+2021/12/28 | 402256 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61417.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
@@ -289462,7 +289459,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/12/27 | 108236 | systems/texlive/tlnet/archive/texlive-scripts.r61410.tar.xz
+2021/12/28 | 108268 | systems/texlive/tlnet/archive/texlive-scripts.r61417.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
@@ -290604,8 +290601,8 @@
2021/08/01 | 347268 | systems/texlive/tlnet/archive/vhistory.doc.r60124.tar.xz
2021/08/01 | 8400 | systems/texlive/tlnet/archive/vhistory.r60124.tar.xz
2021/08/10 | 5182308 | systems/texlive/tlnet/archive/visualfaq.doc.r60200.tar.xz
-2021/08/20 | 4578308 | systems/texlive/tlnet/archive/visualfaq-fr.doc.r60273.tar.xz
-2021/08/20 | 788 | systems/texlive/tlnet/archive/visualfaq-fr.r60273.tar.xz
+2021/12/28 | 4695644 | systems/texlive/tlnet/archive/visualfaq-fr.doc.r61420.tar.xz
+2021/12/28 | 788 | systems/texlive/tlnet/archive/visualfaq-fr.r61420.tar.xz
2021/08/10 | 568 | systems/texlive/tlnet/archive/visualfaq.r60200.tar.xz
2019/02/28 | 13043468 | systems/texlive/tlnet/archive/visualpstricks.doc.r39799.tar.xz
2019/02/28 | 432 | systems/texlive/tlnet/archive/visualpstricks.r39799.tar.xz
@@ -290774,6 +290771,9 @@
2019/02/28 | 3812 | systems/texlive/tlnet/archive/worksheet.r48423.tar.xz
2021/05/13 | 2539560 | systems/texlive/tlnet/archive/worldflags.doc.r59171.tar.xz
2021/05/13 | 1497060 | systems/texlive/tlnet/archive/worldflags.r59171.tar.xz
+2021/12/28 | 501200 | systems/texlive/tlnet/archive/wrapfig2.doc.r61423.tar.xz
+2021/12/28 | 5160 | systems/texlive/tlnet/archive/wrapfig2.r61423.tar.xz
+2021/12/28 | 16648 | systems/texlive/tlnet/archive/wrapfig2.source.r61423.tar.xz
2019/02/28 | 337900 | systems/texlive/tlnet/archive/wrapfig.doc.r22048.tar.xz
2019/02/28 | 9360 | systems/texlive/tlnet/archive/wrapfig.r22048.tar.xz
2019/02/28 | 401712 | systems/texlive/tlnet/archive/wsemclassic.doc.r31532.tar.xz
@@ -291233,16 +291233,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/12/06 | 105168 | systems/texlive/tlnet/install-tl
-2021/12/27 | 6811313 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/12/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/12/27 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/12/28 | 6811345 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/12/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/12/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2021/12/27 | 20871137 | systems/texlive/tlnet/install-tl-windows.exe
-2021/12/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/12/27 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/12/27 | 25631622 | systems/texlive/tlnet/install-tl.zip
-2021/12/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/12/27 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/12/28 | 20874173 | systems/texlive/tlnet/install-tl-windows.exe
+2021/12/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/12/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/12/28 | 25631627 | systems/texlive/tlnet/install-tl.zip
+2021/12/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/12/28 | 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
@@ -291252,7 +291252,7 @@
2021/07/03 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2021/12/15 | 49408 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2021/12/26 | 6622 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2021/12/27 | 6667 | 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
@@ -291294,12 +291294,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2021/12/27 | 17060982 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/12/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/12/28 | 17064291 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/12/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/12/21 | 86654 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2021/12/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/12/27 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/12/27 | 2336164 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/12/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/12/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/12/28 | 2334820 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2021/12/21 | 42112 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -296325,7 +296325,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/12/27 | 630565 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/12/28 | 630565 | 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
@@ -297805,9 +297805,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2021/12/09 | 39714 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2021/12/09 | 43639 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/12/27 | 256830 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/12/27 | 1396779 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/12/27 | 1293701 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/12/28 | 256817 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/12/28 | 1397595 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/12/28 | 1293283 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/12/09 | 13527 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2021/12/09 | 14417 | 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
@@ -298027,193 +298027,193 @@
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/12/27 | 630358 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/12/27 | 51588 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/12/27 | 57407 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/12/27 | 959951 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/12/27 | 1087069 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/12/27 | 28894 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/12/27 | 31539 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/12/27 | 30181 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/12/27 | 35264 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/12/27 | 50733 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/12/27 | 58370 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/12/27 | 86768 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/12/27 | 95275 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/12/27 | 68800 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/12/27 | 77073 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/12/27 | 27243 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/12/27 | 31333 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/12/27 | 332375 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/12/27 | 394271 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/12/27 | 32990 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/12/27 | 37092 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/12/27 | 51430 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/12/27 | 57278 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/12/27 | 256199 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/12/27 | 281441 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/12/27 | 179707 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/12/27 | 196120 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/12/27 | 54950 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/12/27 | 62420 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/12/27 | 21373 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/12/27 | 24153 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/12/27 | 461242 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/12/27 | 46135 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/12/27 | 52095 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/12/27 | 285454 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/12/27 | 326387 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/12/27 | 41326 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/12/27 | 45687 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/12/27 | 120296 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/12/27 | 135070 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/12/27 | 1299134 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/12/27 | 1447743 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/12/27 | 99760 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/12/27 | 113043 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/12/27 | 43639 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/12/27 | 48802 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/12/27 | 25134 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/12/27 | 28545 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/12/27 | 56962 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/12/27 | 63312 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/12/27 | 135931 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/12/27 | 155285 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/12/27 | 73598 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/12/27 | 79137 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/12/27 | 72256 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/12/27 | 81708 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/12/27 | 259275 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/12/27 | 295888 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/12/27 | 22178 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/12/27 | 25061 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/12/27 | 97105 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/12/27 | 112484 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/12/27 | 64569 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/12/27 | 73182 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/12/27 | 96826 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/12/27 | 115673 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/12/27 | 38460 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/12/27 | 43809 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/12/27 | 484479 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/12/27 | 566759 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/12/27 | 152105 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/12/27 | 168850 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/12/27 | 95449 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/12/27 | 109545 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/12/27 | 16521 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/12/27 | 18371 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/12/27 | 28387 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/12/27 | 30569 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/12/27 | 631000 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/12/27 | 682340 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/12/27 | 532337 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/12/27 | 599047 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/12/27 | 477729 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/12/27 | 528532 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/12/27 | 93990 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/12/27 | 103463 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/12/27 | 1732474 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/12/27 | 2012707 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/12/27 | 67994 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/12/27 | 74055 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/12/27 | 27261 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/12/27 | 32155 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/12/27 | 7755 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/12/27 | 8790 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/12/27 | 197374 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/12/27 | 215852 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/12/27 | 251066 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/12/27 | 286703 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/12/27 | 99372 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/12/27 | 104748 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/12/27 | 64516 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/12/27 | 74622 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/12/27 | 126741 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/12/27 | 139310 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/12/27 | 181558 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/12/27 | 202238 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/12/27 | 199836 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/12/27 | 181466 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/12/27 | 68618 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/12/27 | 76233 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/12/27 | 31413 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/12/27 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/12/27 | 38542 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/12/27 | 43894 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/12/27 | 43275 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/12/27 | 47893 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/12/27 | 45731 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/12/27 | 52279 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/12/27 | 199112 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/12/27 | 213457 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/12/27 | 36043 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/12/27 | 41220 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/12/27 | 753827 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/12/27 | 824228 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/12/27 | 200141 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/12/27 | 203081 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/12/27 | 209935 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/12/27 | 244964 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/12/27 | 78963 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/12/27 | 88227 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/12/27 | 1181005 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/12/27 | 1322403 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/12/27 | 20190 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/12/27 | 23933 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/12/27 | 31578 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/12/27 | 37374 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/12/27 | 64716 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/12/27 | 72850 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/12/27 | 50853 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/12/27 | 58548 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/12/27 | 694124 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
-2021/12/27 | 693757 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2021/12/27 | 763148 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
-2021/12/27 | 762929 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2021/12/27 | 1353499 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/12/27 | 1497476 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/12/27 | 42767 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/12/27 | 52573 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/12/27 | 57567 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/12/27 | 63700 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/12/27 | 25671 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/12/27 | 27473 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/12/27 | 16566 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/12/27 | 18486 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/12/27 | 64453 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/12/27 | 70994 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/12/27 | 157440 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/12/27 | 172344 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/12/27 | 58643 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/12/27 | 67188 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/12/27 | 101508 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/12/27 | 109263 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/12/27 | 2675897 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/12/27 | 2798717 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/12/27 | 55293 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/12/27 | 62711 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/12/27 | 37152 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/12/27 | 41203 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/12/27 | 28679 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/12/27 | 34092 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/12/27 | 67857 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/12/27 | 71895 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/12/27 | 318734 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/12/27 | 351559 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/12/27 | 55722 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/12/27 | 57416 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/12/27 | 591063 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/12/27 | 629126 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/12/27 | 39745 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/12/27 | 43683 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/12/27 | 256910 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/12/27 | 1397611 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/12/27 | 1294300 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/12/27 | 13511 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/12/27 | 14418 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/12/28 | 630358 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/12/28 | 51588 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/12/28 | 57407 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/12/28 | 959950 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/12/28 | 1087069 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/12/28 | 28892 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/12/28 | 31539 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/12/28 | 30181 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/12/28 | 35264 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/12/28 | 50733 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/12/28 | 58371 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/12/28 | 86767 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/12/28 | 95273 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/12/28 | 68800 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/12/28 | 77072 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/12/28 | 27243 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/12/28 | 31333 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/12/28 | 332373 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/12/28 | 394272 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/12/28 | 32990 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/12/28 | 37093 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/12/28 | 51429 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/12/28 | 57278 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/12/28 | 256199 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/12/28 | 281441 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/12/28 | 179707 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/12/28 | 196120 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/12/28 | 54951 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/12/28 | 62418 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/12/28 | 21372 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/12/28 | 24152 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/12/28 | 461239 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/12/28 | 46136 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/12/28 | 52096 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/12/28 | 285454 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/12/28 | 326387 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/12/28 | 41326 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/12/28 | 45687 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/12/28 | 120297 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/12/28 | 135072 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/12/28 | 1299134 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/12/28 | 1447744 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/12/28 | 99760 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/12/28 | 113044 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/12/28 | 43638 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/12/28 | 48804 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/12/28 | 25134 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/12/28 | 28545 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/12/28 | 56961 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/12/28 | 63312 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/12/28 | 135932 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/12/28 | 155287 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/12/28 | 73599 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/12/28 | 79137 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/12/28 | 72255 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/12/28 | 81707 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/12/28 | 259274 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/12/28 | 295890 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/12/28 | 22177 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/12/28 | 25061 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/12/28 | 97105 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/12/28 | 112483 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/12/28 | 64569 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/12/28 | 73180 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/12/28 | 96826 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/12/28 | 115673 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/12/28 | 38461 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/12/28 | 43809 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/12/28 | 484478 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/12/28 | 566757 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/12/28 | 152103 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/12/28 | 168851 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/12/28 | 95449 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/12/28 | 109546 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/12/28 | 16521 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/12/28 | 18371 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/12/28 | 28385 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/12/28 | 30568 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/12/28 | 631000 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/12/28 | 682341 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/12/28 | 532338 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/12/28 | 599047 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/12/28 | 477731 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/12/28 | 528529 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/12/28 | 93989 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/12/28 | 103461 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/12/28 | 1732474 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/12/28 | 2012705 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/12/28 | 67994 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/12/28 | 74055 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/12/28 | 27263 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/12/28 | 32155 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/12/28 | 7756 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/12/28 | 8791 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/12/28 | 197375 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/12/28 | 215852 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/12/28 | 251069 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/12/28 | 286704 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/12/28 | 99372 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/12/28 | 104748 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/12/28 | 64517 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/12/28 | 74621 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/12/28 | 126740 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/12/28 | 139309 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/12/28 | 181558 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/12/28 | 202237 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/12/28 | 199836 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/12/28 | 181466 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/12/28 | 68618 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/12/28 | 76233 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/12/28 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/12/28 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/12/28 | 38541 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/12/28 | 43895 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/12/28 | 43275 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/12/28 | 47894 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/12/28 | 45732 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/12/28 | 52279 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/12/28 | 199114 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/12/28 | 213458 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/12/28 | 36044 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/12/28 | 41219 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/12/28 | 753828 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/12/28 | 824228 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/12/28 | 200141 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/12/28 | 203080 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/12/28 | 209938 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/12/28 | 244964 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/12/28 | 78962 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/12/28 | 88227 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/12/28 | 1181004 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/12/28 | 1322404 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/12/28 | 20190 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/12/28 | 23932 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/12/28 | 31579 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/12/28 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/12/28 | 64716 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/12/28 | 72850 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/12/28 | 50851 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/12/28 | 58547 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/12/28 | 694125 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
+2021/12/28 | 693757 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2021/12/28 | 763147 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
+2021/12/28 | 762929 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2021/12/28 | 1353496 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/12/28 | 1497476 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/12/28 | 42767 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/12/28 | 52572 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/12/28 | 57568 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/12/28 | 63700 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/12/28 | 25671 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/12/28 | 27472 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/12/28 | 16567 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/12/28 | 18487 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/12/28 | 64453 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/12/28 | 70995 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/12/28 | 157441 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/12/28 | 172344 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/12/28 | 58642 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/12/28 | 67188 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/12/28 | 101509 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/12/28 | 109263 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/12/28 | 2675897 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/12/28 | 2798719 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/12/28 | 55295 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/12/28 | 62712 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/12/28 | 37152 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/12/28 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/12/28 | 28678 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/12/28 | 34092 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/12/28 | 67858 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/12/28 | 71895 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/12/28 | 318736 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/12/28 | 351558 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/12/28 | 55724 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/12/28 | 57416 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/12/28 | 591065 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/12/28 | 629125 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/12/28 | 39745 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/12/28 | 43682 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/12/28 | 256929 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/12/28 | 1397145 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/12/28 | 1292635 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/12/28 | 13512 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/12/28 | 14418 | 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/12/27 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/12/28 | 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
@@ -298653,7 +298653,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/12/27 | 965 | systems/win32/miktex/tm/packages/pr.ini
+2021/12/28 | 965 | 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
@@ -300362,7 +300362,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2021/12/28 | 186 | timestamp
+2021/12/29 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
@@ -301792,61 +301792,62 @@
2002/01/14 | 1029 | web/c_cpp/ctie/Makefile
2003/04/20 | 3026 | web/c_cpp/ctie/README
2011/04/16 | 35484 | web/c_cpp/ctie.zip
-2021/02/25 | 1674 | web/c_cpp/cweb/c++lib.w
-2021/02/25 | 502 | web/c_cpp/cweb/comm-amiga.ch
-2021/02/25 | 5985 | web/c_cpp/cweb/comm-bs.ch
-2021/02/25 | 5474 | web/c_cpp/cweb/comm-mac.ch
-2021/02/25 | 782 | web/c_cpp/cweb/comm-man.ch
-2021/02/25 | 25249 | web/c_cpp/cweb/common.c
-2021/02/25 | 11445 | web/c_cpp/cweb/common.h
-2021/02/25 | 48052 | web/c_cpp/cweb/common.w
-2021/02/25 | 659 | web/c_cpp/cweb/comm-os2.ch
-2021/02/25 | 897 | web/c_cpp/cweb/comm-pc.ch
-2021/02/25 | 8092 | web/c_cpp/cweb/comm-ql.ch
-2021/02/25 | 3307 | web/c_cpp/cweb/comm-vms.ch
-2021/02/25 | 2738 | web/c_cpp/cweb/comm-w32.ch
-2021/02/25 | 6660 | web/c_cpp/cweb/ctang-bs.ch
-2021/02/25 | 32337 | web/c_cpp/cweb/ctangle.c
-2021/02/25 | 54677 | web/c_cpp/cweb/ctangle.w
-2021/02/25 | 783 | web/c_cpp/cweb/ctang-man.ch
-2021/02/25 | 911 | web/c_cpp/cweb/ctang-pc.ch
-2021/02/25 | 451 | web/c_cpp/cweb/ctang-ql.ch
-2021/02/25 | 1554 | web/c_cpp/cweb/ctang-vms.ch
-2021/02/25 | 1043 | web/c_cpp/cweb/ctang-w32.ch
-2021/02/25 | 7277 | web/c_cpp/cweb/cweav-bs.ch
-2021/02/25 | 171234 | web/c_cpp/cweb/cweave.w
-2021/02/25 | 783 | web/c_cpp/cweb/cweav-man.ch
-2021/02/25 | 938 | web/c_cpp/cweb/cweav-pc.ch
-2021/02/25 | 475 | web/c_cpp/cweb/cweav-ql.ch
-2021/02/25 | 1648 | web/c_cpp/cweb/cweav-vms.ch
-2021/02/25 | 776 | web/c_cpp/cweb/cweav-w32.ch
-2021/02/25 | 3687 | web/c_cpp/cweb/cweb.1
-2021/02/25 | 8687 | web/c_cpp/cweb/cweb.el
-2021/02/25 | 26447 | web/c_cpp/cweb/cwebmac.tex
-2021/02/26 | 335909 | web/c_cpp/cweb/cwebman.pdf
-2021/02/25 | 84017 | web/c_cpp/cweb/cwebman.tex
-2021/02/25 | 578 | web/c_cpp/cweb/examples/extex.ch
-2021/02/25 | 12672 | web/c_cpp/cweb/examples/extex.w
-2021/02/25 | 10549 | web/c_cpp/cweb/examples/kspell.el
-2021/02/25 | 961 | web/c_cpp/cweb/examples/Makefile
-2021/02/25 | 8023 | web/c_cpp/cweb/examples/oemacs.el
-2021/02/25 | 38418 | web/c_cpp/cweb/examples/oemacs.w
-2021/02/25 | 2946 | web/c_cpp/cweb/examples/README
-2021/02/25 | 6835 | web/c_cpp/cweb/examples/treeprint.w
-2021/02/25 | 217 | web/c_cpp/cweb/examples/wc-dos.ch
-2021/02/25 | 9029 | web/c_cpp/cweb/examples/wc.w
-2021/02/25 | 25355 | web/c_cpp/cweb/examples/wmerge.w
-2021/02/25 | 599 | web/c_cpp/cweb/examples/wmerg-pc.ch
-2021/02/25 | 581 | web/c_cpp/cweb/examples/wmer-os2.ch
-2021/02/25 | 20913 | web/c_cpp/cweb/examples/wordtest.w
-2021/02/25 | 1858 | web/c_cpp/cweb/examples/xlib_types.w
-2021/02/25 | 5811 | web/c_cpp/cweb/examples/xview_types.w
-2021/02/25 | 5150 | web/c_cpp/cweb/Makefile
-2021/02/25 | 1542 | web/c_cpp/cweb/makefile.bs
+2021/12/26 | 1674 | web/c_cpp/cweb/c++lib.w
+2021/12/26 | 502 | web/c_cpp/cweb/comm-amiga.ch
+2021/12/26 | 5910 | web/c_cpp/cweb/comm-bs.ch
+2021/12/26 | 5321 | web/c_cpp/cweb/comm-mac.ch
+2021/12/26 | 782 | web/c_cpp/cweb/comm-man.ch
+2021/12/26 | 25262 | web/c_cpp/cweb/common.c
+2021/12/26 | 11300 | web/c_cpp/cweb/common.h
+2021/12/26 | 47861 | web/c_cpp/cweb/common.w
+2021/12/26 | 659 | web/c_cpp/cweb/comm-os2.ch
+2021/12/26 | 895 | web/c_cpp/cweb/comm-pc.ch
+2021/12/26 | 8102 | web/c_cpp/cweb/comm-ql.ch
+2021/12/26 | 3320 | web/c_cpp/cweb/comm-vms.ch
+2021/12/26 | 2738 | web/c_cpp/cweb/comm-w32.ch
+2021/12/26 | 5381 | web/c_cpp/cweb/ctang-bs.ch
+2021/12/26 | 32705 | web/c_cpp/cweb/ctangle.c
+2021/12/26 | 55890 | web/c_cpp/cweb/ctangle.w
+2021/12/26 | 783 | web/c_cpp/cweb/ctang-man.ch
+2021/12/26 | 985 | web/c_cpp/cweb/ctang-pc.ch
+2021/12/26 | 451 | web/c_cpp/cweb/ctang-ql.ch
+2021/12/26 | 1554 | web/c_cpp/cweb/ctang-vms.ch
+2021/12/26 | 1011 | web/c_cpp/cweb/ctang-w32.ch
+2021/12/26 | 7019 | web/c_cpp/cweb/cweav-bs.ch
+2021/12/26 | 177182 | web/c_cpp/cweb/cweave.w
+2021/12/26 | 783 | web/c_cpp/cweb/cweav-man.ch
+2021/12/26 | 937 | web/c_cpp/cweb/cweav-pc.ch
+2021/12/26 | 475 | web/c_cpp/cweb/cweav-ql.ch
+2021/12/26 | 1648 | web/c_cpp/cweb/cweav-vms.ch
+2021/12/26 | 744 | web/c_cpp/cweb/cweav-w32.ch
+2021/12/26 | 3973 | web/c_cpp/cweb/cweb.1
+2021/12/26 | 8687 | web/c_cpp/cweb/cweb.el
+2021/12/26 | 26692 | web/c_cpp/cweb/cwebmac.tex
+2021/12/28 | 344141 | web/c_cpp/cweb/cwebman.pdf
+2021/12/26 | 84380 | web/c_cpp/cweb/cwebman.tex
+2021/12/26 | 578 | web/c_cpp/cweb/examples/extex.ch
+2021/12/26 | 12672 | web/c_cpp/cweb/examples/extex.w
+2021/12/26 | 10549 | web/c_cpp/cweb/examples/kspell.el
+2021/12/26 | 961 | web/c_cpp/cweb/examples/Makefile
+2021/12/26 | 8023 | web/c_cpp/cweb/examples/oemacs.el
+2021/12/26 | 38418 | web/c_cpp/cweb/examples/oemacs.w
+2021/12/26 | 2946 | web/c_cpp/cweb/examples/README
+2021/12/26 | 6835 | web/c_cpp/cweb/examples/treeprint.w
+2021/12/26 | 217 | web/c_cpp/cweb/examples/wc-dos.ch
+2021/12/26 | 9029 | web/c_cpp/cweb/examples/wc.w
+2021/12/26 | 25355 | web/c_cpp/cweb/examples/wmerge.w
+2021/12/26 | 599 | web/c_cpp/cweb/examples/wmerg-pc.ch
+2021/12/26 | 581 | web/c_cpp/cweb/examples/wmer-os2.ch
+2021/12/26 | 20913 | web/c_cpp/cweb/examples/wordtest.w
+2021/12/26 | 1858 | web/c_cpp/cweb/examples/xlib_types.w
+2021/12/26 | 5811 | web/c_cpp/cweb/examples/xview_types.w
+2021/12/26 | 2176 | web/c_cpp/cweb/iso_types.w
+2021/12/26 | 5249 | web/c_cpp/cweb/Makefile
+2021/12/26 | 1542 | web/c_cpp/cweb/makefile.bs
1992/09/07 | 254049 | web/c_cpp/cweb-p/cweb-p.tar.gz
-2021/02/25 | 15618 | web/c_cpp/cweb/prod.w
-2021/02/25 | 3891 | web/c_cpp/cweb/README
-2021/02/25 | 2858 | web/c_cpp/cweb/readme.ql
+2021/12/26 | 18610 | web/c_cpp/cweb/prod.w
+2021/12/26 | 3940 | web/c_cpp/cweb/README
+2021/12/26 | 2858 | web/c_cpp/cweb/readme.ql
1996/09/18 | 23499 | web/c_cpp/cwebx/common.c
1997/09/23 | 2809 | web/c_cpp/cwebx/common.h
1994/12/19 | 9852 | web/c_cpp/cwebx/common.inc
@@ -301874,7 +301875,7 @@
1998/02/10 | 39270 | web/c_cpp/cwebx/rules.w
1998/01/13 | 40083 | web/c_cpp/cwebx/sample.ps
2006/03/21 | 667661 | web/c_cpp/cwebx.zip
-2021/03/01 | 565801 | web/c_cpp/cweb.zip
+2021/12/28 | 577272 | web/c_cpp/cweb.zip
1993/02/22 | 37233 | web/clip/clip_ann.ps
1993/02/24 | 32049 | web/clip/clip_style_a.ps
1993/02/24 | 9202 | web/clip/clip_style_b.ps
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 0ec7de0169..8822342d6a 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 44ec5dce1b..3c91efd763 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,1732 +1,1860 @@
+2021/12/28 | 99 | graphics/asymptote/base/asy_filetype.vim
+2021/12/28 | 999 | graphics/asymptote/GUI/res/icons/brush.svg
+2021/12/28 | 998 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
+2021/12/28 | 99760 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/12/28 | 994 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/common_footer.htm
+2021/12/28 | 9945 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/SemanticTokens.h
+2021/12/28 | 994303 | graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
+2021/12/28 | 99372 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/12/28 | 9923 | graphics/asymptote/profiler.h
+2021/12/28 | 990 | graphics/pstricks/contrib/pst-geometrictools/README.md
+2021/12/28 | 990 | graphics/asymptote/examples/RiemannSphere.asy
+2021/12/28 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
+2021/12/28 | 988908 | systems/texlive/tlnet/archive/kaytannollista-latexia.doc.r61419.tar.xz
+2021/12/28 | 986 | graphics/asymptote/predicates.h
+2021/12/28 | 986 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/quickstart.cpp
+2021/12/28 | 9867 | graphics/asymptote/runstring.in
+2021/12/28 | 9826 | graphics/asymptote/base/rationalSimplex.asy
+2021/12/28 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
+2021/12/28 | 9811 | graphics/asymptote/doc/asymptote.sty
+2021/12/28 | 980 | graphics/asymptote/examples/filesurface.asy
+2021/12/28 | 978 | graphics/asymptote/examples/worksheet.asy
+2021/12/28 | 9772 | graphics/asymptote/fundec.cc
+2021/12/28 | 9754 | graphics/asymptote/triple.h
+2021/12/28 | 974 | graphics/asymptote/prc/Makefile
+2021/12/28 | 973 | graphics/asymptote/examples/fequlogo.asy
+2021/12/28 | 972 | graphics/asymptote/examples/triads.asy
+2021/12/28 | 97105 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/12/28 | 969 | graphics/asymptote/runfile.h
+2021/12/28 | 968 | graphics/asymptote/LspCpp/packages.config
+2021/12/28 | 96826 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/12/28 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
+2021/12/28 | 967 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/overview_footer.htm
+2021/12/28 | 966 | graphics/asymptote/tests/array/solve.asy
+2021/12/28 | 965 | systems/win32/miktex/tm/packages/pr.ini
+2021/12/28 | 964 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
+2021/12/28 | 95 | graphics/asymptote/prc/test.asy
+2021/12/28 | 959950 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/12/28 | 9562 | graphics/asymptote/base/bezulate.asy
+2021/12/28 | 954 | graphics/asymptote/examples/poster.asy
+2021/12/28 | 95449 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/12/28 | 953 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/workspaceFolders.h
+2021/12/28 | 95273 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/12/28 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
+2021/12/28 | 949 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Context.cpp
+2021/12/28 | 94848 | graphics/asymptote/GUI/Window1.py
+2021/12/28 | 946 | graphics/asymptote/examples/animations/cube.asy
+2021/12/28 | 942 | graphics/asymptote/statistics.h
+2021/12/28 | 93989 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/12/28 | 937 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_open.h
+2021/12/28 | 937524 | systems/texlive/tlnet/archive/tex4ht.r61424.tar.xz
+2021/12/28 | 936 | graphics/asymptote/tests/array/array.asy
+2021/12/28 | 9362 | graphics/asymptote/glrender.h
+2021/12/28 | 934 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/declaration_definition.h
+2021/12/28 | 9334 | graphics/asymptote/base/plain_paths.asy
+2021/12/28 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
+2021/12/28 | 930 | graphics/asymptote/examples/polararea.asy
+2021/12/28 | 9251 | graphics/asymptote/errors
+2021/12/28 | 920 | graphics/asymptote/makeUnique.h
+2021/12/28 | 916 | graphics/asymptote/opcodes.h
+2021/12/28 | 913778 | graphics/pgf/contrib/yquant.zip
+2021/12/28 | 912 | graphics/asymptote/doc/errorbars.asy
+2021/12/28 | 9104 | graphics/asymptote/symbol.cc
+2021/12/28 | 908 | graphics/asymptote/modifier.h
+2021/12/28 | 908 | graphics/asymptote/coenv.h
+2021/12/28 | 908 | graphics/asymptote/base/map.asy
+2021/12/28 | 9088 | graphics/asymptote/application.h
+2021/12/28 | 907 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/OverridableMethod.h
+2021/12/28 | 902 | graphics/asymptote/shaders.h
+2021/12/28 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
+2021/12/28 | 901 | graphics/asymptote/virtualfieldaccess.cc
+2021/12/28 | 901 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/executeCommand.h
+2021/12/28 | 9015 | graphics/asymptote/psfile.h
+2021/12/28 | 8990 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/TcpServer.cpp
+2021/12/28 | 89902 | graphics/asymptote/webgl/gl.js
+2021/12/28 | 897 | graphics/asymptote/doc/flowchartdemo.asy
+2021/12/28 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
+2021/12/28 | 8870 | graphics/asymptote/base/asy.vim
+2021/12/28 | 886 | graphics/asymptote/angle.h
+2021/12/28 | 8856 | graphics/asymptote/runmath.in
+2021/12/28 | 883 | graphics/asymptote/cudareflect/helper.cuh
+2021/12/28 | 8836 | graphics/asymptote/doc/asy.1
+2021/12/28 | 88227 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/12/28 | 880 | graphics/asymptote/doc/xasy.1x
+2021/12/28 | 879 | graphics/asymptote/examples/markregular.asy
+2021/12/28 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
+2021/12/28 | 8791 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/12/28 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
+2021/12/28 | 877 | graphics/asymptote/doc/markers2.asy
+2021/12/28 | 876 | graphics/asymptote/GUI/res/icons/edit.svg
+2021/12/28 | 872 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/range_formatting.h
+2021/12/28 | 8711 | graphics/asymptote/base/plain_pens.asy
+2021/12/28 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
+2021/12/28 | 868 | graphics/asymptote/examples/twistedtubes.asy
+2021/12/28 | 868 | graphics/asymptote/doc/imagecontour.asy
+2021/12/28 | 867 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Condition.h
+2021/12/28 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
+2021/12/28 | 86767 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/12/28 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
+2021/12/28 | 86123 | graphics/asymptote/base/three.asy
+2021/12/28 | 860656 | macros/latex/required/babel/base/babel.pdf
+2021/12/28 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
+2021/12/28 | 858 | graphics/asymptote/GUI/res/icons/center.svg
+2021/12/28 | 856 | graphics/asymptote/examples/animations/sphere.asy
+2021/12/28 | 8567 | graphics/asymptote/xstream.h
+2021/12/28 | 8521 | graphics/asymptote/LspCpp/LibLsp/lsp/ClientPreferences.h
+2021/12/28 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
+2021/12/28 | 850 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
+2021/12/28 | 845 | graphics/asymptote/envcompleter.h
+2021/12/28 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
+2021/12/28 | 844 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
+2021/12/28 | 8439 | graphics/asymptote/runpath.in
+2021/12/28 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/ProcessIoService.h
+2021/12/28 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/lsRange.h
+2021/12/28 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
+2021/12/28 | 8429 | graphics/asymptote/examples/thermodynamics.asy
+2021/12/28 | 8411 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference.dox
+2021/12/28 | 839 | graphics/asymptote/examples/venn3.asy
+2021/12/28 | 838 | graphics/asymptote/GUI/res/icons/close-round.svg
+2021/12/28 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
+2021/12/28 | 83449 | graphics/asymptote/lex.yy.cc
+2021/12/28 | 8342 | graphics/asymptote/base/simplex.asy
+2021/12/28 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
+2021/12/28 | 831 | graphics/asymptote/runbacktrace.in
+2021/12/28 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
+2021/12/28 | 8303104 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
+2021/12/28 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
+2021/12/28 | 8296 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.txt
+2021/12/28 | 828 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
+2021/12/28 | 827 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
+2021/12/28 | 825 | graphics/asymptote/examples/xxsq01y.asy
+2021/12/28 | 8243 | graphics/asymptote/base/asy-kate.sh
+2021/12/28 | 824228 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/12/28 | 822 | graphics/asymptote/GUI/res/icons/android-expand.svg
+2021/12/28 | 821 | graphics/asymptote/v3dtypes.py
+2021/12/28 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
+2021/12/28 | 820 | graphics/asymptote/webgl/license
+2021/12/28 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
+2021/12/28 | 81 | graphics/asymptote/doc/bezier.asy
+2021/12/28 | 818 | graphics/asymptote/GLTextures.cc
+2021/12/28 | 81707 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/12/28 | 814 | graphics/asymptote/camperror.h
+2021/12/28 | 81162 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
+2021/12/28 | 810 | graphics/asymptote/examples/orthocenter.asy
+2021/12/28 | 8096 | graphics/asymptote/runhistory.cc
+2021/12/28 | 8095 | graphics/asymptote/LspCpp/example/WebsocketExample.cpp
+2021/12/28 | 808 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_save.h
+2021/12/28 | 806 | graphics/asymptote/GUI/res/icons/android-refresh.svg
+2021/12/28 | 8037 | graphics/asymptote/name.cc
+2021/12/28 | 802 | graphics/asymptote/GUI/res/icons/android-camera.svg
+2021/12/28 | 802 | graphics/asymptote/examples/vertexshading.asy
+2021/12/28 | 802 | graphics/asymptote/examples/controlsystem.asy
+2021/12/28 | 801 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/Makefile
+2021/12/28 | 8008 | graphics/asymptote/runpath3d.in
+2021/12/28 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
+2021/12/28 | 794 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/execute_command.h
+2021/12/28 | 794462 | macros/latex/required/babel/base/locale.zip
+2021/12/28 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
+2021/12/28 | 792 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/formatting.h
+2021/12/28 | 792 | graphics/asymptote/doc/secondaryaxis.asy
+2021/12/28 | 79137 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/12/28 | 79003 | graphics/asymptote/GUI/windows/window1.ui
+2021/12/28 | 78 | graphics/asymptote/examples/randompath3.asy
+2021/12/28 | 789 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
+2021/12/28 | 78962 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/12/28 | 788 | systems/texlive/tlnet/archive/visualfaq-fr.r61420.tar.xz
+2021/12/28 | 780 | graphics/asymptote/GUI/res/icons/check.svg
+2021/12/28 | 77 | graphics/asymptote/tests/gc/string.asy
+2021/12/28 | 7790 | graphics/asymptote/coder.cc
+2021/12/28 | 778 | graphics/asymptote/LspCpp/LibLsp/lsp/lsDocumentUri.h
+2021/12/28 | 7780 | graphics/asymptote/cudareflect/main.cc
+2021/12/28 | 7756 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/12/28 | 7737 | graphics/asymptote/LspCpp/network/string_view.hpp
+2021/12/28 | 770 | graphics/asymptote/asy.rc
+2021/12/28 | 77072 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/12/28 | 76 | graphics/asymptote/examples/grid.asy
+2021/12/28 | 768 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_close.h
+2021/12/28 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
+2021/12/28 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
+2021/12/28 | 7671 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Context.h
+2021/12/28 | 766 | graphics/asymptote/vm.h
+2021/12/28 | 764 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
+2021/12/28 | 7639 | graphics/asymptote/LICENSE.LESSER
+2021/12/28 | 7632 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool.hpp
+2021/12/28 | 763147 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
+2021/12/28 | 762 | graphics/asymptote/examples/clockarray.asy
+2021/12/28 | 762929 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2021/12/28 | 76233 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/12/28 | 7619 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/threadpool.css
+2021/12/28 | 759 | graphics/asymptote/GUI/res/icons/plus-round.svg
+2021/12/28 | 754 | graphics/asymptote/GUI/res/icons/circle.svg
+2021/12/28 | 754 | graphics/asymptote/doc/graphmarkers.asy
+2021/12/28 | 753828 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/12/28 | 751 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/publishDiagnostics.h
+2021/12/28 | 74 | graphics/asymptote/LspCpp/LibLsp/lsp/method_type.h
+2021/12/28 | 748 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
+2021/12/28 | 747 | graphics/asymptote/examples/pseudosphere.asy
+2021/12/28 | 746 | graphics/asymptote/tests/array/sort.asy
+2021/12/28 | 74621 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/12/28 | 7461 | macros/latex/required/babel/base/babel.ins
+2021/12/28 | 743 | graphics/asymptote/examples/xxsq01.asy
+2021/12/28 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
+2021/12/28 | 7407 | graphics/asymptote/base/graph_splinetype.asy
+2021/12/28 | 74055 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/12/28 | 739 | graphics/asymptote/examples/condor.asy
+2021/12/28 | 738 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
+2021/12/28 | 737 | graphics/asymptote/tests/array/determinant.asy
+2021/12/28 | 73599 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/12/28 | 734 | graphics/asymptote/examples/quilt.asy
+2021/12/28 | 73435 | graphics/asymptote/GL/glxew.h
+2021/12/28 | 733 | graphics/asymptote/GUI/xasySvg.py
+2021/12/28 | 73254 | graphics/asymptote/runarray.cc
+2021/12/28 | 73180 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
2021/12/28 | 731648 | macros/latex/contrib/diffcoeff/diffcoeff.pdf
+2021/12/28 | 730 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse_authority.hpp
+2021/12/28 | 73066 | graphics/asymptote/base/three_surface.asy
+2021/12/28 | 7305 | graphics/asymptote/base/stats.asy
+2021/12/28 | 7302 | graphics/asymptote/base/markers.asy
+2021/12/28 | 72 | graphics/asymptote/tests/gc/pen.asy
+2021/12/28 | 729 | graphics/asymptote/base/labelpath.asy
+2021/12/28 | 7295 | graphics/asymptote/base/plain.asy
+2021/12/28 | 72850 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/12/28 | 727 | graphics/asymptote/examples/fermi.asy
+2021/12/28 | 7274 | graphics/asymptote/runtime.pl
+2021/12/28 | 722 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/searchSymbols.h
+2021/12/28 | 72255 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/12/28 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
+2021/12/28 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
+2021/12/28 | 719123 | macros/latex/required/babel/base/babel.dtx
+2021/12/28 | 71895 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/12/28 | 716 | systems/texlive/tlnet/archive/collection-langeuropean.r61419.tar.xz
+2021/12/28 | 7152 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_completion.h
+2021/12/28 | 714 | graphics/asymptote/mod.h
+2021/12/28 | 714 | graphics/asymptote/LspCpp/network/uri/detail/uri_resolve.hpp
+2021/12/28 | 714 | graphics/asymptote/examples/unitoctantx.asy
+2021/12/28 | 713 | graphics/asymptote/GUI/res/icons/arrow-move.svg
+2021/12/28 | 713 | graphics/asymptote/examples/gamma3.asy
+2021/12/28 | 71368 | graphics/asymptote/base/asy-mode.el
+2021/12/28 | 71201 | graphics/asymptote/prc/oPRCFile.cc
+2021/12/28 | 711 | graphics/asymptote/examples/partialsurface.asy
+2021/12/28 | 710 | graphics/asymptote/examples/fjortoft.asy
+2021/12/28 | 70 | graphics/asymptote/tests/gc/transform.asy
+2021/12/28 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
+2021/12/28 | 7099 | graphics/asymptote/config.h.in
+2021/12/28 | 70995 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/12/28 | 706 | graphics/asymptote/LspCpp/LibLsp/lsp/AbsolutePath.h
+2021/12/28 | 70102 | graphics/asymptote/base/graph3.asy
+2021/12/28 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
+2021/12/28 | 695 | graphics/asymptote/GUI/res/icons/android-close.svg
+2021/12/28 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
+2021/12/28 | 694125 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
+2021/12/28 | 693 | graphics/asymptote/LspCpp/LibLsp/lsp/general/progress.h
+2021/12/28 | 693757 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2021/12/28 | 6917 | graphics/asymptote/LspCpp/network/uri/uri_builder.hpp
+2021/12/28 | 6911 | graphics/asymptote/errortest.asy
+2021/12/28 | 690 | graphics/asymptote/examples/layers.asy
+2021/12/28 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
+2021/12/28 | 688 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentEdit.h
+2021/12/28 | 688 | graphics/asymptote/examples/centroidfg.asy
+2021/12/28 | 6889 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
+2021/12/28 | 68800 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/12/28 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
+2021/12/28 | 68618 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/12/28 | 683 | graphics/asymptote/examples/fractaltree.asy
+2021/12/28 | 682341 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/12/28 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
+2021/12/28 | 6811345 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/12/28 | 680 | graphics/asymptote/tests/array/delete.asy
+2021/12/28 | 67 | graphics/asymptote/LspCpp/third_party/threadpool/project-root.jam
+2021/12/28 | 679 | graphics/asymptote/examples/genusthree.asy
+2021/12/28 | 67994 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/12/28 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
+2021/12/28 | 6787 | graphics/asymptote/drawlabel.cc
+2021/12/28 | 67858 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/12/28 | 677 | graphics/asymptote/doc/Bode.asy
+2021/12/28 | 677 | graphics/asymptote/base/shaders/vertex.glsl
+2021/12/28 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
+2021/12/28 | 676 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentItem.h
+2021/12/28 | 674 | graphics/asymptote/GUI/res/icons/android-delete.svg
+2021/12/28 | 674 | graphics/asymptote/examples/sqrtx01.asy
+2021/12/28 | 673 | graphics/asymptote/GUI/res/icons/save.svg
+2021/12/28 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
+2021/12/28 | 6725 | graphics/asymptote/guide.h
+2021/12/28 | 67188 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/12/28 | 6717 | graphics/asymptote/GUI/xasyOptions.py
+2021/12/28 | 670 | graphics/asymptote/base/v3dtypes.asy
+2021/12/28 | 66 | graphics/asymptote/examples/shade.asy
+2021/12/28 | 669 | graphics/asymptote/drawpath.h
+2021/12/28 | 66838 | graphics/asymptote/base/webgl/asygl.js
+2021/12/28 | 667 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentPositionParams.h
+2021/12/28 | 667 | graphics/asymptote/examples/spring.asy
+2021/12/28 | 66751 | graphics/asymptote/prc/writePRC.cc
+2021/12/28 | 6650 | graphics/asymptote/getopt.h
+2021/12/28 | 663 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool.hpp
+2021/12/28 | 6634 | graphics/asymptote/simpson.cc
+2021/12/28 | 65 | graphics/asymptote/tests/gc/guide.asy
+2021/12/28 | 658 | graphics/asymptote/LspCpp/network/uri/detail/uri_advance_parts.hpp
+2021/12/28 | 658 | graphics/asymptote/examples/NURBScurve.asy
+2021/12/28 | 657 | graphics/asymptote/examples/lowupint.asy
+2021/12/28 | 657 | graphics/asymptote/examples/100d.views
+2021/12/28 | 657 | graphics/asymptote/base/reload.js
+2021/12/28 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
+2021/12/28 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
+2021/12/28 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
+2021/12/28 | 6550 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/scheduling_policies.hpp
+2021/12/28 | 654 | graphics/asymptote/fpu.h
+2021/12/28 | 654 | graphics/asymptote/examples/limit.asy
+2021/12/28 | 6528 | systems/texlive/tlnet/archive/collection-latexextra.r61423.tar.xz
+2021/12/28 | 6528 | graphics/asymptote/lspserv.h
+2021/12/28 | 6525 | graphics/asymptote/drawfill.h
+2021/12/28 | 650 | graphics/asymptote/prcfile.h
+2021/12/28 | 6503 | graphics/asymptote/tests/types/constructor.asy
+2021/12/28 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
+2021/12/28 | 64716 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/12/28 | 64569 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/12/28 | 64517 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/12/28 | 64453 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/12/28 | 643 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/common_footer.htm
+2021/12/28 | 64207 | graphics/asymptote/base/graph.asy
+2021/12/28 | 641 | graphics/asymptote/examples/pOrbital.asy
+2021/12/28 | 6414 | graphics/asymptote/mathop.h
+2021/12/28 | 6402 | graphics/asymptote/main.cc
+2021/12/28 | 639 | graphics/asymptote/tests/arith/transform.asy
+2021/12/28 | 639 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
+2021/12/28 | 638776 | systems/texlive/tlnet/archive/asmejour.doc.r61421.tar.xz
+2021/12/28 | 6386 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/threaded_queue.h
+2021/12/28 | 637 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
+2021/12/28 | 637 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
+2021/12/28 | 6370 | graphics/asymptote/asymptote.nsi
+2021/12/28 | 63700 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/12/28 | 6369 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/traits.h
+2021/12/28 | 6367332 | systems/texlive/tlnet/archive/newtx.r61418.tar.xz
+2021/12/28 | 6350 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.txt
+2021/12/28 | 633 | graphics/asymptote/GUI/res/icons/android-done.svg
+2021/12/28 | 633820 | systems/texlive/tlnet/archive/newtx.doc.r61418.tar.xz
+2021/12/28 | 63314 | graphics/asymptote/GL/wglew.h
+2021/12/28 | 63312 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/12/28 | 632 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/SCTConfig.h
+2021/12/28 | 632 | graphics/asymptote/examples/label3zoom.asy
+2021/12/28 | 631 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
+2021/12/28 | 631 | graphics/asymptote/locate.h
+2021/12/28 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
+2021/12/28 | 6318 | graphics/asymptote/doc/leastsquares.dat
+2021/12/28 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
+2021/12/28 | 631000 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/12/28 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
+2021/12/28 | 630565 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/12/28 | 630358 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/12/28 | 62 | graphics/asymptote/tests/gc/array.asy
+2021/12/28 | 62 | graphics/asymptote/revision.cc
+2021/12/28 | 629125 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/12/28 | 628 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/message.h
+2021/12/28 | 628 | graphics/asymptote/examples/wedge.asy
+2021/12/28 | 628 | graphics/asymptote/examples/polarcircle.asy
+2021/12/28 | 6288 | graphics/asymptote/transform.h
+2021/12/28 | 6287 | graphics/asymptote/base/plain_prethree.asy
+2021/12/28 | 6278 | graphics/asymptote/base/plain_filldraw.asy
+2021/12/28 | 6275 | graphics/asymptote/generate_enums.py
+2021/12/28 | 62712 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/12/28 | 626 | graphics/asymptote/examples/venn.asy
+2021/12/28 | 625 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/overview_footer.htm
+2021/12/28 | 625 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
+2021/12/28 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
+2021/12/28 | 62418 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/12/28 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
+2021/12/28 | 620 | graphics/asymptote/tests/arith/integer.asy
+2021/12/28 | 61 | graphics/asymptote/examples/axialshade.asy
+2021/12/28 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
+2021/12/28 | 6189 | graphics/asymptote/camp.tab.h
+2021/12/28 | 617 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateConstructors.h
+2021/12/28 | 617 | graphics/asymptote/doc/logo.asy
+2021/12/28 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
+2021/12/28 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
+2021/12/28 | 6159 | graphics/asymptote/base/plain_strings.asy
+2021/12/28 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
+2021/12/28 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
+2021/12/28 | 611 | graphics/asymptote/GUI/xasy.py
+2021/12/28 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
+2021/12/28 | 610 | graphics/asymptote/examples/impact.asy
+2021/12/28 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
+2021/12/28 | 609 | graphics/asymptote/keywords.cc
+2021/12/28 | 60939 | graphics/asymptote/runtime.cc
+2021/12/28 | 608 | graphics/asymptote/examples/spline.asy
+2021/12/28 | 608 | graphics/asymptote/base/size10.asy
+2021/12/28 | 604 | graphics/asymptote/doc/flow.asy
+2021/12/28 | 602 | graphics/asymptote/examples/treetest.asy
+2021/12/28 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
+2021/12/28 | 600 | graphics/asymptote/base/size11.asy
+2021/12/28 | 60074 | graphics/asymptote/GUI/xasy2asy.py
+2021/12/28 | 59 | graphics/asymptote/examples/stroke3.asy
+2021/12/28 | 599047 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/12/28 | 598 | graphics/asymptote/examples/integraltest.asy
+2021/12/28 | 5987 | graphics/asymptote/runfile.in
+2021/12/28 | 5975 | graphics/asymptote/base/three_tube.asy
+2021/12/28 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
+2021/12/28 | 594 | graphics/asymptote/LspCpp/network/uri/detail/uri_normalize.hpp
+2021/12/28 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
+2021/12/28 | 591 | graphics/asymptote/examples/sinc.asy
+2021/12/28 | 591065 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/12/28 | 58 | graphics/asymptote/examples/progrid.asy
+2021/12/28 | 589 | graphics/asymptote/examples/trefoilknot.asy
+2021/12/28 | 5895 | graphics/pgf/contrib/yquant/README.md
+2021/12/28 | 588 | graphics/asymptote/LspCpp/LibLsp/lsp/out_list.h
+2021/12/28 | 5883 | graphics/asymptote/Delaunay.cc
+2021/12/28 | 587 | graphics/asymptote/LspCpp/LibLsp/lsp/ExecuteCommandParams.h
+2021/12/28 | 5877 | graphics/asymptote/base/shaders/fragment.glsl
+2021/12/28 | 586 | graphics/asymptote/GUI/xasyStrings.py
+2021/12/28 | 58642 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/12/28 | 58547 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/12/28 | 58371 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/12/28 | 582 | graphics/asymptote/examples/cos3.asy
+2021/12/28 | 5823 | graphics/asymptote/drawpath3.h
+2021/12/28 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
+2021/12/28 | 581 | graphics/asymptote/examples/BezierSaddle.asy
+2021/12/28 | 580 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/did_change_configuration.h
+2021/12/28 | 580 | graphics/asymptote/examples/xsin1x.asy
+2021/12/28 | 57 | graphics/asymptote/GUI/requirements.txt
+2021/12/28 | 579 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/findLinks.h
+2021/12/28 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
+2021/12/28 | 579 | graphics/asymptote/examples/sin3.asy
+2021/12/28 | 579 | graphics/asymptote/examples/exp3.asy
+2021/12/28 | 57944 | graphics/asymptote/runpicture.cc
+2021/12/28 | 578 | graphics/asymptote/base/annotate.asy
+2021/12/28 | 5789 | graphics/asymptote/base/trembling.asy
+2021/12/28 | 577272 | web/c_cpp/cweb.zip
+2021/12/28 | 576 | graphics/asymptote/examples/threeviews.asy
+2021/12/28 | 576 | graphics/asymptote/examples/circles.asy
+2021/12/28 | 57688 | graphics/asymptote/glrender.cc
+2021/12/28 | 57568 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/12/28 | 57416 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/12/28 | 57407 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/12/28 | 5735 | graphics/asymptote/base/plain_scaling.asy
+2021/12/28 | 5734 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/protocol.h
+2021/12/28 | 5733 | graphics/asymptote/item.h
+2021/12/28 | 572 | systems/texlive/tlnet/archive/kaytannollista-latexia.r61419.tar.xz
+2021/12/28 | 572 | graphics/asymptote/examples/curvedlabel3.asy
+2021/12/28 | 57278 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/12/28 | 5712 | graphics/asymptote/bezierpatch.h
+2021/12/28 | 570 | graphics/asymptote/examples/fillcontour.asy
+2021/12/28 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
+2021/12/28 | 56961 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/12/28 | 5691 | graphics/asymptote/name.h
+2021/12/28 | 568 | graphics/asymptote/LspCpp/network/uri/config.hpp
+2021/12/28 | 566 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/highlight.h
+2021/12/28 | 566757 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/12/28 | 565 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateAccessors.h
+2021/12/28 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
+2021/12/28 | 5621 | graphics/asymptote/errormsg.h
+2021/12/28 | 55991 | graphics/asymptote/base/smoothcontour3.asy
+2021/12/28 | 558 | graphics/asymptote/examples/floatingdisk.asy
+2021/12/28 | 5586 | graphics/asymptote/interact.cc
+2021/12/28 | 557 | graphics/asymptote/examples/Pythagoras.asy
+2021/12/28 | 5578 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp
+2021/12/28 | 55726 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
+2021/12/28 | 55724 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/12/28 | 5566 | graphics/asymptote/drawpath3.cc
+2021/12/28 | 5543 | graphics/asymptote/examples/filesurface.dat
+2021/12/28 | 5537 | graphics/asymptote/examples/cpkcolors.asy
+2021/12/28 | 552 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse.hpp
+2021/12/28 | 55295 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/12/28 | 54 | graphics/asymptote/tests/gc/funcall.asy
+2021/12/28 | 54951 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/12/28 | 548 | graphics/asymptote/v3dtypes.h
+2021/12/28 | 548 | graphics/asymptote/examples/equilchord.asy
+2021/12/28 | 548 | graphics/asymptote/cudareflect/Makefile
+2021/12/28 | 547 | graphics/asymptote/examples/tetra.asy
+2021/12/28 | 5441 | graphics/asymptote/env.cc
+2021/12/28 | 54109 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/optional.hpp
+2021/12/28 | 53997 | graphics/asymptote/settings.cc
+2021/12/28 | 537364 | support/latexdiff.zip
+2021/12/28 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
+2021/12/28 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
+2021/12/28 | 5328 | graphics/asymptote/LspCpp/LibLsp/lsp/working_files.cpp
+2021/12/28 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
+2021/12/28 | 532338 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/12/28 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
+2021/12/28 | 52 | graphics/asymptote/doc/square.asy
+2021/12/28 | 528529 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/12/28 | 5279 | graphics/asymptote/base/bsp.asy
+2021/12/28 | 5278 | graphics/asymptote/pair.h
+2021/12/28 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
+2021/12/28 | 5272 | graphics/asymptote/GUI/labelEditor.py
+2021/12/28 | 5265 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/tutorial.cpp
+2021/12/28 | 5262 | graphics/asymptote/patches/bison.patch
+2021/12/28 | 525 | graphics/asymptote/examples/vectorfield3.asy
+2021/12/28 | 52572 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/12/28 | 5250 | graphics/asymptote/pipestream.cc
+2021/12/28 | 524 | graphics/asymptote/doc/brokenaxis.asy
+2021/12/28 | 5238 | graphics/asymptote/base/animation.asy
+2021/12/28 | 52279 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/12/28 | 5221 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.dox
+2021/12/28 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
+2021/12/28 | 521 | graphics/asymptote/base/shaders/presum.glsl
+2021/12/28 | 5216 | graphics/asymptote/examples/mosaic.asy
+2021/12/28 | 520 | graphics/asymptote/examples/smoothelevation.asy
+2021/12/28 | 52096 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/12/28 | 5203 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.dox
+2021/12/28 | 5202 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.dox
+2021/12/28 | 519 | graphics/asymptote/examples/extrudedcontour.asy
+2021/12/28 | 5196 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.dox
+2021/12/28 | 518 | graphics/asymptote/doc/CDlabel.asy
+2021/12/28 | 5183 | graphics/asymptote/stm.h
+2021/12/28 | 51640 | graphics/asymptote/prc/oPRCFile.h
+2021/12/28 | 5160 | systems/texlive/tlnet/archive/wrapfig2.r61423.tar.xz
+2021/12/28 | 51588 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/12/28 | 514 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateToString.h
+2021/12/28 | 51429 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/12/28 | 513 | graphics/asymptote/examples/buildcycle.asy
+2021/12/28 | 51149 | graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
+2021/12/28 | 5111 | graphics/asymptote/runsystem.in
+2021/12/28 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
+2021/12/28 | 50 | graphics/asymptote/base/babel.asy
+2021/12/28 | 509 | graphics/asymptote/examples/dimension.asy
+2021/12/28 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
+2021/12/28 | 5095 | graphics/asymptote/memory.h
+2021/12/28 | 50851 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/12/28 | 50733 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/12/28 | 506 | graphics/asymptote/examples/delu.asy
+2021/12/28 | 5064 | graphics/asymptote/runhistory.in
+2021/12/28 | 504 | graphics/asymptote/absyn.cc
+2021/12/28 | 50437 | graphics/asymptote/gsl.cc
+2021/12/28 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
+2021/12/28 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
+2021/12/28 | 501200 | systems/texlive/tlnet/archive/wrapfig2.doc.r61423.tar.xz
+2021/12/28 | 500 | graphics/asymptote/examples/floor.asy
+2021/12/28 | 500 | graphics/asymptote/doc/Hobbydir.asy
+2021/12/28 | 49 | graphics/asymptote/doc/quartercircle.asy
+2021/12/28 | 49 | graphics/asymptote/doc/dots.asy
+2021/12/28 | 49 | graphics/asymptote/doc/colons.asy
+2021/12/28 | 499 | graphics/asymptote/examples/galleon.asy
+2021/12/28 | 4996 | graphics/asymptote/base/rational.asy
+2021/12/28 | 4992 | graphics/asymptote/base/tube.asy
+2021/12/28 | 498 | graphics/asymptote/examples/fano.asy
+2021/12/28 | 498 | graphics/asymptote/doc/penfunctionimage.asy
+2021/12/28 | 4973 | graphics/asymptote/LspCpp/example/StdIOClientExample.cpp
+2021/12/28 | 496 | graphics/asymptote/examples/bars3.asy
+2021/12/28 | 496 | graphics/asymptote/base/shaders/postsum.glsl
+2021/12/28 | 495 | graphics/asymptote/examples/cones.asy
+2021/12/28 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
+2021/12/28 | 494 | graphics/asymptote/drawgrestore.h
+2021/12/28 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
+2021/12/28 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
+2021/12/28 | 4919 | graphics/asymptote/process.h
+2021/12/28 | 490 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/type_definition.h
+2021/12/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/12/28 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
+2021/12/28 | 489 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveCompletionItem.h
+2021/12/28 | 4899 | graphics/asymptote/LspCpp/LibLsp/lsp/utils.h
+2021/12/28 | 4895 | graphics/asymptote/fundec.h
+2021/12/28 | 488 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/implementation.h
+2021/12/28 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
+2021/12/28 | 48804 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/12/28 | 487 | graphics/asymptote/LspCpp/LibLsp/lsp/general/shutdown.h
+2021/12/28 | 4877 | macros/latex/contrib/ccfonts/README
+2021/12/28 | 4873 | graphics/asymptote/parser.cc
+2021/12/28 | 4866 | graphics/asymptote/fileio.cc
+2021/12/28 | 485 | graphics/asymptote/examples/cards.asy
+2021/12/28 | 48481 | graphics/asymptote/prc/writePRC.h
+2021/12/28 | 484478 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/12/28 | 48441 | graphics/asymptote/config.guess
+2021/12/28 | 4841 | graphics/asymptote/tests/array/slice.asy
+2021/12/28 | 48417 | graphics/asymptote/runarray.in
+2021/12/28 | 4837 | graphics/asymptote/LspCpp/example/TcpServerExample.cpp
+2021/12/28 | 482 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialized.h
+2021/12/28 | 4818 | graphics/asymptote/v3dfile.h
+2021/12/28 | 4811 | graphics/asymptote/base/x11colors.asy
+2021/12/28 | 480 | graphics/asymptote/doc/logimage.asy
+2021/12/28 | 4808 | graphics/asymptote/examples/interpolate1.asy
+2021/12/28 | 479 | graphics/asymptote/examples/magnetic.asy
+2021/12/28 | 4792 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/serializer.cpp
+2021/12/28 | 47894 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/12/28 | 477731 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/12/28 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
+2021/12/28 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
+2021/12/28 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
+2021/12/28 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
+2021/12/28 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
+2021/12/28 | 4735 | graphics/asymptote/array.cc
+2021/12/28 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
+2021/12/28 | 472 | graphics/asymptote/examples/colorplanes.asy
+2021/12/28 | 4727 | graphics/asymptote/doc/westnile.csv
+2021/12/28 | 472132 | graphics/asymptote/doc/png/asymptote.info
+2021/12/28 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
+2021/12/28 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
+2021/12/28 | 4695644 | systems/texlive/tlnet/archive/visualfaq-fr.doc.r61420.tar.xz
+2021/12/28 | 4688 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sonarlint/protocol.h
+2021/12/28 | 4658 | macros/latex/contrib/ccfonts/cc.fdd
+2021/12/28 | 46531 | graphics/asymptote/base/plain_picture.asy
+2021/12/28 | 464 | graphics/asymptote/drawgsave.h
+2021/12/28 | 464 | graphics/asymptote/doc/GaussianSurface.asy
+2021/12/28 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
+2021/12/28 | 4629 | graphics/asymptote/castop.h
+2021/12/28 | 4626 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp
+2021/12/28 | 46136 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/12/28 | 461239 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/12/28 | 460 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Cancellation.h
+2021/12/28 | 460 | graphics/asymptote/examples/lever.asy
+2021/12/28 | 460 | graphics/asymptote/examples/cosaddition.asy
+2021/12/28 | 4602 | graphics/asymptote/util.h
+2021/12/28 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
+2021/12/28 | 459 | graphics/asymptote/examples/hierarchy.asy
+2021/12/28 | 4597 | graphics/asymptote/drawfill.cc
+2021/12/28 | 458 | graphics/asymptote/doc/multicontour.asy
+2021/12/28 | 4580 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageIssue.h
+2021/12/28 | 4578 | graphics/asymptote/LspCpp/LibLsp/lsp/IProgressMonitor.h
+2021/12/28 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
+2021/12/28 | 45732 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/12/28 | 4570 | graphics/asymptote/env.h
+2021/12/28 | 45687 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/12/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/12/28 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/12/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/12/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/12/28 | 454 | graphics/asymptote/EXRFiles.h
+2021/12/28 | 454213 | graphics/pstricks/contrib/pst-geometrictools.zip
+2021/12/28 | 45411 | graphics/asymptote/fftw++.h
+2021/12/28 | 4531 | graphics/asymptote/webgl/fragment.glsl
+2021/12/28 | 4520 | graphics/asymptote/getopt1.c
+2021/12/28 | 4514 | graphics/asymptote/bbox.h
+2021/12/28 | 450 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/threaded_queue.cpp
+2021/12/28 | 449 | graphics/asymptote/tests/arith/pair.asy
+2021/12/28 | 4487 | graphics/asymptote/base/plain_shipout.asy
+2021/12/28 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
+2021/12/28 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
+2021/12/28 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/mergesort.cpp
+2021/12/28 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/future.hpp
+2021/12/28 | 445 | graphics/asymptote/examples/sacone.asy
+2021/12/28 | 445 | graphics/asymptote/cudareflect/kernel.h
+2021/12/28 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
+2021/12/28 | 442 | graphics/asymptote/doc/join3.asy
+2021/12/28 | 441 | graphics/asymptote/examples/triangles.asy
+2021/12/28 | 441 | graphics/asymptote/doc/histogram.asy
+2021/12/28 | 43 | graphics/asymptote/examples/spring2.asy
+2021/12/28 | 439 | graphics/asymptote/examples/gamma.asy
+2021/12/28 | 4395 | graphics/asymptote/LspCpp/network/uri/detail/encode.hpp
+2021/12/28 | 43895 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/12/28 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
+2021/12/28 | 43809 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/12/28 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
+2021/12/28 | 4371 | graphics/asymptote/cudareflect/kernel.cu
+2021/12/28 | 436 | graphics/asymptote/examples/colorpatch.asy
+2021/12/28 | 43682 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/12/28 | 4366 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/StreamMessageProducer.cpp
+2021/12/28 | 43638 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/12/28 | 4348 | graphics/asymptote/doc/colo-asy.tex
+2021/12/28 | 4345 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/task_adaptors.hpp
+2021/12/28 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
+2021/12/28 | 43335 | graphics/asymptote/examples/100d.pdb1
+2021/12/28 | 43275 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/12/28 | 430 | graphics/asymptote/examples/unitoctant.asy
+2021/12/28 | 42 | graphics/asymptote/base/animate.asy
+2021/12/28 | 428 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/symbol.h
+2021/12/28 | 4286 | graphics/asymptote/asy.ico
+2021/12/28 | 4285 | graphics/asymptote/newexp.cc
+2021/12/28 | 427 | graphics/asymptote/examples/projectrevolution.asy
+2021/12/28 | 42767 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/12/28 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
+2021/12/28 | 426 | graphics/asymptote/doc/grid3xyz.asy
+2021/12/28 | 4265 | graphics/asymptote/LspCpp/LibLsp/lsp/symbol.h
+2021/12/28 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
+2021/12/28 | 424 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentIdentifier.h
+2021/12/28 | 424 | graphics/asymptote/examples/spiral3.asy
+2021/12/28 | 4244 | graphics/asymptote/examples/fin.asy
+2021/12/28 | 4242 | graphics/asymptote/tests/types/keyword.asy
+2021/12/28 | 423 | graphics/asymptote/doc/log2graph.asy
+2021/12/28 | 423 | graphics/asymptote/doc/helix.asy
+2021/12/28 | 422 | graphics/asymptote/v3dtypes.csv
+2021/12/28 | 42110 | graphics/asymptote/picture.cc
+2021/12/28 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
+2021/12/28 | 4209 | graphics/asymptote/flatguide.h
+2021/12/28 | 41 | graphics/asymptote/doc/bigdiagonal.asy
+2021/12/28 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
+2021/12/28 | 419 | graphics/asymptote/examples/torus.asy
+2021/12/28 | 4199 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/typeHierarchy.h
+2021/12/28 | 418 | graphics/asymptote/examples/planeproject.asy
+2021/12/28 | 417 | graphics/asymptote/doc/knots.asy
+2021/12/28 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
+2021/12/28 | 416 | graphics/asymptote/doc/bezier2.asy
+2021/12/28 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
+2021/12/28 | 415 | graphics/asymptote/doc/linetype.asy
+2021/12/28 | 4158 | graphics/asymptote/examples/advection.asy
+2021/12/28 | 4156 | graphics/asymptote/runpair.in
+2021/12/28 | 414 | graphics/asymptote/examples/animations/glmovie.asy
+2021/12/28 | 41326 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/12/28 | 41219 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/12/28 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/12/28 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
+2021/12/28 | 4118 | graphics/asymptote/LspCpp/LibLsp/lsp/lru_cache.h
+2021/12/28 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
+2021/12/28 | 410 | graphics/asymptote/examples/Sierpinski.asy
+2021/12/28 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
+2021/12/28 | 4088 | graphics/asymptote/base/plain_boxes.asy
+2021/12/28 | 4084 | graphics/asymptote/GUI/xasyFile.py
+2021/12/28 | 4083 | graphics/asymptote/LspCpp/network/uri/uri_builder.cpp
+2021/12/28 | 407 | graphics/asymptote/examples/parametricsurface.asy
+2021/12/28 | 407 | graphics/asymptote/examples/BezierPatch.asy
+2021/12/28 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
+2021/12/28 | 4072 | graphics/asymptote/tests/types/order.asy
+2021/12/28 | 406 | macros/latex/contrib/ccfonts/ccfonts.ins
+2021/12/28 | 4067 | graphics/asymptote/doc/diatom.csv
+2021/12/28 | 40665 | graphics/asymptote/examples/tvgen.asy
+2021/12/28 | 402256 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61417.tar.xz
+2021/12/28 | 401 | graphics/asymptote/doc/image.asy
+2021/12/28 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
+2021/12/28 | 400 | graphics/asymptote/examples/sacylinder.asy
+2021/12/28 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
+2021/12/28 | 39 | graphics/asymptote/base/nopapersize.ps
+2021/12/28 | 398 | graphics/asymptote/examples/epix.asy
+2021/12/28 | 39804 | graphics/asymptote/LspCpp/LspCpp.vcxproj
+2021/12/28 | 39745 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/12/28 | 396 | graphics/asymptote/doc/triangulate.asy
+2021/12/28 | 396 | graphics/asymptote/doc/legend.asy
+2021/12/28 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
+2021/12/28 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
+2021/12/28 | 394272 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/12/28 | 393 | graphics/asymptote/GUI/setup.py
+2021/12/28 | 3936 | graphics/asymptote/base/interpolate.asy
+2021/12/28 | 393676 | graphics/asymptote/doc/asymptote.texi
+2021/12/28 | 3917 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/Markup.h
+2021/12/28 | 3912 | graphics/asymptote/tr.h
+2021/12/28 | 390 | graphics/asymptote/doc/tile.asy
+2021/12/28 | 38 | graphics/asymptote/examples/spring0.asy
+2021/12/28 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
+2021/12/28 | 3857 | graphics/asymptote/examples/pipes.asy
+2021/12/28 | 38541 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/12/28 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
+2021/12/28 | 384 | graphics/asymptote/Delaunay.h
+2021/12/28 | 38461 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/12/28 | 383 | graphics/asymptote/tests/arith/real.asy
+2021/12/28 | 383 | graphics/asymptote/examples/Gouraud.asy
+2021/12/28 | 3834 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_diagnostic.h
+2021/12/28 | 382 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/buildWorkspace.h
+2021/12/28 | 382 | graphics/asymptote/doc/loggrid.asy
+2021/12/28 | 37991 | graphics/asymptote/path3.cc
+2021/12/28 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
+2021/12/28 | 378 | graphics/asymptote/examples/sinxlex.asy
+2021/12/28 | 378 | graphics/asymptote/doc/icon.asy
+2021/12/28 | 37783 | graphics/asymptote/exp.cc
+2021/12/28 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
+2021/12/28 | 376 | graphics/asymptote/doc/generalaxis3.asy
+2021/12/28 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
+2021/12/28 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
+2021/12/28 | 3765 | graphics/asymptote/prc/PRCdouble.h
+2021/12/28 | 374 | graphics/asymptote/doc/monthaxis.asy
+2021/12/28 | 373 | graphics/asymptote/examples/projectelevation.asy
+2021/12/28 | 373 | graphics/asymptote/doc/lineargraph.asy
+2021/12/28 | 3739 | graphics/asymptote/examples/xstitch.asy
+2021/12/28 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
+2021/12/28 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/12/28 | 3731 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/callHierarchy.h
+2021/12/28 | 3723 | graphics/asymptote/LspCpp/third_party/threadpool/CHANGE_LOG
+2021/12/28 | 3719 | graphics/asymptote/base/three_light.asy
+2021/12/28 | 37152 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/12/28 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
+2021/12/28 | 37093 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/12/28 | 3706 | graphics/asymptote/base/plain_constants.asy
+2021/12/28 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
+2021/12/28 | 3676 | graphics/asymptote/constructor.cc
+2021/12/28 | 366 | graphics/asymptote/doc/lineargraph0.asy
+2021/12/28 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
+2021/12/28 | 3669 | graphics/asymptote/LspCpp/example/StdIOServerExample.cpp
+2021/12/28 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
+2021/12/28 | 3640 | graphics/asymptote/bbox3.h
+2021/12/28 | 362 | graphics/asymptote/examples/pipeintersection.asy
+2021/12/28 | 362712 | systems/texlive/tlnet/archive/codebox.doc.r61425.tar.xz
+2021/12/28 | 36243 | graphics/asymptote/prc/test.cc
+2021/12/28 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
+2021/12/28 | 361 | graphics/asymptote/examples/phase.asy
+2021/12/28 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
+2021/12/28 | 360 | graphics/asymptote/examples/washer.asy
+2021/12/28 | 3608 | graphics/asymptote/GLTextures.h
+2021/12/28 | 36044 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/12/28 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
+2021/12/28 | 35 | graphics/asymptote/base/fontsize.asy
+2021/12/28 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
+2021/12/28 | 357 | graphics/asymptote/doc/irregularcontour.asy
+2021/12/28 | 3560 | systems/texlive/tlnet/archive/codebox.r61425.tar.xz
+2021/12/28 | 355 | graphics/asymptote/doc/scaledgraph.asy
+2021/12/28 | 3556 | graphics/asymptote/build-scripts/build-asymptote.dos
+2021/12/28 | 354 | graphics/asymptote/doc/reloadpdf.tex
+2021/12/28 | 354 | graphics/asymptote/doc/planes.asy
+2021/12/28 | 354 | graphics/asymptote/base/pstoedit.asy
+2021/12/28 | 352 | graphics/asymptote/examples/cylinder.asy
+2021/12/28 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx
+2021/12/28 | 35264 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/12/28 | 351 | graphics/asymptote/tinyexr.cc
+2021/12/28 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
+2021/12/28 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/12/28 | 351558 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/12/28 | 35147 | graphics/asymptote/LICENSE
+2021/12/28 | 34 | graphics/asymptote/examples/teapotIBL.asy
+2021/12/28 | 34 | graphics/asymptote/autogen.sh
+2021/12/28 | 349 | graphics/asymptote/examples/logdown.asy
+2021/12/28 | 348 | graphics/asymptote/LspCpp/LibLsp/lsp/ParentProcessWatcher.h
+2021/12/28 | 348 | graphics/asymptote/examples/RiemannSurface.asy
+2021/12/28 | 3472 | graphics/asymptote/picture.h
+2021/12/28 | 3465 | graphics/asymptote/drawpath.cc
+2021/12/28 | 345 | graphics/asymptote/examples/rainbow.asy
+2021/12/28 | 3441 | graphics/asymptote/rounding.h
+2021/12/28 | 344141 | web/c_cpp/cweb/cwebman.pdf
+2021/12/28 | 343 | graphics/asymptote/doc/externalprc.tex
+2021/12/28 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
+2021/12/28 | 342 | graphics/asymptote/lexical.h
+2021/12/28 | 341 | graphics/asymptote/examples/slidedemo_.bbl
+2021/12/28 | 341 | graphics/asymptote/examples/sacylinder3D.asy
+2021/12/28 | 341 | graphics/asymptote/doc/subpictures.asy
+2021/12/28 | 3418 | graphics/asymptote/LspCpp/LibLsp/lsp/general/InitializeParams.h
+2021/12/28 | 34092 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/12/28 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
+2021/12/28 | 3391 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/signature_help.h
+2021/12/28 | 33813 | graphics/asymptote/path.cc
+2021/12/28 | 3375 | graphics/asymptote/tests/types/guide.asy
+2021/12/28 | 3374 | graphics/asymptote/base/roundedpath.asy
+2021/12/28 | 33677 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/Markup.cpp
+2021/12/28 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
+2021/12/28 | 3358 | graphics/asymptote/examples/slidedemo.asy
+2021/12/28 | 333 | graphics/asymptote/doc/asy.1.end
+2021/12/28 | 3335 | graphics/asymptote/examples/pdb.asy
+2021/12/28 | 332373 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/12/28 | 3306 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
+2021/12/28 | 32 | graphics/asymptote/LspCpp/third_party/threadpool/Jamrules
+2021/12/28 | 32990 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/12/28 | 3298 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
+2021/12/28 | 3297 | graphics/asymptote/access.cc
+2021/12/28 | 3295 | graphics/asymptote/stack.h
+2021/12/28 | 3294 | graphics/asymptote/LspCpp/LibLsp/lsp/lsAny.h
+2021/12/28 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
+2021/12/28 | 327 | graphics/asymptote/examples/sin1x.asy
+2021/12/28 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
+2021/12/28 | 3278 | graphics/asymptote/base/obj.asy
+2021/12/28 | 326 | graphics/asymptote/examples/polardatagraph.asy
+2021/12/28 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
+2021/12/28 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
+2021/12/28 | 3265 | graphics/asymptote/program.cc
+2021/12/28 | 326387 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/12/28 | 325 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
+2021/12/28 | 325 | graphics/asymptote/examples/elevation.asy
+2021/12/28 | 324 | graphics/asymptote/doc/HermiteSpline.asy
+2021/12/28 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
+2021/12/28 | 322 | graphics/asymptote/examples/unitcircle.asy
+2021/12/28 | 322 | graphics/asymptote/examples/cheese.asy
+2021/12/28 | 321 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/README
+2021/12/28 | 32155 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/12/28 | 320 | graphics/asymptote/runtriple.h
+2021/12/28 | 320 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/Move.h
+2021/12/28 | 320403 | graphics/asymptote/base/geometry.asy
+2021/12/28 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
+2021/12/28 | 319 | graphics/asymptote/LspCpp/third_party/threadpool/Jamfile.v2
+2021/12/28 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
+2021/12/28 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
+2021/12/28 | 318736 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/12/28 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
+2021/12/28 | 3160 | graphics/asymptote/shaders.cc
+2021/12/28 | 31609 | graphics/asymptote/config.sub
+2021/12/28 | 315 | graphics/asymptote/examples/hyperboloid.asy
+2021/12/28 | 31579 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/12/28 | 3153 | graphics/asymptote/genv.cc
+2021/12/28 | 31539 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/12/28 | 314 | graphics/asymptote/doc/logticks.asy
+2021/12/28 | 314 | graphics/asymptote/base/graph_settings.asy
+2021/12/28 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/12/28 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
+2021/12/28 | 31342 | graphics/asymptote/builtin.cc
+2021/12/28 | 31333 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/12/28 | 312 | graphics/asymptote/examples/textpath.asy
+2021/12/28 | 3125 | graphics/asymptote/doc/latexusage.tex
+2021/12/28 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
+2021/12/28 | 309 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
+2021/12/28 | 308 | graphics/asymptote/tests/types/shadow.asy
+2021/12/28 | 308 | graphics/asymptote/tests/Makefile
+2021/12/28 | 308 | graphics/asymptote/examples/oneoverx.asy
+2021/12/28 | 3072 | graphics/asymptote/LspCpp/network/uri/detail/grammar.hpp
+2021/12/28 | 306 | graphics/asymptote/doc/binarytreetest.asy
+2021/12/28 | 3065 | graphics/asymptote/jsfile.h
+2021/12/28 | 30640 | graphics/asymptote/LspCpp/macro_map.h
+2021/12/28 | 30568 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/12/28 | 3052 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse_authority.cpp
+2021/12/28 | 3040 | graphics/asymptote/asymptote.spec
+2021/12/28 | 303 | graphics/asymptote/examples/tensor.asy
+2021/12/28 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
+2021/12/28 | 30307 | graphics/asymptote/exp.h
+2021/12/28 | 3024 | graphics/asymptote/drawimage.h
+2021/12/28 | 3023 | graphics/asymptote/doc/Makefile.in
+2021/12/28 | 30208 | graphics/asymptote/prc/PRC.h
+2021/12/28 | 301 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/organizeImports.h
+2021/12/28 | 30181 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/12/28 | 30147 | graphics/asymptote/getopt.c
+2021/12/28 | 300 | graphics/asymptote/examples/strokepath.asy
+2021/12/28 | 3004 | graphics/asymptote/LspCpp/LibLsp/lsp/lsResponseError.h
+2021/12/28 | 299 | graphics/asymptote/runpair.h
+2021/12/28 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
+2021/12/28 | 298139 | graphics/pgf/contrib/yquant/doc/yquant-doc.tex
+2021/12/28 | 297 | graphics/asymptote/build-scripts/README-binaries
+2021/12/28 | 2979 | graphics/asymptote/doc/diatom.asy
+2021/12/28 | 2974 | graphics/asymptote/LspCpp/LibLsp/lsp/language/language.h
+2021/12/28 | 2968 | graphics/asymptote/material.h
+2021/12/28 | 2964 | graphics/asymptote/access.h
+2021/12/28 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
+2021/12/28 | 295890 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/12/28 | 294 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/classFileContents.h
+2021/12/28 | 294 | graphics/asymptote/guideflags.h
+2021/12/28 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
+2021/12/28 | 293 | graphics/asymptote/doc/makepen.asy
+2021/12/28 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
+2021/12/28 | 2930 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/stream.h
+2021/12/28 | 292060 | graphics/asymptote/configure
+2021/12/28 | 291 | graphics/asymptote/examples/trumpet.asy
+2021/12/28 | 2918 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
+2021/12/28 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
+2021/12/28 | 289 | graphics/asymptote/examples/jump.asy
+2021/12/28 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
+2021/12/28 | 289 | graphics/asymptote/base/res/notes.txt
+2021/12/28 | 288 | graphics/asymptote/examples/sacone3D.asy
+2021/12/28 | 288 | graphics/asymptote/doc/mexicanhat.asy
+2021/12/28 | 28892 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/12/28 | 2880 | graphics/asymptote/LspCpp/LibLsp/lsp/ParentProcessWatcher.cpp
+2021/12/28 | 2880 | graphics/asymptote/drawgroup.h
+2021/12/28 | 2879890 | install/macros/latex/required/babel-base.tds.zip
+2021/12/28 | 28678 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/12/28 | 286704 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/12/28 | 28545 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/12/28 | 285454 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/12/28 | 284 | graphics/asymptote/GUI/res/icons/text.svg
+2021/12/28 | 2845 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/json.h
+2021/12/28 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
+2021/12/28 | 28385 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/12/28 | 28337 | graphics/asymptote/symbolmaps.h
+2021/12/28 | 2830 | graphics/asymptote/examples/alignedaxis.asy
+2021/12/28 | 2827 | graphics/asymptote/LspCpp/network/uri/detail/uri_resolve.cpp
+2021/12/28 | 2817 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/worker_thread.hpp
+2021/12/28 | 281441 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/12/28 | 2800 | graphics/asymptote/doc/asycolors.sty
+2021/12/28 | 279 | graphics/asymptote/LspCpp/third_party/threadpool/README
+2021/12/28 | 279 | graphics/asymptote/doc/hatch.asy
+2021/12/28 | 2798719 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/12/28 | 27856 | graphics/asymptote/pen.h
+2021/12/28 | 277 | graphics/asymptote/doc/generalaxis.asy
+2021/12/28 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
+2021/12/28 | 2771 | graphics/asymptote/doc/pixel.pdf
+2021/12/28 | 276 | graphics/asymptote/tests/bench/6000circles.asy
+2021/12/28 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
+2021/12/28 | 27528 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/string_ref.h
+2021/12/28 | 2749 | graphics/asymptote/symbol.h
+2021/12/28 | 27472 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/12/28 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
+2021/12/28 | 2732 | graphics/asymptote/record.h
+2021/12/28 | 2731 | graphics/asymptote/tests/types/resolve.asy
+2021/12/28 | 27263 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/12/28 | 27243 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/12/28 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
+2021/12/28 | 2707 | graphics/asymptote/settings.h
+2021/12/28 | 2707 | graphics/asymptote/runtriple.in
+2021/12/28 | 270497 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
+2021/12/28 | 26 | graphics/asymptote/doc/filegraph.dat
+2021/12/28 | 26 | graphics/asymptote/_config.yml
+2021/12/28 | 269 | graphics/asymptote/runmath.h
+2021/12/28 | 2697 | graphics/asymptote/table.h
+2021/12/28 | 268 | graphics/asymptote/base/asy-init.el
+2021/12/28 | 26844 | graphics/asymptote/runpath.cc
+2021/12/28 | 2680 | graphics/asymptote/examples/soccerball.asy
+2021/12/28 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
+2021/12/28 | 2675 | graphics/asymptote/LspCpp/LibLsp/lsp/ResourceOperation.h
+2021/12/28 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
+2021/12/28 | 2675897 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/12/28 | 2674 | graphics/asymptote/doc/markers1.asy
+2021/12/28 | 26693 | graphics/asymptote/dec.cc
+2021/12/28 | 2668 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/code_action.h
+2021/12/28 | 2661 | graphics/asymptote/runbacktrace.cc
+2021/12/28 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
+2021/12/28 | 264 | graphics/asymptote/examples/labelbox.asy
+2021/12/28 | 264 | graphics/asymptote/examples/coag.asy
+2021/12/28 | 2649 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/future.hpp
+2021/12/28 | 2636 | graphics/asymptote/LspCpp/LibLsp/lsp/CodeActionParams.h
+2021/12/28 | 2632 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/semanticHighlighting.h
+2021/12/28 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
+2021/12/28 | 262 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/GCThreadContext.cpp
+2021/12/28 | 262 | graphics/asymptote/doc/loggraph.asy
+2021/12/28 | 2626 | graphics/asymptote/examples/worldmap.asy
+2021/12/28 | 261 | graphics/asymptote/doc/join.asy
+2021/12/28 | 2614 | graphics/asymptote/pipestream.h
+2021/12/28 | 2613 | graphics/asymptote/base/patterns.asy
+2021/12/28 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
+2021/12/28 | 2609 | graphics/asymptote/LspCpp/network/uri/uri_errors.hpp
+2021/12/28 | 26096 | graphics/asymptote/examples/uhrturm.obj
+2021/12/28 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
+2021/12/28 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
+2021/12/28 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
+2021/12/28 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
+2021/12/28 | 259274 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/12/28 | 25701 | graphics/asymptote/runpath3d.cc
+2021/12/28 | 256 | graphics/asymptote/doc/shadedtiling.asy
+2021/12/28 | 256929 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/12/28 | 256817 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/12/28 | 25671 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/12/28 | 25631627 | systems/texlive/tlnet/install-tl.zip
+2021/12/28 | 2561 | graphics/asymptote/program.h
+2021/12/28 | 256199 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/12/28 | 2557 | graphics/asymptote/abs3doutfile.h
+2021/12/28 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
+2021/12/28 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
+2021/12/28 | 254 | graphics/asymptote/examples/parametricelevation.asy
+2021/12/28 | 254 | graphics/asymptote/examples/contextfonts.asy
+2021/12/28 | 25452 | graphics/asymptote/LspCpp/LspCpp.vcxproj.filters
+2021/12/28 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
+2021/12/28 | 2542 | graphics/asymptote/policy.h
+2021/12/28 | 25357 | graphics/asymptote/base/lmfit.asy
+2021/12/28 | 25325 | graphics/asymptote/bezierpatch.cc
+2021/12/28 | 2524 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/completion.h
+2021/12/28 | 251 | graphics/asymptote/examples/triceratops.asy
+2021/12/28 | 251 | graphics/asymptote/base/metapost.asy
+2021/12/28 | 2518 | graphics/asymptote/prc/PRCbitStream.h
+2021/12/28 | 25154 | graphics/asymptote/doc/extra/intro.asy
+2021/12/28 | 2514 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextEdit.h
+2021/12/28 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
+2021/12/28 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
+2021/12/28 | 25134 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/12/28 | 251069 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/12/28 | 250 | graphics/asymptote/examples/transparentCubes.asy
+2021/12/28 | 25094 | graphics/asymptote/drawsurface.cc
+2021/12/28 | 25061 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/12/28 | 2505 | graphics/asymptote/README
+2021/12/28 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
+2021/12/28 | 2504 | graphics/asymptote/examples/mosquito.asy
+2021/12/28 | 24 | graphics/asymptote/doc/diagonal.asy
+2021/12/28 | 2492 | graphics/asymptote/base/three_margins.asy
+2021/12/28 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
+2021/12/28 | 2484 | graphics/asymptote/build-scripts/build-asymptote
+2021/12/28 | 2482 | graphics/asymptote/LspCpp/LibLsp/lsp/lsWorkspaceEdit.h
+2021/12/28 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
+2021/12/28 | 24784 | graphics/asymptote/symbolmaps.cc
+2021/12/28 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
+2021/12/28 | 246 | graphics/asymptote/doc/axis3.asy
+2021/12/28 | 245 | graphics/asymptote/examples/alignbox.asy
+2021/12/28 | 2451 | graphics/asymptote/base/labelpath3.asy
+2021/12/28 | 244 | graphics/asymptote/tests/arith/triple.asy
+2021/12/28 | 244964 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/12/28 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
+2021/12/28 | 243 | graphics/asymptote/doc/cube.asy
+2021/12/28 | 242 | graphics/asymptote/examples/equilateral.asy
+2021/12/28 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
+2021/12/28 | 242 | graphics/asymptote/BUGS
+2021/12/28 | 2424 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/WebSocketServer.h
+2021/12/28 | 241 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageProducer.h
+2021/12/28 | 241 | graphics/asymptote/cudareflect/common.h
+2021/12/28 | 24152 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/12/28 | 240 | graphics/asymptote/doc/parametricgraph.asy
+2021/12/28 | 23 | graphics/asymptote/GUI/__init__.py
+2021/12/28 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
+2021/12/28 | 2396 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
+2021/12/28 | 23932 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/12/28 | 23904 | graphics/asymptote/process.cc
+2021/12/28 | 238 | graphics/asymptote/tests/TestLib.asy
+2021/12/28 | 238 | graphics/asymptote/GUI/xasyValidator.py
+2021/12/28 | 238 | graphics/asymptote/doc/filegraph.asy
+2021/12/28 | 2378 | graphics/asymptote/profile.py
+2021/12/28 | 23717 | graphics/asymptote/base/three_arrows.asy
+2021/12/28 | 236 | graphics/asymptote/tests/string/erase.asy
+2021/12/28 | 236 | graphics/asymptote/LspCpp/LibLsp/lsp/Directory.h
+2021/12/28 | 236 | graphics/asymptote/examples/annotation.asy
+2021/12/28 | 23679 | graphics/asymptote/drawsurface.h
+2021/12/28 | 2362 | graphics/asymptote/examples/spectrum.asy
+2021/12/28 | 235 | graphics/asymptote/examples/cos2theta.asy
+2021/12/28 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
+2021/12/28 | 234 | graphics/asymptote/doc/beziercurve.asy
+2021/12/28 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
+2021/12/28 | 233 | graphics/asymptote/examples/cardioid.asy
+2021/12/28 | 2334820 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/12/28 | 233412 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
+2021/12/28 | 2328 | graphics/asymptote/virtualfieldaccess.h
+2021/12/28 | 23274 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp.cpp
+2021/12/28 | 23205 | graphics/asymptote/LspCpp/LibLsp/lsp/ProtocolJsonHandler.cpp
+2021/12/28 | 2315 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp
+2021/12/28 | 2310 | graphics/asymptote/base/plain_margins.asy
+2021/12/28 | 22 | graphics/asymptote/tests/output/line.asy
+2021/12/28 | 22 | graphics/asymptote/GUI/configs/__init__.py
+2021/12/28 | 229 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
+2021/12/28 | 22946 | graphics/asymptote/base/syzygy.asy
+2021/12/28 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
+2021/12/28 | 228 | graphics/asymptote/examples/circumcircle.asy
+2021/12/28 | 22873 | graphics/asymptote/examples/piicon.png
+2021/12/28 | 228546 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
+2021/12/28 | 2279 | graphics/asymptote/errormsg.cc
+2021/12/28 | 2277 | graphics/asymptote/base/texcolors.asy
+2021/12/28 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
+2021/12/28 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
+2021/12/28 | 2266 | graphics/asymptote/align.h
+2021/12/28 | 2259 | graphics/asymptote/LspCpp/network/uri/detail/uri_normalize.cpp
+2021/12/28 | 22594 | graphics/asymptote/base/plain_arrows.asy
+2021/12/28 | 2257 | graphics/asymptote/LspCpp/LibLsp/lsp/windows/MessageNotify.h
+2021/12/28 | 22502 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
+2021/12/28 | 224 | graphics/asymptote/tests/types/init.asy
+2021/12/28 | 223 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveCodeLens.h
+2021/12/28 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
+2021/12/28 | 22345 | graphics/asymptote/knot.cc
+2021/12/28 | 222 | graphics/asymptote/wce
+2021/12/28 | 222 | graphics/asymptote/examples/yingyang.asy
+2021/12/28 | 2222 | graphics/asymptote/tests/frames/loop.asy
+2021/12/28 | 221 | graphics/asymptote/LspCpp/third_party/threadpool/COPYING
+2021/12/28 | 22177 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/12/28 | 2207 | graphics/asymptote/build-scripts/HOWTO-MSWindows
+2021/12/28 | 219 | graphics/asymptote/doc/penimage.asy
+2021/12/28 | 219 | graphics/asymptote/doc/graphwithderiv.asy
+2021/12/28 | 21988 | systems/texlive/tlnet/archive/asmejour.r61421.tar.xz
+2021/12/28 | 2194 | graphics/asymptote/locate.cc
+2021/12/28 | 21926 | graphics/asymptote/runmath.cc
+2021/12/28 | 2191 | graphics/asymptote/examples/splitpatch.asy
+2021/12/28 | 218 | graphics/asymptote/doc/datagraph.asy
+2021/12/28 | 21890 | macros/latex/required/babel/base/bbcompat.dtx
+2021/12/28 | 2187 | graphics/asymptote/common.h
+2021/12/28 | 2187 | graphics/asymptote/base/plain_debugger.asy
+2021/12/28 | 21807 | graphics/asymptote/LspCpp/network/uri/uri.hpp
+2021/12/28 | 217 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/GCThreadContext.h
+2021/12/28 | 2176 | graphics/asymptote/LspCpp/network/uri/detail/uri_advance_parts.cpp
+2021/12/28 | 2164 | graphics/asymptote/frame.h
+2021/12/28 | 215852 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/12/28 | 2151 | graphics/asymptote/LspCpp/network/uri/detail/translate.hpp
+2021/12/28 | 2149 | graphics/asymptote/LspCpp/LibLsp/lsp/working_files.h
+2021/12/28 | 21481 | graphics/asymptote/lspserv.cc
+2021/12/28 | 2144 | macros/latex/required/babel/base/README.md
+2021/12/28 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
+2021/12/28 | 21448 | graphics/asymptote/base/feynman.asy
+2021/12/28 | 2143 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
+2021/12/28 | 21382 | graphics/asymptote/fileio.h
+2021/12/28 | 21372 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/12/28 | 2136 | graphics/asymptote/seconds.h
+2021/12/28 | 2134 | graphics/asymptote/drawlabel.h
+2021/12/28 | 213458 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/12/28 | 2123 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
+2021/12/28 | 2122 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageJsonHandler.h
+2021/12/28 | 2120 | graphics/pgf/contrib/yquant/tex/yquant.sty
+2021/12/28 | 210 | graphics/asymptote/examples/spiral.asy
+2021/12/28 | 210 | graphics/asymptote/build-scripts/asy-indent.el
+2021/12/28 | 2109 | graphics/asymptote/base/drawtree.asy
+2021/12/28 | 2104 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
+2021/12/28 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
+2021/12/28 | 209938 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/12/28 | 2098 | graphics/asymptote/LspCpp/network/uri/detail/algorithm.hpp
+2021/12/28 | 20989 | graphics/asymptote/base/plain_bounds.asy
+2021/12/28 | 209717 | macros/latex/contrib/ccfonts.zip
+2021/12/28 | 2088 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/locking_ptr.hpp
+2021/12/28 | 20874173 | systems/texlive/tlnet/install-tl-windows.exe
+2021/12/28 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
+2021/12/28 | 208085 | graphics/asymptote/asy.list
+2021/12/28 | 207 | graphics/asymptote/examples/triangle.asy
+2021/12/28 | 2073 | graphics/asymptote/LspCpp/network/uri/detail/uri_parts.hpp
+2021/12/28 | 206 | graphics/asymptote/examples/log.asy
+2021/12/28 | 206973 | graphics/asymptote/doc/asy-latex.pdf
+2021/12/28 | 20633 | graphics/asymptote/runtime.in
+2021/12/28 | 2054 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/message.cpp
+2021/12/28 | 205495 | graphics/asymptote/base/colormap.asy
+2021/12/28 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
+2021/12/28 | 203 | graphics/asymptote/LspCpp/LibLsp/lsp/general/exit.h
+2021/12/28 | 2034 | graphics/asymptote/doc/elliptic.asy
+2021/12/28 | 2031 | graphics/asymptote/base/slopefield.asy
+2021/12/28 | 203080 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/12/28 | 202 | graphics/asymptote/tests/frames/stat2.asy
+2021/12/28 | 202 | graphics/asymptote/glew.c
+2021/12/28 | 202 | graphics/asymptote/doc/exp.asy
+2021/12/28 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
+2021/12/28 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
+2021/12/28 | 20277 | graphics/asymptote/base/contour.asy
+2021/12/28 | 2023 | graphics/asymptote/examples/slope.asy
+2021/12/28 | 202237 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/12/28 | 20190 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/12/28 | 2012 | graphics/asymptote/varinit.h
+2021/12/28 | 2012705 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/12/28 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
+2021/12/28 | 20090 | graphics/asymptote/runpicture.in
+2021/12/28 | 20051 | graphics/asymptote/doc/asyRefCard.tex
+2021/12/28 | 2004 | graphics/asymptote/varinit.cc
+2021/12/28 | 2002 | graphics/asymptote/LspCpp/network/uri/uri_errors.cpp
+2021/12/28 | 20029 | graphics/asymptote/camp.y
+2021/12/28 | 200141 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/12/28 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
+2021/12/28 | 2000 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool_adaptors.hpp
+2021/12/28 | 199 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/Jamfile.v2
+2021/12/28 | 199 | graphics/asymptote/examples/upint.asy
+2021/12/28 | 199 | graphics/asymptote/examples/BezierTriangle.asy
+2021/12/28 | 199836 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/12/28 | 199114 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/12/28 | 198 | graphics/asymptote/examples/tanh.asy
+2021/12/28 | 198824 | graphics/asymptote/doc/CAD.pdf
+2021/12/28 | 1982 | graphics/asymptote/inst.h
+2021/12/28 | 1975 | graphics/asymptote/array.h
+2021/12/28 | 197375 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/12/28 | 196 | graphics/asymptote/examples/lowint.asy
+2021/12/28 | 196 | graphics/asymptote/examples/label3ribbon.asy
+2021/12/28 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
+2021/12/28 | 1968 | graphics/asymptote/examples/mergeExample.asy
+2021/12/28 | 196120 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/12/28 | 195 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/Jamfile.v2
+2021/12/28 | 195982 | macros/latex/contrib/ccfonts/ccfonts.pdf
+2021/12/28 | 19597 | graphics/asymptote/doc/external-proposal.html
+2021/12/28 | 1957 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/shutdown_policies.hpp
+2021/12/28 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
+2021/12/28 | 1950 | graphics/asymptote/cudareflect/utils.cuh
+2021/12/28 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
+2021/12/28 | 194 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/Jamfile.v2
+2021/12/28 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
+2021/12/28 | 193 | graphics/asymptote/tests/gc/shipout.asy
+2021/12/28 | 193 | graphics/asymptote/tests/arith/random.asy
+2021/12/28 | 193 | graphics/asymptote/base/shaders/offset.glsl
+2021/12/28 | 1936 | graphics/asymptote/refaccess.h
+2021/12/28 | 19332208 | graphics/asymptote.zip
+2021/12/28 | 1927 | graphics/asymptote/tests/array/fields.asy
+2021/12/28 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
+2021/12/28 | 1924 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/willSave.h
+2021/12/28 | 1920 | graphics/asymptote/GUI/res/icons/social-python.svg
+2021/12/28 | 191 | graphics/pstricks/contrib/pst-geometrictools/Changes
+2021/12/28 | 191 | graphics/asymptote/runpicture.h
+2021/12/28 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
+2021/12/28 | 1918 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/sct.h
+2021/12/28 | 1910 | graphics/asymptote/examples/linearregression.asy
+2021/12/28 | 19107 | graphics/asymptote/psfile.cc
+2021/12/28 | 19105 | macros/latex/contrib/ccfonts/LICENSE
+2021/12/28 | 190 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/Jamfile.v2
+2021/12/28 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
+2021/12/28 | 18 | graphics/asymptote/tests/output/circle.asy
+2021/12/28 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
+2021/12/28 | 18994 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsServerCapabilities.h
+2021/12/28 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
+2021/12/28 | 1898 | graphics/asymptote/LspCpp/network/uri/detail/decode.hpp
+2021/12/28 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
+2021/12/28 | 188 | graphics/asymptote/runstring.h
+2021/12/28 | 188 | graphics/asymptote/examples/transparency.asy
+2021/12/28 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
+2021/12/28 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
+2021/12/28 | 187 | graphics/asymptote/tests/string/rfind.asy
+2021/12/28 | 187 | graphics/asymptote/examples/label3solid.asy
+2021/12/28 | 187 | graphics/asymptote/base/shaders/count.glsl
+2021/12/28 | 1876 | graphics/asymptote/cc-mode2.el
+2021/12/28 | 18739 | graphics/asymptote/runstring.cc
+2021/12/28 | 186 | graphics/asymptote/runpath3d.h
+2021/12/28 | 186 | graphics/asymptote/doc/unitcircle3.asy
+2021/12/28 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
+2021/12/28 | 18659 | graphics/asymptote/texfile.cc
+2021/12/28 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
+2021/12/28 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
+2021/12/28 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
+2021/12/28 | 18578 | graphics/asymptote/application.cc
+2021/12/28 | 1851 | graphics/asymptote/drawclipbegin.h
+2021/12/28 | 184 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/index.html
+2021/12/28 | 184 | graphics/asymptote/examples/roll.asy
+2021/12/28 | 18487 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/12/28 | 1844340 | macros/latex/required/babel/base.zip
+2021/12/28 | 183 | graphics/asymptote/build-scripts/cc-indent.el
+2021/12/28 | 18396 | graphics/asymptote/LspCpp/network/uri/uri.cpp
+2021/12/28 | 18371 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/12/28 | 1835 | graphics/asymptote/examples/cyclohexane.asy
+2021/12/28 | 1831 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/documentColor.h
+2021/12/28 | 182 | graphics/asymptote/tests/string/find.asy
+2021/12/28 | 182 | graphics/asymptote/examples/label3.asy
+2021/12/28 | 1828 | graphics/asymptote/beziercurve.cc
+2021/12/28 | 181558 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/12/28 | 1814 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/document_symbol.h
+2021/12/28 | 181466 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/12/28 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
+2021/12/28 | 18101 | graphics/asymptote/doc/asy-latex.dtx
+2021/12/28 | 1808 | graphics/asymptote/LspCpp/LibLsp/lsp/location_type.h
+2021/12/28 | 1808 | graphics/asymptote/GUI/res/icons.qrc
+2021/12/28 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
+2021/12/28 | 17987 | graphics/asymptote/entry.cc
+2021/12/28 | 179707 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/12/28 | 17902 | graphics/asymptote/asy-keywords.el
+2021/12/28 | 178 | graphics/asymptote/fftw++asy.cc
+2021/12/28 | 1787 | graphics/asymptote/LspCpp/network/uri/detail/uri_percent_encode.hpp
+2021/12/28 | 17860 | graphics/asymptote/LspCpp/LspCpp.filters
+2021/12/28 | 177 | graphics/asymptote/runpath.h
+2021/12/28 | 177 | graphics/asymptote/examples/curvedlabel.asy
+2021/12/28 | 17798 | graphics/asymptote/runfile.cc
+2021/12/28 | 1778 | graphics/asymptote/examples/conicurv.asy
+2021/12/28 | 1774 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RequestInMessage.h
+2021/12/28 | 17734 | graphics/asymptote/dec.h
+2021/12/28 | 177246 | graphics/asymptote/prc/PRCdouble.cc
+2021/12/28 | 176 | graphics/asymptote/LspCpp/LibLsp/lsp/ProtocolJsonHandler.h
+2021/12/28 | 176 | graphics/asymptote/base/shaders/count0.glsl
+2021/12/28 | 1765 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/ScopeExit.h
+2021/12/28 | 1765 | graphics/asymptote/base/shaders/blend.glsl
+2021/12/28 | 1764 | graphics/asymptote/GUI/res/icons/grid.svg
+2021/12/28 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
+2021/12/28 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
+2021/12/28 | 175 | graphics/asymptote/examples/strokeshade.asy
+2021/12/28 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
+2021/12/28 | 1751 | graphics/asymptote/GUI/GuidesManager.py
+2021/12/28 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
+2021/12/28 | 1746 | graphics/asymptote/doc/westnile.asy
+2021/12/28 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
+2021/12/28 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
+2021/12/28 | 1734 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
+2021/12/28 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
+2021/12/28 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
+2021/12/28 | 1732474 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/12/28 | 17300 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
+2021/12/28 | 1728 | graphics/asymptote/webgl/vertex.glsl
+2021/12/28 | 172344 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/12/28 | 1710 | graphics/asymptote/tests/arith/roots.asy
+2021/12/28 | 1710 | graphics/asymptote/LspCpp/network/uri/uri_io.hpp
+2021/12/28 | 17064291 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/12/28 | 169 | graphics/asymptote/runbacktrace.h
+2021/12/28 | 1698 | graphics/asymptote/record.cc
+2021/12/28 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
+2021/12/28 | 1694 | graphics/asymptote/fftw++.cc
+2021/12/28 | 168 | graphics/asymptote/examples/lines.asy
+2021/12/28 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
+2021/12/28 | 168851 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/12/28 | 16878 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RemoteEndPoint.cpp
+2021/12/28 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
+2021/12/28 | 1673 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
+2021/12/28 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
+2021/12/28 | 1665 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/foldingRange.h
+2021/12/28 | 1665 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Endpoint.h
+2021/12/28 | 16648 | systems/texlive/tlnet/archive/wrapfig2.source.r61423.tar.xz
+2021/12/28 | 1661 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_diagnostic.cpp
+2021/12/28 | 165 | graphics/asymptote/LspCpp/LspCpp.vcxproj.user
+2021/12/28 | 165 | graphics/asymptote/LspCpp/LspCpp.user
+2021/12/28 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
+2021/12/28 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
+2021/12/28 | 16567 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/12/28 | 16523 | graphics/asymptote/configure.ac
+2021/12/28 | 16521 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/12/28 | 16492 | graphics/asymptote/base/plain_Label.asy
+2021/12/28 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
+2021/12/28 | 16483 | graphics/asymptote/runpair.cc
+2021/12/28 | 16421 | graphics/asymptote/LspCpp/network/optional.hpp
+2021/12/28 | 1640 | graphics/asymptote/callable.h
+2021/12/28 | 163 | graphics/asymptote/examples/1overx.asy
+2021/12/28 | 1630 | graphics/asymptote/builtin.h
+2021/12/28 | 162 | graphics/asymptote/examples/stereoscopic.asy
+2021/12/28 | 162 | graphics/asymptote/examples/sphereskeleton.asy
+2021/12/28 | 1626 | graphics/asymptote/genv.h
+2021/12/28 | 16226 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/sct.cpp
+2021/12/28 | 1620 | graphics/asymptote/doc/colors.asy
+2021/12/28 | 161 | graphics/asymptote/runhistory.h
+2021/12/28 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
+2021/12/28 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
+2021/12/28 | 1617 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/hover.h
+2021/12/28 | 1615 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/colorPresentation.h
+2021/12/28 | 1612 | graphics/asymptote/asy-list.pl
+2021/12/28 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
+2021/12/28 | 16089 | graphics/asymptote/base/slide.asy
+2021/12/28 | 160672 | graphics/asymptote/examples/animations/dice.u3d
+2021/12/28 | 1600 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/lsResponseMessage.h
+2021/12/28 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
+2021/12/28 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
+2021/12/28 | 159 | graphics/asymptote/tests/types/cast.asy
+2021/12/28 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
+2021/12/28 | 1597 | graphics/asymptote/v3dheadertypes.py
+2021/12/28 | 1594 | graphics/asymptote/pen.cc
+2021/12/28 | 158 | graphics/asymptote/tests/frames/stat.asy
+2021/12/28 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
+2021/12/28 | 1588 | graphics/asymptote/build-scripts/asy-format.el
+2021/12/28 | 15833 | graphics/asymptote/runlabel.cc
+2021/12/28 | 157 | graphics/asymptote/runsystem.h
+2021/12/28 | 157 | graphics/asymptote/doc/saddle.asy
+2021/12/28 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
+2021/12/28 | 1578 | graphics/asymptote/build-scripts/cc-format.el
+2021/12/28 | 1578728 | graphics/asymptote/ChangeLog
+2021/12/28 | 157441 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/12/28 | 1567 | graphics/asymptote/LspCpp/LibLsp/lsp/client/registerCapability.h
+2021/12/28 | 1566 | graphics/asymptote/examples/near_earth.asy
+2021/12/28 | 15645 | graphics/asymptote/install-sh
+2021/12/28 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
+2021/12/28 | 15601 | graphics/asymptote/base/ode.asy
+2021/12/28 | 155 | graphics/asymptote/tests/types/ecast.asy
+2021/12/28 | 1552 | graphics/asymptote/examples/NURBSsurface.asy
+2021/12/28 | 155287 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/12/28 | 15516 | graphics/asymptote/LspCpp/LibLsp/lsp/utils.cpp
+2021/12/28 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
+2021/12/28 | 154 | graphics/asymptote/examples/billboard.asy
+2021/12/28 | 154 | graphics/asymptote/doc/slopefield1.asy
+2021/12/28 | 1548 | graphics/asymptote/examples/BezierSurface.asy
+2021/12/28 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
+2021/12/28 | 15451 | graphics/asymptote/types.h
+2021/12/28 | 1542 | graphics/asymptote/GUI/xasyUtils.py
+2021/12/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/12/28 | 153 | graphics/asymptote/runlabel.h
+2021/12/28 | 15387 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
+2021/12/28 | 1537 | graphics/asymptote/examples/refs.bib
+2021/12/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/12/28 | 15277 | graphics/asymptote/base/flowchart.asy
+2021/12/28 | 1524 | graphics/asymptote/patches/flex.patch
+2021/12/28 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
+2021/12/28 | 152103 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/12/28 | 150 | graphics/asymptote/examples/spheresilhouette.asy
+2021/12/28 | 150 | graphics/asymptote/doc/latexmkrc_asydir
+2021/12/28 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
+2021/12/28 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
+2021/12/28 | 14982 | graphics/asymptote/base/palette.asy
+2021/12/28 | 1497476 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/12/28 | 1493 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_change.h
+2021/12/28 | 1492 | graphics/asymptote/runarray.h
+2021/12/28 | 1482 | graphics/asymptote/GUI/res/icons/android-hand.svg
+2021/12/28 | 147 | graphics/asymptote/doc/vectorfield.asy
+2021/12/28 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
+2021/12/28 | 14795 | graphics/asymptote/stm.cc
+2021/12/28 | 1475 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/NotificationInMessage.h
+2021/12/28 | 14758 | graphics/asymptote/base/v3d.asy
+2021/12/28 | 14749 | graphics/asymptote/base/contour3.asy
+2021/12/28 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
+2021/12/28 | 1469 | graphics/asymptote/doc/png/Makefile.in
+2021/12/28 | 1461 | graphics/asymptote/examples/logo3.asy
+2021/12/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/12/28 | 145 | graphics/asymptote/examples/star.asy
+2021/12/28 | 14532 | graphics/asymptote/stack.cc
+2021/12/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/12/28 | 144 | graphics/asymptote/doc/latexmkrc
+2021/12/28 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
+2021/12/28 | 1447744 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/12/28 | 14418 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/12/28 | 1440 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/selectionRange.h
+2021/12/28 | 143 | graphics/asymptote/tests/gc/label.asy
+2021/12/28 | 14378 | graphics/asymptote/examples/teapot.asy
+2021/12/28 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
+2021/12/28 | 14283 | graphics/asymptote/testv3d.asy
+2021/12/28 | 141 | graphics/asymptote/examples/sphere.asy
+2021/12/28 | 141 | graphics/asymptote/examples/ring.asy
+2021/12/28 | 1411 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_code_action.h
+2021/12/28 | 14082 | graphics/asymptote/GUI/xasyBezierInterface.py
+2021/12/28 | 14072 | graphics/asymptote/types.cc
+2021/12/28 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
+2021/12/28 | 13980 | graphics/asymptote/arrayop.h
+2021/12/28 | 1397595 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/12/28 | 1397145 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/12/28 | 13944 | graphics/asymptote/runtriple.cc
+2021/12/28 | 139309 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/12/28 | 1391 | graphics/asymptote/doc/CAD1.asy
+2021/12/28 | 138 | graphics/asymptote/Pipfile
+2021/12/28 | 1386 | graphics/asymptote/LspCpp/Makefile
+2021/12/28 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
+2021/12/28 | 1384 | graphics/asymptote/tests/pic/trans.asy
+2021/12/28 | 13824 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/pool_core.hpp
+2021/12/28 | 1380 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialize.h
+2021/12/28 | 1375 | graphics/asymptote/base/tree.asy
+2021/12/28 | 136 | graphics/asymptote/examples/latticeshading.asy
+2021/12/28 | 13663 | graphics/asymptote/doc/install-sh
+2021/12/28 | 13663 | graphics/asymptote/doc/FAQ/install-sh
+2021/12/28 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r61424.tar.xz
+2021/12/28 | 13615 | graphics/asymptote/entry.h
+2021/12/28 | 13605 | graphics/asymptote/base/grid3.asy
+2021/12/28 | 135932 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/12/28 | 1353496 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/12/28 | 1352 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/did_change_watched_files.h
+2021/12/28 | 1352 | graphics/asymptote/examples/Klein.asy
+2021/12/28 | 13513 | graphics/asymptote/texfile.h
+2021/12/28 | 13512 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/12/28 | 135072 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/12/28 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
+2021/12/28 | 1345 | graphics/asymptote/interact.h
+2021/12/28 | 1341 | graphics/asymptote/runtimebase.in
+2021/12/28 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
+2021/12/28 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
+2021/12/28 | 1338 | graphics/asymptote/LspCpp/third_party/threadpool/LICENSE_1_0.txt
+2021/12/28 | 13357 | graphics/asymptote/camp.l
+2021/12/28 | 1332 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial_header.htm
+2021/12/28 | 1331 | graphics/asymptote/tests/types/spec.asy
+2021/12/28 | 132 | graphics/asymptote/tests/string/length.asy
+2021/12/28 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
+2021/12/28 | 1328 | graphics/asymptote/LspCpp/LibLsp/lsp/lsCommand.h
+2021/12/28 | 1323 | graphics/asymptote/base/v3dheadertypes.asy
+2021/12/28 | 1322 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.txt
+2021/12/28 | 1322404 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/12/28 | 1321 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
+2021/12/28 | 1319 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
+2021/12/28 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
+2021/12/28 | 1311 | graphics/asymptote/patches/dvipdf
+2021/12/28 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
+2021/12/28 | 1309 | graphics/asymptote/examples/roundpath.asy
+2021/12/28 | 129 | graphics/asymptote/tests/gc/struct.asy
+2021/12/28 | 129 | graphics/asymptote/base/shaders/screen.glsl
+2021/12/28 | 1299134 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/12/28 | 1298 | graphics/asymptote/examples/electromagnetic.asy
+2021/12/28 | 129790 | graphics/asymptote/camp.tab.cc
+2021/12/28 | 1293 | graphics/asymptote/TODO
+2021/12/28 | 1293283 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/12/28 | 1292635 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/12/28 | 1291 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
+2021/12/28 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
+2021/12/28 | 1284 | graphics/asymptote/tests/output/Makefile
+2021/12/28 | 1283 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference_header.htm
+2021/12/28 | 12823 | graphics/asymptote/impdatum.cc
+2021/12/28 | 1280 | graphics/asymptote/beziercurve.h
+2021/12/28 | 127 | graphics/asymptote/index.html
2021/12/28 | 1279 | macros/latex/contrib/diffcoeff/README.txt
-2021/12/27 | 99 | graphics/asymptote/base/asy_filetype.vim
-2021/12/27 | 999 | graphics/asymptote/GUI/res/icons/brush.svg
-2021/12/27 | 998 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
-2021/12/27 | 99760 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/12/27 | 994 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/common_footer.htm
-2021/12/27 | 9945 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/SemanticTokens.h
-2021/12/27 | 99372 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/12/27 | 9923 | graphics/asymptote/profiler.h
-2021/12/27 | 990 | graphics/asymptote/examples/RiemannSphere.asy
-2021/12/27 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
+2021/12/28 | 1276 | graphics/asymptote/base/asymptote.py
+2021/12/28 | 1274 | graphics/asymptote/newexp.h
+2021/12/28 | 1267 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/linkedEditingRange.h
+2021/12/28 | 126740 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/12/28 | 1266 | graphics/asymptote/drawverbatim.h
+2021/12/28 | 126514 | graphics/asymptote/ReleaseNotes
+2021/12/28 | 12632 | graphics/asymptote/Makefile.in
+2021/12/28 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
+2021/12/28 | 1261761 | graphics/asymptote/examples/worldmap.dat
+2021/12/28 | 12604 | graphics/asymptote/runsystem.cc
+2021/12/28 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
+2021/12/28 | 1253 | graphics/asymptote/keywords.pl
+2021/12/28 | 12534 | graphics/asymptote/ax_pthread.m4
+2021/12/28 | 1251 | graphics/asymptote/examples/odetest.asy
+2021/12/28 | 124 | graphics/asymptote/tests/gc/path.asy
+2021/12/28 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
+2021/12/28 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
+2021/12/28 | 12474 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
+2021/12/28 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
+2021/12/28 | 1245 | graphics/asymptote/findsym.pl
+2021/12/28 | 1244 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/document_link.h
+2021/12/28 | 1241553 | graphics/asymptote/doc/asymptote.pdf
+2021/12/28 | 1240 | graphics/asymptote/examples/arrows3.asy
+2021/12/28 | 123 | graphics/asymptote/examples/Coons.asy
+2021/12/28 | 123 | graphics/asymptote/doc/superpath.asy
+2021/12/28 | 1236 | graphics/asymptote/primitives.h
+2021/12/28 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
+2021/12/28 | 1235777 | graphics/asymptote/GL/glew.c
+2021/12/28 | 1234988 | systems/texlive/tlnet/archive/tex4ht.source.r61424.tar.xz
+2021/12/28 | 1227 | graphics/asymptote/build-scripts/build-asygl
+2021/12/28 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
+2021/12/28 | 1225 | graphics/asymptote/v3dheadertypes.h
+2021/12/28 | 12259 | graphics/asymptote/knot.h
+2021/12/28 | 12238 | macros/latex/contrib/ccfonts/ccfonts.dtx
+2021/12/28 | 121 | graphics/asymptote/doc/labelsquare.asy
+2021/12/28 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
+2021/12/28 | 1216 | graphics/asymptote/examples/dragon.asy
+2021/12/28 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
+2021/12/28 | 1213 | graphics/asymptote/LspCpp/LibLsp/lsp/lsCodeAction.h
+2021/12/28 | 1213 | graphics/asymptote/base/plain_arcs.asy
+2021/12/28 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
+2021/12/28 | 1209 | graphics/asymptote/tests/imp/unravel.asy
+2021/12/28 | 12093 | graphics/asymptote/runlabel.in
+2021/12/28 | 120297 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/12/28 | 12012 | graphics/asymptote/base/solids.asy
+2021/12/28 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
+2021/12/28 | 1197 | graphics/asymptote/drawclipend.h
+2021/12/28 | 1195 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/references.h
+2021/12/28 | 1194 | graphics/asymptote/GUI/res/icons/code.svg
+2021/12/28 | 1192 | graphics/asymptote/LspCpp/LibLsp/lsp/lsFormattingOptions.h
+2021/12/28 | 1190 | graphics/asymptote/camperror.cc
+2021/12/28 | 11907 | graphics/asymptote/tests/gsl/random.asy
+2021/12/28 | 118 | graphics/asymptote/tests/string/substr.asy
+2021/12/28 | 1189 | graphics/asymptote/tests/types/var.asy
+2021/12/28 | 1188 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview_header.htm
+2021/12/28 | 1188 | graphics/asymptote/EXRFiles.cc
+2021/12/28 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
+2021/12/28 | 1186601 | graphics/asymptote/GL/glew.h
+2021/12/28 | 1185 | graphics/asymptote/LspCpp/LibLsp/lsp/SimpleTimer.h
+2021/12/28 | 1185 | graphics/asymptote/examples/functionshading.asy
+2021/12/28 | 11846 | graphics/asymptote/jsfile.cc
+2021/12/28 | 1183 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/TcpServer.h
+2021/12/28 | 1183 | graphics/asymptote/GUI/xasyArgs.py
+2021/12/28 | 1183225 | graphics/asymptote/gc-8.2.0.tar.gz
+2021/12/28 | 1181004 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/12/28 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
+2021/12/28 | 11792173 | macros/latex/contrib/profcollege.zip
+2021/12/28 | 1178 | graphics/asymptote/base/embed.asy
+2021/12/28 | 1175 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageJsonHandler.cpp
+2021/12/28 | 1172 | graphics/asymptote/LspCpp/README.md
+2021/12/28 | 1171 | graphics/asymptote/parser.h
+2021/12/28 | 1171 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Endpoint.cpp
+2021/12/28 | 11663 | graphics/asymptote/path.h
+2021/12/28 | 11656 | graphics/asymptote/base/binarytree.asy
+2021/12/28 | 1164 | graphics/asymptote/examples/genustwo.asy
+2021/12/28 | 11642 | graphics/asymptote/coder.h
+2021/12/28 | 1163 | graphics/asymptote/runtime.h
+2021/12/28 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
+2021/12/28 | 1161 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/configuration.h
+2021/12/28 | 116010 | graphics/asymptote/predicates.cc
+2021/12/28 | 115 | graphics/asymptote/doc/onecontour.asy
+2021/12/28 | 1159 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/lsRequestId.h
+2021/12/28 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
+2021/12/28 | 115673 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/12/28 | 1154 | graphics/asymptote/LspCpp/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
+2021/12/28 | 11541 | graphics/asymptote/aspy.py
+2021/12/28 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/12/28 | 1151 | graphics/asymptote/callable.cc
+2021/12/28 | 1150 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsClientCapabilities.h
+2021/12/28 | 1149 | graphics/asymptote/guide.cc
+2021/12/28 | 11468 | graphics/asymptote/drawelement.h
+2021/12/28 | 1143 | graphics/asymptote/LspCpp/LibLsp/lsp/lsPosition.h
+2021/12/28 | 1142 | graphics/asymptote/envcompleter.cc
+2021/12/28 | 1140 | graphics/asymptote/absyn.h
+2021/12/28 | 113 | graphics/asymptote/patches/fixmem.reg
+2021/12/28 | 113 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.txt
+2021/12/28 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
+2021/12/28 | 11373 | graphics/asymptote/base/plain_markers.asy
+2021/12/28 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
+2021/12/28 | 1134 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design_header.htm
+2021/12/28 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
+2021/12/28 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
+2021/12/28 | 1130 | graphics/asymptote/GUI/res/icons/redo.svg
+2021/12/28 | 113044 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/12/28 | 1129 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/code_lens.h
+2021/12/28 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
+2021/12/28 | 1126 | graphics/asymptote/coenv.cc
+2021/12/28 | 1125 | graphics/asymptote/LspCpp/third_party/threadpool/Makefile
+2021/12/28 | 1124 | graphics/asymptote/GUI/res/icons/android-locate.svg
+2021/12/28 | 112483 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/12/28 | 1122 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples_header.htm
+2021/12/28 | 1120 | graphics/asymptote/examples/animations/wheel.asy
+2021/12/28 | 1120 | graphics/asymptote/base/external.asy
+2021/12/28 | 111 | graphics/asymptote/GUI/res/icons/center.asy
+2021/12/28 | 111 | graphics/asymptote/examples/shadestroke.asy
+2021/12/28 | 1114 | graphics/asymptote/examples/laserlattice.asy
+2021/12/28 | 11122 | graphics/asymptote/base/math.asy
+2021/12/28 | 1111 | graphics/asymptote/examples/imagehistogram.asy
+2021/12/28 | 11111 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/textDocument.cpp
+2021/12/28 | 1109 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/codeActionResult.h
+2021/12/28 | 1105 | graphics/asymptote/LspCpp/LibLsp/lsp/lsMarkedString.h
+2021/12/28 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
+2021/12/28 | 109 | graphics/asymptote/tests/string/insert.asy
+2021/12/28 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
+2021/12/28 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
+2021/12/28 | 1098 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/rename.h
+2021/12/28 | 10989 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
+2021/12/28 | 1096 | graphics/asymptote/tests/array/transpose.asy
+2021/12/28 | 1096 | graphics/asymptote/refaccess.cc
+2021/12/28 | 1096 | graphics/asymptote/drawlayer.h
+2021/12/28 | 109546 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/12/28 | 10928 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
+2021/12/28 | 109263 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/12/28 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
+2021/12/28 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
+2021/12/28 | 1088 | graphics/asymptote/LspCpp/third_party/threadpool/TODO
+2021/12/28 | 1087 | graphics/asymptote/GUI/res/icons/undo.svg
+2021/12/28 | 1087069 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/12/28 | 1086 | graphics/asymptote/base/shaders/partialsum.glsl
+2021/12/28 | 10840 | graphics/asymptote/base/CAD.asy
+2021/12/28 | 1082 | graphics/asymptote/patches/README
+2021/12/28 | 108268 | systems/texlive/tlnet/archive/texlive-scripts.r61417.tar.xz
+2021/12/28 | 1077 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/applyEdit.h
+2021/12/28 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
+2021/12/28 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
+2021/12/28 | 1066 | graphics/asymptote/LspCpp/LICENSE
+2021/12/28 | 1065 | graphics/asymptote/examples/shellmethod.asy
+2021/12/28 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
+2021/12/28 | 1061 | graphics/asymptote/v3dheadertypes.csv
+2021/12/28 | 10607 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse.cpp
+2021/12/28 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
+2021/12/28 | 10585 | graphics/asymptote/path3.h
+2021/12/28 | 10581 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/serializer.h
+2021/12/28 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
+2021/12/28 | 1056 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/didRenameFiles.h
+2021/12/28 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
+2021/12/28 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
+2021/12/28 | 1055 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialize.cpp
+2021/12/28 | 1055 | graphics/asymptote/examples/partitionExample.asy
+2021/12/28 | 1054 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/onTypeFormatting.h
+2021/12/28 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
+2021/12/28 | 1051 | graphics/asymptote/doc/eetomumu.asy
+2021/12/28 | 1050 | graphics/asymptote/opsymbols.pl
+2021/12/28 | 104 | graphics/asymptote/examples/tiling.asy
+2021/12/28 | 104748 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/12/28 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
+2021/12/28 | 10445 | graphics/asymptote/INSTALL
+2021/12/28 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
+2021/12/28 | 1042 | graphics/asymptote/examples/NURBSsphere.asy
+2021/12/28 | 1040 | graphics/asymptote/examples/lmfit1.asy
+2021/12/28 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
+2021/12/28 | 103461 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/12/28 | 1033 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/prepareRename.h
+2021/12/28 | 1033 | graphics/asymptote/examples/basealign.asy
+2021/12/28 | 1032 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp
+2021/12/28 | 1030 | graphics/asymptote/LspCpp/network/uri.hpp
+2021/12/28 | 1030 | graphics/asymptote/examples/workcone.asy
+2021/12/28 | 102 | graphics/asymptote/tests/gc/file.asy
+2021/12/28 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
+2021/12/28 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
+2021/12/28 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
+2021/12/28 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
+2021/12/28 | 10224 | graphics/asymptote/tr.cc
+2021/12/28 | 10221 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/WebSocketServer.cpp
+2021/12/28 | 1020 | graphics/asymptote/flatguide.cc
+2021/12/28 | 1019 | graphics/asymptote/LspCpp/LibLsp/lsp/client/unregisterCapability.h
+2021/12/28 | 10196 | graphics/asymptote/doc/CAD.tex
+2021/12/28 | 1015 | graphics/asymptote/GUI/xasyTransform.py
+2021/12/28 | 101509 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/12/28 | 1013 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
+2021/12/28 | 1010 | graphics/asymptote/examples/washermethod.asy
+2021/12/28 | 100 | graphics/asymptote/GUI/DebugFlags.py
+2021/12/28 | 10093 | graphics/asymptote/util.cc
+2021/12/28 | 1008 | graphics/asymptote/doc/leastsquares.asy
+2021/12/28 | 10070 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RemoteEndPoint.h
+2021/12/28 | 1006 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/scope_guard.hpp
+2021/12/28 | 1005 | graphics/asymptote/doc/asy.1.begin
+2021/12/28 | 1003 | graphics/asymptote/GUI/res/icons/eye.svg
+2021/12/28 | 10039 | graphics/asymptote/v3dfile.cc
+2021/12/28 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
+2021/12/28 | 1002 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp
+2021/12/28 | 1002 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
+2021/12/28 | 1000 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/StreamMessageProducer.h
+2021/12/28 | 1000 | graphics/asymptote/doc/FAQ/Makefile
+2021/12/28 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
+2021/12/27 | 9913 | support/latexdiff/latexrevise.1
2021/12/27 | 98802 | macros/latex/contrib/diffcoeff/diffcoeff.tex
-2021/12/27 | 986 | graphics/asymptote/predicates.h
-2021/12/27 | 986 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/quickstart.cpp
-2021/12/27 | 9867 | graphics/asymptote/runstring.in
-2021/12/27 | 9826 | graphics/asymptote/base/rationalSimplex.asy
-2021/12/27 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
-2021/12/27 | 9811 | graphics/asymptote/doc/asymptote.sty
-2021/12/27 | 980 | graphics/asymptote/examples/filesurface.asy
-2021/12/27 | 978 | graphics/asymptote/examples/worksheet.asy
-2021/12/27 | 9772 | graphics/asymptote/fundec.cc
-2021/12/27 | 9754 | graphics/asymptote/triple.h
-2021/12/27 | 974 | graphics/asymptote/prc/Makefile
-2021/12/27 | 973 | graphics/asymptote/examples/fequlogo.asy
-2021/12/27 | 972 | graphics/asymptote/examples/triads.asy
-2021/12/27 | 97105 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/12/27 | 969 | graphics/asymptote/runfile.h
-2021/12/27 | 968 | graphics/asymptote/LspCpp/packages.config
-2021/12/27 | 96826 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/12/27 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
-2021/12/27 | 967 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/overview_footer.htm
-2021/12/27 | 966 | graphics/asymptote/tests/array/solve.asy
-2021/12/27 | 965 | systems/win32/miktex/tm/packages/pr.ini
-2021/12/27 | 964 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
-2021/12/27 | 95 | graphics/asymptote/prc/test.asy
-2021/12/27 | 959951 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/12/27 | 9562 | graphics/asymptote/base/bezulate.asy
-2021/12/27 | 954 | graphics/asymptote/examples/poster.asy
-2021/12/27 | 95449 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/12/27 | 953 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/workspaceFolders.h
-2021/12/27 | 95275 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/12/27 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
-2021/12/27 | 949 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Context.cpp
-2021/12/27 | 94848 | graphics/asymptote/GUI/Window1.py
2021/12/27 | 9472 | systems/texlive/tlnet/archive/termsim.source.r61414.tar.xz
-2021/12/27 | 946 | graphics/asymptote/examples/animations/cube.asy
-2021/12/27 | 942 | graphics/asymptote/statistics.h
-2021/12/27 | 93990 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/12/27 | 937 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_open.h
-2021/12/27 | 936 | graphics/asymptote/tests/array/array.asy
-2021/12/27 | 9362 | graphics/asymptote/glrender.h
-2021/12/27 | 934 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/declaration_definition.h
2021/12/27 | 9343039 | fonts/newtx.zip
-2021/12/27 | 9334 | graphics/asymptote/base/plain_paths.asy
-2021/12/27 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
-2021/12/27 | 930 | graphics/asymptote/examples/polararea.asy
-2021/12/27 | 9251 | graphics/asymptote/errors
-2021/12/27 | 920 | graphics/asymptote/makeUnique.h
-2021/12/27 | 916 | graphics/asymptote/opcodes.h
-2021/12/27 | 912 | graphics/asymptote/doc/errorbars.asy
-2021/12/27 | 9104 | graphics/asymptote/symbol.cc
-2021/12/27 | 908 | graphics/asymptote/modifier.h
-2021/12/27 | 908 | graphics/asymptote/coenv.h
-2021/12/27 | 908 | graphics/asymptote/base/map.asy
-2021/12/27 | 9088 | graphics/asymptote/application.h
-2021/12/27 | 907 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/OverridableMethod.h
-2021/12/27 | 902 | graphics/asymptote/shaders.h
-2021/12/27 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
-2021/12/27 | 901 | graphics/asymptote/virtualfieldaccess.cc
-2021/12/27 | 901 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/executeCommand.h
-2021/12/27 | 9015 | graphics/asymptote/psfile.h
-2021/12/27 | 8990 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/TcpServer.cpp
-2021/12/27 | 897 | graphics/asymptote/doc/flowchartdemo.asy
-2021/12/27 | 89290 | graphics/asymptote/webgl/gl.js
-2021/12/27 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
-2021/12/27 | 8870 | graphics/asymptote/base/asy.vim
-2021/12/27 | 886 | graphics/asymptote/angle.h
-2021/12/27 | 8856 | graphics/asymptote/runmath.in
-2021/12/27 | 883 | graphics/asymptote/cudareflect/helper.cuh
-2021/12/27 | 8836 | graphics/asymptote/doc/asy.1
-2021/12/27 | 88227 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/12/27 | 880 | graphics/asymptote/doc/xasy.1x
-2021/12/27 | 879 | graphics/asymptote/examples/markregular.asy
-2021/12/27 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
-2021/12/27 | 8790 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/12/27 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
-2021/12/27 | 877 | graphics/asymptote/doc/markers2.asy
-2021/12/27 | 876 | graphics/asymptote/GUI/res/icons/edit.svg
2021/12/27 | 875011 | info/kaytannollista-latexia/kaytannollista-latexia.pdf
-2021/12/27 | 872 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/range_formatting.h
-2021/12/27 | 8711 | graphics/asymptote/base/plain_pens.asy
-2021/12/27 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
-2021/12/27 | 868 | graphics/asymptote/examples/twistedtubes.asy
-2021/12/27 | 868 | graphics/asymptote/doc/imagecontour.asy
-2021/12/27 | 867 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Condition.h
-2021/12/27 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
-2021/12/27 | 86768 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/12/27 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
-2021/12/27 | 86123 | graphics/asymptote/base/three.asy
-2021/12/27 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
2021/12/27 | 85944 | info/kaytannollista-latexia/luku-merkintakieli.tex
-2021/12/27 | 858 | graphics/asymptote/GUI/res/icons/center.svg
-2021/12/27 | 856 | graphics/asymptote/examples/animations/sphere.asy
-2021/12/27 | 8567 | graphics/asymptote/xstream.h
-2021/12/27 | 8521 | graphics/asymptote/LspCpp/LibLsp/lsp/ClientPreferences.h
-2021/12/27 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
-2021/12/27 | 850 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
-2021/12/27 | 845 | graphics/asymptote/envcompleter.h
-2021/12/27 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
-2021/12/27 | 844 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
-2021/12/27 | 8439 | graphics/asymptote/runpath.in
-2021/12/27 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/ProcessIoService.h
-2021/12/27 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/lsRange.h
-2021/12/27 | 842 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
-2021/12/27 | 8429 | graphics/asymptote/examples/thermodynamics.asy
-2021/12/27 | 8426496 | graphics/asymptote/binaries/i386-windows/texlive/asy.exe
-2021/12/27 | 8411 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference.dox
-2021/12/27 | 839 | graphics/asymptote/examples/venn3.asy
-2021/12/27 | 838 | graphics/asymptote/GUI/res/icons/close-round.svg
-2021/12/27 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
-2021/12/27 | 83449 | graphics/asymptote/lex.yy.cc
-2021/12/27 | 8342 | graphics/asymptote/base/simplex.asy
-2021/12/27 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
-2021/12/27 | 831 | graphics/asymptote/runbacktrace.in
-2021/12/27 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
-2021/12/27 | 8303104 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
-2021/12/27 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
-2021/12/27 | 8296 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.txt
-2021/12/27 | 828 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
-2021/12/27 | 827 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
-2021/12/27 | 825 | graphics/asymptote/examples/xxsq01y.asy
-2021/12/27 | 8243 | graphics/asymptote/base/asy-kate.sh
-2021/12/27 | 824228 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/12/27 | 822 | graphics/asymptote/GUI/res/icons/android-expand.svg
-2021/12/27 | 821 | graphics/asymptote/v3dtypes.py
-2021/12/27 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
-2021/12/27 | 820 | graphics/asymptote/webgl/license
-2021/12/27 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
-2021/12/27 | 81 | graphics/asymptote/doc/bezier.asy
-2021/12/27 | 818 | graphics/asymptote/GLTextures.cc
-2021/12/27 | 81708 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/12/27 | 814 | graphics/asymptote/camperror.h
-2021/12/27 | 81162 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
-2021/12/27 | 810 | graphics/asymptote/examples/orthocenter.asy
-2021/12/27 | 8096 | graphics/asymptote/runhistory.cc
-2021/12/27 | 8095 | graphics/asymptote/LspCpp/example/WebsocketExample.cpp
-2021/12/27 | 808 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_save.h
-2021/12/27 | 806 | graphics/asymptote/GUI/res/icons/android-refresh.svg
-2021/12/27 | 8037 | graphics/asymptote/name.cc
-2021/12/27 | 802 | graphics/asymptote/GUI/res/icons/android-camera.svg
-2021/12/27 | 802 | graphics/asymptote/examples/vertexshading.asy
-2021/12/27 | 802 | graphics/asymptote/examples/controlsystem.asy
-2021/12/27 | 801 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/Makefile
-2021/12/27 | 8008 | graphics/asymptote/runpath3d.in
-2021/12/27 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
-2021/12/27 | 794 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/execute_command.h
-2021/12/27 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
-2021/12/27 | 792 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/formatting.h
-2021/12/27 | 792 | graphics/asymptote/doc/secondaryaxis.asy
-2021/12/27 | 79137 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/12/27 | 79003 | graphics/asymptote/GUI/windows/window1.ui
-2021/12/27 | 78 | graphics/asymptote/examples/randompath3.asy
-2021/12/27 | 789 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
-2021/12/27 | 78963 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/12/27 | 780 | graphics/asymptote/GUI/res/icons/check.svg
-2021/12/27 | 77 | graphics/asymptote/tests/gc/string.asy
-2021/12/27 | 7790 | graphics/asymptote/coder.cc
-2021/12/27 | 778 | graphics/asymptote/LspCpp/LibLsp/lsp/lsDocumentUri.h
-2021/12/27 | 7780 | graphics/asymptote/cudareflect/main.cc
-2021/12/27 | 7755 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/12/27 | 7737 | graphics/asymptote/LspCpp/network/string_view.hpp
-2021/12/27 | 770 | graphics/asymptote/asy.rc
-2021/12/27 | 77073 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/12/27 | 76 | graphics/asymptote/examples/grid.asy
-2021/12/27 | 768 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_close.h
-2021/12/27 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
-2021/12/27 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
-2021/12/27 | 7671 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Context.h
-2021/12/27 | 766 | graphics/asymptote/vm.h
-2021/12/27 | 764 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
-2021/12/27 | 7639 | graphics/asymptote/LICENSE.LESSER
-2021/12/27 | 7632 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool.hpp
-2021/12/27 | 763148 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
-2021/12/27 | 762 | graphics/asymptote/examples/clockarray.asy
-2021/12/27 | 762929 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2021/12/27 | 76233 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/12/27 | 7619 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/threadpool.css
-2021/12/27 | 759 | graphics/asymptote/GUI/res/icons/plus-round.svg
-2021/12/27 | 754 | graphics/asymptote/GUI/res/icons/circle.svg
-2021/12/27 | 754 | graphics/asymptote/doc/graphmarkers.asy
-2021/12/27 | 753827 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/12/27 | 751 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/publishDiagnostics.h
-2021/12/27 | 74 | graphics/asymptote/LspCpp/LibLsp/lsp/method_type.h
-2021/12/27 | 748 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
-2021/12/27 | 747 | graphics/asymptote/examples/pseudosphere.asy
-2021/12/27 | 746 | graphics/asymptote/tests/array/sort.asy
-2021/12/27 | 74622 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/12/27 | 743 | graphics/asymptote/examples/xxsq01.asy
-2021/12/27 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
-2021/12/27 | 7407 | graphics/asymptote/base/graph_splinetype.asy
-2021/12/27 | 74055 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/12/27 | 739 | graphics/asymptote/examples/condor.asy
-2021/12/27 | 738 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
-2021/12/27 | 737 | graphics/asymptote/tests/array/determinant.asy
-2021/12/27 | 73598 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/12/27 | 734 | graphics/asymptote/examples/quilt.asy
-2021/12/27 | 73435 | graphics/asymptote/GL/glxew.h
-2021/12/27 | 733 | graphics/asymptote/GUI/xasySvg.py
-2021/12/27 | 73254 | graphics/asymptote/runarray.cc
-2021/12/27 | 73182 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/12/27 | 730 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse_authority.hpp
-2021/12/27 | 73066 | graphics/asymptote/base/three_surface.asy
-2021/12/27 | 7305 | graphics/asymptote/base/stats.asy
-2021/12/27 | 7302 | graphics/asymptote/base/markers.asy
-2021/12/27 | 72 | graphics/asymptote/tests/gc/pen.asy
-2021/12/27 | 729 | graphics/asymptote/base/labelpath.asy
-2021/12/27 | 7295 | graphics/asymptote/base/plain.asy
-2021/12/27 | 72850 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/12/27 | 727 | graphics/asymptote/examples/fermi.asy
-2021/12/27 | 7274 | graphics/asymptote/runtime.pl
-2021/12/27 | 722 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/searchSymbols.h
-2021/12/27 | 72256 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/12/27 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
-2021/12/27 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
-2021/12/27 | 71895 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/12/27 | 7152 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_completion.h
-2021/12/27 | 714 | graphics/asymptote/mod.h
-2021/12/27 | 714 | graphics/asymptote/LspCpp/network/uri/detail/uri_resolve.hpp
-2021/12/27 | 714 | graphics/asymptote/examples/unitoctantx.asy
-2021/12/27 | 713 | graphics/asymptote/GUI/res/icons/arrow-move.svg
-2021/12/27 | 713 | graphics/asymptote/examples/gamma3.asy
-2021/12/27 | 71368 | graphics/asymptote/base/asy-mode.el
-2021/12/27 | 71201 | graphics/asymptote/prc/oPRCFile.cc
-2021/12/27 | 711 | graphics/asymptote/examples/partialsurface.asy
-2021/12/27 | 710 | graphics/asymptote/examples/fjortoft.asy
-2021/12/27 | 70 | graphics/asymptote/tests/gc/transform.asy
-2021/12/27 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
-2021/12/27 | 7099 | graphics/asymptote/config.h.in
-2021/12/27 | 70994 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/12/27 | 706 | graphics/asymptote/LspCpp/LibLsp/lsp/AbsolutePath.h
-2021/12/27 | 70102 | graphics/asymptote/base/graph3.asy
-2021/12/27 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
-2021/12/27 | 695 | graphics/asymptote/GUI/res/icons/android-close.svg
+2021/12/27 | 7881 | support/TeX4ht/source/mktex4ht-cnf.tex
+2021/12/27 | 7591580 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2021/12/27 | 728288 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2021/12/27 | 69443 | macros/latex/contrib/codebox/codebox-doc-en.pdf
-2021/12/27 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
-2021/12/27 | 694124 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
-2021/12/27 | 693 | graphics/asymptote/LspCpp/LibLsp/lsp/general/progress.h
-2021/12/27 | 693757 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2021/12/27 | 6917 | graphics/asymptote/LspCpp/network/uri/uri_builder.hpp
-2021/12/27 | 6911 | graphics/asymptote/errortest.asy
-2021/12/27 | 690 | graphics/asymptote/examples/layers.asy
-2021/12/27 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
-2021/12/27 | 688 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentEdit.h
-2021/12/27 | 688 | graphics/asymptote/examples/centroidfg.asy
-2021/12/27 | 6889 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
-2021/12/27 | 68800 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/12/27 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
-2021/12/27 | 68618 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/12/27 | 683 | graphics/asymptote/examples/fractaltree.asy
-2021/12/27 | 682340 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/12/27 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
-2021/12/27 | 6811313 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/12/27 | 680 | graphics/asymptote/tests/array/delete.asy
-2021/12/27 | 67 | graphics/asymptote/LspCpp/third_party/threadpool/project-root.jam
-2021/12/27 | 679 | graphics/asymptote/examples/genusthree.asy
-2021/12/27 | 67994 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/12/27 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
-2021/12/27 | 6787 | graphics/asymptote/drawlabel.cc
-2021/12/27 | 67857 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/12/27 | 677 | graphics/asymptote/doc/Bode.asy
-2021/12/27 | 677 | graphics/asymptote/base/shaders/vertex.glsl
-2021/12/27 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
-2021/12/27 | 676 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentItem.h
-2021/12/27 | 674 | graphics/asymptote/GUI/res/icons/android-delete.svg
-2021/12/27 | 674 | graphics/asymptote/examples/sqrtx01.asy
-2021/12/27 | 673 | graphics/asymptote/GUI/res/icons/save.svg
-2021/12/27 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
-2021/12/27 | 6725 | graphics/asymptote/guide.h
-2021/12/27 | 67188 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
2021/12/27 | 671830 | macros/latex/contrib/diffcoeff.zip
-2021/12/27 | 6717 | graphics/asymptote/GUI/xasyOptions.py
-2021/12/27 | 670 | graphics/asymptote/base/v3dtypes.asy
-2021/12/27 | 66 | graphics/asymptote/examples/shade.asy
-2021/12/27 | 669 | graphics/asymptote/drawpath.h
-2021/12/27 | 667 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentPositionParams.h
-2021/12/27 | 667 | graphics/asymptote/examples/spring.asy
-2021/12/27 | 66751 | graphics/asymptote/prc/writePRC.cc
-2021/12/27 | 66559 | graphics/asymptote/base/webgl/asygl.js
-2021/12/27 | 6650 | graphics/asymptote/getopt.h
-2021/12/27 | 663 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool.hpp
-2021/12/27 | 6634 | graphics/asymptote/simpson.cc
-2021/12/27 | 65 | graphics/asymptote/tests/gc/guide.asy
-2021/12/27 | 658 | graphics/asymptote/LspCpp/network/uri/detail/uri_advance_parts.hpp
-2021/12/27 | 658 | graphics/asymptote/examples/NURBScurve.asy
-2021/12/27 | 657 | graphics/asymptote/examples/lowupint.asy
-2021/12/27 | 657 | graphics/asymptote/examples/100d.views
-2021/12/27 | 657 | graphics/asymptote/base/reload.js
-2021/12/27 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
-2021/12/27 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
-2021/12/27 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
-2021/12/27 | 6550 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/scheduling_policies.hpp
-2021/12/27 | 654 | graphics/asymptote/fpu.h
-2021/12/27 | 654 | graphics/asymptote/examples/limit.asy
-2021/12/27 | 6528 | graphics/asymptote/lspserv.h
-2021/12/27 | 6525 | graphics/asymptote/drawfill.h
-2021/12/27 | 6524 | systems/texlive/tlnet/archive/collection-latexextra.r61415.tar.xz
-2021/12/27 | 650 | graphics/asymptote/prcfile.h
-2021/12/27 | 6503 | graphics/asymptote/tests/types/constructor.asy
-2021/12/27 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
-2021/12/27 | 64716 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/12/27 | 64569 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/12/27 | 64516 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/12/27 | 64453 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/12/27 | 643 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/common_footer.htm
-2021/12/27 | 64207 | graphics/asymptote/base/graph.asy
-2021/12/27 | 641 | graphics/asymptote/examples/pOrbital.asy
-2021/12/27 | 6414 | graphics/asymptote/mathop.h
-2021/12/27 | 6402 | graphics/asymptote/main.cc
-2021/12/27 | 639 | graphics/asymptote/tests/arith/transform.asy
-2021/12/27 | 639 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
-2021/12/27 | 6386 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/threaded_queue.h
-2021/12/27 | 637 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
-2021/12/27 | 637 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
-2021/12/27 | 6370 | graphics/asymptote/asymptote.nsi
-2021/12/27 | 63700 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/12/27 | 6369 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/traits.h
-2021/12/27 | 6350 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.txt
-2021/12/27 | 633 | graphics/asymptote/GUI/res/icons/android-done.svg
-2021/12/27 | 63314 | graphics/asymptote/GL/wglew.h
-2021/12/27 | 63312 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/12/27 | 632 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/SCTConfig.h
-2021/12/27 | 632 | graphics/asymptote/examples/label3zoom.asy
-2021/12/27 | 631 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
-2021/12/27 | 631 | graphics/asymptote/locate.h
-2021/12/27 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
-2021/12/27 | 6318 | graphics/asymptote/doc/leastsquares.dat
-2021/12/27 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
-2021/12/27 | 631000 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/12/27 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
-2021/12/27 | 630565 | systems/win32/miktex/tm/packages/files.csv.lzma
-2021/12/27 | 630358 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/12/27 | 62 | graphics/asymptote/tests/gc/array.asy
-2021/12/27 | 62 | graphics/asymptote/revision.cc
-2021/12/27 | 629126 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/12/27 | 628 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/message.h
-2021/12/27 | 628 | graphics/asymptote/examples/wedge.asy
-2021/12/27 | 628 | graphics/asymptote/examples/polarcircle.asy
-2021/12/27 | 6288 | graphics/asymptote/transform.h
-2021/12/27 | 6287 | graphics/asymptote/base/plain_prethree.asy
-2021/12/27 | 6278 | graphics/asymptote/base/plain_filldraw.asy
-2021/12/27 | 6275 | graphics/asymptote/generate_enums.py
-2021/12/27 | 62711 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/12/27 | 626 | graphics/asymptote/examples/venn.asy
-2021/12/27 | 625 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/overview_footer.htm
-2021/12/27 | 625 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
-2021/12/27 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
-2021/12/27 | 62420 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/12/27 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
-2021/12/27 | 620 | graphics/asymptote/tests/arith/integer.asy
-2021/12/27 | 61 | graphics/asymptote/examples/axialshade.asy
-2021/12/27 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
-2021/12/27 | 6189 | graphics/asymptote/camp.tab.h
-2021/12/27 | 617 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateConstructors.h
-2021/12/27 | 617 | graphics/asymptote/doc/logo.asy
-2021/12/27 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
+2021/12/27 | 6667 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/12/27 | 616460 | systems/texlive/tlnet/archive/easybook.doc.r61413.tar.xz
-2021/12/27 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
-2021/12/27 | 6159 | graphics/asymptote/base/plain_strings.asy
2021/12/27 | 6131 | info/kaytannollista-latexia/README.md
-2021/12/27 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
-2021/12/27 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
-2021/12/27 | 611 | graphics/asymptote/GUI/xasy.py
-2021/12/27 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
-2021/12/27 | 610 | graphics/asymptote/examples/impact.asy
-2021/12/27 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
-2021/12/27 | 609 | graphics/asymptote/keywords.cc
-2021/12/27 | 60939 | graphics/asymptote/runtime.cc
-2021/12/27 | 608 | graphics/asymptote/examples/spline.asy
-2021/12/27 | 608 | graphics/asymptote/base/size10.asy
-2021/12/27 | 604 | graphics/asymptote/doc/flow.asy
-2021/12/27 | 602 | graphics/asymptote/examples/treetest.asy
-2021/12/27 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
-2021/12/27 | 600 | graphics/asymptote/base/size11.asy
-2021/12/27 | 60074 | graphics/asymptote/GUI/xasy2asy.py
-2021/12/27 | 59 | graphics/asymptote/examples/stroke3.asy
-2021/12/27 | 599047 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/12/27 | 598 | graphics/asymptote/examples/integraltest.asy
-2021/12/27 | 5987 | graphics/asymptote/runfile.in
-2021/12/27 | 5975 | graphics/asymptote/base/three_tube.asy
-2021/12/27 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
-2021/12/27 | 594 | graphics/asymptote/LspCpp/network/uri/detail/uri_normalize.hpp
-2021/12/27 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
-2021/12/27 | 591 | graphics/asymptote/examples/sinc.asy
-2021/12/27 | 591063 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/12/27 | 58 | graphics/asymptote/examples/progrid.asy
-2021/12/27 | 589 | graphics/asymptote/examples/trefoilknot.asy
-2021/12/27 | 588 | graphics/asymptote/LspCpp/LibLsp/lsp/out_list.h
-2021/12/27 | 5883 | graphics/asymptote/Delaunay.cc
-2021/12/27 | 587 | graphics/asymptote/LspCpp/LibLsp/lsp/ExecuteCommandParams.h
-2021/12/27 | 5877 | graphics/asymptote/base/shaders/fragment.glsl
-2021/12/27 | 586 | graphics/asymptote/GUI/xasyStrings.py
-2021/12/27 | 58643 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/12/27 | 58548 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/12/27 | 58370 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/12/27 | 582 | graphics/asymptote/examples/cos3.asy
-2021/12/27 | 5823 | graphics/asymptote/drawpath3.h
-2021/12/27 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
-2021/12/27 | 581 | graphics/asymptote/examples/BezierSaddle.asy
-2021/12/27 | 580 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/did_change_configuration.h
-2021/12/27 | 580 | graphics/asymptote/examples/xsin1x.asy
-2021/12/27 | 57 | graphics/asymptote/GUI/requirements.txt
-2021/12/27 | 579 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/findLinks.h
-2021/12/27 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
-2021/12/27 | 579 | graphics/asymptote/examples/sin3.asy
-2021/12/27 | 579 | graphics/asymptote/examples/exp3.asy
-2021/12/27 | 57944 | graphics/asymptote/runpicture.cc
-2021/12/27 | 578 | graphics/asymptote/base/annotate.asy
-2021/12/27 | 5789 | graphics/asymptote/base/trembling.asy
-2021/12/27 | 576 | graphics/asymptote/examples/threeviews.asy
-2021/12/27 | 576 | graphics/asymptote/examples/circles.asy
-2021/12/27 | 57688 | graphics/asymptote/glrender.cc
-2021/12/27 | 57567 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/12/27 | 57416 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/12/27 | 57407 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/12/27 | 5735 | graphics/asymptote/base/plain_scaling.asy
-2021/12/27 | 5734 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/protocol.h
-2021/12/27 | 5733 | graphics/asymptote/item.h
-2021/12/27 | 572 | graphics/asymptote/examples/curvedlabel3.asy
-2021/12/27 | 57278 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/12/27 | 5712 | graphics/asymptote/bezierpatch.h
-2021/12/27 | 570 | graphics/asymptote/examples/fillcontour.asy
-2021/12/27 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
-2021/12/27 | 56962 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/12/27 | 5691 | graphics/asymptote/name.h
-2021/12/27 | 568 | graphics/asymptote/LspCpp/network/uri/config.hpp
-2021/12/27 | 566 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/highlight.h
-2021/12/27 | 566759 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/12/27 | 565 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateAccessors.h
-2021/12/27 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
-2021/12/27 | 5621 | graphics/asymptote/errormsg.h
-2021/12/27 | 55991 | graphics/asymptote/base/smoothcontour3.asy
-2021/12/27 | 558 | graphics/asymptote/examples/floatingdisk.asy
-2021/12/27 | 5586 | graphics/asymptote/interact.cc
-2021/12/27 | 557 | graphics/asymptote/examples/Pythagoras.asy
-2021/12/27 | 5578 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp
-2021/12/27 | 55726 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
-2021/12/27 | 55722 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/12/27 | 5566 | graphics/asymptote/drawpath3.cc
-2021/12/27 | 5543 | graphics/asymptote/examples/filesurface.dat
-2021/12/27 | 5537 | graphics/asymptote/examples/cpkcolors.asy
-2021/12/27 | 552 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse.hpp
-2021/12/27 | 55293 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/12/27 | 54 | graphics/asymptote/tests/gc/funcall.asy
-2021/12/27 | 54950 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/12/27 | 548 | graphics/asymptote/v3dtypes.h
-2021/12/27 | 548 | graphics/asymptote/examples/equilchord.asy
-2021/12/27 | 548 | graphics/asymptote/cudareflect/Makefile
-2021/12/27 | 547 | graphics/asymptote/examples/tetra.asy
-2021/12/27 | 5441 | graphics/asymptote/env.cc
-2021/12/27 | 54109 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/optional.hpp
-2021/12/27 | 53997 | graphics/asymptote/settings.cc
-2021/12/27 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
-2021/12/27 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
-2021/12/27 | 5328 | graphics/asymptote/LspCpp/LibLsp/lsp/working_files.cpp
-2021/12/27 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
-2021/12/27 | 532337 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/12/27 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
-2021/12/27 | 52 | graphics/asymptote/doc/square.asy
-2021/12/27 | 528532 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/12/27 | 5279 | graphics/asymptote/base/bsp.asy
-2021/12/27 | 5278 | graphics/asymptote/pair.h
-2021/12/27 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
-2021/12/27 | 5272 | graphics/asymptote/GUI/labelEditor.py
-2021/12/27 | 5265 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/tutorial.cpp
-2021/12/27 | 5262 | graphics/asymptote/patches/bison.patch
-2021/12/27 | 525 | graphics/asymptote/examples/vectorfield3.asy
-2021/12/27 | 52573 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/12/27 | 5250 | graphics/asymptote/pipestream.cc
-2021/12/27 | 524 | graphics/asymptote/doc/brokenaxis.asy
-2021/12/27 | 5238 | graphics/asymptote/base/animation.asy
-2021/12/27 | 52279 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/12/27 | 5221 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.dox
-2021/12/27 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
-2021/12/27 | 521 | graphics/asymptote/base/shaders/presum.glsl
-2021/12/27 | 5216 | graphics/asymptote/examples/mosaic.asy
-2021/12/27 | 520 | graphics/asymptote/examples/smoothelevation.asy
-2021/12/27 | 52095 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/12/27 | 5203 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.dox
-2021/12/27 | 5202 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.dox
-2021/12/27 | 519 | graphics/asymptote/examples/extrudedcontour.asy
-2021/12/27 | 5196 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.dox
-2021/12/27 | 518 | graphics/asymptote/doc/CDlabel.asy
-2021/12/27 | 5183 | graphics/asymptote/stm.h
+2021/12/27 | 575 | support/latexdiff/contrib/README.latexchanges
+2021/12/27 | 5296 | support/latexdiff/README
2021/12/27 | 516893 | macros/latex/contrib/wrapfig2.zip
-2021/12/27 | 51640 | graphics/asymptote/prc/oPRCFile.h
-2021/12/27 | 51588 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/12/27 | 514 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/generateToString.h
-2021/12/27 | 51430 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/12/27 | 513 | graphics/asymptote/examples/buildcycle.asy
-2021/12/27 | 5111 | graphics/asymptote/runsystem.in
-2021/12/27 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
-2021/12/27 | 50 | graphics/asymptote/base/babel.asy
-2021/12/27 | 509 | graphics/asymptote/examples/dimension.asy
-2021/12/27 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
-2021/12/27 | 5095 | graphics/asymptote/memory.h
-2021/12/27 | 50853 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/12/27 | 50733 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/12/27 | 506 | graphics/asymptote/examples/delu.asy
-2021/12/27 | 5064 | graphics/asymptote/runhistory.in
-2021/12/27 | 504 | graphics/asymptote/absyn.cc
-2021/12/27 | 50437 | graphics/asymptote/gsl.cc
-2021/12/27 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
-2021/12/27 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
-2021/12/27 | 500 | graphics/asymptote/examples/floor.asy
-2021/12/27 | 500 | graphics/asymptote/doc/Hobbydir.asy
-2021/12/27 | 49 | graphics/asymptote/doc/quartercircle.asy
-2021/12/27 | 49 | graphics/asymptote/doc/dots.asy
-2021/12/27 | 49 | graphics/asymptote/doc/colons.asy
-2021/12/27 | 499 | graphics/asymptote/examples/galleon.asy
-2021/12/27 | 4996 | graphics/asymptote/base/rational.asy
-2021/12/27 | 4992 | graphics/asymptote/base/tube.asy
-2021/12/27 | 498 | graphics/asymptote/examples/fano.asy
-2021/12/27 | 498 | graphics/asymptote/doc/penfunctionimage.asy
-2021/12/27 | 4973 | graphics/asymptote/LspCpp/example/StdIOClientExample.cpp
-2021/12/27 | 496 | graphics/asymptote/examples/bars3.asy
-2021/12/27 | 496 | graphics/asymptote/base/shaders/postsum.glsl
-2021/12/27 | 495 | graphics/asymptote/examples/cones.asy
-2021/12/27 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
-2021/12/27 | 494 | graphics/asymptote/drawgrestore.h
-2021/12/27 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
-2021/12/27 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
-2021/12/27 | 4919 | graphics/asymptote/process.h
+2021/12/27 | 49478 | support/latexdiff/latexdiff.1
2021/12/27 | 49140 | info/mathalphabets/src/mathalphabets.tex
-2021/12/27 | 490 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/type_definition.h
-2021/12/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2021/12/27 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
-2021/12/27 | 489 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveCompletionItem.h
-2021/12/27 | 4899 | graphics/asymptote/LspCpp/LibLsp/lsp/utils.h
-2021/12/27 | 4895 | graphics/asymptote/fundec.h
-2021/12/27 | 488 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/implementation.h
-2021/12/27 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
-2021/12/27 | 48802 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/12/27 | 487 | graphics/asymptote/LspCpp/LibLsp/lsp/general/shutdown.h
-2021/12/27 | 4873 | graphics/asymptote/parser.cc
-2021/12/27 | 4866 | graphics/asymptote/fileio.cc
-2021/12/27 | 485 | graphics/asymptote/examples/cards.asy
-2021/12/27 | 48481 | graphics/asymptote/prc/writePRC.h
-2021/12/27 | 484479 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/12/27 | 48441 | graphics/asymptote/config.guess
-2021/12/27 | 4841 | graphics/asymptote/tests/array/slice.asy
-2021/12/27 | 48417 | graphics/asymptote/runarray.in
-2021/12/27 | 4837 | graphics/asymptote/LspCpp/example/TcpServerExample.cpp
-2021/12/27 | 482 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialized.h
-2021/12/27 | 4818 | graphics/asymptote/v3dfile.h
-2021/12/27 | 4811 | graphics/asymptote/base/x11colors.asy
-2021/12/27 | 480 | graphics/asymptote/doc/logimage.asy
-2021/12/27 | 4808 | graphics/asymptote/examples/interpolate1.asy
-2021/12/27 | 479 | graphics/asymptote/examples/magnetic.asy
-2021/12/27 | 4792 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/serializer.cpp
-2021/12/27 | 47893 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/12/27 | 477729 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/12/27 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
-2021/12/27 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
-2021/12/27 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
-2021/12/27 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
-2021/12/27 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
-2021/12/27 | 4735 | graphics/asymptote/array.cc
-2021/12/27 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
-2021/12/27 | 472 | graphics/asymptote/examples/colorplanes.asy
-2021/12/27 | 4727 | graphics/asymptote/doc/westnile.csv
-2021/12/27 | 472132 | graphics/asymptote/doc/png/asymptote.info
-2021/12/27 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
-2021/12/27 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
-2021/12/27 | 4688 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sonarlint/protocol.h
-2021/12/27 | 46531 | graphics/asymptote/base/plain_picture.asy
-2021/12/27 | 464 | graphics/asymptote/drawgsave.h
-2021/12/27 | 464 | graphics/asymptote/doc/GaussianSurface.asy
-2021/12/27 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
-2021/12/27 | 4629 | graphics/asymptote/castop.h
-2021/12/27 | 4626 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp
-2021/12/27 | 46135 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/12/27 | 461242 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/12/27 | 460 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Cancellation.h
-2021/12/27 | 460 | graphics/asymptote/examples/lever.asy
-2021/12/27 | 460 | graphics/asymptote/examples/cosaddition.asy
-2021/12/27 | 4602 | graphics/asymptote/util.h
-2021/12/27 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
-2021/12/27 | 459 | graphics/asymptote/examples/hierarchy.asy
-2021/12/27 | 4597 | graphics/asymptote/drawfill.cc
-2021/12/27 | 458 | graphics/asymptote/doc/multicontour.asy
-2021/12/27 | 4580 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageIssue.h
-2021/12/27 | 4578 | graphics/asymptote/LspCpp/LibLsp/lsp/IProgressMonitor.h
-2021/12/27 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
-2021/12/27 | 45731 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/12/27 | 4570 | graphics/asymptote/env.h
-2021/12/27 | 45687 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/12/27 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/12/27 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2021/12/27 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/12/27 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2021/12/27 | 454 | graphics/asymptote/EXRFiles.h
-2021/12/27 | 45411 | graphics/asymptote/fftw++.h
-2021/12/27 | 4531 | graphics/asymptote/webgl/fragment.glsl
-2021/12/27 | 4520 | graphics/asymptote/getopt1.c
-2021/12/27 | 4514 | graphics/asymptote/bbox.h
-2021/12/27 | 450 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/threaded_queue.cpp
-2021/12/27 | 449 | graphics/asymptote/tests/arith/pair.asy
-2021/12/27 | 4487 | graphics/asymptote/base/plain_shipout.asy
-2021/12/27 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
-2021/12/27 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
-2021/12/27 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/mergesort.cpp
-2021/12/27 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/future.hpp
-2021/12/27 | 445 | graphics/asymptote/examples/sacone.asy
-2021/12/27 | 445 | graphics/asymptote/cudareflect/kernel.h
-2021/12/27 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
-2021/12/27 | 442 | graphics/asymptote/doc/join3.asy
-2021/12/27 | 441 | graphics/asymptote/examples/triangles.asy
-2021/12/27 | 441 | graphics/asymptote/doc/histogram.asy
-2021/12/27 | 43 | graphics/asymptote/examples/spring2.asy
-2021/12/27 | 439 | graphics/asymptote/examples/gamma.asy
-2021/12/27 | 4395 | graphics/asymptote/LspCpp/network/uri/detail/encode.hpp
-2021/12/27 | 43894 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/12/27 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
-2021/12/27 | 43809 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/12/27 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
-2021/12/27 | 4371 | graphics/asymptote/cudareflect/kernel.cu
-2021/12/27 | 436 | graphics/asymptote/examples/colorpatch.asy
-2021/12/27 | 43683 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/12/27 | 4366 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/StreamMessageProducer.cpp
-2021/12/27 | 43639 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/12/27 | 4348 | graphics/asymptote/doc/colo-asy.tex
-2021/12/27 | 4345 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/task_adaptors.hpp
-2021/12/27 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
-2021/12/27 | 43335 | graphics/asymptote/examples/100d.pdb1
-2021/12/27 | 43275 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/12/27 | 430 | graphics/asymptote/examples/unitoctant.asy
-2021/12/27 | 42 | graphics/asymptote/base/animate.asy
-2021/12/27 | 428 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/symbol.h
-2021/12/27 | 4286 | graphics/asymptote/asy.ico
-2021/12/27 | 4285 | graphics/asymptote/newexp.cc
-2021/12/27 | 427 | graphics/asymptote/examples/projectrevolution.asy
-2021/12/27 | 42767 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/12/27 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
-2021/12/27 | 426 | graphics/asymptote/doc/grid3xyz.asy
-2021/12/27 | 4265 | graphics/asymptote/LspCpp/LibLsp/lsp/symbol.h
-2021/12/27 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
-2021/12/27 | 424 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextDocumentIdentifier.h
-2021/12/27 | 424 | graphics/asymptote/examples/spiral3.asy
-2021/12/27 | 4244 | graphics/asymptote/examples/fin.asy
-2021/12/27 | 4242 | graphics/asymptote/tests/types/keyword.asy
-2021/12/27 | 423 | graphics/asymptote/doc/log2graph.asy
-2021/12/27 | 423 | graphics/asymptote/doc/helix.asy
-2021/12/27 | 422 | graphics/asymptote/v3dtypes.csv
-2021/12/27 | 42110 | graphics/asymptote/picture.cc
-2021/12/27 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
-2021/12/27 | 4209 | graphics/asymptote/flatguide.h
-2021/12/27 | 41 | graphics/asymptote/doc/bigdiagonal.asy
-2021/12/27 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
-2021/12/27 | 419 | graphics/asymptote/examples/torus.asy
-2021/12/27 | 4199 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/typeHierarchy.h
-2021/12/27 | 418 | graphics/asymptote/examples/planeproject.asy
-2021/12/27 | 417 | graphics/asymptote/doc/knots.asy
-2021/12/27 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
-2021/12/27 | 416 | graphics/asymptote/doc/bezier2.asy
-2021/12/27 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
-2021/12/27 | 415 | graphics/asymptote/doc/linetype.asy
-2021/12/27 | 4158 | graphics/asymptote/examples/advection.asy
-2021/12/27 | 4156 | graphics/asymptote/runpair.in
+2021/12/27 | 4454 | support/latexdiff/contrib/latexdiff-wrap
+2021/12/27 | 4177 | support/latexdiff/doc/example-diff.tex
2021/12/27 | 41551 | fonts/newtx/README
-2021/12/27 | 414 | graphics/asymptote/examples/animations/glmovie.asy
-2021/12/27 | 41326 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/12/27 | 41220 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/12/27 | 41203 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/12/27 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
-2021/12/27 | 4118 | graphics/asymptote/LspCpp/LibLsp/lsp/lru_cache.h
-2021/12/27 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
-2021/12/27 | 410 | graphics/asymptote/examples/Sierpinski.asy
-2021/12/27 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
-2021/12/27 | 4088 | graphics/asymptote/base/plain_boxes.asy
-2021/12/27 | 4084 | graphics/asymptote/GUI/xasyFile.py
-2021/12/27 | 4083 | graphics/asymptote/LspCpp/network/uri/uri_builder.cpp
-2021/12/27 | 407 | graphics/asymptote/examples/parametricsurface.asy
-2021/12/27 | 407 | graphics/asymptote/examples/BezierPatch.asy
-2021/12/27 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
-2021/12/27 | 4072 | graphics/asymptote/tests/types/order.asy
-2021/12/27 | 4067 | graphics/asymptote/doc/diatom.csv
-2021/12/27 | 40665 | graphics/asymptote/examples/tvgen.asy
-2021/12/27 | 402268 | systems/texlive/tlnet/archive/texlive-scripts.doc.r61410.tar.xz
-2021/12/27 | 401 | graphics/asymptote/doc/image.asy
-2021/12/27 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
-2021/12/27 | 400 | graphics/asymptote/examples/sacylinder.asy
-2021/12/27 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
2021/12/27 | 4000 | fonts/newtx/tex/newtx.sty
-2021/12/27 | 39 | graphics/asymptote/base/nopapersize.ps
-2021/12/27 | 398 | graphics/asymptote/examples/epix.asy
-2021/12/27 | 39804 | graphics/asymptote/LspCpp/LspCpp.vcxproj
-2021/12/27 | 39745 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/12/27 | 396 | graphics/asymptote/doc/triangulate.asy
-2021/12/27 | 396 | graphics/asymptote/doc/legend.asy
-2021/12/27 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
-2021/12/27 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
-2021/12/27 | 394271 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/12/27 | 393 | graphics/asymptote/GUI/setup.py
-2021/12/27 | 3936 | graphics/asymptote/base/interpolate.asy
-2021/12/27 | 393676 | graphics/asymptote/doc/asymptote.texi
-2021/12/27 | 3917 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/Markup.h
-2021/12/27 | 3912 | graphics/asymptote/tr.h
-2021/12/27 | 390 | graphics/asymptote/doc/tile.asy
+2021/12/27 | 39277 | graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
2021/12/27 | 390080 | systems/texlive/tlnet/archive/termsim.doc.r61414.tar.xz
-2021/12/27 | 38 | graphics/asymptote/examples/spring0.asy
-2021/12/27 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
2021/12/27 | 3860 | systems/texlive/tlnet/archive/termsim.r61414.tar.xz
-2021/12/27 | 3857 | graphics/asymptote/examples/pipes.asy
-2021/12/27 | 38542 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/12/27 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
-2021/12/27 | 384 | graphics/asymptote/Delaunay.h
-2021/12/27 | 38460 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/12/27 | 383 | graphics/asymptote/tests/arith/real.asy
-2021/12/27 | 383 | graphics/asymptote/examples/Gouraud.asy
-2021/12/27 | 3834 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_diagnostic.h
-2021/12/27 | 382 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/buildWorkspace.h
-2021/12/27 | 382 | graphics/asymptote/doc/loggrid.asy
-2021/12/27 | 37991 | graphics/asymptote/path3.cc
-2021/12/27 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
-2021/12/27 | 378 | graphics/asymptote/examples/sinxlex.asy
-2021/12/27 | 378 | graphics/asymptote/doc/icon.asy
-2021/12/27 | 37783 | graphics/asymptote/exp.cc
-2021/12/27 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
-2021/12/27 | 376 | graphics/asymptote/doc/generalaxis3.asy
-2021/12/27 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
-2021/12/27 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
-2021/12/27 | 3765 | graphics/asymptote/prc/PRCdouble.h
-2021/12/27 | 374 | graphics/asymptote/doc/monthaxis.asy
-2021/12/27 | 373 | graphics/asymptote/examples/projectelevation.asy
-2021/12/27 | 373 | graphics/asymptote/doc/lineargraph.asy
-2021/12/27 | 3739 | graphics/asymptote/examples/xstitch.asy
-2021/12/27 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
-2021/12/27 | 37374 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/12/27 | 3731 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/callHierarchy.h
-2021/12/27 | 3723 | graphics/asymptote/LspCpp/third_party/threadpool/CHANGE_LOG
-2021/12/27 | 3719 | graphics/asymptote/base/three_light.asy
-2021/12/27 | 37152 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/12/27 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
-2021/12/27 | 37092 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/12/27 | 3706 | graphics/asymptote/base/plain_constants.asy
-2021/12/27 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
-2021/12/27 | 3676 | graphics/asymptote/constructor.cc
+2021/12/27 | 37196 | graphics/pgf/contrib/yquant/tex/yquant-prepare.tex
2021/12/27 | 367149 | macros/latex/contrib/codebox.zip
-2021/12/27 | 366 | graphics/asymptote/doc/lineargraph0.asy
-2021/12/27 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
-2021/12/27 | 3669 | graphics/asymptote/LspCpp/example/StdIOServerExample.cpp
-2021/12/27 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
-2021/12/27 | 3640 | graphics/asymptote/bbox3.h
-2021/12/27 | 362 | graphics/asymptote/examples/pipeintersection.asy
-2021/12/27 | 36243 | graphics/asymptote/prc/test.cc
-2021/12/27 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
-2021/12/27 | 361 | graphics/asymptote/examples/phase.asy
-2021/12/27 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
-2021/12/27 | 361352 | systems/texlive/tlnet/archive/codebox.doc.r61415.tar.xz
-2021/12/27 | 360 | graphics/asymptote/examples/washer.asy
-2021/12/27 | 3608 | graphics/asymptote/GLTextures.h
-2021/12/27 | 36043 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/12/27 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
-2021/12/27 | 35 | graphics/asymptote/base/fontsize.asy
-2021/12/27 | 3596 | systems/texlive/tlnet/archive/codebox.r61415.tar.xz
-2021/12/27 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
-2021/12/27 | 357 | graphics/asymptote/doc/irregularcontour.asy
-2021/12/27 | 355 | graphics/asymptote/doc/scaledgraph.asy
-2021/12/27 | 3556 | graphics/asymptote/build-scripts/build-asymptote.dos
-2021/12/27 | 354 | graphics/asymptote/doc/reloadpdf.tex
-2021/12/27 | 354 | graphics/asymptote/doc/planes.asy
-2021/12/27 | 354 | graphics/asymptote/base/pstoedit.asy
-2021/12/27 | 352 | graphics/asymptote/examples/cylinder.asy
-2021/12/27 | 35264 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/12/27 | 351 | graphics/asymptote/tinyexr.cc
-2021/12/27 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
-2021/12/27 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/12/27 | 351559 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/12/27 | 35147 | graphics/asymptote/LICENSE
-2021/12/27 | 34 | graphics/asymptote/examples/teapotIBL.asy
-2021/12/27 | 34 | graphics/asymptote/autogen.sh
-2021/12/27 | 349 | graphics/asymptote/examples/logdown.asy
-2021/12/27 | 348 | graphics/asymptote/LspCpp/LibLsp/lsp/ParentProcessWatcher.h
-2021/12/27 | 348 | graphics/asymptote/examples/RiemannSurface.asy
-2021/12/27 | 3472 | graphics/asymptote/picture.h
-2021/12/27 | 3465 | graphics/asymptote/drawpath.cc
-2021/12/27 | 345 | graphics/asymptote/examples/rainbow.asy
2021/12/27 | 34571 | macros/latex/contrib/codebox/codebox.dtx
-2021/12/27 | 3441 | graphics/asymptote/rounding.h
-2021/12/27 | 343 | graphics/asymptote/doc/externalprc.tex
-2021/12/27 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
-2021/12/27 | 342 | graphics/asymptote/lexical.h
-2021/12/27 | 341 | graphics/asymptote/examples/slidedemo_.bbl
-2021/12/27 | 341 | graphics/asymptote/examples/sacylinder3D.asy
-2021/12/27 | 341 | graphics/asymptote/doc/subpictures.asy
-2021/12/27 | 3418 | graphics/asymptote/LspCpp/LibLsp/lsp/general/InitializeParams.h
-2021/12/27 | 34092 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/12/27 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
-2021/12/27 | 3391 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/signature_help.h
-2021/12/27 | 33813 | graphics/asymptote/path.cc
-2021/12/27 | 3375 | graphics/asymptote/tests/types/guide.asy
-2021/12/27 | 3374 | graphics/asymptote/base/roundedpath.asy
-2021/12/27 | 33677 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/Markup.cpp
-2021/12/27 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
-2021/12/27 | 3358 | graphics/asymptote/examples/slidedemo.asy
-2021/12/27 | 333 | graphics/asymptote/doc/asy.1.end
-2021/12/27 | 3335 | graphics/asymptote/examples/pdb.asy
-2021/12/27 | 332375 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/12/27 | 3306 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
-2021/12/27 | 32 | graphics/asymptote/LspCpp/third_party/threadpool/Jamrules
-2021/12/27 | 32990 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/12/27 | 3298 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
-2021/12/27 | 3297 | graphics/asymptote/access.cc
-2021/12/27 | 3295 | graphics/asymptote/stack.h
-2021/12/27 | 3294 | graphics/asymptote/LspCpp/LibLsp/lsp/lsAny.h
-2021/12/27 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
-2021/12/27 | 327 | graphics/asymptote/examples/sin1x.asy
-2021/12/27 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
-2021/12/27 | 3278 | graphics/asymptote/base/obj.asy
2021/12/27 | 3274 | macros/latex/contrib/codebox/README.md
-2021/12/27 | 326 | graphics/asymptote/examples/polardatagraph.asy
-2021/12/27 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
-2021/12/27 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
-2021/12/27 | 3265 | graphics/asymptote/program.cc
-2021/12/27 | 326387 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/12/27 | 325 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
-2021/12/27 | 325 | graphics/asymptote/examples/elevation.asy
-2021/12/27 | 324 | graphics/asymptote/doc/HermiteSpline.asy
-2021/12/27 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
-2021/12/27 | 322 | graphics/asymptote/examples/unitcircle.asy
-2021/12/27 | 322 | graphics/asymptote/examples/cheese.asy
-2021/12/27 | 321 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/README
-2021/12/27 | 32155 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/12/27 | 320 | graphics/asymptote/runtriple.h
-2021/12/27 | 320 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/Move.h
-2021/12/27 | 320403 | graphics/asymptote/base/geometry.asy
-2021/12/27 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
-2021/12/27 | 319 | graphics/asymptote/LspCpp/third_party/threadpool/Jamfile.v2
-2021/12/27 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
-2021/12/27 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
-2021/12/27 | 318734 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/12/27 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
+2021/12/27 | 32474 | support/latexdiff/COPYING
2021/12/27 | 316381 | info/kaytannollista-latexia/luku-rakenne.tex
-2021/12/27 | 3160 | graphics/asymptote/shaders.cc
-2021/12/27 | 31609 | graphics/asymptote/config.sub
-2021/12/27 | 315 | graphics/asymptote/examples/hyperboloid.asy
-2021/12/27 | 31578 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/12/27 | 3153 | graphics/asymptote/genv.cc
-2021/12/27 | 31539 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/12/27 | 314 | graphics/asymptote/doc/logticks.asy
-2021/12/27 | 314 | graphics/asymptote/base/graph_settings.asy
-2021/12/27 | 31413 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/12/27 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
-2021/12/27 | 31342 | graphics/asymptote/builtin.cc
-2021/12/27 | 31333 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/12/27 | 312 | graphics/asymptote/examples/textpath.asy
-2021/12/27 | 3125 | graphics/asymptote/doc/latexusage.tex
-2021/12/27 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
+2021/12/27 | 3148 | support/latexdiff/Makefile
+2021/12/27 | 31034 | support/latexdiff/latexdiff-vc
2021/12/27 | 30 | info/kaytannollista-latexia/versio.tex
-2021/12/27 | 309 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
-2021/12/27 | 308 | graphics/asymptote/tests/types/shadow.asy
-2021/12/27 | 308 | graphics/asymptote/tests/Makefile
-2021/12/27 | 308 | graphics/asymptote/examples/oneoverx.asy
-2021/12/27 | 3072 | graphics/asymptote/LspCpp/network/uri/detail/grammar.hpp
-2021/12/27 | 306 | graphics/asymptote/doc/binarytreetest.asy
-2021/12/27 | 3065 | graphics/asymptote/jsfile.h
-2021/12/27 | 30640 | graphics/asymptote/LspCpp/macro_map.h
-2021/12/27 | 30569 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/12/27 | 3052 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse_authority.cpp
-2021/12/27 | 3040 | graphics/asymptote/asymptote.spec
-2021/12/27 | 303 | graphics/asymptote/examples/tensor.asy
-2021/12/27 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
-2021/12/27 | 30307 | graphics/asymptote/exp.h
-2021/12/27 | 3024 | graphics/asymptote/drawimage.h
-2021/12/27 | 3023 | graphics/asymptote/doc/Makefile.in
-2021/12/27 | 30208 | graphics/asymptote/prc/PRC.h
-2021/12/27 | 301 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/organizeImports.h
-2021/12/27 | 30181 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/12/27 | 30147 | graphics/asymptote/getopt.c
-2021/12/27 | 300 | graphics/asymptote/examples/strokepath.asy
-2021/12/27 | 3004 | graphics/asymptote/LspCpp/LibLsp/lsp/lsResponseError.h
-2021/12/27 | 299 | graphics/asymptote/runpair.h
-2021/12/27 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
-2021/12/27 | 297 | graphics/asymptote/build-scripts/README-binaries
-2021/12/27 | 2979 | graphics/asymptote/doc/diatom.asy
-2021/12/27 | 2974 | graphics/asymptote/LspCpp/LibLsp/lsp/language/language.h
-2021/12/27 | 2968 | graphics/asymptote/material.h
-2021/12/27 | 2964 | graphics/asymptote/access.h
-2021/12/27 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
-2021/12/27 | 295888 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/12/27 | 294 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/classFileContents.h
-2021/12/27 | 294 | graphics/asymptote/guideflags.h
2021/12/27 | 294288 | info/mathalphabets.zip
-2021/12/27 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
-2021/12/27 | 293 | graphics/asymptote/doc/makepen.asy
-2021/12/27 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
-2021/12/27 | 2930 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/stream.h
-2021/12/27 | 292060 | graphics/asymptote/configure
-2021/12/27 | 291 | graphics/asymptote/examples/trumpet.asy
-2021/12/27 | 2918 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
-2021/12/27 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
2021/12/27 | 289 | macros/latex/contrib/codebox/build.sh
-2021/12/27 | 289 | graphics/asymptote/examples/jump.asy
-2021/12/27 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
-2021/12/27 | 289 | graphics/asymptote/base/res/notes.txt
-2021/12/27 | 288 | graphics/asymptote/examples/sacone3D.asy
-2021/12/27 | 288 | graphics/asymptote/doc/mexicanhat.asy
-2021/12/27 | 28894 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/12/27 | 2880 | graphics/asymptote/LspCpp/LibLsp/lsp/ParentProcessWatcher.cpp
-2021/12/27 | 2880 | graphics/asymptote/drawgroup.h
-2021/12/27 | 28679 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/12/27 | 286703 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/12/27 | 28545 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/12/27 | 285454 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/12/27 | 284 | graphics/asymptote/GUI/res/icons/text.svg
-2021/12/27 | 2845 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/json.h
-2021/12/27 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
-2021/12/27 | 28387 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/12/27 | 28337 | graphics/asymptote/symbolmaps.h
-2021/12/27 | 2830 | graphics/asymptote/examples/alignedaxis.asy
-2021/12/27 | 2827 | graphics/asymptote/LspCpp/network/uri/detail/uri_resolve.cpp
2021/12/27 | 282632 | info/mathalphabets/mathalphabets.pdf
2021/12/27 | 281819 | macros/latex/contrib/codebox/codebox.pdf
-2021/12/27 | 2817 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/worker_thread.hpp
-2021/12/27 | 281441 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/12/27 | 2800 | graphics/asymptote/doc/asycolors.sty
-2021/12/27 | 279 | graphics/asymptote/LspCpp/third_party/threadpool/README
-2021/12/27 | 279 | graphics/asymptote/doc/hatch.asy
-2021/12/27 | 2798717 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/12/27 | 27856 | graphics/asymptote/pen.h
-2021/12/27 | 277 | graphics/asymptote/doc/generalaxis.asy
-2021/12/27 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
2021/12/27 | 27720 | systems/texlive/tlnet/archive/asmeconf.r61412.tar.xz
-2021/12/27 | 2771 | graphics/asymptote/doc/pixel.pdf
-2021/12/27 | 276 | graphics/asymptote/tests/bench/6000circles.asy
-2021/12/27 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
-2021/12/27 | 27528 | graphics/asymptote/LspCpp/LibLsp/lsp/Markup/string_ref.h
-2021/12/27 | 2749 | graphics/asymptote/symbol.h
-2021/12/27 | 27473 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/12/27 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
-2021/12/27 | 2732 | graphics/asymptote/record.h
-2021/12/27 | 2731 | graphics/asymptote/tests/types/resolve.asy
-2021/12/27 | 27261 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/12/27 | 27243 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/12/27 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
-2021/12/27 | 2707 | graphics/asymptote/settings.h
-2021/12/27 | 2707 | graphics/asymptote/runtriple.in
-2021/12/27 | 270497 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
-2021/12/27 | 26 | graphics/asymptote/doc/filegraph.dat
-2021/12/27 | 26 | graphics/asymptote/_config.yml
-2021/12/27 | 269 | graphics/asymptote/runmath.h
-2021/12/27 | 2697 | graphics/asymptote/table.h
-2021/12/27 | 268 | graphics/asymptote/base/asy-init.el
-2021/12/27 | 26844 | graphics/asymptote/runpath.cc
-2021/12/27 | 2680 | graphics/asymptote/examples/soccerball.asy
-2021/12/27 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
-2021/12/27 | 2675 | graphics/asymptote/LspCpp/LibLsp/lsp/ResourceOperation.h
-2021/12/27 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
-2021/12/27 | 2675897 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/12/27 | 2674 | graphics/asymptote/doc/markers1.asy
-2021/12/27 | 26693 | graphics/asymptote/dec.cc
-2021/12/27 | 2668 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/code_action.h
-2021/12/27 | 2661 | graphics/asymptote/runbacktrace.cc
-2021/12/27 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
-2021/12/27 | 264 | graphics/asymptote/examples/labelbox.asy
-2021/12/27 | 264 | graphics/asymptote/examples/coag.asy
-2021/12/27 | 2649 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/future.hpp
+2021/12/27 | 269147 | support/latexdiff/doc/latexdiff-man.pdf
2021/12/27 | 2643 | info/kaytannollista-latexia/luku-esipuhe.tex
-2021/12/27 | 2636 | graphics/asymptote/LspCpp/LibLsp/lsp/CodeActionParams.h
-2021/12/27 | 2632 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/semanticHighlighting.h
-2021/12/27 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
-2021/12/27 | 262 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/GCThreadContext.cpp
-2021/12/27 | 262 | graphics/asymptote/doc/loggraph.asy
-2021/12/27 | 2626 | graphics/asymptote/examples/worldmap.asy
2021/12/27 | 2622 | info/kaytannollista-latexia/kirjallisuutta.bib
-2021/12/27 | 261 | graphics/asymptote/doc/join.asy
-2021/12/27 | 2614 | graphics/asymptote/pipestream.h
-2021/12/27 | 2613 | graphics/asymptote/base/patterns.asy
-2021/12/27 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
-2021/12/27 | 2609 | graphics/asymptote/LspCpp/network/uri/uri_errors.hpp
-2021/12/27 | 26096 | graphics/asymptote/examples/uhrturm.obj
-2021/12/27 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
-2021/12/27 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
-2021/12/27 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
-2021/12/27 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
-2021/12/27 | 259275 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/12/27 | 25701 | graphics/asymptote/runpath3d.cc
-2021/12/27 | 256 | graphics/asymptote/doc/shadedtiling.asy
-2021/12/27 | 256910 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/12/27 | 256830 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/12/27 | 25671 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/12/27 | 25631622 | systems/texlive/tlnet/install-tl.zip
-2021/12/27 | 2561 | graphics/asymptote/program.h
-2021/12/27 | 256199 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/12/27 | 2557 | graphics/asymptote/abs3doutfile.h
-2021/12/27 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
-2021/12/27 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
-2021/12/27 | 254 | graphics/asymptote/examples/parametricelevation.asy
-2021/12/27 | 254 | graphics/asymptote/examples/contextfonts.asy
-2021/12/27 | 25452 | graphics/asymptote/LspCpp/LspCpp.vcxproj.filters
-2021/12/27 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
-2021/12/27 | 2542 | graphics/asymptote/policy.h
-2021/12/27 | 25357 | graphics/asymptote/base/lmfit.asy
-2021/12/27 | 25325 | graphics/asymptote/bezierpatch.cc
-2021/12/27 | 2524 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/completion.h
-2021/12/27 | 251 | graphics/asymptote/examples/triceratops.asy
-2021/12/27 | 251 | graphics/asymptote/base/metapost.asy
-2021/12/27 | 2518 | graphics/asymptote/prc/PRCbitStream.h
-2021/12/27 | 25154 | graphics/asymptote/doc/extra/intro.asy
-2021/12/27 | 2514 | graphics/asymptote/LspCpp/LibLsp/lsp/lsTextEdit.h
-2021/12/27 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
-2021/12/27 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
-2021/12/27 | 25134 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/12/27 | 251066 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/12/27 | 250 | graphics/asymptote/examples/transparentCubes.asy
-2021/12/27 | 25094 | graphics/asymptote/drawsurface.cc
-2021/12/27 | 25061 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/12/27 | 2505 | graphics/asymptote/README
-2021/12/27 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
-2021/12/27 | 2505 | graphics/asymptote/binaries/i386-windows/README
-2021/12/27 | 2504 | graphics/asymptote/examples/mosquito.asy
-2021/12/27 | 24 | graphics/asymptote/doc/diagonal.asy
-2021/12/27 | 2492 | graphics/asymptote/base/three_margins.asy
-2021/12/27 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
-2021/12/27 | 2484 | graphics/asymptote/build-scripts/build-asymptote
-2021/12/27 | 2482 | graphics/asymptote/LspCpp/LibLsp/lsp/lsWorkspaceEdit.h
-2021/12/27 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
-2021/12/27 | 24784 | graphics/asymptote/symbolmaps.cc
-2021/12/27 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
-2021/12/27 | 246 | graphics/asymptote/doc/axis3.asy
-2021/12/27 | 245 | graphics/asymptote/examples/alignbox.asy
-2021/12/27 | 2451 | graphics/asymptote/base/labelpath3.asy
-2021/12/27 | 244 | graphics/asymptote/tests/arith/triple.asy
-2021/12/27 | 244964 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/12/27 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
-2021/12/27 | 243 | graphics/asymptote/doc/cube.asy
-2021/12/27 | 242 | graphics/asymptote/examples/equilateral.asy
-2021/12/27 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
-2021/12/27 | 242 | graphics/asymptote/BUGS
-2021/12/27 | 2424 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/WebSocketServer.h
-2021/12/27 | 241 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageProducer.h
-2021/12/27 | 241 | graphics/asymptote/cudareflect/common.h
-2021/12/27 | 24153 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/12/27 | 240 | graphics/asymptote/doc/parametricgraph.asy
-2021/12/27 | 23 | graphics/asymptote/GUI/__init__.py
-2021/12/27 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
-2021/12/27 | 2396 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
-2021/12/27 | 23933 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/12/27 | 23904 | graphics/asymptote/process.cc
-2021/12/27 | 238 | graphics/asymptote/tests/TestLib.asy
-2021/12/27 | 238 | graphics/asymptote/GUI/xasyValidator.py
-2021/12/27 | 238 | graphics/asymptote/doc/filegraph.asy
-2021/12/27 | 2378 | graphics/asymptote/profile.py
-2021/12/27 | 23717 | graphics/asymptote/base/three_arrows.asy
-2021/12/27 | 236 | graphics/asymptote/tests/string/erase.asy
-2021/12/27 | 236 | graphics/asymptote/LspCpp/LibLsp/lsp/Directory.h
-2021/12/27 | 236 | graphics/asymptote/examples/annotation.asy
-2021/12/27 | 23682714 | graphics/asymptote.zip
-2021/12/27 | 23679 | graphics/asymptote/drawsurface.h
-2021/12/27 | 2362 | graphics/asymptote/examples/spectrum.asy
-2021/12/27 | 235 | graphics/asymptote/examples/cos2theta.asy
-2021/12/27 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
-2021/12/27 | 234 | graphics/asymptote/doc/beziercurve.asy
-2021/12/27 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
-2021/12/27 | 233 | graphics/asymptote/examples/cardioid.asy
-2021/12/27 | 2336164 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
-2021/12/27 | 2328 | graphics/asymptote/virtualfieldaccess.h
-2021/12/27 | 23274 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp.cpp
-2021/12/27 | 23205 | graphics/asymptote/LspCpp/LibLsp/lsp/ProtocolJsonHandler.cpp
-2021/12/27 | 2315 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp
-2021/12/27 | 2310 | graphics/asymptote/base/plain_margins.asy
-2021/12/27 | 22 | graphics/asymptote/tests/output/line.asy
-2021/12/27 | 22 | graphics/asymptote/GUI/configs/__init__.py
-2021/12/27 | 229 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
-2021/12/27 | 22946 | graphics/asymptote/base/syzygy.asy
-2021/12/27 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
-2021/12/27 | 228 | graphics/asymptote/examples/circumcircle.asy
-2021/12/27 | 22873 | graphics/asymptote/examples/piicon.png
-2021/12/27 | 2279 | graphics/asymptote/errormsg.cc
-2021/12/27 | 2277 | graphics/asymptote/base/texcolors.asy
-2021/12/27 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
-2021/12/27 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
-2021/12/27 | 2266 | graphics/asymptote/align.h
-2021/12/27 | 2259 | graphics/asymptote/LspCpp/network/uri/detail/uri_normalize.cpp
-2021/12/27 | 22594 | graphics/asymptote/base/plain_arrows.asy
-2021/12/27 | 2257 | graphics/asymptote/LspCpp/LibLsp/lsp/windows/MessageNotify.h
-2021/12/27 | 22502 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
-2021/12/27 | 224 | graphics/asymptote/tests/types/init.asy
-2021/12/27 | 223 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/resolveCodeLens.h
-2021/12/27 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
-2021/12/27 | 22345 | graphics/asymptote/knot.cc
-2021/12/27 | 222 | graphics/asymptote/wce
-2021/12/27 | 222 | graphics/asymptote/examples/yingyang.asy
-2021/12/27 | 2222 | graphics/asymptote/tests/frames/loop.asy
-2021/12/27 | 221 | graphics/asymptote/LspCpp/third_party/threadpool/COPYING
-2021/12/27 | 22178 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/12/27 | 2207 | graphics/asymptote/build-scripts/HOWTO-MSWindows
-2021/12/27 | 219 | graphics/asymptote/doc/penimage.asy
-2021/12/27 | 219 | graphics/asymptote/doc/graphwithderiv.asy
-2021/12/27 | 2194 | graphics/asymptote/locate.cc
-2021/12/27 | 21926 | graphics/asymptote/runmath.cc
-2021/12/27 | 2191 | graphics/asymptote/examples/splitpatch.asy
-2021/12/27 | 218 | graphics/asymptote/doc/datagraph.asy
-2021/12/27 | 2187 | graphics/asymptote/common.h
-2021/12/27 | 2187 | graphics/asymptote/base/plain_debugger.asy
-2021/12/27 | 21807 | graphics/asymptote/LspCpp/network/uri/uri.hpp
-2021/12/27 | 217 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/GCThreadContext.h
-2021/12/27 | 2176 | graphics/asymptote/LspCpp/network/uri/detail/uri_advance_parts.cpp
-2021/12/27 | 2164 | graphics/asymptote/frame.h
-2021/12/27 | 215852 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/12/27 | 2151 | graphics/asymptote/LspCpp/network/uri/detail/translate.hpp
-2021/12/27 | 2149 | graphics/asymptote/LspCpp/LibLsp/lsp/working_files.h
-2021/12/27 | 21481 | graphics/asymptote/lspserv.cc
-2021/12/27 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
-2021/12/27 | 21448 | graphics/asymptote/base/feynman.asy
-2021/12/27 | 2143 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
-2021/12/27 | 21382 | graphics/asymptote/fileio.h
-2021/12/27 | 21373 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/12/27 | 2136 | graphics/asymptote/seconds.h
-2021/12/27 | 2134 | graphics/asymptote/drawlabel.h
-2021/12/27 | 213457 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/12/27 | 2123 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
-2021/12/27 | 2122 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageJsonHandler.h
-2021/12/27 | 210 | graphics/asymptote/examples/spiral.asy
-2021/12/27 | 210 | graphics/asymptote/build-scripts/asy-indent.el
-2021/12/27 | 2109 | graphics/asymptote/base/drawtree.asy
-2021/12/27 | 2104 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
-2021/12/27 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
-2021/12/27 | 209935 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/12/27 | 2098 | graphics/asymptote/LspCpp/network/uri/detail/algorithm.hpp
-2021/12/27 | 20989 | graphics/asymptote/base/plain_bounds.asy
-2021/12/27 | 2088 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/locking_ptr.hpp
-2021/12/27 | 20871137 | systems/texlive/tlnet/install-tl-windows.exe
-2021/12/27 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
-2021/12/27 | 208085 | graphics/asymptote/asy.list
-2021/12/27 | 207 | graphics/asymptote/examples/triangle.asy
+2021/12/27 | 25956 | graphics/pgf/contrib/yquant/tex/yquant-lang.tex
+2021/12/27 | 246111 | support/latexdiff/latexdiff-fast
+2021/12/27 | 241722 | support/latexdiff/latexdiff-so
+2021/12/27 | 229912 | support/latexdiff/latexdiff
+2021/12/27 | 22241 | support/latexdiff/latexrevise
+2021/12/27 | 2212 | support/latexdiff/contrib/latexchanges.py
+2021/12/27 | 2116628 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
2021/12/27 | 20779 | info/kaytannollista-latexia/luku-erikoiset.tex
-2021/12/27 | 2073 | graphics/asymptote/LspCpp/network/uri/detail/uri_parts.hpp
-2021/12/27 | 206 | graphics/asymptote/examples/log.asy
-2021/12/27 | 206973 | graphics/asymptote/doc/asy-latex.pdf
2021/12/27 | 20634 | info/kaytannollista-latexia/luku-valmistautuminen.tex
-2021/12/27 | 20633 | graphics/asymptote/runtime.in
-2021/12/27 | 2054 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/message.cpp
-2021/12/27 | 205495 | graphics/asymptote/base/colormap.asy
-2021/12/27 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
-2021/12/27 | 203 | graphics/asymptote/LspCpp/LibLsp/lsp/general/exit.h
-2021/12/27 | 2034 | graphics/asymptote/doc/elliptic.asy
-2021/12/27 | 2031 | graphics/asymptote/base/slopefield.asy
-2021/12/27 | 203081 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/12/27 | 202 | graphics/asymptote/tests/frames/stat2.asy
-2021/12/27 | 202 | graphics/asymptote/glew.c
-2021/12/27 | 202 | graphics/asymptote/doc/exp.asy
-2021/12/27 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
-2021/12/27 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
-2021/12/27 | 20277 | graphics/asymptote/base/contour.asy
-2021/12/27 | 2023 | graphics/asymptote/examples/slope.asy
-2021/12/27 | 202238 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/12/27 | 20190 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/12/27 | 2012 | graphics/asymptote/varinit.h
-2021/12/27 | 2012707 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/12/27 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
-2021/12/27 | 20090 | graphics/asymptote/runpicture.in
-2021/12/27 | 20051 | graphics/asymptote/doc/asyRefCard.tex
-2021/12/27 | 2004 | graphics/asymptote/varinit.cc
-2021/12/27 | 2002 | graphics/asymptote/LspCpp/network/uri/uri_errors.cpp
-2021/12/27 | 20029 | graphics/asymptote/camp.y
-2021/12/27 | 200141 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/12/27 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
-2021/12/27 | 2000 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool_adaptors.hpp
-2021/12/27 | 199 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/Jamfile.v2
-2021/12/27 | 199 | graphics/asymptote/examples/upint.asy
-2021/12/27 | 199 | graphics/asymptote/examples/BezierTriangle.asy
-2021/12/27 | 199836 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/12/27 | 199112 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/12/27 | 198 | graphics/asymptote/examples/tanh.asy
-2021/12/27 | 198823 | graphics/asymptote/doc/CAD.pdf
-2021/12/27 | 1982 | graphics/asymptote/inst.h
-2021/12/27 | 1975 | graphics/asymptote/array.h
-2021/12/27 | 197374 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/12/27 | 196 | graphics/asymptote/examples/lowint.asy
-2021/12/27 | 196 | graphics/asymptote/examples/label3ribbon.asy
-2021/12/27 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
-2021/12/27 | 1968 | graphics/asymptote/examples/mergeExample.asy
-2021/12/27 | 196120 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/12/27 | 195 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/Jamfile.v2
-2021/12/27 | 19597 | graphics/asymptote/doc/external-proposal.html
-2021/12/27 | 1957 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/shutdown_policies.hpp
-2021/12/27 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
-2021/12/27 | 1950 | graphics/asymptote/cudareflect/utils.cuh
-2021/12/27 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
-2021/12/27 | 194 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/Jamfile.v2
-2021/12/27 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
-2021/12/27 | 193 | graphics/asymptote/tests/gc/shipout.asy
-2021/12/27 | 193 | graphics/asymptote/tests/arith/random.asy
-2021/12/27 | 193 | graphics/asymptote/base/shaders/offset.glsl
-2021/12/27 | 1936 | graphics/asymptote/refaccess.h
-2021/12/27 | 1927 | graphics/asymptote/tests/array/fields.asy
-2021/12/27 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
-2021/12/27 | 1924 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/willSave.h
-2021/12/27 | 1920 | graphics/asymptote/GUI/res/icons/social-python.svg
-2021/12/27 | 191 | graphics/asymptote/runpicture.h
-2021/12/27 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
-2021/12/27 | 1918 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/sct.h
2021/12/27 | 19130 | fonts/newtx/tex/newtxtext.sty
-2021/12/27 | 1910 | graphics/asymptote/examples/linearregression.asy
-2021/12/27 | 19107 | graphics/asymptote/psfile.cc
-2021/12/27 | 190 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/Jamfile.v2
-2021/12/27 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
-2021/12/27 | 18 | graphics/asymptote/tests/output/circle.asy
-2021/12/27 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
-2021/12/27 | 18994 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsServerCapabilities.h
-2021/12/27 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
-2021/12/27 | 1898 | graphics/asymptote/LspCpp/network/uri/detail/decode.hpp
-2021/12/27 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
-2021/12/27 | 188 | graphics/asymptote/runstring.h
-2021/12/27 | 188 | graphics/asymptote/examples/transparency.asy
-2021/12/27 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
-2021/12/27 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
-2021/12/27 | 187 | graphics/asymptote/tests/string/rfind.asy
-2021/12/27 | 187 | graphics/asymptote/examples/label3solid.asy
-2021/12/27 | 187 | graphics/asymptote/base/shaders/count.glsl
-2021/12/27 | 1876 | graphics/asymptote/cc-mode2.el
-2021/12/27 | 18739 | graphics/asymptote/runstring.cc
-2021/12/27 | 186 | graphics/asymptote/runpath3d.h
-2021/12/27 | 186 | graphics/asymptote/doc/unitcircle3.asy
-2021/12/27 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
-2021/12/27 | 18659 | graphics/asymptote/texfile.cc
-2021/12/27 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
-2021/12/27 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
-2021/12/27 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
-2021/12/27 | 18578 | graphics/asymptote/application.cc
-2021/12/27 | 1851 | graphics/asymptote/drawclipbegin.h
-2021/12/27 | 184 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/index.html
-2021/12/27 | 184 | graphics/asymptote/examples/roll.asy
-2021/12/27 | 18486 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/12/27 | 183 | graphics/asymptote/build-scripts/cc-indent.el
-2021/12/27 | 18396 | graphics/asymptote/LspCpp/network/uri/uri.cpp
-2021/12/27 | 18371 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/12/27 | 1835 | graphics/asymptote/examples/cyclohexane.asy
-2021/12/27 | 1831 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/documentColor.h
-2021/12/27 | 182 | graphics/asymptote/tests/string/find.asy
-2021/12/27 | 182 | graphics/asymptote/examples/label3.asy
-2021/12/27 | 1828 | graphics/asymptote/beziercurve.cc
-2021/12/27 | 181558 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/12/27 | 1814 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/document_symbol.h
-2021/12/27 | 181466 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/12/27 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
-2021/12/27 | 18101 | graphics/asymptote/doc/asy-latex.dtx
-2021/12/27 | 1808 | graphics/asymptote/LspCpp/LibLsp/lsp/location_type.h
-2021/12/27 | 1808 | graphics/asymptote/GUI/res/icons.qrc
-2021/12/27 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
2021/12/27 | 18000 | systems/texlive/tlnet/archive/easybook.source.r61413.tar.xz
-2021/12/27 | 17987 | graphics/asymptote/entry.cc
-2021/12/27 | 179707 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
2021/12/27 | 17960 | systems/texlive/tlnet/archive/easybook.r61413.tar.xz
-2021/12/27 | 17902 | graphics/asymptote/asy-keywords.el
-2021/12/27 | 178 | graphics/asymptote/fftw++asy.cc
-2021/12/27 | 1787 | graphics/asymptote/LspCpp/network/uri/detail/uri_percent_encode.hpp
-2021/12/27 | 17860 | graphics/asymptote/LspCpp/LspCpp.filters
-2021/12/27 | 177 | graphics/asymptote/runpath.h
-2021/12/27 | 177 | graphics/asymptote/examples/curvedlabel.asy
-2021/12/27 | 17798 | graphics/asymptote/runfile.cc
-2021/12/27 | 1778 | graphics/asymptote/examples/conicurv.asy
-2021/12/27 | 1774 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RequestInMessage.h
-2021/12/27 | 17734 | graphics/asymptote/dec.h
-2021/12/27 | 177246 | graphics/asymptote/prc/PRCdouble.cc
-2021/12/27 | 176 | graphics/asymptote/LspCpp/LibLsp/lsp/ProtocolJsonHandler.h
-2021/12/27 | 176 | graphics/asymptote/base/shaders/count0.glsl
-2021/12/27 | 1765 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/ScopeExit.h
-2021/12/27 | 1765 | graphics/asymptote/base/shaders/blend.glsl
-2021/12/27 | 1764 | graphics/asymptote/GUI/res/icons/grid.svg
-2021/12/27 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
-2021/12/27 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
-2021/12/27 | 175 | graphics/asymptote/examples/strokeshade.asy
-2021/12/27 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
-2021/12/27 | 1751 | graphics/asymptote/GUI/GuidesManager.py
-2021/12/27 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
-2021/12/27 | 1746 | graphics/asymptote/doc/westnile.asy
-2021/12/27 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
-2021/12/27 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
-2021/12/27 | 1734 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
-2021/12/27 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
-2021/12/27 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
-2021/12/27 | 1732474 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/12/27 | 1728 | graphics/asymptote/webgl/vertex.glsl
-2021/12/27 | 172344 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/12/27 | 1710 | graphics/asymptote/tests/arith/roots.asy
-2021/12/27 | 1710 | graphics/asymptote/LspCpp/network/uri/uri_io.hpp
-2021/12/27 | 17060982 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/12/27 | 169 | graphics/asymptote/runbacktrace.h
-2021/12/27 | 1698 | graphics/asymptote/record.cc
-2021/12/27 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
-2021/12/27 | 1694 | graphics/asymptote/fftw++.cc
-2021/12/27 | 168 | graphics/asymptote/examples/lines.asy
-2021/12/27 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
-2021/12/27 | 168850 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/12/27 | 16878 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RemoteEndPoint.cpp
-2021/12/27 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
-2021/12/27 | 1673 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
-2021/12/27 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
-2021/12/27 | 1665 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/foldingRange.h
-2021/12/27 | 1665 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Endpoint.h
-2021/12/27 | 1661 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_diagnostic.cpp
-2021/12/27 | 165 | graphics/asymptote/LspCpp/LspCpp.vcxproj.user
-2021/12/27 | 165 | graphics/asymptote/LspCpp/LspCpp.user
-2021/12/27 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
-2021/12/27 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
-2021/12/27 | 16566 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/12/27 | 16523 | graphics/asymptote/configure.ac
-2021/12/27 | 16521 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/12/27 | 16492 | graphics/asymptote/base/plain_Label.asy
-2021/12/27 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
-2021/12/27 | 16483 | graphics/asymptote/runpair.cc
-2021/12/27 | 16421 | graphics/asymptote/LspCpp/network/optional.hpp
-2021/12/27 | 1640 | graphics/asymptote/callable.h
-2021/12/27 | 163 | graphics/asymptote/examples/1overx.asy
-2021/12/27 | 1630 | graphics/asymptote/builtin.h
-2021/12/27 | 162 | graphics/asymptote/examples/stereoscopic.asy
-2021/12/27 | 162 | graphics/asymptote/examples/sphereskeleton.asy
-2021/12/27 | 1626 | graphics/asymptote/genv.h
-2021/12/27 | 16226 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/sct/sct.cpp
-2021/12/27 | 1620 | graphics/asymptote/doc/colors.asy
-2021/12/27 | 161 | graphics/asymptote/runhistory.h
-2021/12/27 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
-2021/12/27 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
-2021/12/27 | 1617 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/hover.h
-2021/12/27 | 1615 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/colorPresentation.h
-2021/12/27 | 1612 | graphics/asymptote/asy-list.pl
-2021/12/27 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
-2021/12/27 | 16089 | graphics/asymptote/base/slide.asy
-2021/12/27 | 160672 | graphics/asymptote/examples/animations/dice.u3d
-2021/12/27 | 1600 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/lsResponseMessage.h
-2021/12/27 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
-2021/12/27 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
-2021/12/27 | 159 | graphics/asymptote/tests/types/cast.asy
-2021/12/27 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
-2021/12/27 | 1597 | graphics/asymptote/v3dheadertypes.py
-2021/12/27 | 1594 | graphics/asymptote/pen.cc
-2021/12/27 | 158 | graphics/asymptote/tests/frames/stat.asy
-2021/12/27 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
-2021/12/27 | 1588 | graphics/asymptote/build-scripts/asy-format.el
-2021/12/27 | 15833 | graphics/asymptote/runlabel.cc
-2021/12/27 | 157 | graphics/asymptote/runsystem.h
-2021/12/27 | 157 | graphics/asymptote/doc/saddle.asy
-2021/12/27 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
-2021/12/27 | 1578 | graphics/asymptote/build-scripts/cc-format.el
-2021/12/27 | 1577303 | graphics/asymptote/ChangeLog
-2021/12/27 | 157440 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/12/27 | 1567 | graphics/asymptote/LspCpp/LibLsp/lsp/client/registerCapability.h
-2021/12/27 | 1566 | graphics/asymptote/examples/near_earth.asy
-2021/12/27 | 15645 | graphics/asymptote/install-sh
-2021/12/27 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
-2021/12/27 | 15601 | graphics/asymptote/base/ode.asy
-2021/12/27 | 155 | graphics/asymptote/tests/types/ecast.asy
-2021/12/27 | 1552 | graphics/asymptote/examples/NURBSsurface.asy
-2021/12/27 | 155285 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/12/27 | 15516 | graphics/asymptote/LspCpp/LibLsp/lsp/utils.cpp
-2021/12/27 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
-2021/12/27 | 154 | graphics/asymptote/examples/billboard.asy
-2021/12/27 | 154 | graphics/asymptote/doc/slopefield1.asy
-2021/12/27 | 1548 | graphics/asymptote/examples/BezierSurface.asy
-2021/12/27 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
+2021/12/27 | 171876 | support/TeX4ht/source/ChangeLog
2021/12/27 | 15460 | info/kaytannollista-latexia/kaytannollista-latexia.tex
-2021/12/27 | 15451 | graphics/asymptote/types.h
-2021/12/27 | 1542 | graphics/asymptote/GUI/xasyUtils.py
-2021/12/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/12/27 | 153 | graphics/asymptote/runlabel.h
-2021/12/27 | 1537 | graphics/asymptote/examples/refs.bib
-2021/12/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/12/27 | 15277 | graphics/asymptote/base/flowchart.asy
-2021/12/27 | 1524 | graphics/asymptote/patches/flex.patch
-2021/12/27 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
-2021/12/27 | 152105 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/12/27 | 150 | graphics/asymptote/examples/spheresilhouette.asy
-2021/12/27 | 150 | graphics/asymptote/doc/latexmkrc_asydir
-2021/12/27 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
-2021/12/27 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
-2021/12/27 | 14982 | graphics/asymptote/base/palette.asy
-2021/12/27 | 1497476 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/12/27 | 1493 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/did_change.h
-2021/12/27 | 1492 | graphics/asymptote/runarray.h
-2021/12/27 | 1482 | graphics/asymptote/GUI/res/icons/android-hand.svg
-2021/12/27 | 147 | graphics/asymptote/doc/vectorfield.asy
-2021/12/27 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
-2021/12/27 | 14795 | graphics/asymptote/stm.cc
-2021/12/27 | 1475 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/NotificationInMessage.h
-2021/12/27 | 14758 | graphics/asymptote/base/v3d.asy
-2021/12/27 | 14749 | graphics/asymptote/base/contour3.asy
-2021/12/27 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
-2021/12/27 | 1469 | graphics/asymptote/doc/png/Makefile.in
-2021/12/27 | 1461 | graphics/asymptote/examples/logo3.asy
-2021/12/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/12/27 | 145 | graphics/asymptote/examples/star.asy
+2021/12/27 | 1491 | support/latexdiff/contrib/latexdiff.spec
2021/12/27 | 1453400 | systems/texlive/tlnet/archive/asmeconf.doc.r61412.tar.xz
-2021/12/27 | 14532 | graphics/asymptote/stack.cc
-2021/12/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/12/27 | 144 | graphics/asymptote/doc/latexmkrc
-2021/12/27 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
-2021/12/27 | 1447743 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/12/27 | 14418 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2021/12/27 | 1440 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/selectionRange.h
-2021/12/27 | 143 | graphics/asymptote/tests/gc/label.asy
-2021/12/27 | 14378 | graphics/asymptote/examples/teapot.asy
-2021/12/27 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
-2021/12/27 | 14283 | graphics/asymptote/testv3d.asy
-2021/12/27 | 141 | graphics/asymptote/examples/sphere.asy
-2021/12/27 | 141 | graphics/asymptote/examples/ring.asy
-2021/12/27 | 1411 | graphics/asymptote/LspCpp/LibLsp/lsp/lsp_code_action.h
-2021/12/27 | 14082 | graphics/asymptote/GUI/xasyBezierInterface.py
-2021/12/27 | 14072 | graphics/asymptote/types.cc
-2021/12/27 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
-2021/12/27 | 13980 | graphics/asymptote/arrayop.h
-2021/12/27 | 1397611 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/12/27 | 1396779 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/12/27 | 13944 | graphics/asymptote/runtriple.cc
-2021/12/27 | 139310 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/12/27 | 1391 | graphics/asymptote/doc/CAD1.asy
-2021/12/27 | 138 | graphics/asymptote/Pipfile
-2021/12/27 | 1386 | graphics/asymptote/LspCpp/Makefile
-2021/12/27 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
-2021/12/27 | 1384 | graphics/asymptote/tests/pic/trans.asy
-2021/12/27 | 13824 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/pool_core.hpp
-2021/12/27 | 1380 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialize.h
-2021/12/27 | 1375 | graphics/asymptote/base/tree.asy
-2021/12/27 | 136 | graphics/asymptote/examples/latticeshading.asy
-2021/12/27 | 13663 | graphics/asymptote/doc/install-sh
-2021/12/27 | 13663 | graphics/asymptote/doc/FAQ/install-sh
-2021/12/27 | 13615 | graphics/asymptote/entry.h
-2021/12/27 | 13605 | graphics/asymptote/base/grid3.asy
-2021/12/27 | 135931 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/12/27 | 1353499 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/12/27 | 1352 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/did_change_watched_files.h
-2021/12/27 | 1352 | graphics/asymptote/examples/Klein.asy
-2021/12/27 | 13513 | graphics/asymptote/texfile.h
-2021/12/27 | 13511 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/12/27 | 135070 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/12/27 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
-2021/12/27 | 1345 | graphics/asymptote/interact.h
-2021/12/27 | 1341 | graphics/asymptote/runtimebase.in
-2021/12/27 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
-2021/12/27 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
-2021/12/27 | 1338 | graphics/asymptote/LspCpp/third_party/threadpool/LICENSE_1_0.txt
-2021/12/27 | 13357 | graphics/asymptote/camp.l
-2021/12/27 | 1332 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial_header.htm
-2021/12/27 | 1331 | graphics/asymptote/tests/types/spec.asy
-2021/12/27 | 132 | graphics/asymptote/tests/string/length.asy
-2021/12/27 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
-2021/12/27 | 1328 | graphics/asymptote/LspCpp/LibLsp/lsp/lsCommand.h
-2021/12/27 | 1323 | graphics/asymptote/base/v3dheadertypes.asy
-2021/12/27 | 1322 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.txt
-2021/12/27 | 1322403 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/12/27 | 1321 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
-2021/12/27 | 1319 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
-2021/12/27 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
-2021/12/27 | 1311 | graphics/asymptote/patches/dvipdf
-2021/12/27 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
-2021/12/27 | 1309 | graphics/asymptote/examples/roundpath.asy
-2021/12/27 | 129 | graphics/asymptote/tests/gc/struct.asy
-2021/12/27 | 129 | graphics/asymptote/base/shaders/screen.glsl
-2021/12/27 | 1299134 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/12/27 | 1298 | graphics/asymptote/examples/electromagnetic.asy
-2021/12/27 | 129790 | graphics/asymptote/camp.tab.cc
-2021/12/27 | 1294300 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/12/27 | 1293 | graphics/asymptote/TODO
-2021/12/27 | 1293701 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2021/12/27 | 1291 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
-2021/12/27 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
-2021/12/27 | 1284 | graphics/asymptote/tests/output/Makefile
-2021/12/27 | 1283 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference_header.htm
-2021/12/27 | 12823 | graphics/asymptote/impdatum.cc
-2021/12/27 | 1280 | graphics/asymptote/beziercurve.h
-2021/12/27 | 127 | graphics/asymptote/index.html
-2021/12/27 | 1276 | graphics/asymptote/base/asymptote.py
-2021/12/27 | 1274 | graphics/asymptote/newexp.h
-2021/12/27 | 1267 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/linkedEditingRange.h
-2021/12/27 | 126741 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/12/27 | 1266 | graphics/asymptote/drawverbatim.h
-2021/12/27 | 126385 | graphics/asymptote/ReleaseNotes
-2021/12/27 | 12632 | graphics/asymptote/Makefile.in
-2021/12/27 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
-2021/12/27 | 1261761 | graphics/asymptote/examples/worldmap.dat
-2021/12/27 | 12604 | graphics/asymptote/runsystem.cc
-2021/12/27 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
-2021/12/27 | 1253 | graphics/asymptote/keywords.pl
-2021/12/27 | 12534 | graphics/asymptote/ax_pthread.m4
-2021/12/27 | 1251 | graphics/asymptote/examples/odetest.asy
-2021/12/27 | 124 | graphics/asymptote/tests/gc/path.asy
-2021/12/27 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
-2021/12/27 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
-2021/12/27 | 12474 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
-2021/12/27 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
-2021/12/27 | 1245 | graphics/asymptote/findsym.pl
-2021/12/27 | 1244 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/document_link.h
-2021/12/27 | 1241549 | graphics/asymptote/doc/asymptote.pdf
-2021/12/27 | 1240 | graphics/asymptote/examples/arrows3.asy
-2021/12/27 | 123 | graphics/asymptote/examples/Coons.asy
-2021/12/27 | 123 | graphics/asymptote/doc/superpath.asy
+2021/12/27 | 1414 | support/latexdiff/example/example-rev.tex
+2021/12/27 | 13667 | support/latexdiff/latexdiff-vc.1
+2021/12/27 | 1356 | support/latexdiff/example/example-draft.tex
2021/12/27 | 123910 | info/kaytannollista-latexia/luku-asetukset.tex
-2021/12/27 | 1236 | graphics/asymptote/primitives.h
-2021/12/27 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
-2021/12/27 | 1235777 | graphics/asymptote/GL/glew.c
-2021/12/27 | 1227 | graphics/asymptote/build-scripts/build-asygl
-2021/12/27 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
-2021/12/27 | 1225 | graphics/asymptote/v3dheadertypes.h
-2021/12/27 | 12259 | graphics/asymptote/knot.h
-2021/12/27 | 121 | graphics/asymptote/doc/labelsquare.asy
-2021/12/27 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
-2021/12/27 | 1216 | graphics/asymptote/examples/dragon.asy
-2021/12/27 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
-2021/12/27 | 1213 | graphics/asymptote/LspCpp/LibLsp/lsp/lsCodeAction.h
-2021/12/27 | 1213 | graphics/asymptote/base/plain_arcs.asy
-2021/12/27 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
-2021/12/27 | 1209 | graphics/asymptote/tests/imp/unravel.asy
-2021/12/27 | 12093 | graphics/asymptote/runlabel.in
-2021/12/27 | 120296 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/12/27 | 12012 | graphics/asymptote/base/solids.asy
-2021/12/27 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
+2021/12/27 | 12049 | support/latexdiff/doc/latexdiff-man.tex
2021/12/27 | 11987 | info/kaytannollista-latexia/tavutusvihjeet.tex
-2021/12/27 | 1197 | graphics/asymptote/drawclipend.h
-2021/12/27 | 1195 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/references.h
-2021/12/27 | 1194 | graphics/asymptote/GUI/res/icons/code.svg
-2021/12/27 | 1192 | graphics/asymptote/LspCpp/LibLsp/lsp/lsFormattingOptions.h
-2021/12/27 | 1190 | graphics/asymptote/camperror.cc
-2021/12/27 | 11907 | graphics/asymptote/tests/gsl/random.asy
-2021/12/27 | 118 | graphics/asymptote/tests/string/substr.asy
-2021/12/27 | 1189 | graphics/asymptote/tests/types/var.asy
-2021/12/27 | 1188 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview_header.htm
-2021/12/27 | 1188 | graphics/asymptote/EXRFiles.cc
-2021/12/27 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
-2021/12/27 | 1186601 | graphics/asymptote/GL/glew.h
-2021/12/27 | 1185 | graphics/asymptote/LspCpp/LibLsp/lsp/SimpleTimer.h
-2021/12/27 | 1185 | graphics/asymptote/examples/functionshading.asy
-2021/12/27 | 11846 | graphics/asymptote/jsfile.cc
-2021/12/27 | 1183 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/TcpServer.h
-2021/12/27 | 1183 | graphics/asymptote/GUI/xasyArgs.py
-2021/12/27 | 1183225 | graphics/asymptote/gc-8.2.0.tar.gz
-2021/12/27 | 1181005 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/12/27 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
-2021/12/27 | 1178 | graphics/asymptote/base/embed.asy
-2021/12/27 | 1175 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/MessageJsonHandler.cpp
-2021/12/27 | 1172 | graphics/asymptote/LspCpp/README.md
-2021/12/27 | 1171 | graphics/asymptote/parser.h
-2021/12/27 | 1171 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/Endpoint.cpp
-2021/12/27 | 11663 | graphics/asymptote/path.h
-2021/12/27 | 11656 | graphics/asymptote/base/binarytree.asy
-2021/12/27 | 1164 | graphics/asymptote/examples/genustwo.asy
-2021/12/27 | 11642 | graphics/asymptote/coder.h
-2021/12/27 | 1163 | graphics/asymptote/runtime.h
-2021/12/27 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
-2021/12/27 | 1161 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/configuration.h
-2021/12/27 | 116010 | graphics/asymptote/predicates.cc
-2021/12/27 | 115 | graphics/asymptote/doc/onecontour.asy
-2021/12/27 | 1159 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/lsRequestId.h
-2021/12/27 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
-2021/12/27 | 115673 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/12/27 | 1154 | graphics/asymptote/LspCpp/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
-2021/12/27 | 11541 | graphics/asymptote/aspy.py
-2021/12/27 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2021/12/27 | 1151 | graphics/asymptote/callable.cc
-2021/12/27 | 1150 | graphics/asymptote/LspCpp/LibLsp/lsp/general/lsClientCapabilities.h
-2021/12/27 | 1149 | graphics/asymptote/guide.cc
-2021/12/27 | 11468 | graphics/asymptote/drawelement.h
-2021/12/27 | 1143 | graphics/asymptote/LspCpp/LibLsp/lsp/lsPosition.h
-2021/12/27 | 1142 | graphics/asymptote/envcompleter.cc
-2021/12/27 | 1140 | graphics/asymptote/absyn.h
-2021/12/27 | 113 | graphics/asymptote/patches/fixmem.reg
-2021/12/27 | 113 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.txt
-2021/12/27 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
-2021/12/27 | 11373 | graphics/asymptote/base/plain_markers.asy
-2021/12/27 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
-2021/12/27 | 1134 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design_header.htm
-2021/12/27 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
-2021/12/27 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
-2021/12/27 | 1130 | graphics/asymptote/GUI/res/icons/redo.svg
-2021/12/27 | 113043 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/12/27 | 1129 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/code_lens.h
-2021/12/27 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
-2021/12/27 | 1126 | graphics/asymptote/coenv.cc
-2021/12/27 | 1125 | graphics/asymptote/LspCpp/third_party/threadpool/Makefile
-2021/12/27 | 1124 | graphics/asymptote/GUI/res/icons/android-locate.svg
-2021/12/27 | 112484 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/12/27 | 1122 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples_header.htm
-2021/12/27 | 1120 | graphics/asymptote/examples/animations/wheel.asy
-2021/12/27 | 1120 | graphics/asymptote/base/external.asy
-2021/12/27 | 111 | graphics/asymptote/GUI/res/icons/center.asy
-2021/12/27 | 111 | graphics/asymptote/examples/shadestroke.asy
-2021/12/27 | 1114 | graphics/asymptote/examples/laserlattice.asy
-2021/12/27 | 11122 | graphics/asymptote/base/math.asy
-2021/12/27 | 1111 | graphics/asymptote/examples/imagehistogram.asy
-2021/12/27 | 11111 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/textDocument.cpp
-2021/12/27 | 1109 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/codeActionResult.h
-2021/12/27 | 1105 | graphics/asymptote/LspCpp/LibLsp/lsp/lsMarkedString.h
-2021/12/27 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
-2021/12/27 | 109 | graphics/asymptote/tests/string/insert.asy
-2021/12/27 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
-2021/12/27 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
-2021/12/27 | 1098 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/rename.h
-2021/12/27 | 10989 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
-2021/12/27 | 1096 | graphics/asymptote/tests/array/transpose.asy
-2021/12/27 | 1096 | graphics/asymptote/refaccess.cc
-2021/12/27 | 1096 | graphics/asymptote/drawlayer.h
-2021/12/27 | 109545 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/12/27 | 10928 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
-2021/12/27 | 109263 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/12/27 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
-2021/12/27 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
-2021/12/27 | 1088 | graphics/asymptote/LspCpp/third_party/threadpool/TODO
-2021/12/27 | 1087 | graphics/asymptote/GUI/res/icons/undo.svg
-2021/12/27 | 1087069 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/12/27 | 1086 | graphics/asymptote/base/shaders/partialsum.glsl
-2021/12/27 | 10840 | graphics/asymptote/base/CAD.asy
-2021/12/27 | 1082 | graphics/asymptote/patches/README
-2021/12/27 | 108236 | systems/texlive/tlnet/archive/texlive-scripts.r61410.tar.xz
-2021/12/27 | 1077 | graphics/asymptote/LspCpp/LibLsp/lsp/workspace/applyEdit.h
+2021/12/27 | 11468 | graphics/pgf/contrib/yquant/tex/yquant-config.tex
+2021/12/27 | 1104187 | support/TeX4ht/source/tex4ht-4ht.tex
2021/12/27 | 1074 | info/mathalphabets/README.md
-2021/12/27 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
-2021/12/27 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
-2021/12/27 | 1066 | graphics/asymptote/LspCpp/LICENSE
-2021/12/27 | 1065 | graphics/asymptote/examples/shellmethod.asy
-2021/12/27 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
-2021/12/27 | 1061 | graphics/asymptote/v3dheadertypes.csv
-2021/12/27 | 10607 | graphics/asymptote/LspCpp/network/uri/detail/uri_parse.cpp
-2021/12/27 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
-2021/12/27 | 10585 | graphics/asymptote/path3.h
-2021/12/27 | 10581 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/serializer.h
-2021/12/27 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
-2021/12/27 | 1056 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/didRenameFiles.h
-2021/12/27 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
-2021/12/27 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
-2021/12/27 | 1055 | graphics/asymptote/LspCpp/LibLsp/lsp/general/initialize.cpp
-2021/12/27 | 1055 | graphics/asymptote/examples/partitionExample.asy
-2021/12/27 | 1054 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/onTypeFormatting.h
-2021/12/27 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
-2021/12/27 | 1051 | graphics/asymptote/doc/eetomumu.asy
-2021/12/27 | 1050 | graphics/asymptote/opsymbols.pl
-2021/12/27 | 104 | graphics/asymptote/examples/tiling.asy
-2021/12/27 | 104748 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/12/27 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
-2021/12/27 | 10445 | graphics/asymptote/INSTALL
-2021/12/27 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
-2021/12/27 | 1042 | graphics/asymptote/examples/NURBSsphere.asy
-2021/12/27 | 1040 | graphics/asymptote/examples/lmfit1.asy
-2021/12/27 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
-2021/12/27 | 103463 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/12/27 | 1033 | graphics/asymptote/LspCpp/LibLsp/lsp/textDocument/prepareRename.h
-2021/12/27 | 1033 | graphics/asymptote/examples/basealign.asy
-2021/12/27 | 1032 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp
-2021/12/27 | 1030 | graphics/asymptote/LspCpp/network/uri.hpp
-2021/12/27 | 1030 | graphics/asymptote/examples/workcone.asy
-2021/12/27 | 102 | graphics/asymptote/tests/gc/file.asy
-2021/12/27 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
-2021/12/27 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
-2021/12/27 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
-2021/12/27 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
-2021/12/27 | 10224 | graphics/asymptote/tr.cc
-2021/12/27 | 10221 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/WebSocketServer.cpp
2021/12/27 | 1021951 | info/kaytannollista-latexia.zip
-2021/12/27 | 1020 | graphics/asymptote/flatguide.cc
-2021/12/27 | 1019 | graphics/asymptote/LspCpp/LibLsp/lsp/client/unregisterCapability.h
-2021/12/27 | 10196 | graphics/asymptote/doc/CAD.tex
-2021/12/27 | 1015 | graphics/asymptote/GUI/xasyTransform.py
-2021/12/27 | 101508 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/12/27 | 1013 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
-2021/12/27 | 1010 | graphics/asymptote/examples/washermethod.asy
-2021/12/27 | 100 | graphics/asymptote/GUI/DebugFlags.py
-2021/12/27 | 10093 | graphics/asymptote/util.cc
-2021/12/27 | 1008 | graphics/asymptote/doc/leastsquares.asy
-2021/12/27 | 10070 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/RemoteEndPoint.h
-2021/12/27 | 1006 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/scope_guard.hpp
-2021/12/27 | 1005 | graphics/asymptote/doc/asy.1.begin
-2021/12/27 | 1003 | graphics/asymptote/GUI/res/icons/eye.svg
-2021/12/27 | 10039 | graphics/asymptote/v3dfile.cc
-2021/12/27 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
-2021/12/27 | 1002 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp
-2021/12/27 | 1002 | graphics/asymptote/LspCpp/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
-2021/12/27 | 1000 | graphics/asymptote/LspCpp/LibLsp/JsonRpc/StreamMessageProducer.h
-2021/12/27 | 1000 | graphics/asymptote/doc/FAQ/Makefile
-2021/12/27 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
2021/12/26 | 9955 | macros/latex/contrib/asmeconf/examples/asmeconf-lualatex-ode-example.tex
+2021/12/26 | 985 | web/c_cpp/cweb/ctang-pc.ch
+2021/12/26 | 961 | web/c_cpp/cweb/examples/Makefile
2021/12/26 | 9592 | systems/texlive/tlnet/archive/minted.r61405.tar.xz
+2021/12/26 | 937 | web/c_cpp/cweb/cweav-pc.ch
2021/12/26 | 9157 | macros/latex/contrib/asmeconf/README.md
2021/12/26 | 9152100 | systems/texlive/tlnet/archive/pstricks-add.doc.r61407.tar.xz
+2021/12/26 | 9029 | web/c_cpp/cweb/examples/wc.w
+2021/12/26 | 895 | web/c_cpp/cweb/comm-pc.ch
2021/12/26 | 888 | macros/latex/contrib/codebox/hellopy.py
2021/12/26 | 88313 | macros/latex/contrib/asmeconf/asmeconf.cls
2021/12/26 | 875831 | macros/latex/contrib/asmejour.zip
+2021/12/26 | 8687 | web/c_cpp/cweb/cweb.el
2021/12/26 | 84780 | macros/latex/contrib/easybook/easybook.tex
+2021/12/26 | 84380 | web/c_cpp/cweb/cwebman.tex
2021/12/26 | 83394 | macros/latex/contrib/easybook/easybook.dtx
2021/12/26 | 824148 | systems/texlive/tlnet/archive/minted.doc.r61405.tar.xz
+2021/12/26 | 8102 | web/c_cpp/cweb/comm-ql.ch
+2021/12/26 | 8023 | web/c_cpp/cweb/examples/oemacs.el
2021/12/26 | 7900 | macros/latex/contrib/asmejour/README.md
+2021/12/26 | 783 | web/c_cpp/cweb/cweav-man.ch
+2021/12/26 | 783 | web/c_cpp/cweb/ctang-man.ch
+2021/12/26 | 782 | web/c_cpp/cweb/comm-man.ch
2021/12/26 | 77433 | macros/latex/contrib/termsim/termsim-doc-en.pdf
+2021/12/26 | 744 | web/c_cpp/cweb/cweav-w32.ch
+2021/12/26 | 7019 | web/c_cpp/cweb/cweav-bs.ch
+2021/12/26 | 6835 | web/c_cpp/cweb/examples/treeprint.w
2021/12/26 | 670642 | macros/latex/contrib/asmejour/asmejour-template.pdf
-2021/12/26 | 6622 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
-2021/12/26 | 6537272 | systems/texlive/tlnet/archive/newtx.r61408.tar.xz
+2021/12/26 | 659 | web/c_cpp/cweb/comm-os2.ch
2021/12/26 | 643458 | macros/latex/contrib/asmeconf/asmeconf-template.pdf
2021/12/26 | 639103 | macros/latex/contrib/asmeconf/examples/asmeconf-authorgrid-example.pdf
2021/12/26 | 637591 | macros/latex/contrib/easybook.zip
-2021/12/26 | 633692 | systems/texlive/tlnet/archive/newtx.doc.r61408.tar.xz
+2021/12/26 | 599 | web/c_cpp/cweb/examples/wmerg-pc.ch
2021/12/26 | 5953884 | info/visualfaq-fr.zip
2021/12/26 | 594563 | macros/latex/contrib/easybook/easybook.pdf
+2021/12/26 | 5910 | web/c_cpp/cweb/comm-bs.ch
+2021/12/26 | 581 | web/c_cpp/cweb/examples/wmer-os2.ch
+2021/12/26 | 5811 | web/c_cpp/cweb/examples/xview_types.w
+2021/12/26 | 578 | web/c_cpp/cweb/examples/extex.ch
+2021/12/26 | 55890 | web/c_cpp/cweb/ctangle.w
+2021/12/26 | 5381 | web/c_cpp/cweb/ctang-bs.ch
+2021/12/26 | 5321 | web/c_cpp/cweb/comm-mac.ch
+2021/12/26 | 5249 | web/c_cpp/cweb/Makefile
+2021/12/26 | 502 | web/c_cpp/cweb/comm-amiga.ch
+2021/12/26 | 47861 | web/c_cpp/cweb/common.w
+2021/12/26 | 475 | web/c_cpp/cweb/cweav-ql.ch
2021/12/26 | 45728 | macros/latex/contrib/termsim/termsim.dtx
2021/12/26 | 45492 | systems/texlive/tlnet/archive/minted.source.r61405.tar.xz
+2021/12/26 | 451 | web/c_cpp/cweb/ctang-ql.ch
2021/12/26 | 44075 | macros/latex/contrib/asmejour/asmejour.cls
2021/12/26 | 42772 | macros/latex/contrib/asmejour/asmejour-template.tex
2021/12/26 | 42180 | macros/latex/contrib/asmeconf/asmeconf-template.tex
2021/12/26 | 42105 | macros/latex/contrib/asmeconf/examples/asmeconf-authorgrid-example.tex
2021/12/26 | 404704 | macros/latex/contrib/termsim.zip
+2021/12/26 | 3973 | web/c_cpp/cweb/cweb.1
+2021/12/26 | 3940 | web/c_cpp/cweb/README
+2021/12/26 | 38418 | web/c_cpp/cweb/examples/oemacs.w
2021/12/26 | 3759 | macros/latex/contrib/termsim/README.md
2021/12/26 | 370592 | macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdf
2021/12/26 | 3436552 | info/visualfaq-fr/visualFAQ-fr.pdf
+2021/12/26 | 3320 | web/c_cpp/cweb/comm-vms.ch
2021/12/26 | 3313 | info/visualfaq-fr/source/README
+2021/12/26 | 32705 | web/c_cpp/cweb/ctangle.c
2021/12/26 | 320848 | systems/texlive/tlnet/archive/biblatex-apa.doc.r61406.tar.xz
2021/12/26 | 313173 | macros/latex/contrib/termsim/termsim.pdf
2021/12/26 | 3024 | info/visualfaq-fr/README
+2021/12/26 | 2946 | web/c_cpp/cweb/examples/README
2021/12/26 | 29262 | macros/latex/contrib/termsim/ctxdoc-en.cls
2021/12/26 | 289 | macros/latex/contrib/termsim/build.sh
2021/12/26 | 2880413 | macros/latex/contrib/asmeconf.zip
2021/12/26 | 2859480 | systems/texlive/tlnet/archive/newpx.r61404.tar.xz
+2021/12/26 | 2858 | web/c_cpp/cweb/readme.ql
2021/12/26 | 280349 | macros/latex/contrib/asmeconf/examples/asmeconf-lualatex-ode-example.pdf
2021/12/26 | 27502 | macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
+2021/12/26 | 2738 | web/c_cpp/cweb/comm-w32.ch
2021/12/26 | 27172 | systems/texlive/tlnet/archive/biblatex-apa.r61406.tar.xz
+2021/12/26 | 26692 | web/c_cpp/cweb/cwebmac.tex
2021/12/26 | 256024 | systems/texlive/tlnet/archive/newpx.doc.r61404.tar.xz
+2021/12/26 | 25355 | web/c_cpp/cweb/examples/wmerge.w
+2021/12/26 | 25262 | web/c_cpp/cweb/common.c
2021/12/26 | 21888 | systems/texlive/tlnet/archive/pstricks-add.r61407.tar.xz
+2021/12/26 | 217 | web/c_cpp/cweb/examples/wc-dos.ch
+2021/12/26 | 2176 | web/c_cpp/cweb/iso_types.w
+2021/12/26 | 20913 | web/c_cpp/cweb/examples/wordtest.w
2021/12/26 | 18927 | macros/latex/contrib/termsim/termsim-doc-en.tex
+2021/12/26 | 18610 | web/c_cpp/cweb/prod.w
+2021/12/26 | 1858 | web/c_cpp/cweb/examples/xlib_types.w
+2021/12/26 | 177182 | web/c_cpp/cweb/cweave.w
+2021/12/26 | 1674 | web/c_cpp/cweb/c++lib.w
+2021/12/26 | 1648 | web/c_cpp/cweb/cweav-vms.ch
+2021/12/26 | 1554 | web/c_cpp/cweb/ctang-vms.ch
+2021/12/26 | 1542 | web/c_cpp/cweb/makefile.bs
2021/12/26 | 140180 | info/visualfaq-fr/source/visualFAQ-fr.tex
+2021/12/26 | 12672 | web/c_cpp/cweb/examples/extex.w
2021/12/26 | 122 | macros/latex/contrib/codebox/hellojava.java
2021/12/26 | 11 | info/visualfaq-fr/VERSION
2021/12/26 | 11317 | macros/latex/contrib/codebox/codebox-doc-en.tex
+2021/12/26 | 11300 | web/c_cpp/cweb/common.h
+2021/12/26 | 10549 | web/c_cpp/cweb/examples/kspell.el
2021/12/26 | 104 | macros/latex/contrib/codebox/test.c
+2021/12/26 | 1011 | web/c_cpp/cweb/ctang-w32.ch
2021/12/25 | 9985 | graphics/pstricks/contrib/pstricks-add/doc/data/data.data
2021/12/25 | 9972 | fonts/newpx/tfm/zpl-BoldItalic-lf-scl-t1.tfm
2021/12/25 | 9956 | fonts/newpx/tfm/zpl-BoldItalic-osf-scl-t1.tfm
@@ -1857,6 +1985,7 @@
2021/12/25 | 5069 | graphics/pstricks/contrib/pstricks-add/dvips/pstricks-add.pro
2021/12/25 | 4859033 | fonts/newpx.zip
2021/12/25 | 4561 | graphics/pstricks/contrib/pstricks-add/doc/pstricks-add-doc.bib
+2021/12/25 | 44037 | graphics/pgf/contrib/yquant/tex/yquant-env.tex
2021/12/25 | 4336 | fonts/newpx/tfm/zpl-Slanted-lf-scl-ly1.tfm
2021/12/25 | 4328 | fonts/newpx/tfm/zpl-Slanted-osf-scl-ly1.tfm
2021/12/25 | 4304 | fonts/newpx/tfm/zpl-BoldSlanted-lf-scl-ly1.tfm
@@ -1868,6 +1997,7 @@
2021/12/25 | 4260 | fonts/newpx/tfm/zpl-BoldSlanted-tosf-scl-ly1.tfm
2021/12/25 | 4260 | fonts/newpx/tfm/zpl-BoldSlanted-tlf-scl-ly1.tfm
2021/12/25 | 420 | graphics/pstricks/contrib/pstricks-add/doc/data/demo0.data
+2021/12/25 | 40977 | graphics/pgf/contrib/yquant/tex/yquant-registers.tex
2021/12/25 | 40546 | systems/win32/miktex/tm/packages/ptex-fontmaps.tar.lzma
2021/12/25 | 405245 | macros/latex/contrib/biblatex-contrib/biblatex-apa.zip
2021/12/25 | 39052 | systems/texlive/tlnet/archive/europecv.r61398.tar.xz
@@ -1997,6 +2127,7 @@
2021/12/25 | 266923 | fonts/newpx/type1/zplbi.pfb
2021/12/25 | 2558852 | systems/texlive/tlnet/archive/erewhon.r61395.tar.xz
2021/12/25 | 25464 | systems/texlive/tlnet/archive/bfh-ci.r61397.tar.xz
+2021/12/25 | 25114 | graphics/pgf/contrib/yquant/tex/yquant-tools.tex
2021/12/25 | 235149 | fonts/newpx/type1/zplr.pfb
2021/12/25 | 233924 | systems/texlive/tlnet/archive/bfh-ci.doc.r61397.tar.xz
2021/12/25 | 22914 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
@@ -2015,6 +2146,7 @@
2021/12/25 | 1604 | systems/texlive/tlnet/archive/collection-publishers.r61397.tar.xz
2021/12/25 | 154 | graphics/pstricks/contrib/pstricks-add/doc/data/demo2.data
2021/12/25 | 151 | graphics/pstricks/contrib/pstricks-add/doc/data/demo3.data
+2021/12/25 | 14901 | graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
2021/12/25 | 1428 | graphics/pstricks/contrib/pstricks-add/README
2021/12/25 | 14083650 | graphics/pstricks/contrib/pstricks-add/doc/pstricks-add-doc.pdf
2021/12/25 | 13348 | fonts/newpx/tfm/zpl-Slanted-lf-sc-t1.tfm
@@ -2142,7 +2274,6 @@
2021/12/24 | 6593 | macros/latex/contrib/europecv/templates/europecv_photo.jpg
2021/12/24 | 652056 | macros/latex/contrib/europecv/europecv.pdf
2021/12/24 | 64920 | macros/latex/contrib/biblatex-contrib/biblatex-apa/apa.bbx
-2021/12/24 | 638748 | systems/texlive/tlnet/archive/asmejour.doc.r61388.tar.xz
2021/12/24 | 59916 | macros/latex/contrib/europecv/europecv.tex
2021/12/24 | 55502 | macros/latex/contrib/wrapfig2/wrapfig2.dtx
2021/12/24 | 5336715 | fonts/erewhon.zip
@@ -2182,6 +2313,7 @@
2021/12/24 | 26164 | macros/latex/contrib/diffcoeff/diffcoeff.sty
2021/12/24 | 2575 | macros/latex/contrib/europecv/README.md
2021/12/24 | 2498 | macros/latex/contrib/europecv/ecvbg.def
+2021/12/24 | 24866 | graphics/pgf/contrib/yquant/tex/yquantlanguage-qasm.sty
2021/12/24 | 235877 | macros/latex/contrib/europecv/examples/europass-cv.pdf
2021/12/24 | 2340 | macros/latex/contrib/europecv/EuropeFlagBW.pdf
2021/12/24 | 23308 | systems/texlive/tlnet/archive/kinematikz.r61392.tar.xz
@@ -2192,12 +2324,12 @@
2021/12/24 | 2213 | macros/latex/contrib/europecv/ecvfr.def
2021/12/24 | 2199 | macros/latex/contrib/europecv/ecvlt.def
2021/12/24 | 2194 | macros/latex/contrib/europecv/ecvsk.def
+2021/12/24 | 21914 | graphics/pgf/contrib/yquant/tex/yquantlanguage-groups.sty
2021/12/24 | 2182 | macros/latex/contrib/europecv/ecvcs.def
2021/12/24 | 2173 | macros/latex/contrib/europecv/ecvsv.def
2021/12/24 | 2169 | macros/latex/contrib/europecv/ecves.def
2021/12/24 | 2166 | macros/latex/contrib/europecv/ecvfi.def
2021/12/24 | 2145 | macros/latex/contrib/europecv/ecvpt.def
-2021/12/24 | 21444 | systems/texlive/tlnet/archive/asmejour.r61388.tar.xz
2021/12/24 | 2129 | macros/latex/contrib/europecv/ecvgl.def
2021/12/24 | 209284 | systems/texlive/tlnet/archive/censor.doc.r61389.tar.xz
2021/12/24 | 2090 | macros/latex/contrib/europecv/ecvis.def
@@ -3338,7 +3470,6 @@
2021/12/22 | 57123 | support/latexindent/LatexIndent/GetYamlSettings.pm
2021/12/22 | 5306 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
2021/12/22 | 5268 | support/latexindent/documentation/subsubsec-headings.tex
-2021/12/22 | 509302 | fonts/erewhon/afm/Erewhon-Regular.afm
2021/12/22 | 5011 | support/latexindent/LatexIndent/Check.pm
2021/12/22 | 4924 | systems/texlive/tlnet/archive/xistercian.r61366.tar.xz
2021/12/22 | 4858 | support/latexindent/documentation/subsubsec-ifelsefi.tex
@@ -3363,7 +3494,6 @@
2021/12/22 | 2756 | support/latexindent/latexindent.pl
2021/12/22 | 273484 | fonts/zlmtt.zip
2021/12/22 | 26711 | support/latexindent/LatexIndent/Verbatim.pm
-2021/12/22 | 263598 | fonts/zlmtt/doc/zlmtt-doc.pdf
2021/12/22 | 2601 | macros/latex/contrib/biblatex-contrib/biblatex-spbasic/latex/biblatex-spbasic.cbx
2021/12/22 | 246 | support/latexindent/documentation/references.tex
2021/12/22 | 24238 | support/latexindent/documentation/latexindent.tex
@@ -3382,7 +3512,6 @@
2021/12/22 | 2055584 | systems/texlive/tlnet/archive/arara.doc.r61370.tar.xz
2021/12/22 | 19822 | support/latexindent/LatexIndent/Sentence.pm
2021/12/22 | 1887 | support/latexindent/documentation/subsec-noAdditionalIndent-indentRules.tex
-2021/12/22 | 1887 | fonts/zlmtt/tex/zlmtt.sty
2021/12/22 | 18854 | support/latexindent/defaultSettings.yaml
2021/12/22 | 1879 | support/latexindent/documentation/figure-schematic.tex
2021/12/22 | 1876 | support/latexindent/README
@@ -3422,948 +3551,4 @@
2021/12/22 | 10603980 | systems/texlive/tlnet/archive/arara.r61370.tar.xz
2021/12/22 | 1059745 | support/latexindent/documentation/latexindent.pdf
2021/12/22 | 10347 | support/latexindent/LatexIndent/Command.pm
-2021/12/22 | 1004 | fonts/zlmtt/README
2021/12/22 | 100240 | systems/texlive/tlnet/archive/arara.source.r61370.tar.xz
-2021/12/21 | 98868 | fonts/etbb/opentype/ETbb-Bold.otf
-2021/12/21 | 984 | support/arara/scripts/rules/arara-rule-make.yaml
-2021/12/21 | 98324747 | systems/win32/TLW64/tl-win64.zip
-2021/12/21 | 950 | support/arara/scripts/rules/arara-rule-gnuplot.yaml
-2021/12/21 | 95044 | fonts/etbb/opentype/ETbb-BoldItalic.otf
-2021/12/21 | 937372 | systems/texlive/tlnet/archive/tex4ht.r61362.tar.xz
-2021/12/21 | 923 | support/arara/scripts/rules/arara-rule-move.yaml
-2021/12/21 | 914928 | systems/texlive/tlnet/archive/mcf2graph.doc.r61354.tar.xz
-2021/12/21 | 910 | support/arara/scripts/rules/arara-rule-xindex.yaml
-2021/12/21 | 88628 | fonts/etbb/opentype/ETbb-Italic.otf
-2021/12/21 | 878 | support/arara/scripts/rules/arara-rule-ghostscript.yaml
-2021/12/21 | 86654 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2021/12/21 | 842 | support/arara/scripts/rules/arara-rule-tikzmake.yaml
-2021/12/21 | 839 | support/arara/scripts/rules/arara-rule-biber.yaml
-2021/12/21 | 832 | support/arara/scripts/rules/arara-rule-nomencl.yaml
-2021/12/21 | 812 | support/arara/scripts/rules/arara-rule-songidx.yaml
-2021/12/21 | 812 | support/arara/scripts/rules/arara-rule-dvipdfmx.yaml
-2021/12/21 | 81117 | support/arara/doc/chapters/methods.tex
-2021/12/21 | 809 | support/arara/scripts/rules/arara-rule-ps2pdf.yaml
-2021/12/21 | 808 | support/arara/scripts/rules/arara-rule-dvipdfm.yaml
-2021/12/21 | 808504 | systems/texlive/tlnet/archive/knowledge.doc.r61356.tar.xz
-2021/12/21 | 799 | support/arara/scripts/rules/arara-rule-dvips.yaml
-2021/12/21 | 796 | support/arara/scripts/rules/arara-rule-copy.yaml
-2021/12/21 | 796 | fonts/etbb/vf/ETbb-BoldItalic-tosf-sc-ot1.vf
-2021/12/21 | 796 | fonts/etbb/vf/ETbb-BoldItalic-tlf-sc-ot1.vf
-2021/12/21 | 796 | fonts/etbb/vf/ETbb-BoldItalic-osf-sc-ot1.vf
-2021/12/21 | 792 | fonts/etbb/vf/ETbb-Italic-tosf-sc-ot1.vf
-2021/12/21 | 792 | fonts/etbb/vf/ETbb-Italic-tlf-sc-ot1.vf
-2021/12/21 | 792 | fonts/etbb/vf/ETbb-Italic-osf-sc-ot1.vf
-2021/12/21 | 792 | fonts/etbb/vf/ETbb-BoldItalic-lf-sc-ot1.vf
-2021/12/21 | 788 | fonts/etbb/vf/ETbb-Regular-tosf-sc-ot1.vf
-2021/12/21 | 788 | fonts/etbb/vf/ETbb-Regular-tlf-sc-ot1.vf
-2021/12/21 | 788 | fonts/etbb/vf/ETbb-Regular-osf-sc-ot1.vf
-2021/12/21 | 788 | fonts/etbb/vf/ETbb-Regular-lf-sc-ot1.vf
-2021/12/21 | 788 | fonts/etbb/vf/ETbb-Italic-lf-sc-ot1.vf
-2021/12/21 | 780 | fonts/etbb/vf/ETbb-Bold-tosf-sc-ot1.vf
-2021/12/21 | 780 | fonts/etbb/vf/ETbb-Bold-tlf-sc-ot1.vf
-2021/12/21 | 780 | fonts/etbb/vf/ETbb-Bold-osf-sc-ot1.vf
-2021/12/21 | 780 | fonts/etbb/vf/ETbb-Bold-lf-sc-ot1.vf
-2021/12/21 | 776370 | fonts/etbb/afm/ETbb-Regular.afm
-2021/12/21 | 7353 | support/arara/doc/chapters/yaml.tex
-2021/12/21 | 732 | fonts/etbb/vf/ETbb-Regular-tosf-ts1.vf
-2021/12/21 | 732 | fonts/etbb/vf/ETbb-Regular-tlf-ts1.vf
-2021/12/21 | 732 | fonts/etbb/vf/ETbb-Regular-osf-ts1.vf
-2021/12/21 | 732 | fonts/etbb/vf/ETbb-Regular-lf-ts1.vf
-2021/12/21 | 6888 | fonts/etbb/tfm/ETbb-Regular-osf-ot1.tfm
-2021/12/21 | 6888 | fonts/etbb/tfm/ETbb-Regular-lf-ot1.tfm
-2021/12/21 | 6868 | fonts/etbb/tfm/ETbb-Regular-tosf-ot1.tfm
-2021/12/21 | 6868 | fonts/etbb/tfm/ETbb-Regular-tlf-ot1.tfm
-2021/12/21 | 682 | support/arara/scripts/rules/arara-rule-sketch.yaml
-2021/12/21 | 6628 | fonts/etbb/tfm/ETbb-Regular-osf-swash-ot1.tfm
-2021/12/21 | 6628 | fonts/etbb/tfm/ETbb-Regular-lf-swash-ot1.tfm
-2021/12/21 | 6608 | fonts/etbb/tfm/ETbb-Regular-tosf-swash-ot1.tfm
-2021/12/21 | 6608 | fonts/etbb/tfm/ETbb-Regular-tlf-swash-ot1.tfm
-2021/12/21 | 651 | support/arara/scripts/rules/arara-rule-spix.yaml
-2021/12/21 | 647 | support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml
-2021/12/21 | 647 | support/arara/scripts/rules/arara-rule-convert.yaml
-2021/12/21 | 6452 | fonts/etbb/tfm/ETbb-Regular-osf-sc-ot1.tfm
-2021/12/21 | 6452 | fonts/etbb/tfm/ETbb-Regular-lf-sc-ot1.tfm
-2021/12/21 | 6432 | fonts/etbb/tfm/ETbb-Regular-tosf-sc-ot1.tfm
-2021/12/21 | 6432 | fonts/etbb/tfm/ETbb-Regular-tlf-sc-ot1.tfm
-2021/12/21 | 626 | support/arara/scripts/rules/arara-rule-upbibtex.yaml
-2021/12/21 | 6220 | fonts/etbb/tfm/ETbb-Bold-lf-ot1.tfm
-2021/12/21 | 621 | support/arara/scripts/rules/arara-rule-bibtexu.yaml
-2021/12/21 | 621 | support/arara/scripts/rules/arara-rule-bibtex8.yaml
-2021/12/21 | 6216 | fonts/etbb/tfm/ETbb-Bold-osf-ot1.tfm
-2021/12/21 | 6196 | fonts/etbb/tfm/ETbb-Bold-tlf-ot1.tfm
-2021/12/21 | 6192 | fonts/etbb/tfm/ETbb-Bold-tosf-ot1.tfm
-2021/12/21 | 61172 | support/arara/doc/figures/optionbox1.pdf
-2021/12/21 | 60850 | support/arara/doc/figures/dropdown1.pdf
-2021/12/21 | 6064 | fonts/etbb/tfm/ETbb-Bold-lf-sc-ot1.tfm
-2021/12/21 | 6056 | fonts/etbb/tfm/ETbb-Bold-osf-sc-ot1.tfm
-2021/12/21 | 6036 | fonts/etbb/tfm/ETbb-Bold-tlf-sc-ot1.tfm
-2021/12/21 | 6032 | fonts/etbb/tfm/ETbb-Bold-tosf-sc-ot1.tfm
-2021/12/21 | 5 | support/arara/doc/version.tex
-2021/12/21 | 59941 | support/arara/doc/figures/inputbox1.pdf
-2021/12/21 | 5976 | fonts/etbb/tfm/ETbb-Bold-lf-swash-ot1.tfm
-2021/12/21 | 5972 | fonts/etbb/tfm/ETbb-Bold-osf-swash-ot1.tfm
-2021/12/21 | 596 | support/arara/scripts/rules/arara-rule-pbibtex.yaml
-2021/12/21 | 59540 | support/arara/doc/figures/optionbox2.pdf
-2021/12/21 | 5952 | fonts/etbb/tfm/ETbb-Bold-tlf-swash-ot1.tfm
-2021/12/21 | 5948 | fonts/etbb/tfm/ETbb-Italic-osf-sc-ot1.tfm
-2021/12/21 | 5948 | fonts/etbb/tfm/ETbb-Italic-lf-sc-ot1.tfm
-2021/12/21 | 5948 | fonts/etbb/tfm/ETbb-Bold-tosf-swash-ot1.tfm
-2021/12/21 | 5932 | fonts/etbb/tfm/ETbb-Italic-tlf-sc-ot1.tfm
-2021/12/21 | 592 | support/arara/scripts/rules/arara-rule-bibtex.yaml
-2021/12/21 | 5928 | fonts/etbb/tfm/ETbb-Italic-tosf-sc-ot1.tfm
-2021/12/21 | 59101 | support/arara/doc/figures/dropdown2.pdf
-2021/12/21 | 588 | support/arara/scripts/rules/arara-rule-pdftk.yaml
-2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
-2021/12/21 | 58249 | support/arara/doc/figures/inputbox2.pdf
-2021/12/21 | 5789 | support/arara/scripts/rules/arara-rule-bib2gls.yaml
-2021/12/21 | 576 | support/arara/scripts/arara.sh
-2021/12/21 | 5600 | systems/texlive/tlnet/archive/zref-check.r61359.tar.xz
-2021/12/21 | 54949 | support/arara/doc/figures/messagebox1.pdf
-2021/12/21 | 546 | support/arara/scripts/rules/arara-rule-qpdf.yaml
-2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
-2021/12/21 | 5328 | fonts/etbb/tfm/ETbb-BoldItalic-lf-sc-ot1.tfm
-2021/12/21 | 53224 | support/arara/doc/figures/messagebox2.pdf
-2021/12/21 | 5320 | fonts/etbb/tfm/ETbb-BoldItalic-osf-sc-ot1.tfm
-2021/12/21 | 5312 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-sc-ot1.tfm
-2021/12/21 | 5296 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-sc-ot1.tfm
-2021/12/21 | 496 | fonts/etbb/vf/ETbb-Bold-tosf-ts1.vf
-2021/12/21 | 496 | fonts/etbb/vf/ETbb-Bold-tlf-ts1.vf
-2021/12/21 | 496 | fonts/etbb/vf/ETbb-Bold-osf-ts1.vf
-2021/12/21 | 496 | fonts/etbb/vf/ETbb-Bold-lf-ts1.vf
-2021/12/21 | 492 | fonts/etbb/vf/ETbb-BoldItalic-tosf-ts1.vf
-2021/12/21 | 488 | fonts/etbb/vf/ETbb-Italic-tosf-ts1.vf
-2021/12/21 | 488 | fonts/etbb/vf/ETbb-BoldItalic-tlf-ts1.vf
-2021/12/21 | 488 | fonts/etbb/vf/ETbb-BoldItalic-osf-ts1.vf
-2021/12/21 | 488 | fonts/etbb/vf/ETbb-BoldItalic-lf-ts1.vf
-2021/12/21 | 48640 | fonts/etbb/tfm/Etbb1-Regular-osf-t1.tfm
-2021/12/21 | 48640 | fonts/etbb/tfm/Etbb1-Regular-lf-t1.tfm
-2021/12/21 | 48620 | fonts/etbb/tfm/Etbb1-Regular-tosf-t1.tfm
-2021/12/21 | 48620 | fonts/etbb/tfm/Etbb1-Regular-tlf-t1.tfm
-2021/12/21 | 484 | fonts/etbb/vf/ETbb-Italic-tlf-ts1.vf
-2021/12/21 | 484 | fonts/etbb/vf/ETbb-Italic-osf-ts1.vf
-2021/12/21 | 484 | fonts/etbb/vf/ETbb-Italic-lf-ts1.vf
-2021/12/21 | 48408 | fonts/etbb/tfm/ETbb-Regular-osf-t1.tfm
-2021/12/21 | 48408 | fonts/etbb/tfm/ETbb-Regular-lf-t1.tfm
-2021/12/21 | 48388 | fonts/etbb/tfm/ETbb-Regular-tosf-t1.tfm
-2021/12/21 | 48388 | fonts/etbb/tfm/ETbb-Regular-tlf-t1.tfm
-2021/12/21 | 4838068 | systems/texlive/tlnet/archive/tcolorbox.doc.r61358.tar.xz
-2021/12/21 | 47856 | fonts/etbb/tfm/Etbb1-Regular-osf-swash-t1.tfm
-2021/12/21 | 47856 | fonts/etbb/tfm/Etbb1-Regular-lf-swash-t1.tfm
-2021/12/21 | 47836 | fonts/etbb/tfm/Etbb1-Regular-tosf-swash-t1.tfm
-2021/12/21 | 47836 | fonts/etbb/tfm/Etbb1-Regular-tlf-swash-t1.tfm
-2021/12/21 | 47640 | fonts/etbb/tfm/ETbb-Regular-osf-swash-t1.tfm
-2021/12/21 | 47640 | fonts/etbb/tfm/ETbb-Regular-lf-swash-t1.tfm
-2021/12/21 | 47620 | fonts/etbb/tfm/ETbb-Regular-tosf-swash-t1.tfm
-2021/12/21 | 47620 | fonts/etbb/tfm/ETbb-Regular-tlf-swash-t1.tfm
-2021/12/21 | 4722 | support/arara/README.md
-2021/12/21 | 46736 | fonts/etbb/tfm/Etbb1-Regular-dnom-t1.tfm
-2021/12/21 | 4644 | fonts/etbb/tfm/ETbb-Italic-lf-ot1.tfm
-2021/12/21 | 4636 | fonts/etbb/tfm/ETbb-Italic-osf-ot1.tfm
-2021/12/21 | 4616 | fonts/etbb/tfm/ETbb-Italic-tlf-ot1.tfm
-2021/12/21 | 4608 | fonts/etbb/tfm/ETbb-Italic-tosf-ot1.tfm
-2021/12/21 | 458766 | fonts/etbb/afm/ETbb-Italic.afm
-2021/12/21 | 4512 | fonts/etbb/tfm/ETbb-Italic-lf-swash-ot1.tfm
-2021/12/21 | 4504 | fonts/etbb/tfm/ETbb-Italic-osf-swash-ot1.tfm
-2021/12/21 | 4484 | fonts/etbb/tfm/ETbb-Italic-tlf-swash-ot1.tfm
-2021/12/21 | 4484 | fonts/etbb/tfm/ETbb-BoldItalic-lf-ot1.tfm
-2021/12/21 | 4476 | fonts/etbb/tfm/ETbb-Italic-tosf-swash-ot1.tfm
-2021/12/21 | 4468 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-ot1.tfm
-2021/12/21 | 4468 | fonts/etbb/tfm/ETbb-BoldItalic-osf-ot1.tfm
-2021/12/21 | 4448 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-ot1.tfm
-2021/12/21 | 44023 | macros/latex/contrib/fancyvrb/latex/fancyvrb.sty
-2021/12/21 | 4396 | fonts/etbb/tfm/ETbb-BoldItalic-lf-swash-ot1.tfm
-2021/12/21 | 4380 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-swash-ot1.tfm
-2021/12/21 | 4380 | fonts/etbb/tfm/ETbb-BoldItalic-osf-swash-ot1.tfm
-2021/12/21 | 4360 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-swash-ot1.tfm
-2021/12/21 | 43424 | fonts/etbb/tfm/Etbb1-Regular-osf-sc-t1.tfm
-2021/12/21 | 43424 | fonts/etbb/tfm/Etbb1-Regular-lf-sc-t1.tfm
-2021/12/21 | 43404 | fonts/etbb/tfm/Etbb1-Regular-tosf-sc-t1.tfm
-2021/12/21 | 43404 | fonts/etbb/tfm/Etbb1-Regular-tlf-sc-t1.tfm
-2021/12/21 | 43400 | fonts/etbb/tfm/ETbb-Regular-osf-sc-t1.tfm
-2021/12/21 | 43400 | fonts/etbb/tfm/ETbb-Regular-lf-sc-t1.tfm
-2021/12/21 | 43380 | fonts/etbb/tfm/ETbb-Regular-tosf-sc-t1.tfm
-2021/12/21 | 43380 | fonts/etbb/tfm/ETbb-Regular-tlf-sc-t1.tfm
-2021/12/21 | 4254 | support/arara/scripts/rules/arara-rule-context.yaml
-2021/12/21 | 42324 | systems/texlive/tlnet/archive/knowledge.source.r61356.tar.xz
-2021/12/21 | 42112 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
-2021/12/21 | 4074 | support/arara/scripts/rules/arara-rule-datatooltk.yaml
-2021/12/21 | 40086 | support/arara/doc/arara-quickstart.tex
-2021/12/21 | 39 | support/arara/doc/arararc.yaml
-2021/12/21 | 38003 | systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm
-2021/12/21 | 37238 | support/arara/doc/chapters/concepts.tex
-2021/12/21 | 35183 | macros/luatex/latex/autopuncitems.zip
-2021/12/21 | 3504 | fonts/etbb/enc/etbb_boj3jd.enc
-2021/12/21 | 3497 | fonts/etbb/enc/etbb_7dlbn4.enc
-2021/12/21 | 3496 | fonts/etbb/enc/etbb_hdnox5.enc
-2021/12/21 | 349629 | fonts/etbb/afm/ETbb-BoldItalic.afm
-2021/12/21 | 3488 | fonts/etbb/enc/etbb_5ll7zh.enc
-2021/12/21 | 3473 | fonts/etbb/enc/etbb_oynaqb.enc
-2021/12/21 | 3441 | fonts/etbb/enc/etbb_7t4ywj.enc
-2021/12/21 | 3441 | fonts/etbb/enc/etbb1_cp6bsz.enc
-2021/12/21 | 3439 | fonts/etbb/enc/etbb_cp6bsz.enc
-2021/12/21 | 3434 | fonts/etbb/enc/etbb1_u2xzqd.enc
-2021/12/21 | 3433 | fonts/etbb/enc/etbb_j4gzyc.enc
-2021/12/21 | 3432 | fonts/etbb/enc/etbb_u2xzqd.enc
-2021/12/21 | 3432 | fonts/etbb/enc/etbb_q62n24.enc
-2021/12/21 | 3426 | fonts/etbb/enc/etbb_ehl4wc.enc
-2021/12/21 | 3425 | fonts/etbb/enc/etbb_oe3mzn.enc
-2021/12/21 | 3425 | fonts/etbb/enc/etbb_7uz5xh.enc
-2021/12/21 | 3424 | fonts/etbb/enc/etbb_e7zo2o.enc
-2021/12/21 | 3422 | fonts/etbb/enc/etbb_ziol45.enc
-2021/12/21 | 3417 | fonts/etbb/enc/etbb_brounl.enc
-2021/12/21 | 3417 | fonts/etbb/enc/etbb_atf2m5.enc
-2021/12/21 | 3416 | fonts/etbb/enc/etbb_jejpug.enc
-2021/12/21 | 3416 | fonts/etbb/enc/etbb_7pzsmk.enc
-2021/12/21 | 3387 | fonts/etbb/enc/etbb_7vqeic.enc
-2021/12/21 | 3383 | fonts/etbb/enc/etbb_ladhhj.enc
-2021/12/21 | 3376 | fonts/etbb/enc/etbb_7tqudy.enc
-2021/12/21 | 3375 | fonts/etbb/enc/etbb_cyp5f5.enc
-2021/12/21 | 3370 | fonts/etbb/enc/etbb1_6bb767.enc
-2021/12/21 | 3369 | fonts/etbb/enc/etbb1_vbmlbb.enc
-2021/12/21 | 3368 | fonts/etbb/enc/etbb_6bb767.enc
-2021/12/21 | 3367 | fonts/etbb/enc/etbb_vbmlbb.enc
-2021/12/21 | 3367 | fonts/etbb/enc/etbb_no4mhs.enc
-2021/12/21 | 3367 | fonts/etbb/enc/etbb_5hqhd4.enc
-2021/12/21 | 3363 | fonts/etbb/enc/etbb1_gcyiic.enc
-2021/12/21 | 3362 | support/arara/doc/arara-manual.tex
-2021/12/21 | 3362 | fonts/etbb/enc/etbb1_6b4rhp.enc
-2021/12/21 | 3361 | fonts/etbb/enc/etbb_gcyiic.enc
-2021/12/21 | 3360 | fonts/etbb/enc/etbb_6b4rhp.enc
-2021/12/21 | 3352 | fonts/etbb/enc/etbb_muumxe.enc
-2021/12/21 | 3320 | fonts/etbb/enc/etbb1_ue3xcj.enc
-2021/12/21 | 3318 | fonts/etbb/enc/etbb_ue3xcj.enc
-2021/12/21 | 3313 | fonts/etbb/enc/etbb1_n6yk3i.enc
-2021/12/21 | 3311 | fonts/etbb/enc/etbb_n6yk3i.enc
-2021/12/21 | 3305 | fonts/etbb/enc/etbb_6z6nrw.enc
-2021/12/21 | 33026 | support/arara/doc/arara.sty
-2021/12/21 | 3272 | fonts/etbb/enc/etbb_dv2xfw.enc
-2021/12/21 | 3272 | fonts/etbb/enc/etbb_agksat.enc
-2021/12/21 | 3265 | fonts/etbb/enc/etbb_icp3zk.enc
-2021/12/21 | 3261 | fonts/etbb/enc/etbb_ea2dgh.enc
-2021/12/21 | 32580 | fonts/etbb/tfm/ETbb-Italic-osf-sc-t1.tfm
-2021/12/21 | 32568 | fonts/etbb/tfm/ETbb-Italic-lf-sc-t1.tfm
-2021/12/21 | 32556 | fonts/etbb/tfm/ETbb-Italic-tosf-sc-t1.tfm
-2021/12/21 | 32552 | fonts/etbb/tfm/ETbb-Italic-tlf-sc-t1.tfm
-2021/12/21 | 32552 | fonts/etbb/tfm/Etbb1-Italic-osf-sc-t1.tfm
-2021/12/21 | 32540 | fonts/etbb/tfm/Etbb1-Italic-lf-sc-t1.tfm
-2021/12/21 | 3253 | support/arara/scripts/rules/arara-rule-pdfcrop.yaml
-2021/12/21 | 32528 | fonts/etbb/tfm/Etbb1-Italic-tosf-sc-t1.tfm
-2021/12/21 | 32524 | fonts/etbb/tfm/Etbb1-Italic-tlf-sc-t1.tfm
-2021/12/21 | 3251 | fonts/etbb/enc/etbb_tif2yn.enc
-2021/12/21 | 3232 | fonts/etbb/enc/etbb_ohvjcv.enc
-2021/12/21 | 3229 | fonts/etbb/enc/etbb_dep6cd.enc
-2021/12/21 | 3228279 | fonts/etbb.zip
-2021/12/21 | 320 | support/arara/scripts/rules/arara-rule-halt.yaml
-2021/12/21 | 3201 | fonts/etbb/enc/etbb_n5h2ym.enc
-2021/12/21 | 3201 | fonts/etbb/enc/etbb_le3wsu.enc
-2021/12/21 | 3200 | fonts/etbb/enc/etbb_ghqdpy.enc
-2021/12/21 | 3200 | fonts/etbb/enc/etbb_3rdlap.enc
-2021/12/21 | 3194 | fonts/etbb/enc/etbb_3pnwav.enc
-2021/12/21 | 3193 | fonts/etbb/enc/etbb_m74he6.enc
-2021/12/21 | 3165 | fonts/etbb/enc/etbb_hn62ay.enc
-2021/12/21 | 3163 | fonts/etbb/enc/etbb_skushq.enc
-2021/12/21 | 3154 | fonts/etbb/enc/etbb_65swoa.enc
-2021/12/21 | 3152 | fonts/etbb/enc/etbb_tbmtgo.enc
-2021/12/21 | 3151 | fonts/etbb/enc/etbb_qrk72g.enc
-2021/12/21 | 3151 | fonts/etbb/enc/etbb_nvfc5y.enc
-2021/12/21 | 3151 | fonts/etbb/enc/etbb_dz2nen.enc
-2021/12/21 | 31506 | fonts/etbb/map/ETbb.map
-2021/12/21 | 3147 | fonts/etbb/enc/etbb_xmn5et.enc
-2021/12/21 | 3144 | fonts/etbb/enc/etbb_xq7qra.enc
-2021/12/21 | 3106 | fonts/etbb/enc/etbb_cyyszv.enc
-2021/12/21 | 3099 | fonts/etbb/enc/etbb1_4h6gms.enc
-2021/12/21 | 3097 | fonts/etbb/enc/etbb_4h6gms.enc
-2021/12/21 | 3095 | fonts/etbb/enc/etbb_xe5wuh.enc
-2021/12/21 | 3092 | fonts/etbb/enc/etbb_cq6xx2.enc
-2021/12/21 | 3091 | fonts/etbb/enc/etbb_4hpi45.enc
-2021/12/21 | 3090 | fonts/etbb/enc/etbb_ybjyd4.enc
-2021/12/21 | 3081 | fonts/etbb/enc/etbb_fwcdph.enc
-2021/12/21 | 3080 | fonts/etbb/enc/etbb_f55msl.enc
-2021/12/21 | 30775 | fonts/etbb/doc/ETbb-doc.tex
-2021/12/21 | 3076 | fonts/etbb/enc/etbb_zpkt7y.enc
-2021/12/21 | 3075 | fonts/etbb/enc/etbb_gtqfg2.enc
-2021/12/21 | 3045 | fonts/etbb/README
-2021/12/21 | 3042 | fonts/etbb/enc/etbb_v6nho7.enc
-2021/12/21 | 3042 | fonts/etbb/enc/etbb1_nvr6ig.enc
-2021/12/21 | 3040 | fonts/etbb/enc/etbb_nvr6ig.enc
-2021/12/21 | 3035 | fonts/etbb/enc/etbb_242knm.enc
-2021/12/21 | 3034 | fonts/etbb/enc/etbb_j7myeh.enc
-2021/12/21 | 3031 | fonts/etbb/enc/etbb_cxbogn.enc
-2021/12/21 | 3028 | fonts/etbb/enc/etbb1_ifuncr.enc
-2021/12/21 | 3027 | fonts/etbb/enc/etbb_4qfaj2.enc
-2021/12/21 | 3027 | fonts/etbb/enc/etbb1_gojfsq.enc
-2021/12/21 | 3026 | support/arara/doc/logos/bird.pdf
-2021/12/21 | 3026 | fonts/etbb/enc/etbb_ifuncr.enc
-2021/12/21 | 3026 | fonts/etbb/enc/etbb_fpvlkw.enc
-2021/12/21 | 3025 | fonts/etbb/enc/etbb_gojfsq.enc
-2021/12/21 | 3024 | fonts/etbb/enc/etbb_m5kdwt.enc
-2021/12/21 | 3023 | fonts/etbb/enc/etbb_cpb6sd.enc
-2021/12/21 | 3023 | fonts/etbb/enc/etbb_5iollt.enc
-2021/12/21 | 3019 | fonts/etbb/enc/etbb_33mftd.enc
-2021/12/21 | 3018 | fonts/etbb/enc/etbb_ohc25e.enc
-2021/12/21 | 2995 | fonts/etbb/enc/etbb_yiqwpu.enc
-2021/12/21 | 2990 | support/arara/scripts/rules/arara-rule-indent.yaml
-2021/12/21 | 2985 | fonts/etbb/enc/etbb_riohwx.enc
-2021/12/21 | 2984 | fonts/etbb/enc/etbb_rzlqzq.enc
-2021/12/21 | 2979 | fonts/etbb/enc/etbb_mpvq56.enc
-2021/12/21 | 2978 | fonts/etbb/enc/etbb1_frt5zk.enc
-2021/12/21 | 2976 | fonts/etbb/enc/etbb_frt5zk.enc
-2021/12/21 | 2974 | fonts/etbb/enc/etbb_i5ezvi.enc
-2021/12/21 | 2972 | fonts/etbb/enc/etbb_nfh2ow.enc
-2021/12/21 | 2971 | fonts/etbb/enc/etbb1_55s5uq.enc
-2021/12/21 | 2970 | fonts/etbb/enc/etbb1_ujerr7.enc
-2021/12/21 | 2969 | fonts/etbb/enc/etbb_elsw3h.enc
-2021/12/21 | 2969 | fonts/etbb/enc/etbb_55s5uq.enc
-2021/12/21 | 2968 | fonts/etbb/enc/etbb_ujerr7.enc
-2021/12/21 | 2968 | fonts/etbb/enc/etbb_rt4kro.enc
-2021/12/21 | 2956 | fonts/etbb/enc/etbb_ujmsnd.enc
-2021/12/21 | 2955 | fonts/etbb/enc/etbb_wplash.enc
-2021/12/21 | 2955 | fonts/etbb/enc/etbb_kvzzr3.enc
-2021/12/21 | 2954 | fonts/etbb/enc/etbb_4sxvu4.enc
-2021/12/21 | 2952 | fonts/etbb/enc/etbb_ay4ati.enc
-2021/12/21 | 2951 | fonts/etbb/enc/etbb_lolxkk.enc
-2021/12/21 | 2944 | fonts/etbb/enc/etbb_ytzykv.enc
-2021/12/21 | 2939 | fonts/etbb/enc/etbb_yzoycr.enc
-2021/12/21 | 2931 | fonts/etbb/enc/etbb1_rluk7r.enc
-2021/12/21 | 2929 | fonts/etbb/enc/etbb_rluk7r.enc
-2021/12/21 | 2921 | fonts/etbb/enc/etbb1_hbqmiu.enc
-2021/12/21 | 2919 | fonts/etbb/enc/etbb_hbqmiu.enc
-2021/12/21 | 2906 | fonts/etbb/enc/etbb_ydcfbc.enc
-2021/12/21 | 2904 | fonts/etbb/enc/etbb_3bao6x.enc
-2021/12/21 | 2902 | fonts/etbb/enc/etbb_p4wmli.enc
-2021/12/21 | 2901 | fonts/etbb/enc/etbb_r34xpu.enc
-2021/12/21 | 2900 | fonts/etbb/enc/etbb_qqjyre.enc
-2021/12/21 | 2897 | fonts/etbb/enc/etbb_3li7dq.enc
-2021/12/21 | 2896 | fonts/etbb/enc/etbb_pijcl4.enc
-2021/12/21 | 2889 | fonts/etbb/enc/etbb_upf3od.enc
-2021/12/21 | 2861 | fonts/etbb/enc/etbb_uoncjt.enc
-2021/12/21 | 2857 | fonts/etbb/enc/etbb_h4dyum.enc
-2021/12/21 | 2851 | fonts/etbb/enc/etbb_e3m4fz.enc
-2021/12/21 | 2847 | fonts/etbb/enc/etbb_ihmnlr.enc
-2021/12/21 | 28364 | fonts/etbb/tfm/ETbb-Regular-lf-ly1.tfm
-2021/12/21 | 28360 | fonts/etbb/tfm/ETbb-Regular-osf-ly1.tfm
-2021/12/21 | 28340 | fonts/etbb/tfm/ETbb-Regular-tosf-ly1.tfm
-2021/12/21 | 28340 | fonts/etbb/tfm/ETbb-Regular-tlf-ly1.tfm
-2021/12/21 | 2830 | fonts/etbb/enc/etbb_ftphfy.enc
-2021/12/21 | 2817 | fonts/etbb/enc/etbb_cluc7m.enc
-2021/12/21 | 28160 | fonts/etbb/tfm/ETbb-BoldItalic-osf-sc-t1.tfm
-2021/12/21 | 28148 | fonts/etbb/tfm/ETbb-BoldItalic-lf-sc-t1.tfm
-2021/12/21 | 28136 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-sc-t1.tfm
-2021/12/21 | 28132 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-sc-t1.tfm
-2021/12/21 | 28132 | fonts/etbb/tfm/Etbb1-BoldItalic-osf-sc-t1.tfm
-2021/12/21 | 28120 | fonts/etbb/tfm/Etbb1-BoldItalic-lf-sc-t1.tfm
-2021/12/21 | 28108 | fonts/etbb/tfm/Etbb1-BoldItalic-tosf-sc-t1.tfm
-2021/12/21 | 28104 | fonts/etbb/tfm/Etbb1-BoldItalic-tlf-sc-t1.tfm
-2021/12/21 | 27800 | fonts/etbb/tfm/ETbb-Regular-lf-swash-ly1.tfm
-2021/12/21 | 27796 | fonts/etbb/tfm/ETbb-Regular-osf-swash-ly1.tfm
-2021/12/21 | 27776 | fonts/etbb/tfm/ETbb-Regular-tosf-swash-ly1.tfm
-2021/12/21 | 27776 | fonts/etbb/tfm/ETbb-Regular-tlf-swash-ly1.tfm
-2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2021/12/21 | 27452 | fonts/etbb/tfm/ETbb-Regular-lf-sc-ly1.tfm
-2021/12/21 | 27448 | fonts/etbb/tfm/ETbb-Regular-osf-sc-ly1.tfm
-2021/12/21 | 27428 | fonts/etbb/tfm/ETbb-Regular-tosf-sc-ly1.tfm
-2021/12/21 | 27428 | fonts/etbb/tfm/ETbb-Regular-tlf-sc-ly1.tfm
-2021/12/21 | 270990 | fonts/etbb/doc/ETbb-doc.pdf
-2021/12/21 | 26880 | support/arara/doc/chapters/cli.tex
-2021/12/21 | 26068 | fonts/etbb/tfm/ETbb-Bold-lf-ly1.tfm
-2021/12/21 | 26060 | fonts/etbb/tfm/ETbb-Bold-osf-ly1.tfm
-2021/12/21 | 26040 | fonts/etbb/tfm/ETbb-Bold-tosf-ly1.tfm
-2021/12/21 | 26040 | fonts/etbb/tfm/ETbb-Bold-tlf-ly1.tfm
-2021/12/21 | 25824 | fonts/etbb/tfm/ETbb-Bold-lf-sc-ly1.tfm
-2021/12/21 | 25816 | fonts/etbb/tfm/ETbb-Bold-osf-sc-ly1.tfm
-2021/12/21 | 25796 | fonts/etbb/tfm/ETbb-Bold-tosf-sc-ly1.tfm
-2021/12/21 | 25796 | fonts/etbb/tfm/ETbb-Bold-tlf-sc-ly1.tfm
-2021/12/21 | 25792 | systems/texlive/tlnet/archive/mcf2graph.r61354.tar.xz
-2021/12/21 | 25516 | fonts/etbb/tfm/ETbb-Bold-lf-swash-ly1.tfm
-2021/12/21 | 25508 | fonts/etbb/tfm/ETbb-Bold-osf-swash-ly1.tfm
-2021/12/21 | 25488 | fonts/etbb/tfm/ETbb-Bold-tosf-swash-ly1.tfm
-2021/12/21 | 25488 | fonts/etbb/tfm/ETbb-Bold-tlf-swash-ly1.tfm
-2021/12/21 | 2544 | support/arara/scripts/rules/arara-rule-ltx2any.yaml
-2021/12/21 | 250045 | support/arara/doc/arara-quickstart.pdf
-2021/12/21 | 2435 | support/arara/scripts/rules/arara-rule-makeglossaries.yaml
-2021/12/21 | 24004 | fonts/etbb/tfm/ETbb-Italic-osf-t1.tfm
-2021/12/21 | 24000 | fonts/etbb/tfm/ETbb-Italic-lf-t1.tfm
-2021/12/21 | 23984 | fonts/etbb/tfm/Etbb1-Italic-osf-t1.tfm
-2021/12/21 | 23980 | fonts/etbb/tfm/Etbb1-Italic-lf-t1.tfm
-2021/12/21 | 23976 | fonts/etbb/tfm/ETbb-Italic-tosf-t1.tfm
-2021/12/21 | 23976 | fonts/etbb/tfm/ETbb-Italic-tlf-t1.tfm
-2021/12/21 | 23956 | fonts/etbb/tfm/Etbb1-Italic-tosf-t1.tfm
-2021/12/21 | 23956 | fonts/etbb/tfm/Etbb1-Italic-tlf-t1.tfm
-2021/12/21 | 23860 | fonts/etbb/tfm/ETbb-Bold-lf-t1.tfm
-2021/12/21 | 23856 | fonts/etbb/tfm/ETbb-Bold-osf-t1.tfm
-2021/12/21 | 23852 | fonts/etbb/tfm/Etbb1-Bold-lf-t1.tfm
-2021/12/21 | 23848 | fonts/etbb/tfm/Etbb1-Bold-osf-t1.tfm
-2021/12/21 | 23836 | fonts/etbb/tfm/ETbb-Bold-tlf-t1.tfm
-2021/12/21 | 23832 | fonts/etbb/tfm/ETbb-Bold-tosf-t1.tfm
-2021/12/21 | 23828 | fonts/etbb/tfm/Etbb1-Bold-tlf-t1.tfm
-2021/12/21 | 23824 | fonts/etbb/tfm/Etbb1-Bold-tosf-t1.tfm
-2021/12/21 | 23672 | fonts/etbb/tfm/ETbb-Bold-lf-sc-t1.tfm
-2021/12/21 | 23660 | fonts/etbb/tfm/ETbb-Bold-osf-sc-t1.tfm
-2021/12/21 | 23640 | fonts/etbb/tfm/ETbb-Bold-tosf-sc-t1.tfm
-2021/12/21 | 23640 | fonts/etbb/tfm/ETbb-Bold-tlf-sc-t1.tfm
-2021/12/21 | 23612 | fonts/etbb/tfm/Etbb1-Bold-lf-sc-t1.tfm
-2021/12/21 | 23608 | fonts/etbb/tfm/ETbb-Italic-osf-swash-t1.tfm
-2021/12/21 | 23604 | fonts/etbb/tfm/ETbb-Italic-lf-swash-t1.tfm
-2021/12/21 | 23600 | fonts/etbb/tfm/Etbb1-Bold-osf-sc-t1.tfm
-2021/12/21 | 23588 | fonts/etbb/tfm/Etbb1-Italic-osf-swash-t1.tfm
-2021/12/21 | 23584 | fonts/etbb/tfm/Etbb1-Italic-lf-swash-t1.tfm
-2021/12/21 | 23580 | fonts/etbb/tfm/ETbb-Italic-tosf-swash-t1.tfm
-2021/12/21 | 23580 | fonts/etbb/tfm/ETbb-Italic-tlf-swash-t1.tfm
-2021/12/21 | 23580 | fonts/etbb/tfm/Etbb1-Bold-tosf-sc-t1.tfm
-2021/12/21 | 23580 | fonts/etbb/tfm/Etbb1-Bold-tlf-sc-t1.tfm
-2021/12/21 | 23560 | fonts/etbb/tfm/Etbb1-Italic-tosf-swash-t1.tfm
-2021/12/21 | 23560 | fonts/etbb/tfm/Etbb1-Italic-tlf-swash-t1.tfm
-2021/12/21 | 23448 | fonts/etbb/tfm/Etbb1-Italic-dnom-t1.tfm
-2021/12/21 | 23332 | fonts/etbb/tfm/ETbb-Bold-lf-swash-t1.tfm
-2021/12/21 | 23328 | fonts/etbb/tfm/ETbb-Bold-osf-swash-t1.tfm
-2021/12/21 | 23324 | fonts/etbb/tfm/Etbb1-Bold-lf-swash-t1.tfm
-2021/12/21 | 23320 | fonts/etbb/tfm/Etbb1-Bold-osf-swash-t1.tfm
-2021/12/21 | 23308 | fonts/etbb/tfm/ETbb-Bold-tlf-swash-t1.tfm
-2021/12/21 | 23304 | fonts/etbb/tfm/ETbb-Bold-tosf-swash-t1.tfm
-2021/12/21 | 23300 | fonts/etbb/tfm/Etbb1-Bold-tlf-swash-t1.tfm
-2021/12/21 | 23296 | fonts/etbb/tfm/Etbb1-Bold-tosf-swash-t1.tfm
-2021/12/21 | 232296 | systems/texlive/tlnet/archive/tcolorbox.r61358.tar.xz
-2021/12/21 | 22680 | systems/texlive/tlnet/archive/knowledge.r61356.tar.xz
-2021/12/21 | 22632 | fonts/etbb/tfm/ETbb-Italic-osf-sc-ly1.tfm
-2021/12/21 | 22624 | fonts/etbb/tfm/ETbb-Italic-lf-sc-ly1.tfm
-2021/12/21 | 22612 | fonts/etbb/tfm/ETbb-Italic-tosf-sc-ly1.tfm
-2021/12/21 | 22608 | fonts/etbb/tfm/ETbb-Italic-tlf-sc-ly1.tfm
-2021/12/21 | 22372 | fonts/etbb/tfm/Etbb1-Bold-dnom-t1.tfm
-2021/12/21 | 22148 | fonts/etbb/tfm/ETbb-BoldItalic-lf-t1.tfm
-2021/12/21 | 22140 | fonts/etbb/tfm/ETbb-BoldItalic-osf-t1.tfm
-2021/12/21 | 22128 | fonts/etbb/tfm/Etbb1-BoldItalic-lf-t1.tfm
-2021/12/21 | 22120 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-t1.tfm
-2021/12/21 | 22120 | fonts/etbb/tfm/Etbb1-BoldItalic-osf-t1.tfm
-2021/12/21 | 22116 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-t1.tfm
-2021/12/21 | 22100 | fonts/etbb/tfm/Etbb1-BoldItalic-tosf-t1.tfm
-2021/12/21 | 22096 | fonts/etbb/tfm/Etbb1-BoldItalic-tlf-t1.tfm
-2021/12/21 | 21876 | fonts/etbb/tfm/ETbb-BoldItalic-lf-swash-t1.tfm
-2021/12/21 | 21868 | fonts/etbb/tfm/ETbb-BoldItalic-osf-swash-t1.tfm
-2021/12/21 | 21856 | fonts/etbb/tfm/Etbb1-BoldItalic-lf-swash-t1.tfm
-2021/12/21 | 21848 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-swash-t1.tfm
-2021/12/21 | 21848 | fonts/etbb/tfm/Etbb1-BoldItalic-osf-swash-t1.tfm
-2021/12/21 | 21844 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-swash-t1.tfm
-2021/12/21 | 21828 | fonts/etbb/tfm/Etbb1-BoldItalic-tosf-swash-t1.tfm
-2021/12/21 | 21824 | fonts/etbb/tfm/Etbb1-BoldItalic-tlf-swash-t1.tfm
-2021/12/21 | 21556 | fonts/etbb/tfm/Etbb1-BoldItalic-dnom-t1.tfm
-2021/12/21 | 211309 | fonts/etbb/afm/ETbb-Bold.afm
-2021/12/21 | 2108 | support/arara/doc/chapters/license.tex
-2021/12/21 | 2100 | support/arara/scripts/rules/arara-rule-perltex.yaml
-2021/12/21 | 2064 | fonts/etbb/tfm/ETbb-BoldItalic-sup-t1.tfm
-2021/12/21 | 2064 | fonts/etbb/tfm/ETbb-BoldItalic-sup-ly1.tfm
-2021/12/21 | 2060 | fonts/etbb/tfm/ETbb-Italic-sup-t1.tfm
-2021/12/21 | 2060 | fonts/etbb/tfm/ETbb-BoldItalic-sup-ly1--base.tfm
-2021/12/21 | 2056 | fonts/etbb/tfm/ETbb-Italic-sup-ly1.tfm
-2021/12/21 | 2056 | fonts/etbb/tfm/ETbb-BoldItalic-sup-t1--base.tfm
-2021/12/21 | 2052 | fonts/etbb/tfm/ETbb-Italic-sup-t1--base.tfm
-2021/12/21 | 2052 | fonts/etbb/tfm/ETbb-Italic-sup-ly1--base.tfm
-2021/12/21 | 2048 | fonts/etbb/tfm/ETbb-BoldItalic-osf-sc-t1--base.tfm
-2021/12/21 | 2040 | fonts/etbb/tfm/ETbb-BoldItalic-osf-sc-ly1--base.tfm
-2021/12/21 | 2036 | fonts/etbb/tfm/ETbb-BoldItalic-lf-sc-t1--base.tfm
-2021/12/21 | 2036 | fonts/etbb/tfm/Etbb1-BoldItalic-osf-sc-t1--base.tfm
-2021/12/21 | 2032 | fonts/etbb/tfm/ETbb-BoldItalic-lf-sc-ly1--base.tfm
-2021/12/21 | 2028 | fonts/etbb/tfm/ETbb-Italic-osf-sc-t1--base.tfm
-2021/12/21 | 2024 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-sc-t1--base.tfm
-2021/12/21 | 2024 | fonts/etbb/tfm/Etbb1-BoldItalic-lf-sc-t1--base.tfm
-2021/12/21 | 2020 | fonts/etbb/tfm/ETbb-Italic-osf-sc-ly1--base.tfm
-2021/12/21 | 2020 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-sc-t1--base.tfm
-2021/12/21 | 2020 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-sc-ly1--base.tfm
-2021/12/21 | 20201 | support/arara/doc/chapters/configuration.tex
-2021/12/21 | 2016 | fonts/etbb/tfm/ETbb-Italic-lf-sc-t1--base.tfm
-2021/12/21 | 2016 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-sc-ly1--base.tfm
-2021/12/21 | 2016 | fonts/etbb/tfm/Etbb1-Italic-osf-sc-t1--base.tfm
-2021/12/21 | 2012 | fonts/etbb/tfm/ETbb-Italic-lf-sc-ly1--base.tfm
-2021/12/21 | 2012 | fonts/etbb/tfm/Etbb1-BoldItalic-tosf-sc-t1--base.tfm
-2021/12/21 | 2008 | fonts/etbb/tfm/Etbb1-BoldItalic-tlf-sc-t1--base.tfm
-2021/12/21 | 2004 | fonts/etbb/tfm/ETbb-Italic-tosf-sc-t1--base.tfm
-2021/12/21 | 2004 | fonts/etbb/tfm/Etbb1-Italic-lf-sc-t1--base.tfm
-2021/12/21 | 2000 | fonts/etbb/tfm/ETbb-Italic-tosf-sc-ly1--base.tfm
-2021/12/21 | 2000 | fonts/etbb/tfm/ETbb-Italic-tlf-sc-t1--base.tfm
-2021/12/21 | 1996 | fonts/etbb/tfm/ETbb-Italic-tlf-sc-ly1--base.tfm
-2021/12/21 | 1992 | fonts/etbb/tfm/Etbb1-Italic-tosf-sc-t1--base.tfm
-2021/12/21 | 1989 | support/arara/scripts/rules/arara-rule-frontespizio.yaml
-2021/12/21 | 19892 | systems/texlive/tlnet/archive/zref-check.source.r61359.tar.xz
-2021/12/21 | 1988 | fonts/etbb/tfm/Etbb1-Italic-tlf-sc-t1--base.tfm
-2021/12/21 | 1980 | fonts/etbb/tfm/ETbb-BoldItalic-lf-swash-ly1--base.tfm
-2021/12/21 | 1980 | fonts/etbb/tfm/ETbb-BoldItalic-lf-ly1--base.tfm
-2021/12/21 | 1975 | support/arara/scripts/rules/arara-rule-xindy.yaml
-2021/12/21 | 1974 | support/arara/scripts/rules/arara-rule-texindy.yaml
-2021/12/21 | 1972 | fonts/etbb/tfm/ETbb-Italic-osf-swash-ly1--base.tfm
-2021/12/21 | 1972 | fonts/etbb/tfm/ETbb-Italic-osf-ly1--base.tfm
-2021/12/21 | 1972 | fonts/etbb/tfm/ETbb-Italic-lf-swash-ly1--base.tfm
-2021/12/21 | 1972 | fonts/etbb/tfm/ETbb-Italic-lf-ly1--base.tfm
-2021/12/21 | 1971116 | support/arara/doc/arara-manual.pdf
-2021/12/21 | 1968 | fonts/etbb/tfm/ETbb-Italic-dnom-ly1.tfm
-2021/12/21 | 1968 | fonts/etbb/tfm/ETbb-BoldItalic-osf-swash-ly1--base.tfm
-2021/12/21 | 1968 | fonts/etbb/tfm/ETbb-BoldItalic-osf-ly1--base.tfm
-2021/12/21 | 1964 | fonts/etbb/tfm/ETbb-Regular-sup-ly1.tfm
-2021/12/21 | 1964 | fonts/etbb/tfm/ETbb-Italic-dnom-ly1--base.tfm
-2021/12/21 | 19628 | fonts/etbb/tfm/ETbb-BoldItalic-osf-sc-ly1.tfm
-2021/12/21 | 19620 | fonts/etbb/tfm/ETbb-BoldItalic-lf-sc-ly1.tfm
-2021/12/21 | 1960 | fonts/etbb/tfm/ETbb-Regular-sup-ly1--base.tfm
-2021/12/21 | 19608 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-sc-ly1.tfm
-2021/12/21 | 19604 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-sc-ly1.tfm
-2021/12/21 | 1956 | fonts/etbb/tfm/ETbb-Regular-sup-t1.tfm
-2021/12/21 | 1956 | fonts/etbb/tfm/ETbb-Italic-inf-ly1.tfm
-2021/12/21 | 1952 | fonts/etbb/tfm/ETbb-Italic-inf-ly1--base.tfm
-2021/12/21 | 1952 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-swash-ly1--base.tfm
-2021/12/21 | 1952 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-ly1--base.tfm
-2021/12/21 | 1952 | fonts/etbb/tfm/ETbb-BoldItalic-inf-ly1.tfm
-2021/12/21 | 1948 | fonts/etbb/tfm/ETbb-Regular-sup-t1--base.tfm
-2021/12/21 | 1948 | fonts/etbb/tfm/ETbb-Italic-tosf-swash-ly1--base.tfm
-2021/12/21 | 1948 | fonts/etbb/tfm/ETbb-Italic-tosf-ly1--base.tfm
-2021/12/21 | 1948 | fonts/etbb/tfm/ETbb-Italic-tlf-swash-ly1--base.tfm
-2021/12/21 | 1948 | fonts/etbb/tfm/ETbb-Italic-tlf-ly1--base.tfm
-2021/12/21 | 1948 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-swash-ly1--base.tfm
-2021/12/21 | 1948 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-ly1--base.tfm
-2021/12/21 | 1948 | fonts/etbb/tfm/ETbb-BoldItalic-inf-ly1--base.tfm
-2021/12/21 | 1948 | fonts/etbb/tfm/ETbb-BoldItalic-dnom-ly1.tfm
-2021/12/21 | 1944 | fonts/etbb/tfm/ETbb-Italic-osf-t1--base.tfm
-2021/12/21 | 1944 | fonts/etbb/tfm/ETbb-Italic-osf-swash-t1--base.tfm
-2021/12/21 | 1944 | fonts/etbb/tfm/ETbb-BoldItalic-lf-t1--base.tfm
-2021/12/21 | 1944 | fonts/etbb/tfm/ETbb-BoldItalic-lf-swash-t1--base.tfm
-2021/12/21 | 1944 | fonts/etbb/tfm/ETbb-BoldItalic-dnom-ly1--base.tfm
-2021/12/21 | 1940 | fonts/etbb/tfm/ETbb-Italic-lf-t1--base.tfm
-2021/12/21 | 1940 | fonts/etbb/tfm/ETbb-Italic-lf-swash-t1--base.tfm
-2021/12/21 | 1940 | fonts/etbb/tfm/ETbb-Italic-dnom-t1.tfm
-2021/12/21 | 1936 | fonts/etbb/tfm/ETbb-BoldItalic-osf-t1--base.tfm
-2021/12/21 | 1936 | fonts/etbb/tfm/ETbb-BoldItalic-osf-swash-t1--base.tfm
-2021/12/21 | 1932 | fonts/etbb/tfm/ETbb-Italic-inf-t1.tfm
-2021/12/21 | 1932 | fonts/etbb/tfm/ETbb-Italic-dnom-t1--base.tfm
-2021/12/21 | 1932 | fonts/etbb/tfm/Etbb1-Italic-osf-t1--base.tfm
-2021/12/21 | 1932 | fonts/etbb/tfm/Etbb1-Italic-osf-swash-t1--base.tfm
-2021/12/21 | 1932 | fonts/etbb/tfm/Etbb1-BoldItalic-lf-t1--base.tfm
-2021/12/21 | 1932 | fonts/etbb/tfm/Etbb1-BoldItalic-lf-swash-t1--base.tfm
-2021/12/21 | 1928 | fonts/etbb/tfm/ETbb-BoldItalic-dnom-t1.tfm
-2021/12/21 | 1928 | fonts/etbb/tfm/Etbb1-Italic-lf-t1--base.tfm
-2021/12/21 | 1928 | fonts/etbb/tfm/Etbb1-Italic-lf-swash-t1--base.tfm
-2021/12/21 | 1924 | fonts/etbb/tfm/ETbb-Italic-inf-t1--base.tfm
-2021/12/21 | 1924 | fonts/etbb/tfm/ETbb-BoldItalic-inf-t1.tfm
-2021/12/21 | 1924 | fonts/etbb/tfm/Etbb1-BoldItalic-osf-t1--base.tfm
-2021/12/21 | 1924 | fonts/etbb/tfm/Etbb1-BoldItalic-osf-swash-t1--base.tfm
-2021/12/21 | 1920 | fonts/etbb/tfm/ETbb-BoldItalic-dnom-t1--base.tfm
-2021/12/21 | 1920 | fonts/etbb/tfm/Etbb1-Italic-dnom-t1--base.tfm
-2021/12/21 | 1916 | fonts/etbb/tfm/ETbb-Italic-tosf-t1--base.tfm
-2021/12/21 | 1916 | fonts/etbb/tfm/ETbb-Italic-tosf-swash-t1--base.tfm
-2021/12/21 | 1916 | fonts/etbb/tfm/ETbb-Italic-tlf-t1--base.tfm
-2021/12/21 | 1916 | fonts/etbb/tfm/ETbb-Italic-tlf-swash-t1--base.tfm
-2021/12/21 | 1916 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-t1--base.tfm
-2021/12/21 | 1916 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-swash-t1--base.tfm
-2021/12/21 | 1916 | fonts/etbb/tfm/ETbb-BoldItalic-inf-t1--base.tfm
-2021/12/21 | 1912 | fonts/etbb/tfm/ETbb-Regular-lf-swash-ly1--base.tfm
-2021/12/21 | 1912 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-t1--base.tfm
-2021/12/21 | 1912 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-swash-t1--base.tfm
-2021/12/21 | 1908 | fonts/etbb/tfm/ETbb-Regular-osf-swash-ly1--base.tfm
-2021/12/21 | 1908 | fonts/etbb/tfm/ETbb-Regular-lf-ly1--base.tfm
-2021/12/21 | 1908 | fonts/etbb/tfm/Etbb1-BoldItalic-dnom-t1--base.tfm
-2021/12/21 | 1904 | fonts/etbb/tfm/ETbb-Regular-osf-ly1--base.tfm
-2021/12/21 | 1904 | fonts/etbb/tfm/ETbb-Regular-inf-ly1.tfm
-2021/12/21 | 1904 | fonts/etbb/tfm/ETbb-Regular-dnom-ly1.tfm
-2021/12/21 | 1904 | fonts/etbb/tfm/Etbb1-Italic-tosf-t1--base.tfm
-2021/12/21 | 1904 | fonts/etbb/tfm/Etbb1-Italic-tosf-swash-t1--base.tfm
-2021/12/21 | 1904 | fonts/etbb/tfm/Etbb1-Italic-tlf-t1--base.tfm
-2021/12/21 | 1904 | fonts/etbb/tfm/Etbb1-Italic-tlf-swash-t1--base.tfm
-2021/12/21 | 1904 | fonts/etbb/tfm/Etbb1-BoldItalic-tosf-t1--base.tfm
-2021/12/21 | 1904 | fonts/etbb/tfm/Etbb1-BoldItalic-tosf-swash-t1--base.tfm
-2021/12/21 | 1900 | fonts/etbb/tfm/ETbb-Regular-lf-sc-ly1--base.tfm
-2021/12/21 | 1900 | fonts/etbb/tfm/ETbb-Regular-inf-ly1--base.tfm
-2021/12/21 | 1900 | fonts/etbb/tfm/ETbb-Regular-dnom-ly1--base.tfm
-2021/12/21 | 1900 | fonts/etbb/tfm/Etbb1-BoldItalic-tlf-t1--base.tfm
-2021/12/21 | 1900 | fonts/etbb/tfm/Etbb1-BoldItalic-tlf-swash-t1--base.tfm
-2021/12/21 | 1896 | fonts/etbb/tfm/ETbb-Regular-osf-sc-ly1--base.tfm
-2021/12/21 | 1888 | fonts/etbb/tfm/ETbb-Regular-tosf-swash-ly1--base.tfm
-2021/12/21 | 1888 | fonts/etbb/tfm/ETbb-Regular-tlf-swash-ly1--base.tfm
-2021/12/21 | 1884 | support/arara/scripts/rules/arara-rule-latexmk.yaml
-2021/12/21 | 1884 | fonts/etbb/tfm/ETbb-Regular-tosf-ly1--base.tfm
-2021/12/21 | 1884 | fonts/etbb/tfm/ETbb-Regular-tlf-ly1--base.tfm
-2021/12/21 | 1884 | fonts/etbb/tfm/ETbb-Regular-osf-sc-t1--base.tfm
-2021/12/21 | 1884 | fonts/etbb/tfm/ETbb-Regular-lf-sc-t1--base.tfm
-2021/12/21 | 1882 | macros/latex/contrib/fancyvrb/Changes
-2021/12/21 | 1876 | fonts/etbb/tfm/ETbb-Regular-tosf-sc-ly1--base.tfm
-2021/12/21 | 1876 | fonts/etbb/tfm/ETbb-Regular-tlf-sc-ly1--base.tfm
-2021/12/21 | 1872 | fonts/etbb/tfm/Etbb1-Regular-osf-sc-t1--base.tfm
-2021/12/21 | 1872 | fonts/etbb/tfm/Etbb1-Regular-lf-sc-t1--base.tfm
-2021/12/21 | 1864 | fonts/etbb/tfm/ETbb-Regular-tosf-sc-t1--base.tfm
-2021/12/21 | 1864 | fonts/etbb/tfm/ETbb-Regular-tlf-sc-t1--base.tfm
-2021/12/21 | 1860 | fonts/etbb/tfm/ETbb-Regular-osf-swash-t1--base.tfm
-2021/12/21 | 1860 | fonts/etbb/tfm/ETbb-Regular-lf-swash-t1--base.tfm
-2021/12/21 | 1860 | fonts/etbb/tfm/ETbb-Bold-sup-t1.tfm
-2021/12/21 | 1856 | fonts/etbb/tfm/ETbb-Regular-osf-t1--base.tfm
-2021/12/21 | 1856 | fonts/etbb/tfm/ETbb-Regular-lf-t1--base.tfm
-2021/12/21 | 1856 | fonts/etbb/tfm/ETbb-Regular-inf-t1.tfm
-2021/12/21 | 1856 | fonts/etbb/tfm/ETbb-Regular-dnom-t1.tfm
-2021/12/21 | 1856 | fonts/etbb/tfm/ETbb-Bold-lf-sc-t1--base.tfm
-2021/12/21 | 1852 | fonts/etbb/tfm/ETbb-Bold-sup-t1--base.tfm
-2021/12/21 | 1852 | fonts/etbb/tfm/Etbb1-Regular-tosf-sc-t1--base.tfm
-2021/12/21 | 1852 | fonts/etbb/tfm/Etbb1-Regular-tlf-sc-t1--base.tfm
-2021/12/21 | 1848 | fonts/etbb/tfm/ETbb-Regular-inf-t1--base.tfm
-2021/12/21 | 1848 | fonts/etbb/tfm/ETbb-Regular-dnom-t1--base.tfm
-2021/12/21 | 1848 | fonts/etbb/tfm/ETbb-Bold-sup-ly1.tfm
-2021/12/21 | 1844 | fonts/etbb/tfm/ETbb-Bold-sup-ly1--base.tfm
-2021/12/21 | 1844 | fonts/etbb/tfm/ETbb-Bold-osf-sc-t1--base.tfm
-2021/12/21 | 1844 | fonts/etbb/tfm/ETbb-Bold-lf-sc-ly1--base.tfm
-2021/12/21 | 1844 | fonts/etbb/tfm/Etbb1-Regular-osf-swash-t1--base.tfm
-2021/12/21 | 1844 | fonts/etbb/tfm/Etbb1-Regular-lf-swash-t1--base.tfm
-2021/12/21 | 1844 | fonts/etbb/tfm/Etbb1-Bold-lf-sc-t1--base.tfm
-2021/12/21 | 1840 | fonts/etbb/tfm/ETbb-Regular-tosf-swash-t1--base.tfm
-2021/12/21 | 1840 | fonts/etbb/tfm/ETbb-Regular-tlf-swash-t1--base.tfm
-2021/12/21 | 1840 | fonts/etbb/tfm/Etbb1-Regular-osf-t1--base.tfm
-2021/12/21 | 1840 | fonts/etbb/tfm/Etbb1-Regular-lf-t1--base.tfm
-2021/12/21 | 1837 | support/arara/scripts/rules/arara-rule-detex.yaml
-2021/12/21 | 1836 | fonts/etbb/tfm/ETbb-Regular-tosf-t1--base.tfm
-2021/12/21 | 1836 | fonts/etbb/tfm/ETbb-Regular-tlf-t1--base.tfm
-2021/12/21 | 1836 | fonts/etbb/tfm/ETbb-Bold-osf-sc-ly1--base.tfm
-2021/12/21 | 1832 | fonts/etbb/tfm/Etbb1-Regular-dnom-t1--base.tfm
-2021/12/21 | 1832 | fonts/etbb/tfm/Etbb1-Bold-osf-sc-t1--base.tfm
-2021/12/21 | 1828 | fonts/etbb/vf/Etbb1-BoldItalic-tosf-swash-t1.vf
-2021/12/21 | 1824 | fonts/etbb/vf/Etbb1-BoldItalic-tlf-swash-t1.vf
-2021/12/21 | 1824 | fonts/etbb/vf/Etbb1-BoldItalic-osf-swash-t1.vf
-2021/12/21 | 1824 | fonts/etbb/vf/Etbb1-BoldItalic-lf-swash-t1.vf
-2021/12/21 | 1824 | fonts/etbb/tfm/ETbb-Bold-tosf-sc-t1--base.tfm
-2021/12/21 | 1824 | fonts/etbb/tfm/ETbb-Bold-tlf-sc-t1--base.tfm
-2021/12/21 | 1824 | fonts/etbb/tfm/Etbb1-Regular-tosf-swash-t1--base.tfm
-2021/12/21 | 1824 | fonts/etbb/tfm/Etbb1-Regular-tlf-swash-t1--base.tfm
-2021/12/21 | 1820 | fonts/etbb/vf/Etbb1-Regular-tosf-swash-t1.vf
-2021/12/21 | 1820 | fonts/etbb/tfm/Etbb1-Regular-tosf-t1--base.tfm
-2021/12/21 | 1820 | fonts/etbb/tfm/Etbb1-Regular-tlf-t1--base.tfm
-2021/12/21 | 1816 | fonts/etbb/vf/Etbb1-Regular-tlf-swash-t1.vf
-2021/12/21 | 1816 | fonts/etbb/vf/Etbb1-Regular-osf-swash-t1.vf
-2021/12/21 | 1816 | fonts/etbb/vf/Etbb1-Regular-lf-swash-t1.vf
-2021/12/21 | 1816 | fonts/etbb/vf/Etbb1-Italic-tosf-swash-t1.vf
-2021/12/21 | 1816 | fonts/etbb/vf/Etbb1-BoldItalic-tosf-t1.vf
-2021/12/21 | 1816 | fonts/etbb/tfm/ETbb-Bold-tosf-sc-ly1--base.tfm
-2021/12/21 | 1816 | fonts/etbb/tfm/ETbb-Bold-tlf-sc-ly1--base.tfm
-2021/12/21 | 1812 | fonts/etbb/vf/Etbb1-Italic-tlf-swash-t1.vf
-2021/12/21 | 1812 | fonts/etbb/vf/Etbb1-Italic-osf-swash-t1.vf
-2021/12/21 | 1812 | fonts/etbb/vf/Etbb1-Italic-lf-swash-t1.vf
-2021/12/21 | 1812 | fonts/etbb/vf/Etbb1-BoldItalic-tlf-t1.vf
-2021/12/21 | 1812 | fonts/etbb/vf/Etbb1-BoldItalic-osf-t1.vf
-2021/12/21 | 1812 | fonts/etbb/vf/Etbb1-BoldItalic-lf-t1.vf
-2021/12/21 | 1812 | fonts/etbb/tfm/Etbb1-Bold-tosf-sc-t1--base.tfm
-2021/12/21 | 1812 | fonts/etbb/tfm/Etbb1-Bold-tlf-sc-t1--base.tfm
-2021/12/21 | 1808 | fonts/etbb/vf/Etbb1-Regular-tosf-t1.vf
-2021/12/21 | 1808 | fonts/etbb/vf/Etbb1-Bold-tosf-swash-t1.vf
-2021/12/21 | 1808 | fonts/etbb/vf/Etbb1-Bold-tlf-swash-t1.vf
-2021/12/21 | 1808 | fonts/etbb/vf/Etbb1-Bold-osf-swash-t1.vf
-2021/12/21 | 1804 | fonts/etbb/vf/Etbb1-Regular-tlf-t1.vf
-2021/12/21 | 1804 | fonts/etbb/vf/Etbb1-Regular-osf-t1.vf
-2021/12/21 | 1804 | fonts/etbb/vf/Etbb1-Regular-lf-t1.vf
-2021/12/21 | 1804 | fonts/etbb/vf/Etbb1-Italic-tosf-t1.vf
-2021/12/21 | 1804 | fonts/etbb/vf/Etbb1-Bold-lf-swash-t1.vf
-2021/12/21 | 1804 | fonts/etbb/tfm/ETbb-Bold-lf-swash-ly1--base.tfm
-2021/12/21 | 1800 | fonts/etbb/vf/Etbb1-Italic-tlf-t1.vf
-2021/12/21 | 1800 | fonts/etbb/vf/Etbb1-Italic-osf-t1.vf
-2021/12/21 | 1800 | fonts/etbb/vf/Etbb1-Italic-lf-t1.vf
-2021/12/21 | 1800 | fonts/etbb/tfm/ETbb-Bold-lf-ly1--base.tfm
-2021/12/21 | 1796 | fonts/etbb/vf/Etbb1-Bold-tosf-t1.vf
-2021/12/21 | 1796 | fonts/etbb/vf/Etbb1-Bold-tlf-t1.vf
-2021/12/21 | 1796 | fonts/etbb/vf/Etbb1-Bold-osf-t1.vf
-2021/12/21 | 1796 | fonts/etbb/tfm/ETbb-Bold-osf-swash-ly1--base.tfm
-2021/12/21 | 1792 | fonts/etbb/vf/Etbb1-Bold-lf-t1.vf
-2021/12/21 | 1792 | fonts/etbb/tfm/ETbb-Bold-osf-ly1--base.tfm
-2021/12/21 | 1784 | fonts/etbb/vf/Etbb1-BoldItalic-tosf-sc-t1.vf
-2021/12/21 | 1784 | fonts/etbb/vf/Etbb1-BoldItalic-tlf-sc-t1.vf
-2021/12/21 | 1784 | fonts/etbb/vf/Etbb1-BoldItalic-osf-sc-t1.vf
-2021/12/21 | 1784 | fonts/etbb/vf/Etbb1-BoldItalic-dnom-t1.vf
-2021/12/21 | 1780 | fonts/etbb/vf/Etbb1-BoldItalic-lf-sc-t1.vf
-2021/12/21 | 1776 | fonts/etbb/vf/Etbb1-Regular-tosf-sc-t1.vf
-2021/12/21 | 1776 | fonts/etbb/vf/Etbb1-Regular-dnom-t1.vf
-2021/12/21 | 1776 | fonts/etbb/tfm/ETbb-Bold-tosf-swash-ly1--base.tfm
-2021/12/21 | 1776 | fonts/etbb/tfm/ETbb-Bold-tlf-swash-ly1--base.tfm
-2021/12/21 | 1772 | fonts/etbb/vf/Etbb1-Regular-tlf-sc-t1.vf
-2021/12/21 | 1772 | fonts/etbb/vf/Etbb1-Regular-osf-sc-t1.vf
-2021/12/21 | 1772 | fonts/etbb/vf/Etbb1-Regular-lf-sc-t1.vf
-2021/12/21 | 1772 | fonts/etbb/vf/Etbb1-Italic-tosf-sc-t1.vf
-2021/12/21 | 1772 | fonts/etbb/vf/Etbb1-Italic-tlf-sc-t1.vf
-2021/12/21 | 1772 | fonts/etbb/vf/Etbb1-Italic-osf-sc-t1.vf
-2021/12/21 | 1772 | fonts/etbb/vf/Etbb1-Italic-dnom-t1.vf
-2021/12/21 | 1772 | fonts/etbb/tfm/ETbb-Bold-tosf-ly1--base.tfm
-2021/12/21 | 1772 | fonts/etbb/tfm/ETbb-Bold-tlf-ly1--base.tfm
-2021/12/21 | 1768 | fonts/etbb/vf/Etbb1-Italic-lf-sc-t1.vf
-2021/12/21 | 1768 | fonts/etbb/vf/Etbb1-Bold-tosf-sc-t1.vf
-2021/12/21 | 1768 | fonts/etbb/vf/Etbb1-Bold-dnom-t1.vf
-2021/12/21 | 1768 | fonts/etbb/tfm/ETbb-Bold-lf-swash-t1--base.tfm
-2021/12/21 | 1764 | fonts/etbb/vf/Etbb1-Bold-tlf-sc-t1.vf
-2021/12/21 | 1764 | fonts/etbb/vf/Etbb1-Bold-osf-sc-t1.vf
-2021/12/21 | 1764 | fonts/etbb/vf/Etbb1-Bold-lf-sc-t1.vf
-2021/12/21 | 1764 | fonts/etbb/tfm/ETbb-Bold-osf-swash-t1--base.tfm
-2021/12/21 | 1764 | fonts/etbb/tfm/ETbb-Bold-lf-t1--base.tfm
-2021/12/21 | 1764 | fonts/etbb/tfm/ETbb-Bold-inf-ly1.tfm
-2021/12/21 | 1764 | fonts/etbb/tfm/ETbb-Bold-dnom-ly1.tfm
-2021/12/21 | 1760 | fonts/etbb/tfm/ETbb-Bold-osf-t1--base.tfm
-2021/12/21 | 1760 | fonts/etbb/tfm/ETbb-Bold-inf-ly1--base.tfm
-2021/12/21 | 1760 | fonts/etbb/tfm/ETbb-Bold-dnom-ly1--base.tfm
-2021/12/21 | 1756 | fonts/etbb/tfm/Etbb1-Bold-lf-swash-t1--base.tfm
-2021/12/21 | 1752 | fonts/etbb/tfm/Etbb1-Bold-osf-swash-t1--base.tfm
-2021/12/21 | 1752 | fonts/etbb/tfm/Etbb1-Bold-lf-t1--base.tfm
-2021/12/21 | 1748 | fonts/etbb/tfm/Etbb1-Bold-osf-t1--base.tfm
-2021/12/21 | 1744 | fonts/etbb/vf/ETbb-BoldItalic-tosf-sc-t1.vf
-2021/12/21 | 1744 | fonts/etbb/vf/ETbb-BoldItalic-tlf-sc-t1.vf
-2021/12/21 | 1744 | fonts/etbb/vf/ETbb-BoldItalic-osf-sc-t1.vf
-2021/12/21 | 1744 | fonts/etbb/tfm/ETbb-Bold-tlf-swash-t1--base.tfm
-2021/12/21 | 1744 | fonts/etbb/tfm/ETbb-Bold-inf-t1.tfm
-2021/12/21 | 1740 | fonts/etbb/vf/ETbb-Italic-tosf-sc-t1.vf
-2021/12/21 | 1740 | fonts/etbb/vf/ETbb-Italic-tlf-sc-t1.vf
-2021/12/21 | 1740 | fonts/etbb/vf/ETbb-Italic-osf-sc-t1.vf
-2021/12/21 | 1740 | fonts/etbb/vf/ETbb-BoldItalic-lf-sc-t1.vf
-2021/12/21 | 1740 | fonts/etbb/tfm/ETbb-Bold-tosf-swash-t1--base.tfm
-2021/12/21 | 1740 | fonts/etbb/tfm/ETbb-Bold-tlf-t1--base.tfm
-2021/12/21 | 1740 | fonts/etbb/tfm/ETbb-Bold-dnom-t1.tfm
-2021/12/21 | 1736 | fonts/etbb/vf/ETbb-Regular-tosf-sc-t1.vf
-2021/12/21 | 1736 | fonts/etbb/vf/ETbb-Italic-lf-sc-t1.vf
-2021/12/21 | 1736 | fonts/etbb/tfm/ETbb-Bold-tosf-t1--base.tfm
-2021/12/21 | 1736 | fonts/etbb/tfm/ETbb-Bold-inf-t1--base.tfm
-2021/12/21 | 1732 | fonts/etbb/vf/ETbb-Regular-tosf-swash-t1.vf
-2021/12/21 | 1732 | fonts/etbb/vf/ETbb-Regular-tlf-sc-t1.vf
-2021/12/21 | 1732 | fonts/etbb/vf/ETbb-Regular-osf-sc-t1.vf
-2021/12/21 | 1732 | fonts/etbb/vf/ETbb-Regular-lf-sc-t1.vf
-2021/12/21 | 1732 | fonts/etbb/vf/ETbb-Bold-tosf-sc-t1.vf
-2021/12/21 | 1732 | fonts/etbb/vf/ETbb-Bold-tlf-sc-t1.vf
-2021/12/21 | 1732 | fonts/etbb/vf/ETbb-Bold-osf-sc-t1.vf
-2021/12/21 | 1732 | fonts/etbb/vf/ETbb-BoldItalic-tosf-swash-t1.vf
-2021/12/21 | 1732 | fonts/etbb/tfm/ETbb-Bold-dnom-t1--base.tfm
-2021/12/21 | 1732 | fonts/etbb/tfm/Etbb1-Bold-tlf-swash-t1--base.tfm
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-Regular-tlf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-Regular-osf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-Regular-lf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-Italic-tosf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-Bold-tosf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-Bold-tlf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-Bold-osf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-Bold-lf-sc-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-BoldItalic-tlf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-BoldItalic-osf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/vf/ETbb-BoldItalic-lf-swash-t1.vf
-2021/12/21 | 1728 | fonts/etbb/tfm/Etbb1-Bold-tosf-swash-t1--base.tfm
-2021/12/21 | 1728 | fonts/etbb/tfm/Etbb1-Bold-tlf-t1--base.tfm
-2021/12/21 | 1727 | support/arara/doc/arara.1
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-Regular-tosf-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-Regular-tlf-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-Regular-osf-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-Regular-lf-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-Italic-tlf-swash-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-Italic-osf-swash-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-Italic-lf-swash-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-Bold-lf-swash-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-BoldItalic-tosf-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-BoldItalic-tlf-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-BoldItalic-osf-t1.vf
-2021/12/21 | 1724 | fonts/etbb/vf/ETbb-BoldItalic-lf-t1.vf
-2021/12/21 | 1724 | fonts/etbb/tfm/Etbb1-Bold-tosf-t1--base.tfm
-2021/12/21 | 1722 | support/arara/scripts/rules/arara-rule-pythontex.yaml
-2021/12/21 | 1720 | fonts/etbb/vf/ETbb-Italic-tosf-t1.vf
-2021/12/21 | 1720 | fonts/etbb/vf/ETbb-Italic-tlf-t1.vf
-2021/12/21 | 1720 | fonts/etbb/vf/ETbb-Italic-osf-t1.vf
-2021/12/21 | 1720 | fonts/etbb/vf/ETbb-Italic-lf-t1.vf
-2021/12/21 | 1720 | fonts/etbb/vf/ETbb-Bold-tosf-t1.vf
-2021/12/21 | 1720 | fonts/etbb/vf/ETbb-Bold-tlf-t1.vf
-2021/12/21 | 1720 | fonts/etbb/vf/ETbb-Bold-osf-t1.vf
-2021/12/21 | 1720 | fonts/etbb/vf/ETbb-Bold-lf-t1.vf
-2021/12/21 | 1720 | fonts/etbb/tfm/Etbb1-Bold-dnom-t1--base.tfm
-2021/12/21 | 1716 | fonts/etbb/vf/ETbb-BoldItalic-tosf-sc-ly1.vf
-2021/12/21 | 1716 | fonts/etbb/vf/ETbb-BoldItalic-tlf-sc-ly1.vf
-2021/12/21 | 1716 | fonts/etbb/vf/ETbb-BoldItalic-osf-sc-ly1.vf
-2021/12/21 | 1716 | fonts/etbb/vf/ETbb-BoldItalic-lf-sc-ly1.vf
-2021/12/21 | 1712 | fonts/etbb/vf/ETbb-Italic-tosf-sc-ly1.vf
-2021/12/21 | 1712 | fonts/etbb/vf/ETbb-Italic-tlf-sc-ly1.vf
-2021/12/21 | 1712 | fonts/etbb/vf/ETbb-Italic-osf-sc-ly1.vf
-2021/12/21 | 1712 | fonts/etbb/vf/ETbb-Italic-lf-sc-ly1.vf
-2021/12/21 | 1709 | support/arara/scripts/rules/arara-rule-texcount.yaml
-2021/12/21 | 1708 | fonts/etbb/vf/ETbb-Regular-tosf-sc-ly1.vf
-2021/12/21 | 1708 | fonts/etbb/vf/ETbb-Regular-tlf-sc-ly1.vf
-2021/12/21 | 1708 | fonts/etbb/vf/ETbb-Regular-osf-sc-ly1.vf
-2021/12/21 | 1708 | fonts/etbb/vf/ETbb-Regular-lf-sc-ly1.vf
-2021/12/21 | 1708 | fonts/etbb/vf/ETbb-Bold-tosf-sc-ly1.vf
-2021/12/21 | 1704 | fonts/etbb/vf/ETbb-Regular-tosf-swash-ly1.vf
-2021/12/21 | 1704 | fonts/etbb/vf/ETbb-Regular-tlf-swash-ly1.vf
-2021/12/21 | 1704 | fonts/etbb/vf/ETbb-Regular-osf-swash-ly1.vf
-2021/12/21 | 1704 | fonts/etbb/vf/ETbb-Regular-lf-swash-ly1.vf
-2021/12/21 | 1704 | fonts/etbb/vf/ETbb-Bold-tlf-sc-ly1.vf
-2021/12/21 | 1704 | fonts/etbb/vf/ETbb-Bold-osf-sc-ly1.vf
-2021/12/21 | 1704 | fonts/etbb/vf/ETbb-Bold-lf-sc-ly1.vf
-2021/12/21 | 1700 | fonts/etbb/vf/ETbb-Regular-tosf-ly1.vf
-2021/12/21 | 1700 | fonts/etbb/vf/ETbb-Bold-tosf-swash-ly1.vf
-2021/12/21 | 1700 | fonts/etbb/vf/ETbb-Bold-tlf-swash-ly1.vf
-2021/12/21 | 1700 | fonts/etbb/vf/ETbb-Bold-osf-swash-ly1.vf
-2021/12/21 | 1700 | fonts/etbb/vf/ETbb-Bold-lf-swash-ly1.vf
-2021/12/21 | 1700 | fonts/etbb/vf/ETbb-BoldItalic-tosf-swash-ly1.vf
-2021/12/21 | 1700 | fonts/etbb/vf/ETbb-BoldItalic-tlf-swash-ly1.vf
-2021/12/21 | 1700 | fonts/etbb/vf/ETbb-BoldItalic-osf-swash-ly1.vf
-2021/12/21 | 1700 | fonts/etbb/vf/ETbb-BoldItalic-lf-swash-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Regular-tlf-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Regular-osf-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Regular-lf-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Italic-tosf-swash-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Italic-tlf-swash-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Italic-osf-swash-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Italic-lf-swash-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Bold-tosf-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Bold-tlf-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-Bold-osf-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-BoldItalic-tosf-ly1.vf
-2021/12/21 | 1696 | fonts/etbb/vf/ETbb-BoldItalic-dnom-t1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-Regular-sup-t1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-Regular-inf-t1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-Regular-dnom-t1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-Italic-tosf-ly1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-Italic-dnom-t1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-Bold-lf-ly1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-BoldItalic-tlf-ly1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-BoldItalic-sup-t1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-BoldItalic-osf-ly1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-BoldItalic-lf-ly1.vf
-2021/12/21 | 1692 | fonts/etbb/vf/ETbb-BoldItalic-inf-t1.vf
-2021/12/21 | 1688 | fonts/etbb/vf/ETbb-Italic-tlf-ly1.vf
-2021/12/21 | 1688 | fonts/etbb/vf/ETbb-Italic-sup-t1.vf
-2021/12/21 | 1688 | fonts/etbb/vf/ETbb-Italic-osf-ly1.vf
-2021/12/21 | 1688 | fonts/etbb/vf/ETbb-Italic-lf-ly1.vf
-2021/12/21 | 1688 | fonts/etbb/vf/ETbb-Italic-inf-t1.vf
-2021/12/21 | 1688 | fonts/etbb/vf/ETbb-Bold-sup-t1.vf
-2021/12/21 | 1688 | fonts/etbb/vf/ETbb-Bold-inf-t1.vf
-2021/12/21 | 1688 | fonts/etbb/vf/ETbb-Bold-dnom-t1.vf
-2021/12/21 | 1672 | support/arara/scripts/rules/arara-rule-fig2dev.yaml
-2021/12/21 | 1668 | fonts/etbb/vf/ETbb-Regular-sup-ly1.vf
-2021/12/21 | 1668 | fonts/etbb/vf/ETbb-Regular-inf-ly1.vf
-2021/12/21 | 1668 | fonts/etbb/vf/ETbb-Regular-dnom-ly1.vf
-2021/12/21 | 1664 | fonts/etbb/vf/ETbb-Bold-sup-ly1.vf
-2021/12/21 | 1664 | fonts/etbb/vf/ETbb-BoldItalic-sup-ly1.vf
-2021/12/21 | 1664 | fonts/etbb/vf/ETbb-BoldItalic-inf-ly1.vf
-2021/12/21 | 1664 | fonts/etbb/vf/ETbb-BoldItalic-dnom-ly1.vf
-2021/12/21 | 1664 | fonts/etbb/vf/ETbb-Bold-inf-ly1.vf
-2021/12/21 | 1664 | fonts/etbb/vf/ETbb-Bold-dnom-ly1.vf
-2021/12/21 | 1660 | fonts/etbb/vf/ETbb-Italic-sup-ly1.vf
-2021/12/21 | 1660 | fonts/etbb/vf/ETbb-Italic-inf-ly1.vf
-2021/12/21 | 1660 | fonts/etbb/vf/ETbb-Italic-dnom-ly1.vf
-2021/12/21 | 164421 | macros/latex/contrib/fancyvrb.zip
-2021/12/21 | 1625 | support/arara/scripts/rules/arara-rule-pdflatex.yaml
-2021/12/21 | 1625 | support/arara/scripts/rules/arara-rule-lualatex.yaml
-2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
-2021/12/21 | 1610 | support/arara/scripts/rules/arara-rule-latex.yaml
-2021/12/21 | 1540 | fonts/etbb/tfm/ETbb-Regular-tosf-ts1.tfm
-2021/12/21 | 1540 | fonts/etbb/tfm/ETbb-Regular-tlf-ts1.tfm
-2021/12/21 | 1540 | fonts/etbb/tfm/ETbb-Regular-osf-ts1.tfm
-2021/12/21 | 1540 | fonts/etbb/tfm/ETbb-Regular-lf-ts1.tfm
-2021/12/21 | 1536 | fonts/etbb/tfm/ETbb-Regular-tosf-ts1--base.tfm
-2021/12/21 | 1536 | fonts/etbb/tfm/ETbb-Regular-tlf-ts1--base.tfm
-2021/12/21 | 1536 | fonts/etbb/tfm/ETbb-Regular-osf-ts1--base.tfm
-2021/12/21 | 1536 | fonts/etbb/tfm/ETbb-Regular-lf-ts1--base.tfm
-2021/12/21 | 1522 | support/arara/scripts/rules/arara-rule-xelatex.yaml
-2021/12/21 | 1522 | support/arara/scripts/rules/arara-rule-uplatex.yaml
-2021/12/21 | 1517 | support/arara/scripts/rules/arara-rule-platex.yaml
-2021/12/21 | 1503 | support/arara/scripts/rules/arara-rule-makeindex.yaml
-2021/12/21 | 150074 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm
-2021/12/21 | 1478 | support/arara/scripts/rules/arara-rule-asymptote.yaml
-2021/12/21 | 1476 | fonts/etbb/tfm/ETbb-BoldItalic-lf-sc-ot1--base.tfm
-2021/12/21 | 1470 | support/arara/scripts/rules/arara-rule-knitr.yaml
-2021/12/21 | 1468 | fonts/etbb/tfm/ETbb-Italic-osf-sc-ot1--base.tfm
-2021/12/21 | 1468 | fonts/etbb/tfm/ETbb-Italic-lf-sc-ot1--base.tfm
-2021/12/21 | 1468 | fonts/etbb/tfm/ETbb-BoldItalic-osf-sc-ot1--base.tfm
-2021/12/21 | 1464 | fonts/etbb/tfm/ETbb-BoldItalic-sup-ot1.tfm
-2021/12/21 | 14613 | support/arara/doc/chapters/deploying.tex
-2021/12/21 | 1460 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-sc-ot1--base.tfm
-2021/12/21 | 1452 | fonts/etbb/tfm/ETbb-Italic-tlf-sc-ot1--base.tfm
-2021/12/21 | 1448 | support/arara/scripts/rules/arara-rule-dvisvgm.yaml
-2021/12/21 | 1448 | fonts/etbb/tfm/ETbb-Italic-tosf-sc-ot1--base.tfm
-2021/12/21 | 1444 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-sc-ot1--base.tfm
-2021/12/21 | 1440 | fonts/etbb/tfm/ETbb-Italic-dnom-ot1.tfm
-2021/12/21 | 1436 | fonts/etbb/tfm/ETbb-Italic-inf-ot1.tfm
-2021/12/21 | 14364 | fonts/etbb/tfm/ETbb-Italic-osf-ly1.tfm
-2021/12/21 | 14364 | fonts/etbb/tfm/ETbb-Italic-lf-ly1.tfm
-2021/12/21 | 14340 | fonts/etbb/tfm/ETbb-Italic-tosf-ly1.tfm
-2021/12/21 | 14340 | fonts/etbb/tfm/ETbb-Italic-tlf-ly1.tfm
-2021/12/21 | 1432 | fonts/etbb/tfm/ETbb-Italic-sup-ot1.tfm
-2021/12/21 | 14215 | support/arara/doc/logos/logo1.pdf
-2021/12/21 | 1420 | fonts/etbb/tfm/ETbb-Italic-tosf-ts1.tfm
-2021/12/21 | 1420 | fonts/etbb/tfm/ETbb-Italic-tlf-ts1.tfm
-2021/12/21 | 1420 | fonts/etbb/tfm/ETbb-Italic-osf-ts1.tfm
-2021/12/21 | 1420 | fonts/etbb/tfm/ETbb-Italic-lf-ts1.tfm
-2021/12/21 | 1420 | fonts/etbb/tfm/ETbb-BoldItalic-inf-ot1.tfm
-2021/12/21 | 1420 | fonts/etbb/tfm/ETbb-BoldItalic-dnom-ot1.tfm
-2021/12/21 | 14166 | support/arara/doc/logos/logo2.pdf
-2021/12/21 | 141124 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf
-2021/12/21 | 140957 | support/arara/doc/figures/arara.png
-2021/12/21 | 1408 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-ts1.tfm
-2021/12/21 | 1408 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-ts1.tfm
-2021/12/21 | 1408 | fonts/etbb/tfm/ETbb-BoldItalic-osf-ts1.tfm
-2021/12/21 | 1408 | fonts/etbb/tfm/ETbb-BoldItalic-lf-ts1.tfm
-2021/12/21 | 14068 | fonts/etbb/tfm/ETbb-Italic-osf-swash-ly1.tfm
-2021/12/21 | 14068 | fonts/etbb/tfm/ETbb-Italic-lf-swash-ly1.tfm
-2021/12/21 | 1404 | fonts/etbb/tfm/ETbb-Italic-tosf-ts1--base.tfm
-2021/12/21 | 1404 | fonts/etbb/tfm/ETbb-Italic-tlf-ts1--base.tfm
-2021/12/21 | 1404 | fonts/etbb/tfm/ETbb-Italic-osf-ts1--base.tfm
-2021/12/21 | 1404 | fonts/etbb/tfm/ETbb-Italic-lf-ts1--base.tfm
-2021/12/21 | 14044 | fonts/etbb/tfm/ETbb-Italic-tosf-swash-ly1.tfm
-2021/12/21 | 14044 | fonts/etbb/tfm/ETbb-Italic-tlf-swash-ly1.tfm
-2021/12/21 | 1392 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-ts1--base.tfm
-2021/12/21 | 1392 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-ts1--base.tfm
-2021/12/21 | 1392 | fonts/etbb/tfm/ETbb-BoldItalic-osf-ts1--base.tfm
-2021/12/21 | 1392 | fonts/etbb/tfm/ETbb-BoldItalic-lf-ts1--base.tfm
-2021/12/21 | 138933 | support/arara/doc/chapters/rules.tex
-2021/12/21 | 13752305 | support/arara.zip
-2021/12/21 | 13738884 | install/support/arara.tds.zip
-2021/12/21 | 1368 | fonts/etbb/tfm/ETbb-Bold-tosf-ts1.tfm
-2021/12/21 | 1368 | fonts/etbb/tfm/ETbb-Bold-tlf-ts1.tfm
-2021/12/21 | 1368 | fonts/etbb/tfm/ETbb-Bold-osf-ts1.tfm
-2021/12/21 | 1368 | fonts/etbb/tfm/ETbb-Bold-lf-ts1.tfm
-2021/12/21 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r61362.tar.xz
-2021/12/21 | 13532 | support/arara/doc/chapters/mvel.tex
-2021/12/21 | 1352 | fonts/etbb/tfm/ETbb-Bold-tosf-ts1--base.tfm
-2021/12/21 | 1352 | fonts/etbb/tfm/ETbb-Bold-tlf-ts1--base.tfm
-2021/12/21 | 1352 | fonts/etbb/tfm/ETbb-Bold-osf-ts1--base.tfm
-2021/12/21 | 1352 | fonts/etbb/tfm/ETbb-Bold-lf-ts1--base.tfm
-2021/12/21 | 1347 | support/arara/doc/figures/gl.pdf
-2021/12/21 | 13440 | fonts/etbb/tfm/ETbb-BoldItalic-lf-ly1.tfm
-2021/12/21 | 13428 | fonts/etbb/tfm/ETbb-BoldItalic-osf-ly1.tfm
-2021/12/21 | 1341 | support/arara/scripts/rules/arara-rule-clean.yaml
-2021/12/21 | 13412 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-ly1.tfm
-2021/12/21 | 13408 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-ly1.tfm
-2021/12/21 | 133270 | fonts/etbb/type1/ETbb-Regular.pfb
-2021/12/21 | 1324 | support/arara/scripts/rules/arara-rule-sage.yaml
-2021/12/21 | 13220 | fonts/etbb/tfm/ETbb-BoldItalic-lf-swash-ly1.tfm
-2021/12/21 | 1320 | fonts/etbb/tfm/ETbb-Regular-inf-ot1.tfm
-2021/12/21 | 1320 | fonts/etbb/tfm/ETbb-Regular-dnom-ot1.tfm
-2021/12/21 | 13208 | fonts/etbb/tfm/ETbb-BoldItalic-osf-swash-ly1.tfm
-2021/12/21 | 131975 | support/arara/source/arara-6.1.5-src.zip
-2021/12/21 | 13192 | fonts/etbb/tfm/ETbb-BoldItalic-tlf-swash-ly1.tfm
-2021/12/21 | 13188 | fonts/etbb/tfm/ETbb-BoldItalic-tosf-swash-ly1.tfm
-2021/12/21 | 1292 | fonts/etbb/tfm/ETbb-Regular-sup-ot1.tfm
-2021/12/21 | 1292 | fonts/etbb/tfm/ETbb-Regular-osf-sc-ot1--base.tfm
-2021/12/21 | 1292 | fonts/etbb/tfm/ETbb-Regular-lf-sc-ot1--base.tfm
-2021/12/21 | 1284 | support/arara/scripts/rules/arara-rule-pdfcsplain.yaml
-2021/12/21 | 1282 | support/arara/scripts/rules/arara-rule-llmk.yaml
-2021/12/21 | 1278 | support/arara/scripts/rules/arara-rule-dvipspdf.yaml
-2021/12/21 | 1276 | support/arara/scripts/rules/arara-rule-luahbtex.yaml
-2021/12/21 | 1274 | support/arara/scripts/rules/arara-rule-metapost.yaml
-2021/12/21 | 1272 | support/arara/scripts/rules/arara-rule-csplain.yaml
-2021/12/21 | 1272 | fonts/etbb/tfm/ETbb-Regular-tosf-sc-ot1--base.tfm
-2021/12/21 | 1272 | fonts/etbb/tfm/ETbb-Regular-tlf-sc-ot1--base.tfm
-2021/12/21 | 1272 | fonts/etbb/tfm/ETbb-Bold-lf-sc-ot1--base.tfm
-2021/12/21 | 1268 | support/arara/scripts/rules/arara-rule-pdftex.yaml
-2021/12/21 | 1268 | support/arara/scripts/rules/arara-rule-luatex.yaml
-2021/12/21 | 1264 | fonts/etbb/tfm/ETbb-Bold-osf-sc-ot1--base.tfm
-2021/12/21 | 12528 | support/arara/doc/chapters/introduction.tex
-2021/12/21 | 1244 | fonts/etbb/tfm/ETbb-Bold-tlf-sc-ot1--base.tfm
-2021/12/21 | 1244 | fonts/etbb/tfm/ETbb-Bold-sup-ot1.tfm
-2021/12/21 | 1240 | fonts/etbb/tfm/ETbb-Bold-tosf-sc-ot1--base.tfm
-2021/12/21 | 1240 | fonts/etbb/tfm/ETbb-Bold-inf-ot1.tfm
-2021/12/21 | 1236 | fonts/etbb/tfm/ETbb-Bold-dnom-ot1.tfm
-2021/12/21 | 1227188 | systems/texlive/tlnet/archive/tex4ht.source.r61362.tar.xz
-2021/12/21 | 12065 | support/arara/doc/chapters/building.tex
-2021/12/21 | 120249 | fonts/etbb/type1/ETbb-Bold.pfb
-2021/12/21 | 11976 | support/arara/doc/chapters/logging.tex
-2021/12/21 | 11851284 | support/arara/scripts/arara.jar
-2021/12/21 | 1166 | support/arara/scripts/rules/arara-rule-xetex.yaml
-2021/12/21 | 1166 | support/arara/scripts/rules/arara-rule-uptex.yaml
-2021/12/21 | 1162 | support/arara/scripts/rules/arara-rule-ptex.yaml
-2021/12/21 | 11529 | systems/texlive/tlnet/tlpkg/TeXLive/TeXCatalogue.pm
-2021/12/21 | 115292 | fonts/etbb/type1/ETbb-BoldItalic.pfb
-2021/12/21 | 111596 | fonts/etbb/opentype/ETbb-Regular.otf
-2021/12/21 | 1111 | support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml
-2021/12/21 | 1107 | support/arara/scripts/rules/arara-rule-animate.yaml
-2021/12/21 | 1105 | support/arara/scripts/rules/arara-rule-authorindex.yaml
-2021/12/21 | 108769 | fonts/etbb/type1/ETbb-Italic.pfb
-2021/12/21 | 1062 | support/arara/scripts/rules/arara-rule-etex.yaml
-2021/12/21 | 1053772 | systems/texlive/tlnet/archive/zref-check.doc.r61359.tar.xz
-2021/12/21 | 1050 | support/arara/scripts/rules/arara-rule-tex.yaml
-2021/12/21 | 1046 | support/arara/doc/rules/quickstart.yaml
-2021/12/21 | 1032 | support/arara/doc/rules/manual.yaml
diff --git a/graphics/asymptote/ChangeLog b/graphics/asymptote/ChangeLog
index 23f6922e9b..b3ed362b49 100644
--- a/graphics/asymptote/ChangeLog
+++ b/graphics/asymptote/ChangeLog
@@ -1,3 +1,53 @@
+commit f28852ba9da596dd61f3755e67bc2a52d76c1fef
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Dec 27 17:40:27 2021 -0700
+
+ Update asygl.
+
+commit 9217e347a01f1a8f2b095a1aac1d319e12a21306
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Dec 27 17:37:28 2021 -0700
+
+ Look for an existing webgl context if webgl2 is unavailable.
+
+commit 72154e5aadd39f9c58586bd0fdc0ac51d68373b7
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Dec 27 16:43:08 2021 -0700
+
+ Update asygl.
+
+commit e6359241240166ee8ec48d022ee858313892dfac
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Dec 27 16:40:35 2021 -0700
+
+ Support embedding of webgl and webgl2 scenes on the same page.
+
+commit 0539672ff6043da10a0afce946be9f1bc1809e65
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Dec 27 15:20:03 2021 -0700
+
+ Revert "Revert webgl2 default in asygl library."
+
+ This reverts commit 045d59d63b429d28bd133c1a550a36fa1726be60.
+
+commit 3f78b81efd7129f0617eff4fcf60d6ab8f670ded
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Dec 27 14:39:24 2021 -0700
+
+ Update asygl.
+
+commit 045d59d63b429d28bd133c1a550a36fa1726be60
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Dec 27 14:37:06 2021 -0700
+
+ Revert webgl2 default in asygl library.
+
+commit 4d04f9d75313e24d8987806b6ecae6f2c3660ac5
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Dec 27 13:12:53 2021 -0700
+
+ Increment version to 2.73.
+
commit d1641723495c25a4cf84da33a477078903c2ef4c
Author: John Bowman <bowman@ualberta.ca>
Date: Mon Dec 27 12:42:11 2021 -0700
diff --git a/graphics/asymptote/ReleaseNotes b/graphics/asymptote/ReleaseNotes
index fb0f2b579c..fb9044a2fa 100644
--- a/graphics/asymptote/ReleaseNotes
+++ b/graphics/asymptote/ReleaseNotes
@@ -1,3 +1,8 @@
+Release Notes for Version 2.73
+
+The asygl library was updated to support embedding of WebGL and WebGL2 scenes
+on the same page.
+
Release Notes for Version 2.72
WebGL2 is enabled by default only for examples that use image-based lighting.
diff --git a/graphics/asymptote/asy-keywords.el b/graphics/asymptote/asy-keywords.el
index bd6d7ff4a3..d351611f0f 100644
--- a/graphics/asymptote/asy-keywords.el
+++ b/graphics/asymptote/asy-keywords.el
@@ -2,7 +2,7 @@
;; This file is automatically generated by asy-list.pl.
;; Changes will be overwritten.
;;
-(defvar asy-keywords-version "2.72")
+(defvar asy-keywords-version "2.73")
(defvar asy-keyword-name '(
and controls tension atleast curl if else while for do return break continue struct typedef new access import unravel from include quote static public private restricted this explicit true false null cycle newframe operator ))
diff --git a/graphics/asymptote/asymptote.spec b/graphics/asymptote/asymptote.spec
index 63ef30356d..199ca1755a 100644
--- a/graphics/asymptote/asymptote.spec
+++ b/graphics/asymptote/asymptote.spec
@@ -3,7 +3,7 @@
%global __python %{__python3}
Name: asymptote
-Version: 2.72
+Version: 2.73
Release: 1%{?dist}
Summary: Descriptive vector graphics language
diff --git a/graphics/asymptote/base/v3dheadertypes.asy b/graphics/asymptote/base/v3dheadertypes.asy
index 765d678080..cc78dfd4f4 100644
--- a/graphics/asymptote/base/v3dheadertypes.asy
+++ b/graphics/asymptote/base/v3dheadertypes.asy
@@ -1,6 +1,6 @@
// Enum class for v3dheadertypes
// AUTO-GENERATED from v3dheadertypes.csv
-// Generated at 2021-12-27 12:46:04.747922
+// Generated at 2021-12-27 17:52:27.156438
struct v3dheadertypes
{
diff --git a/graphics/asymptote/base/v3dtypes.asy b/graphics/asymptote/base/v3dtypes.asy
index b5f19cd5cd..270e28faeb 100644
--- a/graphics/asymptote/base/v3dtypes.asy
+++ b/graphics/asymptote/base/v3dtypes.asy
@@ -1,6 +1,6 @@
// Enum class for v3dtypes
// AUTO-GENERATED from v3dtypes.csv
-// Generated at 2021-12-27 12:46:04.684643
+// Generated at 2021-12-27 17:52:27.075241
struct v3dtypes
{
diff --git a/graphics/asymptote/base/webgl/asygl.js b/graphics/asymptote/base/webgl/asygl.js
index 8e02dcfbda..3f8cc84a38 100644
--- a/graphics/asymptote/base/webgl/asygl.js
+++ b/graphics/asymptote/base/webgl/asygl.js
@@ -36,4 +36,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.*/
-let vertex="\n#ifdef WEBGL2\n#define IN in\n#define OUT out\n#else\n#define IN attribute\n#define OUT varying\n#endif\n\nIN vec3 position;\n#ifdef WIDTH\nIN float width;\n#endif\n#ifdef NORMAL\nIN vec3 normal;\n#endif\n\nIN float materialIndex;\n\n#ifdef WEBGL2\nflat out int MaterialIndex;\n#ifdef COLOR\nOUT vec4 Color;\n#endif\n\n#else\nOUT vec4 diffuse;\nOUT vec3 specular;\nOUT float roughness,metallic,fresnel0;\nOUT vec4 emissive;\n\nstruct Material {\n vec4 diffuse,emissive,specular;\n vec4 parameters;\n};\n\nuniform Material Materials[Nmaterials];\n#endif\n\n#ifdef COLOR\nIN vec4 color;\n#endif\n\nuniform mat3 normMat;\nuniform mat4 viewMat;\nuniform mat4 projViewMat;\n\n#ifdef NORMAL\n#ifndef ORTHOGRAPHIC\nOUT vec3 ViewPosition;\n#endif\nOUT vec3 Normal;\n#endif\n\nvoid main(void)\n{\n vec4 v=vec4(position,1.0);\n gl_Position=projViewMat*v;\n\n#ifdef NORMAL\n#ifndef ORTHOGRAPHIC\n ViewPosition=(viewMat*v).xyz;\n#endif\n Normal=normalize(normal*normMat);\n#endif\n\n#ifdef WEBGL2\n MaterialIndex=int(materialIndex);\n#ifdef COLOR\n Color=color;\n#endif\n#else\n#ifdef NORMAL\n Material m;\n#ifdef TRANSPARENT\n m=Materials[int(abs(materialIndex))-1];\n emissive=m.emissive;\n if(materialIndex >= 0.0)\n diffuse=m.diffuse;\n else {\n diffuse=color;\n#if nlights == 0\n emissive += color;\n#endif\n }\n#else\n m=Materials[int(materialIndex)];\n emissive=m.emissive;\n#ifdef COLOR\n diffuse=color;\n#if nlights == 0\n emissive += color;\n#endif\n#else\n diffuse=m.diffuse;\n#endif // COLOR\n#endif // TRANSPARENT\n specular=m.specular.rgb;\n vec4 parameters=m.parameters;\n roughness=1.0-parameters[0];\n metallic=parameters[1];\n fresnel0=parameters[2];\n#else\n emissive=Materials[int(materialIndex)].emissive;\n#endif // NORMAL\n#endif // WEBGL2\n\n#ifdef WIDTH\n gl_PointSize=width;\n#endif\n}\n",fragment="\n#ifdef WEBGL2\n#define IN in\nout vec4 outValue;\n#define OUTVALUE outValue\n#else\n#define IN varying\n#define OUTVALUE gl_FragColor\n#endif\n\n#ifdef WEBGL2\nflat in int MaterialIndex;\n\nstruct Material {\n vec4 diffuse,emissive,specular;\n vec4 parameters;\n};\n\nuniform Material Materials[Nmaterials];\n\nvec4 diffuse;\nvec3 specular;\nfloat roughness,metallic,fresnel0;\nvec4 emissive;\n\n#ifdef COLOR\nin vec4 Color;\n#endif\n\n#else\nIN vec4 diffuse;\nIN vec3 specular;\nIN float roughness,metallic,fresnel0;\nIN vec4 emissive;\n#endif\n\n#ifdef NORMAL\n\n#ifndef ORTHOGRAPHIC\nIN vec3 ViewPosition;\n#endif\nIN vec3 Normal;\n\nvec3 normal;\n\nstruct Light {\n vec3 direction;\n vec3 color;\n};\n\nuniform Light Lights[Nlights];\n\n#ifdef USE_IBL\nuniform sampler2D reflBRDFSampler;\nuniform sampler2D diffuseSampler;\nuniform sampler2D reflImgSampler;\n\nconst float pi=acos(-1.0);\nconst float piInv=1.0/pi;\nconst float twopi=2.0*pi;\nconst float twopiInv=1.0/twopi;\n\n// (x,y,z) -> (r,theta,phi);\n// theta -> [0,pi]: colatitude\n// phi -> [-pi,pi]: longitude\nvec3 cart2sphere(vec3 cart)\n{\n float x=cart.x;\n float y=cart.z;\n float z=cart.y;\n\n float r=length(cart);\n float theta=r > 0.0 ? acos(z/r) : 0.0;\n float phi=atan(y,x);\n\n return vec3(r,theta,phi);\n}\n\nvec2 normalizedAngle(vec3 cartVec)\n{\n vec3 sphericalVec=cart2sphere(cartVec);\n sphericalVec.y=sphericalVec.y*piInv;\n sphericalVec.z=0.75-sphericalVec.z*twopiInv;\n return sphericalVec.zy;\n}\n\nvec3 IBLColor(vec3 viewDir)\n{\n vec3 IBLDiffuse=diffuse.rgb*texture(diffuseSampler,normalizedAngle(normal)).rgb;\n vec3 reflectVec=normalize(reflect(-viewDir,normal));\n vec2 reflCoord=normalizedAngle(reflectVec);\n vec3 IBLRefl=textureLod(reflImgSampler,reflCoord,roughness*ROUGHNESS_STEP_COUNT).rgb;\n vec2 IBLbrdf=texture(reflBRDFSampler,vec2(dot(normal,viewDir),roughness)).rg;\n float specularMultiplier=fresnel0*IBLbrdf.x+IBLbrdf.y;\n vec3 dielectric=IBLDiffuse+specularMultiplier*IBLRefl;\n vec3 metal=diffuse.rgb*IBLRefl;\n return mix(dielectric,metal,metallic);\n}\n#else\nfloat Roughness2;\nfloat NDF_TRG(vec3 h)\n{\n float ndoth=max(dot(normal,h),0.0);\n float alpha2=Roughness2*Roughness2;\n float denom=ndoth*ndoth*(alpha2-1.0)+1.0;\n return denom != 0.0 ? alpha2/(denom*denom) : 0.0;\n}\n\nfloat GGX_Geom(vec3 v)\n{\n float ndotv=max(dot(v,normal),0.0);\n float ap=1.0+Roughness2;\n float k=0.125*ap*ap;\n return ndotv/((ndotv*(1.0-k))+k);\n}\n\nfloat Geom(vec3 v, vec3 l)\n{\n return GGX_Geom(v)*GGX_Geom(l);\n}\n\nfloat Fresnel(vec3 h, vec3 v, float fresnel0)\n{\n float a=1.0-max(dot(h,v),0.0);\n float b=a*a;\n return fresnel0+(1.0-fresnel0)*b*b*a;\n}\n\n// physical based shading using UE4 model.\nvec3 BRDF(vec3 viewDirection, vec3 lightDirection)\n{\n vec3 lambertian=diffuse.rgb;\n vec3 h=normalize(lightDirection+viewDirection);\n\n float omegain=max(dot(viewDirection,normal),0.0);\n float omegaln=max(dot(lightDirection,normal),0.0);\n\n float D=NDF_TRG(h);\n float G=Geom(viewDirection,lightDirection);\n float F=Fresnel(h,viewDirection,fresnel0);\n\n float denom=4.0*omegain*omegaln;\n float rawReflectance=denom > 0.0 ? (D*G)/denom : 0.0;\n\n vec3 dielectric=mix(lambertian,rawReflectance*specular,F);\n vec3 metal=rawReflectance*diffuse.rgb;\n\n return mix(dielectric,metal,metallic);\n}\n#endif\n\n#endif\n\nvoid main(void)\n{\n#ifdef WEBGL2\n#ifdef NORMAL\n Material m;\n#ifdef TRANSPARENT\n m=Materials[abs(MaterialIndex)-1];\n emissive=m.emissive;\n if(MaterialIndex >= 0)\n diffuse=m.diffuse;\n else {\n diffuse=Color;\n#if nlights == 0\n emissive += Color;\n#endif\n }\n#else\n m=Materials[MaterialIndex];\n emissive=m.emissive;\n#ifdef COLOR\n diffuse=Color;\n#if nlights == 0\n emissive += Color;\n#endif\n#else\n diffuse=m.diffuse;\n#endif // COLOR\n#endif // TRANSPARENT\n specular=m.specular.rgb;\n vec4 parameters=m.parameters;\n roughness=1.0-parameters[0];\n metallic=parameters[1];\n fresnel0=parameters[2];\n#else\n emissive=Materials[MaterialIndex].emissive;\n#endif // NORMAL\n#endif // WEBGL2\n\n#if defined(NORMAL) && nlights > 0\n normal=normalize(Normal);\n normal=gl_FrontFacing ? normal : -normal;\n#ifdef ORTHOGRAPHIC\n vec3 viewDir=vec3(0.0,0.0,1.0);\n#else\n vec3 viewDir=-normalize(ViewPosition);\n#endif\n\nvec3 color;\n#ifdef USE_IBL\n color=IBLColor(viewDir);\n#else\n Roughness2=roughness*roughness;\n color=emissive.rgb;\n for(int i=0; i < nlights; ++i) {\n Light Li=Lights[i];\n vec3 L=Li.direction;\n float cosTheta=max(dot(normal,L),0.0);\n vec3 radiance=cosTheta*Li.color;\n color += BRDF(viewDir,L)*radiance;\n }\n#endif\n OUTVALUE=vec4(color,diffuse.a);\n#else\n OUTVALUE=emissive;\n#endif\n}\n";!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var a in i)("object"==typeof exports?exports:e)[a]=i[a]}}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function i(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,a){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:a})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=1)}([function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setMatrixArrayType=function(e){t.ARRAY_TYPE=e},t.toRadian=function(e){return e*n},t.equals=function(e,t){return Math.abs(e-t)<=a*Math.max(1,Math.abs(e),Math.abs(t))};var a=t.EPSILON=1e-6;t.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,t.RANDOM=Math.random;var n=Math.PI/180},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mat4=t.mat3=void 0;var a=r(i(2)),n=r(i(3));function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}t.mat3=a,t.mat4=n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.create=function(){var e=new a.ARRAY_TYPE(9);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},t.fromMat4=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e},t.invert=function(e,t){var i=t[0],a=t[1],n=t[2],r=t[3],s=t[4],o=t[5],l=t[6],h=t[7],c=t[8],d=c*s-o*h,m=-c*r+o*l,f=h*r-s*l,u=i*d+a*m+n*f;if(!u)return null;return u=1/u,e[0]=d*u,e[1]=(-c*a+n*h)*u,e[2]=(o*a-n*s)*u,e[3]=m*u,e[4]=(c*i-n*l)*u,e[5]=(-o*i+n*r)*u,e[6]=f*u,e[7]=(-h*i+a*l)*u,e[8]=(s*i-a*r)*u,e};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}(i(0))},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.create=function(){var e=new a.ARRAY_TYPE(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},t.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},t.invert=function(e,t){var i=t[0],a=t[1],n=t[2],r=t[3],s=t[4],o=t[5],l=t[6],h=t[7],c=t[8],d=t[9],m=t[10],f=t[11],u=t[12],p=t[13],g=t[14],v=t[15],x=i*o-a*s,w=i*l-n*s,M=i*h-r*s,b=a*l-n*o,T=a*h-r*o,S=n*h-r*l,R=c*p-d*u,I=c*g-m*u,A=c*v-f*u,E=d*g-m*p,P=d*v-f*p,L=m*v-f*g,D=x*L-w*P+M*E+b*A-T*I+S*R;if(!D)return null;return D=1/D,e[0]=(o*L-l*P+h*E)*D,e[1]=(n*P-a*L-r*E)*D,e[2]=(p*S-g*T+v*b)*D,e[3]=(m*T-d*S-f*b)*D,e[4]=(l*A-s*L-h*I)*D,e[5]=(i*L-n*A+r*I)*D,e[6]=(g*M-u*S-v*w)*D,e[7]=(c*S-m*M+f*w)*D,e[8]=(s*P-o*A+h*R)*D,e[9]=(a*A-i*P-r*R)*D,e[10]=(u*T-p*M+v*x)*D,e[11]=(d*M-c*T-f*x)*D,e[12]=(o*I-s*E-l*R)*D,e[13]=(i*E-a*I+n*R)*D,e[14]=(p*w-u*b-g*x)*D,e[15]=(c*b-d*w+m*x)*D,e},t.multiply=n,t.translate=function(e,t,i){var a=i[0],n=i[1],r=i[2],s=void 0,o=void 0,l=void 0,h=void 0,c=void 0,d=void 0,m=void 0,f=void 0,u=void 0,p=void 0,g=void 0,v=void 0;t===e?(e[12]=t[0]*a+t[4]*n+t[8]*r+t[12],e[13]=t[1]*a+t[5]*n+t[9]*r+t[13],e[14]=t[2]*a+t[6]*n+t[10]*r+t[14],e[15]=t[3]*a+t[7]*n+t[11]*r+t[15]):(s=t[0],o=t[1],l=t[2],h=t[3],c=t[4],d=t[5],m=t[6],f=t[7],u=t[8],p=t[9],g=t[10],v=t[11],e[0]=s,e[1]=o,e[2]=l,e[3]=h,e[4]=c,e[5]=d,e[6]=m,e[7]=f,e[8]=u,e[9]=p,e[10]=g,e[11]=v,e[12]=s*a+c*n+u*r+t[12],e[13]=o*a+d*n+p*r+t[13],e[14]=l*a+m*n+g*r+t[14],e[15]=h*a+f*n+v*r+t[15]);return e},t.rotate=function(e,t,i,n){var r,s,o,l,h,c,d,m,f,u,p,g,v,x,w,M,b,T,S,R,I,A,E,P,L=n[0],D=n[1],y=n[2],O=Math.sqrt(L*L+D*D+y*y);if(Math.abs(O)<a.EPSILON)return null;L*=O=1/O,D*=O,y*=O,r=Math.sin(i),s=Math.cos(i),o=1-s,l=t[0],h=t[1],c=t[2],d=t[3],m=t[4],f=t[5],u=t[6],p=t[7],g=t[8],v=t[9],x=t[10],w=t[11],M=L*L*o+s,b=D*L*o+y*r,T=y*L*o-D*r,S=L*D*o-y*r,R=D*D*o+s,I=y*D*o+L*r,A=L*y*o+D*r,E=D*y*o-L*r,P=y*y*o+s,e[0]=l*M+m*b+g*T,e[1]=h*M+f*b+v*T,e[2]=c*M+u*b+x*T,e[3]=d*M+p*b+w*T,e[4]=l*S+m*R+g*I,e[5]=h*S+f*R+v*I,e[6]=c*S+u*R+x*I,e[7]=d*S+p*R+w*I,e[8]=l*A+m*E+g*P,e[9]=h*A+f*E+v*P,e[10]=c*A+u*E+x*P,e[11]=d*A+p*E+w*P,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]);return e},t.fromTranslation=function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e},t.fromRotation=function(e,t,i){var n,r,s,o=i[0],l=i[1],h=i[2],c=Math.sqrt(o*o+l*l+h*h);if(Math.abs(c)<a.EPSILON)return null;return o*=c=1/c,l*=c,h*=c,n=Math.sin(t),r=Math.cos(t),s=1-r,e[0]=o*o*s+r,e[1]=l*o*s+h*n,e[2]=h*o*s-l*n,e[3]=0,e[4]=o*l*s-h*n,e[5]=l*l*s+r,e[6]=h*l*s+o*n,e[7]=0,e[8]=o*h*s+l*n,e[9]=l*h*s-o*n,e[10]=h*h*s+r,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},t.frustum=function(e,t,i,a,n,r,s){var o=1/(i-t),l=1/(n-a),h=1/(r-s);return e[0]=2*r*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*r*l,e[6]=0,e[7]=0,e[8]=(i+t)*o,e[9]=(n+a)*l,e[10]=(s+r)*h,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*r*2*h,e[15]=0,e},t.ortho=function(e,t,i,a,n,r,s){var o=1/(t-i),l=1/(a-n),h=1/(r-s);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*h,e[11]=0,e[12]=(t+i)*o,e[13]=(n+a)*l,e[14]=(s+r)*h,e[15]=1,e};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}(i(0));function n(e,t,i){var a=t[0],n=t[1],r=t[2],s=t[3],o=t[4],l=t[5],h=t[6],c=t[7],d=t[8],m=t[9],f=t[10],u=t[11],p=t[12],g=t[13],v=t[14],x=t[15],w=i[0],M=i[1],b=i[2],T=i[3];return e[0]=w*a+M*o+b*d+T*p,e[1]=w*n+M*l+b*m+T*g,e[2]=w*r+M*h+b*f+T*v,e[3]=w*s+M*c+b*u+T*x,w=i[4],M=i[5],b=i[6],T=i[7],e[4]=w*a+M*o+b*d+T*p,e[5]=w*n+M*l+b*m+T*g,e[6]=w*r+M*h+b*f+T*v,e[7]=w*s+M*c+b*u+T*x,w=i[8],M=i[9],b=i[10],T=i[11],e[8]=w*a+M*o+b*d+T*p,e[9]=w*n+M*l+b*m+T*g,e[10]=w*r+M*h+b*f+T*v,e[11]=w*s+M*c+b*u+T*x,w=i[12],M=i[13],b=i[14],T=i[15],e[12]=w*a+M*o+b*d+T*p,e[13]=w*n+M*l+b*m+T*g,e[14]=w*r+M*h+b*f+T*v,e[15]=w*s+M*c+b*u+T*x,e}}])}));let canvasWidth,canvasHeight,imageURL,image,minBound,maxBound,orthographic,angleOfView,initialZoom,viewportMargin,zoomFactor,zoomPinchFactor,zoomPinchCap,zoomStep,shiftHoldDistance,shiftWaitTime,vibrateTime,canvasWidth0,canvasHeight0,zoom0,embedded,canvas,gl,alpha,offscreen2,context,maxMaterials,halfCanvasWidth,halfCanvasHeight,P=[],Materials=[],Lights=[],Centers=[],Background=[1,1,1,1],absolute=!1,ibl=!1,viewportShift=[0,0],webgl2=!1,nlights=0,Nmaterials=2,materials=[];const pixelResolution=.75,zoomRemeshFactor=1.5,FillFactor=.1,windowTrim=10,third=1/3;let Zoom,lastZoom,maxViewportWidth,maxViewportHeight,H,zmin,zmax,size2,ArcballFactor,rotMat=mat4.create(),projMat=mat4.create(),viewMat=mat4.create(),projViewMat=mat4.create(),normMat=mat3.create(),viewMat3=mat3.create(),cjMatInv=mat4.create(),T=mat4.create(),center={x:0,y:0,z:0},shift={x:0,y:0},viewParam={xmin:0,xmax:0,ymin:0,ymax:0,zmin:0,zmax:0},remesh=!0,wireframe=0,mouseDownOrTouchActive=!1,lastMouseX=null,lastMouseY=null,touchID=null,Positions=[],Normals=[],Colors=[],Indices=[],IBLReflMap=null,IBLDiffuseMap=null,IBLbdrfMap=null;function IBLReady(){return null!==IBLReflMap&&null!==IBLDiffuseMap&&null!==IBLbdrfMap}function SetIBL(){embedded||deleteShaders(),initShaders(ibl)}let roughnessStepCount=8;class Material{constructor(e,t,i,a,n,r){this.diffuse=e,this.emissive=t,this.specular=i,this.shininess=a,this.metallic=n,this.fresnel0=r}setUniform(e,t){let i=i=>gl.getUniformLocation(e,"Materials["+t+"]."+i);gl.uniform4fv(i("diffuse"),new Float32Array(this.diffuse)),gl.uniform4fv(i("emissive"),new Float32Array(this.emissive)),gl.uniform4fv(i("specular"),new Float32Array(this.specular)),gl.uniform4f(i("parameters"),this.shininess,this.metallic,this.fresnel0,0)}}let indexExt,TRIANGLES,material0Data,material1Data,materialData,colorData,transparentData,triangleData,materialIndex,enumPointLight=1,enumDirectionalLight=2;class Light{constructor(e,t){this.direction=e,this.color=t}setUniform(e,t){let i=i=>gl.getUniformLocation(e,"Lights["+t+"]."+i);gl.uniform3fv(i("direction"),new Float32Array(this.direction)),gl.uniform3fv(i("color"),new Float32Array(this.color))}}function initShaders(e=!1){let t=gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS);maxMaterials=Math.floor((t-14)/4),Nmaterials=Math.min(Math.max(Nmaterials,Materials.length),maxMaterials),pixelOpt=["WIDTH"],materialOpt=["NORMAL"],colorOpt=["NORMAL","COLOR"],transparentOpt=["NORMAL","COLOR","TRANSPARENT"],e&&(materialOpt.push("USE_IBL"),transparentOpt.push("USE_IBL")),pixelShader=initShader(pixelOpt),materialShader=initShader(materialOpt),colorShader=initShader(colorOpt),transparentShader=initShader(transparentOpt)}function deleteShaders(){gl.deleteProgram(transparentShader),gl.deleteProgram(colorShader),gl.deleteProgram(materialShader),gl.deleteProgram(pixelShader)}function saveAttributes(){let e=window.top.document.asygl2[alpha];e.gl=gl,e.nlights=Lights.length,e.Nmaterials=Nmaterials,e.maxMaterials=maxMaterials,e.pixelShader=pixelShader,e.materialShader=materialShader,e.colorShader=colorShader,e.transparentShader=transparentShader}function restoreAttributes(){let e=window.top.document.asygl2[alpha];gl=e.gl,nlights=e.nlights,Nmaterials=e.Nmaterials,maxMaterials=e.maxMaterials,pixelShader=e.pixelShader,materialShader=e.materialShader,colorShader=e.colorShader,transparentShader=e.transparentShader}function webGL(e,t){let i;return ibl&&(webgl2=!0),webgl2&&(i=e.getContext("webgl2",{alpha:t})),i||(webgl2=!1,ibl=!1,i=e.getContext("webgl",{alpha:t})),i||alert("Could not initialize WebGL"),i}function initGL(){if(alpha=Background[3]<1,embedded){let e=window.top.document;null==e.asygl2&&(e.asygl2=Array(2)),context=canvas.getContext("2d"),offscreen2=e.offscreen2,offscreen2||(offscreen2=e.createElement("canvas"),e.offscreen2=offscreen2),e.asygl2[alpha]&&e.asygl2[alpha].gl?(restoreAttributes(),(Lights.length!=nlights||Math.min(Materials.length,maxMaterials)>Nmaterials)&&(initShaders(),saveAttributes())):(gl=webGL(offscreen2,alpha),initShaders(),e.asygl2[alpha]={},saveAttributes())}else gl=webGL(canvas,alpha),initShaders();indexExt=gl.getExtension("OES_element_index_uint"),TRIANGLES=gl.TRIANGLES,material0Data=new vertexBuffer(gl.POINTS),material1Data=new vertexBuffer(gl.LINES),materialData=new vertexBuffer,colorData=new vertexBuffer,transparentData=new vertexBuffer,triangleData=new vertexBuffer}function getShader(e,t,i,a=[]){let n=webgl2?"300 es":"100",r=Array(...a),s=[["nlights",0==wireframe?Lights.length:0],["Nmaterials",Nmaterials]],o=[["int","Nlights",Math.max(Lights.length,1)]];webgl2&&r.push("WEBGL2"),ibl&&s.push(["ROUGHNESS_STEP_COUNT",roughnessStepCount.toFixed(2)]),orthographic&&r.push("ORTHOGRAPHIC"),macros_str=s.map(e=>`#define ${e[0]} ${e[1]}`).join("\n"),define_str=r.map(e=>"#define "+e).join("\n"),const_str=o.map(e=>`const ${e[0]} ${e[1]}=${e[2]};`).join("\n"),ext_str=[].map(e=>`#extension ${e}: enable`).join("\n"),shaderSrc=`#version ${n}\n${ext_str}\n${define_str}\n${const_str}\n${macros_str}\n\n\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n \n${t}\n `;let l=e.createShader(i);return e.shaderSource(l,shaderSrc),e.compileShader(l),e.getShaderParameter(l,e.COMPILE_STATUS)?l:(alert(e.getShaderInfoLog(l)),null)}function registerBuffer(e,t,i,a=gl.ARRAY_BUFFER){return e.length>0&&(0==t&&(t=gl.createBuffer(),i=!0),gl.bindBuffer(a,t),i&&gl.bufferData(a,e,gl.STATIC_DRAW)),t}function drawBuffer(e,t,i=e.indices){if(0==e.indices.length)return;let a=t!=pixelShader;setUniforms(e,t),null!=IBLDiffuseMap&&(gl.activeTexture(gl.TEXTURE0),gl.bindTexture(gl.TEXTURE_2D,IBLbdrfMap),gl.uniform1i(gl.getUniformLocation(t,"reflBRDFSampler"),0),gl.activeTexture(gl.TEXTURE1),gl.bindTexture(gl.TEXTURE_2D,IBLDiffuseMap),gl.uniform1i(gl.getUniformLocation(t,"diffuseSampler"),1),gl.activeTexture(gl.TEXTURE2),gl.bindTexture(gl.TEXTURE_2D,IBLReflMap),gl.uniform1i(gl.getUniformLocation(t,"reflImgSampler"),2));let n=remesh||e.partial||!e.rendered;e.verticesBuffer=registerBuffer(new Float32Array(e.vertices),e.verticesBuffer,n),gl.vertexAttribPointer(positionAttribute,3,gl.FLOAT,!1,a?24:16,0),a?Lights.length>0&&gl.vertexAttribPointer(normalAttribute,3,gl.FLOAT,!1,24,12):gl.vertexAttribPointer(widthAttribute,1,gl.FLOAT,!1,16,12),e.materialsBuffer=registerBuffer(new Int16Array(e.materialIndices),e.materialsBuffer,n),gl.vertexAttribPointer(materialAttribute,1,gl.SHORT,!1,2,0),t!=colorShader&&t!=transparentShader||(e.colorsBuffer=registerBuffer(new Uint8Array(e.colors),e.colorsBuffer,n),gl.vertexAttribPointer(colorAttribute,4,gl.UNSIGNED_BYTE,!0,0,0)),e.indicesBuffer=registerBuffer(indexExt?new Uint32Array(i):new Uint16Array(i),e.indicesBuffer,n,gl.ELEMENT_ARRAY_BUFFER),e.rendered=!0,gl.drawElements(a?wireframe?gl.LINES:e.type:gl.POINTS,i.length,indexExt?gl.UNSIGNED_INT:gl.UNSIGNED_SHORT,0)}class vertexBuffer{constructor(e){this.type=e||TRIANGLES,this.verticesBuffer=0,this.materialsBuffer=0,this.colorsBuffer=0,this.indicesBuffer=0,this.rendered=!1,this.partial=!1,this.clear()}clear(){this.vertices=[],this.materialIndices=[],this.colors=[],this.indices=[],this.nvertices=0,this.materials=[],this.materialTable=[]}vertex(e,t){return this.vertices.push(e[0]),this.vertices.push(e[1]),this.vertices.push(e[2]),this.vertices.push(t[0]),this.vertices.push(t[1]),this.vertices.push(t[2]),this.materialIndices.push(materialIndex),this.nvertices++}Vertex(e,t,i=[0,0,0,0]){return this.vertices.push(e[0]),this.vertices.push(e[1]),this.vertices.push(e[2]),this.vertices.push(t[0]),this.vertices.push(t[1]),this.vertices.push(t[2]),this.materialIndices.push(materialIndex),this.colors.push(i[0]),this.colors.push(i[1]),this.colors.push(i[2]),this.colors.push(i[3]),this.nvertices++}vertex0(e,t){return this.vertices.push(e[0]),this.vertices.push(e[1]),this.vertices.push(e[2]),this.vertices.push(t),this.materialIndices.push(materialIndex),this.nvertices++}iVertex(e,t,i,a=[0,0,0,0]){let n=6*e;this.vertices[n]=t[0],this.vertices[n+1]=t[1],this.vertices[n+2]=t[2],this.vertices[n+3]=i[0],this.vertices[n+4]=i[1],this.vertices[n+5]=i[2],this.materialIndices[e]=materialIndex;let r=4*e;this.colors[r]=a[0],this.colors[r+1]=a[1],this.colors[r+2]=a[2],this.colors[r+3]=a[3],this.indices.push(e)}append(e){append(this.vertices,e.vertices),append(this.materialIndices,e.materialIndices),append(this.colors,e.colors),appendOffset(this.indices,e.indices,this.nvertices),this.nvertices+=e.nvertices}}function append(e,t){let i=e.length,a=t.length;e.length+=a;for(let n=0;n<a;++n)e[i+n]=t[n]}function appendOffset(e,t,i){let a=e.length,n=t.length;e.length+=t.length;for(let r=0;r<n;++r)e[a+r]=t[r]+i}class Geometry{constructor(){this.data=new vertexBuffer,this.Onscreen=!1,this.m=[]}offscreen(e){let t=projViewMat,i=e[0],a=i[0],n=i[1],r=i[2],s=1/(t[3]*a+t[7]*n+t[11]*r+t[15]);this.x=this.X=(t[0]*a+t[4]*n+t[8]*r+t[12])*s,this.y=this.Y=(t[1]*a+t[5]*n+t[9]*r+t[13])*s;for(let i=1,a=e.length;i<a;++i){let a=e[i],n=a[0],r=a[1],s=a[2],o=1/(t[3]*n+t[7]*r+t[11]*s+t[15]),l=(t[0]*n+t[4]*r+t[8]*s+t[12])*o,h=(t[1]*n+t[5]*r+t[9]*s+t[13])*o;l<this.x?this.x=l:l>this.X&&(this.X=l),h<this.y?this.y=h:h>this.Y&&(this.Y=h)}return(this.X<-1.01||this.x>1.01||this.Y<-1.01||this.y>1.01)&&(this.Onscreen=!1,!0)}T(e){let t=this.c[0],i=this.c[1],a=this.c[2],n=e[0]-t,r=e[1]-i,s=e[2]-a;return[n*normMat[0]+r*normMat[3]+s*normMat[6]+t,n*normMat[1]+r*normMat[4]+s*normMat[7]+i,n*normMat[2]+r*normMat[5]+s*normMat[8]+a]}Tcorners(e,t){return[this.T(e),this.T([e[0],e[1],t[2]]),this.T([e[0],t[1],e[2]]),this.T([e[0],t[1],t[2]]),this.T([t[0],e[1],e[2]]),this.T([t[0],e[1],t[2]]),this.T([t[0],t[1],e[2]]),this.T(t)]}setMaterial(e,t){null==e.materialTable[this.MaterialIndex]&&(e.materials.length>=Nmaterials&&(e.partial=!0,t()),e.materialTable[this.MaterialIndex]=e.materials.length,e.materials.push(Materials[this.MaterialIndex])),materialIndex=e.materialTable[this.MaterialIndex]}render(){let e;if(this.setMaterialIndex(),0==this.CenterIndex?e=corners(this.Min,this.Max):(this.c=Centers[this.CenterIndex-1],e=this.Tcorners(this.Min,this.Max)),this.offscreen(e))return this.data.clear(),void this.notRendered();let t,i=this.controlpoints;if(0==this.CenterIndex){if(!remesh&&this.Onscreen)return void this.append();t=i}else{let e=i.length;t=Array(e);for(let a=0;a<e;++a)t[a]=this.T(i[a])}let a=orthographic?1:this.Min[2]/maxBound[2],n=.75*Math.hypot(a*(viewParam.xmax-viewParam.xmin),a*(viewParam.ymax-viewParam.ymin))/size2;this.res2=n*n,this.Epsilon=.1*n,this.data.clear(),this.notRendered(),this.Onscreen=!0,this.process(t)}}class BezierPatch extends Geometry{constructor(e,t,i,a,n,r){super(),this.controlpoints=e,this.CenterIndex=t,this.MaterialIndex=i,this.Min=a,this.Max=n,this.color=r;let s=e.length;if(r){let e=r[0][3]+r[1][3]+r[2][3];this.transparent=16==s||4==s?e+r[3][3]<1020:e<765}else this.transparent=Materials[i].diffuse[3]<1;this.vertex=this.transparent?this.data.Vertex.bind(this.data):this.data.vertex.bind(this.data),this.L2norm(this.controlpoints)}setMaterialIndex(){this.transparent?this.setMaterial(transparentData,drawTransparent):this.color?this.setMaterial(colorData,drawColor):this.setMaterial(materialData,drawMaterial)}L2norm(e){let t=e[0];this.epsilon=0;let i=e.length;for(let a=1;a<i;++a)this.epsilon=Math.max(this.epsilon,abs2([e[a][0]-t[0],e[a][1]-t[1],e[a][2]-t[2]]));this.epsilon*=Number.EPSILON}processTriangle(e){let t=e[0],i=e[1],a=e[2],n=unit(cross([i[0]-t[0],i[1]-t[1],i[2]-t[2]],[a[0]-t[0],a[1]-t[1],a[2]-t[2]]));if(!this.offscreen([t,i,a])){let e,r,s;this.color?(e=this.data.Vertex(t,n,this.color[0]),r=this.data.Vertex(i,n,this.color[1]),s=this.data.Vertex(a,n,this.color[2])):(e=this.vertex(t,n),r=this.vertex(i,n),s=this.vertex(a,n)),0==wireframe?(this.data.indices.push(e),this.data.indices.push(r),this.data.indices.push(s)):(this.data.indices.push(e),this.data.indices.push(r),this.data.indices.push(r),this.data.indices.push(s),this.data.indices.push(s),this.data.indices.push(e)),this.append()}}processQuad(e){let t=e[0],i=e[1],a=e[2],n=e[3],r=cross([i[0]-t[0],i[1]-t[1],i[2]-t[2]],[a[0]-i[0],a[1]-i[1],a[2]-i[2]]),s=cross([a[0]-n[0],a[1]-n[1],a[2]-n[2]],[n[0]-t[0],n[1]-t[1],n[2]-t[2]]),o=unit([r[0]+s[0],r[1]+s[1],r[2]+s[2]]);if(!this.offscreen([t,i,a,n])){let e,r,s,l;this.color?(e=this.data.Vertex(t,o,this.color[0]),r=this.data.Vertex(i,o,this.color[1]),s=this.data.Vertex(a,o,this.color[2]),l=this.data.Vertex(n,o,this.color[3])):(e=this.vertex(t,o),r=this.vertex(i,o),s=this.vertex(a,o),l=this.vertex(n,o)),0==wireframe?(this.data.indices.push(e),this.data.indices.push(r),this.data.indices.push(s),this.data.indices.push(e),this.data.indices.push(s),this.data.indices.push(l)):(this.data.indices.push(e),this.data.indices.push(r),this.data.indices.push(r),this.data.indices.push(s),this.data.indices.push(s),this.data.indices.push(l),this.data.indices.push(l),this.data.indices.push(e)),this.append()}}curve(e,t,i,a,n){new BezierCurve([e[t],e[i],e[a],e[n]],0,materialIndex,this.Min,this.Max).render()}process(e){if(this.transparent&&1!=wireframe&&(materialIndex=this.color?-1-materialIndex:1+materialIndex),10==e.length)return this.process3(e);if(3==e.length)return this.processTriangle(e);if(4==e.length)return this.processQuad(e);if(1==wireframe)return this.curve(e,0,4,8,12),this.curve(e,12,13,14,15),this.curve(e,15,11,7,3),void this.curve(e,3,2,1,0);let t=e[0],i=e[3],a=e[12],n=e[15],r=this.normal(i,e[2],e[1],t,e[4],e[8],a);abs2(r)<this.epsilon&&(r=this.normal(i,e[2],e[1],t,e[13],e[14],n),abs2(r)<this.epsilon&&(r=this.normal(n,e[11],e[7],i,e[4],e[8],a)));let s=this.normal(t,e[4],e[8],a,e[13],e[14],n);abs2(s)<this.epsilon&&(s=this.normal(t,e[4],e[8],a,e[11],e[7],i),abs2(s)<this.epsilon&&(s=this.normal(i,e[2],e[1],t,e[13],e[14],n)));let o=this.normal(a,e[13],e[14],n,e[11],e[7],i);abs2(o)<this.epsilon&&(o=this.normal(a,e[13],e[14],n,e[2],e[1],t),abs2(o)<this.epsilon&&(o=this.normal(t,e[4],e[8],a,e[11],e[7],i)));let l=this.normal(n,e[11],e[7],i,e[2],e[1],t);if(abs2(l)<this.epsilon&&(l=this.normal(n,e[11],e[7],i,e[4],e[8],a),abs2(l)<this.epsilon&&(l=this.normal(a,e[13],e[14],n,e[2],e[1],t))),this.color){let h=this.color[0],c=this.color[1],d=this.color[2],m=this.color[3],f=this.data.Vertex(t,r,h),u=this.data.Vertex(a,s,c),p=this.data.Vertex(n,o,d),g=this.data.Vertex(i,l,m);this.Render(e,f,u,p,g,t,a,n,i,!1,!1,!1,!1,h,c,d,m)}else{let h=this.vertex(t,r),c=this.vertex(a,s),d=this.vertex(n,o),m=this.vertex(i,l);this.Render(e,h,c,d,m,t,a,n,i,!1,!1,!1,!1)}this.data.indices.length>0&&this.append()}append(){this.transparent?transparentData.append(this.data):this.color?colorData.append(this.data):materialData.append(this.data)}notRendered(){this.transparent?transparentData.rendered=!1:this.color?colorData.rendered=!1:materialData.rendered=!1}Render(e,t,i,a,n,r,s,o,l,h,c,d,m,f,u,p,g){let v=this.Distance(e);if(v[0]<this.res2&&v[1]<this.res2)this.offscreen([r,s,o])||(0==wireframe?(this.data.indices.push(t),this.data.indices.push(i),this.data.indices.push(a)):(this.data.indices.push(t),this.data.indices.push(i),this.data.indices.push(i),this.data.indices.push(a))),this.offscreen([r,o,l])||(0==wireframe?(this.data.indices.push(t),this.data.indices.push(a),this.data.indices.push(n)):(this.data.indices.push(a),this.data.indices.push(n),this.data.indices.push(n),this.data.indices.push(t)));else{if(this.offscreen(e))return;let x=e[0],w=e[3],M=e[12],b=e[15];if(v[0]<this.res2){let v=new Split3(x,e[1],e[2],w),T=new Split3(e[4],e[5],e[6],e[7]),S=new Split3(e[8],e[9],e[10],e[11]),R=new Split3(M,e[13],e[14],b),I=[x,v.m0,v.m3,v.m5,e[4],T.m0,T.m3,T.m5,e[8],S.m0,S.m3,S.m5,M,R.m0,R.m3,R.m5],A=[v.m5,v.m4,v.m2,w,T.m5,T.m4,T.m2,e[7],S.m5,S.m4,S.m2,e[11],R.m5,R.m4,R.m2,b],E=this.normal(I[12],I[13],I[14],I[15],I[11],I[7],I[3]);abs2(E)<=this.epsilon&&(E=this.normal(I[12],I[13],I[14],I[15],I[2],I[1],I[0]),abs2(E)<=this.epsilon&&(E=this.normal(I[0],I[4],I[8],I[12],I[11],I[7],I[3])));let P=this.normal(A[3],A[2],A[1],A[0],A[4],A[8],A[12]);abs2(P)<=this.epsilon&&(P=this.normal(A[3],A[2],A[1],A[0],A[13],A[14],A[15]),abs2(P)<=this.epsilon&&(P=this.normal(A[15],A[11],A[7],A[3],A[4],A[8],A[12])));let L=this.Epsilon,D=[.5*(s[0]+o[0]),.5*(s[1]+o[1]),.5*(s[2]+o[2])];if(!c)if(c=Straightness(M,e[13],e[14],b)<this.res2){let e=unit(this.differential(A[12],A[8],A[4],A[0]));D=[D[0]-L*e[0],D[1]-L*e[1],D[2]-L*e[2]]}else D=I[15];let y=[.5*(l[0]+r[0]),.5*(l[1]+r[1]),.5*(l[2]+r[2])];if(!m)if(m=Straightness(x,e[1],e[2],w)<this.res2){let e=unit(this.differential(I[3],I[7],I[11],I[15]));y=[y[0]-L*e[0],y[1]-L*e[1],y[2]-L*e[2]]}else y=A[0];if(f){let e=Array(4),v=Array(4);for(let t=0;t<4;++t)e[t]=.5*(u[t]+p[t]),v[t]=.5*(g[t]+f[t]);let x=this.data.Vertex(D,E,e),w=this.data.Vertex(y,P,v);this.Render(I,t,i,x,w,r,s,D,y,h,c,!1,m,f,u,e,v),this.Render(A,w,x,a,n,y,D,o,l,!1,c,d,m,v,e,p,g)}else{let e=this.vertex(D,E),f=this.vertex(y,P);this.Render(I,t,i,e,f,r,s,D,y,h,c,!1,m),this.Render(A,f,e,a,n,y,D,o,l,!1,c,d,m)}return}if(v[1]<this.res2){let v=new Split3(x,e[4],e[8],M),T=new Split3(e[1],e[5],e[9],e[13]),S=new Split3(e[2],e[6],e[10],e[14]),R=new Split3(w,e[7],e[11],b),I=[x,e[1],e[2],w,v.m0,T.m0,S.m0,R.m0,v.m3,T.m3,S.m3,R.m3,v.m5,T.m5,S.m5,R.m5],A=[v.m5,T.m5,S.m5,R.m5,v.m4,T.m4,S.m4,R.m4,v.m2,T.m2,S.m2,R.m2,M,e[13],e[14],b],E=this.normal(I[0],I[4],I[8],I[12],I[13],I[14],I[15]);abs2(E)<=this.epsilon&&(E=this.normal(I[0],I[4],I[8],I[12],I[11],I[7],I[3]),abs2(E)<=this.epsilon&&(E=this.normal(I[3],I[2],I[1],I[0],I[13],I[14],I[15])));let P=this.normal(A[15],A[11],A[7],A[3],A[2],A[1],A[0]);abs2(P)<=this.epsilon&&(P=this.normal(A[15],A[11],A[7],A[3],A[4],A[8],A[12]),abs2(P)<=this.epsilon&&(P=this.normal(A[12],A[13],A[14],A[15],A[2],A[1],A[0])));let L=this.Epsilon,D=[.5*(r[0]+s[0]),.5*(r[1]+s[1]),.5*(r[2]+s[2])];if(!h)if(h=Straightness(x,e[4],e[8],M)<this.res2){let e=unit(this.differential(A[0],A[1],A[2],A[3]));D=[D[0]-L*e[0],D[1]-L*e[1],D[2]-L*e[2]]}else D=I[12];let y=[.5*(o[0]+l[0]),.5*(o[1]+l[1]),.5*(o[2]+l[2])];if(!d)if(d=Straightness(b,e[11],e[7],w)<this.res2){let e=unit(this.differential(I[15],I[14],I[13],I[12]));y=[y[0]-L*e[0],y[1]-L*e[1],y[2]-L*e[2]]}else y=A[3];if(f){let e=Array(4),v=Array(4);for(let t=0;t<4;++t)e[t]=.5*(f[t]+u[t]),v[t]=.5*(p[t]+g[t]);let x=this.data.Vertex(D,E,e),w=this.data.Vertex(y,P,v);this.Render(I,t,x,w,n,r,D,y,l,h,!1,d,m,f,e,v,g),this.Render(A,x,i,a,w,D,s,o,y,h,c,d,!1,e,u,p,v)}else{let e=this.vertex(D,E),f=this.vertex(y,P);this.Render(I,t,e,f,n,r,D,y,l,h,!1,d,m),this.Render(A,e,i,a,f,D,s,o,y,h,c,d,!1)}return}let T=new Split3(x,e[1],e[2],w),S=new Split3(e[4],e[5],e[6],e[7]),R=new Split3(e[8],e[9],e[10],e[11]),I=new Split3(M,e[13],e[14],b),A=new Split3(x,e[4],e[8],M),E=new Split3(T.m0,S.m0,R.m0,I.m0),P=new Split3(T.m3,S.m3,R.m3,I.m3),L=new Split3(T.m5,S.m5,R.m5,I.m5),D=new Split3(T.m4,S.m4,R.m4,I.m4),y=new Split3(T.m2,S.m2,R.m2,I.m2),O=new Split3(w,e[7],e[11],b),B=[x,T.m0,T.m3,T.m5,A.m0,E.m0,P.m0,L.m0,A.m3,E.m3,P.m3,L.m3,A.m5,E.m5,P.m5,L.m5],N=[A.m5,E.m5,P.m5,L.m5,A.m4,E.m4,P.m4,L.m4,A.m2,E.m2,P.m2,L.m2,M,I.m0,I.m3,I.m5],z=[L.m5,D.m5,y.m5,O.m5,L.m4,D.m4,y.m4,O.m4,L.m2,D.m2,y.m2,O.m2,I.m5,I.m4,I.m2,b],_=[T.m5,T.m4,T.m2,w,L.m0,D.m0,y.m0,O.m0,L.m3,D.m3,y.m3,O.m3,L.m5,D.m5,y.m5,O.m5],C=B[15],V=this.normal(B[0],B[4],B[8],B[12],B[13],B[14],B[15]);abs2(V)<this.epsilon&&(V=this.normal(B[0],B[4],B[8],B[12],B[11],B[7],B[3]),abs2(V)<this.epsilon&&(V=this.normal(B[3],B[2],B[1],B[0],B[13],B[14],B[15])));let U=this.normal(N[12],N[13],N[14],N[15],N[11],N[7],N[3]);abs2(U)<this.epsilon&&(U=this.normal(N[12],N[13],N[14],N[15],N[2],N[1],N[0]),abs2(U)<this.epsilon&&(U=this.normal(N[0],N[4],N[8],N[12],N[11],N[7],N[3])));let H=this.normal(z[15],z[11],z[7],z[3],z[2],z[1],z[0]);abs2(H)<this.epsilon&&(H=this.normal(z[15],z[11],z[7],z[3],z[4],z[8],z[12]),abs2(H)<this.epsilon&&(H=this.normal(z[12],z[13],z[14],z[15],z[2],z[1],z[0])));let F=this.normal(_[3],_[2],_[1],_[0],_[4],_[8],_[12]);abs2(F)<this.epsilon&&(F=this.normal(_[3],_[2],_[1],_[0],_[13],_[14],_[15]),abs2(F)<this.epsilon&&(F=this.normal(_[15],_[11],_[7],_[3],_[4],_[8],_[12])));let G=this.normal(z[3],z[2],z[1],C,z[4],z[8],z[12]),X=this.Epsilon,W=[.5*(r[0]+s[0]),.5*(r[1]+s[1]),.5*(r[2]+s[2])];if(!h)if(h=Straightness(x,e[4],e[8],M)<this.res2){let e=unit(this.differential(N[0],N[1],N[2],N[3]));W=[W[0]-X*e[0],W[1]-X*e[1],W[2]-X*e[2]]}else W=B[12];let j=[.5*(s[0]+o[0]),.5*(s[1]+o[1]),.5*(s[2]+o[2])];if(!c)if(c=Straightness(M,e[13],e[14],b)<this.res2){let e=unit(this.differential(z[12],z[8],z[4],z[0]));j=[j[0]-X*e[0],j[1]-X*e[1],j[2]-X*e[2]]}else j=N[15];let Z=[.5*(o[0]+l[0]),.5*(o[1]+l[1]),.5*(o[2]+l[2])];if(!d)if(d=Straightness(b,e[11],e[7],w)<this.res2){let e=unit(this.differential(_[15],_[14],_[13],_[12]));Z=[Z[0]-X*e[0],Z[1]-X*e[1],Z[2]-X*e[2]]}else Z=z[3];let k=[.5*(l[0]+r[0]),.5*(l[1]+r[1]),.5*(l[2]+r[2])];if(!m)if(m=Straightness(x,e[1],e[2],w)<this.res2){let e=unit(this.differential(B[3],B[7],B[11],B[15]));k=[k[0]-X*e[0],k[1]-X*e[1],k[2]-X*e[2]]}else k=_[0];if(f){let e=Array(4),v=Array(4),x=Array(4),w=Array(4),M=Array(4);for(let t=0;t<4;++t)e[t]=.5*(f[t]+u[t]),v[t]=.5*(u[t]+p[t]),x[t]=.5*(p[t]+g[t]),w[t]=.5*(g[t]+f[t]),M[t]=.5*(e[t]+x[t]);let b=this.data.Vertex(W,V,e),T=this.data.Vertex(j,U,v),S=this.data.Vertex(Z,H,x),R=this.data.Vertex(k,F,w),I=this.data.Vertex(C,G,M);this.Render(B,t,b,I,R,r,W,C,k,h,!1,!1,m,f,e,M,w),this.Render(N,b,i,T,I,W,s,j,C,h,c,!1,!1,e,u,v,M),this.Render(z,I,T,a,S,C,j,o,Z,!1,c,d,!1,M,v,p,x),this.Render(_,R,I,S,n,k,C,Z,l,!1,!1,d,m,w,M,x,g)}else{let e=this.vertex(W,V),f=this.vertex(j,U),u=this.vertex(Z,H),p=this.vertex(k,F),g=this.vertex(C,G);this.Render(B,t,e,g,p,r,W,C,k,h,!1,!1,m),this.Render(N,e,i,f,g,W,s,j,C,h,c,!1,!1),this.Render(z,g,f,a,u,C,j,o,Z,!1,c,d,!1),this.Render(_,p,g,u,n,k,C,Z,l,!1,!1,d,m)}}}process3(e){if(1==wireframe)return this.curve(e,0,1,3,6),this.curve(e,6,7,8,9),void this.curve(e,9,5,2,0);let t=e[0],i=e[6],a=e[9],n=this.normal(a,e[5],e[2],t,e[1],e[3],i),r=this.normal(t,e[1],e[3],i,e[7],e[8],a),s=this.normal(i,e[7],e[8],a,e[5],e[2],t);if(this.color){let o=this.color[0],l=this.color[1],h=this.color[2],c=this.data.Vertex(t,n,o),d=this.data.Vertex(i,r,l),m=this.data.Vertex(a,s,h);this.Render3(e,c,d,m,t,i,a,!1,!1,!1,o,l,h)}else{let o=this.vertex(t,n),l=this.vertex(i,r),h=this.vertex(a,s);this.Render3(e,o,l,h,t,i,a,!1,!1,!1)}this.data.indices.length>0&&this.append()}Render3(e,t,i,a,n,r,s,o,l,h,c,d,m){if(this.Distance3(e)<this.res2)this.offscreen([n,r,s])||(0==wireframe?(this.data.indices.push(t),this.data.indices.push(i),this.data.indices.push(a)):(this.data.indices.push(t),this.data.indices.push(i),this.data.indices.push(i),this.data.indices.push(a),this.data.indices.push(a),this.data.indices.push(t)));else{if(this.offscreen(e))return;let f=e[0],u=e[1],p=e[2],g=e[3],v=e[4],x=e[5],w=e[6],M=e[7],b=e[8],T=e[9],S=[.5*(T[0]+x[0]),.5*(T[1]+x[1]),.5*(T[2]+x[2])],R=[.5*(T[0]+b[0]),.5*(T[1]+b[1]),.5*(T[2]+b[2])],I=[.5*(x[0]+p[0]),.5*(x[1]+p[1]),.5*(x[2]+p[2])],A=[.5*(b[0]+v[0]),.5*(b[1]+v[1]),.5*(b[2]+v[2])],E=[.5*(b[0]+M[0]),.5*(b[1]+M[1]),.5*(b[2]+M[2])],P=[.5*(p[0]+v[0]),.5*(p[1]+v[1]),.5*(p[2]+v[2])],L=[.5*(p[0]+f[0]),.5*(p[1]+f[1]),.5*(p[2]+f[2])],D=[.5*(v[0]+g[0]),.5*(v[1]+g[1]),.5*(v[2]+g[2])],y=[.5*(M[0]+w[0]),.5*(M[1]+w[1]),.5*(M[2]+w[2])],O=[.5*(f[0]+u[0]),.5*(f[1]+u[1]),.5*(f[2]+u[2])],B=[.5*(u[0]+g[0]),.5*(u[1]+g[1]),.5*(u[2]+g[2])],N=[.5*(g[0]+w[0]),.5*(g[1]+w[1]),.5*(g[2]+w[2])],z=[.5*(S[0]+I[0]),.5*(S[1]+I[1]),.5*(S[2]+I[2])],_=[.5*(R[0]+E[0]),.5*(R[1]+E[1]),.5*(R[2]+E[2])],C=[.5*(I[0]+L[0]),.5*(I[1]+L[1]),.5*(I[2]+L[2])],V=[.5*A[0]+.25*(v[0]+u[0]),.5*A[1]+.25*(v[1]+u[1]),.5*A[2]+.25*(v[2]+u[2])],U=[.5*(E[0]+y[0]),.5*(E[1]+y[1]),.5*(E[2]+y[2])],H=[.5*P[0]+.25*(v[0]+M[0]),.5*P[1]+.25*(v[1]+M[1]),.5*P[2]+.25*(v[2]+M[2])],F=[.25*(x[0]+v[0])+.5*D[0],.25*(x[1]+v[1])+.5*D[1],.25*(x[2]+v[2])+.5*D[2]],G=[.5*(O[0]+B[0]),.5*(O[1]+B[1]),.5*(O[2]+B[2])],X=[.5*(B[0]+N[0]),.5*(B[1]+N[1]),.5*(B[2]+N[2])],W=[.5*(H[0]+G[0]),.5*(H[1]+G[1]),.5*(H[2]+G[2])],j=[.5*(H[0]+X[0]),.5*(H[1]+X[1]),.5*(H[2]+X[2])],Z=[.5*(G[0]+X[0]),.5*(G[1]+X[1]),.5*(G[2]+X[2])],k=[.5*(F[0]+U[0]),.5*(F[1]+U[1]),.5*(F[2]+U[2])],Y=[.5*(_[0]+F[0]),.5*(_[1]+F[1]),.5*(_[2]+F[2])],q=[.5*(_[0]+U[0]),.5*(_[1]+U[1]),.5*(_[2]+U[2])],$=[.5*(z[0]+V[0]),.5*(z[1]+V[1]),.5*(z[2]+V[2])],K=[.5*(C[0]+V[0]),.5*(C[1]+V[1]),.5*(C[2]+V[2])],Q=[.5*(z[0]+C[0]),.5*(z[1]+C[1]),.5*(z[2]+C[2])],J=[f,O,L,G,[.5*(P[0]+O[0]),.5*(P[1]+O[1]),.5*(P[2]+O[2])],C,Z,W,K,Q],ee=[Z,X,j,N,[.5*(D[0]+y[0]),.5*(D[1]+y[1]),.5*(D[2]+y[2])],k,w,y,U,q],te=[Q,$,z,Y,[.5*(S[0]+A[0]),.5*(S[1]+A[1]),.5*(S[2]+A[2])],S,q,_,R,T],ie=[q,Y,k,$,[.25*(I[0]+E[0]+B[0]+v[0]),.25*(I[1]+E[1]+B[1]+v[1]),.25*(I[2]+E[2]+B[2]+v[2])],j,Q,K,W,Z],ae=this.normal(Z,j,k,q,Y,$,Q),ne=this.normal(q,Y,$,Q,K,W,Z),re=this.normal(Q,K,W,Z,j,k,q),se=this.Epsilon,oe=[.5*(r[0]+s[0]),.5*(r[1]+s[1]),.5*(r[2]+s[2])];if(!o)if(o=Straightness(w,M,b,T)<this.res2){let e=unit(this.sumdifferential(ie[0],ie[2],ie[5],ie[9],ie[1],ie[3],ie[6]));oe=[oe[0]-se*e[0],oe[1]-se*e[1],oe[2]-se*e[2]]}else oe=q;let le=[.5*(s[0]+n[0]),.5*(s[1]+n[1]),.5*(s[2]+n[2])];if(!l)if(l=Straightness(f,p,x,T)<this.res2){let e=unit(this.sumdifferential(ie[6],ie[3],ie[1],ie[0],ie[7],ie[8],ie[9]));le=[le[0]-se*e[0],le[1]-se*e[1],le[2]-se*e[2]]}else le=Q;let he=[.5*(n[0]+r[0]),.5*(n[1]+r[1]),.5*(n[2]+r[2])];if(!h)if(h=Straightness(f,u,g,w)<this.res2){let e=unit(this.sumdifferential(ie[9],ie[8],ie[7],ie[6],ie[5],ie[2],ie[0]));he=[he[0]-se*e[0],he[1]-se*e[1],he[2]-se*e[2]]}else he=Z;if(c){let e=Array(4),f=Array(4),u=Array(4);for(let t=0;t<4;++t)e[t]=.5*(d[t]+m[t]),f[t]=.5*(m[t]+c[t]),u[t]=.5*(c[t]+d[t]);let p=this.data.Vertex(oe,ae,e),g=this.data.Vertex(le,ne,f),v=this.data.Vertex(he,re,u);this.Render3(J,t,v,g,n,he,le,!1,l,h,c,u,f),this.Render3(ee,v,i,p,he,r,oe,o,!1,h,u,d,e),this.Render3(te,g,p,a,le,oe,s,o,l,!1,f,e,m),this.Render3(ie,p,g,v,oe,le,he,!1,!1,!1,e,f,u)}else{let e=this.vertex(oe,ae),c=this.vertex(le,ne),d=this.vertex(he,re);this.Render3(J,t,d,c,n,he,le,!1,l,h),this.Render3(ee,d,i,e,he,r,oe,o,!1,h),this.Render3(te,c,e,a,le,oe,s,o,l,!1),this.Render3(ie,e,c,d,oe,le,he,!1,!1,!1)}}}Distance(e){let t=e[0],i=e[3],a=e[12],n=e[15],r=Flatness(t,a,i,n);r=Math.max(Straightness(t,e[4],e[8],a)),r=Math.max(r,Straightness(e[1],e[5],e[9],e[13])),r=Math.max(r,Straightness(i,e[7],e[11],n)),r=Math.max(r,Straightness(e[2],e[6],e[10],e[14]));let s=Flatness(t,i,a,n);return s=Math.max(s,Straightness(t,e[1],e[2],i)),s=Math.max(s,Straightness(e[4],e[5],e[6],e[7])),s=Math.max(s,Straightness(e[8],e[9],e[10],e[11])),s=Math.max(s,Straightness(a,e[13],e[14],n)),[r,s]}Distance3(e){let t=e[0],i=e[4],a=e[6],n=e[9],r=abs2([(t[0]+a[0]+n[0])*(1/3)-i[0],(t[1]+a[1]+n[1])*(1/3)-i[1],(t[2]+a[2]+n[2])*(1/3)-i[2]]);return r=Math.max(r,Straightness(t,e[1],e[3],a)),r=Math.max(r,Straightness(t,e[2],e[5],n)),Math.max(r,Straightness(a,e[7],e[8],n))}differential(e,t,i,a){let n=[3*(t[0]-e[0]),3*(t[1]-e[1]),3*(t[2]-e[2])];return abs2(n)>this.epsilon?n:(n=bezierPP(e,t,i),abs2(n)>this.epsilon?n:bezierPPP(e,t,i,a))}sumdifferential(e,t,i,a,n,r,s){let o=this.differential(e,t,i,a),l=this.differential(e,n,r,s);return[o[0]+l[0],o[1]+l[1],o[2]+l[2]]}normal(e,t,i,a,n,r,s){let o=3*(n[0]-a[0]),l=3*(n[1]-a[1]),h=3*(n[2]-a[2]),c=3*(i[0]-a[0]),d=3*(i[1]-a[1]),m=3*(i[2]-a[2]),f=[l*m-h*d,h*c-o*m,o*d-l*c];if(abs2(f)>this.epsilon)return f;let u=[c,d,m],p=[o,l,h],g=bezierPP(a,i,t),v=bezierPP(a,n,r),x=cross(v,u),w=cross(p,g);if(f=[x[0]+w[0],x[1]+w[1],x[2]+w[2]],abs2(f)>this.epsilon)return f;let M=bezierPPP(a,i,t,e),b=bezierPPP(a,n,r,s);x=cross(p,M),w=cross(b,u);let T=cross(v,g);return f=[x[0]+w[0]+T[0],x[1]+w[1]+T[1],x[2]+w[2]+T[2]],abs2(f)>this.epsilon?f:(x=cross(b,g),w=cross(v,M),f=[x[0]+w[0],x[1]+w[1],x[2]+w[2]],abs2(f)>this.epsilon?f:cross(b,M))}}class BezierCurve extends Geometry{constructor(e,t,i,a,n){super(),this.controlpoints=e,this.CenterIndex=t,this.MaterialIndex=i,this.Min=a,this.Max=n}setMaterialIndex(){this.setMaterial(material1Data,drawMaterial1)}processLine(e){let t=e[0],i=e[1];if(!this.offscreen([t,i])){let e=[0,0,1];this.data.indices.push(this.data.vertex(t,e)),this.data.indices.push(this.data.vertex(i,e)),this.append()}}process(e){if(2==e.length)return this.processLine(e);let t=e[0],i=e[1],a=e[2],n=e[3],r=this.normal(bezierP(t,i),bezierPP(t,i,a)),s=this.normal(bezierP(a,n),bezierPP(n,a,i)),o=this.data.vertex(t,r),l=this.data.vertex(n,s);this.Render(e,o,l),this.data.indices.length>0&&this.append()}append(){material1Data.append(this.data)}notRendered(){material1Data.rendered=!1}Render(e,t,i){let a=e[0],n=e[1],r=e[2],s=e[3];if(Straightness(a,n,r,s)<this.res2)this.offscreen([a,s])||(this.data.indices.push(t),this.data.indices.push(i));else{if(this.offscreen(e))return;let o=[.5*(a[0]+n[0]),.5*(a[1]+n[1]),.5*(a[2]+n[2])],l=[.5*(n[0]+r[0]),.5*(n[1]+r[1]),.5*(n[2]+r[2])],h=[.5*(r[0]+s[0]),.5*(r[1]+s[1]),.5*(r[2]+s[2])],c=[.5*(o[0]+l[0]),.5*(o[1]+l[1]),.5*(o[2]+l[2])],d=[.5*(l[0]+h[0]),.5*(l[1]+h[1]),.5*(l[2]+h[2])],m=[.5*(c[0]+d[0]),.5*(c[1]+d[1]),.5*(c[2]+d[2])],f=[a,o,c,m],u=[m,d,h,s],p=this.normal(bezierPh(a,n,r,s),bezierPPh(a,n,r,s)),g=this.data.vertex(m,p);this.Render(f,t,g),this.Render(u,g,i)}}normal(e,t){let i=dot(e,e),a=dot(e,t);return[i*t[0]-a*e[0],i*t[1]-a*e[1],i*t[2]-a*e[2]]}}class Pixel extends Geometry{constructor(e,t,i,a,n){super(),this.controlpoint=e,this.width=t,this.CenterIndex=0,this.MaterialIndex=i,this.Min=a,this.Max=n}setMaterialIndex(){this.setMaterial(material0Data,drawMaterial0)}process(e){this.data.indices.push(this.data.vertex0(this.controlpoint,this.width)),this.append()}append(){material0Data.append(this.data)}notRendered(){material0Data.rendered=!1}}class Triangles extends Geometry{constructor(e,t,i,a){super(),this.CenterIndex=e,this.MaterialIndex=t,this.Min=i,this.Max=a,this.controlpoints=Positions,this.Normals=Normals,this.Colors=Colors,this.Indices=Indices,Positions=[],Normals=[],Colors=[],Indices=[],this.transparent=Materials[this.MaterialIndex].diffuse[3]<1}setMaterialIndex(){this.transparent?this.setMaterial(transparentData,drawTransparent):this.setMaterial(triangleData,drawTriangle)}process(e){this.data.vertices=new Array(6*e.length),materialIndex=this.Colors.length>0?-1-materialIndex:1+materialIndex;for(let t=0,i=this.Indices.length;t<i;++t){let i=this.Indices[t],a=i[0],n=e[a[0]],r=e[a[1]],s=e[a[2]];if(!this.offscreen([n,r,s])){let e=i.length>1?i[1]:a;if(e&&0!=e.length||(e=a),this.Colors.length>0){let t=i.length>2?i[2]:a;t&&0!=t.length||(t=a);let o=this.Colors[t[0]],l=this.Colors[t[1]],h=this.Colors[t[2]];this.transparent|=o[3]+l[3]+h[3]<765,0==wireframe?(this.data.iVertex(a[0],n,this.Normals[e[0]],o),this.data.iVertex(a[1],r,this.Normals[e[1]],l),this.data.iVertex(a[2],s,this.Normals[e[2]],h)):(this.data.iVertex(a[0],n,this.Normals[e[0]],o),this.data.iVertex(a[1],r,this.Normals[e[1]],l),this.data.iVertex(a[1],r,this.Normals[e[1]],l),this.data.iVertex(a[2],s,this.Normals[e[2]],h),this.data.iVertex(a[2],s,this.Normals[e[2]],h),this.data.iVertex(a[0],n,this.Normals[e[0]],o))}else 0==wireframe?(this.data.iVertex(a[0],n,this.Normals[e[0]]),this.data.iVertex(a[1],r,this.Normals[e[1]]),this.data.iVertex(a[2],s,this.Normals[e[2]])):(this.data.iVertex(a[0],n,this.Normals[e[0]]),this.data.iVertex(a[1],r,this.Normals[e[1]]),this.data.iVertex(a[1],r,this.Normals[e[1]]),this.data.iVertex(a[2],s,this.Normals[e[2]]),this.data.iVertex(a[2],s,this.Normals[e[2]]),this.data.iVertex(a[0],n,this.Normals[e[0]]))}}this.data.nvertices=e.length,this.data.indices.length>0&&this.append()}append(){this.transparent?transparentData.append(this.data):triangleData.append(this.data)}notRendered(){this.transparent?transparentData.rendered=!1:triangleData.rendered=!1}}function redrawScene(){initProjection(),setProjection(),remesh=!0,drawScene()}function home(){mat4.identity(rotMat),redrawScene()}let positionAttribute=0,normalAttribute=1,materialAttribute=2,colorAttribute=3,widthAttribute=4;function initShader(e=[]){let t=getShader(gl,vertex,gl.VERTEX_SHADER,e),i=getShader(gl,fragment,gl.FRAGMENT_SHADER,e),a=gl.createProgram();return gl.attachShader(a,t),gl.attachShader(a,i),gl.bindAttribLocation(a,positionAttribute,"position"),gl.bindAttribLocation(a,normalAttribute,"normal"),gl.bindAttribLocation(a,materialAttribute,"materialIndex"),gl.bindAttribLocation(a,colorAttribute,"color"),gl.bindAttribLocation(a,widthAttribute,"width"),gl.linkProgram(a),gl.getProgramParameter(a,gl.LINK_STATUS)||alert("Could not initialize shaders"),a}class Split3{constructor(e,t,i,a){this.m0=[.5*(e[0]+t[0]),.5*(e[1]+t[1]),.5*(e[2]+t[2])];let n=.5*(t[0]+i[0]),r=.5*(t[1]+i[1]),s=.5*(t[2]+i[2]);this.m2=[.5*(i[0]+a[0]),.5*(i[1]+a[1]),.5*(i[2]+a[2])],this.m3=[.5*(this.m0[0]+n),.5*(this.m0[1]+r),.5*(this.m0[2]+s)],this.m4=[.5*(n+this.m2[0]),.5*(r+this.m2[1]),.5*(s+this.m2[2])],this.m5=[.5*(this.m3[0]+this.m4[0]),.5*(this.m3[1]+this.m4[1]),.5*(this.m3[2]+this.m4[2])]}}function unit(e){let t=1/(Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1);return[e[0]*t,e[1]*t,e[2]*t]}function abs2(e){return e[0]*e[0]+e[1]*e[1]+e[2]*e[2]}function dot(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function cross(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function bezierP(e,t){return[t[0]-e[0],t[1]-e[1],t[2]-e[2]]}function bezierPP(e,t,i){return[3*(e[0]+i[0])-6*t[0],3*(e[1]+i[1])-6*t[1],3*(e[2]+i[2])-6*t[2]]}function bezierPPP(e,t,i,a){return[a[0]-e[0]+3*(t[0]-i[0]),a[1]-e[1]+3*(t[1]-i[1]),a[2]-e[2]+3*(t[2]-i[2])]}function bezierPh(e,t,i,a){return[i[0]+a[0]-e[0]-t[0],i[1]+a[1]-e[1]-t[1],i[2]+a[2]-e[2]-t[2]]}function bezierPPh(e,t,i,a){return[3*e[0]-5*t[0]+i[0]+a[0],3*e[1]-5*t[1]+i[1]+a[1],3*e[2]-5*t[2]+i[2]+a[2]]}function Straightness(e,t,i,a){let n=[1/3*(a[0]-e[0]),1/3*(a[1]-e[1]),1/3*(a[2]-e[2])];return Math.max(abs2([t[0]-n[0]-e[0],t[1]-n[1]-e[1],t[2]-n[2]-e[2]]),abs2([a[0]-n[0]-i[0],a[1]-n[1]-i[1],a[2]-n[2]-i[2]]))}function Flatness(e,t,i,a){let n=[t[0]-e[0],t[1]-e[1],t[2]-e[2]],r=[a[0]-i[0],a[1]-i[1],a[2]-i[2]];return Math.max(abs2(cross(n,unit(r))),abs2(cross(r,unit(n))))/9}function corners(e,t){return[e,[e[0],e[1],t[2]],[e[0],t[1],e[2]],[e[0],t[1],t[2]],[t[0],e[1],e[2]],[t[0],e[1],t[2]],[t[0],t[1],e[2]],t]}function minbound(e){return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0],e[4][0],e[5][0],e[6][0],e[7][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1],e[4][1],e[5][1],e[6][1],e[7][1]),Math.min(e[0][2],e[1][2],e[2][2],e[3][2],e[4][2],e[5][2],e[6][2],e[7][2])]}function maxbound(e){return[Math.max(e[0][0],e[1][0],e[2][0],e[3][0],e[4][0],e[5][0],e[6][0],e[7][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1],e[4][1],e[5][1],e[6][1],e[7][1]),Math.max(e[0][2],e[1][2],e[2][2],e[3][2],e[4][2],e[5][2],e[6][2],e[7][2])]}function COBTarget(e,t){mat4.fromTranslation(T,[center.x,center.y,center.z]),mat4.invert(cjMatInv,T),mat4.multiply(e,t,cjMatInv),mat4.multiply(e,T,e)}function setUniforms(e,t){let i=t==pixelShader;gl.useProgram(t),gl.enableVertexAttribArray(positionAttribute),i&&gl.enableVertexAttribArray(widthAttribute);let a=!i&&Lights.length>0;if(a&&gl.enableVertexAttribArray(normalAttribute),gl.enableVertexAttribArray(materialAttribute),t.projViewMatUniform=gl.getUniformLocation(t,"projViewMat"),t.viewMatUniform=gl.getUniformLocation(t,"viewMat"),t.normMatUniform=gl.getUniformLocation(t,"normMat"),t!=colorShader&&t!=transparentShader||gl.enableVertexAttribArray(colorAttribute),a)for(let e=0;e<Lights.length;++e)Lights[e].setUniform(t,e);for(let i=0;i<e.materials.length;++i)e.materials[i].setUniform(t,i);gl.uniformMatrix4fv(t.projViewMatUniform,!1,projViewMat),gl.uniformMatrix4fv(t.viewMatUniform,!1,viewMat),gl.uniformMatrix3fv(t.normMatUniform,!1,normMat)}function handleMouseDown(e){zoomEnabled||enableZoom(),mouseDownOrTouchActive=!0,lastMouseX=e.clientX,lastMouseY=e.clientY}let pinchStart,touchStartTime,pinch=!1;function pinchDistance(e){return Math.hypot(e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY)}function handleTouchStart(e){e.preventDefault(),zoomEnabled||enableZoom();let t=e.targetTouches;swipe=rotate=pinch=!1,zooming||(1!=t.length||mouseDownOrTouchActive||(touchStartTime=(new Date).getTime(),touchId=t[0].identifier,lastMouseX=t[0].pageX,lastMouseY=t[0].pageY),2!=t.length||mouseDownOrTouchActive||(touchId=t[0].identifier,pinchStart=pinchDistance(t),pinch=!0))}function handleMouseUpOrTouchEnd(e){mouseDownOrTouchActive=!1}function rotateScene(e,t,i,a,n){if(e==i&&t==a)return;let[r,s]=arcball([e,-t],[i,-a]);mat4.fromRotation(T,2*n*ArcballFactor*r/Zoom,s),mat4.multiply(rotMat,T,rotMat)}function shiftScene(e,t,i,a){let n=1/Zoom;shift.x+=(i-e)*n*halfCanvasWidth,shift.y-=(a-t)*n*halfCanvasHeight}function panScene(e,t,i,a){orthographic?shiftScene(e,t,i,a):(center.x+=(i-e)*(viewParam.xmax-viewParam.xmin),center.y-=(a-t)*(viewParam.ymax-viewParam.ymin))}function updateViewMatrix(){COBTarget(viewMat,rotMat),mat4.translate(viewMat,viewMat,[center.x,center.y,0]),mat3.fromMat4(viewMat3,viewMat),mat3.invert(normMat,viewMat3),mat4.multiply(projViewMat,projMat,viewMat)}function capzoom(){let e=Math.sqrt(Number.MAX_VALUE),t=1/e;Zoom<=t&&(Zoom=t),Zoom>=e&&(Zoom=e),(1.5*Zoom<lastZoom||Zoom>1.5*lastZoom)&&(remesh=!0,lastZoom=Zoom)}function zoomImage(e){let t=zoomStep*halfCanvasHeight*e;const i=Math.log(.1*Number.MAX_VALUE)/Math.log(zoomFactor);Math.abs(t)<i&&(Zoom*=zoomFactor**t,capzoom())}function normMouse(e){let t=e[0],i=e[1],a=Math.hypot(t,i);return a>1&&(denom=1/a,t*=denom,i*=denom),[t,i,Math.sqrt(Math.max(1-i*i-t*t,0))]}function arcball(e,t){let i=normMouse(e),a=normMouse(t),n=dot(i,a);return[n>1?0:n<-1?pi:Math.acos(n),unit(cross(i,a))]}function zoomScene(e,t,i,a){zoomImage(t-a)}const DRAGMODE_ROTATE=1,DRAGMODE_SHIFT=2,DRAGMODE_ZOOM=3,DRAGMODE_PAN=4;function processDrag(e,t,i,a=1){let n;switch(i){case 1:n=rotateScene;break;case 2:n=shiftScene;break;case 3:n=zoomScene;break;case 4:n=panScene;break;default:n=(e,t,i,a)=>{}}n((lastMouseX-halfCanvasWidth)/halfCanvasWidth,(lastMouseY-halfCanvasHeight)/halfCanvasHeight,(e-halfCanvasWidth)/halfCanvasWidth,(t-halfCanvasHeight)/halfCanvasHeight,a),lastMouseX=e,lastMouseY=t,setProjection(),drawScene()}let zoomEnabled=0;function enableZoom(){zoomEnabled=1,canvas.addEventListener("wheel",handleMouseWheel,!1)}function disableZoom(){zoomEnabled=0,canvas.removeEventListener("wheel",handleMouseWheel,!1)}function handleKey(e){if(zoomEnabled||enableZoom(),embedded&&zoomEnabled&&27==e.keyCode)return void disableZoom();let t=[];switch(e.key){case"x":t=[1,0,0];break;case"y":t=[0,1,0];break;case"z":t=[0,0,1];break;case"h":home();break;case"m":++wireframe,3==wireframe&&(wireframe=0),2!=wireframe&&(embedded||deleteShaders(),initShaders(ibl)),remesh=!0,drawScene();break;case"+":case"=":case">":expand();break;case"-":case"_":case"<":shrink()}t.length>0&&(mat4.rotate(rotMat,rotMat,.1,t),updateViewMatrix(),drawScene())}function setZoom(){capzoom(),setProjection(),drawScene()}function handleMouseWheel(e){e.preventDefault(),e.deltaY<0?Zoom*=zoomFactor:Zoom/=zoomFactor,setZoom()}function handleMouseMove(e){if(!mouseDownOrTouchActive)return;let t,i=e.clientX,a=e.clientY;t=e.getModifierState("Control")?2:e.getModifierState("Shift")?3:e.getModifierState("Alt")?4:1,processDrag(i,a,t)}let zooming=!1,swipe=!1,rotate=!1;function handleTouchMove(e){if(e.preventDefault(),zooming)return;let t=e.targetTouches;if(!pinch&&1==t.length&&touchId==t[0].identifier){let e=t[0].pageX,i=t[0].pageY,a=e-lastMouseX,n=i-lastMouseY,r=a*a+n*n<=shiftHoldDistance*shiftHoldDistance;if(r&&!swipe&&!rotate&&(new Date).getTime()-touchStartTime>shiftWaitTime&&(navigator.vibrate&&window.navigator.vibrate(vibrateTime),swipe=!0),swipe)processDrag(e,i,2);else if(!r){rotate=!0,processDrag(t[0].pageX,t[0].pageY,1,.5)}}if(pinch&&!swipe&&2==t.length&&touchId==t[0].identifier){let e=pinchDistance(t),i=e-pinchStart;zooming=!0,i*=zoomPinchFactor,i>zoomPinchCap&&(i=zoomPinchCap),i<-zoomPinchCap&&(i=-zoomPinchCap),zoomImage(i/size2),pinchStart=e,swipe=rotate=zooming=!1,setProjection(),drawScene()}}let pixelShader,materialShader,colorShader,transparentShader,zbuffer=[];function transformVertices(e){let t=viewMat[2],i=viewMat[6],a=viewMat[10];zbuffer.length=e.length;for(let n=0;n<e.length;++n){let r=6*n;zbuffer[n]=t*e[r]+i*e[r+1]+a*e[r+2]}}function drawMaterial0(){drawBuffer(material0Data,pixelShader),material0Data.clear()}function drawMaterial1(){drawBuffer(material1Data,materialShader),material1Data.clear()}function drawMaterial(){drawBuffer(materialData,materialShader),materialData.clear()}function drawColor(){drawBuffer(colorData,colorShader),colorData.clear()}function drawTriangle(){drawBuffer(triangleData,transparentShader),triangleData.rendered=!1,triangleData.clear()}function drawTransparent(){let e=transparentData.indices;if(wireframe>0)return drawBuffer(transparentData,transparentShader,e),void transparentData.clear();if(e.length>0){transformVertices(transparentData.vertices);let t=e.length/3,i=Array(t).fill().map((e,t)=>t);i.sort((function(t,i){let a=3*t;Ia=e[a],Ib=e[a+1],Ic=e[a+2];let n=3*i;return IA=e[n],IB=e[n+1],IC=e[n+2],zbuffer[Ia]+zbuffer[Ib]+zbuffer[Ic]<zbuffer[IA]+zbuffer[IB]+zbuffer[IC]?-1:1}));let a=Array(e.length);for(let n=0;n<t;++n){let t=3*i[n];a[3*n]=e[t],a[3*n+1]=e[t+1],a[3*n+2]=e[t+2]}gl.depthMask(!1),drawBuffer(transparentData,transparentShader,a),transparentData.rendered=!1,gl.depthMask(!0)}transparentData.clear()}function drawBuffers(){drawMaterial0(),drawMaterial1(),drawMaterial(),drawColor(),drawTriangle(),drawTransparent(),requestAnimationFrame(drawBuffers)}function drawScene(){embedded&&(offscreen2.width=canvasWidth,offscreen2.height=canvasHeight,setViewport()),gl.clearColor(Background[0],Background[1],Background[2],Background[3]),gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT);for(let e=0;e<P.length;++e)P[e].render();drawBuffers(),embedded&&(context.clearRect(0,0,canvasWidth,canvasHeight),context.drawImage(offscreen2,0,0)),0==wireframe&&(remesh=!1)}function setDimensions(e,t,i,a){let n=e/t,r=1/Zoom,s=(i/e+viewportShift[0])*Zoom,o=(a/t+viewportShift[1])*Zoom;if(orthographic){let e=maxBound[0]-minBound[0],t=maxBound[1]-minBound[1];if(e<t*n){let e=.5*t*n*r,i=2*e*s,a=t*r*o;viewParam.xmin=-e-i,viewParam.xmax=e-i,viewParam.ymin=minBound[1]*r-a,viewParam.ymax=maxBound[1]*r-a}else{let t=.5*e/(n*Zoom),i=e*r*s,a=2*t*o;viewParam.xmin=minBound[0]*r-i,viewParam.xmax=maxBound[0]*r-i,viewParam.ymin=-t-a,viewParam.ymax=t-a}}else{let e=H*r,t=e*n,i=2*t*s,a=2*e*o;viewParam.xmin=-t-i,viewParam.xmax=t-i,viewParam.ymin=-e-a,viewParam.ymax=e-a}}function setProjection(){setDimensions(canvasWidth,canvasHeight,shift.x,shift.y),(orthographic?mat4.ortho:mat4.frustum)(projMat,viewParam.xmin,viewParam.xmax,viewParam.ymin,viewParam.ymax,-viewParam.zmax,-viewParam.zmin),updateViewMatrix()}function initProjection(){H=-Math.tan(.5*angleOfView)*maxBound[2],center.x=center.y=0,center.z=.5*(minBound[2]+maxBound[2]),lastZoom=Zoom=zoom0,viewParam.zmin=minBound[2],viewParam.zmax=maxBound[2],shift.x=shift.y=0}function setViewport(){gl.viewportWidth=canvasWidth,gl.viewportHeight=canvasHeight,gl.viewport(.5*(canvas.width-canvasWidth),.5*(canvas.height-canvasHeight),canvasWidth,canvasHeight),gl.scissor(0,0,canvas.width,canvas.height)}function setCanvas(){embedded&&(canvas.width=offscreen2.width=canvasWidth,canvas.height=offscreen2.height=canvasHeight),size2=Math.hypot(canvasWidth,canvasHeight),halfCanvasWidth=.5*canvas.width,halfCanvasHeight=.5*canvas.height,ArcballFactor=1+8*Math.hypot(viewportMargin[0],viewportMargin[1])/size2}function setsize(e,t){e>maxViewportWidth&&(e=maxViewportWidth),t>maxViewportHeight&&(t=maxViewportHeight),shift.x*=e/canvasWidth,shift.y*=t/canvasHeight,canvasWidth=e,canvasHeight=t,setCanvas(),setViewport(),setProjection(),remesh=!0}function resize(){if(zoom0=initialZoom,absolute&&!embedded)canvasWidth=canvasWidth0*window.devicePixelRatio,canvasHeight=canvasHeight0*window.devicePixelRatio;else{let e=canvasWidth0/canvasHeight0;canvasWidth=Math.max(window.innerWidth-10,10),canvasHeight=Math.max(window.innerHeight-10,10),!orthographic&&canvasWidth<canvasHeight*e&&(zoom0*=canvasWidth/(canvasHeight*e))}canvas.width=canvasWidth,canvas.height=canvasHeight;window.innerWidth,window.innerHeight;viewportShift[0]/=zoom0,viewportShift[1]/=zoom0,setsize(canvasWidth,canvasHeight),redrawScene()}function expand(){Zoom*=zoomFactor,setZoom()}function shrink(){Zoom/=zoomFactor,setZoom()}class Align{constructor(e,t){if(this.center=e,t){let e=t[0],i=t[1];this.ct=Math.cos(e),this.st=Math.sin(e),this.cp=Math.cos(i),this.sp=Math.sin(i)}}T0(e){return[e[0]+this.center[0],e[1]+this.center[1],e[2]+this.center[2]]}T(e){let t=e[0],i=e[1],a=e[2],n=t*this.ct+a*this.st;return[n*this.cp-i*this.sp+this.center[0],n*this.sp+i*this.cp+this.center[1],-t*this.st+a*this.ct+this.center[2]]}}function Tcorners(e,t,i){let a=[e(t),e([t[0],t[1],i[2]]),e([t[0],i[1],t[2]]),e([t[0],i[1],i[2]]),e([i[0],t[1],t[2]]),e([i[0],t[1],i[2]]),e([i[0],i[1],t[2]]),e(i)];return[minbound(a),maxbound(a)]}function material(e,t,i,a,n,r){Materials.push(new Material(e,t,i,a,n,r))}function patch(e,t,i,a,n,r){P.push(new BezierPatch(e,t,i,a,n,r))}function curve(e,t,i,a,n){P.push(new BezierCurve(e,t,i,a,n))}function pixel(e,t,i,a,n){P.push(new Pixel(e,t,i,a,n))}function triangles(e,t,i,a){P.push(new Triangles(e,t,i,a))}function sphere(e,t,i,n,r){let s,o,l,h,c,d,m=.524670512339254,f=.595936986722291,u=.954967051233925,p=.0820155480083437,g=.996685028842544,v=.0549670512339254,x=.998880711874577,w=.0405017186586849,M=[[[1,0,0],[1,0,m],[f,0,u],[p,0,g],[1,a,0],[1,a,m],[f,a*f,u],[p,a*p,g],[a,1,0],[a,1,m],[a*f,f,u],[a*p,p,g],[0,1,0],[0,1,m],[0,f,u],[0,p,g]],[[p,0,g],[p,a*p,g],[v,0,x],[a*p,p,g],[w,w,1],[.05*a,0,1],[0,p,g],[0,v,x],[0,.05*a,1],[0,0,1]]],b=new Align(e,r);function T(e){let t=Array(e.length);for(let i=0;i<e.length;++i){let a=e[i];t[i]=c([s*a[0],o*a[1],l*a[2]])}return t}r?(h=1,d=0,c=b.T.bind(b)):(h=-1,d=-t,c=b.T0.bind(b));let S=Tcorners(c,[-t,-t,d],[t,t,t]),R=S[0],I=S[1];for(let e=-1;e<=1;e+=2){s=e*t;for(let e=-1;e<=1;e+=2){o=e*t;for(let e=h;e<=1;e+=2){l=e*t;for(let e=0;e<2;++e)P.push(new BezierPatch(T(M[e]),i,n,R,I))}}}}let a=4/3*(Math.sqrt(2)-1);function disk(e,t,i,n,r){let s=1-2*a/3,o=[[1,0,0],[1,-a,0],[a,-1,0],[0,-1,0],[1,a,0],[s,0,0],[0,-s,0],[-a,-1,0],[a,1,0],[0,s,0],[-s,0,0],[-1,-a,0],[0,1,0],[-a,1,0],[-1,a,0],[-1,0,0]],l=new Align(e,r);let h=Tcorners(l.T.bind(l),[-t,-t,0],[t,t,0]);P.push(new BezierPatch(function(e){let i=Array(e.length);for(let a=0;a<e.length;++a){let n=e[a];i[a]=l.T([t*n[0],t*n[1],0])}return i}(o),i,n,h[0],h[1]))}function cylinder(e,t,i,n,r,s,o){let l,h,c=[[1,0,0],[1,0,1/3],[1,0,2/3],[1,0,1],[1,a,0],[1,a,1/3],[1,a,2/3],[1,a,1],[a,1,0],[a,1,1/3],[a,1,2/3],[a,1,1],[0,1,0],[0,1,1/3],[0,1,2/3],[0,1,1]],d=new Align(e,s);function m(e){let t=Array(e.length);for(let a=0;a<e.length;++a){let n=e[a];t[a]=d.T([l*n[0],h*n[1],i*n[2]])}return t}let f=Tcorners(d.T.bind(d),[-t,-t,0],[t,t,i]),u=f[0],p=f[1];for(let e=-1;e<=1;e+=2){l=e*t;for(let e=-1;e<=1;e+=2)h=e*t,P.push(new BezierPatch(m(c),n,r,u,p))}if(o){let t=d.T([0,0,i]);P.push(new BezierCurve([e,t],n,r,e,t))}}function rmf(e,t,i,a,n){class r{constructor(e,t,i){this.p=e,this.r=t,this.t=i,this.s=cross(i,t)}}let s=Number.EPSILON*Math.max(abs2(e),abs2(t),abs2(i),abs2(a));function o(n){if(1==n){let n=[a[0]-i[0],a[1]-i[1],a[2]-i[2]];return abs2(n)>s?unit(n):(n=[2*i[0]-t[0]-a[0],2*i[1]-t[1]-a[1],2*i[2]-t[2]-a[2]],abs2(n)>s?unit(n):[a[0]-e[0]+3*(t[0]-i[0]),a[1]-e[1]+3*(t[1]-i[1]),a[2]-e[2]+3*(t[2]-i[2])])}let r=[a[0]-e[0]+3*(t[0]-i[0]),a[1]-e[1]+3*(t[1]-i[1]),a[2]-e[2]+3*(t[2]-i[2])],o=[2*(e[0]+i[0])-4*t[0],2*(e[1]+i[1])-4*t[1],2*(e[2]+i[2])-4*t[2]],l=[t[0]-e[0],t[1]-e[1],t[2]-e[2]],h=n*n,c=[r[0]*h+o[0]*n+l[0],r[1]*h+o[1]*n+l[1],r[2]*h+o[2]*n+l[2]];return abs2(c)>s?unit(c):(h=2*n,c=[r[0]*h+o[0],r[1]*h+o[1],r[2]*h+o[2]],abs2(c)>s?unit(c):unit(r))}let l=Array(n.length),h=[t[0]-e[0],t[1]-e[1],t[2]-e[2]];abs2(h)<s&&(h=[e[0]-2*t[0]+i[0],e[1]-2*t[1]+i[1],e[2]-2*t[2]+i[2]],abs2(h)<s&&(h=[a[0]-e[0]+3*(t[0]-i[0]),a[1]-e[1]+3*(t[1]-i[1]),a[2]-e[2]+3*(t[2]-i[2])])),h=unit(h);let c=function(e){let t=cross(e,[0,1,0]),i=Number.EPSILON*abs2(e);return abs2(t)>i?unit(t):(t=cross(e,[0,0,1]),abs2(t)>i?unit(t):[1,0,0])}(h);l[0]=new r(e,c,h);for(let s=1;s<n.length;++s){let h=l[s-1],c=n[s],d=1-c,m=d*d,f=m*d,u=3*c;m*=u,d*=u*c;let p=c*c*c,g=[f*e[0]+m*t[0]+d*i[0]+p*a[0],f*e[1]+m*t[1]+d*i[1]+p*a[1],f*e[2]+m*t[2]+d*i[2]+p*a[2]],v=[g[0]-h.p[0],g[1]-h.p[1],g[2]-h.p[2]];if(0!=v[0]||0!=v[1]||0!=v[2]){let e=h.r,t=unit(v),i=h.t,a=dot(t,i),n=[i[0]-2*a*t[0],i[1]-2*a*t[1],i[2]-2*a*t[2]];i=o(c);let d=2*dot(t,e),m=[e[0]-d*t[0],e[1]-d*t[1],e[2]-d*t[2]],f=unit([i[0]-n[0],i[1]-n[1],i[2]-n[2]]),u=2*dot(f,m);m=[m[0]-u*f[0],m[1]-u*f[1],m[2]-u*f[2]],l[s]=new r(g,unit(m),unit(i))}else l[s]=l[s-1]}return l}function tube(e,t,i,n,r,s,o){let l=rmf(e[0],e[1],e[2],e[3],[0,1/3,2/3,1]),h=a*t,c=[[t,0],[t,h],[h,t],[0,t]];function d(t,a,o,h){let d=Array(16);for(let i=0;i<4;++i){let n=l[i],r=n.r[0],s=n.s[0],m=r*t+s*a,f=r*o+s*h;r=n.r[1],s=n.s[1];let u=r*t+s*a,p=r*o+s*h;r=n.r[2],s=n.s[2];let g=r*t+s*a,v=r*o+s*h,x=e[i],w=x[0];w1=x[1],w2=x[2];for(let e=0;e<4;++e){let t=c[e],a=t[0],n=t[1];d[4*i+e]=[m*a+f*n+w,u*a+p*n+w1,g*a+v*n+w2]}}P.push(new BezierPatch(d,i,n,r,s))}d(1,0,0,1),d(0,-1,1,0),d(-1,0,0,-1),d(0,1,-1,0),o&&P.push(new BezierCurve(e,i,n,r,s))}async function getReq(e){return(await fetch(e)).arrayBuffer()}function rgb(e){return e.getBytes().filter((e,t)=>t%4!=3)}function createTexture(e,t,i=gl.RGB16F){let a=e.width(),n=e.height(),r=gl.createTexture();return gl.activeTexture(gl.TEXTURE0+t),gl.bindTexture(gl.TEXTURE_2D,r),gl.pixelStorei(gl.UNPACK_ALIGNMENT,1),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR),gl.texImage2D(gl.TEXTURE_2D,0,i,a,n,0,gl.RGB,gl.FLOAT,rgb(e)),r}async function initIBL(){let e=imageURL+image+"/";function t(e){return new Promise(t=>setTimeout(t,e))}for(;!Module.EXRLoader;)await t(0);promises=[getReq(imageURL+"refl.exr").then(e=>{let t=new Module.EXRLoader(e);IBLbdrfMap=createTexture(t,0)}),getReq(e+"diffuse.exr").then(e=>{let t=new Module.EXRLoader(e);IBLDiffuseMap=createTexture(t,1)})],refl_promise=[],refl_promise.push(getReq(e+"refl0.exr"));for(let t=1;t<=roughnessStepCount;++t)refl_promise.push(getReq(e+"refl"+t+"w.exr"));finished_promise=Promise.all(refl_promise).then(e=>{let t=gl.createTexture();gl.activeTexture(gl.TEXTURE0+2),gl.pixelStorei(gl.UNPACK_ALIGNMENT,1),gl.bindTexture(gl.TEXTURE_2D,t),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAX_LEVEL,e.length-1),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR_MIPMAP_LINEAR),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR),gl.texParameterf(gl.TEXTURE_2D,gl.TEXTURE_MIN_LOD,0),gl.texParameterf(gl.TEXTURE_2D,gl.TEXTURE_MAX_LOD,roughnessStepCount);for(let t=0;t<e.length;++t){let i=new Module.EXRLoader(e[t]);gl.texImage2D(gl.TEXTURE_2D,t,gl.RGB16F,i.width(),i.height(),0,gl.RGB,gl.FLOAT,rgb(i))}IBLReflMap=t}),promises.push(finished_promise),await Promise.all(promises)}function webGLStart(){canvas=document.getElementById("Asymptote"),embedded=window.top.document!=document,initGL(),gl.enable(gl.BLEND),gl.blendFunc(gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA),gl.enable(gl.DEPTH_TEST),gl.enable(gl.SCISSOR_TEST),canvas.onmousedown=handleMouseDown,document.onmouseup=handleMouseUpOrTouchEnd,document.onmousemove=handleMouseMove,canvas.onkeydown=handleKey,embedded||enableZoom(),canvas.addEventListener("touchstart",handleTouchStart,!1),canvas.addEventListener("touchend",handleMouseUpOrTouchEnd,!1),canvas.addEventListener("touchcancel",handleMouseUpOrTouchEnd,!1),canvas.addEventListener("touchleave",handleMouseUpOrTouchEnd,!1),canvas.addEventListener("touchmove",handleTouchMove,!1),document.addEventListener("keydown",handleKey,!1),canvasWidth0=canvasWidth,canvasHeight0=canvasHeight,mat4.identity(rotMat),0!=window.innerWidth&&0!=window.innerHeight&&resize(),window.addEventListener("resize",resize,!1),ibl&&initIBL().then(SetIBL).then(redrawScene)}
+let vertex="\n#ifdef WEBGL2\n#define IN in\n#define OUT out\n#else\n#define IN attribute\n#define OUT varying\n#endif\n\nIN vec3 position;\n#ifdef WIDTH\nIN float width;\n#endif\n#ifdef NORMAL\nIN vec3 normal;\n#endif\n\nIN float materialIndex;\n\n#ifdef WEBGL2\nflat out int MaterialIndex;\n#ifdef COLOR\nOUT vec4 Color;\n#endif\n\n#else\nOUT vec4 diffuse;\nOUT vec3 specular;\nOUT float roughness,metallic,fresnel0;\nOUT vec4 emissive;\n\nstruct Material {\n vec4 diffuse,emissive,specular;\n vec4 parameters;\n};\n\nuniform Material Materials[Nmaterials];\n#endif\n\n#ifdef COLOR\nIN vec4 color;\n#endif\n\nuniform mat3 normMat;\nuniform mat4 viewMat;\nuniform mat4 projViewMat;\n\n#ifdef NORMAL\n#ifndef ORTHOGRAPHIC\nOUT vec3 ViewPosition;\n#endif\nOUT vec3 Normal;\n#endif\n\nvoid main(void)\n{\n vec4 v=vec4(position,1.0);\n gl_Position=projViewMat*v;\n\n#ifdef NORMAL\n#ifndef ORTHOGRAPHIC\n ViewPosition=(viewMat*v).xyz;\n#endif\n Normal=normalize(normal*normMat);\n#endif\n\n#ifdef WEBGL2\n MaterialIndex=int(materialIndex);\n#ifdef COLOR\n Color=color;\n#endif\n#else\n#ifdef NORMAL\n Material m;\n#ifdef TRANSPARENT\n m=Materials[int(abs(materialIndex))-1];\n emissive=m.emissive;\n if(materialIndex >= 0.0)\n diffuse=m.diffuse;\n else {\n diffuse=color;\n#if nlights == 0\n emissive += color;\n#endif\n }\n#else\n m=Materials[int(materialIndex)];\n emissive=m.emissive;\n#ifdef COLOR\n diffuse=color;\n#if nlights == 0\n emissive += color;\n#endif\n#else\n diffuse=m.diffuse;\n#endif // COLOR\n#endif // TRANSPARENT\n specular=m.specular.rgb;\n vec4 parameters=m.parameters;\n roughness=1.0-parameters[0];\n metallic=parameters[1];\n fresnel0=parameters[2];\n#else\n emissive=Materials[int(materialIndex)].emissive;\n#endif // NORMAL\n#endif // WEBGL2\n\n#ifdef WIDTH\n gl_PointSize=width;\n#endif\n}\n",fragment="\n#ifdef WEBGL2\n#define IN in\nout vec4 outValue;\n#define OUTVALUE outValue\n#else\n#define IN varying\n#define OUTVALUE gl_FragColor\n#endif\n\n#ifdef WEBGL2\nflat in int MaterialIndex;\n\nstruct Material {\n vec4 diffuse,emissive,specular;\n vec4 parameters;\n};\n\nuniform Material Materials[Nmaterials];\n\nvec4 diffuse;\nvec3 specular;\nfloat roughness,metallic,fresnel0;\nvec4 emissive;\n\n#ifdef COLOR\nin vec4 Color;\n#endif\n\n#else\nIN vec4 diffuse;\nIN vec3 specular;\nIN float roughness,metallic,fresnel0;\nIN vec4 emissive;\n#endif\n\n#ifdef NORMAL\n\n#ifndef ORTHOGRAPHIC\nIN vec3 ViewPosition;\n#endif\nIN vec3 Normal;\n\nvec3 normal;\n\nstruct Light {\n vec3 direction;\n vec3 color;\n};\n\nuniform Light Lights[Nlights];\n\n#ifdef USE_IBL\nuniform sampler2D reflBRDFSampler;\nuniform sampler2D diffuseSampler;\nuniform sampler2D reflImgSampler;\n\nconst float pi=acos(-1.0);\nconst float piInv=1.0/pi;\nconst float twopi=2.0*pi;\nconst float twopiInv=1.0/twopi;\n\n// (x,y,z) -> (r,theta,phi);\n// theta -> [0,pi]: colatitude\n// phi -> [-pi,pi]: longitude\nvec3 cart2sphere(vec3 cart)\n{\n float x=cart.x;\n float y=cart.z;\n float z=cart.y;\n\n float r=length(cart);\n float theta=r > 0.0 ? acos(z/r) : 0.0;\n float phi=atan(y,x);\n\n return vec3(r,theta,phi);\n}\n\nvec2 normalizedAngle(vec3 cartVec)\n{\n vec3 sphericalVec=cart2sphere(cartVec);\n sphericalVec.y=sphericalVec.y*piInv;\n sphericalVec.z=0.75-sphericalVec.z*twopiInv;\n return sphericalVec.zy;\n}\n\nvec3 IBLColor(vec3 viewDir)\n{\n vec3 IBLDiffuse=diffuse.rgb*texture(diffuseSampler,normalizedAngle(normal)).rgb;\n vec3 reflectVec=normalize(reflect(-viewDir,normal));\n vec2 reflCoord=normalizedAngle(reflectVec);\n vec3 IBLRefl=textureLod(reflImgSampler,reflCoord,roughness*ROUGHNESS_STEP_COUNT).rgb;\n vec2 IBLbrdf=texture(reflBRDFSampler,vec2(dot(normal,viewDir),roughness)).rg;\n float specularMultiplier=fresnel0*IBLbrdf.x+IBLbrdf.y;\n vec3 dielectric=IBLDiffuse+specularMultiplier*IBLRefl;\n vec3 metal=diffuse.rgb*IBLRefl;\n return mix(dielectric,metal,metallic);\n}\n#else\nfloat Roughness2;\nfloat NDF_TRG(vec3 h)\n{\n float ndoth=max(dot(normal,h),0.0);\n float alpha2=Roughness2*Roughness2;\n float denom=ndoth*ndoth*(alpha2-1.0)+1.0;\n return denom != 0.0 ? alpha2/(denom*denom) : 0.0;\n}\n\nfloat GGX_Geom(vec3 v)\n{\n float ndotv=max(dot(v,normal),0.0);\n float ap=1.0+Roughness2;\n float k=0.125*ap*ap;\n return ndotv/((ndotv*(1.0-k))+k);\n}\n\nfloat Geom(vec3 v, vec3 l)\n{\n return GGX_Geom(v)*GGX_Geom(l);\n}\n\nfloat Fresnel(vec3 h, vec3 v, float fresnel0)\n{\n float a=1.0-max(dot(h,v),0.0);\n float b=a*a;\n return fresnel0+(1.0-fresnel0)*b*b*a;\n}\n\n// physical based shading using UE4 model.\nvec3 BRDF(vec3 viewDirection, vec3 lightDirection)\n{\n vec3 lambertian=diffuse.rgb;\n vec3 h=normalize(lightDirection+viewDirection);\n\n float omegain=max(dot(viewDirection,normal),0.0);\n float omegaln=max(dot(lightDirection,normal),0.0);\n\n float D=NDF_TRG(h);\n float G=Geom(viewDirection,lightDirection);\n float F=Fresnel(h,viewDirection,fresnel0);\n\n float denom=4.0*omegain*omegaln;\n float rawReflectance=denom > 0.0 ? (D*G)/denom : 0.0;\n\n vec3 dielectric=mix(lambertian,rawReflectance*specular,F);\n vec3 metal=rawReflectance*diffuse.rgb;\n\n return mix(dielectric,metal,metallic);\n}\n#endif\n\n#endif\n\nvoid main(void)\n{\n#ifdef WEBGL2\n#ifdef NORMAL\n Material m;\n#ifdef TRANSPARENT\n m=Materials[abs(MaterialIndex)-1];\n emissive=m.emissive;\n if(MaterialIndex >= 0)\n diffuse=m.diffuse;\n else {\n diffuse=Color;\n#if nlights == 0\n emissive += Color;\n#endif\n }\n#else\n m=Materials[MaterialIndex];\n emissive=m.emissive;\n#ifdef COLOR\n diffuse=Color;\n#if nlights == 0\n emissive += Color;\n#endif\n#else\n diffuse=m.diffuse;\n#endif // COLOR\n#endif // TRANSPARENT\n specular=m.specular.rgb;\n vec4 parameters=m.parameters;\n roughness=1.0-parameters[0];\n metallic=parameters[1];\n fresnel0=parameters[2];\n#else\n emissive=Materials[MaterialIndex].emissive;\n#endif // NORMAL\n#endif // WEBGL2\n\n#if defined(NORMAL) && nlights > 0\n normal=normalize(Normal);\n normal=gl_FrontFacing ? normal : -normal;\n#ifdef ORTHOGRAPHIC\n vec3 viewDir=vec3(0.0,0.0,1.0);\n#else\n vec3 viewDir=-normalize(ViewPosition);\n#endif\n\nvec3 color;\n#ifdef USE_IBL\n color=IBLColor(viewDir);\n#else\n Roughness2=roughness*roughness;\n color=emissive.rgb;\n for(int i=0; i < nlights; ++i) {\n Light Li=Lights[i];\n vec3 L=Li.direction;\n float cosTheta=max(dot(normal,L),0.0);\n vec3 radiance=cosTheta*Li.color;\n color += BRDF(viewDir,L)*radiance;\n }\n#endif\n OUTVALUE=vec4(color,diffuse.a);\n#else\n OUTVALUE=emissive;\n#endif\n}\n";!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var a in i)("object"==typeof exports?exports:e)[a]=i[a]}}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function i(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,a){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:a})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=1)}([function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setMatrixArrayType=function(e){t.ARRAY_TYPE=e},t.toRadian=function(e){return e*n},t.equals=function(e,t){return Math.abs(e-t)<=a*Math.max(1,Math.abs(e),Math.abs(t))};var a=t.EPSILON=1e-6;t.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,t.RANDOM=Math.random;var n=Math.PI/180},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mat4=t.mat3=void 0;var a=r(i(2)),n=r(i(3));function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}t.mat3=a,t.mat4=n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.create=function(){var e=new a.ARRAY_TYPE(9);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},t.fromMat4=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e},t.invert=function(e,t){var i=t[0],a=t[1],n=t[2],r=t[3],s=t[4],o=t[5],l=t[6],h=t[7],c=t[8],d=c*s-o*h,m=-c*r+o*l,f=h*r-s*l,u=i*d+a*m+n*f;if(!u)return null;return u=1/u,e[0]=d*u,e[1]=(-c*a+n*h)*u,e[2]=(o*a-n*s)*u,e[3]=m*u,e[4]=(c*i-n*l)*u,e[5]=(-o*i+n*r)*u,e[6]=f*u,e[7]=(-h*i+a*l)*u,e[8]=(s*i-a*r)*u,e};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}(i(0))},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.create=function(){var e=new a.ARRAY_TYPE(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},t.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},t.invert=function(e,t){var i=t[0],a=t[1],n=t[2],r=t[3],s=t[4],o=t[5],l=t[6],h=t[7],c=t[8],d=t[9],m=t[10],f=t[11],u=t[12],p=t[13],g=t[14],v=t[15],x=i*o-a*s,w=i*l-n*s,M=i*h-r*s,b=a*l-n*o,T=a*h-r*o,S=n*h-r*l,R=c*p-d*u,I=c*g-m*u,A=c*v-f*u,E=d*g-m*p,P=d*v-f*p,L=m*v-f*g,D=x*L-w*P+M*E+b*A-T*I+S*R;if(!D)return null;return D=1/D,e[0]=(o*L-l*P+h*E)*D,e[1]=(n*P-a*L-r*E)*D,e[2]=(p*S-g*T+v*b)*D,e[3]=(m*T-d*S-f*b)*D,e[4]=(l*A-s*L-h*I)*D,e[5]=(i*L-n*A+r*I)*D,e[6]=(g*M-u*S-v*w)*D,e[7]=(c*S-m*M+f*w)*D,e[8]=(s*P-o*A+h*R)*D,e[9]=(a*A-i*P-r*R)*D,e[10]=(u*T-p*M+v*x)*D,e[11]=(d*M-c*T-f*x)*D,e[12]=(o*I-s*E-l*R)*D,e[13]=(i*E-a*I+n*R)*D,e[14]=(p*w-u*b-g*x)*D,e[15]=(c*b-d*w+m*x)*D,e},t.multiply=n,t.translate=function(e,t,i){var a=i[0],n=i[1],r=i[2],s=void 0,o=void 0,l=void 0,h=void 0,c=void 0,d=void 0,m=void 0,f=void 0,u=void 0,p=void 0,g=void 0,v=void 0;t===e?(e[12]=t[0]*a+t[4]*n+t[8]*r+t[12],e[13]=t[1]*a+t[5]*n+t[9]*r+t[13],e[14]=t[2]*a+t[6]*n+t[10]*r+t[14],e[15]=t[3]*a+t[7]*n+t[11]*r+t[15]):(s=t[0],o=t[1],l=t[2],h=t[3],c=t[4],d=t[5],m=t[6],f=t[7],u=t[8],p=t[9],g=t[10],v=t[11],e[0]=s,e[1]=o,e[2]=l,e[3]=h,e[4]=c,e[5]=d,e[6]=m,e[7]=f,e[8]=u,e[9]=p,e[10]=g,e[11]=v,e[12]=s*a+c*n+u*r+t[12],e[13]=o*a+d*n+p*r+t[13],e[14]=l*a+m*n+g*r+t[14],e[15]=h*a+f*n+v*r+t[15]);return e},t.rotate=function(e,t,i,n){var r,s,o,l,h,c,d,m,f,u,p,g,v,x,w,M,b,T,S,R,I,A,E,P,L=n[0],D=n[1],y=n[2],O=Math.sqrt(L*L+D*D+y*y);if(Math.abs(O)<a.EPSILON)return null;L*=O=1/O,D*=O,y*=O,r=Math.sin(i),s=Math.cos(i),o=1-s,l=t[0],h=t[1],c=t[2],d=t[3],m=t[4],f=t[5],u=t[6],p=t[7],g=t[8],v=t[9],x=t[10],w=t[11],M=L*L*o+s,b=D*L*o+y*r,T=y*L*o-D*r,S=L*D*o-y*r,R=D*D*o+s,I=y*D*o+L*r,A=L*y*o+D*r,E=D*y*o-L*r,P=y*y*o+s,e[0]=l*M+m*b+g*T,e[1]=h*M+f*b+v*T,e[2]=c*M+u*b+x*T,e[3]=d*M+p*b+w*T,e[4]=l*S+m*R+g*I,e[5]=h*S+f*R+v*I,e[6]=c*S+u*R+x*I,e[7]=d*S+p*R+w*I,e[8]=l*A+m*E+g*P,e[9]=h*A+f*E+v*P,e[10]=c*A+u*E+x*P,e[11]=d*A+p*E+w*P,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]);return e},t.fromTranslation=function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e},t.fromRotation=function(e,t,i){var n,r,s,o=i[0],l=i[1],h=i[2],c=Math.sqrt(o*o+l*l+h*h);if(Math.abs(c)<a.EPSILON)return null;return o*=c=1/c,l*=c,h*=c,n=Math.sin(t),r=Math.cos(t),s=1-r,e[0]=o*o*s+r,e[1]=l*o*s+h*n,e[2]=h*o*s-l*n,e[3]=0,e[4]=o*l*s-h*n,e[5]=l*l*s+r,e[6]=h*l*s+o*n,e[7]=0,e[8]=o*h*s+l*n,e[9]=l*h*s-o*n,e[10]=h*h*s+r,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},t.frustum=function(e,t,i,a,n,r,s){var o=1/(i-t),l=1/(n-a),h=1/(r-s);return e[0]=2*r*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*r*l,e[6]=0,e[7]=0,e[8]=(i+t)*o,e[9]=(n+a)*l,e[10]=(s+r)*h,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*r*2*h,e[15]=0,e},t.ortho=function(e,t,i,a,n,r,s){var o=1/(t-i),l=1/(a-n),h=1/(r-s);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*h,e[11]=0,e[12]=(t+i)*o,e[13]=(n+a)*l,e[14]=(s+r)*h,e[15]=1,e};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}(i(0));function n(e,t,i){var a=t[0],n=t[1],r=t[2],s=t[3],o=t[4],l=t[5],h=t[6],c=t[7],d=t[8],m=t[9],f=t[10],u=t[11],p=t[12],g=t[13],v=t[14],x=t[15],w=i[0],M=i[1],b=i[2],T=i[3];return e[0]=w*a+M*o+b*d+T*p,e[1]=w*n+M*l+b*m+T*g,e[2]=w*r+M*h+b*f+T*v,e[3]=w*s+M*c+b*u+T*x,w=i[4],M=i[5],b=i[6],T=i[7],e[4]=w*a+M*o+b*d+T*p,e[5]=w*n+M*l+b*m+T*g,e[6]=w*r+M*h+b*f+T*v,e[7]=w*s+M*c+b*u+T*x,w=i[8],M=i[9],b=i[10],T=i[11],e[8]=w*a+M*o+b*d+T*p,e[9]=w*n+M*l+b*m+T*g,e[10]=w*r+M*h+b*f+T*v,e[11]=w*s+M*c+b*u+T*x,w=i[12],M=i[13],b=i[14],T=i[15],e[12]=w*a+M*o+b*d+T*p,e[13]=w*n+M*l+b*m+T*g,e[14]=w*r+M*h+b*f+T*v,e[15]=w*s+M*c+b*u+T*x,e}}])}));let canvasWidth,canvasHeight,imageURL,image,minBound,maxBound,orthographic,angleOfView,initialZoom,viewportMargin,zoomFactor,zoomPinchFactor,zoomPinchCap,zoomStep,shiftHoldDistance,shiftWaitTime,vibrateTime,canvasWidth0,canvasHeight0,zoom0,embedded,canvas,gl,alpha,offscreen,context,maxMaterials,halfCanvasWidth,halfCanvasHeight,P=[],Materials=[],Lights=[],Centers=[],Background=[1,1,1,1],absolute=!1,ibl=!1,viewportShift=[0,0],webgl2=!1,nlights=0,Nmaterials=2,materials=[];const pixelResolution=.75,zoomRemeshFactor=1.5,FillFactor=.1,windowTrim=10,third=1/3;let Zoom,lastZoom,maxViewportWidth,maxViewportHeight,H,zmin,zmax,size2,ArcballFactor,rotMat=mat4.create(),projMat=mat4.create(),viewMat=mat4.create(),projViewMat=mat4.create(),normMat=mat3.create(),viewMat3=mat3.create(),cjMatInv=mat4.create(),T=mat4.create(),center={x:0,y:0,z:0},shift={x:0,y:0},viewParam={xmin:0,xmax:0,ymin:0,ymax:0,zmin:0,zmax:0},remesh=!0,wireframe=0,mouseDownOrTouchActive=!1,lastMouseX=null,lastMouseY=null,touchID=null,Positions=[],Normals=[],Colors=[],Indices=[],IBLReflMap=null,IBLDiffuseMap=null,IBLbdrfMap=null;function IBLReady(){return null!==IBLReflMap&&null!==IBLDiffuseMap&&null!==IBLbdrfMap}function SetIBL(){embedded||deleteShaders(),initShaders(ibl)}let roughnessStepCount=8;class Material{constructor(e,t,i,a,n,r){this.diffuse=e,this.emissive=t,this.specular=i,this.shininess=a,this.metallic=n,this.fresnel0=r}setUniform(e,t){let i=i=>gl.getUniformLocation(e,"Materials["+t+"]."+i);gl.uniform4fv(i("diffuse"),new Float32Array(this.diffuse)),gl.uniform4fv(i("emissive"),new Float32Array(this.emissive)),gl.uniform4fv(i("specular"),new Float32Array(this.specular)),gl.uniform4f(i("parameters"),this.shininess,this.metallic,this.fresnel0,0)}}let indexExt,TRIANGLES,material0Data,material1Data,materialData,colorData,transparentData,triangleData,materialIndex,enumPointLight=1,enumDirectionalLight=2;class Light{constructor(e,t){this.direction=e,this.color=t}setUniform(e,t){let i=i=>gl.getUniformLocation(e,"Lights["+t+"]."+i);gl.uniform3fv(i("direction"),new Float32Array(this.direction)),gl.uniform3fv(i("color"),new Float32Array(this.color))}}function initShaders(e=!1){let t=gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS);maxMaterials=Math.floor((t-14)/4),Nmaterials=Math.min(Math.max(Nmaterials,Materials.length),maxMaterials),pixelOpt=["WIDTH"],materialOpt=["NORMAL"],colorOpt=["NORMAL","COLOR"],transparentOpt=["NORMAL","COLOR","TRANSPARENT"],e&&(materialOpt.push("USE_IBL"),transparentOpt.push("USE_IBL")),pixelShader=initShader(pixelOpt),materialShader=initShader(materialOpt),colorShader=initShader(colorOpt),transparentShader=initShader(transparentOpt)}function deleteShaders(){gl.deleteProgram(transparentShader),gl.deleteProgram(colorShader),gl.deleteProgram(materialShader),gl.deleteProgram(pixelShader)}function saveAttributes(){let e=webgl2?window.top.document.asygl2[alpha]:window.top.document.asygl[alpha];e.gl=gl,e.nlights=Lights.length,e.Nmaterials=Nmaterials,e.maxMaterials=maxMaterials,e.pixelShader=pixelShader,e.materialShader=materialShader,e.colorShader=colorShader,e.transparentShader=transparentShader}function restoreAttributes(){let e=webgl2?window.top.document.asygl2[alpha]:window.top.document.asygl[alpha];gl=e.gl,nlights=e.nlights,Nmaterials=e.Nmaterials,maxMaterials=e.maxMaterials,pixelShader=e.pixelShader,materialShader=e.materialShader,colorShader=e.colorShader,transparentShader=e.transparentShader}function webGL(e,t){let i;return webgl2&&(i=e.getContext("webgl2",{alpha:t}),embedded&&!i)?(webgl2=!1,ibl=!1,initGL(!1),null):(i||(webgl2=!1,ibl=!1,i=e.getContext("webgl",{alpha:t})),i||alert("Could not initialize WebGL"),i)}function initGL(e=!0){if(ibl&&(webgl2=!0),alpha=Background[3]<1,embedded){let t=window.top.document;if(e&&(context=canvas.getContext("2d")),offscreen=webgl2?t.offscreen2:t.offscreen,offscreen||(offscreen=t.createElement("canvas"),webgl2?t.offscreen2=offscreen:t.offscreen=offscreen),webgl2?t.asygl2||(t.asygl2=Array(2)):t.asygl||(t.asygl=Array(2)),asygl=webgl2?t.asygl2:t.asygl,asygl[alpha]&&asygl[alpha].gl)restoreAttributes(),(Lights.length!=nlights||Math.min(Materials.length,maxMaterials)>Nmaterials)&&(initShaders(),saveAttributes());else{if(rc=webGL(offscreen,alpha),!rc)return;gl=rc,initShaders(),webgl2?t.asygl2[alpha]={}:t.asygl[alpha]={},saveAttributes()}}else gl=webGL(canvas,alpha),initShaders();indexExt=gl.getExtension("OES_element_index_uint"),TRIANGLES=gl.TRIANGLES,material0Data=new vertexBuffer(gl.POINTS),material1Data=new vertexBuffer(gl.LINES),materialData=new vertexBuffer,colorData=new vertexBuffer,transparentData=new vertexBuffer,triangleData=new vertexBuffer}function getShader(e,t,i,a=[]){let n=webgl2?"300 es":"100",r=Array(...a),s=[["nlights",0==wireframe?Lights.length:0],["Nmaterials",Nmaterials]],o=[["int","Nlights",Math.max(Lights.length,1)]];webgl2&&r.push("WEBGL2"),ibl&&s.push(["ROUGHNESS_STEP_COUNT",roughnessStepCount.toFixed(2)]),orthographic&&r.push("ORTHOGRAPHIC"),macros_str=s.map(e=>`#define ${e[0]} ${e[1]}`).join("\n"),define_str=r.map(e=>"#define "+e).join("\n"),const_str=o.map(e=>`const ${e[0]} ${e[1]}=${e[2]};`).join("\n"),ext_str=[].map(e=>`#extension ${e}: enable`).join("\n"),shaderSrc=`#version ${n}\n${ext_str}\n${define_str}\n${const_str}\n${macros_str}\n\n\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n \n${t}\n `;let l=e.createShader(i);return e.shaderSource(l,shaderSrc),e.compileShader(l),e.getShaderParameter(l,e.COMPILE_STATUS)?l:(alert(e.getShaderInfoLog(l)),null)}function registerBuffer(e,t,i,a=gl.ARRAY_BUFFER){return e.length>0&&(0==t&&(t=gl.createBuffer(),i=!0),gl.bindBuffer(a,t),i&&gl.bufferData(a,e,gl.STATIC_DRAW)),t}function drawBuffer(e,t,i=e.indices){if(0==e.indices.length)return;let a=t!=pixelShader;setUniforms(e,t),null!=IBLDiffuseMap&&(gl.activeTexture(gl.TEXTURE0),gl.bindTexture(gl.TEXTURE_2D,IBLbdrfMap),gl.uniform1i(gl.getUniformLocation(t,"reflBRDFSampler"),0),gl.activeTexture(gl.TEXTURE1),gl.bindTexture(gl.TEXTURE_2D,IBLDiffuseMap),gl.uniform1i(gl.getUniformLocation(t,"diffuseSampler"),1),gl.activeTexture(gl.TEXTURE2),gl.bindTexture(gl.TEXTURE_2D,IBLReflMap),gl.uniform1i(gl.getUniformLocation(t,"reflImgSampler"),2));let n=remesh||e.partial||!e.rendered;e.verticesBuffer=registerBuffer(new Float32Array(e.vertices),e.verticesBuffer,n),gl.vertexAttribPointer(positionAttribute,3,gl.FLOAT,!1,a?24:16,0),a?Lights.length>0&&gl.vertexAttribPointer(normalAttribute,3,gl.FLOAT,!1,24,12):gl.vertexAttribPointer(widthAttribute,1,gl.FLOAT,!1,16,12),e.materialsBuffer=registerBuffer(new Int16Array(e.materialIndices),e.materialsBuffer,n),gl.vertexAttribPointer(materialAttribute,1,gl.SHORT,!1,2,0),t!=colorShader&&t!=transparentShader||(e.colorsBuffer=registerBuffer(new Uint8Array(e.colors),e.colorsBuffer,n),gl.vertexAttribPointer(colorAttribute,4,gl.UNSIGNED_BYTE,!0,0,0)),e.indicesBuffer=registerBuffer(indexExt?new Uint32Array(i):new Uint16Array(i),e.indicesBuffer,n,gl.ELEMENT_ARRAY_BUFFER),e.rendered=!0,gl.drawElements(a?wireframe?gl.LINES:e.type:gl.POINTS,i.length,indexExt?gl.UNSIGNED_INT:gl.UNSIGNED_SHORT,0)}class vertexBuffer{constructor(e){this.type=e||TRIANGLES,this.verticesBuffer=0,this.materialsBuffer=0,this.colorsBuffer=0,this.indicesBuffer=0,this.rendered=!1,this.partial=!1,this.clear()}clear(){this.vertices=[],this.materialIndices=[],this.colors=[],this.indices=[],this.nvertices=0,this.materials=[],this.materialTable=[]}vertex(e,t){return this.vertices.push(e[0]),this.vertices.push(e[1]),this.vertices.push(e[2]),this.vertices.push(t[0]),this.vertices.push(t[1]),this.vertices.push(t[2]),this.materialIndices.push(materialIndex),this.nvertices++}Vertex(e,t,i=[0,0,0,0]){return this.vertices.push(e[0]),this.vertices.push(e[1]),this.vertices.push(e[2]),this.vertices.push(t[0]),this.vertices.push(t[1]),this.vertices.push(t[2]),this.materialIndices.push(materialIndex),this.colors.push(i[0]),this.colors.push(i[1]),this.colors.push(i[2]),this.colors.push(i[3]),this.nvertices++}vertex0(e,t){return this.vertices.push(e[0]),this.vertices.push(e[1]),this.vertices.push(e[2]),this.vertices.push(t),this.materialIndices.push(materialIndex),this.nvertices++}iVertex(e,t,i,a=[0,0,0,0]){let n=6*e;this.vertices[n]=t[0],this.vertices[n+1]=t[1],this.vertices[n+2]=t[2],this.vertices[n+3]=i[0],this.vertices[n+4]=i[1],this.vertices[n+5]=i[2],this.materialIndices[e]=materialIndex;let r=4*e;this.colors[r]=a[0],this.colors[r+1]=a[1],this.colors[r+2]=a[2],this.colors[r+3]=a[3],this.indices.push(e)}append(e){append(this.vertices,e.vertices),append(this.materialIndices,e.materialIndices),append(this.colors,e.colors),appendOffset(this.indices,e.indices,this.nvertices),this.nvertices+=e.nvertices}}function append(e,t){let i=e.length,a=t.length;e.length+=a;for(let n=0;n<a;++n)e[i+n]=t[n]}function appendOffset(e,t,i){let a=e.length,n=t.length;e.length+=t.length;for(let r=0;r<n;++r)e[a+r]=t[r]+i}class Geometry{constructor(){this.data=new vertexBuffer,this.Onscreen=!1,this.m=[]}offscreen(e){let t=projViewMat,i=e[0],a=i[0],n=i[1],r=i[2],s=1/(t[3]*a+t[7]*n+t[11]*r+t[15]);this.x=this.X=(t[0]*a+t[4]*n+t[8]*r+t[12])*s,this.y=this.Y=(t[1]*a+t[5]*n+t[9]*r+t[13])*s;for(let i=1,a=e.length;i<a;++i){let a=e[i],n=a[0],r=a[1],s=a[2],o=1/(t[3]*n+t[7]*r+t[11]*s+t[15]),l=(t[0]*n+t[4]*r+t[8]*s+t[12])*o,h=(t[1]*n+t[5]*r+t[9]*s+t[13])*o;l<this.x?this.x=l:l>this.X&&(this.X=l),h<this.y?this.y=h:h>this.Y&&(this.Y=h)}return(this.X<-1.01||this.x>1.01||this.Y<-1.01||this.y>1.01)&&(this.Onscreen=!1,!0)}T(e){let t=this.c[0],i=this.c[1],a=this.c[2],n=e[0]-t,r=e[1]-i,s=e[2]-a;return[n*normMat[0]+r*normMat[3]+s*normMat[6]+t,n*normMat[1]+r*normMat[4]+s*normMat[7]+i,n*normMat[2]+r*normMat[5]+s*normMat[8]+a]}Tcorners(e,t){return[this.T(e),this.T([e[0],e[1],t[2]]),this.T([e[0],t[1],e[2]]),this.T([e[0],t[1],t[2]]),this.T([t[0],e[1],e[2]]),this.T([t[0],e[1],t[2]]),this.T([t[0],t[1],e[2]]),this.T(t)]}setMaterial(e,t){null==e.materialTable[this.MaterialIndex]&&(e.materials.length>=Nmaterials&&(e.partial=!0,t()),e.materialTable[this.MaterialIndex]=e.materials.length,e.materials.push(Materials[this.MaterialIndex])),materialIndex=e.materialTable[this.MaterialIndex]}render(){let e;if(this.setMaterialIndex(),0==this.CenterIndex?e=corners(this.Min,this.Max):(this.c=Centers[this.CenterIndex-1],e=this.Tcorners(this.Min,this.Max)),this.offscreen(e))return this.data.clear(),void this.notRendered();let t,i=this.controlpoints;if(0==this.CenterIndex){if(!remesh&&this.Onscreen)return void this.append();t=i}else{let e=i.length;t=Array(e);for(let a=0;a<e;++a)t[a]=this.T(i[a])}let a=orthographic?1:this.Min[2]/maxBound[2],n=.75*Math.hypot(a*(viewParam.xmax-viewParam.xmin),a*(viewParam.ymax-viewParam.ymin))/size2;this.res2=n*n,this.Epsilon=.1*n,this.data.clear(),this.notRendered(),this.Onscreen=!0,this.process(t)}}class BezierPatch extends Geometry{constructor(e,t,i,a,n,r){super(),this.controlpoints=e,this.CenterIndex=t,this.MaterialIndex=i,this.Min=a,this.Max=n,this.color=r;let s=e.length;if(r){let e=r[0][3]+r[1][3]+r[2][3];this.transparent=16==s||4==s?e+r[3][3]<1020:e<765}else this.transparent=Materials[i].diffuse[3]<1;this.vertex=this.transparent?this.data.Vertex.bind(this.data):this.data.vertex.bind(this.data),this.L2norm(this.controlpoints)}setMaterialIndex(){this.transparent?this.setMaterial(transparentData,drawTransparent):this.color?this.setMaterial(colorData,drawColor):this.setMaterial(materialData,drawMaterial)}L2norm(e){let t=e[0];this.epsilon=0;let i=e.length;for(let a=1;a<i;++a)this.epsilon=Math.max(this.epsilon,abs2([e[a][0]-t[0],e[a][1]-t[1],e[a][2]-t[2]]));this.epsilon*=Number.EPSILON}processTriangle(e){let t=e[0],i=e[1],a=e[2],n=unit(cross([i[0]-t[0],i[1]-t[1],i[2]-t[2]],[a[0]-t[0],a[1]-t[1],a[2]-t[2]]));if(!this.offscreen([t,i,a])){let e,r,s;this.color?(e=this.data.Vertex(t,n,this.color[0]),r=this.data.Vertex(i,n,this.color[1]),s=this.data.Vertex(a,n,this.color[2])):(e=this.vertex(t,n),r=this.vertex(i,n),s=this.vertex(a,n)),0==wireframe?(this.data.indices.push(e),this.data.indices.push(r),this.data.indices.push(s)):(this.data.indices.push(e),this.data.indices.push(r),this.data.indices.push(r),this.data.indices.push(s),this.data.indices.push(s),this.data.indices.push(e)),this.append()}}processQuad(e){let t=e[0],i=e[1],a=e[2],n=e[3],r=cross([i[0]-t[0],i[1]-t[1],i[2]-t[2]],[a[0]-i[0],a[1]-i[1],a[2]-i[2]]),s=cross([a[0]-n[0],a[1]-n[1],a[2]-n[2]],[n[0]-t[0],n[1]-t[1],n[2]-t[2]]),o=unit([r[0]+s[0],r[1]+s[1],r[2]+s[2]]);if(!this.offscreen([t,i,a,n])){let e,r,s,l;this.color?(e=this.data.Vertex(t,o,this.color[0]),r=this.data.Vertex(i,o,this.color[1]),s=this.data.Vertex(a,o,this.color[2]),l=this.data.Vertex(n,o,this.color[3])):(e=this.vertex(t,o),r=this.vertex(i,o),s=this.vertex(a,o),l=this.vertex(n,o)),0==wireframe?(this.data.indices.push(e),this.data.indices.push(r),this.data.indices.push(s),this.data.indices.push(e),this.data.indices.push(s),this.data.indices.push(l)):(this.data.indices.push(e),this.data.indices.push(r),this.data.indices.push(r),this.data.indices.push(s),this.data.indices.push(s),this.data.indices.push(l),this.data.indices.push(l),this.data.indices.push(e)),this.append()}}curve(e,t,i,a,n){new BezierCurve([e[t],e[i],e[a],e[n]],0,materialIndex,this.Min,this.Max).render()}process(e){if(this.transparent&&1!=wireframe&&(materialIndex=this.color?-1-materialIndex:1+materialIndex),10==e.length)return this.process3(e);if(3==e.length)return this.processTriangle(e);if(4==e.length)return this.processQuad(e);if(1==wireframe)return this.curve(e,0,4,8,12),this.curve(e,12,13,14,15),this.curve(e,15,11,7,3),void this.curve(e,3,2,1,0);let t=e[0],i=e[3],a=e[12],n=e[15],r=this.normal(i,e[2],e[1],t,e[4],e[8],a);abs2(r)<this.epsilon&&(r=this.normal(i,e[2],e[1],t,e[13],e[14],n),abs2(r)<this.epsilon&&(r=this.normal(n,e[11],e[7],i,e[4],e[8],a)));let s=this.normal(t,e[4],e[8],a,e[13],e[14],n);abs2(s)<this.epsilon&&(s=this.normal(t,e[4],e[8],a,e[11],e[7],i),abs2(s)<this.epsilon&&(s=this.normal(i,e[2],e[1],t,e[13],e[14],n)));let o=this.normal(a,e[13],e[14],n,e[11],e[7],i);abs2(o)<this.epsilon&&(o=this.normal(a,e[13],e[14],n,e[2],e[1],t),abs2(o)<this.epsilon&&(o=this.normal(t,e[4],e[8],a,e[11],e[7],i)));let l=this.normal(n,e[11],e[7],i,e[2],e[1],t);if(abs2(l)<this.epsilon&&(l=this.normal(n,e[11],e[7],i,e[4],e[8],a),abs2(l)<this.epsilon&&(l=this.normal(a,e[13],e[14],n,e[2],e[1],t))),this.color){let h=this.color[0],c=this.color[1],d=this.color[2],m=this.color[3],f=this.data.Vertex(t,r,h),u=this.data.Vertex(a,s,c),p=this.data.Vertex(n,o,d),g=this.data.Vertex(i,l,m);this.Render(e,f,u,p,g,t,a,n,i,!1,!1,!1,!1,h,c,d,m)}else{let h=this.vertex(t,r),c=this.vertex(a,s),d=this.vertex(n,o),m=this.vertex(i,l);this.Render(e,h,c,d,m,t,a,n,i,!1,!1,!1,!1)}this.data.indices.length>0&&this.append()}append(){this.transparent?transparentData.append(this.data):this.color?colorData.append(this.data):materialData.append(this.data)}notRendered(){this.transparent?transparentData.rendered=!1:this.color?colorData.rendered=!1:materialData.rendered=!1}Render(e,t,i,a,n,r,s,o,l,h,c,d,m,f,u,p,g){let v=this.Distance(e);if(v[0]<this.res2&&v[1]<this.res2)this.offscreen([r,s,o])||(0==wireframe?(this.data.indices.push(t),this.data.indices.push(i),this.data.indices.push(a)):(this.data.indices.push(t),this.data.indices.push(i),this.data.indices.push(i),this.data.indices.push(a))),this.offscreen([r,o,l])||(0==wireframe?(this.data.indices.push(t),this.data.indices.push(a),this.data.indices.push(n)):(this.data.indices.push(a),this.data.indices.push(n),this.data.indices.push(n),this.data.indices.push(t)));else{if(this.offscreen(e))return;let x=e[0],w=e[3],M=e[12],b=e[15];if(v[0]<this.res2){let v=new Split3(x,e[1],e[2],w),T=new Split3(e[4],e[5],e[6],e[7]),S=new Split3(e[8],e[9],e[10],e[11]),R=new Split3(M,e[13],e[14],b),I=[x,v.m0,v.m3,v.m5,e[4],T.m0,T.m3,T.m5,e[8],S.m0,S.m3,S.m5,M,R.m0,R.m3,R.m5],A=[v.m5,v.m4,v.m2,w,T.m5,T.m4,T.m2,e[7],S.m5,S.m4,S.m2,e[11],R.m5,R.m4,R.m2,b],E=this.normal(I[12],I[13],I[14],I[15],I[11],I[7],I[3]);abs2(E)<=this.epsilon&&(E=this.normal(I[12],I[13],I[14],I[15],I[2],I[1],I[0]),abs2(E)<=this.epsilon&&(E=this.normal(I[0],I[4],I[8],I[12],I[11],I[7],I[3])));let P=this.normal(A[3],A[2],A[1],A[0],A[4],A[8],A[12]);abs2(P)<=this.epsilon&&(P=this.normal(A[3],A[2],A[1],A[0],A[13],A[14],A[15]),abs2(P)<=this.epsilon&&(P=this.normal(A[15],A[11],A[7],A[3],A[4],A[8],A[12])));let L=this.Epsilon,D=[.5*(s[0]+o[0]),.5*(s[1]+o[1]),.5*(s[2]+o[2])];if(!c)if(c=Straightness(M,e[13],e[14],b)<this.res2){let e=unit(this.differential(A[12],A[8],A[4],A[0]));D=[D[0]-L*e[0],D[1]-L*e[1],D[2]-L*e[2]]}else D=I[15];let y=[.5*(l[0]+r[0]),.5*(l[1]+r[1]),.5*(l[2]+r[2])];if(!m)if(m=Straightness(x,e[1],e[2],w)<this.res2){let e=unit(this.differential(I[3],I[7],I[11],I[15]));y=[y[0]-L*e[0],y[1]-L*e[1],y[2]-L*e[2]]}else y=A[0];if(f){let e=Array(4),v=Array(4);for(let t=0;t<4;++t)e[t]=.5*(u[t]+p[t]),v[t]=.5*(g[t]+f[t]);let x=this.data.Vertex(D,E,e),w=this.data.Vertex(y,P,v);this.Render(I,t,i,x,w,r,s,D,y,h,c,!1,m,f,u,e,v),this.Render(A,w,x,a,n,y,D,o,l,!1,c,d,m,v,e,p,g)}else{let e=this.vertex(D,E),f=this.vertex(y,P);this.Render(I,t,i,e,f,r,s,D,y,h,c,!1,m),this.Render(A,f,e,a,n,y,D,o,l,!1,c,d,m)}return}if(v[1]<this.res2){let v=new Split3(x,e[4],e[8],M),T=new Split3(e[1],e[5],e[9],e[13]),S=new Split3(e[2],e[6],e[10],e[14]),R=new Split3(w,e[7],e[11],b),I=[x,e[1],e[2],w,v.m0,T.m0,S.m0,R.m0,v.m3,T.m3,S.m3,R.m3,v.m5,T.m5,S.m5,R.m5],A=[v.m5,T.m5,S.m5,R.m5,v.m4,T.m4,S.m4,R.m4,v.m2,T.m2,S.m2,R.m2,M,e[13],e[14],b],E=this.normal(I[0],I[4],I[8],I[12],I[13],I[14],I[15]);abs2(E)<=this.epsilon&&(E=this.normal(I[0],I[4],I[8],I[12],I[11],I[7],I[3]),abs2(E)<=this.epsilon&&(E=this.normal(I[3],I[2],I[1],I[0],I[13],I[14],I[15])));let P=this.normal(A[15],A[11],A[7],A[3],A[2],A[1],A[0]);abs2(P)<=this.epsilon&&(P=this.normal(A[15],A[11],A[7],A[3],A[4],A[8],A[12]),abs2(P)<=this.epsilon&&(P=this.normal(A[12],A[13],A[14],A[15],A[2],A[1],A[0])));let L=this.Epsilon,D=[.5*(r[0]+s[0]),.5*(r[1]+s[1]),.5*(r[2]+s[2])];if(!h)if(h=Straightness(x,e[4],e[8],M)<this.res2){let e=unit(this.differential(A[0],A[1],A[2],A[3]));D=[D[0]-L*e[0],D[1]-L*e[1],D[2]-L*e[2]]}else D=I[12];let y=[.5*(o[0]+l[0]),.5*(o[1]+l[1]),.5*(o[2]+l[2])];if(!d)if(d=Straightness(b,e[11],e[7],w)<this.res2){let e=unit(this.differential(I[15],I[14],I[13],I[12]));y=[y[0]-L*e[0],y[1]-L*e[1],y[2]-L*e[2]]}else y=A[3];if(f){let e=Array(4),v=Array(4);for(let t=0;t<4;++t)e[t]=.5*(f[t]+u[t]),v[t]=.5*(p[t]+g[t]);let x=this.data.Vertex(D,E,e),w=this.data.Vertex(y,P,v);this.Render(I,t,x,w,n,r,D,y,l,h,!1,d,m,f,e,v,g),this.Render(A,x,i,a,w,D,s,o,y,h,c,d,!1,e,u,p,v)}else{let e=this.vertex(D,E),f=this.vertex(y,P);this.Render(I,t,e,f,n,r,D,y,l,h,!1,d,m),this.Render(A,e,i,a,f,D,s,o,y,h,c,d,!1)}return}let T=new Split3(x,e[1],e[2],w),S=new Split3(e[4],e[5],e[6],e[7]),R=new Split3(e[8],e[9],e[10],e[11]),I=new Split3(M,e[13],e[14],b),A=new Split3(x,e[4],e[8],M),E=new Split3(T.m0,S.m0,R.m0,I.m0),P=new Split3(T.m3,S.m3,R.m3,I.m3),L=new Split3(T.m5,S.m5,R.m5,I.m5),D=new Split3(T.m4,S.m4,R.m4,I.m4),y=new Split3(T.m2,S.m2,R.m2,I.m2),O=new Split3(w,e[7],e[11],b),B=[x,T.m0,T.m3,T.m5,A.m0,E.m0,P.m0,L.m0,A.m3,E.m3,P.m3,L.m3,A.m5,E.m5,P.m5,L.m5],N=[A.m5,E.m5,P.m5,L.m5,A.m4,E.m4,P.m4,L.m4,A.m2,E.m2,P.m2,L.m2,M,I.m0,I.m3,I.m5],z=[L.m5,D.m5,y.m5,O.m5,L.m4,D.m4,y.m4,O.m4,L.m2,D.m2,y.m2,O.m2,I.m5,I.m4,I.m2,b],_=[T.m5,T.m4,T.m2,w,L.m0,D.m0,y.m0,O.m0,L.m3,D.m3,y.m3,O.m3,L.m5,D.m5,y.m5,O.m5],C=B[15],V=this.normal(B[0],B[4],B[8],B[12],B[13],B[14],B[15]);abs2(V)<this.epsilon&&(V=this.normal(B[0],B[4],B[8],B[12],B[11],B[7],B[3]),abs2(V)<this.epsilon&&(V=this.normal(B[3],B[2],B[1],B[0],B[13],B[14],B[15])));let U=this.normal(N[12],N[13],N[14],N[15],N[11],N[7],N[3]);abs2(U)<this.epsilon&&(U=this.normal(N[12],N[13],N[14],N[15],N[2],N[1],N[0]),abs2(U)<this.epsilon&&(U=this.normal(N[0],N[4],N[8],N[12],N[11],N[7],N[3])));let H=this.normal(z[15],z[11],z[7],z[3],z[2],z[1],z[0]);abs2(H)<this.epsilon&&(H=this.normal(z[15],z[11],z[7],z[3],z[4],z[8],z[12]),abs2(H)<this.epsilon&&(H=this.normal(z[12],z[13],z[14],z[15],z[2],z[1],z[0])));let G=this.normal(_[3],_[2],_[1],_[0],_[4],_[8],_[12]);abs2(G)<this.epsilon&&(G=this.normal(_[3],_[2],_[1],_[0],_[13],_[14],_[15]),abs2(G)<this.epsilon&&(G=this.normal(_[15],_[11],_[7],_[3],_[4],_[8],_[12])));let F=this.normal(z[3],z[2],z[1],C,z[4],z[8],z[12]),X=this.Epsilon,W=[.5*(r[0]+s[0]),.5*(r[1]+s[1]),.5*(r[2]+s[2])];if(!h)if(h=Straightness(x,e[4],e[8],M)<this.res2){let e=unit(this.differential(N[0],N[1],N[2],N[3]));W=[W[0]-X*e[0],W[1]-X*e[1],W[2]-X*e[2]]}else W=B[12];let j=[.5*(s[0]+o[0]),.5*(s[1]+o[1]),.5*(s[2]+o[2])];if(!c)if(c=Straightness(M,e[13],e[14],b)<this.res2){let e=unit(this.differential(z[12],z[8],z[4],z[0]));j=[j[0]-X*e[0],j[1]-X*e[1],j[2]-X*e[2]]}else j=N[15];let Z=[.5*(o[0]+l[0]),.5*(o[1]+l[1]),.5*(o[2]+l[2])];if(!d)if(d=Straightness(b,e[11],e[7],w)<this.res2){let e=unit(this.differential(_[15],_[14],_[13],_[12]));Z=[Z[0]-X*e[0],Z[1]-X*e[1],Z[2]-X*e[2]]}else Z=z[3];let k=[.5*(l[0]+r[0]),.5*(l[1]+r[1]),.5*(l[2]+r[2])];if(!m)if(m=Straightness(x,e[1],e[2],w)<this.res2){let e=unit(this.differential(B[3],B[7],B[11],B[15]));k=[k[0]-X*e[0],k[1]-X*e[1],k[2]-X*e[2]]}else k=_[0];if(f){let e=Array(4),v=Array(4),x=Array(4),w=Array(4),M=Array(4);for(let t=0;t<4;++t)e[t]=.5*(f[t]+u[t]),v[t]=.5*(u[t]+p[t]),x[t]=.5*(p[t]+g[t]),w[t]=.5*(g[t]+f[t]),M[t]=.5*(e[t]+x[t]);let b=this.data.Vertex(W,V,e),T=this.data.Vertex(j,U,v),S=this.data.Vertex(Z,H,x),R=this.data.Vertex(k,G,w),I=this.data.Vertex(C,F,M);this.Render(B,t,b,I,R,r,W,C,k,h,!1,!1,m,f,e,M,w),this.Render(N,b,i,T,I,W,s,j,C,h,c,!1,!1,e,u,v,M),this.Render(z,I,T,a,S,C,j,o,Z,!1,c,d,!1,M,v,p,x),this.Render(_,R,I,S,n,k,C,Z,l,!1,!1,d,m,w,M,x,g)}else{let e=this.vertex(W,V),f=this.vertex(j,U),u=this.vertex(Z,H),p=this.vertex(k,G),g=this.vertex(C,F);this.Render(B,t,e,g,p,r,W,C,k,h,!1,!1,m),this.Render(N,e,i,f,g,W,s,j,C,h,c,!1,!1),this.Render(z,g,f,a,u,C,j,o,Z,!1,c,d,!1),this.Render(_,p,g,u,n,k,C,Z,l,!1,!1,d,m)}}}process3(e){if(1==wireframe)return this.curve(e,0,1,3,6),this.curve(e,6,7,8,9),void this.curve(e,9,5,2,0);let t=e[0],i=e[6],a=e[9],n=this.normal(a,e[5],e[2],t,e[1],e[3],i),r=this.normal(t,e[1],e[3],i,e[7],e[8],a),s=this.normal(i,e[7],e[8],a,e[5],e[2],t);if(this.color){let o=this.color[0],l=this.color[1],h=this.color[2],c=this.data.Vertex(t,n,o),d=this.data.Vertex(i,r,l),m=this.data.Vertex(a,s,h);this.Render3(e,c,d,m,t,i,a,!1,!1,!1,o,l,h)}else{let o=this.vertex(t,n),l=this.vertex(i,r),h=this.vertex(a,s);this.Render3(e,o,l,h,t,i,a,!1,!1,!1)}this.data.indices.length>0&&this.append()}Render3(e,t,i,a,n,r,s,o,l,h,c,d,m){if(this.Distance3(e)<this.res2)this.offscreen([n,r,s])||(0==wireframe?(this.data.indices.push(t),this.data.indices.push(i),this.data.indices.push(a)):(this.data.indices.push(t),this.data.indices.push(i),this.data.indices.push(i),this.data.indices.push(a),this.data.indices.push(a),this.data.indices.push(t)));else{if(this.offscreen(e))return;let f=e[0],u=e[1],p=e[2],g=e[3],v=e[4],x=e[5],w=e[6],M=e[7],b=e[8],T=e[9],S=[.5*(T[0]+x[0]),.5*(T[1]+x[1]),.5*(T[2]+x[2])],R=[.5*(T[0]+b[0]),.5*(T[1]+b[1]),.5*(T[2]+b[2])],I=[.5*(x[0]+p[0]),.5*(x[1]+p[1]),.5*(x[2]+p[2])],A=[.5*(b[0]+v[0]),.5*(b[1]+v[1]),.5*(b[2]+v[2])],E=[.5*(b[0]+M[0]),.5*(b[1]+M[1]),.5*(b[2]+M[2])],P=[.5*(p[0]+v[0]),.5*(p[1]+v[1]),.5*(p[2]+v[2])],L=[.5*(p[0]+f[0]),.5*(p[1]+f[1]),.5*(p[2]+f[2])],D=[.5*(v[0]+g[0]),.5*(v[1]+g[1]),.5*(v[2]+g[2])],y=[.5*(M[0]+w[0]),.5*(M[1]+w[1]),.5*(M[2]+w[2])],O=[.5*(f[0]+u[0]),.5*(f[1]+u[1]),.5*(f[2]+u[2])],B=[.5*(u[0]+g[0]),.5*(u[1]+g[1]),.5*(u[2]+g[2])],N=[.5*(g[0]+w[0]),.5*(g[1]+w[1]),.5*(g[2]+w[2])],z=[.5*(S[0]+I[0]),.5*(S[1]+I[1]),.5*(S[2]+I[2])],_=[.5*(R[0]+E[0]),.5*(R[1]+E[1]),.5*(R[2]+E[2])],C=[.5*(I[0]+L[0]),.5*(I[1]+L[1]),.5*(I[2]+L[2])],V=[.5*A[0]+.25*(v[0]+u[0]),.5*A[1]+.25*(v[1]+u[1]),.5*A[2]+.25*(v[2]+u[2])],U=[.5*(E[0]+y[0]),.5*(E[1]+y[1]),.5*(E[2]+y[2])],H=[.5*P[0]+.25*(v[0]+M[0]),.5*P[1]+.25*(v[1]+M[1]),.5*P[2]+.25*(v[2]+M[2])],G=[.25*(x[0]+v[0])+.5*D[0],.25*(x[1]+v[1])+.5*D[1],.25*(x[2]+v[2])+.5*D[2]],F=[.5*(O[0]+B[0]),.5*(O[1]+B[1]),.5*(O[2]+B[2])],X=[.5*(B[0]+N[0]),.5*(B[1]+N[1]),.5*(B[2]+N[2])],W=[.5*(H[0]+F[0]),.5*(H[1]+F[1]),.5*(H[2]+F[2])],j=[.5*(H[0]+X[0]),.5*(H[1]+X[1]),.5*(H[2]+X[2])],Z=[.5*(F[0]+X[0]),.5*(F[1]+X[1]),.5*(F[2]+X[2])],k=[.5*(G[0]+U[0]),.5*(G[1]+U[1]),.5*(G[2]+U[2])],Y=[.5*(_[0]+G[0]),.5*(_[1]+G[1]),.5*(_[2]+G[2])],q=[.5*(_[0]+U[0]),.5*(_[1]+U[1]),.5*(_[2]+U[2])],$=[.5*(z[0]+V[0]),.5*(z[1]+V[1]),.5*(z[2]+V[2])],K=[.5*(C[0]+V[0]),.5*(C[1]+V[1]),.5*(C[2]+V[2])],Q=[.5*(z[0]+C[0]),.5*(z[1]+C[1]),.5*(z[2]+C[2])],J=[f,O,L,F,[.5*(P[0]+O[0]),.5*(P[1]+O[1]),.5*(P[2]+O[2])],C,Z,W,K,Q],ee=[Z,X,j,N,[.5*(D[0]+y[0]),.5*(D[1]+y[1]),.5*(D[2]+y[2])],k,w,y,U,q],te=[Q,$,z,Y,[.5*(S[0]+A[0]),.5*(S[1]+A[1]),.5*(S[2]+A[2])],S,q,_,R,T],ie=[q,Y,k,$,[.25*(I[0]+E[0]+B[0]+v[0]),.25*(I[1]+E[1]+B[1]+v[1]),.25*(I[2]+E[2]+B[2]+v[2])],j,Q,K,W,Z],ae=this.normal(Z,j,k,q,Y,$,Q),ne=this.normal(q,Y,$,Q,K,W,Z),re=this.normal(Q,K,W,Z,j,k,q),se=this.Epsilon,oe=[.5*(r[0]+s[0]),.5*(r[1]+s[1]),.5*(r[2]+s[2])];if(!o)if(o=Straightness(w,M,b,T)<this.res2){let e=unit(this.sumdifferential(ie[0],ie[2],ie[5],ie[9],ie[1],ie[3],ie[6]));oe=[oe[0]-se*e[0],oe[1]-se*e[1],oe[2]-se*e[2]]}else oe=q;let le=[.5*(s[0]+n[0]),.5*(s[1]+n[1]),.5*(s[2]+n[2])];if(!l)if(l=Straightness(f,p,x,T)<this.res2){let e=unit(this.sumdifferential(ie[6],ie[3],ie[1],ie[0],ie[7],ie[8],ie[9]));le=[le[0]-se*e[0],le[1]-se*e[1],le[2]-se*e[2]]}else le=Q;let he=[.5*(n[0]+r[0]),.5*(n[1]+r[1]),.5*(n[2]+r[2])];if(!h)if(h=Straightness(f,u,g,w)<this.res2){let e=unit(this.sumdifferential(ie[9],ie[8],ie[7],ie[6],ie[5],ie[2],ie[0]));he=[he[0]-se*e[0],he[1]-se*e[1],he[2]-se*e[2]]}else he=Z;if(c){let e=Array(4),f=Array(4),u=Array(4);for(let t=0;t<4;++t)e[t]=.5*(d[t]+m[t]),f[t]=.5*(m[t]+c[t]),u[t]=.5*(c[t]+d[t]);let p=this.data.Vertex(oe,ae,e),g=this.data.Vertex(le,ne,f),v=this.data.Vertex(he,re,u);this.Render3(J,t,v,g,n,he,le,!1,l,h,c,u,f),this.Render3(ee,v,i,p,he,r,oe,o,!1,h,u,d,e),this.Render3(te,g,p,a,le,oe,s,o,l,!1,f,e,m),this.Render3(ie,p,g,v,oe,le,he,!1,!1,!1,e,f,u)}else{let e=this.vertex(oe,ae),c=this.vertex(le,ne),d=this.vertex(he,re);this.Render3(J,t,d,c,n,he,le,!1,l,h),this.Render3(ee,d,i,e,he,r,oe,o,!1,h),this.Render3(te,c,e,a,le,oe,s,o,l,!1),this.Render3(ie,e,c,d,oe,le,he,!1,!1,!1)}}}Distance(e){let t=e[0],i=e[3],a=e[12],n=e[15],r=Flatness(t,a,i,n);r=Math.max(Straightness(t,e[4],e[8],a)),r=Math.max(r,Straightness(e[1],e[5],e[9],e[13])),r=Math.max(r,Straightness(i,e[7],e[11],n)),r=Math.max(r,Straightness(e[2],e[6],e[10],e[14]));let s=Flatness(t,i,a,n);return s=Math.max(s,Straightness(t,e[1],e[2],i)),s=Math.max(s,Straightness(e[4],e[5],e[6],e[7])),s=Math.max(s,Straightness(e[8],e[9],e[10],e[11])),s=Math.max(s,Straightness(a,e[13],e[14],n)),[r,s]}Distance3(e){let t=e[0],i=e[4],a=e[6],n=e[9],r=abs2([(t[0]+a[0]+n[0])*(1/3)-i[0],(t[1]+a[1]+n[1])*(1/3)-i[1],(t[2]+a[2]+n[2])*(1/3)-i[2]]);return r=Math.max(r,Straightness(t,e[1],e[3],a)),r=Math.max(r,Straightness(t,e[2],e[5],n)),Math.max(r,Straightness(a,e[7],e[8],n))}differential(e,t,i,a){let n=[3*(t[0]-e[0]),3*(t[1]-e[1]),3*(t[2]-e[2])];return abs2(n)>this.epsilon?n:(n=bezierPP(e,t,i),abs2(n)>this.epsilon?n:bezierPPP(e,t,i,a))}sumdifferential(e,t,i,a,n,r,s){let o=this.differential(e,t,i,a),l=this.differential(e,n,r,s);return[o[0]+l[0],o[1]+l[1],o[2]+l[2]]}normal(e,t,i,a,n,r,s){let o=3*(n[0]-a[0]),l=3*(n[1]-a[1]),h=3*(n[2]-a[2]),c=3*(i[0]-a[0]),d=3*(i[1]-a[1]),m=3*(i[2]-a[2]),f=[l*m-h*d,h*c-o*m,o*d-l*c];if(abs2(f)>this.epsilon)return f;let u=[c,d,m],p=[o,l,h],g=bezierPP(a,i,t),v=bezierPP(a,n,r),x=cross(v,u),w=cross(p,g);if(f=[x[0]+w[0],x[1]+w[1],x[2]+w[2]],abs2(f)>this.epsilon)return f;let M=bezierPPP(a,i,t,e),b=bezierPPP(a,n,r,s);x=cross(p,M),w=cross(b,u);let T=cross(v,g);return f=[x[0]+w[0]+T[0],x[1]+w[1]+T[1],x[2]+w[2]+T[2]],abs2(f)>this.epsilon?f:(x=cross(b,g),w=cross(v,M),f=[x[0]+w[0],x[1]+w[1],x[2]+w[2]],abs2(f)>this.epsilon?f:cross(b,M))}}class BezierCurve extends Geometry{constructor(e,t,i,a,n){super(),this.controlpoints=e,this.CenterIndex=t,this.MaterialIndex=i,this.Min=a,this.Max=n}setMaterialIndex(){this.setMaterial(material1Data,drawMaterial1)}processLine(e){let t=e[0],i=e[1];if(!this.offscreen([t,i])){let e=[0,0,1];this.data.indices.push(this.data.vertex(t,e)),this.data.indices.push(this.data.vertex(i,e)),this.append()}}process(e){if(2==e.length)return this.processLine(e);let t=e[0],i=e[1],a=e[2],n=e[3],r=this.normal(bezierP(t,i),bezierPP(t,i,a)),s=this.normal(bezierP(a,n),bezierPP(n,a,i)),o=this.data.vertex(t,r),l=this.data.vertex(n,s);this.Render(e,o,l),this.data.indices.length>0&&this.append()}append(){material1Data.append(this.data)}notRendered(){material1Data.rendered=!1}Render(e,t,i){let a=e[0],n=e[1],r=e[2],s=e[3];if(Straightness(a,n,r,s)<this.res2)this.offscreen([a,s])||(this.data.indices.push(t),this.data.indices.push(i));else{if(this.offscreen(e))return;let o=[.5*(a[0]+n[0]),.5*(a[1]+n[1]),.5*(a[2]+n[2])],l=[.5*(n[0]+r[0]),.5*(n[1]+r[1]),.5*(n[2]+r[2])],h=[.5*(r[0]+s[0]),.5*(r[1]+s[1]),.5*(r[2]+s[2])],c=[.5*(o[0]+l[0]),.5*(o[1]+l[1]),.5*(o[2]+l[2])],d=[.5*(l[0]+h[0]),.5*(l[1]+h[1]),.5*(l[2]+h[2])],m=[.5*(c[0]+d[0]),.5*(c[1]+d[1]),.5*(c[2]+d[2])],f=[a,o,c,m],u=[m,d,h,s],p=this.normal(bezierPh(a,n,r,s),bezierPPh(a,n,r,s)),g=this.data.vertex(m,p);this.Render(f,t,g),this.Render(u,g,i)}}normal(e,t){let i=dot(e,e),a=dot(e,t);return[i*t[0]-a*e[0],i*t[1]-a*e[1],i*t[2]-a*e[2]]}}class Pixel extends Geometry{constructor(e,t,i,a,n){super(),this.controlpoint=e,this.width=t,this.CenterIndex=0,this.MaterialIndex=i,this.Min=a,this.Max=n}setMaterialIndex(){this.setMaterial(material0Data,drawMaterial0)}process(e){this.data.indices.push(this.data.vertex0(this.controlpoint,this.width)),this.append()}append(){material0Data.append(this.data)}notRendered(){material0Data.rendered=!1}}class Triangles extends Geometry{constructor(e,t,i,a){super(),this.CenterIndex=e,this.MaterialIndex=t,this.Min=i,this.Max=a,this.controlpoints=Positions,this.Normals=Normals,this.Colors=Colors,this.Indices=Indices,Positions=[],Normals=[],Colors=[],Indices=[],this.transparent=Materials[this.MaterialIndex].diffuse[3]<1}setMaterialIndex(){this.transparent?this.setMaterial(transparentData,drawTransparent):this.setMaterial(triangleData,drawTriangle)}process(e){this.data.vertices=new Array(6*e.length),materialIndex=this.Colors.length>0?-1-materialIndex:1+materialIndex;for(let t=0,i=this.Indices.length;t<i;++t){let i=this.Indices[t],a=i[0],n=e[a[0]],r=e[a[1]],s=e[a[2]];if(!this.offscreen([n,r,s])){let e=i.length>1?i[1]:a;if(e&&0!=e.length||(e=a),this.Colors.length>0){let t=i.length>2?i[2]:a;t&&0!=t.length||(t=a);let o=this.Colors[t[0]],l=this.Colors[t[1]],h=this.Colors[t[2]];this.transparent|=o[3]+l[3]+h[3]<765,0==wireframe?(this.data.iVertex(a[0],n,this.Normals[e[0]],o),this.data.iVertex(a[1],r,this.Normals[e[1]],l),this.data.iVertex(a[2],s,this.Normals[e[2]],h)):(this.data.iVertex(a[0],n,this.Normals[e[0]],o),this.data.iVertex(a[1],r,this.Normals[e[1]],l),this.data.iVertex(a[1],r,this.Normals[e[1]],l),this.data.iVertex(a[2],s,this.Normals[e[2]],h),this.data.iVertex(a[2],s,this.Normals[e[2]],h),this.data.iVertex(a[0],n,this.Normals[e[0]],o))}else 0==wireframe?(this.data.iVertex(a[0],n,this.Normals[e[0]]),this.data.iVertex(a[1],r,this.Normals[e[1]]),this.data.iVertex(a[2],s,this.Normals[e[2]])):(this.data.iVertex(a[0],n,this.Normals[e[0]]),this.data.iVertex(a[1],r,this.Normals[e[1]]),this.data.iVertex(a[1],r,this.Normals[e[1]]),this.data.iVertex(a[2],s,this.Normals[e[2]]),this.data.iVertex(a[2],s,this.Normals[e[2]]),this.data.iVertex(a[0],n,this.Normals[e[0]]))}}this.data.nvertices=e.length,this.data.indices.length>0&&this.append()}append(){this.transparent?transparentData.append(this.data):triangleData.append(this.data)}notRendered(){this.transparent?transparentData.rendered=!1:triangleData.rendered=!1}}function redrawScene(){initProjection(),setProjection(),remesh=!0,drawScene()}function home(){mat4.identity(rotMat),redrawScene()}let positionAttribute=0,normalAttribute=1,materialAttribute=2,colorAttribute=3,widthAttribute=4;function initShader(e=[]){let t=getShader(gl,vertex,gl.VERTEX_SHADER,e),i=getShader(gl,fragment,gl.FRAGMENT_SHADER,e),a=gl.createProgram();return gl.attachShader(a,t),gl.attachShader(a,i),gl.bindAttribLocation(a,positionAttribute,"position"),gl.bindAttribLocation(a,normalAttribute,"normal"),gl.bindAttribLocation(a,materialAttribute,"materialIndex"),gl.bindAttribLocation(a,colorAttribute,"color"),gl.bindAttribLocation(a,widthAttribute,"width"),gl.linkProgram(a),gl.getProgramParameter(a,gl.LINK_STATUS)||alert("Could not initialize shaders"),a}class Split3{constructor(e,t,i,a){this.m0=[.5*(e[0]+t[0]),.5*(e[1]+t[1]),.5*(e[2]+t[2])];let n=.5*(t[0]+i[0]),r=.5*(t[1]+i[1]),s=.5*(t[2]+i[2]);this.m2=[.5*(i[0]+a[0]),.5*(i[1]+a[1]),.5*(i[2]+a[2])],this.m3=[.5*(this.m0[0]+n),.5*(this.m0[1]+r),.5*(this.m0[2]+s)],this.m4=[.5*(n+this.m2[0]),.5*(r+this.m2[1]),.5*(s+this.m2[2])],this.m5=[.5*(this.m3[0]+this.m4[0]),.5*(this.m3[1]+this.m4[1]),.5*(this.m3[2]+this.m4[2])]}}function unit(e){let t=1/(Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1);return[e[0]*t,e[1]*t,e[2]*t]}function abs2(e){return e[0]*e[0]+e[1]*e[1]+e[2]*e[2]}function dot(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function cross(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function bezierP(e,t){return[t[0]-e[0],t[1]-e[1],t[2]-e[2]]}function bezierPP(e,t,i){return[3*(e[0]+i[0])-6*t[0],3*(e[1]+i[1])-6*t[1],3*(e[2]+i[2])-6*t[2]]}function bezierPPP(e,t,i,a){return[a[0]-e[0]+3*(t[0]-i[0]),a[1]-e[1]+3*(t[1]-i[1]),a[2]-e[2]+3*(t[2]-i[2])]}function bezierPh(e,t,i,a){return[i[0]+a[0]-e[0]-t[0],i[1]+a[1]-e[1]-t[1],i[2]+a[2]-e[2]-t[2]]}function bezierPPh(e,t,i,a){return[3*e[0]-5*t[0]+i[0]+a[0],3*e[1]-5*t[1]+i[1]+a[1],3*e[2]-5*t[2]+i[2]+a[2]]}function Straightness(e,t,i,a){let n=[1/3*(a[0]-e[0]),1/3*(a[1]-e[1]),1/3*(a[2]-e[2])];return Math.max(abs2([t[0]-n[0]-e[0],t[1]-n[1]-e[1],t[2]-n[2]-e[2]]),abs2([a[0]-n[0]-i[0],a[1]-n[1]-i[1],a[2]-n[2]-i[2]]))}function Flatness(e,t,i,a){let n=[t[0]-e[0],t[1]-e[1],t[2]-e[2]],r=[a[0]-i[0],a[1]-i[1],a[2]-i[2]];return Math.max(abs2(cross(n,unit(r))),abs2(cross(r,unit(n))))/9}function corners(e,t){return[e,[e[0],e[1],t[2]],[e[0],t[1],e[2]],[e[0],t[1],t[2]],[t[0],e[1],e[2]],[t[0],e[1],t[2]],[t[0],t[1],e[2]],t]}function minbound(e){return[Math.min(e[0][0],e[1][0],e[2][0],e[3][0],e[4][0],e[5][0],e[6][0],e[7][0]),Math.min(e[0][1],e[1][1],e[2][1],e[3][1],e[4][1],e[5][1],e[6][1],e[7][1]),Math.min(e[0][2],e[1][2],e[2][2],e[3][2],e[4][2],e[5][2],e[6][2],e[7][2])]}function maxbound(e){return[Math.max(e[0][0],e[1][0],e[2][0],e[3][0],e[4][0],e[5][0],e[6][0],e[7][0]),Math.max(e[0][1],e[1][1],e[2][1],e[3][1],e[4][1],e[5][1],e[6][1],e[7][1]),Math.max(e[0][2],e[1][2],e[2][2],e[3][2],e[4][2],e[5][2],e[6][2],e[7][2])]}function COBTarget(e,t){mat4.fromTranslation(T,[center.x,center.y,center.z]),mat4.invert(cjMatInv,T),mat4.multiply(e,t,cjMatInv),mat4.multiply(e,T,e)}function setUniforms(e,t){let i=t==pixelShader;gl.useProgram(t),gl.enableVertexAttribArray(positionAttribute),i&&gl.enableVertexAttribArray(widthAttribute);let a=!i&&Lights.length>0;if(a&&gl.enableVertexAttribArray(normalAttribute),gl.enableVertexAttribArray(materialAttribute),t.projViewMatUniform=gl.getUniformLocation(t,"projViewMat"),t.viewMatUniform=gl.getUniformLocation(t,"viewMat"),t.normMatUniform=gl.getUniformLocation(t,"normMat"),t!=colorShader&&t!=transparentShader||gl.enableVertexAttribArray(colorAttribute),a)for(let e=0;e<Lights.length;++e)Lights[e].setUniform(t,e);for(let i=0;i<e.materials.length;++i)e.materials[i].setUniform(t,i);gl.uniformMatrix4fv(t.projViewMatUniform,!1,projViewMat),gl.uniformMatrix4fv(t.viewMatUniform,!1,viewMat),gl.uniformMatrix3fv(t.normMatUniform,!1,normMat)}function handleMouseDown(e){zoomEnabled||enableZoom(),mouseDownOrTouchActive=!0,lastMouseX=e.clientX,lastMouseY=e.clientY}let pinchStart,touchStartTime,pinch=!1;function pinchDistance(e){return Math.hypot(e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY)}function handleTouchStart(e){e.preventDefault(),zoomEnabled||enableZoom();let t=e.targetTouches;swipe=rotate=pinch=!1,zooming||(1!=t.length||mouseDownOrTouchActive||(touchStartTime=(new Date).getTime(),touchId=t[0].identifier,lastMouseX=t[0].pageX,lastMouseY=t[0].pageY),2!=t.length||mouseDownOrTouchActive||(touchId=t[0].identifier,pinchStart=pinchDistance(t),pinch=!0))}function handleMouseUpOrTouchEnd(e){mouseDownOrTouchActive=!1}function rotateScene(e,t,i,a,n){if(e==i&&t==a)return;let[r,s]=arcball([e,-t],[i,-a]);mat4.fromRotation(T,2*n*ArcballFactor*r/Zoom,s),mat4.multiply(rotMat,T,rotMat)}function shiftScene(e,t,i,a){let n=1/Zoom;shift.x+=(i-e)*n*halfCanvasWidth,shift.y-=(a-t)*n*halfCanvasHeight}function panScene(e,t,i,a){orthographic?shiftScene(e,t,i,a):(center.x+=(i-e)*(viewParam.xmax-viewParam.xmin),center.y-=(a-t)*(viewParam.ymax-viewParam.ymin))}function updateViewMatrix(){COBTarget(viewMat,rotMat),mat4.translate(viewMat,viewMat,[center.x,center.y,0]),mat3.fromMat4(viewMat3,viewMat),mat3.invert(normMat,viewMat3),mat4.multiply(projViewMat,projMat,viewMat)}function capzoom(){let e=Math.sqrt(Number.MAX_VALUE),t=1/e;Zoom<=t&&(Zoom=t),Zoom>=e&&(Zoom=e),(1.5*Zoom<lastZoom||Zoom>1.5*lastZoom)&&(remesh=!0,lastZoom=Zoom)}function zoomImage(e){let t=zoomStep*halfCanvasHeight*e;const i=Math.log(.1*Number.MAX_VALUE)/Math.log(zoomFactor);Math.abs(t)<i&&(Zoom*=zoomFactor**t,capzoom())}function normMouse(e){let t=e[0],i=e[1],a=Math.hypot(t,i);return a>1&&(denom=1/a,t*=denom,i*=denom),[t,i,Math.sqrt(Math.max(1-i*i-t*t,0))]}function arcball(e,t){let i=normMouse(e),a=normMouse(t),n=dot(i,a);return[n>1?0:n<-1?pi:Math.acos(n),unit(cross(i,a))]}function zoomScene(e,t,i,a){zoomImage(t-a)}const DRAGMODE_ROTATE=1,DRAGMODE_SHIFT=2,DRAGMODE_ZOOM=3,DRAGMODE_PAN=4;function processDrag(e,t,i,a=1){let n;switch(i){case 1:n=rotateScene;break;case 2:n=shiftScene;break;case 3:n=zoomScene;break;case 4:n=panScene;break;default:n=(e,t,i,a)=>{}}n((lastMouseX-halfCanvasWidth)/halfCanvasWidth,(lastMouseY-halfCanvasHeight)/halfCanvasHeight,(e-halfCanvasWidth)/halfCanvasWidth,(t-halfCanvasHeight)/halfCanvasHeight,a),lastMouseX=e,lastMouseY=t,setProjection(),drawScene()}let zoomEnabled=0;function enableZoom(){zoomEnabled=1,canvas.addEventListener("wheel",handleMouseWheel,!1)}function disableZoom(){zoomEnabled=0,canvas.removeEventListener("wheel",handleMouseWheel,!1)}function handleKey(e){if(zoomEnabled||enableZoom(),embedded&&zoomEnabled&&27==e.keyCode)return void disableZoom();let t=[];switch(e.key){case"x":t=[1,0,0];break;case"y":t=[0,1,0];break;case"z":t=[0,0,1];break;case"h":home();break;case"m":++wireframe,3==wireframe&&(wireframe=0),2!=wireframe&&(embedded||deleteShaders(),initShaders(ibl)),remesh=!0,drawScene();break;case"+":case"=":case">":expand();break;case"-":case"_":case"<":shrink()}t.length>0&&(mat4.rotate(rotMat,rotMat,.1,t),updateViewMatrix(),drawScene())}function setZoom(){capzoom(),setProjection(),drawScene()}function handleMouseWheel(e){e.preventDefault(),e.deltaY<0?Zoom*=zoomFactor:Zoom/=zoomFactor,setZoom()}function handleMouseMove(e){if(!mouseDownOrTouchActive)return;let t,i=e.clientX,a=e.clientY;t=e.getModifierState("Control")?2:e.getModifierState("Shift")?3:e.getModifierState("Alt")?4:1,processDrag(i,a,t)}let zooming=!1,swipe=!1,rotate=!1;function handleTouchMove(e){if(e.preventDefault(),zooming)return;let t=e.targetTouches;if(!pinch&&1==t.length&&touchId==t[0].identifier){let e=t[0].pageX,i=t[0].pageY,a=e-lastMouseX,n=i-lastMouseY,r=a*a+n*n<=shiftHoldDistance*shiftHoldDistance;if(r&&!swipe&&!rotate&&(new Date).getTime()-touchStartTime>shiftWaitTime&&(navigator.vibrate&&window.navigator.vibrate(vibrateTime),swipe=!0),swipe)processDrag(e,i,2);else if(!r){rotate=!0,processDrag(t[0].pageX,t[0].pageY,1,.5)}}if(pinch&&!swipe&&2==t.length&&touchId==t[0].identifier){let e=pinchDistance(t),i=e-pinchStart;zooming=!0,i*=zoomPinchFactor,i>zoomPinchCap&&(i=zoomPinchCap),i<-zoomPinchCap&&(i=-zoomPinchCap),zoomImage(i/size2),pinchStart=e,swipe=rotate=zooming=!1,setProjection(),drawScene()}}let pixelShader,materialShader,colorShader,transparentShader,zbuffer=[];function transformVertices(e){let t=viewMat[2],i=viewMat[6],a=viewMat[10];zbuffer.length=e.length;for(let n=0;n<e.length;++n){let r=6*n;zbuffer[n]=t*e[r]+i*e[r+1]+a*e[r+2]}}function drawMaterial0(){drawBuffer(material0Data,pixelShader),material0Data.clear()}function drawMaterial1(){drawBuffer(material1Data,materialShader),material1Data.clear()}function drawMaterial(){drawBuffer(materialData,materialShader),materialData.clear()}function drawColor(){drawBuffer(colorData,colorShader),colorData.clear()}function drawTriangle(){drawBuffer(triangleData,transparentShader),triangleData.rendered=!1,triangleData.clear()}function drawTransparent(){let e=transparentData.indices;if(wireframe>0)return drawBuffer(transparentData,transparentShader,e),void transparentData.clear();if(e.length>0){transformVertices(transparentData.vertices);let t=e.length/3,i=Array(t).fill().map((e,t)=>t);i.sort((function(t,i){let a=3*t;Ia=e[a],Ib=e[a+1],Ic=e[a+2];let n=3*i;return IA=e[n],IB=e[n+1],IC=e[n+2],zbuffer[Ia]+zbuffer[Ib]+zbuffer[Ic]<zbuffer[IA]+zbuffer[IB]+zbuffer[IC]?-1:1}));let a=Array(e.length);for(let n=0;n<t;++n){let t=3*i[n];a[3*n]=e[t],a[3*n+1]=e[t+1],a[3*n+2]=e[t+2]}gl.depthMask(!1),drawBuffer(transparentData,transparentShader,a),transparentData.rendered=!1,gl.depthMask(!0)}transparentData.clear()}function drawBuffers(){drawMaterial0(),drawMaterial1(),drawMaterial(),drawColor(),drawTriangle(),drawTransparent(),requestAnimationFrame(drawBuffers)}function drawScene(){embedded&&(offscreen.width=canvasWidth,offscreen.height=canvasHeight,setViewport()),gl.clearColor(Background[0],Background[1],Background[2],Background[3]),gl.clear(gl.COLOR_BUFFER_BIT|gl.DEPTH_BUFFER_BIT);for(let e=0;e<P.length;++e)P[e].render();drawBuffers(),embedded&&(context.clearRect(0,0,canvasWidth,canvasHeight),context.drawImage(offscreen,0,0)),0==wireframe&&(remesh=!1)}function setDimensions(e,t,i,a){let n=e/t,r=1/Zoom,s=(i/e+viewportShift[0])*Zoom,o=(a/t+viewportShift[1])*Zoom;if(orthographic){let e=maxBound[0]-minBound[0],t=maxBound[1]-minBound[1];if(e<t*n){let e=.5*t*n*r,i=2*e*s,a=t*r*o;viewParam.xmin=-e-i,viewParam.xmax=e-i,viewParam.ymin=minBound[1]*r-a,viewParam.ymax=maxBound[1]*r-a}else{let t=.5*e/(n*Zoom),i=e*r*s,a=2*t*o;viewParam.xmin=minBound[0]*r-i,viewParam.xmax=maxBound[0]*r-i,viewParam.ymin=-t-a,viewParam.ymax=t-a}}else{let e=H*r,t=e*n,i=2*t*s,a=2*e*o;viewParam.xmin=-t-i,viewParam.xmax=t-i,viewParam.ymin=-e-a,viewParam.ymax=e-a}}function setProjection(){setDimensions(canvasWidth,canvasHeight,shift.x,shift.y),(orthographic?mat4.ortho:mat4.frustum)(projMat,viewParam.xmin,viewParam.xmax,viewParam.ymin,viewParam.ymax,-viewParam.zmax,-viewParam.zmin),updateViewMatrix()}function initProjection(){H=-Math.tan(.5*angleOfView)*maxBound[2],center.x=center.y=0,center.z=.5*(minBound[2]+maxBound[2]),lastZoom=Zoom=zoom0,viewParam.zmin=minBound[2],viewParam.zmax=maxBound[2],shift.x=shift.y=0}function setViewport(){gl.viewportWidth=canvasWidth,gl.viewportHeight=canvasHeight,gl.viewport(.5*(canvas.width-canvasWidth),.5*(canvas.height-canvasHeight),canvasWidth,canvasHeight),gl.scissor(0,0,canvas.width,canvas.height)}function setCanvas(){embedded&&(canvas.width=offscreen.width=canvasWidth,canvas.height=offscreen.height=canvasHeight),size2=Math.hypot(canvasWidth,canvasHeight),halfCanvasWidth=.5*canvas.width,halfCanvasHeight=.5*canvas.height,ArcballFactor=1+8*Math.hypot(viewportMargin[0],viewportMargin[1])/size2}function setsize(e,t){e>maxViewportWidth&&(e=maxViewportWidth),t>maxViewportHeight&&(t=maxViewportHeight),shift.x*=e/canvasWidth,shift.y*=t/canvasHeight,canvasWidth=e,canvasHeight=t,setCanvas(),setViewport(),setProjection(),remesh=!0}function resize(){if(zoom0=initialZoom,absolute&&!embedded)canvasWidth=canvasWidth0*window.devicePixelRatio,canvasHeight=canvasHeight0*window.devicePixelRatio;else{let e=canvasWidth0/canvasHeight0;canvasWidth=Math.max(window.innerWidth-10,10),canvasHeight=Math.max(window.innerHeight-10,10),!orthographic&&canvasWidth<canvasHeight*e&&(zoom0*=canvasWidth/(canvasHeight*e))}canvas.width=canvasWidth,canvas.height=canvasHeight;window.innerWidth,window.innerHeight;viewportShift[0]/=zoom0,viewportShift[1]/=zoom0,setsize(canvasWidth,canvasHeight),redrawScene()}function expand(){Zoom*=zoomFactor,setZoom()}function shrink(){Zoom/=zoomFactor,setZoom()}class Align{constructor(e,t){if(this.center=e,t){let e=t[0],i=t[1];this.ct=Math.cos(e),this.st=Math.sin(e),this.cp=Math.cos(i),this.sp=Math.sin(i)}}T0(e){return[e[0]+this.center[0],e[1]+this.center[1],e[2]+this.center[2]]}T(e){let t=e[0],i=e[1],a=e[2],n=t*this.ct+a*this.st;return[n*this.cp-i*this.sp+this.center[0],n*this.sp+i*this.cp+this.center[1],-t*this.st+a*this.ct+this.center[2]]}}function Tcorners(e,t,i){let a=[e(t),e([t[0],t[1],i[2]]),e([t[0],i[1],t[2]]),e([t[0],i[1],i[2]]),e([i[0],t[1],t[2]]),e([i[0],t[1],i[2]]),e([i[0],i[1],t[2]]),e(i)];return[minbound(a),maxbound(a)]}function material(e,t,i,a,n,r){Materials.push(new Material(e,t,i,a,n,r))}function patch(e,t,i,a,n,r){P.push(new BezierPatch(e,t,i,a,n,r))}function curve(e,t,i,a,n){P.push(new BezierCurve(e,t,i,a,n))}function pixel(e,t,i,a,n){P.push(new Pixel(e,t,i,a,n))}function triangles(e,t,i,a){P.push(new Triangles(e,t,i,a))}function sphere(e,t,i,n,r){let s,o,l,h,c,d,m=.524670512339254,f=.595936986722291,u=.954967051233925,p=.0820155480083437,g=.996685028842544,v=.0549670512339254,x=.998880711874577,w=.0405017186586849,M=[[[1,0,0],[1,0,m],[f,0,u],[p,0,g],[1,a,0],[1,a,m],[f,a*f,u],[p,a*p,g],[a,1,0],[a,1,m],[a*f,f,u],[a*p,p,g],[0,1,0],[0,1,m],[0,f,u],[0,p,g]],[[p,0,g],[p,a*p,g],[v,0,x],[a*p,p,g],[w,w,1],[.05*a,0,1],[0,p,g],[0,v,x],[0,.05*a,1],[0,0,1]]],b=new Align(e,r);function T(e){let t=Array(e.length);for(let i=0;i<e.length;++i){let a=e[i];t[i]=c([s*a[0],o*a[1],l*a[2]])}return t}r?(h=1,d=0,c=b.T.bind(b)):(h=-1,d=-t,c=b.T0.bind(b));let S=Tcorners(c,[-t,-t,d],[t,t,t]),R=S[0],I=S[1];for(let e=-1;e<=1;e+=2){s=e*t;for(let e=-1;e<=1;e+=2){o=e*t;for(let e=h;e<=1;e+=2){l=e*t;for(let e=0;e<2;++e)P.push(new BezierPatch(T(M[e]),i,n,R,I))}}}}let a=4/3*(Math.sqrt(2)-1);function disk(e,t,i,n,r){let s=1-2*a/3,o=[[1,0,0],[1,-a,0],[a,-1,0],[0,-1,0],[1,a,0],[s,0,0],[0,-s,0],[-a,-1,0],[a,1,0],[0,s,0],[-s,0,0],[-1,-a,0],[0,1,0],[-a,1,0],[-1,a,0],[-1,0,0]],l=new Align(e,r);let h=Tcorners(l.T.bind(l),[-t,-t,0],[t,t,0]);P.push(new BezierPatch(function(e){let i=Array(e.length);for(let a=0;a<e.length;++a){let n=e[a];i[a]=l.T([t*n[0],t*n[1],0])}return i}(o),i,n,h[0],h[1]))}function cylinder(e,t,i,n,r,s,o){let l,h,c=[[1,0,0],[1,0,1/3],[1,0,2/3],[1,0,1],[1,a,0],[1,a,1/3],[1,a,2/3],[1,a,1],[a,1,0],[a,1,1/3],[a,1,2/3],[a,1,1],[0,1,0],[0,1,1/3],[0,1,2/3],[0,1,1]],d=new Align(e,s);function m(e){let t=Array(e.length);for(let a=0;a<e.length;++a){let n=e[a];t[a]=d.T([l*n[0],h*n[1],i*n[2]])}return t}let f=Tcorners(d.T.bind(d),[-t,-t,0],[t,t,i]),u=f[0],p=f[1];for(let e=-1;e<=1;e+=2){l=e*t;for(let e=-1;e<=1;e+=2)h=e*t,P.push(new BezierPatch(m(c),n,r,u,p))}if(o){let t=d.T([0,0,i]);P.push(new BezierCurve([e,t],n,r,e,t))}}function rmf(e,t,i,a,n){class r{constructor(e,t,i){this.p=e,this.r=t,this.t=i,this.s=cross(i,t)}}let s=Number.EPSILON*Math.max(abs2(e),abs2(t),abs2(i),abs2(a));function o(n){if(1==n){let n=[a[0]-i[0],a[1]-i[1],a[2]-i[2]];return abs2(n)>s?unit(n):(n=[2*i[0]-t[0]-a[0],2*i[1]-t[1]-a[1],2*i[2]-t[2]-a[2]],abs2(n)>s?unit(n):[a[0]-e[0]+3*(t[0]-i[0]),a[1]-e[1]+3*(t[1]-i[1]),a[2]-e[2]+3*(t[2]-i[2])])}let r=[a[0]-e[0]+3*(t[0]-i[0]),a[1]-e[1]+3*(t[1]-i[1]),a[2]-e[2]+3*(t[2]-i[2])],o=[2*(e[0]+i[0])-4*t[0],2*(e[1]+i[1])-4*t[1],2*(e[2]+i[2])-4*t[2]],l=[t[0]-e[0],t[1]-e[1],t[2]-e[2]],h=n*n,c=[r[0]*h+o[0]*n+l[0],r[1]*h+o[1]*n+l[1],r[2]*h+o[2]*n+l[2]];return abs2(c)>s?unit(c):(h=2*n,c=[r[0]*h+o[0],r[1]*h+o[1],r[2]*h+o[2]],abs2(c)>s?unit(c):unit(r))}let l=Array(n.length),h=[t[0]-e[0],t[1]-e[1],t[2]-e[2]];abs2(h)<s&&(h=[e[0]-2*t[0]+i[0],e[1]-2*t[1]+i[1],e[2]-2*t[2]+i[2]],abs2(h)<s&&(h=[a[0]-e[0]+3*(t[0]-i[0]),a[1]-e[1]+3*(t[1]-i[1]),a[2]-e[2]+3*(t[2]-i[2])])),h=unit(h);let c=function(e){let t=cross(e,[0,1,0]),i=Number.EPSILON*abs2(e);return abs2(t)>i?unit(t):(t=cross(e,[0,0,1]),abs2(t)>i?unit(t):[1,0,0])}(h);l[0]=new r(e,c,h);for(let s=1;s<n.length;++s){let h=l[s-1],c=n[s],d=1-c,m=d*d,f=m*d,u=3*c;m*=u,d*=u*c;let p=c*c*c,g=[f*e[0]+m*t[0]+d*i[0]+p*a[0],f*e[1]+m*t[1]+d*i[1]+p*a[1],f*e[2]+m*t[2]+d*i[2]+p*a[2]],v=[g[0]-h.p[0],g[1]-h.p[1],g[2]-h.p[2]];if(0!=v[0]||0!=v[1]||0!=v[2]){let e=h.r,t=unit(v),i=h.t,a=dot(t,i),n=[i[0]-2*a*t[0],i[1]-2*a*t[1],i[2]-2*a*t[2]];i=o(c);let d=2*dot(t,e),m=[e[0]-d*t[0],e[1]-d*t[1],e[2]-d*t[2]],f=unit([i[0]-n[0],i[1]-n[1],i[2]-n[2]]),u=2*dot(f,m);m=[m[0]-u*f[0],m[1]-u*f[1],m[2]-u*f[2]],l[s]=new r(g,unit(m),unit(i))}else l[s]=l[s-1]}return l}function tube(e,t,i,n,r,s,o){let l=rmf(e[0],e[1],e[2],e[3],[0,1/3,2/3,1]),h=a*t,c=[[t,0],[t,h],[h,t],[0,t]];function d(t,a,o,h){let d=Array(16);for(let i=0;i<4;++i){let n=l[i],r=n.r[0],s=n.s[0],m=r*t+s*a,f=r*o+s*h;r=n.r[1],s=n.s[1];let u=r*t+s*a,p=r*o+s*h;r=n.r[2],s=n.s[2];let g=r*t+s*a,v=r*o+s*h,x=e[i],w=x[0];w1=x[1],w2=x[2];for(let e=0;e<4;++e){let t=c[e],a=t[0],n=t[1];d[4*i+e]=[m*a+f*n+w,u*a+p*n+w1,g*a+v*n+w2]}}P.push(new BezierPatch(d,i,n,r,s))}d(1,0,0,1),d(0,-1,1,0),d(-1,0,0,-1),d(0,1,-1,0),o&&P.push(new BezierCurve(e,i,n,r,s))}async function getReq(e){return(await fetch(e)).arrayBuffer()}function rgb(e){return e.getBytes().filter((e,t)=>t%4!=3)}function createTexture(e,t,i=gl.RGB16F){let a=e.width(),n=e.height(),r=gl.createTexture();return gl.activeTexture(gl.TEXTURE0+t),gl.bindTexture(gl.TEXTURE_2D,r),gl.pixelStorei(gl.UNPACK_ALIGNMENT,1),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR),gl.texImage2D(gl.TEXTURE_2D,0,i,a,n,0,gl.RGB,gl.FLOAT,rgb(e)),r}async function initIBL(){let e=imageURL+image+"/";function t(e){return new Promise(t=>setTimeout(t,e))}for(;!Module.EXRLoader;)await t(0);promises=[getReq(imageURL+"refl.exr").then(e=>{let t=new Module.EXRLoader(e);IBLbdrfMap=createTexture(t,0)}),getReq(e+"diffuse.exr").then(e=>{let t=new Module.EXRLoader(e);IBLDiffuseMap=createTexture(t,1)})],refl_promise=[],refl_promise.push(getReq(e+"refl0.exr"));for(let t=1;t<=roughnessStepCount;++t)refl_promise.push(getReq(e+"refl"+t+"w.exr"));finished_promise=Promise.all(refl_promise).then(e=>{let t=gl.createTexture();gl.activeTexture(gl.TEXTURE0+2),gl.pixelStorei(gl.UNPACK_ALIGNMENT,1),gl.bindTexture(gl.TEXTURE_2D,t),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAX_LEVEL,e.length-1),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR_MIPMAP_LINEAR),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR),gl.texParameterf(gl.TEXTURE_2D,gl.TEXTURE_MIN_LOD,0),gl.texParameterf(gl.TEXTURE_2D,gl.TEXTURE_MAX_LOD,roughnessStepCount);for(let t=0;t<e.length;++t){let i=new Module.EXRLoader(e[t]);gl.texImage2D(gl.TEXTURE_2D,t,gl.RGB16F,i.width(),i.height(),0,gl.RGB,gl.FLOAT,rgb(i))}IBLReflMap=t}),promises.push(finished_promise),await Promise.all(promises)}function webGLStart(){canvas=document.getElementById("Asymptote"),embedded=window.top.document!=document,initGL(),gl.enable(gl.BLEND),gl.blendFunc(gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA),gl.enable(gl.DEPTH_TEST),gl.enable(gl.SCISSOR_TEST),canvas.onmousedown=handleMouseDown,document.onmouseup=handleMouseUpOrTouchEnd,document.onmousemove=handleMouseMove,canvas.onkeydown=handleKey,embedded||enableZoom(),canvas.addEventListener("touchstart",handleTouchStart,!1),canvas.addEventListener("touchend",handleMouseUpOrTouchEnd,!1),canvas.addEventListener("touchcancel",handleMouseUpOrTouchEnd,!1),canvas.addEventListener("touchleave",handleMouseUpOrTouchEnd,!1),canvas.addEventListener("touchmove",handleTouchMove,!1),document.addEventListener("keydown",handleKey,!1),canvasWidth0=canvasWidth,canvasHeight0=canvasHeight,mat4.identity(rotMat),0!=window.innerWidth&&0!=window.innerHeight&&resize(),window.addEventListener("resize",resize,!1),ibl&&initIBL().then(SetIBL).then(redrawScene)}
diff --git a/graphics/asymptote/binaries/i386-windows/README b/graphics/asymptote/binaries/i386-windows/README
deleted file mode 100644
index 693b14efaa..0000000000
--- a/graphics/asymptote/binaries/i386-windows/README
+++ /dev/null
@@ -1,62 +0,0 @@
- ASYMPTOTE
- Copyright 2004-21 Andy Hammerlindl, John Bowman, and Tom Prince
-
-Asymptote is a powerful descriptive vector graphics language for technical
-drawing, inspired by MetaPost but with an improved C++-like
-syntax. Asymptote provides for figures the same high-quality level of
-typesetting that LaTeX does for scientific text.
-
-Installation instructions, documentation, binaries, and source code are
-available at:
-
-https://asymptote.sourceforge.io
-
-Bugs/Patches/Feature Requests can be submitted to
-
-https://github.com/vectorgraphics/asymptote/issues
-
-Questions and comments should be sent to the Asymptote Forum:
-
-https://sourceforge.net/p/asymptote/discussion/409349
-
-All source files in the Asymptote project, unless explicitly noted otherwise,
-are released under version 3 (or later) of the GNU Lesser General Public
-License (see the files LICENSE.LESSER and LICENSE in the top-level source
-directory).
-
-========================================================================
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation; either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-========================================================================
-
-Note that the MSWindows executable version of Asymptote can only be
-released under the GNU General Public License (GPL) as it is linked against
-the GNU Scientific Library, GNU Readline library, and other GPL
-libraries. This version of Asymptote also ships with the cygwin1.dll libraries
-noted below.
-
-========================================================================
-
-Source code for the x86_64 and i386 3.3.3 cygwin1.dll libraries is
-available under the GPL license:
-https://cygwin.com/snapshots/
-
-Source for various icons is available under the MIT license from
-https://github.com/driftyco/ionicons/archive/v2.0.1.zip
-https://github.com/iconic/open-iconic/archive/master.zip
-under the CC-BY-SA 4.0 license:
-http://www.entypo.com/
-and under a CC license:
-http://www.zondicons.com/zondicons.zip
diff --git a/graphics/asymptote/binaries/i386-windows/cygwin1.dll b/graphics/asymptote/binaries/i386-windows/cygwin1.dll
deleted file mode 100755
index 1a4f38221e..0000000000
--- a/graphics/asymptote/binaries/i386-windows/cygwin1.dll
+++ /dev/null
Binary files differ
diff --git a/graphics/asymptote/binaries/i386-windows/texlive/README b/graphics/asymptote/binaries/i386-windows/texlive/README
deleted file mode 100644
index 41576b36f4..0000000000
--- a/graphics/asymptote/binaries/i386-windows/texlive/README
+++ /dev/null
@@ -1,5 +0,0 @@
-The Asymptote executable for MSWindows can only be released under the GNU
-General Public License (GPL) as it is linked against the GNU Scientific
-Library, GNU Readline library, WolfSSL, and other GPL libraries. The Asymptote
-source itself is released under the GNU Lesser General Public License.
-
diff --git a/graphics/asymptote/configure b/graphics/asymptote/configure
index 1473361be0..4f79832c4c 100755
--- a/graphics/asymptote/configure
+++ b/graphics/asymptote/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Asymptote 2.72.
+# Generated by GNU Autoconf 2.69 for Asymptote 2.73.
#
# Report bugs to <https://sourceforge.net/projects/asymptote>.
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Asymptote'
PACKAGE_TARNAME='asymptote'
-PACKAGE_VERSION='2.72'
-PACKAGE_STRING='Asymptote 2.72'
+PACKAGE_VERSION='2.73'
+PACKAGE_STRING='Asymptote 2.73'
PACKAGE_BUGREPORT='https://sourceforge.net/projects/asymptote'
PACKAGE_URL=''
@@ -1302,7 +1302,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Asymptote 2.72 to adapt to many kinds of systems.
+\`configure' configures Asymptote 2.73 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1368,7 +1368,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Asymptote 2.72:";;
+ short | recursive ) echo "Configuration of Asymptote 2.73:";;
esac
cat <<\_ACEOF
@@ -1486,7 +1486,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Asymptote configure 2.72
+Asymptote configure 2.73
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2072,7 +2072,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Asymptote $as_me 2.72, which was
+It was created by Asymptote $as_me 2.73, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -9464,7 +9464,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Asymptote $as_me 2.72, which was
+This file was extended by Asymptote $as_me 2.73, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -9526,7 +9526,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Asymptote config.status 2.72
+Asymptote config.status 2.73
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/graphics/asymptote/configure.ac b/graphics/asymptote/configure.ac
index e3d0f175ff..9949b14ab3 100644
--- a/graphics/asymptote/configure.ac
+++ b/graphics/asymptote/configure.ac
@@ -3,7 +3,7 @@
# this file.
AC_PREREQ(2)
-AC_INIT([Asymptote],[2.72],[https://sourceforge.net/projects/asymptote])
+AC_INIT([Asymptote],[2.73],[https://sourceforge.net/projects/asymptote])
VERSION=$PACKAGE_VERSION
AC_SUBST(VERSION)
m4_include([ax_pthread.m4])
diff --git a/graphics/asymptote/doc/CAD.pdf b/graphics/asymptote/doc/CAD.pdf
index 14d1114072..5154e96903 100644
--- a/graphics/asymptote/doc/CAD.pdf
+++ b/graphics/asymptote/doc/CAD.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/FAQ/asy-faq.info b/graphics/asymptote/doc/FAQ/asy-faq.info
index 9293c651c7..9e1d3239ad 100644
--- a/graphics/asymptote/doc/FAQ/asy-faq.info
+++ b/graphics/asymptote/doc/FAQ/asy-faq.info
@@ -10,7 +10,7 @@ END-INFO-DIR-ENTRY
File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir)
ASYMPTOTE FREQUENTLY ASKED QUESTIONS
- 2021-12-27
+ 2021-12-28
This is the list of Frequently Asked Questions about Asymptote (asy).
diff --git a/graphics/asymptote/doc/TeXShopAndAsymptote.pdf b/graphics/asymptote/doc/TeXShopAndAsymptote.pdf
index bc39562057..3a71f1f16a 100644
--- a/graphics/asymptote/doc/TeXShopAndAsymptote.pdf
+++ b/graphics/asymptote/doc/TeXShopAndAsymptote.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/asy-latex.pdf b/graphics/asymptote/doc/asy-latex.pdf
index b0b693c1ab..d4883f473b 100644
--- a/graphics/asymptote/doc/asy-latex.pdf
+++ b/graphics/asymptote/doc/asy-latex.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/asyRefCard.pdf b/graphics/asymptote/doc/asyRefCard.pdf
index 91f0963562..c98ebc9cb7 100644
--- a/graphics/asymptote/doc/asyRefCard.pdf
+++ b/graphics/asymptote/doc/asyRefCard.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/asymptote.pdf b/graphics/asymptote/doc/asymptote.pdf
index 2344714227..d6d333db9e 100644
--- a/graphics/asymptote/doc/asymptote.pdf
+++ b/graphics/asymptote/doc/asymptote.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/png/asymptote.info b/graphics/asymptote/doc/png/asymptote.info
index 8e61eb0a97..c29e943982 100644
--- a/graphics/asymptote/doc/png/asymptote.info
+++ b/graphics/asymptote/doc/png/asymptote.info
@@ -1,7 +1,7 @@
This is asymptote.info, produced by makeinfo version 6.7 from
asymptote.texi.
-This file documents 'Asymptote', version 2.72.
+This file documents 'Asymptote', version 2.73.
<https://asymptote.sourceforge.io>
@@ -22,7 +22,7 @@ File: asymptote.info, Node: Top, Next: Description, Prev: (dir), Up: (dir)
Asymptote
*********
-This file documents 'Asymptote', version 2.72.
+This file documents 'Asymptote', version 2.73.
<https://asymptote.sourceforge.io>
diff --git a/graphics/asymptote/revision.cc b/graphics/asymptote/revision.cc
index fbdccf7c1b..542ace2426 100644
--- a/graphics/asymptote/revision.cc
+++ b/graphics/asymptote/revision.cc
@@ -1,2 +1,2 @@
-const char *REVISION="2.72";
+const char *REVISION="2.73";
const char *AsyGLVersion="1.01";
diff --git a/graphics/asymptote/v3dheadertypes.h b/graphics/asymptote/v3dheadertypes.h
index e27fa68c1f..a0b20aa22a 100644
--- a/graphics/asymptote/v3dheadertypes.h
+++ b/graphics/asymptote/v3dheadertypes.h
@@ -1,6 +1,6 @@
// Enum class for v3dheadertypes
// AUTO-GENERATED from v3dheadertypes.csv
-// Generated at 2021-12-27 12:44:53.701402
+// Generated at 2021-12-27 17:51:07.172154
namespace camp
{
diff --git a/graphics/asymptote/v3dheadertypes.py b/graphics/asymptote/v3dheadertypes.py
index a74f63fc4b..8c0a349bf4 100644
--- a/graphics/asymptote/v3dheadertypes.py
+++ b/graphics/asymptote/v3dheadertypes.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# Enum class for v3dheadertypes
""" AUTO-GENERATED from v3dheadertypes.csv """
-# Generated at 2021-12-27 12:46:04.819978
+# Generated at 2021-12-27 17:52:27.321330
class v3dheadertypes:
v3dheadertypes_canvasWidth=1
diff --git a/graphics/asymptote/v3dtypes.h b/graphics/asymptote/v3dtypes.h
index 883d5c0499..d57a7a561e 100644
--- a/graphics/asymptote/v3dtypes.h
+++ b/graphics/asymptote/v3dtypes.h
@@ -1,6 +1,6 @@
// Enum class for v3dtypes
// AUTO-GENERATED from v3dtypes.csv
-// Generated at 2021-12-27 12:44:53.701233
+// Generated at 2021-12-27 17:51:07.172168
namespace camp
{
diff --git a/graphics/asymptote/v3dtypes.py b/graphics/asymptote/v3dtypes.py
index dcf83decf3..6fa9b38436 100644
--- a/graphics/asymptote/v3dtypes.py
+++ b/graphics/asymptote/v3dtypes.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# Enum class for v3dtypes
""" AUTO-GENERATED from v3dtypes.csv """
-# Generated at 2021-12-27 12:46:04.824592
+# Generated at 2021-12-27 17:52:27.235343
class v3dtypes:
v3dtypes_material=1
diff --git a/graphics/asymptote/webgl/gl.js b/graphics/asymptote/webgl/gl.js
index a42ef6ab36..2cbf7e15c2 100644
--- a/graphics/asymptote/webgl/gl.js
+++ b/graphics/asymptote/webgl/gl.js
@@ -37,7 +37,7 @@ let canvas; // Rendering canvas
let gl; // WebGL rendering context
let alpha; // Is background opaque?
-let offscreen2; // Offscreen rendering canvas for embedded images
+let offscreen; // Offscreen rendering canvas for embedded images
let context; // 2D context for copying embedded offscreen images
let nlights=0; // Number of lights compiled in shader
@@ -190,7 +190,9 @@ function deleteShaders()
function saveAttributes()
{
- let a=window.top.document.asygl2[alpha];
+ let a=webgl2 ?
+ window.top.document.asygl2[alpha] :
+ window.top.document.asygl[alpha];
a.gl=gl;
a.nlights=Lights.length;
@@ -205,7 +207,9 @@ function saveAttributes()
function restoreAttributes()
{
- let a=window.top.document.asygl2[alpha];
+ let a=webgl2 ?
+ window.top.document.asygl2[alpha] :
+ window.top.document.asygl[alpha];
gl=a.gl;
nlights=a.nlights;
@@ -222,8 +226,15 @@ let indexExt;
function webGL(canvas,alpha) {
let gl;
- if(ibl) webgl2=true;
- if(webgl2) gl=canvas.getContext("webgl2",{alpha: alpha});
+ if(webgl2) {
+ gl=canvas.getContext("webgl2",{alpha: alpha});
+ if(embedded && !gl) {
+ webgl2=false;
+ ibl=false;
+ initGL(false); // Look for an existing webgl context
+ return null; // Skip remainder of parent call
+ }
+ }
if(!gl) {
webgl2=false;
ibl=false;
@@ -234,27 +245,44 @@ function webGL(canvas,alpha) {
return gl;
}
-function initGL()
+function initGL(outer=true)
{
+ if(ibl) webgl2=true;
+
alpha=Background[3] < 1;
if(embedded) {
let p=window.top.document;
- if(p.asygl2 == null)
- p.asygl2=Array(2);
+ if(outer) context=canvas.getContext("2d");
+ offscreen=webgl2 ? p.offscreen2 : p.offscreen;
+ if(!offscreen) {
+ offscreen=p.createElement("canvas");
+ if(webgl2)
+ p.offscreen2=offscreen;
+ else
+ p.offscreen=offscreen;
+ }
- context=canvas.getContext("2d");
- offscreen2=p.offscreen2;
- if(!offscreen2) {
- offscreen2=p.createElement("canvas");
- p.offscreen2=offscreen2;
+ if(webgl2) {
+ if(!p.asygl2)
+ p.asygl2=Array(2);
+ } else {
+ if(!p.asygl)
+ p.asygl=Array(2);
}
- if(!p.asygl2[alpha] || !p.asygl2[alpha].gl) {
- gl=webGL(offscreen2,alpha);
+ asygl=webgl2 ? p.asygl2 : p.asygl;
+
+ if(!asygl[alpha] || !asygl[alpha].gl) {
+ rc=webGL(offscreen,alpha);
+ if(rc) gl=rc;
+ else return;
initShaders();
- p.asygl2[alpha]={};
+ if(webgl2)
+ p.asygl2[alpha]={};
+ else
+ p.asygl[alpha]={};
saveAttributes();
} else {
restoreAttributes();
@@ -2635,8 +2663,8 @@ function drawBuffers()
function drawScene()
{
if(embedded) {
- offscreen2.width=canvasWidth;
- offscreen2.height=canvasHeight;
+ offscreen.width=canvasWidth;
+ offscreen.height=canvasHeight;
setViewport();
}
@@ -2650,7 +2678,7 @@ function drawScene()
if(embedded) {
context.clearRect(0,0,canvasWidth,canvasHeight);
- context.drawImage(offscreen2,0,0);
+ context.drawImage(offscreen,0,0);
}
if(wireframe == 0) remesh=false;
@@ -2731,8 +2759,8 @@ function setViewport()
function setCanvas()
{
if(embedded) {
- canvas.width=offscreen2.width=canvasWidth;
- canvas.height=offscreen2.height=canvasHeight;
+ canvas.width=offscreen.width=canvasWidth;
+ canvas.height=offscreen.height=canvasHeight;
}
size2=Math.hypot(canvasWidth,canvasHeight);
halfCanvasWidth=0.5*canvas.width;
diff --git a/graphics/pgf/contrib/yquant/README.md b/graphics/pgf/contrib/yquant/README.md
index 724ab32711..93e177ca28 100644
--- a/graphics/pgf/contrib/yquant/README.md
+++ b/graphics/pgf/contrib/yquant/README.md
@@ -5,9 +5,24 @@ yquant is a LaTeX package that allows to quickly draw quantum circuits. It bridg
yquant is a pure-LaTeX solution - i.e., it requires no external program - that introduces a logic oriented language and thus brings the best of both worlds together.
It builds on and interacts with TiKZ, which brings an enourmous flexibility for customization of individual circuit.
+Important features in the latest updates (for a much more complete list, see the documentation):
+- Support the `beamer` package (since 0.6)
+- New `text` gate, which replaces the common `[draw=none] box` situation (since 0.6)
+- Integration of all qpic examples in the manual, showcasing some very advanced circuits (since 0.6)
+- Simple interface for circuit equations, no more `subcircuit` hassling (since 0.5)
+- Measurement outputs can now directly control other gates, i.e., with a vertical classical line emanating from the measurement (since 0.4)
+- Automatically adjust vertical positions of wires also for multi-register gates (since 0.4-alpha)
+- Vertical alignment actually works for subcircuits (since 0.4-alpha)
+- Directly support circuits written in the `qasm` language (since 0.3)
+- Simple declaration of custom gates (since 0.2.1)
+- Support for subcircuits, though vertical alignment may be messed up (since 0.2)
+- Load circuits from files (since 0.2)
+- Native support for non-contiguous multi-qubit gates (since 0.1.2)
+- Extensive user-friendly support for register name ranges, lists (since 0.1.1)
+
A detailed reference with lots of examples is provided in the PDF version of this Readme. We will sketch some basic usage.
-Now yquant also understands circuits written in the qasm language and provides a simple interface for circuit equations!
+The arXiv runs on version 0.3.2 - please download the latest version from the releases section and include it in your submission.
Support the development:
- [![PayPal](https://img.shields.io/badge/donate-via%20PayPal-blue.svg?style=flat)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UTR3MRBYJ825A&source=url)
diff --git a/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf b/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
index baca7da540..9fefce4faf 100644
--- a/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
+++ b/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/yquant/doc/yquant-doc.tex b/graphics/pgf/contrib/yquant/doc/yquant-doc.tex
index b6c5e3057f..ac027a7101 100644
--- a/graphics/pgf/contrib/yquant/doc/yquant-doc.tex
+++ b/graphics/pgf/contrib/yquant/doc/yquant-doc.tex
@@ -190,6 +190,8 @@
\def\ee{{\symup e}}
\def\ketbra#1#2{\ket{#1}\!\bra{#2}}
+\robustify\bmod % unicode-math makes problems when \bmod is used within a box
+
\frenchspacing
\RequirePackage{scrlayer-scrpage,scrlayer-notecolumn}
\setcounter{tocdepth}{\subsectiontocdepth}
@@ -209,7 +211,7 @@
\noindent This manual introduces \Yquant, a \LaTeX\hyp only package that outputs quantum circuits.
They are entered using a human\hyp readable language that, even from the source code, allows for a fluent understanding of the logic that underlies the circuit.
\Yquant{} internally builds on \TikZ{} and can be easily combined with arbitrary \LaTeX{} code.
- More than fifty pages of examples complement the formal manual.
+ Almost one hundred pages of examples complement the formal manual.
\end{abstract}
\tableofcontents
@@ -217,7 +219,7 @@
This document outlines the scope and usage of the \Yquant{} package.
It contains both a reference and a huge number of examples.
\Yquant{} is a package that makes typesetting quantum circuits easy; the package is available on CTAN.
- This beta version~0.5.1 \emph{should} be stable and interfaces are not very likely to change in an incompatible way in the future.
+ This beta version~0.6 \emph{should} be stable and interfaces are not very likely to change in an incompatible way in the future.
\compat{New in 0.4}Sometimes, backwards\hyp incompatible changes are required or advisable, in which case a compatibility setting will allow to revert back to the old behavior (rather, to maximize compatibility, this is an opt\hyp in setting: unless you choose the new behavior, you will get the old one).
Please do report all issues and desirable additions on \href{https://github.com/projekter/yquant/issues}{GitHub}.
@@ -265,7 +267,7 @@
Additionally, the \tex!\xymatrix! syntax is also somewhat cryptic.
\pkg{qcircuit} provides some flexibility within the limits of \pkg{xy} as to configuring the output.
- Maintenance status: last update in 2018; and remember this is \pkg{xy} based, with last update in 2013.
+ Maintenance status: active (\href{https://github.com/CQuIC/qcircuit}{GitHub}); but remember this is \pkg{xy} based, with last update in 2013.
\item \pkg{quantikz} is a relatively recent package that, following the same grid\hyp based approach as \pkg{qcircuit}, instead builds on \TikZ{} as a backend.
As a consequence, it provides the full flexibility of customization that \TikZ{} offers, where hardly anything cannot be done.
It also reduces burdens of the \pkg{xy} syntax.
@@ -341,9 +343,9 @@
When starting a new document, it is recommended to leave out the compatibility key at first compilation.
\Yquant{} will then issue a warning from which you can infer the recommended setting, corresponding to the current version.
You should then pass the appropriate version to the \tex!\usepackage! command.
- For example, this manual corresponds to \tex!\usepackage[compat=0.4]{yquant}!.
+ For example, this manual corresponds to \tex!\usepackage[compat=0.6]{yquant}!.
- Allowed values for \texttt{compat} are \texttt{newest} (discouraged), which equals \texttt{0.4}, and \texttt{0.3} (default).
+ Allowed values for \texttt{compat} are \texttt{newest} (discouraged), which equals \texttt{0.6}, \texttt{0.4}, and \texttt{0.3} (default).
\end{warning}
\subsection{Starred vs. unstarred environment}
@@ -575,7 +577,8 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
Note that \texttt{<name>} is case\hyp insensitive and may not contain spaces.
Special characters are allowed if \TeX{} can cope with them (i.e., no comment signs, no unbalanced braces, no backslashes...).
\item They create a style \style{/yquant/operators/every <name>} and assign the optional \texttt{<style>} to it.
- If no style is provided, the default style will inherit from \style{/yquant/operators/every box}.
+ If no style is provided, the default style will inherit from \style{/yquant/operators/every rectangular box}\compat{Changed in 0.6}.
+ If a \texttt{compat} version before \texttt{0.6} is chosen, \style{/yquant/operators/every box} will instead be the ancestor.
\item They define \texttt{<content>} to be the value that is written into the box.
This \texttt{<content>} is expanded in a protected manner at the time of gate declaration.
You may need to prefix fragile macros by \tex!\protect!.
@@ -691,6 +694,12 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\end{itemize}
\end{option}
+ \begin{option}[New in 0.6]{register/default lazy name}!!
+ The printed name that is used by default if a new register is created implicitly (i.e., without using any of \gate{qubit}, \gate{cbit}, \gate{qubits}, or \gate{nobit}, but inside a \texttt{yquant*} environment by just using the register).
+ The same macros as with \style{/yquant/register/default name} are available.
+ Note that this default setting is not used when the register is created via an \gate{init} gate---its value always overwrites the default.
+ \end{option}
+
\begin{option}[Changed in 0.4]{every label}!shape=yquant-init, anchor=center, align=right, outer xsep=2pt, /yquant/operator/if multi={draw, decoration={gapped brace, mirror, raise=2pt}, decorate}!
This style is installed for every single register name label (i.e., upon creation and when used with the \gate{init} gate).
The default style allows to use line breaks in the labels.
@@ -877,8 +886,10 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
Note that the \texttt{shorten} keys are only present in the default style if you specify at least the compatibility version \texttt{0.4}.
\end{option}
- \begin{option}{operators/every box}!shape=yquant-rectangle, draw, align=center, inner xsep=1mm, x radius=2mm, y radius=2.47mm!
+ \begin{option}[Changed in 0.6]{operators/every box}!/yquant/operators/every rectangular box!
This style is installed for every \gate{box} operator.
+ Note that with a \texttt{compat} setting strictly smaller than~\texttt{0.6}, the definition of this style was the one that is now \style{/yquant/operators/every rectangular box}, and this style was also the base style from which all box\hyp like gates inherited.
+ With a \texttt{compat} setting of at least~\texttt{0.6}, no other gates apart from \gate{box} will use this style directly or indirectly.
\end{option}
\begin{option}[Changed in 0.4\\New in 0.2]{operators/every custom gate}!/yquant/operators/subcircuit/seamless!
@@ -893,7 +904,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
The \texttt{yquant-dmeter} shape consists of a rectangle whose right side is replaced by a circle, resembling the letter ``D.''
\end{option}
- \begin{option}{operators/every h}!/yquant/operators/every box!
+ \begin{option}{operators/every h}!/yquant/operators/every rectangular box!
This style is installed for every \gate{h} (Hadamard) operator.
\end{option}
@@ -918,7 +929,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
The \texttt{yquant-oplus} shape resembles the addition\hyp modulo\hyp two symbol $\oplus$.
\end{option}
- \begin{option}{operators/every pauli}!/yquant/operators/every box!
+ \begin{option}{operators/every pauli}!/yquant/operators/every rectangular box!
This style is installed for every Pauli operator, i.e., \gate{x}, \gate{y}, and \gate{z}.
\end{option}
@@ -926,6 +937,11 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This style is installed for every \gate{phase} gate $\ketbra00 + \ee^{\ii\phi} \ketbra11$.
\end{option}
+ \begin{option}[New in 0.6]{operators/every rectangular box}!shape=yquant-rectangle, draw, align=center, inner xsep=1mm, x radius=2mm, y radius=2.47mm!
+ This style is not associated to any particular gate, but will be inherited by a lot of gates that have a rectangular box frame with some text.
+ This style should not be used with a \texttt{compat} setting strictly smaller than~\texttt{0.6}.
+ \end{option}
+
\begin{option}{operators/every slash}!shape=yquant-slash, x radius=.5mm, y radius=.7mm, draw!
This style is installed for every \gate{slash} pseudo\hyp gate, i.e., the one that is used to indicate that a single register line actually denotes multiple registers.
\end{option}
@@ -1004,6 +1020,10 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
The \texttt{yquant-swap} shape consists of a single cross.
\end{option}
+ \begin{option}[New in 0.6]{operators/every text}!shape=yquant-rectangle, align=center, inner xsep=1mm, x radius=2mm, y radius=2.47mm!
+ This style is installed for every \gate{text} gate.
+ \end{option}
+
\begin{option}[New in 0.1.2]{operators/every wave}!shape=yquant-circle, radius=.5mm, fill!
This style is installed for every \gate{correlate} gate.
\end{option}
@@ -1054,10 +1074,10 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
For nested subcircuits, you will get multiple prefixes.
\compat{New in 0.5}The prefixing behavior can be influenced by \style{/yquant/operators/subcircuit/name mangling}.
- \subsection{Shapes and the drawing pipeline}
+ \subsection{Shapes and the drawing pipeline}\label{sec:pipeline}
All \Yquant{} shapes have the anchors available you would typically expect from a \TikZ{} shape of the given outline.
The \texttt{center} anchor will be aligned to the wire.
- \compat{Changed in 0.1.2}In addition to the normal paths implemented by \TikZ{} shapes, those fit for \Yquant{} must additionally implement clipping paths, a \Yquant{} addition to \TikZ{} shapes.
+ \compat{Changed in 0.1.2}In addition to the normal paths implemented by \TikZ{} shapes, the width and height of those fit for \Yquant{} at least twice as large as given by the \texttt{/tikz/x~radius} and \texttt{/tikz/y~radius}; and they must implement clipping paths, a \Yquant{} addition to \TikZ{} shapes.
Such a path has to provide the ``clipping outline,'' i.e., anything that should not contain register or control lines.
There may be a difference between horizontal and vertical clipping outlines.
To understand clipping paths, \Yquant's drawing pipeline needs to be explained.
@@ -1102,7 +1122,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
Hence, the additional extent stemming from them should \emph{not} be equally distributed among all registers, but either to the height of the first or the depth of the last one.
Currently, \Yquant{} is unable to detect this (and, considering the fact that you can place \texttt{label}s at any angle, this is not an easy problem to solve except for special cases).
\item If you make use of a discontiguous \gate{init} gate with a large vertical extent, \Yquant{} will correctly allocate space as if the gate's content were placed in the vertical center.
- However, if there is no way to put the arch of the brace at the middle, as the register at this position is excluded from the gate, the content will be shifted---but only after calculating the extent.
+ However, if there is no way to put the arch of the brace at the middle, as the register at this position is excluded from the gate, the content will be shifted---but only \emph{after} calculating the extent.
Hence, the automatically calculated vertical positions will be unsuitable.
\end{itemize}
\item Sometimes, there is more space available than \Yquant{} thinks because you already discarded some wire.
@@ -1130,6 +1150,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This section lists all operations \Yquant{} currently understands.
It also details all arguments that can be given to customize the operation, apart from \texttt{name} and \compat{New in 0.4}\texttt{overlay}, which are always available.
Note that the \tex![value=<value>]! attribute can (and should) alternatively be given as a braced expression that follows the name of the register.
+ Within \tex!<value>!, unless specified differently, the macro \tex!\idx! is always available and corresponds to the index of the current register in the list of targets.
\subsection[\texorpdfstring{\yquant!addstyle!}{addstyle}]{\compat{New in 0.1.2}\yquant!addstyle!}\label{gate:addstyle}
Syntax: \yquant!setstyle <target>;! \\
@@ -1182,6 +1203,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
Syntax: \yquant!correlate <target>;! \\
This is a pseudo\hyp gate that indicates a correlation (usually a Bell\hyp state) present between the multi\hyp registers involved.
This gate should span multiple registers and does not allow for controls.
+ The style \style{/yquant/operators/every wave} is installed.
\emph{Possible attributes:} none
@@ -1252,22 +1274,20 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
The style \texttt{/yquant/every <type> label} is installed additionally.
\item \yquant![value=<value>]! (required) \\
Denotes the label that is printed to the left of the wire.
-
- Inside the value, \tex!\idx! expands to the current index within the register list.
\end{itemize}
\subsection[\texorpdfstring{\yquant!inspect!}{inspect}]{\compat{New in 0.4}\yquant!inspect!}\label{gate:inspect}
Syntax: \yquant!inspect <target>;! \\
This is a pseudo\hyp gate that allows to print the current state of one or multiple registers within a circuit.
It may span multiple registers, but does not allow for controls.
- The style \style{/yquant/every inspect} is installed.
- Essentially, it is the same as an \gate{output} gate that will be drawn immediately at the current position and not deferred until the end.
+ The style \style{/yquant/operators/every inspect} is installed.
+ Essentially, it is the same as an \gate{output} gate that will be drawn immediately at the current position and not deferred until the end; hence, it also draws braces when used in a multi\hyp register context.
+ \compat{New in 0.6}If this is not desired, use the \gate{text} gate instead.
\emph{Possible attributes:}
\begin{itemize}
\item \yquant![value=<value>]! (required) \\
Denotes the text that is to be printed.
- Inside the value, \tex!\idx! expands to the current index within the register list.
\end{itemize}
\subsection[\texorpdfstring{\yquant!measure!}{measure}]{\compat{Changed in 0.4}\yquant!measure!}\label{gate:measure}
@@ -1320,12 +1340,12 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
It may only be specified once per register.
It may span multiple registers, but does not allow for controls.
The style \style{/yquant/every output} is installed, and also the style \texttt{/yquant/every <type> output}, where \texttt{<type>} is the type of the affected register (at the time of printout).
+ \compat{New in 0.6}Note that while outputs can be named, the name will only become available after the \texttt{yquant} environment itself was ended (but of course before the outer \texttt{tikzpicture} was closed).
\emph{Possible attributes:}
\begin{itemize}
\item \yquant![value=<value>]! (required) \\
Denotes the text that is to be printed.
- Inside the value, \tex!\idx! expands to the current index within the register list.
\end{itemize}
\subsection{\texorpdfstring{\yquant!phase!}{phase}}\label{gate:phase}
@@ -1411,12 +1431,15 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This gate is only available if a compatibility version before \texttt{0.4} is chosen.
- \subsection{\texorpdfstring{\yquant!slash!}{slash}}\label{gate:slash}
+ \subsection[\texorpdfstring{\yquant!slash!}{slash}]{\compat{Changed in 0.4}\yquant!slash!}\label{gate:slash}
Syntax: \yquant!slash <target>;! \\
This is a pseudo\hyp gate used to denote that a single line actually represents multiple registers.
It is drawn as a short slash through the line of the register.
- Note that this gate, in contrast to all others, is positioned on the line extending from the last gate or the initialization line of the registers and does not advance the register's horizontal position.
The style \style{/yquant/operators/every slash} is installed.
+ Note that this gate will ignore the \style{/yquant/operator/minimum width} key.
+ With a \texttt{compat} key of~0.3 or earlier, the gate was special in that it did not advance the horizontal position on the wire, which allows to use it on only some of the wires without leading to a ragged start of subsequent gates.
+ However, as \Yquant's default separation is not large enough to give a pleasant layout when the slash is squeezed in the initial separation, this was dropped as of version~0.4.
+ Use the \gate{align} gate after all \gate{slash}es to get a better layout.
\emph{Possible attributes:} none
@@ -1468,6 +1491,20 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\emph{Possible attributes:} none
+ \subsection[\texorpdfstring{\yquant!text!}{text}]{\compat{New in 0.6}\yquant!text!}\label{gate:text}
+ Syntax: \yquant!text <targets> | <pcontrol> ~ <ncontrol>;! \\
+ This is a pseudo\hyp gate that allows to write some text within the circuit.
+ It may span multiple registers and allows for controls (though the situations in which controls make sense are pretty scarce).
+ The style \style{/yquant/operators/every text} is installed.
+ Contrary to the \gate{inspect} gate, this gate will not draw curly braces in multi\hyp register use.
+ It basically corresponds to a \gate{box} gate with suppressed drawing.
+
+ \emph{Possible attributes:}
+ \begin{itemize}
+ \item \yquant![value=<value>]! (required) \\
+ Denotes the text that is to be printed.
+ \end{itemize}
+
\subsection{\texorpdfstring{\yquant!x!}{x}}\label{gate:x}
Syntax: \yquant!x <target> | <pcontrol> ~ <ncontrol>;! \\
This is a Pauli $\sigma_{\symup x}$ gate $\ketbra01 + \ketbra10$, denoted by a rectangle that contains the letter $X$.
@@ -1899,7 +1936,7 @@ qubit {$\ket{q_{\idx}} = \Ifcase\idx\relax \ket\psi \Else \ket0 \Fi$} q[3];
\yquantset{operator/separation=2mm}
For a better orientation, we use the same section headings as the \pkg{qcircuit} manual.
The manual uses unnamed registers a lot; often, we will use the \tex!yquant*! environment to make things more concise.
- As the \pkg{qcircuit} manual uses a bit larger separation between the operators than \Yquant's default, we globally say\\*\tex!\yquantset{operator/separation=1em}!.
+ As the \pkg{qcircuit} manual uses a bit larger separation between the operators than \Yquant's default, we globally say\\*\tex!\yquantset{operator/separation=2mm}!.
\subsubsection{I. Introduction}
\begin{example}<Updated in 0.5, 0.4, 0.1.1>%
@@ -2289,21 +2326,20 @@ qubit {$\ket{q_{\idx}} = \Ifcase\idx\relax \ket\psi \Else \ket0 \Fi$} q[3];
\clearpage
\paragraph{C. Non-gate inserts, forcing space, and swap}\leavevmode
- \begin{example}<Updated in 0.1.1>
+ \begin{example}<Updated in 0.6, 0.1.1>
\begin{codeexample}
\begin{tikzpicture}
\begin{yquant*}
[name=sw]
swap (a[0-1]);
- [draw=none]
- box {$X$} a[1];
+ text {$X$} a[1];
slash b;
box {$H^{\otimes n}$} b;
\node[anchor=199] at (sw-0.north) {Defective Circuit};
\end{yquant*}
\end{tikzpicture}
\end{codeexample}
- Here, the intermediate text was inserted by using a \gate{box} without drawing.
+ Here, the intermediate text was inserted by using a \gate{text} gate; before version~0.6, this would have to be done by a \gate{box} gate with \yquant![draw=none]! attribute.
Another way would be to use an \gate{init} command, although this is semantically wrong (probably).
\end{example}
@@ -2382,19 +2418,19 @@ qubit {$\ket{q_{\idx}} = \Ifcase\idx\relax \ket\psi \Else \ket0 \Fi$} q[3];
\end{example}
\paragraph{B. Labeling}\leavevmode
- \begin{example}<Updated in 0.4>
+ \begin{example}<Updated in 0.6, 0.4>
\begin{codeexample}
\begin{tikzpicture}
- \begin{yquant}[every initial label/.style={anchor=south east, yshift=1mm}, every post measurement control=direct, operators/every box/.append style={draw=none}]
+ \begin{yquant}[every initial label/.style={anchor=south east, yshift=1mm}, every post measurement control=direct]
qubit {\rlap{\hskip2mm $a$}} a;
qubit {\rlap{\hskip2mm $b$}} b;
nobit out;
hspace {5mm} -;
measure b;
- box {$B$} out | b;
+ text {$B$} out | b;
measure a;
- box {$A$} out | a;
+ text {$A$} out | a;
discard -;
\end{yquant}
\end{tikzpicture}
@@ -2402,10 +2438,10 @@ qubit {$\ket{q_{\idx}} = \Ifcase\idx\relax \ket\psi \Else \ket0 \Fi$} q[3];
We support measurements with vertical outputs, but only if they replace the positive control of some action.
Here, we fake this behavior by introducing an invisible register at the bottom, which will contain the outputs.
In order to disable the line around the \gate{box}es, we used the \style{/yquant/operators/every box} style, which here was most convenient, as the only \gate{box}es in use are those without an outline.
- However, if we instead want to say \texttt{[draw=none]} as an attribute to the \gate{box}es, this will also remove the outline of the measurements.
- The reason for this is that giving this as an attribute will in fact populate \style{/yquant/operator style}; and internally, the measurement will be nested within the same scope that draws the \gate{box}---so the options given to the \gate{box} will be inherited by the \gate{measure}ment.
+ Note that if we were to give style options to the \gate{text}s, they would also affect the measurements.
+ The reason for this is that internally, the measurement will be nested within the same scope that draws the \gate{text}---so the options given to the \gate{text} will be inherited by the \gate{measure}ment.
As an operator style overwrites default styles, this will also apply to the measurements.
- Hence, to circumvent this, we would have to additionally say \texttt{[draw]} as an attribute to the \gate{measure}ments, although this is already included in their native style.
+ Hence, to circumvent this, we would need to \emph{revert} the options as attributes to the \gate{measure}ments, even if the reverted option was already included in their native style.
Repositioning the initial labels needs some care and manual fine\hyp tuning.
\end{example}
@@ -2434,6 +2470,7 @@ qubit {$\ket{q_{\idx}} = \Ifcase\idx\relax \ket\psi \Else \ket0 \Fi$} q[3];
\end{codeexample*}
Note that \tex!\begin{yquant*}! must not be followed by a line break (unless masked by \tex!%!) if options follow.
Also note that here, we cannot make use of a subcircuit due to the very last control, which would then control an inner gate of said subcircuit---but they are not exposed.
+ \iffalse\end{yquant*}\fi% code folding
\end{example}
\endgroup
@@ -2487,15 +2524,14 @@ qubit {$\ket{q_{\idx}} = \Ifcase\idx\relax \ket\psi \Else \ket0 \Fi$} q[3];
\end{example}
\paragraph{B. Wires and arrows}\leavevmode
- \begin{example}<Updated in 0.1.2>
+ \begin{example}<Updated in 0.6, 0.1.2>
\begin{codeexample*}
% \usetikzlibrary{quotes}
\begin{tikzpicture}
\begin{yquant}[operator/separation=1cm, every label/.append style={align=center}]
qubit {$\ket0$\\initial state} a;
- [draw=none]
- box {$X$} a;
+ text {$X$} a;
["$0$/$1$", type=qubit]
measure a;
@@ -3100,9 +3136,11 @@ $=$
\end{yquant*}
\end{tikzpicture}
\end{codeexample}
+ Note that assigning styles in this way will forward them to \style{/yquant/operator style}, i.e., if you have controls, the style will not apply to them.
+ \style{/yquant/style} is suitable to style both, e.g., \tex|[style={fill=red!20}]|.
\end{example}
- \begin{example}<Updated in 0.4>
+ \begin{example}<Updated in 0.6, 0.4>
\begin{codeexample*}
% \usetikzlibrary{shapes.symbols, fit}
\begin{tikzpicture}
@@ -3114,8 +3152,8 @@ $=$
cnot anc1 | data;
[after=data]
qubit {$\ket0$} anc2[2];
- [name=box, draw=none]
- box {\phantom{noise}} (data, anc1);
+ [name=noise]
+ text {\phantom{noise}} (data, anc1);
cnot anc2[0] | data;
cnot anc2 | anc1[0];
cnot anc2[1] | anc1[1];
@@ -3123,7 +3161,7 @@ $=$
[blue] measure anc2[1];
\end{yquant}
\node[starburst, cyan, fill=yellow, draw=red, line width=2pt,
- inner xsep=-4pt, inner ysep=-5pt, fit=(box)] {noise};
+ inner xsep=-4pt, inner ysep=-5pt, fit=(noise)] {noise};
\end{tikzpicture}
\end{codeexample*}
\TikZ{} shapes cannot simply be used with \Yquant.
@@ -3206,7 +3244,7 @@ $=$
\clearpage
\subsubsection{VIII. Otherwise undocumented features}
- \begin{example}<Updated in 0.4>
+ \begin{example}<Updated in 0.6, 0.4>
\begin{codeexample*}
% \usetikzlibrary{quantikz,fit}
\begin{tikzpicture}
@@ -3219,8 +3257,7 @@ $=$
h a, b;
box {$U$} c | a;
- [draw=none]
- box {$\dots$} a, b-;
+ text {$\dots$} a, b-;
box {$U^k$} c | b;
h a, b;
\end{yquant}
@@ -3254,6 +3291,1441 @@ $=$
\end{example}
\endgroup
+ \subsection[\texorpdfstring{\pkg{qpic}}{qpic} documentation]{\compat{Added in 0.6}\pkg{qpic} documentation}
+ \begingroup
+ \yquantset{operator/separation=3mm, register/default name=$\reg$, register/default lazy name=$\reg$}%
+ Again, our section headings will be the same as in the \pkg{qpic} manual.
+ As the \pkg{qpic} manual uses a bit larger separation between the operators than \Yquant's default, we globally say \tex!\yquantset{operator/separation=3mm, register/default name=$\reg$, register/default lazy name=$\reg$}!, which allows to easily generate all the registers on\hyp the\hyp fly.
+
+ \subsubsection{1 Introduction}
+ \begingroup%
+ \mdfapptodefinestyle{bdBox}{%
+ leftmargin=-.12\linewidth,
+ rightmargin=-.12\linewidth
+ }%
+ \begin{example}\label{ex:qupicfirst}
+ \begin{codeexample*}
+\def\reversecircuit#1{%
+ \begin{tikzpicture}
+ \let\high=\empty
+ \listeadd\high{#1}
+ \def\cnot##1|##2;{%
+ \ifinlist{##2}\high{
+ \yquant [style=red] cnot a[##1] | a[##2];
+ \ifinlist{##1}\high{
+ \listremove\high{##1}
+ \yquant addstyle {black} a[##1];
+ }{
+ \listadd\high{##1}
+ \yquant addstyle {red} a[##1];
+ }
+ }{
+ \yquant cnot a[##1] | a[##2];
+ }
+ }
+ \def\cnotA{\cnot 0|1; \cnot 2|3; \cnot 4|5; \cnot 6|7;}
+ \def\cnotB{\cnot 2|1; \cnot 4|3; \cnot 6|5; \cnot 8|7;}
+ \def\cnotC{\cnot 1|0; \cnot 3|2; \cnot 5|4; \cnot 7|6;}
+ \def\cnotD{\cnot 1|2; \cnot 3|4; \cnot 5|6; \cnot 7|8;}
+ \def\cnotBlock{\cnotA \cnotB barrier (-); \cnotC \cnotD}
+ \begin{yquant}[operator/minimum width=0pt, register/minimum height=2mm,
+ register/minimum depth=2mm]
+ qubit {\Ifnum\idx=#1\color{red}\Fi$\reg_{\The\numexpr\idx+1}$} a[9];
+ addstyle {very thick, red} a[#1];
+
+ \cnotBlock barrier (-);
+ \cnotBlock barrier (-);
+ \cnotBlock barrier (-);
+ \cnotBlock barrier (-);
+ \cnotBlock
+ output {\protect\xifinlist{\idx}{\high}{\color{red}}\relax
+ $a_{\The\numexpr9-\idx}$} -;
+ \end{yquant}
+ \end{tikzpicture}%
+}
+\reversecircuit2
+ \end{codeexample*}
+ This is an extremely interesting example, which could have been implemented in a lot of different manners.
+ We chose an approach where we deferred the logic of coloring the gates entirely to \TeX.
+ Note that we put everything, including the whole \texttt{tikzpicture} itself, in a macro \tex!\reversecircuit!, which we call directly after its definition by saying \tex!\reversecircuit2!.
+ This is of course an overkill in this situation---there is no need for the macro definition.
+ However, note that the macro expects the wire that is to be colored in red as its argument.
+ So by slightly changing the invocation to
+ \begin{minted}{tex}
+\foreach \ici in {0, ..., 8} {
+ \reversecircuit\ici
+ \par\vspace{1cm}
+}
+ \end{minted}
+ we are able to render the circuit with all different initial wires one after the other very easily.
+ We do not show the output in the manual to keep it succinct, but just try it out by yourself.
+
+ We now explain what is done in the macro.
+
+ We first define an \pkg{etoolbox} list that is stored in \tex!\high!.
+ The idea is that this list holds at any point in time the indices of all the registers that are currently colored in red.
+ Initially, we add the index that was given as a parameter to the macro---in our case, this was \tex!2!.
+ Note we use \tex!\listeadd! instead of \tex!\listadd!, which is important for the invocation via \tex!\foreach!---we want to have the number in the list, not the macro \tex!\ici! that holds the index of the initially colored wire).
+
+ Next, we do not want to manually do the bookkeeping of this list.
+ All we want to do is to issue the command to put a \gate{cnot} gate on the appropriate registers and \TeX{} should keep track of the correct coloring and register state.
+ For this, we first define a macro \tex!\cnot! that expects the index of the target and the index of the control register.
+ Within this macro, we check whether the register of the control is currently highlighted (\tex!\ifinlist{#2}\high!).
+ If this is not the case, we draw the \gate{cnot} gate without any additional styles (note that since we interrupted the \Yquant{} parser due to the lots of intervening macros, we first have to restart it saying \tex!\yquant!).
+ However, if it is the case that the control register is currently highlighted, we draw the \gate{cnot} gate with the attribute \texttt{[style=red]}---we do not only want to draw the gate itself in red (for which \texttt{[red]} would be sufficient), but also its control line and the control blob, so we use the \style{/yquant/style} shorthand.
+ Note that in the \pkg{qpic} manual, some of the control lines are thicker than others.
+ This could be implemented by adding the argument \tex!every control line/.append style={very thick}!; however, as it is unclear what the thick line should indicate, we did not add this to the example.
+
+ Then, we have to change the state of the target register appropriately, since the highlighting state will propagate from control to target.
+ If the target register was already highlighted, we have to remove it from the list and we change its line color back to \texttt{black}; if it was not highlighted, we add it to the list and change its line color to \texttt{red}.
+ Note that the use of \gate{addstyle} will keep adding styles, so in the end, the register line style will be a long string \texttt{red,black,red,black,...}; we could do better by saying \gate{setstyle}, which would overwrite the line style.
+ However, since we will initially set the line width of \tex!a[#1]! to \texttt{very thick}---which should be kept throughout the circuit---we would have to take additional care not to lose this setting.
+ Here, we chose the simpler version.
+
+ After setting the coloring preliminaries, we note that if we slice the circuit at any time, it will have four possible gate configurations (or a \gate{barrier}).
+ We define abbreviations for these in the macros \tex!\cnotA! to \tex!\cnotD!.
+ Since they will always follow in this order, we also define a \tex!\cnotBlock! abbreviation that executes these configurations together with their intermediate \gate{barrier}.
+ We do not include the final barrier, since it is not present in the last block.
+
+ Now, we start the \texttt{yquant} environment.
+ We give some options for a nicer spacing and initialize the registers.
+ In the \pkg{qpic} example, the registers are $1$\hyp indexed, so we use \tex!\The\numexpr\idx+1! to give back the value of the current register index (\tex!\idx!) plus one; we also conditionally color the register name in red if the index coincides with the parameter.
+ Note that here we use \Yquant's shorthand for \tex!\protect\the!, \tex!\protect\ifnum!, and \tex!\protect\fi!, which are \tex!\The!, \tex!\Ifnum!, and \tex!\Fi!, to get the correct expansion behavior.
+
+ Then, we add the initial style for the \tex!a[#1]! wire.
+ Inserting the gates together with the correct coloring is now extremely simple: we just need to call our \tex!\cnotBlock! command and intersperse it with \gate{barrier}s.
+ At the end, we output all the gates in reverse order, which works similarly to the initialization of the gates, and also conditionally color the reversed register.
+ This coloring could in principle be done similarly to the coloring of the initial label, saying something like \tex!\Ifnum\numexpr8-\idx=#1 \color{red}\Fi!.
+ Here, we chose the ``more honest'' approach to color all the registers that are still present in the coloring list---note the need to \tex!\protect! the \pkg{etoolbox} macro \tex!\xifinlist!.
+ In this way, we could, e.g., terminate the circuit earlier and still get the correct output coloring at this particular point.
+
+ Note that if there were more that just five blocks, we could also have made use of \TikZ's \tex!\foreach! loop to output all the \tex!\cnotBlock! commands.
+ However, be aware of the fact that \tex!\foreach! puts its content in a group, so the \tex!\high! list assignments would have been local and forgotten in the next iteration.
+ Either they would need to be made globally or some non\hyp grouping loop construct would have to be used (e.g., \tex!\pgfplotsforeachungrouped!).
+ \end{example}
+ \endgroup
+
+ \clearpage
+ \subsubsection{2 Simple Examples}
+ \paragraph{2.1 Example 1: Majority}\leavevmode
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}
+ \begin{yquant*}
+ box {\rotatebox{90}{$\operatorname{MAJ}$}} (a, b, c);
+
+ text {$=$} (-);
+
+ cnot b | c;
+ cnot a | c;
+ cnot c | a, b;
+
+ output {$a \oplus c$} a;
+ output {$b \oplus c$} b;
+ output {$\operatorname{MAJ}(a, b, c)$} c;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample*}
+ \end{example}
+
+ \clearpage
+ \paragraph{2.2 Example 2: Quantum Fourier Transform}\leavevmode
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}
+ \begin{yquant}[operators/every box/.append style={shape=yquant-circle, radius=2.5mm}]
+ qubit {$x_2$} x2;
+ qubit {$x_1$} x1;
+ qubit {$x_0$} x0;
+
+ h x2;
+ box {$2$} x2 | x1;
+ box {$3$} x2 | x0;
+ h x1;
+ box {$2$} x1 | x0;
+ h x0;
+
+ output {$\frac{1}{\sqrt2} (\ket0 + e^{2\pi i \cdot 0.x_2 x_1 x_0}) \ket1$} x2;
+ output {$\frac{1}{\sqrt2} (\ket0 + e^{2\pi i \cdot 0.x_1 x_0}) \ket1$} x1;
+ output {$\frac{1}{\sqrt2} (\ket0 + e^{2\pi i \cdot 0.x_0}) \ket1$} x0;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample*}
+ In this example, we opted to use three distinct registers instead of one vector register, since the reversed indexing would probably have led to more confusion.
+ We globally overwrite the \style{/yquant/operators/every box} style to use a circular shape instead.
+ Note that this would usually be an ellipse, so we explicitly set the radius to a value that exceeds the minimum (half) width.
+ As of version~0.6, the style \style{/yquant/operators/every box} is no longer the base style for other rectangular boxes such as \gate{h} (note this requires a compatibility version of at least \texttt{0.6} or higher).
+ For earlier versions, the change in shape would also affect the Hadamard gate and therefore would have to be reverted using the \style{/yquant/operators/every h} style.
+ \end{example}
+
+ \clearpage
+ \paragraph{2.3 Example 3: Shor's Algorithm}\leavevmode
+ \begingroup%
+ \mdfapptodefinestyle{bdBox}{%
+ leftmargin=-.12\linewidth,
+ rightmargin=-.12\linewidth
+ }%
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}[rotate=-90, yscale=-1, every node/.append style={rotate=90, xscale=-1}]
+ \def\explain#1#2{%
+ \yquant
+ [anchor=east] text {#1} explainLeft;
+ [anchor=west] text {$\displaystyle#2$} explainRight;
+ align -;
+ }
+ \begin{yquant}[every initial label/.style={anchor=south},
+ every output/.style={anchor=north},
+ every control/.append style={radius=1.5mm},
+ operators/every slash/.append style={x radius=3mm, y radius=1.5mm},
+ operators/every box/.append style={y radius=4mm},
+ operators/every measure/.append style={y radius=4mm},
+ operator/minimum width=1.32cm]
+ nobit explainLeft;
+ qubit {$\ket{0\dotsm0}$} x; slash x;
+ qubit {$\ket{0\dotsm0}$} y; slash y;
+ nobit explainRight;
+ align -;
+
+ box {$H^{\otimes n}$} x;
+ \explain{Quantum Hadamard Transform}
+ {\sum_{x = 0}^{2^n -1} \ket x \ket 0}
+
+ box {$a^x \bmod N$} y | x;
+ \explain{Exponentiation}
+ {\sum_{x = 0}^{2^n -1} \ket x \ket{a^x \bmod N}}
+
+ measure y; output {$y$} y;
+ \explain{Measure $y = a^b$}
+ {\sum_{j = 0}^{\lfloor\frac{2^n -1}{r}\rfloor} \ket{b + j r} [y]}
+
+ box {QFT} x;
+ \explain{Quantum Fourier Transform}
+ {\sum_{x = 0}^{2^n -1} \left( \sum_{j = 0}^{\lfloor\frac{2^n -1}{r}\rfloor}
+ \omega^{x * (b + j r)} \right) \ket x}
+
+ output {$?$} x;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample*}
+ Once again, this is a very interesting example.
+ \Yquant{} does not support a vertical circuit layout \emph{officially}.
+ However, \Yquant{} is built on top of \TikZ, so we can certainly try to emulate a vertical layout by means of rotations.
+ First of all, we rotate the whole \texttt{tikzpicture}, saying \tex!rotate=-90!, so that the circuit grows downwards.
+ While this is very straightforward, it leads to two immediate problems:
+ \begin{itemize}
+ \item The registers were declared in top\hyp to\hyp bottom order; if we rotate everything, this becomes a right\hyp to\hyp left order.
+ In order to change this to a left\hyp to\hyp right order, we must mirror every horizontal coordinate; due to the rotation, this corresponds to \tex!yscale=-1! (not \tex!xscale!).
+ \item The gates themselves should not be rotated.
+ In fact, no text should be rotated.
+ However, as by default, the \style{/yquant/every circuit} style will install the \texttt{transform shape} option to every node as of version~0.4, the nodes will also be rotated.
+ The first idea to disable \texttt{transform shape} does not turn out to work well, as the spacings are somehow messed up.
+ Instead, we just undo the rotation and scaling (note that now we need \tex!xscale=-1!, as after the reverse rotation, we are back to the ``proper'' coordinate system).
+ \end{itemize}
+ Then, there are some minor issues regarding the anchors of initial labels and output.
+ The default settings for them, \texttt{east} and \texttt{west} are of course inappropriate in a rotated layout, so those must be changed.
+ All the rest of the options that are given to the \texttt{yquant} environment just serve to match the appearance given in the \pkg{qpic} manual: we enlarge the \gate{slash}, the \gate{box}es and the \gate{measure}ments, and we also increase the global value of \style{/yquant/operator/minimum width}.
+ Remember that this is the minimum ``width'' (in the rotated scenario, it becomes a height) that \Yquant{} reserves for every single operator (unless it is larger), and it will center the operator within an invisible rectangle of this width if it is smaller.
+ So by matching this value to the largest height that occurs in the explanations in the circuit, we achieve an approximate vertical centering.
+
+ Finally, there is some repetitive structure within the circuit, which we defer to a custom macro \tex!\explain!: We always want to draw a \gate{text} gate in our first invisible register \yquant!explainLeft!; however, this should not be centered, but rather aligned to the right, so we give the proper \tex!anchor=east!.
+ We also need the same thing on the right, just mirrored and with a \tex!\displaystyle! math environment; and after all the explanations are done, we \gate{align} all registers (if the minimum width/height was chosen to be exactly larger or equal to the actual height of every gate, this would not be necessary; but with two decimals, this is probably not precisely the case).
+
+ Note that the code example above would work exactly in this way in traditional \LaTeX{} documents; however, this document is set with \pkg{unicode-math}.
+ This leads to a problem when using \tex!\bmod!, which has to be \tex!\protect!ed---or, as we did here, just say \tex!\robustify\bmod! somewhere before its usage and after loading all the packages.
+ \end{example}
+ \endgroup
+
+ \clearpage
+ \paragraph{2.4 Example 4: Teleportation}
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}[rotate=-90, yscale=-1, every node/.append style={rotate=90, xscale=-1}]
+ \begin{yquant}[every initial label/.style={anchor=south},
+ every output/.style={anchor=north},
+ operators/every barrier/.append style={rotate=-90}]
+ nobit explainLeft;
+ qubit {\color{red}$\ket\phi$} q;
+ qubit {$\ket0$} q[+2];
+ nobit explainRight;
+ setstyle {red} q[0];
+
+ h q[1];
+ cnot q[2] | q[1];
+ setstyle {red} q[1];
+ setstyle {blue} q[2];
+ [y radius=5mm, anchor=west]
+ inspect {Alice and Bob form an\\entangled pair of qubits} (explainRight);
+ [operator/separation=0pt]
+ barrier (q);
+ align -;
+
+ [style=red, operator/separation=0pt] cnot q[1] | q[0];
+ [red] h q[0];
+ [red] measure q[0, 1];
+ [red, y radius=9mm, anchor=east, align=right, shape=yquant-init, decoration={mirror}]
+ inspect {Alice entangles\\and measures} (explainLeft);
+ align -;
+
+ [style=blue] x q[2] | q[1];
+ [style=blue] z q[2] | q[0];
+ discard q[0, 1];
+ [blue, y radius=5.5mm, anchor=west]
+ inspect {Bob applies gates based on\\Alice's measurements} (explainRight);
+
+ output {\color{blue}$\ket\phi$} q[2];
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample*}
+ Again, we ignore that it is not possible to render the circuit in this way and do it anyway.
+ The structure is similar to what we previously did.
+ For some reason, the \gate{barrier} shape is not content with the back\hyp rotation and we must again rotate it.
+
+ We now use \gate{inspect} gates to mimic the state information.
+ This gate will automatically draw curly braces as soon as it encounters a multi\hyp register use; hence, despite the fact that \yquant!explainRight! and \yquant!explainLeft! are single registers, we use them in a multi\hyp register fashion.
+ Next, the brace would only be high enough to incorporate the text (since it knows nothing about what goes on in the rest of the circuit); hence, we manually give it a \texttt{y radius} value that has to be determined appropriately.
+
+ Since the default operator separation before and after the \gate{barrier} look a bit large, we set them to zero (\style{/yquant/operator/separation} will always affect the distance of the current operator to the previous one, so we need this for the \gate{barrier} and for the first \gate{cnot} gate after the \gate{barrier}).
+
+ The \gate{inspect} gate on the left\hyp hand side needs some special attention.
+ In a horizontal layout, the brace will of course always be drawn left to the text, as the \gate{inspect} gate is supposed to denote the current state of the registers.
+ Therefore, we need to mirror the brace itself (\tex!decoration={mirror}!), and we also need to put it to the right\hyp hand side.
+ Coincidentally, the \texttt{yquant-init} style has the brace at its right\hyp hand side, so we just choose to change the style.
+ Using the \gate{init} gate instead would directly have invoked the correct \texttt{shape}; however, semantically, it is wrong, it would have changed the wire type to something visible (requiring a \gate{discard} directly afterwards) and it is also not scalable via \texttt{y radius}.
+ \end{example}
+
+ \subsubsection{3.1 Wires}
+ \paragraph{3.1.1 Wire Declarations}
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a;
+ qubit b;
+ qubit {} c;
+
+ hspace {1cm} -;
+
+ output {$\phi$} a;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\makeatletter
+% https://tex.stackexchange.com/a/112212/32357
+\DeclareRobustCommand\rvdots{%
+ \vbox{%
+ \baselineskip4\p@\lineskiplimit\z@%
+ \kern-\p@%
+ \hbox{.}\hbox{.}\hbox{.}%
+ }%
+}
+\begin{tikzpicture}
+ \begin{yquant}[every nobit output/.style={}, register/separation=3mm]
+ qubit {$x_1$} x;
+ qubit {$\rvdots$} x[+1]; discard x[1];
+ qubit {$x_n$} x[+1];
+
+ hspace {1cm} -;
+
+ output {$y_1$} x[0];
+ output {$\rvdots$} x[1];
+ output {$y_n$} x[2];
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ This is one of at least four possible implementations (note we \href{https://tex.stackexchange.com/a/112212/32357}{defined \tex!\rvdots!}, since the native \tex!\vdots! does not appear to be very well\hyp centered).
+ It declares the ``invisible'' register as part of the vector register \yquant!x!.
+ As a consequence, whenever the whole vector register is addressed in operations, the operation is also drawn on the invisible register.
+ For multi\hyp register gates, this may be desired (they just span the whole region), for single\hyp register gates, this is most certainly undesired.
+ Note that \Yquant{} does not allow to declare an \gate{output} gate for invisible registers---usually, this does not make sense.
+ However, this is not enforced as a hard constraint, but rather due to the fact that the style \style{/yquant/every nobit output} does not exist.
+ To prevent an error message, we just define this as an empty style.
+ Also note that, to get a proper vertical spacing, we decided to use the \style{/yquant/register/separation} key---which works well, as there are no other registers.
+ If there were others, it would be better to increase the height and depth of the invisible register.
+
+ Alternatively, we might declare the invisible register with a completely different name.
+ This would create a discontiguous vector register \yquant!x!, which is probably the better thing to do for single\hyp register gates.
+ However, \Yquant{} may now try to split multi\hyp register gates into contiguous slices---there could be arbitrary registers between discontiguous parts of a vector register, and they should of course not be targeted if they are not in the list of targets of a gate---but here, we would actually want to have this.
+
+ A third approach mixes \Yquant{} and \TikZ{} code.
+ We declare a vector register with size two, manually increase, say, the depth of the first register, and put a \tex!\node! at the appropriate position by naming the initial labels.
+ In this way, vector usage will never target the ``invisible'' line---since it does not exist; both single\hyp{} and multi\hyp register gates will work appropriately.
+ As a drawback, we need to decide whether we want to enlarge the depth of the first or the height of the second register (or both, splitting in half)---but what if some gates will actually be so large that they would provide enough of height or depth had we just chosen a different way of distribution the space?
+
+ In order to remediate this, a fourth way using only two registers would be to defer the drawing of the dots to a multi\hyp register \gate{text} gate which receives a \texttt{y~radius} that enforces an appropriate separation.
+ \Yquant{} will then automatically perfectly distribute the vertical extents among height and depth of the involved registers.
+ The drawback with this approach is of course that the dots will be drawn \emph{within} the circuit, not to the left.
+ There is an undocumented option that we can use to shift the gate to the left; but since this only works for initializers, we still need to draw the dots for the outputs manually.
+ A possible implementation could look as follows.
+
+ \begingroup%
+ \makeatletter%
+ \DeclareRobustCommand\rvdots{%
+ \vbox{%
+ \baselineskip4\p@\lineskiplimit\z@%
+ \kern-\p@%
+ \hbox{.}\hbox{.}\hbox{.}%
+ }%
+ }%
+ \begin{codeexample}
+% \rvdots definition from above
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit {$x_1$} x;
+ qubit {$x_n$} x[+1];
+ [internal/move label, anchor=east, y radius=8mm]
+ text {$\rvdots$} (x);
+
+ hspace {1cm} -;
+
+ [name=o1]
+ output {$y_1$} x[0];
+ [name=o2]
+ output {$y_n$} x[1];
+ \end{yquant}
+ \path (o1.south west) -- (o2.north west) node[midway, /yquant/every output] {$\rvdots$};
+\end{tikzpicture}
+ \end{codeexample}
+ \endgroup%
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ [decorate=false, draw=none]
+ init {$A$} (q[0, 1]);
+ init {$\ket0^{\otimes3}$} (q[2-4]);
+
+ hspace {1cm} -;
+
+ output {$B$} (q[1, 2]);
+ output {$\ket0^{\otimes2}$} (q[3, 4]);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ Note that here the $A$ is drawn without the curly braces.
+ There are two simple ways to achieve this: by setting \texttt{draw} to \texttt{none}, the curly brace is suppressed, but still the~$A$ would be drawn at the same position as if the brace were there.
+ We additionally set \texttt{decorate} to \texttt{false} to fully remove any reminiscence of the brace, so that the text is closest to the wires.
+ (Note that just removing the decoration without also removing the drawing would lead to a vertical line that connects all the affected wires---this is how the \texttt{yquant-init} shape looks like in an undecorated fashion.)
+ \end{example}
+
+ \subsubsection{3.2 Gates}
+ \paragraph{3.2.1 Controlled NOT and controlled $Z$}
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ not a;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}[register/default lazy name=$\symbol{\numexpr`a+\idx}$]
+ cnot q[1] | q[0];
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ Since in \Yquant's notation, \texttt{b} is mentioned before \texttt{a}, it would also be created as the first wire.
+ If we instead resort to vector registers, we can directly specify which position our registers should have.
+ Of course, for longer circuits, an explicit declaration is probably favorable.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}[register/default lazy name=$\symbol{\numexpr`a+\idx}$]
+ cnot q[2] | q[-1];
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ not a;
+ zz (b, c);
+ cnot c | a ~ b;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \paragraph{3.2.2 General Gates}
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ box {\symbol{\numexpr`A+\idx}} a, b;
+ box {$\tau$} (-);
+ box {GATE} a | b;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ Note that the macro \tex!\idx! is available in any gate, and it gives the index of the current register within the target list.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}[operators/every box/.append style={shape=yquant-circle}]
+ box {$\rho$} a;
+ box {$\rho$} b | a;
+ box {$\rho$} (-);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ Note that the macro \tex!\idx! is available in any gate, and it gives the index of the current register within the target list.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}[rotate=-90]
+ \begin{yquant*}[every initial label/.style={anchor=east}]
+ box {\rotatebox{90}{$M$}} (c, b) | a;
+ box {\rotatebox{90}{GATE}} (-);
+ box {\rotatebox{90}{$M^{-1}$}} (c, b) | a;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ Remember that \Yquant{} doesn't really support vertical layout, so it is always a bit of an experiment to make this work.
+ Multi\hyp register gates don't work too well when trying to apply the back\hyp rotation trick of before.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ [name=fs] box {\Ifnum\idx<1 $f^{-1}$\Else $f$\Fi} (a, b), (c, d);
+ [name=g] box {$g$} (b, c) | a;
+ [shape=yquant-circle, name=theta] box {$\theta$} d;
+ \end{yquant*}
+ \draw (fs-0) -- (fs-1) (g) -- (theta);
+\end{tikzpicture}
+ \end{codeexample}
+ By putting the two $f$\hyp boxes into a single gate, we ensured that \Yquant{} will center them with respect to each other.
+ \end{example}
+
+ \clearpage
+ \paragraph{3.2.3 Other predefined Gates}
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ h a;
+ h x;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ z a, b;
+ zz (-);
+ z a | b;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ zz (a, b), (c, d);
+ zz (b, c);
+ zz (-b), (c-);
+ zz (b, c);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ swap (a, b);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}
+ \begin{yquant*}[plusctrl/.style={/yquant/every control/.style={/yquant/operators/every not}, /yquant/every positive control/.style={}}]
+ [plusctrl] box {$f$} (a, b) | c;
+ [plusctrl, shape=yquant-circle] box {$\zeta$} c | d;
+ [plusctrl] box {$f$} (a, b) | c;
+ cnot b | a;
+ cnot c | d;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample*}
+ This very unorthodox\hyp looking style can be achieved by altering the control styles in such a way that it basically looks like a \gate{not} gate.
+ \end{example}
+
+ \subsubsection{3.3 Attributes}
+ \paragraph{Size Attributes}
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ [y radius=20pt] box {HIGH} (a, b);
+ [x radius=20pt] box {WIDE} (-);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ Note that \texttt{LONG} and \texttt{BROAD} do not make sense, as \Yquant{} does not support vertical layout.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}[rotate=-90, yscale=-1, every node/.append style={yscale=-1}]
+ \begin{yquant*}[every initial label/.style={rotate=45, anchor=east, shift={(.15, .15)}}]
+ [x radius=20pt]
+ box {\rotatebox{90}{HIGH}} (a, b);
+ [y radius=20pt]
+ box {\rotatebox{90}{WIDE}} (a, b);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ Again, trying to properly adjust the position of the initial labels is more trial\hyp and\hyp error than anything else, and very fragile with respect to changes in the circuit.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ [register/minimum depth=10pt]
+ qubit a;
+ qubit b;
+ [register/minimum height=1pt]
+ qubit c;
+
+ cnot c | a, b;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ Upon creation, the minimum register sizes can be passed on to \Yquant; note that the \style{/yquant/register/minimum height} extends from the wire line to the top of the space that is allocated for the wire, whereas the corresponding key \style{/yquant/register/minimum depth} extends from the wire line to the bottom.
+ Hence, the values given here are half of \pkg{qpic}'s.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ [inner sep=0pt, radius=2.5pt]
+ box {} a | b;
+ [shape=yquant-circle, radius=10pt]
+ box {$g$} b | a;
+ cnot a | b;
+ [operator style={radius=7.5pt}, control style={radius=4pt}]
+ cnot a | b;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ To mimick closely \pkg{qpic}'s manual, we used an empty \gate{box} instead of the \gate{xx} gate, which also is a rectangle.
+ Note that the shapes that accept text also have an inner separation, which would interfere with the \texttt{radius} setting.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ [x radius=12.5pt]
+ box {$f$} a;
+ [radius=12.pt, shape=yquant-circle]
+ box {$f$} a;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ Note that when changing to the \texttt{yquant-circle} shape, this will become an ellipse if only one of the radii is modified.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit {\color{purple}$a$} a;
+ setstyle {purple} a;
+ qubit b;
+
+ [style=green!50!black]
+ cnot a | b;
+ setstyle {red} b;
+ [orange, control style=blue]
+ h a | b;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\yquantdefinebox{circle}[shape=yquant-circle, draw, inner sep=0pt, radius=2mm]{}
+\begin{tikzpicture}
+ \begin{yquant*}
+ [fill=red!50!white] box {$f$} a | b;
+ [fill=blue, name=b] circle a;
+ [fill=green, name=g] circle b;
+ not a;
+ [fill=yellow] not b;
+ \end{yquant*}
+ \draw (b) -- (g);
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ setstyle {dotted} a;
+ setstyle {very thick} b;
+ [dashed, fill=yellow] box {$G$} (-);
+ cnot a | b;
+ setstyle {densely dotted} a;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}[on/.style={red, very thick}]
+ \begin{yquant*}[on/.style={style=red, control style={very thick}}]
+ cnot a | b;
+ qubit {\color{red}$c$} c;
+ setstyle {on} c;
+ [on] cnot b | c;
+ setstyle {on} b;
+ [on] cnot a | b;
+ setstyle {on} a;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ This example demonstrates for the first time that new registers can also be declared at any later time in the circuit.
+ Note that we defined two very different styles:
+ \begin{itemize}
+ \item \texttt{/tikz/on} for the \texttt{tikzpicture} \\
+ This is an ordinary \TikZ{} style and hence will be applied whenever it is used in a styling context---for example, when added to the wire styles.
+ \item \texttt{/yquant/on} for the \texttt{yquant*} environment \\
+ This is a style that does not directly apply any styling, but it instead passes options to \style{/yquant/style} (we want to have the gates as well as their controls and control lines in red) as well as to \style{/yquant/control style} (we want to draw the control lines thicker [in principle, this would also affect the controls, but they are filled, not drawn], but we don't want to draw the lines of the \gate{cnot} gates themselves be drawn thicker.).
+ Since attributes for gates will first look in the \texttt{/yquant} namespace, this style is applied when used as an attribute for a gate (but beware that \yquant![style=on]! would call the other style).
+ \end{itemize}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}[register/default name=$\reg$]
+ cbit a;
+ qubit b;
+ h b | a;
+ discard a;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \Yquant{} does not offer the variety of shapes that \pkg{qpic} does; please file a feature request if there is a need.
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a;
+ qubit b;
+ [shape=yquant-circle, radius=1.2mm, inner sep=0pt]
+ box {$\cdot$} b | a;
+ box {$A$} (-);
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \clearpage
+ \begin{example}
+ \begin{codeexample*}
+% \usepackage[hidelinks]{hyperref}
+% \usetikzlibrary{calc}
+\makeatletter
+\def\tikzHyperNode#1{%
+ \ifdefined\tikz@alias%
+ \unless\ifyquantmeasuring%
+ \pgfqkeysalso{/tikz}{%
+ % https://tex.stackexchange.com/a/36111/32357
+ alias=sourcenode,
+ append after command={
+ % we don't need to worry about outer sep, yquant shapes ignore this value
+ let \p1=(sourcenode.north west),
+ \p2=(sourcenode.south east),
+ \n1={\x2-\x1},
+ \n2={\y1-\y2} in
+ node [inner sep=0pt, outer sep=0pt, anchor=north west, at=(\p1)]
+ {#1{\XeTeXLinkBox{\phantom{\rule{\n1}{\n2}}}}}
+ }%
+ }%
+ \fi%
+ \fi%
+}
+\tikzset{
+ hyperlink/.code={\tikzHyperNode{\hyperlink{#1}}},
+ hyperref/.code={\tikzHyperNode{\hyperref[{#1}]}}
+}
+
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a;
+ qubit b;
+ [hyperref=sec:grammar]
+ box {SUB} (a-b);
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample*}
+ In principle, adding a hyperlink to any gate works as adding a hyperlink to any \TikZ{} node.
+ We use a standard implementation; because of the way \Yquant{} internally handles styles applied to a gate, we must protect this in the \tex!\ifdefined\tikz@alias! (\Yquant{} executes the options outside of nodes first to set, e.g., line styles appropriately, which leads to an error, as the \texttt{alias} option only works within nodes).
+ We also want to refrain from unnecessarily adding hyperlinks during the initial measurement phase.
+ We then provide two \TikZ{} styles to do the job, depending on whether the link should be created via \tex!\hyperlink! or \tex!\hyperref! and apply it.
+ Note that here, we explicitly created the registers first.
+ Had we used an implicit creation, we would also have applied to hyperref to the register labels!
+
+ Be aware of the fact that hyperlinks in PDFs will always be rectangular; if your gate shape is different from this, do not expect the shapes to match.
+ \end{example}
+
+ \subsubsection{3.4 Measurement and Other Wire Type Changes}
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ measure a;
+ cnot b | a;
+ dmeter {$Z$} b;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \Yquant{} does not support the \texttt{tag} shape.
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ [direct control] measure a;
+ cnot b | a;
+ dmeter {$Z$} b;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}[operator/separation=2mm]
+ setstyle {-|, shorten >= 3mm} a;
+ inspect {$0$} a;
+ discard a;
+
+ hspace {1cm} -;
+
+ setstyle {|-, shorten <= 2mm} a;
+ init {$1$} a;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ There are no gates in \Yquant{} that resemble the visual \gate{discard} or reinitialization marker; however, this can be achieved by placing appropriate arrowheads at the wires.
+ Still, this is a problematic solution: Every wire in \Yquant{} will extend from the center of one gate to the center of the next gate; protruding parts will be clipped away.
+ Hence, the arrowhead will not be visible, as it is below the \gate{inspect} or \gate{init} gate---so we must \texttt{shorten} the wire by an ``appropriate'' amount.
+ Additionally, if the circuit were longer, we would want to quickly get rid of this arrowhead style.
+ \Yquant{} will try to make the wire lines as long as possible---i.e., in a normal circuit without any changes, the wire will in fact be one continuous line from the left to the right.
+ However, whenever something changes at the wire---say, the style or type is changed---\Yquant{} needs to start a new path.
+ We don't want the arrowheads to still be installed on this new path, hence we would quickly need to remove them.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a;
+ hspace {5mm} a;
+ [after=a] qubit b;
+ box {$f$} (a, b);
+ inspect {$A$} a;
+ [after=a] qubit c;
+ discard a;
+ box {$g$} (b, c);
+ align -;
+ init {$a'$} a;
+ inspect {$B$} b;
+ discard b;
+ box {$h$} (-);
+ output {$A'$} a;
+ output {$C'$} c;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ Here, we create registers with the \texttt{after} attribute at some later point in the circuit.
+ Note that logically speaking, the $h$~box should have had the targets \yquant!(a, c)!; however, as \Yquant{} does not know that the middle register was already discarded, it would have drawn two boxes joined by a wiggly line to indicate the discontiguous multi\hyp qubit register.
+ \end{example}
+
+ \subsubsection{3.5 Managing Slices}
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a; qubit b; qubit c; qubit d;
+ zz (a, c);
+ h b;
+ measure d;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a; qubit b; qubit c; qubit d;
+ zz (a, c);
+ h b;
+ align -;
+ measure d;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a; qubit b; qubit c; qubit d;
+ zz (a, c);
+ align -;
+ h b;
+ measure d;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}
+ \begin{yquant}[operators/every barrier/.style={shape=yquant-line, draw, shorten <= -2mm, shorten >= -2mm, decoration={zigzag, segment length=4, amplitude=1pt}, decorate}]
+ qubit a; qubit b; qubit c; qubit d;
+ zz (a, c);
+ h b;
+ align -;
+ barrier d;
+ measure d;
+ [red] barrier a, d;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample*}
+ Note that a \Yquant{} \gate{barrier} works a bit differently from \pkg{qpic}'s.
+ It is basically just an ordinary gate with a dashed line style; by the fact that all registers that are listed in the target list are aligned automatically, the \gate{barrier} usually does its job.
+ Hence, we need to \gate{align} before the first \gate{barrier}, as it does not perform an alignment by itself on registers that were not mentioned as targets.
+
+ Here, we also change the default style (which is a dashed line) to the zigzag line that uses \pkg{qpic}'s style.
+ Note that \Yquant{} automatically loads the library \texttt{decorations.pathmorphing}, so we don't need to do this.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}[operator/minimum width=0pt, operator/separation=2mm]
+ [shape=yquant-circle, radius=1.5ex]
+ box {$2$} a | b;
+ h a, b, c;
+ [style=green!50!black]
+ cnot c | a, b;
+ [operator/separation=0pt, green!50!black]
+ not c;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ In order to stick two operators directly next to each other, we must set the \style{/yquant/operator/separation} to zero; this is the whitespace that is inserted before an operator.
+ However, if the total with of an operator is smaller than \style{/yquant/operator/minimum width}, it is centered in a box of this width (giving a more uniform layout with lots of small gates), which would add additional whitespace both to the right of the Hadamards and to the left of the \gate{cnot}s.
+ We just globally suppress this minimum width, which is unproblematic for this particular circuit (we could also locally change it).
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}[operator/minimum width=0pt, operator/separation=2mm]
+ [shape=yquant-circle, radius=1.5ex]
+ box {$2$} a | b;
+ h a, b, c;
+ [style=red]
+ cnot c | a, b;
+ [operator/separation=0pt]
+ not c;
+ cnot c | a, b;
+ [operator/separation=0pt, red]
+ not c;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}[operators/every box/.append style={shape=yquant-circle, radius=1.5ex}]
+ box {$1$} a;
+ not b;
+ box {$2$} a;
+ align -;
+ not b;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ An instruction like \texttt{MIXGATES} does not exist in \Yquant, as it does not use a grid\hyp based layout; but of course, its behavior can be faked by \gate{align} gates.
+ \end{example}
+
+ \clearpage
+ \subsubsection{3.6 Reversing and Repeating}
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}
+ \yquantdefinegate{cnots}{
+ qubit a; qubit b; qubit c;
+ cnot b | a;
+ cnot b | c;
+ cnot a | b;
+ cnot c | b;
+ }
+ \begin{yquant*}
+ cnots (a, b, c);
+ cnots (-);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample*}
+ \Yquant{} does not have a concept of slices and hence can also not automatically repeat gates within a certain slice.
+ However, there are multiple ways to achieve the circuits in this section without repeating parts manually.
+ Here, we defined a custom gate that contained the content and inserted it two times.
+ Another alternative would be to do this using macros, as was illustrated in the \hyperref[ex:qupicfirst]{very first example} of the \pkg{qpic} section.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}
+ \yquantdefinegate{gates}{
+ qubit a; qubit b; qubit c;
+ [plusctrl] box {$f$} a | b;
+ addstyle {dotted} b;
+ [plusctrl] box {$g$} (a, b) | c;
+ [plusctrl] box {$f$} a | b;
+ addstyle {solid} b;
+ }
+ \begin{yquant*}[plusctrl/.style={/yquant/every control/.style={/yquant/operators/every not}, /yquant/every positive control/.style={}}]
+ gates (a, b, c);
+ cnot b | c;
+ gates (-);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample*}
+ Note that for this sequence, we did basically the same thing as before, as we identified a symmetric slice---so reversing the order does not do anything.
+
+ We will also expand this example and give a very simple (and a bit shortsighted) implementation of a macro that reverses the order of gates.
+ Note that this macro basically just splits its content at semicolons and when it is done inputs all the parts in reverse order.
+ Hence, it will fail if semicolons appear, e.g., in attributes without enclosing them in braces.
+ It also does not correspond exactly to the \texttt{R} instruction from \pkg{qpic}, as it does not \emph{reverse} wire styles (basically \gate{addstyle} would become a hypothetical \gate{subtractstyle} macro), but just inserts them in reverse order.
+ Hence, the following example will give a different circuit with respect to the wire style!
+
+ \begin{codeexample*}
+\makeatletter
+\long\def\reversegates#1{%
+ \begingroup%
+ \let\reversegates@list=\empty%
+ \count0=0 %
+ \expandafter\reversegates@i#1;\reversegates@stop%
+}
+\long\def\reversegates@i#1;#2\reversegates@stop{%
+ \ifstrempty{#2}{%
+ \yquant@fordown \reversegates@idx := \count0 downto 1 {%
+ \expandafter\expandafter\expandafter\yquant%
+ \csname reversegates@list@\reversegates@idx\endcsname%
+ }%
+ \endgroup%
+ }{%
+ \ifstrequal{#2}{;}{%
+ \reversegates@i;\reversegates@stop%
+ }{%
+ \advance\count0 by 1 %
+ \csdef{reversegates@list@\the\count0}{#1;}%
+ \reversegates@i#2\reversegates@stop%
+ }%
+ }
+}
+\begin{tikzpicture}
+ \def\gates{%
+ [plusctrl] box {$f$} a | b;
+ addstyle {dotted} b;
+ [plusctrl] box {$g$} (a, b) | c;
+ [plusctrl] box {$f$} a | b;
+ addstyle {solid} b;
+ }
+ \begin{yquant*}[plusctrl/.style={/yquant/every control/.style={/yquant/operators/every not}, /yquant/every positive control/.style={}}]
+ \expandafter\yquant\gates
+ cnot b | c;
+ \reversegates\gates
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample*}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a; qubit b; qubit c;
+ cnot b | a;
+ cnot b | c;
+ \foreach \i in {1, 2} { \yquant
+ cnot a | b;
+ cnot c | b;
+ }
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ Another way to repeat things is to just use appropriate repetition macros (and remember to restart the parser); here, we used \tex!\foreach! from \TikZ, but any other will also do the job.
+ \end{example}
+
+ \subsubsection{3.7 Other Circuit Elements}
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}[operators/every slash/.append style={radius=2mm}]
+ slash a;
+ [label=10:n] slash a;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a; qubit b;
+ cnot b | a;
+ inspect {\Ifcase\idx$a$\Else$a \oplus b$\Fi} -;
+ cnot b | a;
+ inspect {$b$} b;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ Here, we achieved the centering of the two \gate{inspect}ed registers by putting them in a single gate instruction with case discrimination.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ swap (a, b);
+ text {$=$} (-);
+ cnot b | a;
+ cnot a | b;
+ cnot b | a;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ This is a very simple equality; for more complicated ones, the \hyperref[sec:foreign:groups]{\texttt{groups}} library is recommended.
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a; qubit b; qubit c; qubit d;
+ box {$f$} (a, b);
+ inspect {$G$} (a, b);
+ init {$F$} (c, d);
+ box {$g$} (c, d);
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ Note that we first defined all the registers explicitly, and they all use an initializing text.
+ Had we directly used the \gate{init} gate on the registers \yquant!(c, d)! as the \emph{first} gate when \emph{neither} of both registers had an initializing text, then the~$F$ would have been placed to the left of the wires.
+ Basically, a \gate{qubit} declaration with a value is the same as declaring the register without a value plus another \gate{init} gate that puts the value in place.
+ A zero\hyp length \gate{hspace} gate or an \gate{align}ment directly at the beginning would be a way to prevent this shift to the left from happening.
+ \end{example}
+
+ \Yquant{} does not support the permutation gate that \pkg{qpic} has.
+ It would however not be very difficult to implement this particular shape and make it available.
+ Maybe even a multi\hyp swap gate using the \texttt{knots} library would be possible.
+
+ \clearpage
+ \subsubsection{3.8 Comments}
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a; qubit b;
+ \foreach \i in {0, 1, 2} { \yquant
+ cnot b | a;
+ cnot a | b;
+ \ifnum\i<2 \yquant
+ [operator/separation=2pt, operator/minimum width=0pt]
+ barrier (-);
+ \fi
+ }
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample*}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+% \usetikzlibrary{quotes}
+\begin{tikzpicture}
+ \begin{yquant}[operators/every box/.append style={shape=yquant-circle, radius=1.5ex}]
+ qubit a;
+ [blue, "above" above] box {$1$} a;
+ [red, "below" below] box {$2$} a;
+ ["both" above, "sides" below] box {$3$} a;
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample*}
+% \usetikzlibrary{calc}
+\begin{tikzpicture}
+ \begin{yquant}[operators/every box/.append style={shape=yquant-circle, radius=1.5ex}]
+ qubit a;
+ [name=1] box {$1$} a;
+ [name=2] box {$2$} a;
+ [name=3] box {$3$} a;
+ \end{yquant}
+ \draw[decoration=brace, decorate]
+ ($(1.north west)+(-.1,.1)$) -- ($(2.north east)+(.1,.1)$)
+ node[midway, above=1pt] {above};
+ \draw[blue, decoration={brace, mirror}, decorate]
+ ($(2.south west)+(-.1,-.1)$) -- ($(3.south east)+(.1,-.1)$)
+ node[midway, below=1pt] {below};
+\end{tikzpicture}
+ \end{codeexample*}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample*}
+\begin{tikzpicture}
+ \begin{yquant*}
+ [this subcircuit box style={draw=none, fill=red!40!white}]
+ subcircuit {
+ qubit {} a; qubit {} b;
+ cnot b | a;
+ cnot a | b;
+ } (a, b);
+ [this subcircuit box style={draw, dotted, rounded corners=10pt}]
+ subcircuit {
+ qubit {} a; qubit {} b;
+ cnot b | a;
+ cnot a | b;
+ } (b, c);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample*}
+ \end{example}
+
+ \clearpage
+ \subsubsection{3.9 Macros and \LaTeX{} Code}
+ \begin{example}
+ \begin{codeexample}
+\begin{tikzpicture}[loud/.style={red, very thick}]
+ \yquantdefinebox{phase2}[loud, draw, shape=yquant-circle, radius=1.5ex]{$2$}
+ \begin{yquant*}
+ [style=loud]
+ phase2 a | b;
+ phase2 b;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ Note that here, we choose an alternative gate name, as there already is the built\hyp in gate \gate{phase}.
+ While we could overwrite it, this is generally a very bad idea.
+ Keep in mind that gate declarations are global and also that gates are case insensitive, so changing the capitalization would not help.
+ Finally note that when we define a style for a new gate, it only pertains to the \emph{gate} itself.
+ It is not possible to change styles external to the gate---such as control lines---within the gate definition itself.
+ \end{example}
+
+ \begin{example}
+ The following example in the \pkg{qpic} manual requires some additional thoughts.
+ It defines a custom gate with a variable number of target registers.
+ The \tex!\yquantdefinegate! interface does not officially allow for this, although some low\hyp level hacking can of course be done (a \emph{sorted} \pkg{etoolbox} list is provided in the macro \tex!\yquant@circuit@subcircuit@param!, which holds the internal indices of all currently involved target registers).
+
+ It is of course always possible to write some macros that output the required gate commands.
+ Looking at the particular example, it is actually not really necessary to define a gate that has a variable number of targets.
+ Rather, in \Yquant, one would define a new gate that just contains the two $\oplus$ symbols next to each other; the control line is drawn separately from the gate anyway.
+ This very straightforward description will unfortunately fail, for the following reason:
+ When a control line is drawn, \Yquant{} currently always draws it from the \texttt{center} anchor of the current shape upwards or downwards.
+ However, for the $\mathord\oplus\!\mathord\oplus$ shape, the control line point should actually be in the middle of the right $\oplus$.
+ This is an off\hyp center point, so we need some hacking to convince \Yquant{} to do this.
+ The following code is pretty long; we will therefore give parts of the code, followed by an explanation.
+
+ First of all, we define a shape (similar to what is done in \texttt{yquant-shapes.tex}) that holds the two $\oplus$es.
+ \begin{codeexample*}
+\makeatletter
+\pgfdeclareshape{yquant-doubleoplus}{%
+ \inheritsavedanchors[from=yquant-slash]%
+ \anchor{center}{\pgfqpoint{.5\dimexpr\xradius\relax}{0pt}}%
+ \foreach \anc in {north, east, south, west} {
+ \inheritanchor[from=yquant-rectangle]{\anc}
+ }
+ \anchor{north east}{\pgfqpoint{.853553\dimexpr\xradius\relax}
+ {.707107\dimexpr\yradius\relax}}%
+ \anchor{south east}{\pgfqpoint{.853553\dimexpr\xradius\relax}
+ {-.707107\dimexpr\yradius\relax}}%
+ \anchor{south west}{\pgfqpoint{-.853553\dimexpr\xradius\relax}
+ {-.707107\dimexpr\yradius\relax}}%
+ \anchor{north west}{\pgfqpoint{-.853553\dimexpr\xradius\relax}
+ {.707107\dimexpr\yradius\relax}}%
+ % The border anchor is a bit more tricky, we leave it out here
+ \backgroundpath{%
+ \pgf@relevantforpicturesizefalse%
+ \pgfpathmoveto{\pgfqpoint{-.5\dimexpr\xradius\relax}{\yradius}}%
+ \pgfpathlineto{\pgfqpoint{-.5\dimexpr\xradius\relax}{-\yradius}}%
+ \pgfpathmoveto{\pgfqpoint{.5\dimexpr\xradius\relax}{\yradius}}%
+ \pgfpathlineto{\pgfqpoint{.5\dimexpr\xradius\relax}{-\yradius}}%
+ \pgfpathmoveto{\pgfqpoint{-\xradius}{0pt}}%
+ \pgfpathlineto{\pgfqpoint{\xradius}{0pt}}%
+ \pgfpathellipse{\pgfqpoint{-.5\dimexpr\xradius\relax}{0pt}}%
+ {\pgfqpoint{.5\dimexpr\xradius\relax}{0pt}}%
+ {\pgfqpoint{0pt}{\yradius}}%
+ \pgf@relevantforpicturesizetrue%
+ \pgfpathellipse{\pgfqpoint{.5\dimexpr\xradius\relax}{0pt}}%
+ {\pgfqpoint{.5\dimexpr\xradius\relax}{0pt}}%
+ {\pgfqpoint{0pt}{\yradius}}%
+ }%
+ \clippath{%
+ \pgfpathellipse
+ {\pgfqpoint{-.5\dimexpr\xradius}{0pt}}
+ {\pgfqpoint{.5\dimexpr\xradius+\pgflinewidth}{0pt}}
+ {\pgfqpoint{0pt}{\dimexpr\yradius+.5\pgflinewidth\relax}}%
+ \pgfpathellipse
+ {\pgfqpoint{.5\dimexpr\xradius\relax}{0pt}}
+ {\pgfqpoint{.5\dimexpr\xradius+\pgflinewidth\relax}{0pt}}
+ {\pgfqpoint{0pt}{\dimexpr\yradius+.5\pgflinewidth\relax}}%
+ }%
+}
+ \end{codeexample*}
+ \input \minted@jobname.pyg % we need to execute all this again without the group
+ Nothing special happens in the first few lines (although the \texttt{center} anchor is now off\hyp center): We declare a new shape \texttt{yquant-doubleoplus}, inherit some saved anchors and anchors (for details, see the \TikZ{} manual, section~106.5.3, ``Command for Declaring New Shapes'').
+ The \texttt{x~radius} now corresponds to the \emph{diameter} of one of the circles, since we have two circles next to each other.
+ We do not define border anchors at the moment; they would require some additional computation, but in lots of scenarios, they are not necessary (as we would also not need most of the anchors, but it is always good to have them).
+ The clip path is also not very special, it just contains the shape that is to be clipped away; basically, both circles.
+ The background path deserves more attention.
+ We draw the two circles and the vertical and horizontal lines; but note that we disable the \pkg{pgf}'s size protocol for all but the right circle.
+ Hence, when this shape is used, \TeX{} and \Yquant{} will actually think that it only occupies space for the right circle; the left one will protrude in the margin.
+ (Actually, we could wrap this in a test such as \tex!\ifdefined\yquant@prefix! to only discard protocoling within a \texttt{yquant} environment, so that the shape is properly usable outside.)
+
+ Next, we must take care of re\hyp inserting this ``lost'' margin whenever the gate is used; and we also define a style that appropriately uses the shape:
+ \begin{codeexample*}
+\yquantset{
+ operators/every noffoli/.style={
+ shape=yquant-doubleoplus, x radius=2.6mm, y radius=1.3mm, draw
+ },
+ internal/noffoli shift/.code={%
+ \begingroup%
+ \expandafter\tikzset\expandafter{\yquant@draw@@style}%
+ \tikzset{/yquant/every operator, /yquant/operators/every noffoli, /yquant/this operator}%
+ \edef\cmd{%
+ \endgroup
+ \dimdef\noexpand\yquant@config@operator@sep{%
+ \yquant@config@operator@sep+
+ \pgfkeysvalueof{/tikz/x radius}%
+ }%
+ }%
+ \cmd
+ }
+}
+ \end{codeexample*}
+ \input \minted@jobname.pyg % we need to execute all this again without the group
+ The first style is almost a copy of the \style{/yquant/operators/every not} style, only with the new shape and a doubled \texttt{x~radius}.
+ The second style is more complicated: Protected in a group, it first sets all the custom style overwrites that a user may pass to the gate (e.g., the user may wish to overwrite the radii)---those are stored in the internal macro \tex!\yquant@draw@@style!.
+ Then, it applies the styles in the order as the gate would do it; note that an attribute such as \yquant![x radius=1cm]! would only add the directive to the \style{/yquant/this operator} style, but not apply it yet, therefore we now execute all the options that were stored previously.
+ As the final action that survives the group, we add the current value for the \texttt{x~radius} to the current value of the operator separation---this effectively enacts the proper placement of our gate.
+
+ Having defined those styles, we finally need to declare the gate itself, so that it can be used in a circuit:
+ \begin{codeexample*}
+\yquant@langhelper@declare@command
+ {noffoli}
+ {}
+ {%
+ \appto\yquant@attrs@remaining{,/yquant/internal/noffoli shift}%
+ \yquant@prepare
+ {}%
+ {/yquant/operators/every noffoli}%
+ }%
+\yquant@langhelper@setup@attrs{noffoli}{}{}
+ \end{codeexample*}
+ % those were global commands anyway
+ We call \tex!\yquant@langhelper@declare@command!, as for every standard gate declaration, with the desired name of the gate (\tex!{noffoli}!), the actions that are to be carried out \emph{before} the targets and controls are parsed (\tex!{}!), and the actions that are to be carried out once the targets and controls are known.
+ We append the style that we just defined to the list of attributes, and execute the gate preparation.
+ Finally, we also declare the attributes that this gate takes---no required and no optional attributes.
+
+ After all this work, which can be saved in some shared document and used whenever necessary, we can come to the application, which is now very straightforward.
+
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ noffoli a | b, c;
+ [style=red] noffoli c | a, b;
+ noffoli b | a;
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
+ \end{example}
+
+ \begin{example}
+ \begin{codeexample}
+% \usetikzlibrary{backgrounds}
+\begin{tikzpicture}
+ \begin{yquant}
+ qubit a; qubit b;
+ [name=cn]
+ cnot b | a;
+ \draw[fill=blue] (cn) circle[radius=5pt];
+ box {FONT} (-);
+ [name=cn, fill=boxBlueBody]
+ cnot b | a;
+ \scoped[on background layer] \draw[fill=red] (cn) circle[radius=5pt];
+ \end{yquant}
+\end{tikzpicture}
+ \end{codeexample}
+ There are no special options to mix \TikZ{} code with \Yquant{} code, as this can be done natively at any time.
+ To draw at the position of another gate, just name the gate.
+ Note that---as was illustrated here---also using the same name multiple times is possible, in this case, the latter use overwrites the former.
+ There is no direct equivalent to the \texttt{PRETIKZ} option---the gate has to be drawn first in order to get its position.
+ However, \TikZ{} supports layers, so it is easy to draw something behind a gate: just put it on a background layer, e.g., the one provided by the \texttt{backgrounds} library.
+ Also note that here, we filled the second \gate{cnot} gate with our background color in order to give the same image as in the \pkg{qpic} manual.
+ The circle is not filled by default, hence the red ``outer'' circle would be visible also inside the \gate{cnot} circle.
+ \end{example}
+
+ The \texttt{HYPERTARGET} instruction can be directly reproduced in \TeX{} by just putting a \tex!\hypertarget! before the \texttt{tikzpicture}.
+ \endgroup
+
\section{Foreign language support and extensions}\label{sec:foreign}
\Yquant{} is built in various modules, so that it is not hard to use the quantum circuit rendering backend, but expose a different language frontend.
\compat{New in 0.3}\Yquant{} not only understands its own language, but also others.
@@ -3496,20 +4968,113 @@ $=$
\end{adjustbox}
}
- \section{Wishlist}
- This section contains some thoughts on future improvements and features.
- \begin{itemize}
- \item Support for more other languages. \\
- Since version~0.3, \Yquant{} understands \pkg{qasm}.
- It would be nice if \Yquant{} could also understand \texttt{OpenQASM} correctly.
- The way \texttt{OpenQASM} treats operations is a bit different from \Yquant{} and also \pkg{qasm}.
- Some machinery would be required to automatically carry out transversal gates; apart from that everything should be available in \Yquant.
- \item Vertical layout. \\
- Sometimes, long quantum circuits on a portrait page can be better represented in a vertical layout.
- Also if lots of explanations are to be added, this becomes problematic in the horizontal version.
- In principle, \Yquant's approach could allow for a simple key switch that changes horizontal to vertical.
- Currently, this is largely unsupported by all quantum circuit packages except for \pkg{qpic}.
- \end{itemize}
+ \section{Integration with other packages}
+ In general, \Yquant{} should not introduce incompatibilities with other packages.
+ However, the possibility to mix \Yquant{} code with arbitrary \TeX{} code may lead to certain expectations on how things should work, which may not always be met.
+ This is mainly due to the fact that \Yquant{} requires two passes of its content (see \cref{sec:pipeline}), as it has to measure the heights and depths of the individual gates.
+ Similar issues can for example also arise in \pkg{amsmath}'s \texttt{align} environment, which also has a measuring and a shipout stage.
+ If you run into an incompatibility using a macro from another package (or even plain \TeX), try the following:
+ \begin{enumerate}
+ \item Using a \TeX{} macro within \Yquant{} code will stop the \Yquant{} parser.
+ Hence, all gates following this macro will be ignored.
+ Did you remember to issue \tex!\yquant! in order to restart the parser after your macro? \\
+ \emph{Symptom:} No errors, but gates are missing
+ \item Is the macro robust?
+ Modern packages could automatically take care of this by a \tex!\protected! definition, but older ones may not.
+ Try to prefix the macro by \tex!\protect!. \\
+ \emph{Symptom:} Unexpected error messages
+ \item Does the macro depend on other macros defined \emph{within} the circuit?
+ The double pass may lead to problems.
+ If possible, define your macros outside of the \texttt{yquant} environment.
+ If this is not possible, make sure the definitions are expandable, then at measurement stage, \Yquant{} will do the expansion, so that you get the correct results. \\
+ \emph{Symptom:} Only the latest assignment will show up whenever the macro is used; the vertical spacing (for subcircuits, possibly also the horizontal spacing) may even be screwed.
+ \item Does the macro create output, using its own font?
+ If the output depends on the current position, this position will be completely wrong.
+ This is due to the fact that the macro is executed at the first pass only, where \Yquant{} does not know about any positions at all.
+ \compat{New in 0.6}The macro \tex!\yquantsecondpass! will defer its content so that it is executed only at the second pass, where positions are known.
+ It will also automatically restart the parser.
+ Note that \tex!\yquantsecondpass! will not expand its content.
+ If you need expansion, you may use \tex!\yquantesecondpass!, which uses \tex!\protected@edef!. \\
+ \emph{Symptom:} Content occurring in the wrong place or missing
+ \item Does the macro need to be executed at both passes?
+ There may be reasons for this, in particular if you use commands from \pkg{pgf}'s basic or system layer.
+ However, all custom macros will only be executed once, at the first pass.
+ \compat{New in 0.6}Wrap the macros in \tex!\yquantescape! in order to execute them both times.
+ The parser will automatically be restarted afterwards.
+ Note that \tex!\yquantescape! will not expand its content.
+ You may use \tex!\yquanteescape!, which will first expand its content using \tex!\protected@edef!.
+ Note that the content will first be executed, then stored for the second pass. \\
+ \emph{Symptom:} Content missing
+ \item If all of this did not work and the use case is interesting enough, please file a bug report.
+ \end{enumerate}
+
+ \subsection{\texorpdfstring{\TikZ}{TikZ}}
+ \Yquant{} is built on top of \TikZ{} an hence integrates well with \TikZ.
+ You can use all \tex!\path!-like comands as well as scopes and \Yquant{} will automatically take care of restarting the parser appropriately.
+ If it does not, this is very likely a bug, please file a report.
+
+ You should typically not use \tex!\tikzset!, as all changes made by this macro will only be executed in the first pass.
+ Instead, use \tex!\yquantset! and change the path appropriately: this macro will first store its argument (using \tex!\protected@edef!) for the second pass and then set the appropriate options also in the first pass.
+
+ Note that low\hyp level \pkg{pgf} functions are not altered by \Yquant; this would be highly inefficient.
+ \compat{New in 0.6}If you need to use them, wrap them in \tex!\yquantescape! or \tex!\yquanteescape!.
+
+ \subsection[\texorpdfstring{\pkg{beamer}}{beamer}]{\compat{New in 0.6}\pkg{beamer}}
+ \Yquant{} integrates with \pkg{beamer} overlays.
+ This means that you can use the overlay commands \tex!\only!, \tex!\alt!, \tex!\temporal!, \tex!\uncover!, \tex!\visible!, and \tex!\invisible! directly in your \Yquant{} code; the parser will automatically be restarted whenever necessary.
+ Note that the \texttt{*env} environments (\texttt{onlyenv}, \texttt{altenv}, \texttt{uncoverenv}, \texttt{visibleenv}, and \texttt{invisibleenv}) should \emph{not} be used within \Yquant{} code.
+
+ The macros \tex!\pause! and \tex!\uncover! are also supported to some degree (\tex!\uncover! with braces is fully supported).
+ They should work well in simple circuits, but unexpected results can be expected in more complex scenarios.
+ If you don't get appropriate results, use the aforementioned macros.
+
+ You may also use \tex!\note! inside \Yquant{} circuits.
+
+ Note that \Yquant{} does not overwrite the definitions of the \pkg{beamer} macros, which implies that you can also use them \emph{within} gates (e.g., for the \texttt{value} of a \gate{box}).
+ However, this means that the \Yquant{} parser must be running to detect these macros and take appropriate action.
+ Hence, if you interrupted the code via some special macros, make sure to restart the parser even if your next macro is, e.g., \tex!\only!.
+
+ Finally note that \tex!\only!, \tex!\alt!, and \tex!\temporal! are more special than the usual \Yquant\hyp code\hyp interrupting macros.
+ They will \emph{not} terminate the group that was opened for the current gate.
+ As a consequence, you can also use these macros for arguments.
+ Note that whenever you pass arguments to a gate using the \texttt{[<arguments>] <gate> <registers>;} syntax, the value of \texttt{<arguments>} is directly fed to \tex!\pgfkeys!, which \emph{does not} understand \pkg{beamer} macros.
+ Hence, you \emph{cannot} use, e.g., \tex!\only! \emph{within} the brackets.
+ However, you can wrap the arguments including the brackets as a whole in \tex!\only!---this happens before \Yquant{} relinquishes control to \tex!\pgfkeys! and therefore is executed as expected.
+ Since you can also pass multiple arguments to a gate by repeating \texttt{[<arguments>]}, this easily allows to combine arguments with and arguments without overlays.
+ \begin{example}[Using overlays for arguments]
+ \begin{minted}{tex}
+% \documentclass{beamer}
+\begin{frame}
+ \begin{tikzpicture}
+ \begin{yquant}
+ qubit a;
+ [fill=yellow]
+ \alt<2>{[draw=blue]}{[draw=green]}
+ \only<3>{[ultra thick]}
+ h a;
+ \end{yquant}
+ \end{tikzpicture}
+\end{frame}
+ \end{minted}
+ The Hadamard gate will always be filled yellow; its line color will be blue on the second frame and green on all other frames.
+ On the third frame, its line width is dramatically increased.
+ \end{example}
+
+% We have GitHub issues for this
+% \section{Wishlist}
+% This section contains some thoughts on future improvements and features.
+% \begin{itemize}
+% \item Support for more other languages. \\
+% Since version~0.3, \Yquant{} understands \pkg{qasm}.
+% It would be nice if \Yquant{} could also understand \texttt{OpenQASM} correctly.
+% The way \texttt{OpenQASM} treats operations is a bit different from \Yquant{} and also \pkg{qasm}.
+% Some machinery would be required to automatically carry out transversal gates; apart from that everything should be available in \Yquant.
+% \item Vertical layout. \\
+% Sometimes, long quantum circuits on a portrait page can be better represented in a vertical layout.
+% Also if lots of explanations are to be added, this becomes problematic in the horizontal version.
+% In principle, \Yquant's approach could allow for a simple key switch that changes horizontal to vertical.
+% Currently, this is largely unsupported by all quantum circuit packages except for \pkg{qpic}.
+% \end{itemize}
\section{Changelog}
\subsection*{2020-03-15: Version 0.1}
@@ -3556,7 +5121,7 @@ $=$
Separate register height into a height and depth key. \\
Introduce \texttt{overlay} key to disable height caluclation selectively. \\
Change register style declaration, so that this is now always equivalent to creating an unnamed register followed by an \gate{init} gate with the given text.
- Note: This may be a \textbf{breaking change} that cannot be compatibility\hyp protected---if you used \TeX{} conditionals involving \tex!\idx! for creation labels of registers, you will now need to either \tex!\protect! them all or just capitalize their first letter (which corresponds to auto\hyp\tex!protect!ed versions for \texttt{compat} at least \texttt{0.4}). \\
+ Note: This may be a \textbf{breaking change} that cannot be compatibility\hyp protected---if you used \TeX{} conditionals involving \tex!\idx! for creation labels of registers, you will now need to either \tex!\protect! them all or just capitalize their first letter (which corresponds to auto\hyp\tex!\protect!ed versions for \texttt{compat} at least \texttt{0.4}). \\
Now use nodes for \gate{init} and \gate{output} gates. \\
Change behavior of \gate{hspace} and \gate{align}: Now also extend if the wire is discarded afterwards. \\
Introduce the commands \tex!\Ifnum!, \tex!\Ifcase!, \tex!\Or!, \tex!\Else!, \tex!\Fi!, \tex!\Unless! and \tex!\The! available for use within gates that behave like auto\hyp\tex!\protect!ed versions of their plain \TeX{} equivalents.
@@ -3580,5 +5145,20 @@ $=$
\subsection*{2021-09-04: Version 0.5.1}
Bugfix: The \gate{xx} gate style was not made available since version~0.4-alpha.
+
+ \subsection*{2021-12-28: Version 0.6}
+ Bugfix: Support to set the \style{/yquant/operators/subcircuit/seamless} property outside of \Yquant{} environments. \\
+ New: Support for \pkg{beamer}. \\
+ New macros: \tex!\yquantsecondpass!, \tex!\yquantesecondpass!, \tex!\yquantescape!, and \tex!\yquanteescape! for more fine\hyp grained control of when to execute macros. \\
+ Bugfix: the auto\hyp\tex!\protect!ed versions \tex!\Ifnum! etc. now also work in \gate{output} gates. \\
+ New gate: \gate{text}. \\
+ Introduce the \style{/yquant/operators/every rectangular box} style as a common ancestor of gates such as \gate{box}, \gate{h}, ... instead of using the \style{/yquant/operators/every box} style for this.
+ As a consequence, boxes can now be styled globally without affecting the other gates.
+ This new behavior is compatibility\hyp protected. \\
+ Bugfix: \gate{output}s can now be named. \\
+ Bugfix: Border angles of \texttt{yquant-ellipse} now work properly. \\
+ New configuration: \style{/yquant/register/default lazy name} \\
+ Documentation: Replace the wishlist by a section on integration with other packages. \\
+ Documentation: Include the examples of \pkg{qpic} in this manual.
%END_FOLD
\end{document} \ No newline at end of file
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-circuit.tex b/graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
index 52cb435b2f..14f6a1f77b 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
@@ -217,16 +217,18 @@
% restores the data captured for an uncontrolled operator and starts preparation
% #1: \yquant@attrs@remaining
-% #2: \yquant@circuit@operator@targets
-% #3: \yquant@circuit@operator@mintarget
-% #4: \yquant@circuit@operator@maxtarget
-% #5: \yquant@circuit@operator@numtarget
-\protected\def\yquant@circuit@restore#1#2#3#4#5{%
+% #2: \yquant@lang@attr@name
+% #3: \yquant@circuit@operator@targets
+% #4: \yquant@circuit@operator@mintarget
+% #5: \yquant@circuit@operator@maxtarget
+% #6: \yquant@circuit@operator@numtarget
+\protected\def\yquant@circuit@restore#1#2#3#4#5#6{%
\def\yquant@attrs@remaining{#1}%
- \def\yquant@circuit@operator@targets{#2}%
- \def\yquant@circuit@operator@mintarget{#3}%
- \def\yquant@circuit@operator@maxtarget{#4}%
- \def\yquant@circuit@operator@numtarget{#5}%
+ \def\yquant@lang@attr@name{#2}%
+ \def\yquant@circuit@operator@targets{#3}%
+ \def\yquant@circuit@operator@mintarget{#4}%
+ \def\yquant@circuit@operator@maxtarget{#5}%
+ \def\yquant@circuit@operator@numtarget{#6}%
\yquant@circuit@operator@hasControlsfalse%
\let\yquant@circuit@operator@pctrls=\empty%
\def\yquant@circuit@operator@minpctrl{2147483647}%
@@ -323,10 +325,20 @@
% sets the output of wires
% #1: arbitrary register list
\protected\def\yquant@circuit@output{%
- \protected\def\idx{}%
+ \let\idx=\yquant@protectedempty%
+ \ifnum\yquant@compat>1 %
+ \let\Ifnum=\yquant@protectedempty%
+ \let\Ifcase=\yquant@protectedempty%
+ \let\Or=\yquant@protectedempty%
+ \let\Else=\yquant@protectedempty%
+ \let\Fi=\yquant@protectedempty%
+ \let\Unless=\yquant@protectedempty%
+ \let\The=\yquant@protectedempty%
+ \fi%
\protected@csxappto{\yquant@prefix outputs}%
{\yquant@circuit@restore%
{\yquant@attrs@remaining}%
+ {\yquant@lang@attr@name}%
{\unexpanded\expandafter{\yquant@circuit@operator@targets}}%
{\yquant@circuit@operator@mintarget}{\yquant@circuit@operator@maxtarget}%
{\yquant@circuit@operator@numtarget}%
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-config.tex b/graphics/pgf/contrib/yquant/tex/yquant-config.tex
index a2d5a8fc9e..a50b2a4792 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-config.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-config.tex
@@ -43,7 +43,9 @@
% BEGIN_FOLD Register creation
\pgfqkeys{/yquant}{%
register/default name/.store in=%
- \yquant@config@register@default@name%
+ \yquant@config@register@default@name,%
+ register/default lazy name/.store in=%
+ \yquant@config@register@default@lazyname%
}
\ifnum\yquant@compat<2 %
\pgfqkeys{/yquant}{%
@@ -172,9 +174,25 @@
}
\fi
\pgfqkeys{/yquant}{%
- operators/every box/.style=%
- {shape=yquant-rectangle, draw, align=center, inner xsep=1mm, x radius=2mm, y radius=2.47mm},%
+ operators/every text/.style=%
+ {shape=yquant-rectangle, align=center, inner xsep=1mm, x radius=2mm, y radius=2.47mm}%
}
+\ifnum\yquant@compat<3 %
+ \pgfqkeys{/yquant}{%
+ % we did not have this style before 0.6, but for the ease of implementation, we just change the direction of inheritance---users of earlier compat versions will never use the style, so this is fully transparent
+ operators/every rectangular box/.style=%
+ {/yquant/operators/every box},%
+ operators/every box/.style=%
+ {shape=yquant-rectangle, draw, align=center, inner xsep=1mm, x radius=2mm, y radius=2.47mm}%
+ }
+\else
+ \pgfqkeys{/yquant}{%
+ operators/every rectangular box/.style=%
+ {shape=yquant-rectangle, draw, align=center, inner xsep=1mm, x radius=2mm, y radius=2.47mm},%
+ operators/every box/.style=%
+ {/yquant/operators/every rectangular box}%
+ }
+\fi
\ifnum\yquant@compat<2 %
\pgfqkeys{/yquant}{%
operators/every custom gate/.style=%
@@ -200,7 +218,7 @@
operators/every not/.style=%
{shape=yquant-oplus, radius=1.3mm, draw},%
operators/every pauli/.style=%
- {/yquant/operators/every box},%
+ {/yquant/operators/every rectangular box},%
operators/every phase/.style=%
{shape=yquant-circle, radius=.5mm, fill},%
operators/every slash/.style=%
@@ -208,7 +226,7 @@
operators/every subcircuit/.style=%
{},%
operators/every subcircuit box/.style=%
- {/yquant/operators/every box},%
+ {/yquant/operators/every rectangular box},%
subcircuit box style/.style=%
{/yquant/operators/every subcircuit box/.append style={#1}},%
operators/this subcircuit box/.style=%
@@ -219,7 +237,11 @@
{/yquant/operators/this subcircuit box/.append style={draw=none, inner sep=0pt}},%
operators/subcircuit/seamless/.code=%
{\pgfkeysalso{/yquant/operators/subcircuit/frameless, /yquant/register/default name=}%
- \letcs\yquant@prevseamless{\yquant@prefix seamless}%
+ \ifdefined\yquant@prefix%
+ \csletcs{yquant@prevseamless}{\yquant@prefix seamless}%
+ \else%
+ \csletcs{yquant@prevseamless}{iffalse}%
+ \fi%
\yquant@config@circuit@seamlesstrue},
operators/subcircuit/name mangling/.is choice,%
operators/subcircuit/name mangling/prefix or discard/.code=%
@@ -270,6 +292,7 @@
% END_FOLD
\def\yquant@config@register@default@name{\regidx}
+\let\yquant@config@register@default@lazyname=\empty
\def\yquant@config@register@minimum@height{1.5mm}
\def\yquant@config@register@minimum@depth{1.5mm}
\def\yquant@config@register@sep{1mm}
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-env.tex b/graphics/pgf/contrib/yquant/tex/yquant-env.tex
index c6e9f52b01..f26919c8d1 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-env.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-env.tex
@@ -56,7 +56,7 @@
\edef\yquant@prefix{yquant@env\the\yquant@env @}%
\ifnum\yquant@env=1 %
\yquantmeasuringtrue%
- \yquant@env@substikz#1%
+ \yquant@env@substitute%
\global\cslet{\yquant@prefix parameters}\empty%
\else%
\let\yquant@lang@reset@attrs@inputoutput=\yquant@lang@reset@attrs@inputoutput@subcircuit%
@@ -529,8 +529,29 @@
\pgftransformreset%
}
+\protected\def\yquant@env@protectidx{%
+ \ifundef\idx{%
+ \let\idx=\yquant@protectedempty%
+ }\relax%
+ \ifundef\reg{%
+ \let\reg=\yquant@protectedempty%
+ }\relax%
+ \ifundef\regidx{%
+ \let\regidx=\yquant@protectedempty%
+ }\relax%
+ \ifundef\len{%
+ \let\len=\yquant@protectedempty%
+ }\relax%
+}
+
+\let\yquant@env@substitutions=\empty
+\def\yquant@env@substitute{%
+ \forlistloop\@firstofone\yquant@env@substitutions%
+}
+
% substitute the tikz commands (defined in \tikz@installcommands) so that they can be arbitrarily interleaved with yquant code. We patch \path, \scope, \endscope, \stopscope, their internal complements, and also patch \yquantset.
-\protected\def\yquant@env@substikz#1{%
+\listadd\yquant@env@substitutions\yquant@env@substikz
+\protected\def\yquant@env@substikz{%
% \tikz@path@do@at@end is called after a path. Hence, it is an ideal candidate to re-invoke \yquant@env@scan. However, it is by default defined to be \tikz@lib@scope@check, and we need this definition for the scopes library to work correctly. But since \tikz@lib@scope@check is also called after a scope and the end of a scope, this is even better. Yet, we need to check whether the scopes library is present or not.
\let\yquant@env@substikz@scopecheck=\tikz@lib@scope@check%
\ifx\tikz@lib@scope@check\pgfutil@empty%
@@ -547,25 +568,31 @@
\protected@csxappto{\yquant@prefix draw}{%
\noexpand\path##1;%
}%
- #1%
+ \yquant@env@scan%
}%
% no need for \scoped, because it internally calls \scope.
% We need to hack into \scope, but this is a bit tricky due to its argument handling. In order to get all optional arguments, including the possible animations library, correct, we change \tikz@scope@opt.
\ifdefined\tikz@scope@opt%
\let\yquant@env@substikz@scope=\tikz@scope@opt%
\def\tikz@scope@opt[##1]{%
- \protected@csxappto{\yquant@prefix draw}{%
- \noexpand\tikz@scope@env[{##1}]%
- }%
+ \begingroup%
+ \yquant@env@protectidx% scope options may contain \idx, \reg, and \regidx
+ \protected@csxappto{\yquant@prefix draw}{%
+ \noexpand\tikz@scope@env[{##1}]%
+ }%
+ \endgroup%
\yquant@env@substikz@scope[{##1}]%
}%
\else%
% this is for the arXiv, which has a very outdated version of TikZ
\let\yquant@env@substikz@scope=\tikz@@scope@env%
\def\tikz@@scope@env[##1]{%
- \protected@csxappto{\yquant@prefix draw}{%
- \noexpand\tikz@@scope@env[{##1}]%
- }%
+ \begingroup%
+ \yquant@env@protectidx% scope options may contain \idx, \reg, and \regidx
+ \protected@csxappto{\yquant@prefix draw}{%
+ \noexpand\tikz@@scope@env[{##1}]%
+ }%
+ \endgroup%
\yquant@env@substikz@scope[{##1}]%
}%
\fi%
@@ -580,14 +607,39 @@
\let\stopscope=\endscope%
% We define \yquantset as a pgfkeys-like macro. Anything else would deteriorate performance badly, as \pgfkeys, \pgfqkeys, or \tikzset are used a lot internally.
\protected\def\yquantset##1{%
- \protected@csxappto{\yquant@prefix draw}{%
- \noexpand\pgfqkeys{/yquant}{##1}%
- }%
+ \begingroup%
+ \yquant@env@protectidx% yquant options may contain \idx, \reg, and \regidx
+ \protected@csxappto{\yquant@prefix draw}{%
+ \noexpand\pgfqkeys{/yquant}{##1}%
+ }%
+ \endgroup%
\pgfqkeys{/yquant}{##1}%
\yquant@env@scan%
}%
}
+\listadd\yquant@env@substitutions\yquant@env@secondpass
+\protected\def\yquant@env@secondpass{%
+ \protected\long\def\yquantsecondpass##1{%
+ \csgappto{\yquant@prefix draw}{##1}%
+ \yquant@env@scan%
+ }%
+ \protected\long\def\yquantesecondpass##1{%
+ \protected@csxappto{\yquant@prefix draw}{##1}%
+ \yquant@env@scan%
+ }%
+ \protected\long\def\yquantescape##1{%
+ ##1%
+ \protected@csxappto{\yquant@prefix draw}{##1}%
+ \yquant@env@scan%
+ }%
+ \protected\long\def\yquanteescape##1{%
+ ##1%
+ \csgappto{\yquant@prefix draw}{##1}%
+ \yquant@env@scan%
+ }%
+}
+
% Scan until the next non-space token is found and execute it as a csname
\def\yquant@env@scan{%
\begingroup%
@@ -604,6 +656,230 @@
\yquant@env@scan%
}
+\ifdefined\beamer@masterdecode
+ \expandafter\@firstoftwo
+\else
+ \expandafter\@secondoftwo
+\fi{%
+ \protected\def\yquant@env@check@findmacro{%
+ % we only put the beamer macros in here that effectively remove things from the input stream. Everything that is typeset in a special way will end the group
+ \ifx\yquant@env@nextchar\only%
+ \let\next=\yquant@env@beamer@only%
+ \else%
+ \ifx\yquant@env@nextchar\alt%
+ \let\next=\yquant@env@beamer@alt%
+ \else%
+ \ifx\yquant@env@nextchar\temporal%
+ \let\next=\yquant@env@beamer@temporal%
+ \else%
+ \ifx\yquant@env@nextchar\note%
+ \let\next=\yquant@env@beamer@note%
+ \else%
+ % in principle: \endgroup for all in here, but need to preserve \yquant@env@nextchar
+ \ifx\yquant@env@nextchar\uncover%
+ \endgroup%
+ \let\next=\yquant@env@beamer@uncover%
+ \else%
+ \ifx\yquant@env@nextchar\visible%
+ \endgroup%
+ \let\next=\yquant@env@beamer@visible%
+ \else%
+ \ifx\yquant@env@nextchar\invisible%
+ \endgroup%
+ \let\next=\yquant@env@beamer@invisible%
+ \else%
+ \ifx\yquant@env@nextchar\onslide%
+ \endgroup%
+ \let\next=\yquant@env@beamer@onslide%
+ \else%
+ \ifx\yquant@env@nextchar\pause%
+ \endgroup%
+ \let\next=\yquant@env@beamer@pause%
+ \else%
+ \ifx\yquant@env@nextchar\yquant@env@beamer@checkifactive%
+ \endgroup%
+ \let\yquant@env@beamer@checkifactive@true=\relax%
+ \let\next=\relax%
+ \else%
+ \endgroup%
+ \let\next=\relax%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ }%
+
+ \listadd\yquant@env@substitutions\yquant@env@substbeamer
+ \protected\def\yquant@env@substbeamer{%
+ \long\def\yquant@env@beamer@only@arga<##1>##2{%
+ \beamer@alt<##1>{\yquant@env@contscan##2}{\yquant@env@contscan}%
+ }%
+ \long\def\yquant@env@beamer@alt@arga<##1>##2##3{%
+ \beamer@alt<##1>{\yquant@env@contscan##2}{\yquant@env@contscan##3}%
+ }%
+ \protected\long\def\yquant@env@beamer@temporal\temporal<##1>##2##3##4{%
+ \temporal<##1>{\yquant@env@contscan##2}{\yquant@env@contscan##3}{\yquant@env@contscan##4}%
+ }%
+ % There's no need for the fakeinvisible or spacingcover macros, since we are within TikZ anyway
+ \mode<presentation>{
+ \protected\long\def\yquant@env@beamer@visibilitymacros##1##2##3##4{%
+ \yquant@env@beamer@visibilitymacros@flip##1%
+ \beamer@altget%
+ {\yquant@env@scan##3}%
+ {%
+ \begingroup%
+ \letcs\yquant@env@beamer@olddraw{\yquant@prefix draw}%
+ \global\cslet{\yquant@prefix draw}\empty%
+ \undef\yquant@env@beamer@checkifactive@true%
+ ##2{\yquant@env@scan##3\yquant@env@beamer@checkifactive}%
+ \csxdef{\yquant@prefix draw}{%
+ \unexpanded\expandafter{\yquant@env@beamer@olddraw}%
+ \ifx0##1%
+ \noexpand\beamer@alt##4{}%
+ \else%
+ \noexpand\beamer@only##4%
+ \fi%
+ {%
+ \unexpanded{##2}{%
+ \unexpanded\expandafter\expandafter\expandafter{\csname\yquant@prefix draw\endcsname}%
+ }%
+ }%
+ }%
+ \expandafter%
+ \endgroup%
+ \ifdefined\yquant@env@beamer@checkifactive@true%
+ \expandafter\@firstofone%
+ \else%
+ \expandafter\@gobble%
+ \fi%
+ \yquant@env@scan%
+ }%
+ ##4%
+ }
+ \newcommand<>\yquant@env@beamer@onslidenoargs[2]{%
+ \let\yquant@env@beamer@onslideappdraw=\empty%
+ \appto\yquant@env@beamer@onslideappdraw{\beamer@endpause}%
+ \yquant@for \i := 1 to \csname\yquant@prefix registers\endcsname{%
+ \eappto\yquant@env@beamer@onslideappdraw{\noexpand\yquant@circuit@flushwire{\i}}%
+ }%
+ \csxappto{\yquant@prefix draw}%
+ {\unexpanded\expandafter{\yquant@env@beamer@onslideappdraw}}%
+ \beamer@alt##3%
+ {\csgappto{\yquant@prefix draw}{%
+ \global\let\beamer@endpause=\empty%
+ }%
+ \yquant@env@scan}%
+ {\csgappto{\yquant@prefix draw}{%
+ ##1%
+ \gdef\beamer@endpause{##2}%
+ }%
+ \yquant@env@scan%
+ }%
+ }
+ % This is \beamer@inframenote, but we are always in a frame if we an in yquant
+ \newcommand<>{\yquant@env@beamer@note@}[2][]{%
+ \beamer@inframenote##3[{##1}]{##2}%
+ \yquant@env@contscan%
+ }
+ }%
+ \mode<article>{
+ \newcommand<>\yquant@env@beamer@uncover@[1]{%
+ \beamer@alt##2{\yquant@env@scan##1}{\yquant@env@scan}%
+ }
+ % we don't need \yquant@env@beamer@visible@ in this mode, since \uncover and \visible are equal (w.r.t. \ifx), so we will always end up with the \uncover path
+ \newcommand<>\yquant@env@beamer@invisible@[1]{%
+ \beamer@alt##2{\yquant@env@scan}{\yquant@env@scan##1}%
+ }
+ \newcommand<>{\yquant@env@beamer@note@}[2][]{\yquant@env@contscan}
+ \newrobustcmd\yquant@env@beamer@pause@[1][]{\yquant@env@scan}
+ }
+ \protected\def\yquant@env@beamer@onslide@{%
+ \@ifstar{\yquant@env@scan\only}%
+ {\@ifnextchar+{\expandafter\yquant@env@beamer@visibleonslide\@gobble}%
+ {\yquant@env@beamer@mainonslide}%
+ }%
+ }%
+ }
+
+ \protected\def\yquant@env@beamer@only\only{\@ifnextchar<{\yquant@env@beamer@only@arga}%
+ {\yquant@env@beamer@only@argb}}%
+ \long\def\yquant@env@beamer@only@argb#1{%
+ \beamer@ifnextcharospec{\yquant@env@beamer@only@argb@{#1}}{#1}%
+ }%
+ \long\def\yquant@env@beamer@only@argb@#1<#2>{%
+ \yquant@env@beamer@only@arga<#2>{#1}%
+ }%
+ \protected\def\yquant@env@beamer@alt\alt{\@ifnextchar<{\yquant@env@beamer@alt@arga}%
+ {\yquant@env@beamer@alt@argb}}%
+ \long\def\yquant@env@beamer@alt@argb#1#2{%
+ \beamer@ifnextcharospec{\yquant@env@beamer@alt@argb@{#1}{#2}}{#1}%
+ }
+ \long\def\yquant@env@beamer@alt@argb@#1#2<#3>{%
+ \yquant@env@beamer@alt@arga<#3>{#1}{#2}%
+ }
+
+ \def\yquant@env@beamer@checkifactive{%
+ % this should not compare to anything else, but should also not give an error on expansion
+ \yquant@env@beamer@checkifactive@%
+ }
+ \let\yquant@env@beamer@checkifactive@=\empty%
+ \def\yquant@env@beamer@note\note{\yquant@env@beamer@note@}
+ % note: in article mode, the definitions of \uncover and \visible are identical, hence we will mistake \visible for \uncover (which is checked first); therefore, \yquant@env@beamer@uncover may be followed by \uncover or \visible, just take an arbitrary argument.
+ \def\yquant@env@beamer@uncover#1{\yquant@env@beamer@uncover@}
+ \def\yquant@env@beamer@visible\visible{\yquant@env@beamer@visible@}
+ \def\yquant@env@beamer@invisible\invisible{\yquant@env@beamer@invisible@}
+ \def\yquant@env@beamer@onslide\onslide{\yquant@env@beamer@onslide@}
+ \def\yquant@env@beamer@pause\pause{\yquant@env@beamer@pause@}
+
+ \mode<presentation>{
+ \long\def\yquant@env@beamer@visibilitymacros@flip#1#2#3#4{%
+ \ifx1#1%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
+ \fi%
+ {#2{#4}{#3}}{#2{#3}{#4}}%
+ }
+ \newcommand<>\yquant@env@beamer@uncover@[1]{%
+ \yquant@env@beamer@visibilitymacros0\beamer@makecovered{#1}{#2}%
+ }
+ \newcommand<>\yquant@env@beamer@visible@[1]{%
+ \yquant@env@beamer@visibilitymacros0\beamer@reallymakeinvisible{#1}{#2}%
+ }
+ \newcommand<>\yquant@env@beamer@invisible@[1]{%
+ \yquant@env@beamer@visibilitymacros1\beamer@reallymakeinvisible{#1}{#2}%
+ }
+ \newrobustcmd\yquant@env@beamer@pause@[1][]{%
+ \ifblank{#1}%
+ {\stepcounter{beamerpauses}}%
+ {\setcounter{beamerpauses}{#1}}%
+ \yquant@env@beamer@onslidenoargs<\value{beamerpauses}->\beamer@startcovered\beamer@endcovered%
+ }
+ }
+ \mode<article>{
+ \newcommand<>\yquant@env@beamer@onslidenoargs[2]{}
+ }
+ \newcommand<>{\yquant@env@beamer@visibleonslide}{%
+ \@ifnextchar\bgroup{\yquant@env@beamer@visible@#1}%
+ {\yquant@env@beamer@onslidenoargs#1\beamer@begininvisible\beamer@endinvisible}%
+ }
+ \newcommand<>{\yquant@env@beamer@mainonslide}{%
+ \@ifnextchar\bgroup{\yquant@env@beamer@uncover@#1}%
+ {\yquant@env@beamer@onslidenoargs#1\beamer@startcovered\beamer@endcovered}%
+ }
+}{%
+ \def\yquant@env@check@findmacro{%
+ \endgroup%
+ \let\next=\relax%
+ }
+}%
+
\protected\def\yquant@env@check@{%
\let\next=\relax%
% Here we assume standard catcodes for A and [, but our language specification also requires this implicitly.
@@ -625,8 +901,7 @@
\let\next=\yquant@env@gobblepar%
\else%
\ifcat\noexpand\yquant@env@nextchar\relax%
- \endgroup%
- \let\next=\relax%
+ \yquant@env@check@findmacro%
\else%
\PackageError{yquant.sty}%
{Invalid yquant syntax: `\meaning\yquant@env@nextchar'}%
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-lang.tex b/graphics/pgf/contrib/yquant/tex/yquant-lang.tex
index 8658d3af9f..cc882a7ffb 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-lang.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-lang.tex
@@ -298,7 +298,7 @@
% usually, we will not be in a tikzpicture here, so all the commands that abbreviate some path operation are undefined!
\tikz@installcommands%
% While we want the content to be expanded, protect the most likely TikZ commands - the same ones that we usually substitute in \yquant@env@substikz.
- \protected\def\path{}%
+ \let\path=\yquant@protectedempty%
\let\scoped=\path%
\let\scope=\path%
\let\endscope=\path%
@@ -362,7 +362,7 @@
\def\yquantdefinebox@#1#2{%
\@ifnextchar[{\yquantdefinebox@i{#1}{#2}}%
- {\yquantdefinebox@i{#1}{#2}[/yquant/operators/every box]}%
+ {\yquantdefinebox@i{#1}{#2}[/yquant/operators/every rectangular box]}%
}
\protected\long\def\yquantdefinebox@i#1#2[#3]#4{%
@@ -393,6 +393,16 @@
}
\yquant@langhelper@setup@attrs{box}{value}{}
+\yquant@langhelper@declare@command%
+ {text}%
+ \yquant@register@get@allowmultitrue%
+ {%
+ \expandafter\yquant@prepare%
+ \expandafter{\yquant@lang@attr@value}%
+ {/yquant/operators/every text}%
+ }
+\yquant@langhelper@setup@attrs{text}{value}{}
+
% Hadamard
\yquantdefinebox{h}{$H$}
@@ -601,6 +611,7 @@
{init}%
{%
\yquant@register@get@allowmultitrue%
+ \let\yquant@config@register@default@lazyname=\empty%
% we will count how many registers contain the "clean" flag, and only if this is equal to the number of targets, we apply the shift.
\count8=0 %
}%
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-prepare.tex b/graphics/pgf/contrib/yquant/tex/yquant-prepare.tex
index fb46e4e7d1..9869a61a76 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-prepare.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-prepare.tex
@@ -293,7 +293,7 @@
}
\protected\long\def\yquant@prepare@finalize#1#2{%
% We now know the dimensions of all the registers (though we didn't bother with the height of the control knobs [if present], we just assume they are too small to change this).
- \protected\def\idx{}%#
+ \let\idx=\yquant@protectedempty%
\yquant@prepare@ifs@set%
\let\yquant@prepare@append=\empty%
\yquant@sort\yquant@prepare@sort%
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-registers.tex b/graphics/pgf/contrib/yquant/tex/yquant-registers.tex
index 97762cf3dd..41a472821f 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-registers.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-registers.tex
@@ -166,9 +166,56 @@
\else%
\def\idx{0}%
\fi%
- % pre-set y position
- \yquant@for \idx := \idx to \numexpr \len -1\relax {%
- \yquant@prepare@create\reg\idx\yquant@register@type@q%
+ % define text macros
+ \ifnum\len=1 %
+ \let\regidx=\reg%
+ \else%
+ \def\regidx{\reg[\idx]}%
+ \fi%
+ \numdef\yquant@circuit@operator@mintarget{\csname\yquant@prefix registers\endcsname+1}%
+ \begingroup%
+ \yquant@for \idx := \idx to \numexpr \len -1\relax {%
+ \yquant@prepare@create\reg\idx\yquant@register@type@q%
+ }%
+ \endgroup%
+ \ifx\yquant@config@register@default@lazyname\empty%
+ \expandafter\@gobble%
+ \else%
+ \expandafter\@firstofone%
+ \fi%
+ {%
+ \let\yquant@lang@attr@value=\yquant@config@register@default@lazyname%
+ % gather details about the created registers
+ \letcs\yquant@circuit@operator@maxtarget{\yquant@prefix registers}%
+ \numdef\yquant@circuit@operator@numtarget{\yquant@circuit@operator@maxtarget-\yquant@circuit@operator@mintarget+1}%
+ \edef\yquant@circuit@operator@targets{%
+ \yquant@list@range%
+ \yquant@circuit@operator@mintarget%
+ \yquant@circuit@operator@maxtarget%
+ }%
+ \let\yquant@circuit@operator@pctrls=\empty%
+ \def\yquant@circuit@operator@minpctrl{2147483647}%
+ \def\yquant@circuit@operator@maxpctrl{0}%
+ \let\yquant@circuit@operator@numpctrl=\yquant@circuit@operator@maxpctrl%
+ \let\yquant@circuit@operator@nctrls=\empty%
+ \let\yquant@circuit@operator@minnctrl=\yquant@circuit@operator@minpctrl%
+ \let\yquant@circuit@operator@maxnctrl=\yquant@circuit@operator@maxpctrl%
+ \let\yquant@circuit@operator@numnctrl=\yquant@circuit@operator@numpctrl%
+ \let\yquant@circuit@operator@minctrl=\yquant@circuit@operator@mintarget%
+ \let\yquant@circuit@operator@maxctrl=\yquant@circuit@operator@maxtarget%
+ % there are no multi inits in this context
+ \preto\yquant@attrs@remaining{internal/move label,}%
+ \def\yquant@config@operator@minimum@width{0pt}%
+ \unless\ifx\yquant@lang@attr@value\empty%
+ % make sure to immediately remove the "clear" marker again if we have a text
+ \yquant@for \i := \yquant@circuit@operator@mintarget to \yquant@circuit@operator@maxtarget {%
+ \yquant@register@execclear@lastgate{\i}{init}%
+ }%
+ \fi%
+ \expandafter\yquant@prepare%
+ \expandafter{\yquant@lang@attr@value}%
+ {/yquant/every label, /yquant/every initial label,%
+ /yquant/every qubit label}%
}%
\endgroup%
}
@@ -216,8 +263,8 @@
}
\endgroup
-\protected\def\yquant@register@get@ids@@index{}
-\protected\def\yquant@register@get@ids@@multi{}
+\let\yquant@register@get@ids@@index=\yquant@protectedempty
+\let\yquant@register@get@ids@@multi=\yquant@protectedempty
\def\yquant@register@get@ids@outerlist#1{%
\ifyquant@firsttoken\yquant@register@get@ids@@multi{#1}{%
@@ -557,8 +604,8 @@
\yquant@register@get@id#1{\trim@spaces{#2}[\trim@spaces{\trim@spaces#3}]}%
}
-\let\yquant@register@multi=\empty%
-\protected\def\yquant@register@multi@contiguous{}%
+\let\yquant@register@multi=\empty
+\let\yquant@register@multi@contiguous=\yquant@protectedempty
% splits \yquant@register@get@ids@list into a list of contiguous parts
\protected\def\yquant@register@multi@splitparts{%
@@ -738,7 +785,7 @@
}
% This plays a similar role: It must never be expanded before the tikz command is invoked (because it does not exist).
-\protected\def\nodepart{}
+\let\nodepart=\yquant@protectedempty
\def\yquant@register@get@y@unprotected#1{%
\ifcsname\yquant@prefix registermap@#1\endcsname%
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-shapes.tex b/graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
index 88cddd66dd..ea62802b2b 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
@@ -192,8 +192,7 @@
\@tempdima=\pgf@x%
\@tempdimb=\pgf@y%
\pgfpointborderellipse{\pgfqpoint{\@tempdima}{\@tempdimb}}%
- {\pgfqpoint{.707107\dimexpr\xradius\relax}%
- {.707107\dimexpr\yradius\relax}}%
+ {\pgfqpoint{\xradius}{\yradius}}%
}%
\backgroundpath{%
\pgfpathellipse{\pgfpointorigin}%
@@ -202,8 +201,8 @@
}%
\clippath{%
\pgfpathellipse{\pgfpointorigin}%
- {\pgfqpoint{\dimexpr\xradius+.5\pgflinewidth}{0pt}}%
- {\pgfqpoint{0pt}{\dimexpr\yradius+.5\pgflinewidth}}%
+ {\pgfqpoint{\dimexpr\xradius+.5\pgflinewidth\relax}{0pt}}%
+ {\pgfqpoint{0pt}{\dimexpr\yradius+.5\pgflinewidth\relax}}%
}%
}
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-tools.tex b/graphics/pgf/contrib/yquant/tex/yquant-tools.tex
index 65880b995f..f30dc308bc 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-tools.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-tools.tex
@@ -37,6 +37,8 @@
\long\def\@fourthoffive#1#2#3#4#5{#4} % unused
\long\def\@fifthoffive#1#2#3#4#5{#5}
+\protected\def\yquant@protectedempty{}
+
% Loop #1 from min(#2, #3) to max(#2, #3), executing #4
\protected\def\yquant@for #1:=#2to#3#{%
\yquant@for@aux#1{#2}{#3}%
diff --git a/graphics/pgf/contrib/yquant/tex/yquant.sty b/graphics/pgf/contrib/yquant/tex/yquant.sty
index a3bda686b8..75b1cfd214 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant.sty
+++ b/graphics/pgf/contrib/yquant/tex/yquant.sty
@@ -15,7 +15,7 @@
%
% The Current Maintainer of this work is Benjamin Desef.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{yquant}[2021/09/04 v0.5.1 Yet another quantum circuit library for LaTeX]
+\ProvidesPackage{yquant}[2021/12/28 v0.6 Yet another quantum circuit library for LaTeX]
\RequirePackage{etoolbox}[2018/02/11]
\RequirePackage{tikz}[2015/08/29]
@@ -23,16 +23,16 @@
\RequirePackage{xkeyval}[2005/05/07]
\usetikzlibrary{arrows.meta,decorations.pathreplacing,decorations.pathmorphing}
-\define@choicekey+{yquant.sty}{compat}[\val\yquant@compat]{newest,0.3,0.4}{
+\define@choicekey+{yquant.sty}{compat}[\val\yquant@compat]{newest,0.3,0.4,0.6}{
\ifnum\yquant@compat=0 %
- \def\yquant@compat{2} % current version
+ \def\yquant@compat{3} % current version
\fi%
}{
\PackageWarning{yquant.sty}{Invalid value for `compat` key specified. Using `0.3`.}
}
\ProcessOptionsX
\unless\ifdefined\yquant@compat
- \PackageWarning{yquant.sty}{Please specify the `compat` key for yquant. Using `0.3`. Current compatibility version `0.4`.}
+ \PackageWarning{yquant.sty}{Please specify the `compat` key for yquant. Using `0.3`. Current compatibility version `0.6`.}
\def\yquant@compat{1}
\fi
diff --git a/graphics/pgf/contrib/yquant/tex/yquantlanguage-groups.sty b/graphics/pgf/contrib/yquant/tex/yquantlanguage-groups.sty
index e8330d731e..1ea78cace6 100644
--- a/graphics/pgf/contrib/yquant/tex/yquantlanguage-groups.sty
+++ b/graphics/pgf/contrib/yquant/tex/yquantlanguage-groups.sty
@@ -15,9 +15,9 @@
%
% The Current Maintainer of this work is Benjamin Desef.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{yquantlanguage-groups}[2021/08/14 v0.5 yquant-groups]
+\ProvidesPackage{yquantlanguage-groups}[2021/08/14 v0.6 yquant-groups]
-\RequirePackage{yquant}[2021/08/14]
+\RequirePackage{yquant}[2021/12/24]
% BEGIN_FOLD Config
\newif\ifyquantgroup@config@aligned
@@ -173,7 +173,7 @@
\edef\yquant@prefix{yquant@env\the\yquant@env @}%
\ifnum\yquant@env=1 %
\yquantmeasuringtrue%
- \yquant@env@substikz#1%
+ \yquant@env@substitute%
\global\cslet{\yquant@prefix parameters}\empty%
\else%
\let\yquant@lang@reset@attrs@inputoutput=\yquant@lang@reset@attrs@inputoutput@subcircuit%
@@ -188,7 +188,7 @@
\let\yquant@parent=\yquantgroup@parent%
\let\yquant@prefix=\yquantgroup@prefix%
\yquantmeasuringtrue%
- \yquant@env@substikz#1%
+ \yquant@env@substitute%
\global\cslet{\yquant@prefix parameters}\empty%
}\relax{%
\PackageError{yquant.sty}{Internal error}%
diff --git a/graphics/pgf/contrib/yquant/tex/yquantlanguage-qasm.sty b/graphics/pgf/contrib/yquant/tex/yquantlanguage-qasm.sty
index d37aa6b9f0..86128e643c 100644
--- a/graphics/pgf/contrib/yquant/tex/yquantlanguage-qasm.sty
+++ b/graphics/pgf/contrib/yquant/tex/yquantlanguage-qasm.sty
@@ -1,7 +1,7 @@
% yquantlanguage-qasm.sty
% Extend yquant to understand qasm syntax.
%
-% Copyright 2020 Benjamin Desef
+% Copyright 2021 Benjamin Desef
%
% This work may be distributed and/or modified under the conditions of the LaTeX Project
% Public License, either version 1.3c of this license or (at your option) any later
@@ -15,9 +15,9 @@
%
% The Current Maintainer of this work is Benjamin Desef.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{yquantlanguage-qasm}[2021/03/27 v0.4 yquant-qasm]
+\ProvidesPackage{yquantlanguage-qasm}[2021/12/24 v0.6 yquant-qasm]
-\RequirePackage{yquant}[2021/03/27]
+\RequirePackage{yquant}[2021/12/24]
% BEGIN_FOLD Environment definitions
\begingroup
@@ -338,13 +338,13 @@
% BEGIN_FOLD Configuration
\pgfkeys{%
/yquant/operators/every s/.style={%
- /yquant/operators/every box%
+ /yquant/operators/every rectangular box%
},%
/yquant/operators/every t/.style={%
- /yquant/operators/every box%
+ /yquant/operators/every rectangular box%
},%
/yquant/operators/every utwo/.style={%
- /yquant/operators/every box%
+ /yquant/operators/every rectangular box%
},
/qasm/zero/.store in=%
\qasm@config@zero,%
diff --git a/graphics/pstricks/contrib/pst-geometrictools/Changes b/graphics/pstricks/contrib/pst-geometrictools/Changes
new file mode 100644
index 0000000000..535e2ec7f6
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-geometrictools/Changes
@@ -0,0 +1,6 @@
+pst-geometrictools.tex ----------------
+
+1.3 2021/12/28 - more fixes for lualatex (hv)
+1.2 2021/11/17 - fixes for lualatex (hv)
+1.1 2017/09/16 - choose fonts for some tools
+1.0 2017/06/29
diff --git a/graphics/pstricks/contrib/pst-geometrictools/Changes.txt b/graphics/pstricks/contrib/pst-geometrictools/Changes.txt
deleted file mode 100644
index ce16d2fcb1..0000000000
--- a/graphics/pstricks/contrib/pst-geometrictools/Changes.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-pst-geometrictools.tex ----------------
-
-1.1 2017/09/16
-- choose fonts for some tools
-1.0 2017/06/29
diff --git a/graphics/pstricks/contrib/pst-geometrictools/README.md b/graphics/pstricks/contrib/pst-geometrictools/README.md
index c8bd792060..c3b26509db 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/README.md
+++ b/graphics/pstricks/contrib/pst-geometrictools/README.md
@@ -1,8 +1,8 @@
The pst-geometrictools package Author: Thomas Söll
-`pst-geometrictools' is a PSTricks package to draw a protractor, a ruler, a compass and pencils
+"pst-geometrictools" is a PSTricks package to draw a protractor, a ruler, a compass and pencils
-Dated: 2017/09/16 Version 1.1
+Dated: 2021/12/28 Version 1.3
pst-geometrictools contains the following:
@@ -18,15 +18,15 @@ Save the files pst-geometrictools.sty|tex in a directory, which is part of your
local TeX tree.
Then do not forget to run texhash to update this tree.
For more information see the documentation of your LATEX distribution
-on installing packages into your local TeX system or read the
-TeX Frequently Asked Questions:
-(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+on installing packages into your local TeX system
pst-geometrictools needs pst-eucl, pstricks-xkey and pstricks, which should
be part of your local TeX installation, otherwise get it from a
-CTAN server, http://mirror.ctan.org
+CTAN server, https://mirror.ctan.org
-PSTricks is PostScript Tricks, the documentation cannot be run
-with pdftex, use the sequence latex->dvips->ps2pdf or latex->dvips->distiller.
+PSTricks is PostScript Tricks, the documentation cannot be run with pdftex,
+use the sequence latex->dvips->ps2pdf or latex->dvips->distiller or lualatex.
T. Söll
+
+(Bugfixes by Herbert Voß hvoss@tug.org)
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
new file mode 100644
index 0000000000..ce1b9782c2
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-doc.tex b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
index f646e7520f..47b04b6f2d 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-doc.tex
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
@@ -20,33 +20,16 @@
\listfiles
-
-\documentclass[%
-11pt,
-english,
-BCOR10mm,
-DIV12,
-bibliography=totoc,
-parskip=false,
-fleqn,
-smallheadings,
-headexclude,
-footexclude,
-oneside,
-dvipsnames,
-svgnames,
-x11names,
-distiller
-]{pst-doc}
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{}
+%% $Id: pst-venn-doc.tex 848 2018-12-04 09:25:49Z herbert $
+\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+ headinclude=false,footinclude=false,oneside]{pst-doc}
\usepackage[autostyle]{csquotes}
-\usepackage{biblatex}
-%\usepackage[style=dtk]{biblatex}
-\addbibresource{pst-geometrictools-doc.bib}
-\usepackage[utf8]{inputenc}
+%\addbibresource{pst-geometrictools-doc.bib}
\let\pstpersFV\fileversion
-\usepackage{pst-geometrictools,pst-node,pst-eucl,pst-pers,pstricks-add,animate}
-\usepackage{etex} % increase the number of registers (otherwise only 256)
+\usepackage{pst-geometrictools,pst-node,pstricks-add,animate}
\let\belowcaptionskip\abovecaptionskip
@@ -71,22 +54,18 @@ distiller
\begin{document}
-\title{pst-geometrictools v 1.1}
+\title{pst-geometrictools v 1.3}
\subtitle{A PSTricks package to draw a protractor, a ruler, a compass and pencils}
-\author{Thomas \textsc{Söll}}
+\author{Thomas Söll\\Herbert Voß (bugfix)}
\date{\today}
-\maketitle
+\settitle
\tableofcontents
-\psset{unit=1cm}
-
-
-\clearpage
-
\begin{abstract}
-The package \LPack{pst-geometrictools} offers some customizable options to setup a \emph{protractor}, a \emph{ruler}, a \emph{compass} and \emph{pencils} to the users' wishes. Some geometric tools are predefined
+The package \LPack{pst-geometrictools} offers some customizable options to setup a \emph{protractor}, a \emph{ruler},
+a \emph{compass} and \emph{pencils} to the users' wishes. Some geometric tools are predefined
and ready-to-use for the customer to be able to present some pixel-free graphics showing the handling of some geometric tools.
The geometric tools can be scaled, rotated, positioned, colored as wanted, even labeled---if wanted.
@@ -97,12 +76,13 @@ We recommend to use the package \LPack{pst-eucl} (by \textit{Dominique Rodriguez
Have fun to use it!
-\vfill
+\bigskip
This program can redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt;
either version 1.3c of the License, or (at your option) any later version.
\end{abstract}
+
\clearpage
@@ -111,8 +91,7 @@ either version 1.3c of the License, or (at your option) any later version.
\subsection{\textbackslash psProtractor}
\begin{BDef}
-\Lcs{psProtractor}\OptArgs\Largb{angle}\Largr{coordinates of the origin}
-\\
+\Lcs{psProtractor}\OptArgs\Largb{angle}\Largr{coordinates of the origin}\\
\Lcs{psProtractor}\OptArgs\Largb{angle}\Largr{coordinates of the origin}\Largr{coordinates of a second point}
\end{BDef}
@@ -181,8 +160,7 @@ The command \Lcs{psRuler} offers a positioning
\subsection{\textbackslash psCompass}
\begin{BDef}
-\Lcs{psCompass}\OptArgs\Largb{radius}\Largr{coordinates of origin}
-\\
+\Lcs{psCompass}\OptArgs\Largb{radius}\Largr{coordinates of origin}\\
\Lcs{psCompass}\OptArgs\Largb{radius}\Largr{coordinates of origin}\Largr{coordinates of a second point}
\end{BDef}
@@ -238,13 +216,14 @@ The command \Lcs{psPencil} contains the options \nxLkeyword{PenScale=}, \nxLkeyw
\newpage
+
\subsection{\textbackslash psParallels (Idea and realization by \emph{Manuel Luque})}
\begin{BDef}
-\Lcs{psParallels}\OptArgs\Largr{pointA}\Largr{pointB}\Largr{pointC}\Largb{angle}
+\Lcs{psParallels}\OptArgs\Largr{pointA}\Largr{pointB}\Largr{pointC}
\end{BDef}
-The command \Lcs{psParallels} contains the option \nxLkeyword{DistCoeff=}.
+The command \Lcs{psParallels} contains the option \nxLkeyword{DistCoeff}.
\begin{quote}
\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
@@ -254,18 +233,36 @@ The command \Lcs{psParallels} contains the option \nxLkeyword{DistCoeff=}.
\end{tabularx}
\end{quote}
-This command is made to directly draw a line parallel to the line containing \texttt{pointA} and \texttt{pointB} intersecting at point \texttt{pointC}.
-
-\begin{LTXexample}[pos=t,width=17cm]
-\begin{pspicture}(-11,-10)(6,2.5)
-\psParallels[DistCoeff=1](-6,-1)(1,2)(2,0)
-\end{pspicture}
+This command is made to directly draw a line parallel to the line containing \texttt{pointA} and \texttt{pointB}
+intersecting at point \texttt{pointC}.
+
+
+\begin{LTXexample}[pos=t,width=\linewidth]
+\psscalebox{0.5}{%
+\begin{pspicture}[showgrid=false](-15,-10)(5,3)%
+ \pnode(-6,1){A}\uput[100](A){A}
+ \pnode(1,2){B}\uput[100](B){B}
+ \pnode(2,0){C}\uput[90](C){C}
+ \pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)%
+ \psParallels[style=Parallelen,RulerScale=0.5,ProScale=1,DistCoeff=1](A)(B)(C)
+ \pcline[linecolor=BrickRed](GeodrB)(GeodrA)%
+ \midAB(GeodrB)(GeodrA){M}%
+ \psPencil[PenLength=5,pencilColA=red,PenScale=0.5]{60}(M)
+ \end{pspicture}}
\end{LTXexample}
-The command \verb+\psParallels[DistCoeff=1](A)(B)(C){angle}+ allows to draw a parallel through the point C with the help of a ruler and protractor. The angle is the one between the pencil and the vertical.
-The command uses the option [DistCoef=] as within pst-eucl. If [DistCoef=0] the hypotenuse of the protractor lays on the line (AB), the ruler automatically positions below the protractor.
-For an animation, we vary [DistCoef=0..1], the protractor moves along the ruler letting the hypotenuse parallel to the line (AB). If [DistCoef=1], the protractor intersects with the point C. We can now draw the parallel to (AB) intersecting C.
+The command \verb+\psParallels[DistCoeff=1](A)(B)(C){angle}+ allows to draw a parallel through the
+point C with the help of a ruler and protractor. The angle is the one between the pencil and the vertical.
+The command uses the option [DistCoef=] as within pst-eucl. If [DistCoef=0] the hypotenuse of the
+protractor lays on the line (AB), the ruler automatically positions below the protractor.
+
+For an animation, we vary [DistCoef=0..1], the protractor moves along the ruler letting the
+hypotenuse parallel to the line (AB). If [DistCoef=1], the protractor intersects with the point C.
+We can now draw the parallel to (AB) intersecting C.
+
+
+
\newpage
@@ -274,12 +271,13 @@ For an animation, we vary [DistCoef=0..1], the protractor moves along the ruler
\section{Basic Examples}
\begin{LTXexample}[pos=t,width=16cm]
-\begin{pspicture}*(-6,-5.5)(10,7)
+\psscalebox{0.7}{%
+\begin{pspicture}[showgrid=false](-6,-5.5)(10,7)
\psProtractor{0}(0,0)% origin of the protractor
\psRuler{0}(0,0)% origin of the ruler
\psPencil{-30}(6,0)% origin of the pencil
\psCompass{3}(2,0)% origin of the compass
-\end{pspicture}
+\end{pspicture}}
\end{LTXexample}
We see, that the origins of the \emph{protractor} and \emph{ruler}, \emph{compass} and respectively the \emph{cone end of the pencil} are positioned at $(0|0)$, $(2|0)$, $(6|0)$. Adding an angle rotates the objects around their origins.
@@ -473,11 +471,11 @@ Constructing the height of a given triangle.
\clearpage
-\nocite{*}
-\bgroup
-\RaggedRight
-\printbibliography
-\egroup
+%\nocite{*}
+%\bgroup
+%\RaggedRight
+%\printbibliography
+%\egroup
\printindex
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
new file mode 100644
index 0000000000..2d8390e783
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-fr-doc.tex b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
index 18fcfab3b8..4e36c902d1 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-fr-doc.tex
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
@@ -21,32 +21,18 @@
\listfiles
-\documentclass[%
-11pt,
-english,
-BCOR10mm,
-DIV12,
-bibliography=totoc,
-parskip=false,
-fleqn,
-smallheadings,
-headexclude,
-footexclude,
-oneside,
-dvipsnames,
-svgnames,
-x11names,
-distiller
-]{pst-doc}
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{}
+%% $Id: pst-venn-doc.tex 848 2018-12-04 09:25:49Z herbert $
+\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+ headinclude=false,footinclude=false,oneside]{pst-doc}
\usepackage[autostyle]{csquotes}
\usepackage{biblatex}
%\usepackage[style=dtk]{biblatex}
-\addbibresource{pst-geometrictools-doc.bib}
-\usepackage[utf8]{inputenc}
+%\addbibresource{pst-geometrictools-doc.bib}
\let\pstgeometrictoolsFV\fileversion
-\usepackage{pst-geometrictools,pst-node,pst-eucl,pstricks-add}
-\usepackage{etex} % increase the number of registers (otherwise only 256)
+\usepackage{pst-geometrictools,pst-node,pstricks-add}
\let\belowcaptionskip\abovecaptionskip
@@ -70,19 +56,14 @@ distiller
\begin{document}
-\title{pst-geometrictools v 1.0}
+\title{pst-geometrictools v 1.3}
\subtitle{Package de PSTricks pour dessiner un rapporteur, une r\'{e}glette et un crayon}
-\author{Thomas \textsc{S\"{o}ll}}
+\author{Thomas Söll\\Herbert Voß (bugfixes)}
\date{\today}
-\maketitle
+\settitle
\tableofcontents
-\psset{unit=1cm}
-
-
-\clearpage
-
\begin{abstract}
Pour illustrer des notions de g\'{e}om\'{e}trie \'{e}l\'{e}mentaire le package pst-geometrictools dispose des outils suivants :
@@ -93,7 +74,7 @@ Pour illustrer des notions de g\'{e}om\'{e}trie \'{e}l\'{e}mentaire le package p
\end{itemize}
Les arguments et options des commandes d\'{e}di\'{e}es permettent de les positionner ainsi que de les personnaliser. Vous remarquerez dans les exemples qui illustrent la documentation le soin tout professionnel qui a \'{e}t\'{e} apport\'{e} au dessin et aux d\'{e}tails des outils. L'utilisation du package pst-eucl de Dominique Rodriguez est vivement conseill\'{e} car ses commandes sont particuli\`{e}rement efficaces pour cr\'{e}er facilement des animations et des illustrations.
-\vfill
+\bigskip
This program can redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt; either version 1.3c of the License, or (at your option) any later version.
\end{abstract}
@@ -223,30 +204,43 @@ La commande \Lcs{psParallels} dispose des options \nxLkeyword{Ruler=}, \nxLkeywo
Cette commande permet de tracer la parrall\`{e}le passant par le point \texttt{pointC} \`{a} la droite d\'{e}finie par les points \texttt{pointA} and \texttt{pointB}. Le rapporteur et la r`{e}gle sont plac\'{e}s automatiquement.
-\begin{LTXexample}[pos=t,width=18cm]
-\begin{pspicture}[showgrid](-11,-4)(7,8)%
-\pstGeonode[PosAngle=135,linecolor=red](5,5){A}
-\pstGeonode[PosAngle=135,linecolor=Green](-8,1){B}
-\pstGeonode[PosAngle=-45,linecolor=blue](3,3){C}
-\pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)%
-\psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C)
-\pcline[linecolor=BrickRed](GeodrB)(GeodrA)%
-\midAB(GeodrB)(GeodrA){M}%
-\psPencil[PenLength=5,pencilColA=red,PenScale=0.5]{60}(M)
+
+\begin{LTXexample}[pos=t,width=17cm]
+\begin{pspicture}(-11,-10)(6,2.5)
+\psParallels[DistCoeff=1,ProScale=.75,RulerScale=0.7](-6,-1)(1,2)(2,0)
\end{pspicture}
\end{LTXexample}
-Pour une animation, on utilisera la commande \verb+\multido{}{N}{...+ en fixant uniquement le nombre de pas souhait\'{e} pour que l'hypoth\'{e}nuse du rapporteur passe de la position o\`{u} il est tout pr\`{e}s de (AB) et parall\'{e}le \`{a} celle-ci au point C.
+
+\psset{unit=1cm}
+
+\begin{LTXexample}[pos=t,width=18cm]
+\psscalebox{0.5}{%
+\begin{pspicture}[showgrid](-11,-1)(11,20)%
+\pnode(5,5){A}\uput[90](A){A}
+\pnode(-8,1){B}\uput[90](B){B}
+\pnode(3,3){C}\uput[250](C){C}
+\pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)
+\psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C)
+\pcline[linecolor=BrickRed](GeodrB)(GeodrA)%
+\midAB(GeodrB)(GeodrA){M}%
+\psPencil[PenLength=5,pencilColA=red,PenScale=0.5]{60}(M)
+\end{pspicture}}
+\end{LTXexample}
+
+Pour une animation, on utilisera la commande \verb+\multido{}{N}{...+ en fixant uniquement
+le nombre de pas souhait\'{e} pour que l'hypothénuse du rapporteur passe de la position
+où il est tout près de (AB) et parallèle à celle-ci au point C.
\begin{verbatim}
-\multido{}{40}{
-\begin{pspicture}[showgrid](-11,-4)(7,8)%
-\pstGeonode[PosAngle=135,linecolor=red](-2,6){A}
-\pstGeonode[PosAngle=135,linecolor=Green](-8,1){B}
-\pstGeonode[PosAngle=-45,linecolor=blue](0,3){C}
-\pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)%
-\psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C)
-\end{pspicture}
+\multido{}{40}{%
+ \begin{pspicture}[showgrid](-11,-4)(7,8)%
+ \pstGeonode[PosAngle=135,linecolor=red](-2,6){A}
+ \pstGeonode[PosAngle=135,linecolor=Green](-8,1){B}
+ \pstGeonode[PosAngle=-45,linecolor=blue](0,3){C}
+ \pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)%
+ \psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C)
+ \end{pspicture}%
}
\end{verbatim}
@@ -404,11 +398,11 @@ Construction des hauteurs d'un triangle
\clearpage
-\nocite{*}
-\bgroup
-\RaggedRight
-\printbibliography
-\egroup
+%\nocite{*}
+%\bgroup
+%\RaggedRight
+%\printbibliography
+%\egroup
\printindex
diff --git a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools.sty b/graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty
index 2f1cd2e24c..2f1cd2e24c 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools.sty
+++ b/graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty
diff --git a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-doc.pdf b/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-doc.pdf
deleted file mode 100644
index 39234a8145..0000000000
--- a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-doc.pdf
+++ /dev/null
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-fr-doc.pdf b/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-fr-doc.pdf
deleted file mode 100644
index 8b428e9601..0000000000
--- a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools-fr-doc.pdf
+++ /dev/null
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools.tex b/graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
index 7cd90ca17a..608e29ef56 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/pst-geometrictools.tex
+++ b/graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
@@ -1,1233 +1,1238 @@
-%% This is file `pst-geometrictools.tex',
-%%
-%% Thomas Söll
-%%
-%% This program can redistributed and/or modified under %%
-%% the terms of the LaTeX Project Public License %%
-%% Distributed from CTAN archives in directory %%
-%% macros/latex/base/lppl.txt; either version 1.3c of %%
-%% the License, or (at your option) any later version. %%
-%%
-%% DESCRIPTION:
-%% `pst-geometrictools' is a PSTricks package to draw a protractor, a ruler, a compass and pencils
-%%
-%%
-\csname PSTgeometrictoolsLoaded\endcsname
-\let\PSTgeometrictoolsLoaded\endinput
-% Requires PSTricks, pst-xkey, pst-node packages
-\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
-\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex\fi
-\ifx\PSTnodeLoaded\endinput\else\input pst-node.tex\fi
-\def\fileversion{1.1}
-\def\filedate{2017/09/16}
-\message{`PST' v\fileversion, \filedate}
-
-\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
-
-
-\pst@addfams{pst-geometrictools}
-
-\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ghost}[true]{}
-\define@key[psset]{pst-geometrictools}{ProLineCol}[cyan]{\pst@getcolor{#1}\ProLineCol}
-\define@key[psset]{pst-geometrictools}{ProFillCol}[gray!60]{\pst@getcolor{#1}\ProFillCol}
-\define@key[psset]{pst-geometrictools}{ProScale}[1]{\def\pst@ProScale{#1 }}%
-\define@key[psset]{pst-geometrictools}{OwnerTxt}[Euklid]{\def\pst@OwnerTxt{#1}}%
-\define@key[psset]{pst-geometrictools}{MadeTxt}[made in NES]{\def\pst@MadeTxt{#1}}%
-\define@key[psset]{pst-geometrictools}{PSfontO}[Symbol]{\def\pst@PSfontO{/#1 }}
-\define@key[psset]{pst-geometrictools}{fontsizeO}[10]{\def\pst@fontsizeO{#1 }}
-\define@key[psset]{pst-geometrictools}{PSfontM}[NimbusRomNo9L-Regu]{\def\pst@PSfontM{/#1 }}
-\define@key[psset]{pst-geometrictools}{fontsizeM}[6]{\def\pst@fontsizeM{#1 }}
-\define@key[psset]{pst-geometrictools}{country}[Germany]{\def\pst@country{#1}}
-\psset[pst-geometrictools]{ProScale=1,OwnerTxt={Euklid},MadeTxt={made in NES},
- country=Germany,PSfontO=StandardSymL,PSfontM=NimbusRomNo9L-Regu,fontsizeO=10,fontsizeM=6,
- ProFillCol=gray!60,ProLineCol=cyan,Ghost=false}
-
-
-\def\psProtractor{\def\pst@par{}\pst@object{psProtractor}}
-\def\psProtractor@i#1(#2){\@ifnextchar(%
-{\psProtractor@ii{#1}(#2)}%
-{\psProtractor@ii{#1}(#2)(#2)}}%
-\def\psProtractor@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
-\begin@SpecialObj
-\pst@killglue
-\begingroup%
-\pnode(#2){@PGD}%
-\pnode(#3){@QGD}%
-\use@par%
-\pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
-\pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
-\addto@pscode{%
-/sysfill {systemdict /fill get exec} def
-/Country (\pst@country) def
- /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
- \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
- \pst@tempB \tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
- @y1 @y2 sub @x1 @x2 sub Atan /@delta ED %------------ Winkelberechnung
- \pst@tempA \pst@coor T % ------------------------------------ Tranformiere den Koordinatenursprung in P
- @delta #1 add 180 add rotate % ------------------------------ Drehe das gesamte Geodreieck
- \pst@ProScale dup scale % -------- Skaliere das ganze Geodreieck
-%-------------------------------------------------------------------------------------------------------------
-\ifPst@Ghost\else
-gsave
-%-------------------------------------------------------------------------------------------------------------
-%-------------- Äußere Begrenzung des Geodreiecks -----------------------------------------------
-gsave
- newpath
- -8 cm 0 moveto
- 16 cm 0 rlineto
- -8 cm 8 cm rlineto
- closepath
- gsave
- 0.7 setlinewidth
- 0.1 setgray
- stroke
- grestore
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%-------------- Gefüllter innerer Teil des Geodreiecks -----------------------------------------------
-gsave
- newpath
- -7.5 cm 0.5 22.5 tan mul cm moveto
- 15 cm 0 rlineto
- -7.5 cm 7.5 cm rlineto
- closepath
- gsave
- \pst@usecolor\ProFillCol
- [ /ca .1 /SetTransparency pdfmark % set transparency
- 0.1 .setopacityalpha sysfill
- grestore
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%-------------- Millimetereinteilung auf der Grundseite -------------------------------------------
- /mmBlinie { newpath
- -7 cm 0 cm moveto
- 0 cm 0.17 cm rlineto
-% closepath
- gsave
- 0.5 setlinewidth
- 0 setgray
- stroke
- grestore
- 0.1 cm 0 cm translate
- } def
-gsave
-140 {mmBlinie} repeat
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%-------------- 0,5- cm-Einteilung auf der Grundseite ----------------------------------------------
- /cmBlinie { newpath
- -7 cm 0 cm moveto
- 0 cm 0.27 cm rlineto
-% closepath
- gsave
- 0.55 setlinewidth
- 0 setgray
- stroke
- grestore
- 0.5 cm 0 cm translate
- } def
-gsave
- 29 {cmBlinie} repeat
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%-------------- mm-Einteilung von der Grundseite nach oben ------------------------------------
-/mmlinie { newpath
- -2.3 cm 0.3 cm moveto
- 0.2 cm 0 rlineto
- 2.2 cm 0.3 cm moveto
- 0.2 cm 0 rlineto
-% closepath
- gsave
- 0.5 setlinewidth
- 0 setgray
- stroke
- grestore
- 0 cm 0.1 cm translate
- } def
-gsave
-33 {mmlinie} repeat
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%-------------- 0,5 cm-Einteilung von der Grundseite nach oben --------------------------------
-/cmlinie { newpath
- -4.5 cm 0.5 cm moveto
- 2 cm 0 rlineto
- 0.75 cm 0 rmoveto
- 1.5 cm 0 rlineto
- 0.5 cm 0 rmoveto
- 1.5 cm 0 rlineto
- 0.75 cm 0 rmoveto
- 2 cm 0 rlineto
-% closepath
- gsave
- 0.6 setlinewidth
- 0 setgray
- stroke
- grestore
- 0 cm 0.5 cm translate
- } def
-%------------------------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- Clippen entlang eines Kreises der 0,5 cm-Einteilung von der Grundseite nach oben ------------------------------------
-/kreisring { newpath
- 0 0 translate
- 0 0 4.2 cm 0 180 arc
- closepath
- } def
- gsave
- kreisring clip
- 7 {cmlinie} repeat
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- farbiger und transparenter Halb-Ring -----------------------------------------------------------------------------
- gsave
- newpath
- 0 0 translate
- 0 0 5.1 cm 6 174 arc
- 0 0 4.8 cm 174 6 arcn
- closepath
- gsave
- \pst@usecolor\ProLineCol
- [ /ca .4 /SetTransparency pdfmark % set transparency
- 0.4 .setopacityalpha
- sysfill
- grestore
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- 1-Grad-Winkeleinteilung an der linken Kathete -----------------------------------------------------------------
- gsave
- 91 1 179 { /Wk exch def % ---------------------------------------------------- Schleifenvariable festlegen, die von 91° bis 179° geht
- {8 Wk sin Wk cos div 1 sub div} /xWS1 exch def %---------- xWS1=8/(tan(alpha)-1) --> SP der Geraden linke Kathete mit Ursprungsgeraden im Winkel alpha
- {7.8 Wk sin Wk cos div 1 sub div} /xWS2 exch def % ------- xWS2=7,8/(tan(alpha)-1) --> SP einer Parallelen zur Geraden linke Kathete mit Ursprungsgeraden im Winkel alpha
- newpath
- xWS1 cm xWS1 8 add cm moveto % --------------------------- zu xWS1 gehöriger y-Wert ist xWS1 + 8
- xWS2 cm xWS2 7.8 add cm % ----------------------------------- zu xWS2 gehöriger y-Wert ist xWS1 + 7,8
- lineto
-% closepath
- 0.5 setlinewidth
- 0 setgray
- stroke
- } for
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- 5-Grad-Winkeleinteilung an der linken Kathete -----------------------------------------------------------------
- gsave
- 95 5 175 { /Wk exch def
- {8 Wk sin Wk cos div 1 sub div} /xWS1 exch def
- {7.6 Wk sin Wk cos div 1 sub div} /xWS2 exch def
- newpath
- xWS1 cm xWS1 8 add cm moveto
- xWS2 cm xWS2 7.6 add cm
- lineto
-% closepath
- 0.5 setlinewidth
- 0 setgray
- stroke
- } for
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- 10-Grad-Winkeleinteilung an der linken Kathete -----------------------------------------------------------------
- gsave
- 100 10 170 { /Wk exch def
- {8 Wk sin Wk cos div 1 sub div} /xWS1 exch def
- {5.1 Wk cos mul Wk cos div 1 sub div} /xWS2 exch def
- newpath
- xWS1 cm xWS1 8 add cm moveto
- 5.1 Wk cos mul cm 5.1 Wk sin mul cm
- lineto
-% closepath
- 0.5 setlinewidth
- 0 setgray
- stroke
- } for
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- 1-Grad-Winkeleinteilung an der rechten Kathete ---------------------------------------------------------------
- gsave
- 1 1 89 { /Wk exch def
- {8 Wk sin Wk cos div 1 add div} /xWS1 exch def
- {7.8 Wk sin Wk cos div 1 add div} /xWS2 exch def
- newpath
- xWS1 cm xWS1 neg 8 add cm moveto
- xWS2 cm xWS2 neg 7.8 add cm
- lineto
-% closepath
- 0.5 setlinewidth
- 0 setgray
- stroke
- } for
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- 5-Grad-Winkeleinteilung an der rechten Kathete ---------------------------------------------------------------
- gsave
- 5 5 85 { /Wk exch def
- {8 Wk sin Wk cos div 1 add div} /xWS1 exch def
- {7.6 Wk sin Wk cos div 1 add div} /xWS2 exch def
- newpath
- xWS1 cm xWS1 neg 8 add cm moveto
- xWS2 cm xWS2 neg 7.6 add cm
- lineto
-% closepath
- 0.5 setlinewidth
- 0 setgray
- stroke
- } for
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- 10-Grad-Winkeleinteilung an der rechten Kathete --------------------------------------------------------------
- gsave
- 10 10 80 { /Wk exch def
- {8 Wk sin Wk cos div 1 add div} /xWS1 exch def
- {5.1 Wk cos mul Wk cos div 1 add div} /xWS2 exch def
- newpath
- xWS1 cm xWS1 neg 8 add cm moveto
- 5.1 Wk cos mul cm 5.1 Wk sin mul cm
- lineto
-% closepath
- 0.5 setlinewidth
- 0 setgray
- stroke
- } for
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- 1-Grad-Winkeleinteilung auf Halbkreis ------------ ---------------------------------------------------------------
- gsave
- 5 1 175 { /Wk exch def
- newpath
- 4.3 Wk cos mul cm 4.3 Wk sin mul cm moveto
- 4.45 Wk cos mul cm 4.45 Wk sin mul cm
- lineto
-% closepath
- 0.5 setlinewidth
- 0 setgray
- stroke
- } for
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- 5-Grad-Winkeleinteilung auf Halbkreis ------------ ---------------------------------------------------------------
- gsave
- 5 5 175 { /Wk exch def
- newpath
- 4.3 Wk cos mul cm 4.3 Wk sin mul cm moveto
- 4.5 Wk cos mul cm 4.5 Wk sin mul cm
- lineto
-% closepath
- 0.5 setlinewidth
- 0 setgray
- stroke
- } for
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%-------------------------- Linke Diagonallinie-dashed -------------------------------------------------------------------------------
- gsave
- newpath /Wk 135 def
- {8 Wk sin Wk cos div 1 sub div} /xWS1 exch def
- 0 0 moveto
- 4.3 Wk cos mul cm 4.3 Wk sin mul cm lineto
-% closepath
- gsave
- [2 sqrt 2 div 0.24 sub cm 0.24 cm] -0.12 cm setdash
- 0.5 setlinewidth
- 0 setgray stroke
- grestore
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%-------------------------- Rechte Diagonallinie-dashed -----------------------------------------------------------------------------
- gsave
- newpath /Wk 45 def
- {8 Wk sin Wk cos div 1 add div} /xWS1 exch def
- 0 0 moveto
- 4.3 Wk cos mul cm 4.3 Wk sin mul cm lineto
-% closepath
- gsave
- [2 sqrt 2 div 0.24 sub cm 0.24 cm] -0.12 cm setdash
- 0.5 setlinewidth
- 0 setgray stroke
- grestore
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------
-%---------------------------------------- Mittel-Linie -------------------------------------------------------------------------------------
- gsave
- newpath
- 0 0.5 cm moveto
- 0 3.5 cm lineto
- 0 5.1 cm moveto
- 0 6.0 cm lineto
- 0 6.4 cm moveto
- 0 8.0 cm lineto
-% closepath
- gsave
- 0.5 setlinewidth
- 0 setgray stroke
- grestore
- grestore
-%--------------------------------------------------------------------------------------------------------------------------------------------------
-%------------------------- Definition für horizontal-zentriertes - Setzen der cm- Zahlen (180° gedreht) ------------------------
- /cmshow {% (string) x y
- gsave
- moveto 180 rotate % s
- /NimbusRomNo9L-Regu findfont 7 scalefont setfont
- dup % s s
- stringwidth pop 2 div neg 0 % s -dx/2
- rmoveto 0.2 setgray show
- grestore
- } bind def
-%------------------------- Setzen der Zahlen für die cm-Einteilungen -----------------------------------------------------------------
- 0 1 7 { /MZ exch def MZ 2 string cvs MZ cm 0.47 cm cmshow } for %---------------- Zahlen 0 bis 7 (nach rechts)
- 1 1 7 { /MZ exch def MZ 2 string cvs MZ neg cm 0.47 cm cmshow } for %----------- Zahlen 1 bis 7 (nach links)
- 1 1 3 { /MZ exch def MZ 2 string cvs 2 cm MZ 0.1 add cm cmshow } for %---------- Zahlen 1 bis 3 (nach oben, rechte Seite)
- 1 1 3 { /MZ exch def MZ 2 string cvs -2 cm MZ 0.1 add cm cmshow } for %--------- Zahlen 1 bis 3 (nach oben, linke Seite)
-%--------------------------------------------------------------------------------------------------------------------------------------------------
-%------------------------- Definition für horizontal-zentriertes - Setzen der Winkel- Zahlen (mitgedreht) ----------------------
- /cmRotshow {% ---------------------------------- (string), Winkel, x y
- gsave
- moveto 90 add rotate % s
- /NimbusRomNo9L-Regu findfont 7 scalefont setfont
- dup % s s
- stringwidth pop 2 div neg 0 % s -dx/2
- rmoveto 0.2 setgray show
- grestore
- } bind def
- gsave
-%------------------------- Setzen der Zahlen für die Winkel-Einteilungen -------------------------------------------------------------------------------------------------
- 10 10 170 { /MZ exch def MZ 3 string cvs MZ 5.03 cm MZ cos mul 5.03 cm MZ sin mul cmRotshow } for % ------------------ äußerer Kreisbogen
- 10 10 170 { /MZ exch def 180 MZ sub 3 string cvs MZ 4.75 cm MZ cos mul 4.75 cm MZ sin mul cmRotshow } for % ------- innerer Kreisbogen
- grestore
-%---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- /TSshow {% (string) x y
- gsave
- moveto 180 rotate % s
- \pst@PSfontO\space findfont \pst@fontsizeO scalefont setfont
- dup % s s
- stringwidth pop 2 div neg 0 % s -dx/2
- rmoveto 0.4 setgray show
- grestore
- } bind def
- gsave
- (\pst@OwnerTxt) 0 cm 4 cm TSshow
- grestore
-%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- /MadeShow {% (string) x y
- gsave
- moveto 180 rotate % s
- \pst@PSfontM\space findfont \pst@fontsizeM scalefont setfont
- dup % s s
- stringwidth pop 2 div neg 0 % s -dx/2
- rmoveto 0.7 setgray show
- grestore
- } bind def
- gsave
- (\pst@MadeTxt) 0 cm 6.25 cm MadeShow
- grestore
-%---------------------------------------- Fahne -------------------------------------------------------------------------------------
- gsave
- /Fahne {
- newpath
- 0 0 moveto
- 0 1 rlineto
- 1 0 rlineto
- 0 -1 rlineto
- closepath
- setrgbcolor
- [ /ca .5 /SetTransparency pdfmark % set transparency
- 0.5 .setopacityalpha sysfill
- } def
-Country (France) eq {
- 0.73 cm 6.1 cm translate
- 3 6 scale
- 1 0 0 Fahne
- 1 0 translate
- 1 1 1 Fahne
- 1 0 translate
- 0 0 1 Fahne
- } if
-Country (Germany) eq {
- 0.775 cm 6.22 cm translate
- 7.5 1.5 scale
- 1 0.588 0 Fahne
- 0 -1 translate
- 0.75 0.07 0.11 Fahne
- 0 -1 translate
- 0 0 0 Fahne
- } if
- grestore
-%--------------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- Ende nur grestore von gsave ganz am Anfang ------------------
-grestore
-\fi
-}%
-\pnode(!
- /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
- \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
- \pst@tempB \tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
- @y1 @y2 sub @x1 @x2 sub Atan /@delta ED %------------ Winkelberechnung
- @x1 cm @y1 cm T % ------------------------------------ Tranformiere den Koordinatenursprung in P
- @delta #1 add 180 add rotate % ------------------------------ Drehe den oberen Punkt des Geodreiecks
- \pst@ProScale\space \pst@ProScale\space scale % -------- Skalieren!
- 0 8){GeodrC}%
-\pnode(!
- @x1 cm @y1 cm T % ------------------------------------ Tranformiere den Koordinatenursprung in P
- @delta #1 add 180 add rotate % ------------------------------ Drehe die linke untere Ecke des Geodreiecks
- \pst@ProScale\space \pst@ProScale\space scale % -------- Skalieren!
- -8 0){GeodrA}%
-\pnode(!
- @x1 cm @y1 cm T % ------------------------------------ Tranformiere den Koordinatenursprung in P
- @delta #1 add 180 add rotate % ------------------------------ Drehe die rechte untere Ecke des Geodreiecks
- \pst@ProScale\space \pst@ProScale\space scale % -------- Skalieren!
- 8 0){GeodrB}%
-\endgroup%
-\end@SpecialObj\ignorespaces
-}%
-
-
-\definecolor{HolzCol}{rgb}{1,0.937,0.835}%
-\define@key[psset]{pst-geometrictools}{PenScale}[1]{\def\pst@PenScale{#1 }}%
-\define@key[psset]{pst-geometrictools}{PenLength}[5]{\def\pst@PenLength{#1 }}%
-\define@key[psset]{pst-geometrictools}{pencilColA}[red]{\pst@getcolor{#1}\pencilColA}
-\define@key[psset]{pst-geometrictools}{pencilColB}[HolzCol]{\pst@getcolor{#1}\pencilColB}
-\psset[pst-geometrictools]{PenLength=5,pencilColA=red,pencilColB=HolzCol,PenScale=1}
-\def\psPencil{\def\pst@par{}\pst@object{psPencil}}
-\def\psPencil@i#1(#2){%------------------------------- #1 Winkel, #2 Ursprung P
-\begin@SpecialObj
-\pst@killglue
-\begingroup
-\pnode(#2){@PGD}%
-\use@par
-\pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
-\addto@pscode{
-/sysfill {systemdict /fill get exec} def
-%/Country (\pst@country) def
- /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
- /Plength \pst@PenLength def
-% \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
- \pst@tempA \pst@coor T % ------------------------------------ Tranformiere den Koordinatenursprung in P
- #1 rotate % ------------------------------ Drehe das gesamte Geodreieck
- \pst@PenScale dup scale % -------- Skaliere das ganze Geodreieck
-%-------------------------------------------------------------------------------------------------------------
-gsave
-%-------------------------------------------------------------------------------------------------------------
-%-------------- Unterer Holzteil des Stifts -------------------------------------------------------------
-gsave
- newpath
- 0 cm 0 moveto
- -0.3 cm 1 cm rlineto
- 0 cm 0.2 cm rlineto
- 0.6 cm 0 cm rlineto
- 0 cm -0.2 cm rlineto
- closepath
- gsave
- \pst@usecolor\pencilColB
- fill
- grestore
- gsave
- 0.4 setlinewidth
- 0.5 setgray
- 1 setlinejoin
- stroke
- grestore
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%-------------- langer farbiger Teil des Stifts ----------------------------------------------------------
-gsave
- newpath
- -0.3 cm 1 cm moveto
- 0 cm Plength cm rlineto
- 0.6 cm 0 cm rlineto
- 0 cm Plength neg cm rlineto
- 0.3 cm 1.13 cm 0.13 cm 270 180 arcn
- 0 cm 1.13 cm 0.17 cm 0 180 arcn
- -0.3 cm 1.13 cm 0.13 cm 0 270 arcn
- closepath
- gsave
- \pst@usecolor\pencilColA
- fill
- grestore
- gsave
- 0.5 setlinewidth
- 0.1 setgray
- stroke
- grestore
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%--------------------------- Spitze in Farbe --------------------------------------------------------------
-gsave
- newpath
- 0 cm 0 moveto
- -0.1 cm 1 3 div cm rlineto
- 0.2 cm 0 cm rlineto
- closepath
- gsave
- \pst@usecolor\pencilColA
- fill
- grestore
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%--------------------------- Striche im Stift --------------------------------------------------------------
-gsave
- newpath
- -0.17 cm 1.13 cm moveto
- 0 cm Plength 0.13 sub cm rlineto
- 0.17 cm 1.13 cm moveto
- 0 cm Plength 0.13 sub cm rlineto
- closepath
- gsave
- 0.5 setlinewidth
- 0.1 setgray
- stroke
- grestore
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%--------------------------- Elliptisches Stift-Ende in Holz --------------------------------------------
-gsave
- newpath
- 0 cm Plength 1 add cm T
- 1 0.2 scale
- 0 cm 0 cm 0.3 cm 0 360 arc
- closepath
- gsave
- \pst@usecolor\pencilColB
- fill
- grestore
- gsave
- 0.5 setlinewidth
- 0.3 setgray
- stroke
- grestore
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%--------------------------- Elliptisches Stift-Ende in Farbe -------------------------------------------
-gsave
- newpath
- 0 cm Plength 1 add cm T
- 1 0.2 scale
- 0 cm 0 cm 0.1 cm 0 360 arc
- closepath
- gsave
- \pst@usecolor\pencilColA
- fill
- grestore
- gsave
- 0.3 setlinewidth
- 0.3 setgray
- stroke
- grestore
-grestore
-%--------------------------------------------------------------------------------------------------------
-%--------------------------------------------------------------------------------------------------------
-grestore
-}%
-\endgroup
-\end@SpecialObj\ignorespaces
-}%
-
-
-\define@key[psset]{pst-geometrictools}{RulerFillCol}[cyan!60]{\pst@getcolor{#1}\RulerFillCol}
-\define@key[psset]{pst-geometrictools}{RulerScale}[1]{\def\pst@RulerScale{#1 }}%
-\psset[pst-geometrictools]{RulerFillCol=gray,RulerScale=1}
-
-\def\psRuler{\def\pst@par{}\pst@object{psRuler}}
-\def\psRuler@i#1(#2){\@ifnextchar(%
-{\psRuler@ii{#1}(#2)}%
-{\psRuler@ii{#1}(#2)(#2)}}%
-\def\psRuler@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
-\begin@SpecialObj
-\pst@killglue
-\begingroup%
-\pnode(#2){@PGD}%
-\pnode(#3){@QGD}%
-\use@par%
-\pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
-\pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
-\addto@pscode{
-/sysfill {systemdict /fill get exec} def
- /cm {28.45274 mul} def % --------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
- \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
- \pst@tempB \tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
- @y1 @y2 sub @x1 @x2 sub Atan /@delta ED %------------ Winkelberechnung
- \pst@tempA \pst@coor T % ------------------------------------ Tranformiere den Koordinatenursprung in P
- @delta #1 add 180 add rotate % ------------------------------ Drehe das gesamte Geodreieck
- \pst@RulerScale dup scale % ----------------------------------- Skaliere das ganze Geodreieck
-%-------------------------------------------------------------------------------------------------------------
-gsave
-%-------------------------------------------------------------------------------------------------------------
-%-------------- Füllung der beiden inneren Bereiche und äußere Begrenzung des Lineals -----------------------------------------------
-gsave
- newpath
- -0.2 cm 0 moveto
- 30.4 cm 0 rlineto
- 0 cm -0.9 cm rlineto
- -30.4 cm 0 cm rlineto
- closepath
- gsave
- \pst@usecolor\RulerFillCol
- [ /ca .25 /SetTransparency pdfmark % set transparency
- 0.25 .setopacityalpha sysfill
- grestore
-grestore
-%-------------------------------------------------------------------------------------------------------------
-gsave
- newpath
- -0.2 cm 0 moveto
- 30.2 cm 0 lineto
- 0 cm -3 cm rlineto
- -30.4 cm 0 cm rlineto
- closepath
- 3.75 cm -1.5 cm moveto
- 3.5 cm -1.5 cm 0.25 cm 0 360 arc
- closepath
- gsave
- \pst@usecolor\RulerFillCol
- [ /ca .15 /SetTransparency pdfmark % set transparency
- 0.15 .setopacityalpha sysfill
- grestore
- gsave
-% 2 setlinejoin
- 0.7 setlinewidth
- 0.1 setgray
- stroke
- grestore
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%-------------- Millimetereinteilung auf der Grundseite -------------------------------------------
- /mmBlinie { newpath
- 0 cm 0 cm moveto
- 0 cm -0.25 cm rlineto
- gsave
- 0.5 setlinewidth
- 0 setgray
- stroke
- grestore
- 0.1 cm 0 cm translate
- } def
-gsave
-300 {mmBlinie} repeat
-grestore
-%-------------------------------------------------------------------------------------------------------------
-%-------------- 0,5- cm-Einteilung auf der Grundseite ----------------------------------------------
- /cmBlinie { newpath
- 0.5 cm 0 cm moveto
- 0 cm -0.375 cm rlineto
-% closepath
- gsave
- 0.55 setlinewidth
- 0 setgray
- stroke
- grestore
- 1 cm 0 cm translate
- } def
-gsave
- 30 {cmBlinie} repeat
-grestore
-%-------------- 1- cm-Einteilung auf der Grundseite ----------------------------------------------
- /cmBlinie { newpath
- 0 cm 0 cm moveto
- 0 cm -0.5 cm rlineto
-% closepath
- gsave
- 0.6 setlinewidth
- 0 setgray
- stroke
- grestore
- 1 cm 0 cm translate
- } def
-gsave
- 31 {cmBlinie} repeat
-grestore
-%--------------------------------------------------------------------------------------------------------------------------------------------------
-%------------------------- Definition für horizontal-zentriertes - Setzen der cm- Zahlen (180° gedreht) ------------------------
- /cmshow {% (string) x y
- gsave
- moveto % s
- /NimbusRomNo9L-Regu findfont 8 scalefont setfont
- dup % s s
- stringwidth pop 2 div neg 0 % s -dx/2
- rmoveto 0.2 setgray show
- grestore
- } bind def
-%------------------------- Setzen der Zahlen für die cm-Einteilungen -----------------------------------------------------------------
- 0 1 30 { /MZ exch def MZ 2 string cvs MZ cm -0.78 cm cmshow } for %---------------- Zahlen 0 bis 30 (nach rechts)
-%-------------------------------------------------------------------------------------------------------------
-%--------------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- Ende nur grestore von gsave ganz am Anfang ------------------
-grestore
-}%
-\endgroup%
-\end@SpecialObj\ignorespaces
-}%
-
-\definecolor{PoCRed}{rgb}{0.7,0.134,0.134}
-\define@boolkey[psset]{pst-geometrictools}[Pst@]{MCAngle}[true]{}
-\define@key[psset]{pst-geometrictools}{PoCLength}[5]{\def\pst@PoCLength{#1 }}
-\define@key[psset]{pst-geometrictools}{PoCAngle}[0]{\def\pst@PoCAngle{#1 }}
-\define@key[psset]{pst-geometrictools}{PoCFillCol}[PoCRed]{\pst@getcolor{#1}\PoCFillCol}
-\define@key[psset]{pst-geometrictools}{PoCMineCol}[black!80]{\pst@getcolor{#1}\PoCMineCol}
-\define@key[psset]{pst-geometrictools}{PoCScale}[1]{\def\pst@PoCScale{#1 }}%
-\define@key[psset]{pst-geometrictools}{RadVS}[RVS]{\def\pst@RadVS{#1}}%
-\define@key[psset]{pst-geometrictools}{AngleVS}[AVS]{\def\pst@AngleVS{#1}}%
-\define@key[psset]{pst-geometrictools}{RadMul}[1]{\def\pst@RadMul{#1 }}%
-\psset[pst-geometrictools]{PoCScale=1,PoCFillCol=PoCRed,PoCAngle=0,PoCMineCol=black!80,PoCLength=5,MCAngle=true,RadVS=RVS,AngleVS=AVS,RadMul=1}
-
-\def\psCompass{\def\pst@par{}\pst@object{psCompass}}% Pair of Compasses
-\def\psCompass@i#1(#2){\@ifnextchar(%
-{\psCompass@ii{0}(#2)}%
-{\psCompass@ii{#1}(#2)(#2)}}%
-\def\psCompass@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
-\begin@SpecialObj
-\pst@killglue
-\begingroup%
-\pnode(#2){@PGD}%
-\pnode(#3){@QGD}%
-\use@par%
-\pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
-\pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
-\addto@pscode{%
- \pst@RadMul /faktor ED
- \pst@PoCScale /skal ED
- #1 skal div 2 div /Radius ED
- skal dup scale % -------- Skaliere das ganze Geodreieck
- /sysfill {systemdict /fill get exec} def
- /SLg \pst@PoCLength def
- /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
- \pst@tempA\tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
- \pst@tempB\tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
- \pst@tempA\pst@coor /@y3 ED /@x3 ED
- @y1 @y2 sub dup mul @x1 @x2 sub dup mul add faktor dup mul mul /quadlg ED
- quadlg 0 eq { 180 } { @y1 @y2 sub @x1 @x2 sub atan } ifelse /@delta ED %------------ Winkelberechnung
- quadlg sqrt 2 div /RadiusPktB ED %------------ Radiusberechnung mit zweitem Punkt
- SLg RadiusPktB Radius add gt { RadiusPktB Radius add } { SLg } ifelse /RadPoC ED
- /hoehe SLg dup mul RadPoC dup mul sub sqrt def
- /phiS RadPoC hoehe atan def
- @x3 @y3 T % ------------------------------------------------------------------------------- Transformiere den Koordinatenursprung in P
- \pst@PoCAngle\space \ifPst@MCAngle\space @delta add 180 add \fi rotate % ------------------------------ Drehe das gesamte Geodreieck
-%-------------------------------------------------------------------------------------------------------------
-gsave
-%-------------------------------------------------------------------------------------------------------------
-%-------------- Linke Zirkelspitze----------------------------------------------- 0 cm 0 cm 0.15 cm 0 360 arc
-gsave
- newpath
- phiS neg rotate
- 0 cm 0 cm moveto
- -0.1 cm 0.33 cm lineto
- 0.07 cm 0 cm rlineto
- closepath
- gsave
- 0.5 setgray
- fill
- grestore
-grestore
-%---------------------------------------- rechte Zirkel-Mine --------------------------------------
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm T
- phiS 2 mul rotate
- 0 cm SLg neg cm moveto
- 0.06 cm 0.1 cm rlineto
- 0.013 cm 0.2 cm rlineto
- -0.06 cm 0 cm rlineto
- closepath
- gsave
- \pst@usecolor\PoCMineCol
- fill
- grestore
-grestore
-%---------------------------------------- Spindel --------------------------------------
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- -2 cm -1 phiS cos mul cm rmoveto
- 4 cm 0 cm rlineto
- gsave
- 0.5 setgray
- 1.6 setlinewidth
- stroke
- grestore
-grestore
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- -2 cm -1 phiS cos mul cm rmoveto
- 0.2 -0.75 rmoveto
- 189 { 0.5 1.5 rlineto
- 0.1 -1.5 rmoveto } repeat
- gsave
- 0.2 setgray
- 0.2 setlinewidth
- stroke
- grestore
-grestore
-%---------------------------------------- Drehrad an der Spindel --------------------------------------
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- 0 cm -1.3 phiS cos mul cm rmoveto
- 0 cm 0.6 cm rlineto
- gsave
- 0.5 setgray
- 0.08 cm setlinewidth
- stroke
- grestore
-grestore
-gsave
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- -0.04 cm -1.28 phiS cos mul cm rmoveto
- 20 { 0.08 cm 0 cm rlineto
- -0.08 cm 0.03 cm rmoveto } repeat
- gsave
- 0.3 setgray
- 0.2 setlinewidth
- stroke
- grestore
-grestore
-gsave
-%---------------------------------------- Halterung zum Anfassen --------------------------------------
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- 0 cm 0.75 0.54 phiS sin mul add cm moveto
- 0 cm 0.2 cm rlineto
- gsave
- 0.5 setgray
- 3 setlinewidth
- stroke
- grestore
-grestore
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- 0 cm 0.95 0.54 phiS sin mul add cm moveto
- 0 cm 0.05 cm rlineto
- gsave
- \pst@usecolor\PoCFillCol
- 5 setlinewidth
- stroke
- grestore
-grestore
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- 0 cm 1.0 0.54 phiS sin mul add cm moveto
- 0 cm 0.5 cm rlineto
- gsave
- 0.5 setgray
- 5 setlinewidth
- stroke
- grestore
-grestore
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- -0.08 cm 1.0 0.6 phiS sin mul add cm moveto
- 0 cm 0.48 cm rlineto
- 6 { 0.025 cm -0.48 cm rmoveto
- 0 cm 0.48 cm rlineto } repeat
- gsave
- 0.65 setgray
- 0.15 setlinewidth
- stroke
- grestore
-grestore
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- -0.075 cm 1.0 0.6 phiS sin mul add cm moveto
- 0 cm 0.48 cm rlineto
- 6 { 0.025 cm -0.48 cm rmoveto
- 0 cm 0.48 cm rlineto } repeat
- gsave
- 0.25 setgray
- 0.2 setlinewidth
- stroke
- grestore
-grestore
-%---------------------------------------- Kreis um oberen Teil --------------------------------------
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm T
- phiS rotate
- 0 cm 0.1 0.54 phiS sin mul add cm moveto
- 0.65 -50 PtoC exch cm exch cm rmoveto
- 0 cm 0.1 0.54 phiS sin mul add cm 0.65 cm -50 230 arc
- gsave
- 0.1 setgray
- 1.3 setlinewidth
- stroke
- grestore
-grestore
-%---------------------------------------- Kreis zwischen den Schenkeln --------------------------------------
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm moveto
- 0 cm SLg cm 0.15 cm 0 360 arc
- closepath
- gsave
- 0.1 setgray
- fill
- grestore
-grestore
-%---------------------------------------- Schenkel des Zirkels ----------------------------------------------------
-gsave
- newpath
- phiS neg rotate
- 0 cm 0.3 cm moveto
- -0.3 cm SLg 0.1 add cm lineto
- 0 cm SLg cm T
- phiS 2 mul rotate
- 0.3 cm 0.1 cm moveto
- 0 cm SLg 0.3 sub neg cm lineto
-% closepath
- gsave
- 0.285 cm setlinewidth
- 2 setlinejoin
- \pst@usecolor\PoCFillCol
- stroke
- grestore
-grestore
-gsave
- newpath
- phiS neg rotate
- -0.17 cm SLg 0.6 mul cm moveto
- -0.25 cm SLg 0.85 mul cm lineto
- 0 cm SLg cm T
- phiS 2 mul rotate
- 0.17 cm SLg -0.4 mul cm moveto
- 0.25 cm SLg -0.15 mul cm lineto
-% closepath
- gsave
- 0.17 cm setlinewidth
- 2 setlinejoin
- 0.4 setgray
- stroke
- grestore
-grestore
-%---------------------------------------- Kreis an der linken Spitze --------------------------------------
-gsave
- newpath
- phiS neg rotate
- -0.03 cm 0.8 cm moveto
- -0.03 cm 0.8 cm 0.175 cm 0 360 arc
- closepath
- gsave
- 0.25 setgray
- fill
- grestore
-grestore
-gsave
- newpath
- phiS neg rotate
- -0.03 cm 0.8 cm moveto
- -0.03 cm 0.8 cm 0.025 cm 0 360 arc
- closepath
- gsave
- 0.8 setgray
- fill
- grestore
-grestore
-%---------------------------------------- Kreis an der rechten Spitze --------------------------------------
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm T
- phiS 2 mul rotate
- 0.03 cm 0 cm T
- 0 cm SLg 0.8 sub neg cm moveto
- 0 cm SLg 0.8 sub cm neg 0.175 cm 0 360 arc
- closepath
- gsave
- 0.25 setgray
- fill
- grestore
-grestore
-gsave
- newpath
- phiS neg rotate
- 0 cm SLg cm T
- phiS 2 mul rotate
- 0.03 cm 0 cm T
- 0 cm SLg 0.8 sub neg cm moveto
- 0 cm SLg 0.8 sub cm neg 0.025 cm 0 360 arc
- closepath
- gsave
- 0.8 setgray
- fill
- grestore
-grestore
-%--------------------------------------------------------------------------------------------------------------------------------------------------
-%--------------- Ende nur grestore von gsave ganz am Anfang ------------------
-grestore
-}%
-\pnode(!
- \pst@tempA \tx@UserCoor /@@y1 ED /@@x1 ED
- \pst@tempB \tx@UserCoor /@@y2 ED /@@x2 ED
- @@x1 @@x2 sub @@y1 @@y2 sub Pyth \pst@RadMul\space mul /\pst@RadVS\space exch def
- @@y1 @@y2 sub dup mul @@x1 @@x2 sub dup mul add \pst@RadMul dup mul mul /quadlg ED
- quadlg 0 eq { 180 } { @@y1 @@y2 sub @@x1 @@x2 sub atan } ifelse /\pst@AngleVS\space exch def %------------ Winkelberechnung /\pst@AngleVS\space exch def
- 0 0){MoneyforNothing}%
-\endgroup%
-\end@SpecialObj\ignorespaces%
-}%
-
-%\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ruler}[true]{}
-%\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ppoint}[false]{}
-%\define@boolkey[psset]{pst-geometrictools}[Pst@]{LineOffset}[false]{}
-%\define@key[psset]{pst-geometrictools}{AddAngle}[0]{\def\pst@AddAngle{#1 }}%
-%\psset[pst-geometrictools]{Ruler=true,Ppoint=false,AddAngle=0,LineOffset=false}
-
-%% Distance between two points => #3
-\def\psDistAB(#1)(#2)#3{%
- \pst@getcoor{#1}\pst@tempA
- \pst@getcoor{#2}\pst@tempB
-\pnode(!
- \pst@tempA \tx@UserCoor
- \pst@tempB \tx@UserCoor
- 3 -1 roll sub dup mul 3 1 roll sub dup mul add sqrt
- /#3 ED
- 0 0
- ){XX}
-}
-%% calcule l'angle entre Ox et AB et le place en #3
-\def\psAngleAB(#1)(#2)#3{%
- \pst@getcoor{#1}\pst@tempA
- \pst@getcoor{#2}\pst@tempB
-\pnode(!
- \pst@tempA \tx@UserCoor
- \pst@tempB \tx@UserCoor
- 3 -1 roll sub 3 1 roll exch sub Atan
- /#3 ED
- 0 0
- ){YY}
-}%
-%% angle defined by three points
-\def\psAngleAOB(#1)(#2)(#3)#4{%
- \pst@getcoor{#1}\pst@tempA
- \pst@getcoor{#2}\pst@tempB
- \pst@getcoor{#2}\pst@tempC
-\pnode(!
- \pst@tempA \tx@UserCoor
- \pst@tempB \tx@UserCoor
- \pst@tempC \tx@UserCoor
- 4 copy exch 4 -1 roll mul
- 3 -2 roll mul add
- 4 -2 roll mul 4 -2 roll mul sub exch Atan
- /#4 ED
- 0 0
- ){ZZ}
-}
-
-% la nouvelle version de \psParallels
-\define@key[psset]{pst-geometrictools}{DistCoeff}[1]{\def\pst@DistCoeff{#1 }}%
-\psset[pst-geometrictools]{DistCoeff=1}
-%
-\def\psParallels{\def\pst@par{}\pst@object{psParallels}}
-\def\psParallels@i(#1)(#2)(#3){%
-\begin@SpecialObj %
-\pnode(#1){pointA}%
-\pnode(#2){pointB}%
-\pnode(#3){pointC}%
-\pcline[nodesep=-3](pointA)(pointB)
-\psdots(pointA)(pointB)(pointC)
-\uput[l](pointA){A}
-\uput[l](pointB){B}
-\uput[r](pointC){C}
-%
-\psProtractor[Ghost]{0}(pointA)%
-\psAngleAB(pointA)(pointB){alpha1}
-\psAngleAB(pointA)(GeodrA){alpha2}
-\psProtractor[Ghost]{alpha1 alpha2 sub}(pointA)%
-\psRuler{0}(GeodrB)(GeodrC)
-%
-\pstProjection[PointName={},PointSymbol=none]{pointA}{pointB}{pointC}[pointI]%
-\pstRotation[RotAngle=45,PointSymbol=none,PointName={}]{pointC}{pointI}[pointJ]%
-\pstInterLL[PointSymbol=none,PointName={}]{pointA}{pointB}{pointC}{pointJ}{pointK}%
-\pstTranslation[PointSymbol=none,PointName={},DistCoef=\pst@DistCoeff]{pointK}{pointC}{pointA}[pointA*]
-\psProtractor{alpha1 alpha2 sub}(pointA*)%
-\end@SpecialObj\ignorespaces%
-}%
-
-%\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ruler}[true]{}
-%\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ppoint}[false]{}
-%\define@boolkey[psset]{pst-geometrictools}[Pst@]{LineOffset}[false]{}
-%\define@key[psset]{pst-geometrictools}{AddAngle}[1]{\def\pst@AddAngle{#1 }}%
-%\psset[pst-geometrictools]{Ruler=true,Ppoint=false,AddAngle=0,LineOffset=false}
-%\def\psParallels{\def\pst@par{}\pst@object{psParallels}}
-%\def\psParallels@i(#1)(#2)(#3){%
-%\psset{saveNodeCoors,NodeCoorPrefix=n}%
-%\@ifundefined{rCounter}{\def\rCounter{1}}{}%
-%\begin@SpecialObj %
-%\pnode(#1){pointA}%
-%\pnode(#2){pointB}%
-%\pnode(#3){pointC}%
-%\pstProjection[PointName={},PointSymbol=none]{pointA}{pointB}{pointC}[pointI]%
-%\midAB(pointA)(pointB){pointM}%
-%\pstRotation[RotAngle=45,PointSymbol=none,PointName={}]{pointC}{pointI}[pointJ]%
-%\pstInterLL[PointSymbol=none,PointName={}]{pointA}{pointB}{pointC}{pointJ}{pointK}%
-%\AtoB(pointI)(pointC){IC}%
-%\AtoB(pointK)(pointC){KC}%
-%\AplusB(pointM)(KC){MT}%
-%\AplusB(pointB)(KC){BT}%
-%\psProtractor[Ghost]{0}(pointM)(pointB)%
-%\pnode(GeodrB){ProB}%
-%\pnode(GeodrC){ProC}%
-%\psLDNode(ProB)(ProC){-1cm}{pointE}%
-%\ifPst@Ruler\psRuler{0}(pointE)(GeodrC)\fi%
-%\AplusB(ProB)(KC){ProB*}%
-%\pst@Verb{ nKCx nKCy Pyth /laenge exch def %
-%nKCx laenge div \pst@number\pslinewidth\space 2 div 0.35 \pst@ProScale mul add mul 28.45274 div 2 sqrt mul /delX exch def %
-%nKCy laenge div \pst@number\pslinewidth\space 2 div 0.35 \pst@ProScale mul add mul 28.45274 div 2 sqrt mul /delY exch def
-%}%
-%\pnode(!nProB*x delX add nProB*y delY add ){GProB*}%
-%\pnode(!/AddA \pst@AddAngle def nProB*x AddA 0 eq { delX add } { AddA 180 eq { delX sub } { 0 add } ifelse } ifelse nProB*y AddA 0 eq { delY add } { AddA 180 eq { delY sub } { 0 add } ifelse } ifelse ){GProBC*}%
-%\pnode(!nMTx delX add nMTy delY add){GMT*}%
-%\pnode(!/AddA \pst@AddAngle def npointCx AddA 0 eq { delX add } { AddA 180 eq { delX sub } { 0 add } ifelse } ifelse npointCy AddA 0 eq { delY add } { AddA 180 eq { delY sub } { 0 add } ifelse } ifelse ){pointC*}%
-%\psLNode(pointM)(GMT*){\rCounter}{MPro}%
-%\psLNode(ProB)(GProB*){\rCounter}{BPro}%
-%\ifPst@Ppoint
-%\ifPst@LineOffset
-%\pst@Verb{ nICx nICy Pyth /laenge exch def %
-%nICx laenge div \pst@number\pslinewidth\space 2 div 0.35 \pst@ProScale mul add mul 28.45274 div 2 sqrt mul /delX exch def %
-%nICy laenge div \pst@number\pslinewidth\space 2 div 0.35 \pst@ProScale mul add mul 28.45274 div 2 sqrt mul /delY exch def %
-%}%
-%\pnode(!/AddA \pst@AddAngle def nProB*x AddA 0 eq { delX add } { AddA 180 eq { delX sub } { 0 add } ifelse } ifelse nProB*y AddA 0 eq { delY add } { AddA 180 eq { delY sub } { 0 add } ifelse } ifelse ){GProBC*}%
-%\pnode(!/AddA \pst@AddAngle def npointCx AddA 0 eq { delX add } { AddA 180 eq { delX sub } { 0 add } ifelse } ifelse npointCy AddA 0 eq { delY add } { AddA 180 eq { delY sub } { 0 add } ifelse } ifelse ){pointC*}%
-%\psProtractor{\pst@AddAngle}(pointC*)(GProBC*)\else%
-%\psProtractor{\pst@AddAngle}(pointC)(ProB*)\fi%
-%\else
-%\psProtractor{\pst@AddAngle}(MPro)(BPro)\fi % Um die Liniendicke 0.8pt nach rechts versetzt
-%\psLNode(pointC)(ProB*){0.98}{ProB**}%
-%\psLNode(pointC)(ProB**){2}{C*}%
-%\end@SpecialObj\ignorespaces%
-%}%
-
-\catcode`\@=\PstAtCode\relax
+%% This is file `pst-geometrictools.tex',
+%%
+%% Thomas Söll
+%% fixes for lualatex by Herbert Voß
+%%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1.3c of %%
+%% the License, or (at your option) any later version. %%
+%%
+%% DESCRIPTION:
+%% `pst-geometrictools' is a PSTricks package to draw a protractor, a ruler, a compass and pencils
+%%
+%%
+\csname PSTgeometrictoolsLoaded\endcsname
+\let\PSTgeometrictoolsLoaded\endinput
+% Requires PSTricks, pst-xkey, pst-node packages
+\ifx\PSTricksLoaded\endinput \else\input pstricks.tex\fi
+\ifx\PSTXKeyLoaded\endinput \else\input pst-xkey.tex\fi
+\ifx\PSTEuclideLoaded\endinput\else\input pst-eucl.tex\fi
+\ifx\PSTnodeLoaded\endinput \else\input pst-node.tex\fi
+\def\fileversion{1.3}
+\def\filedate{2021/12/28}
+\message{`PST' v\fileversion, \filedate}
+
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+\pst@addfams{pst-geometrictools}
+%
+\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ghost}[true]{}
+\define@key[psset]{pst-geometrictools}{ProLineCol}[cyan]{\pst@getcolor{#1}\ProLineCol}
+\define@key[psset]{pst-geometrictools}{ProFillCol}[gray!60]{\pst@getcolor{#1}\ProFillCol}
+\define@key[psset]{pst-geometrictools}{ProScale}[1]{\def\pst@ProScale{#1 }}%
+\define@key[psset]{pst-geometrictools}{OwnerTxt}[Euklid]{\def\pst@OwnerTxt{#1}}%
+\define@key[psset]{pst-geometrictools}{MadeTxt}[made in NES]{\def\pst@MadeTxt{#1}}%
+\define@key[psset]{pst-geometrictools}{PSfontO}[Symbol]{\def\pst@PSfontO{/#1 }}
+\define@key[psset]{pst-geometrictools}{fontsizeO}[10]{\def\pst@fontsizeO{#1 }}
+\define@key[psset]{pst-geometrictools}{PSfontM}[NimbusRomNo9L-Regu]{\def\pst@PSfontM{/#1 }}
+\define@key[psset]{pst-geometrictools}{fontsizeM}[6]{\def\pst@fontsizeM{#1 }}
+\define@key[psset]{pst-geometrictools}{country}[Germany]{\def\pst@country{#1}}
+\psset[pst-geometrictools]{ProScale=1,OwnerTxt={Euklid},MadeTxt={made in NES},
+ country=Germany,PSfontO=StandardSymL,PSfontM=NimbusRomNo9L-Regu,fontsizeO=10,fontsizeM=6,
+ ProFillCol=gray!60,ProLineCol=cyan,Ghost=false}
+
+
+\def\psProtractor{\def\pst@par{}\pst@object{psProtractor}}
+\def\psProtractor@i#1(#2){\@ifnextchar({\psProtractor@ii{#1}(#2)}{\psProtractor@ii{#1}(#2)(#2)}}%
+
+\def\psProtractor@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
+ \begin@SpecialObj
+ \pst@killglue
+% \begingroup
+ \pnode(#2){@PGD}%
+ \pnode(#3){@QGD}%
+ \use@par
+ \pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
+ \pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
+ \addto@pscode{%
+ /sysfill {systemdict /fill get exec} def
+ /Country (\pst@country) def
+ /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
+ \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
+ \pst@tempB \tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
+ @y1 @y2 sub @x1 @x2 sub Atan /@delta ED %------------ Winkelberechnung
+ \pst@tempA \pst@coor T % ------------------------------------ Tranformiere den Koordinatenursprung in P
+ @delta #1 add 180 add rotate % ------------------------------ Drehe das gesamte Geodreieck
+ \pst@ProScale dup scale % -------- Skaliere das ganze Geodreieck
+ %-------------------------------------------------------------------------------------------------------------
+ gsave
+ \ifPst@Ghost\else
+ %-------------- Äußere Begrenzung des Geodreiecks -----------------------------------------------
+ gsave
+ newpath
+ -8 cm 0 moveto
+ 16 cm 0 rlineto
+ -8 cm 8 cm rlineto
+ closepath
+% gsave
+ 0.7 setlinewidth
+ 0.1 setgray
+ stroke
+% grestore
+ grestore
+%-------------------------------------------------------------------------------------------------------------
+%-------------- Gefüllter innerer Teil des Geodreiecks -----------------------------------------------
+ gsave
+ newpath
+ -7.5 cm 0.5 22.5 tan mul cm moveto
+ 15 cm 0 rlineto
+ -7.5 cm 7.5 cm rlineto
+ closepath
+% gsave
+ \pst@usecolor\ProFillCol
+% [ /ca .1 /SetTransparency pdfmark % set transparency
+ 0.1 .setopacityalpha sysfill
+% grestore
+ grestore
+%-------------------------------------------------------------------------------------------------------------
+%-------------- Millimetereinteilung auf der Grundseite -------------------------------------------
+ /mmBlinie { newpath
+ -7 cm 0 cm moveto
+ 0 cm 0.17 cm rlineto
+% closepath
+ gsave
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ grestore
+ 0.1 cm 0 cm translate
+ } def
+gsave
+140 {mmBlinie} repeat
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%-------------- 0,5- cm-Einteilung auf der Grundseite ----------------------------------------------
+ /cmBlinie { newpath
+ -7 cm 0 cm moveto
+ 0 cm 0.27 cm rlineto
+% closepath
+ gsave
+ 0.55 setlinewidth
+ 0 setgray
+ stroke
+ grestore
+ 0.5 cm 0 cm translate
+ } def
+gsave
+ 29 {cmBlinie} repeat
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%-------------- mm-Einteilung von der Grundseite nach oben ------------------------------------
+/mmlinie { newpath
+ -2.3 cm 0.3 cm moveto
+ 0.2 cm 0 rlineto
+ 2.2 cm 0.3 cm moveto
+ 0.2 cm 0 rlineto
+% closepath
+ gsave
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ grestore
+ 0 cm 0.1 cm translate
+ } def
+gsave
+33 {mmlinie} repeat
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%-------------- 0,5 cm-Einteilung von der Grundseite nach oben --------------------------------
+/cmlinie { newpath
+ -4.5 cm 0.5 cm moveto
+ 2 cm 0 rlineto
+ 0.75 cm 0 rmoveto
+ 1.5 cm 0 rlineto
+ 0.5 cm 0 rmoveto
+ 1.5 cm 0 rlineto
+ 0.75 cm 0 rmoveto
+ 2 cm 0 rlineto
+% closepath
+ gsave
+ 0.6 setlinewidth
+ 0 setgray
+ stroke
+ grestore
+ 0 cm 0.5 cm translate
+ } def
+%------------------------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- Clippen entlang eines Kreises der 0,5 cm-Einteilung von der Grundseite nach oben ------------------------------------
+/kreisring { newpath
+ 0 0 translate
+ 0 0 4.2 cm 0 180 arc
+ closepath
+ } def
+ gsave
+ kreisring clip
+ 7 {cmlinie} repeat
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- farbiger und transparenter Halb-Ring -----------------------------------------------------------------------------
+ gsave
+ newpath
+ 0 0 translate
+ 0 0 5.1 cm 6 174 arc
+ 0 0 4.8 cm 174 6 arcn
+ closepath
+% gsave
+ \pst@usecolor\ProLineCol
+% [ /ca .4 /SetTransparency pdfmark % set transparency
+ 0.4 .setopacityalpha
+ sysfill
+% grestore
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- 1-Grad-Winkeleinteilung an der linken Kathete -----------------------------------------------------------------
+ gsave
+ 91 1 179 { /Wk exch def % ---------------------------------------------------- Schleifenvariable festlegen, die von 91° bis 179° geht
+ {8 Wk sin Wk cos div 1 sub div} /xWS1 exch def %---------- xWS1=8/(tan(alpha)-1) --> SP der Geraden linke Kathete mit Ursprungsgeraden im Winkel alpha
+ {7.8 Wk sin Wk cos div 1 sub div} /xWS2 exch def % ------- xWS2=7,8/(tan(alpha)-1) --> SP einer Parallelen zur Geraden linke Kathete mit Ursprungsgeraden im Winkel alpha
+ newpath
+ xWS1 cm xWS1 8 add cm moveto % --------------------------- zu xWS1 gehöriger y-Wert ist xWS1 + 8
+ xWS2 cm xWS2 7.8 add cm % ----------------------------------- zu xWS2 gehöriger y-Wert ist xWS1 + 7,8
+ lineto
+% closepath
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ } for
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- 5-Grad-Winkeleinteilung an der linken Kathete -----------------------------------------------------------------
+ gsave
+ 95 5 175 { /Wk exch def
+ {8 Wk sin Wk cos div 1 sub div} /xWS1 exch def
+ {7.6 Wk sin Wk cos div 1 sub div} /xWS2 exch def
+ newpath
+ xWS1 cm xWS1 8 add cm moveto
+ xWS2 cm xWS2 7.6 add cm
+ lineto
+% closepath
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ } for
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- 10-Grad-Winkeleinteilung an der linken Kathete -----------------------------------------------------------------
+ gsave
+ 100 10 170 { /Wk exch def
+ {8 Wk sin Wk cos div 1 sub div} /xWS1 exch def
+ {5.1 Wk cos mul Wk cos div 1 sub div} /xWS2 exch def
+ newpath
+ xWS1 cm xWS1 8 add cm moveto
+ 5.1 Wk cos mul cm 5.1 Wk sin mul cm
+ lineto
+% closepath
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ } for
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- 1-Grad-Winkeleinteilung an der rechten Kathete ---------------------------------------------------------------
+ gsave
+ 1 1 89 { /Wk exch def
+ {8 Wk sin Wk cos div 1 add div} /xWS1 exch def
+ {7.8 Wk sin Wk cos div 1 add div} /xWS2 exch def
+ newpath
+ xWS1 cm xWS1 neg 8 add cm moveto
+ xWS2 cm xWS2 neg 7.8 add cm
+ lineto
+% closepath
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ } for
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- 5-Grad-Winkeleinteilung an der rechten Kathete ---------------------------------------------------------------
+ gsave
+ 5 5 85 { /Wk exch def
+ {8 Wk sin Wk cos div 1 add div} /xWS1 exch def
+ {7.6 Wk sin Wk cos div 1 add div} /xWS2 exch def
+ newpath
+ xWS1 cm xWS1 neg 8 add cm moveto
+ xWS2 cm xWS2 neg 7.6 add cm
+ lineto
+% closepath
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ } for
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- 10-Grad-Winkeleinteilung an der rechten Kathete --------------------------------------------------------------
+ gsave
+ 10 10 80 { /Wk exch def
+ {8 Wk sin Wk cos div 1 add div} /xWS1 exch def
+ {5.1 Wk cos mul Wk cos div 1 add div} /xWS2 exch def
+ newpath
+ xWS1 cm xWS1 neg 8 add cm moveto
+ 5.1 Wk cos mul cm 5.1 Wk sin mul cm
+ lineto
+% closepath
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ } for
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- 1-Grad-Winkeleinteilung auf Halbkreis ------------ ---------------------------------------------------------------
+ gsave
+ 5 1 175 { /Wk exch def
+ newpath
+ 4.3 Wk cos mul cm 4.3 Wk sin mul cm moveto
+ 4.45 Wk cos mul cm 4.45 Wk sin mul cm
+ lineto
+% closepath
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ } for
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- 5-Grad-Winkeleinteilung auf Halbkreis ------------ ---------------------------------------------------------------
+ gsave
+ 5 5 175 { /Wk exch def
+ newpath
+ 4.3 Wk cos mul cm 4.3 Wk sin mul cm moveto
+ 4.5 Wk cos mul cm 4.5 Wk sin mul cm
+ lineto
+% closepath
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ } for
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%-------------------------- Linke Diagonallinie-dashed -------------------------------------------------------------------------------
+ gsave
+ newpath /Wk 135 def
+ {8 Wk sin Wk cos div 1 sub div} /xWS1 exch def
+ 0 0 moveto
+ 4.3 Wk cos mul cm 4.3 Wk sin mul cm lineto
+% closepath
+ gsave
+ [2 sqrt 2 div 0.24 sub cm 0.24 cm] -0.12 cm setdash
+ 0.5 setlinewidth
+ 0 setgray stroke
+ grestore
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%-------------------------- Rechte Diagonallinie-dashed -----------------------------------------------------------------------------
+ gsave
+ newpath /Wk 45 def
+ {8 Wk sin Wk cos div 1 add div} /xWS1 exch def
+ 0 0 moveto
+ 4.3 Wk cos mul cm 4.3 Wk sin mul cm lineto
+% closepath
+ gsave
+ [2 sqrt 2 div 0.24 sub cm 0.24 cm] -0.12 cm setdash
+ 0.5 setlinewidth
+ 0 setgray stroke
+ grestore
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------
+%---------------------------------------- Mittel-Linie -------------------------------------------------------------------------------------
+ gsave
+ newpath
+ 0 0.5 cm moveto
+ 0 3.5 cm lineto
+ 0 5.1 cm moveto
+ 0 6.0 cm lineto
+ 0 6.4 cm moveto
+ 0 8.0 cm lineto
+% closepath
+ gsave
+ 0.5 setlinewidth
+ 0 setgray stroke
+ grestore
+ grestore
+%--------------------------------------------------------------------------------------------------------------------------------------------------
+%------------------------- Definition für horizontal-zentriertes - Setzen der cm- Zahlen (180° gedreht) ------------------------
+ /cmshow {% (string) x y
+ gsave
+ moveto 180 rotate % s
+ /NimbusRomNo9L-Regu findfont 7 scalefont setfont
+ dup % s s
+ stringwidth pop 2 div neg 0 % s -dx/2
+ rmoveto 0.2 setgray show
+ grestore
+ } bind def
+%------------------------- Setzen der Zahlen für die cm-Einteilungen -----------------------------------------------------------------
+ 0 1 7 { /MZ exch def MZ 2 string cvs MZ cm 0.47 cm cmshow } for %---------------- Zahlen 0 bis 7 (nach rechts)
+ 1 1 7 { /MZ exch def MZ 2 string cvs MZ neg cm 0.47 cm cmshow } for %----------- Zahlen 1 bis 7 (nach links)
+ 1 1 3 { /MZ exch def MZ 2 string cvs 2 cm MZ 0.1 add cm cmshow } for %---------- Zahlen 1 bis 3 (nach oben, rechte Seite)
+ 1 1 3 { /MZ exch def MZ 2 string cvs -2 cm MZ 0.1 add cm cmshow } for %--------- Zahlen 1 bis 3 (nach oben, linke Seite)
+%--------------------------------------------------------------------------------------------------------------------------------------------------
+%------------------------- Definition für horizontal-zentriertes - Setzen der Winkel- Zahlen (mitgedreht) ----------------------
+ /cmRotshow {% ---------------------------------- (string), Winkel, x y
+ gsave
+ moveto 90 add rotate % s
+ /NimbusRomNo9L-Regu findfont 7 scalefont setfont
+ dup % s s
+ stringwidth pop 2 div neg 0 % s -dx/2
+ rmoveto 0.2 setgray show
+ grestore
+ } bind def
+ gsave
+%------------------------- Setzen der Zahlen für die Winkel-Einteilungen -------------------------------------------------------------------------------------------------
+ 10 10 170 { /MZ exch def MZ 3 string cvs MZ 5.03 cm MZ cos mul 5.03 cm MZ sin mul cmRotshow } for % ------------------ äußerer Kreisbogen
+ 10 10 170 { /MZ exch def 180 MZ sub 3 string cvs MZ 4.75 cm MZ cos mul 4.75 cm MZ sin mul cmRotshow } for % ------- innerer Kreisbogen
+ grestore
+%---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ /TSshow {% (string) x y
+ gsave
+ moveto 180 rotate % s
+ \pst@PSfontO\space findfont \pst@fontsizeO scalefont setfont
+ dup % s s
+ stringwidth pop 2 div neg 0 % s -dx/2
+ rmoveto 0.4 setgray show
+ grestore
+ } bind def
+ gsave
+ (\pst@OwnerTxt) 0 cm 4 cm TSshow
+ grestore
+%--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ /MadeShow {% (string) x y
+ gsave
+ moveto 180 rotate % s
+ \pst@PSfontM\space findfont \pst@fontsizeM scalefont setfont
+ dup % s s
+ stringwidth pop 2 div neg 0 % s -dx/2
+ rmoveto 0.7 setgray show
+ grestore
+ } bind def
+ gsave
+ (\pst@MadeTxt) 0 cm 6.25 cm MadeShow
+ grestore
+%---------------------------------------- Fahne -------------------------------------------------------------------------------------
+ gsave
+ /Fahne {
+ newpath
+ 0 0 moveto
+ 0 1 rlineto
+ 1 0 rlineto
+ 0 -1 rlineto
+ closepath
+ setrgbcolor
+% [ /ca .5 /SetTransparency pdfmark % set transparency
+ 0.5 .setopacityalpha sysfill
+ } def
+Country (France) eq {
+ 0.73 cm 6.1 cm translate
+ 3 6 scale
+ 1 0 0 Fahne
+ 1 0 translate
+ 1 1 1 Fahne
+ 1 0 translate
+ 0 0 1 Fahne
+ } if
+Country (Germany) eq {
+ 0.775 cm 6.22 cm translate
+ 7.5 1.5 scale
+ 1 0.588 0 Fahne
+ 0 -1 translate
+ 0.75 0.07 0.11 Fahne
+ 0 -1 translate
+ 0 0 0 Fahne
+ } if
+ grestore
+%--------------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- Ende nur grestore von gsave ganz am Anfang ------------------
+\fi
+grestore
+}%
+\pnode(!
+ /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
+ \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
+ \pst@tempB \tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
+ @y1 @y2 sub @x1 @x2 sub Atan /@delta ED %------------ Winkelberechnung
+ @x1 cm @y1 cm T % ------------------------------------ Tranformiere den Koordinatenursprung in P
+ @delta #1 add 180 add rotate % ------------------------------ Drehe den oberen Punkt des Geodreiecks
+ \pst@ProScale\space \pst@ProScale\space scale % -------- Skalieren!
+ 0 8){GeodrC}%
+\pnode(!
+ @x1 cm @y1 cm T % ------------------------------------ Tranformiere den Koordinatenursprung in P
+ @delta #1 add 180 add rotate % ------------------------------ Drehe die linke untere Ecke des Geodreiecks
+ \pst@ProScale\space \pst@ProScale\space scale % -------- Skalieren!
+ -8 0){GeodrA}%
+\pnode(!
+ @x1 cm @y1 cm T % ------------------------------------ Tranformiere den Koordinatenursprung in P
+ @delta #1 add 180 add rotate % ------------------------------ Drehe die rechte untere Ecke des Geodreiecks
+ \pst@ProScale\space \pst@ProScale\space scale % -------- Skalieren!
+ 8 0){GeodrB}%
+%\endgroup%
+ \end@SpecialObj
+ \ignorespaces
+}%
+
+\definecolor{HolzCol}{rgb}{1,0.937,0.835}%
+\define@key[psset]{pst-geometrictools}{PenScale}[1]{\def\pst@PenScale{#1 }}%
+\define@key[psset]{pst-geometrictools}{PenLength}[5]{\def\pst@PenLength{#1 }}%
+\define@key[psset]{pst-geometrictools}{pencilColA}[red]{\pst@getcolor{#1}\pencilColA}
+\define@key[psset]{pst-geometrictools}{pencilColB}[HolzCol]{\pst@getcolor{#1}\pencilColB}
+\psset[pst-geometrictools]{PenLength=5,pencilColA=red,pencilColB=HolzCol,PenScale=1}
+
+\def\psPencil{\def\pst@par{}\pst@object{psPencil}}
+\def\psPencil@i#1(#2){%------------------------------- #1 Winkel, #2 Ursprung P
+\begin@SpecialObj
+\pst@killglue
+\begingroup
+\pnode(#2){@PGD}%
+\use@par
+\pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
+\addto@pscode{
+/sysfill {systemdict /fill get exec} def
+%/Country (\pst@country) def
+ /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
+ /Plength \pst@PenLength def
+% \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
+ \pst@tempA \pst@coor T % ------------------------------------ Tranformiere den Koordinatenursprung in P
+ #1 rotate % ------------------------------ Drehe das gesamte Geodreieck
+ \pst@PenScale dup scale % -------- Skaliere das ganze Geodreieck
+%-------------------------------------------------------------------------------------------------------------
+gsave
+%-------------------------------------------------------------------------------------------------------------
+%-------------- Unterer Holzteil des Stifts -------------------------------------------------------------
+gsave
+ newpath
+ 0 cm 0 moveto
+ -0.3 cm 1 cm rlineto
+ 0 cm 0.2 cm rlineto
+ 0.6 cm 0 cm rlineto
+ 0 cm -0.2 cm rlineto
+ closepath
+ gsave
+ \pst@usecolor\pencilColB
+ fill
+ grestore
+ gsave
+ 0.4 setlinewidth
+ 0.5 setgray
+ 1 setlinejoin
+ stroke
+ grestore
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%-------------- langer farbiger Teil des Stifts ----------------------------------------------------------
+gsave
+ newpath
+ -0.3 cm 1 cm moveto
+ 0 cm Plength cm rlineto
+ 0.6 cm 0 cm rlineto
+ 0 cm Plength neg cm rlineto
+ 0.3 cm 1.13 cm 0.13 cm 270 180 arcn
+ 0 cm 1.13 cm 0.17 cm 0 180 arcn
+ -0.3 cm 1.13 cm 0.13 cm 0 270 arcn
+ closepath
+ gsave
+ \pst@usecolor\pencilColA
+ fill
+ grestore
+ gsave
+ 0.5 setlinewidth
+ 0.1 setgray
+ stroke
+ grestore
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%--------------------------- Spitze in Farbe --------------------------------------------------------------
+gsave
+ newpath
+ 0 cm 0 moveto
+ -0.1 cm 1 3 div cm rlineto
+ 0.2 cm 0 cm rlineto
+ closepath
+ gsave
+ \pst@usecolor\pencilColA
+ fill
+ grestore
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%--------------------------- Striche im Stift --------------------------------------------------------------
+gsave
+ newpath
+ -0.17 cm 1.13 cm moveto
+ 0 cm Plength 0.13 sub cm rlineto
+ 0.17 cm 1.13 cm moveto
+ 0 cm Plength 0.13 sub cm rlineto
+ closepath
+ gsave
+ 0.5 setlinewidth
+ 0.1 setgray
+ stroke
+ grestore
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%--------------------------- Elliptisches Stift-Ende in Holz --------------------------------------------
+gsave
+ newpath
+ 0 cm Plength 1 add cm T
+ 1 0.2 scale
+ 0 cm 0 cm 0.3 cm 0 360 arc
+ closepath
+ gsave
+ \pst@usecolor\pencilColB
+ fill
+ grestore
+ gsave
+ 0.5 setlinewidth
+ 0.3 setgray
+ stroke
+ grestore
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%--------------------------- Elliptisches Stift-Ende in Farbe -------------------------------------------
+gsave
+ newpath
+ 0 cm Plength 1 add cm T
+ 1 0.2 scale
+ 0 cm 0 cm 0.1 cm 0 360 arc
+ closepath
+ gsave
+ \pst@usecolor\pencilColA
+ fill
+ grestore
+ gsave
+ 0.3 setlinewidth
+ 0.3 setgray
+ stroke
+ grestore
+grestore
+%--------------------------------------------------------------------------------------------------------
+%--------------------------------------------------------------------------------------------------------
+grestore
+}%
+\endgroup
+\end@SpecialObj\ignorespaces
+}%
+
+
+\define@key[psset]{pst-geometrictools}{RulerFillCol}[cyan!60]{\pst@getcolor{#1}\RulerFillCol}
+\define@key[psset]{pst-geometrictools}{RulerScale}[1]{\def\pst@RulerScale{#1 }}%
+\psset[pst-geometrictools]{RulerFillCol=gray,RulerScale=1}
+
+\def\psRuler{\def\pst@par{}\pst@object{psRuler}}
+\def\psRuler@i#1(#2){\@ifnextchar(%
+{\psRuler@ii{#1}(#2)}%
+{\psRuler@ii{#1}(#2)(#2)}}%
+\def\psRuler@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
+\begin@SpecialObj
+\pst@killglue
+\begingroup%
+\pnode(#2){@PGD}%
+\pnode(#3){@QGD}%
+\use@par%
+\pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
+\pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
+\addto@pscode{
+/sysfill {systemdict /fill get exec} def
+ /cm {28.45274 mul} def % --------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
+ \pst@tempA \tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
+ \pst@tempB \tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
+ @y1 @y2 sub @x1 @x2 sub Atan /@delta ED %------------ Winkelberechnung
+ \pst@tempA \pst@coor T % ------------------------------------ Tranformiere den Koordinatenursprung in P
+ @delta #1 add 180 add rotate % ------------------------------ Drehe das gesamte Geodreieck
+ \pst@RulerScale dup scale % ----------------------------------- Skaliere das ganze Geodreieck
+%-------------------------------------------------------------------------------------------------------------
+gsave
+%-------------------------------------------------------------------------------------------------------------
+%-------------- Füllung der beiden inneren Bereiche und äußere Begrenzung des Lineals -----------------------------------------------
+gsave
+ newpath
+ -0.2 cm 0 moveto
+ 30.4 cm 0 rlineto
+ 0 cm -0.9 cm rlineto
+ -30.4 cm 0 cm rlineto
+ closepath
+ gsave
+ \pst@usecolor\RulerFillCol
+% [ /ca .25 /SetTransparency pdfmark % set transparency
+ 0.25 .setopacityalpha sysfill
+ grestore
+grestore
+%-------------------------------------------------------------------------------------------------------------
+gsave
+ newpath
+ -0.2 cm 0 moveto
+ 30.2 cm 0 lineto
+ 0 cm -3 cm rlineto
+ -30.4 cm 0 cm rlineto
+ closepath
+ 3.75 cm -1.5 cm moveto
+ 3.5 cm -1.5 cm 0.25 cm 0 360 arc
+ closepath
+ gsave
+ \pst@usecolor\RulerFillCol
+% [ /ca .15 /SetTransparency pdfmark % set transparency
+ 0.15 .setopacityalpha sysfill
+ grestore
+ gsave
+% 2 setlinejoin
+ 0.7 setlinewidth
+ 0.1 setgray
+ stroke
+ grestore
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%-------------- Millimetereinteilung auf der Grundseite -------------------------------------------
+ /mmBlinie { newpath
+ 0 cm 0 cm moveto
+ 0 cm -0.25 cm rlineto
+ gsave
+ 0.5 setlinewidth
+ 0 setgray
+ stroke
+ grestore
+ 0.1 cm 0 cm translate
+ } def
+gsave
+300 {mmBlinie} repeat
+grestore
+%-------------------------------------------------------------------------------------------------------------
+%-------------- 0,5- cm-Einteilung auf der Grundseite ----------------------------------------------
+ /cmBlinie { newpath
+ 0.5 cm 0 cm moveto
+ 0 cm -0.375 cm rlineto
+% closepath
+ gsave
+ 0.55 setlinewidth
+ 0 setgray
+ stroke
+ grestore
+ 1 cm 0 cm translate
+ } def
+gsave
+ 30 {cmBlinie} repeat
+grestore
+%-------------- 1- cm-Einteilung auf der Grundseite ----------------------------------------------
+ /cmBlinie { newpath
+ 0 cm 0 cm moveto
+ 0 cm -0.5 cm rlineto
+% closepath
+ gsave
+ 0.6 setlinewidth
+ 0 setgray
+ stroke
+ grestore
+ 1 cm 0 cm translate
+ } def
+gsave
+ 31 {cmBlinie} repeat
+grestore
+%--------------------------------------------------------------------------------------------------------------------------------------------------
+%------------------------- Definition für horizontal-zentriertes - Setzen der cm- Zahlen (180° gedreht) ------------------------
+ /cmshow {% (string) x y
+ gsave
+ moveto % s
+ /NimbusRomNo9L-Regu findfont 8 scalefont setfont
+ dup % s s
+ stringwidth pop 2 div neg 0 % s -dx/2
+ rmoveto 0.2 setgray show
+ grestore
+ } bind def
+%------------------------- Setzen der Zahlen für die cm-Einteilungen -----------------------------------------------------------------
+ 0 1 30 { /MZ exch def MZ 2 string cvs MZ cm -0.78 cm cmshow } for %---------------- Zahlen 0 bis 30 (nach rechts)
+%-------------------------------------------------------------------------------------------------------------
+%--------------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- Ende nur grestore von gsave ganz am Anfang ------------------
+grestore
+}%
+\endgroup%
+\end@SpecialObj\ignorespaces
+}%
+
+\definecolor{PoCRed}{rgb}{0.7,0.134,0.134}
+\define@boolkey[psset]{pst-geometrictools}[Pst@]{MCAngle}[true]{}
+\define@key[psset]{pst-geometrictools}{PoCLength}[5]{\def\pst@PoCLength{#1 }}
+\define@key[psset]{pst-geometrictools}{PoCAngle}[0]{\def\pst@PoCAngle{#1 }}
+\define@key[psset]{pst-geometrictools}{PoCFillCol}[PoCRed]{\pst@getcolor{#1}\PoCFillCol}
+\define@key[psset]{pst-geometrictools}{PoCMineCol}[black!80]{\pst@getcolor{#1}\PoCMineCol}
+\define@key[psset]{pst-geometrictools}{PoCScale}[1]{\def\pst@PoCScale{#1 }}%
+\define@key[psset]{pst-geometrictools}{RadVS}[RVS]{\def\pst@RadVS{#1}}%
+\define@key[psset]{pst-geometrictools}{AngleVS}[AVS]{\def\pst@AngleVS{#1}}%
+\define@key[psset]{pst-geometrictools}{RadMul}[1]{\def\pst@RadMul{#1 }}%
+\psset[pst-geometrictools]{PoCScale=1,PoCFillCol=PoCRed,PoCAngle=0,PoCMineCol=black!80,PoCLength=5,MCAngle=true,RadVS=RVS,AngleVS=AVS,RadMul=1}
+
+\def\psCompass{\def\pst@par{}\pst@object{psCompass}}% Pair of Compasses
+\def\psCompass@i#1(#2){\@ifnextchar(%
+{\psCompass@ii{0}(#2)}%
+{\psCompass@ii{#1}(#2)(#2)}}%
+\def\psCompass@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
+\begin@SpecialObj
+\pst@killglue
+\begingroup%
+\pnode(#2){@PGD}%
+\pnode(#3){@QGD}%
+\use@par%
+\pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
+\pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
+\addto@pscode{%
+ \pst@RadMul /faktor ED
+ \pst@PoCScale /skal ED
+ #1 skal div 2 div /Radius ED
+ skal dup scale % -------- Skaliere das ganze Geodreieck
+ /sysfill {systemdict /fill get exec} def
+ /SLg \pst@PoCLength def
+ /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
+ \pst@tempA\tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
+ \pst@tempB\tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
+ \pst@tempA\pst@coor /@y3 ED /@x3 ED
+ @y1 @y2 sub dup mul @x1 @x2 sub dup mul add faktor dup mul mul /quadlg ED
+ quadlg 0 eq { 180 } { @y1 @y2 sub @x1 @x2 sub atan } ifelse /@delta ED %------------ Winkelberechnung
+ quadlg sqrt 2 div /RadiusPktB ED %------------ Radiusberechnung mit zweitem Punkt
+ SLg RadiusPktB Radius add gt { RadiusPktB Radius add } { SLg } ifelse /RadPoC ED
+ /hoehe SLg dup mul RadPoC dup mul sub sqrt def
+ /phiS RadPoC hoehe atan def
+ @x3 @y3 T % ------------------------------------------------------------------------------- Transformiere den Koordinatenursprung in P
+ \pst@PoCAngle\space \ifPst@MCAngle\space @delta add 180 add \fi rotate % ------------------------------ Drehe das gesamte Geodreieck
+%-------------------------------------------------------------------------------------------------------------
+gsave
+%-------------------------------------------------------------------------------------------------------------
+%-------------- Linke Zirkelspitze----------------------------------------------- 0 cm 0 cm 0.15 cm 0 360 arc
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm 0 cm moveto
+ -0.1 cm 0.33 cm lineto
+ 0.07 cm 0 cm rlineto
+ closepath
+ gsave
+ 0.5 setgray
+ fill
+ grestore
+grestore
+%---------------------------------------- rechte Zirkel-Mine --------------------------------------
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm T
+ phiS 2 mul rotate
+ 0 cm SLg neg cm moveto
+ 0.06 cm 0.1 cm rlineto
+ 0.013 cm 0.2 cm rlineto
+ -0.06 cm 0 cm rlineto
+ closepath
+ gsave
+ \pst@usecolor\PoCMineCol
+ fill
+ grestore
+grestore
+%---------------------------------------- Spindel --------------------------------------
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ -2 cm -1 phiS cos mul cm rmoveto
+ 4 cm 0 cm rlineto
+ gsave
+ 0.5 setgray
+ 1.6 setlinewidth
+ stroke
+ grestore
+grestore
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ -2 cm -1 phiS cos mul cm rmoveto
+ 0.2 -0.75 rmoveto
+ 189 { 0.5 1.5 rlineto
+ 0.1 -1.5 rmoveto } repeat
+ gsave
+ 0.2 setgray
+ 0.2 setlinewidth
+ stroke
+ grestore
+grestore
+%---------------------------------------- Drehrad an der Spindel --------------------------------------
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ 0 cm -1.3 phiS cos mul cm rmoveto
+ 0 cm 0.6 cm rlineto
+ gsave
+ 0.5 setgray
+ 0.08 cm setlinewidth
+ stroke
+ grestore
+grestore
+gsave
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ -0.04 cm -1.28 phiS cos mul cm rmoveto
+ 20 { 0.08 cm 0 cm rlineto
+ -0.08 cm 0.03 cm rmoveto } repeat
+ gsave
+ 0.3 setgray
+ 0.2 setlinewidth
+ stroke
+ grestore
+grestore
+gsave
+%---------------------------------------- Halterung zum Anfassen --------------------------------------
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ 0 cm 0.75 0.54 phiS sin mul add cm moveto
+ 0 cm 0.2 cm rlineto
+ gsave
+ 0.5 setgray
+ 3 setlinewidth
+ stroke
+ grestore
+grestore
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ 0 cm 0.95 0.54 phiS sin mul add cm moveto
+ 0 cm 0.05 cm rlineto
+ gsave
+ \pst@usecolor\PoCFillCol
+ 5 setlinewidth
+ stroke
+ grestore
+grestore
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ 0 cm 1.0 0.54 phiS sin mul add cm moveto
+ 0 cm 0.5 cm rlineto
+ gsave
+ 0.5 setgray
+ 5 setlinewidth
+ stroke
+ grestore
+grestore
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ -0.08 cm 1.0 0.6 phiS sin mul add cm moveto
+ 0 cm 0.48 cm rlineto
+ 6 { 0.025 cm -0.48 cm rmoveto
+ 0 cm 0.48 cm rlineto } repeat
+ gsave
+ 0.65 setgray
+ 0.15 setlinewidth
+ stroke
+ grestore
+grestore
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ -0.075 cm 1.0 0.6 phiS sin mul add cm moveto
+ 0 cm 0.48 cm rlineto
+ 6 { 0.025 cm -0.48 cm rmoveto
+ 0 cm 0.48 cm rlineto } repeat
+ gsave
+ 0.25 setgray
+ 0.2 setlinewidth
+ stroke
+ grestore
+grestore
+%---------------------------------------- Kreis um oberen Teil --------------------------------------
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm T
+ phiS rotate
+ 0 cm 0.1 0.54 phiS sin mul add cm moveto
+ 0.65 -50 PtoC exch cm exch cm rmoveto
+ 0 cm 0.1 0.54 phiS sin mul add cm 0.65 cm -50 230 arc
+ gsave
+ 0.1 setgray
+ 1.3 setlinewidth
+ stroke
+ grestore
+grestore
+%---------------------------------------- Kreis zwischen den Schenkeln --------------------------------------
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm moveto
+ 0 cm SLg cm 0.15 cm 0 360 arc
+ closepath
+ gsave
+ 0.1 setgray
+ fill
+ grestore
+grestore
+%---------------------------------------- Schenkel des Zirkels ----------------------------------------------------
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm 0.3 cm moveto
+ -0.3 cm SLg 0.1 add cm lineto
+ 0 cm SLg cm T
+ phiS 2 mul rotate
+ 0.3 cm 0.1 cm moveto
+ 0 cm SLg 0.3 sub neg cm lineto
+% closepath
+ gsave
+ 0.285 cm setlinewidth
+ 2 setlinejoin
+ \pst@usecolor\PoCFillCol
+ stroke
+ grestore
+grestore
+gsave
+ newpath
+ phiS neg rotate
+ -0.17 cm SLg 0.6 mul cm moveto
+ -0.25 cm SLg 0.85 mul cm lineto
+ 0 cm SLg cm T
+ phiS 2 mul rotate
+ 0.17 cm SLg -0.4 mul cm moveto
+ 0.25 cm SLg -0.15 mul cm lineto
+% closepath
+ gsave
+ 0.17 cm setlinewidth
+ 2 setlinejoin
+ 0.4 setgray
+ stroke
+ grestore
+grestore
+%---------------------------------------- Kreis an der linken Spitze --------------------------------------
+gsave
+ newpath
+ phiS neg rotate
+ -0.03 cm 0.8 cm moveto
+ -0.03 cm 0.8 cm 0.175 cm 0 360 arc
+ closepath
+ gsave
+ 0.25 setgray
+ fill
+ grestore
+grestore
+gsave
+ newpath
+ phiS neg rotate
+ -0.03 cm 0.8 cm moveto
+ -0.03 cm 0.8 cm 0.025 cm 0 360 arc
+ closepath
+ gsave
+ 0.8 setgray
+ fill
+ grestore
+grestore
+%---------------------------------------- Kreis an der rechten Spitze --------------------------------------
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm T
+ phiS 2 mul rotate
+ 0.03 cm 0 cm T
+ 0 cm SLg 0.8 sub neg cm moveto
+ 0 cm SLg 0.8 sub cm neg 0.175 cm 0 360 arc
+ closepath
+ gsave
+ 0.25 setgray
+ fill
+ grestore
+grestore
+gsave
+ newpath
+ phiS neg rotate
+ 0 cm SLg cm T
+ phiS 2 mul rotate
+ 0.03 cm 0 cm T
+ 0 cm SLg 0.8 sub neg cm moveto
+ 0 cm SLg 0.8 sub cm neg 0.025 cm 0 360 arc
+ closepath
+ gsave
+ 0.8 setgray
+ fill
+ grestore
+grestore
+%--------------------------------------------------------------------------------------------------------------------------------------------------
+%--------------- Ende nur grestore von gsave ganz am Anfang ------------------
+grestore
+}%
+\pnode(!
+ \pst@tempA \tx@UserCoor /@@y1 ED /@@x1 ED
+ \pst@tempB \tx@UserCoor /@@y2 ED /@@x2 ED
+ @@x1 @@x2 sub @@y1 @@y2 sub Pyth \pst@RadMul\space mul /\pst@RadVS\space exch def
+ @@y1 @@y2 sub dup mul @@x1 @@x2 sub dup mul add \pst@RadMul dup mul mul /quadlg ED
+ quadlg 0 eq { 180 } { @@y1 @@y2 sub @@x1 @@x2 sub atan } ifelse /\pst@AngleVS\space exch def %------------ Winkelberechnung /\pst@AngleVS\space exch def
+ 0 0){MoneyforNothing}%
+\endgroup%
+\end@SpecialObj\ignorespaces%
+}%
+
+%\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ruler}[true]{}
+%\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ppoint}[false]{}
+%\define@boolkey[psset]{pst-geometrictools}[Pst@]{LineOffset}[false]{}
+%\define@key[psset]{pst-geometrictools}{AddAngle}[0]{\def\pst@AddAngle{#1 }}%
+%\psset[pst-geometrictools]{Ruler=true,Ppoint=false,AddAngle=0,LineOffset=false}
+
+%% Distance between two points => #3
+\def\psDistAB(#1)(#2)#3{%
+ \pst@getcoor{#1}\pst@tempA
+ \pst@getcoor{#2}\pst@tempB
+\pnode(!
+ \pst@tempA \tx@UserCoor
+ \pst@tempB \tx@UserCoor
+ 3 -1 roll sub dup mul 3 1 roll sub dup mul add sqrt
+ /#3 ED
+ 0 0
+ ){XX}
+}
+%% calcule l'angle entre Ox et AB et le place en #3
+\def\psAngleAB(#1)(#2)#3{%
+ \pst@getcoor{#1}\pst@tempA
+ \pst@getcoor{#2}\pst@tempB
+\pnode(!
+ \pst@tempA \tx@UserCoor
+ \pst@tempB \tx@UserCoor
+ 3 -1 roll sub 3 1 roll exch sub Atan
+ /#3 ED
+ 0 0
+ ){YY}
+}%
+%% angle defined by three points
+\def\psAngleAOB(#1)(#2)(#3)#4{%
+ \pst@getcoor{#1}\pst@tempA
+ \pst@getcoor{#2}\pst@tempB
+ \pst@getcoor{#2}\pst@tempC
+\pnode(!
+ \pst@tempA \tx@UserCoor
+ \pst@tempB \tx@UserCoor
+ \pst@tempC \tx@UserCoor
+ 4 copy exch 4 -1 roll mul
+ 3 -2 roll mul add
+ 4 -2 roll mul 4 -2 roll mul sub exch Atan
+ /#4 ED
+ 0 0
+ ){ZZ}
+}
+
+% la nouvelle version de \psParallels
+\define@key[psset]{pst-geometrictools}{DistCoeff}[1]{\def\pst@DistCoeff{#1 }}%
+\psset[pst-geometrictools]{DistCoeff=1}
+%
+\def\psParallels{\def\pst@par{}\pst@object{psParallels}}
+\def\psParallels@i(#1)(#2)(#3){%
+% \begin@SpecialObj
+ \pst@killglue
+ \begingroup
+ \use@par
+ \pnode(#1){pointA}%
+ \pnode(#2){pointB}%
+ \pnode(#3){pointC}%
+ \pcline[nodesep=-3](pointA)(pointB)
+ \psdots(pointA)(pointB)(pointC)
+% \uput[l](pointA){A}\uput[l](pointB){B}\uput[r](pointC){C}
+%
+ \psProtractor[Ghost]{0}(pointA)%
+ \psAngleAB(pointA)(pointB){alpha1}
+ \psAngleAB(pointA)(GeodrA){alpha2}
+% \psdot(GeodrA)\uput[-90](GeodrA){A'}% right edge of triangle
+ \psProtractor[Ghost]{alpha1 alpha2 sub }(pointA)%
+% \psdot(GeodrA)\uput[-90](GeodrA){A''}% right edge of triangle
+% \psdot(GeodrB)\uput[-90](GeodrB){B''}% left edge of triangle
+% \psdot(GeodrC)\uput[-90](GeodrC){C''}% bottom edge of triangle
+ \psRuler{0}(GeodrB)(GeodrC)
+%
+ \pstProjection[PointName={},PointSymbol=none]{pointA}{pointB}{pointC}[pointI]%
+ \pstRotation[RotAngle=45,PointSymbol=none,PointName={}]{pointC}{pointI}[pointJ]%
+ \pstInterLL[PointSymbol=none,PointName={}]{pointA}{pointB}{pointC}{pointJ}{pointK}%
+ \pstTranslation[PointSymbol=none,PointName={},DistCoef=\pst@DistCoeff]{pointK}{pointC}{pointA}[pointA*]
+ \psProtractor{alpha1 alpha2 sub}(pointA*)%
+ \endgroup
+ \ignorespaces%
+}%
+
+%\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ruler}[true]{}
+%\define@boolkey[psset]{pst-geometrictools}[Pst@]{Ppoint}[false]{}
+%\define@boolkey[psset]{pst-geometrictools}[Pst@]{LineOffset}[false]{}
+%\define@key[psset]{pst-geometrictools}{AddAngle}[1]{\def\pst@AddAngle{#1 }}%
+%\psset[pst-geometrictools]{Ruler=true,Ppoint=false,AddAngle=0,LineOffset=false}
+%\def\psParallels{\def\pst@par{}\pst@object{psParallels}}
+%\def\psParallels@i(#1)(#2)(#3){%
+%\psset{saveNodeCoors,NodeCoorPrefix=n}%
+%\@ifundefined{rCounter}{\def\rCounter{1}}{}%
+%\begin@SpecialObj %
+%\pnode(#1){pointA}%
+%\pnode(#2){pointB}%
+%\pnode(#3){pointC}%
+%\pstProjection[PointName={},PointSymbol=none]{pointA}{pointB}{pointC}[pointI]%
+%\midAB(pointA)(pointB){pointM}%
+%\pstRotation[RotAngle=45,PointSymbol=none,PointName={}]{pointC}{pointI}[pointJ]%
+%\pstInterLL[PointSymbol=none,PointName={}]{pointA}{pointB}{pointC}{pointJ}{pointK}%
+%\AtoB(pointI)(pointC){IC}%
+%\AtoB(pointK)(pointC){KC}%
+%\AplusB(pointM)(KC){MT}%
+%\AplusB(pointB)(KC){BT}%
+%\psProtractor[Ghost]{0}(pointM)(pointB)%
+%\pnode(GeodrB){ProB}%
+%\pnode(GeodrC){ProC}%
+%\psLDNode(ProB)(ProC){-1cm}{pointE}%
+%\ifPst@Ruler\psRuler{0}(pointE)(GeodrC)\fi%
+%\AplusB(ProB)(KC){ProB*}%
+%\pst@Verb{ nKCx nKCy Pyth /laenge exch def %
+%nKCx laenge div \pst@number\pslinewidth\space 2 div 0.35 \pst@ProScale mul add mul 28.45274 div 2 sqrt mul /delX exch def %
+%nKCy laenge div \pst@number\pslinewidth\space 2 div 0.35 \pst@ProScale mul add mul 28.45274 div 2 sqrt mul /delY exch def
+%}%
+%\pnode(!nProB*x delX add nProB*y delY add ){GProB*}%
+%\pnode(!/AddA \pst@AddAngle def nProB*x AddA 0 eq { delX add } { AddA 180 eq { delX sub } { 0 add } ifelse } ifelse nProB*y AddA 0 eq { delY add } { AddA 180 eq { delY sub } { 0 add } ifelse } ifelse ){GProBC*}%
+%\pnode(!nMTx delX add nMTy delY add){GMT*}%
+%\pnode(!/AddA \pst@AddAngle def npointCx AddA 0 eq { delX add } { AddA 180 eq { delX sub } { 0 add } ifelse } ifelse npointCy AddA 0 eq { delY add } { AddA 180 eq { delY sub } { 0 add } ifelse } ifelse ){pointC*}%
+%\psLNode(pointM)(GMT*){\rCounter}{MPro}%
+%\psLNode(ProB)(GProB*){\rCounter}{BPro}%
+%\ifPst@Ppoint
+%\ifPst@LineOffset
+%\pst@Verb{ nICx nICy Pyth /laenge exch def %
+%nICx laenge div \pst@number\pslinewidth\space 2 div 0.35 \pst@ProScale mul add mul 28.45274 div 2 sqrt mul /delX exch def %
+%nICy laenge div \pst@number\pslinewidth\space 2 div 0.35 \pst@ProScale mul add mul 28.45274 div 2 sqrt mul /delY exch def %
+%}%
+%\pnode(!/AddA \pst@AddAngle def nProB*x AddA 0 eq { delX add } { AddA 180 eq { delX sub } { 0 add } ifelse } ifelse nProB*y AddA 0 eq { delY add } { AddA 180 eq { delY sub } { 0 add } ifelse } ifelse ){GProBC*}%
+%\pnode(!/AddA \pst@AddAngle def npointCx AddA 0 eq { delX add } { AddA 180 eq { delX sub } { 0 add } ifelse } ifelse npointCy AddA 0 eq { delY add } { AddA 180 eq { delY sub } { 0 add } ifelse } ifelse ){pointC*}%
+%\psProtractor{\pst@AddAngle}(pointC*)(GProBC*)\else%
+%\psProtractor{\pst@AddAngle}(pointC)(ProB*)\fi%
+%\else
+%\psProtractor{\pst@AddAngle}(MPro)(BPro)\fi % Um die Liniendicke 0.8pt nach rechts versetzt
+%\psLNode(pointC)(ProB*){0.98}{ProB**}%
+%\psLNode(pointC)(ProB**){2}{C*}%
+%\end@SpecialObj\ignorespaces%
+%}%
+
+\catcode`\@=\PstAtCode\relax
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/ccfonts/LICENSE b/macros/latex/contrib/ccfonts/LICENSE
new file mode 100644
index 0000000000..4db9b5af29
--- /dev/null
+++ b/macros/latex/contrib/ccfonts/LICENSE
@@ -0,0 +1,415 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
diff --git a/macros/latex/contrib/ccfonts/README b/macros/latex/contrib/ccfonts/README
index 561711effc..3eb335ab98 100644
--- a/macros/latex/contrib/ccfonts/README
+++ b/macros/latex/contrib/ccfonts/README
@@ -6,22 +6,25 @@
* *
************************************************************
Copyright (c) Walter Schmidt 1997--2020
+Copyright (c) Keiran Harcombe 2021 -
-This program may be distributed and/or modified under the
+This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
-version 1.2 of this license or (at your option) any later
+version 1.3 of this license or (at your option) any later
version. The latest version of this license is in
-http://www.latex-project.org/lppl.txt and version 1.2 or
+http://www.latex-project.org/lppl.txt and version 1.3 or
later is part of all distributions of LaTeX version
-1999/12/01 or later.
+2005/12/01 or later.
+
+This work has the LPPL maintenance status 'maintained'
This program consists of the files ccfonts.dtx, cc.fdd and
ccfonts.ins.
-
What's new?
===========
+2021/12/13: New package maintainer is Keiran Harcombe. This is being done in the memory of Walter Schmidt.
2020/03/25: (UF) adapted boldsans version to new LaTeX handling of series defaults.
see https://github.com/latex3/latex2e/issues/299
2000/05/30: bug fix wrt/ amsfonts.sty
@@ -157,7 +160,7 @@ Comments, bug reports and suggestions
... are welcome and should be addressed to the author:
-Walter Schmidt <walter.schmidt@arcormail.de>
+Keiran Harcombe <kjh@harcombe.net>
%% end of file `readme'
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
index 3e1eda8955..1acedf0c61 100644
--- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+++ b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index 1dd88a757a..ba5e7d5675 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -3,7 +3,7 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfCollege}[2021/11/01 v0.99-i Aide pour l'utilisation de LaTeX au collège]
+\ProvidesPackage{ProfCollege}[2022/01/01 v0.99-j Aide pour l'utilisation de LaTeX au collège]
\RequirePackage{verbatim}
@@ -830,13 +830,17 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
%%%
% Bon de sortie
%%%
+\newcommand\BonSortieBandeau{%
+ Nom : \hfill Date : \hspace*{3cm}
+}
+
\newtcolorbox{Sortie}{%
%Titre
colbacktitle=white,
fonttitle=\color{black}\Large\bfseries,
toptitle=2mm,
bottomtitle=2mm,
- title={Nom : \hfill Date : \hspace*{3cm}},
+ title={\BonSortieBandeau},
%%Cadre principal
enhanced,
nobeforeafter,
@@ -1245,6 +1249,65 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
}%
}%
+\setKVdefault[DefiTable]{Solution=false,Math=false,LargeurT=5mm}
+
+\newcommand\DefiTable[2][]{%
+ % 1 les clés
+ % 2 la table de décodage
+ \useKVdefault[DefiTable]%
+ \setKV[DefiTable]{#1}%
+ \setsepchar[*]{§* }%
+ \readlist*\ListeDefiTableCode{#2}%
+ \begin{NiceTabular}{>{\columncolor{gray!15}}{c}*{10}{c}}[hvlines]
+ \rowcolor{gray!15}$\times$&\xintFor* ##1 in {\xintSeq {1}{10}}\do{%
+ \xintifForFirst{}{&}##1}
+ \\
+ 1\xintFor* ##1 in {\xintSeq {1}{10}}\do{%
+ &\ListeDefiTableCode[1,##1]%
+ }\\
+ \xintFor* ##1 in {\xintSeq {2}{9}}\do{%
+ ##1\xintFor* ##2 in {\xintSeq {1}{##1}}\do{%
+ &\ListeDefiTableCode[##2,\fpeval{##1-##2+1}]%
+ }\xintFor* ##2 in {\xintSeq {1}{\fpeval{10-##1}}}\do{%
+ &\ListeDefiTableCode[##1,\fpeval{##2+1}]%
+ }%
+ \\
+ }%
+ 10&\ListeDefiTableCode[1,10]&\ListeDefiTableCode[2,9]&\ListeDefiTableCode[3,8]&\ListeDefiTableCode[4,7]&\ListeDefiTableCode[5,6]&\ListeDefiTableCode[6,5]&\ListeDefiTableCode[7,4]&\ListeDefiTableCode[8,3]&\ListeDefiTableCode[9,2]&\ListeDefiTableCode[10,1]\\
+ \end{NiceTabular}%
+}%
+
+\newcommand\DefiTableTexte[3][]{%
+ \useKVdefault[DefiTable]%
+ \setKV[DefiTable]{#1}%
+ \setsepchar[*]{§*/}%
+ \readlist*\ListeDefiTableTableau{#2}%
+ \xdef\ListeDefiTableMax{0}%
+ \setsepchar{§}%
+ \readlist*\ListeDefiTablePhrase{#3}%
+ \foreachitem\compteur\in\ListeDefiTableTableau{%
+ \xintifboolexpr{\ListeDefiTableMax<\listlen\ListeDefiTableTableau[\compteurcnt]}{\xdef\ListeDefiTableMax{\fpeval{\listlen\ListeDefiTableTableau[\compteurcnt]}}}{}%
+ }%
+ \begin{NiceTabular}{*{\fpeval{\ListeDefiTableMax}}{>{\centering\arraybackslash}m{\useKV[DefiTable]{LargeurT}}}}
+ \xintFor* ##1 in {\xintSeq {1}{\fpeval{\ListeDefiTableTableaulen}}}\do{%
+ \xintFor* ##2 in {\xintSeq {1}{\listlen\ListeDefiTableTableau[##1]}}\do{%
+ \xintifForFirst{}{&}\ifboolKV[DefiTable]{Solution}{%
+ \StrMid{\ListeDefiTablePhrase[##1]}{##2}{##2}[\DefiTableMaLettre]%
+ \IfStrEq{\DefiTableMaLettre}{*}{\Block[]{2-1}{}}{\Block[borders={bottom}]{2-1}{\StrMid{\ListeDefiTablePhrase[##1]}{##2}{##2}}}%
+ }{%
+ \IfStrEq{\ListeDefiTableTableau[##1,##2]}{*}{\Block[]{2-1}{}}{\Block[borders={bottom}]{2-1}{}}%
+ }%%
+ }\\
+ \xintFor* ##2 in {\xintSeq {1}{\listlen\ListeDefiTableTableau[##1]}}\do{%
+ \xintifForFirst{}{&}
+ }\\
+ \xintFor* ##2 in {\xintSeq {1}{\listlen\ListeDefiTableTableau[##1]}}\do{%
+ \xintifForFirst{}{&}\IfStrEq{\ListeDefiTableTableau[##1,##2]}{*}{}{\footnotesize\ifboolKV[DefiTable]{Math}{\ListeDefiTableTableau[##1,##2]}{\num{\ListeDefiTableTableau[##1,##2]}}}%
+ }\\
+ }%
+ \end{NiceTabular}%
+}%
+
%%%
% Rangement des nombres
%%%
@@ -1512,7 +1575,7 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
%%%
% Triominos
%%%
-\setKVdefault[ClesTriomino]{Longueur=5cm,Etages=3,AffichagePiece=false}%
+\setKVdefault[ClesTriomino]{Longueur=5cm,Etages=3,Ecart=0.6,AffichagePiece=false,Hexagone=false,Recapitulatif=false,Colonnes=2}%
\defKV[ClesTriomino]{Piece=\setKV[ClesTriomino]{AffichagePiece=true}}%
\def\TraceTriomino#1{%
@@ -1636,6 +1699,222 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\fi
}
+\def\TraceTriominoHexa#1{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[ClesTriomino]{Longueur};
+ RayonCercle:=u;
+ Rayon:=\useKV[ClesTriomino]{Ecart}*0.5*u*sqrt(3)/6;
+ pair O,A,B,C,D,E,F,G,H[],I[];
+ O=(0,0);
+ path cc;
+ cc=cercles(O,RayonCercle);
+ A=pointarc(cc,0);
+ B=rotation(A,O,60);
+ C=rotation(B,O,60);
+ D=rotation(C,O,60);
+ E=rotation(D,O,60);
+ F=rotation(E,O,60);
+ G=rotation(F,O,60);
+ H1=iso(A,B);
+ H2=iso(B,C);
+ H3=iso(C,D);
+ H4=iso(D,E);
+ H5=iso(E,F);
+ H6=iso(F,A);
+ I1=iso(C,1/2[C,D],rotation(1/2[C,D],C,60));
+ I2=symetrie(I1,C,F);
+ I3=symetrie(I2,1/2[B,C],1/2[D,E]);
+ I4=symetrie(I3,1/2[B,C],1/2[F,A]);
+ I5=symetrie(I4,B,E);
+ I6-I1=0.5*(D-C);
+ I7-I2=0.5*(D-C);
+ I8-I3=0.5*(D-C);
+ I9-I4=0.5*(D-C);
+ I10-I5=0.5*(D-C);
+ I11=symetrie(I10,1/2[C,B],1/2[F,A]);
+ I12=symetrie(I11,1/2[A,B],1/2[E,F]);
+ I13=symetrie(I6,A,D);
+ I14=symetrie(I7,A,D);
+ I15=symetrie(I8,A,D);
+ I16=symetrie(I9,A,D);
+ I17=symetrie(I10,A,D);
+ I18=symetrie(I11,A,D);
+ I19=symetrie(I12,A,D);
+ I20=symetrie(I1,A,D);
+ I21=symetrie(I2,A,D);
+ I22=symetrie(I3,A,D);
+ I23=symetrie(I4,A,D);
+ I24=symetrie(I5,A,D);
+ trace polygone(A,B,C,D,E,F);
+ trace polygone(H1,H3,H5);
+ trace polygone(H2,H4,H6);
+ trace segment(A,D);
+ trace segment(B,E);
+ trace segment(C,F);
+ color N[];%Couleur pour garder l'orientation des textes...
+ N1=blue;
+ for l=2 upto 5:
+ if (l mod 2=0):
+ N[l]=green;
+ else:
+ N[l]=blue;
+ fi;
+ endfor;
+ for l=6 upto 12:
+ if (l mod 2=0):
+ N[l]=blue;
+ else:
+ N[l]=green;
+ fi;
+ endfor;
+ for l=13 upto 19:
+ if (l mod 2=0):
+ N[l]=blue;
+ else:
+ N[l]=green;
+ fi;
+ endfor;
+ for l=20 upto 24:
+ if (l mod 2=0):
+ N[l]=green;
+ else:
+ N[l]=blue;
+ fi;
+ endfor;
+ % affichage des textes
+ nba=0;
+ for p_=#1:
+ if (nba mod 3)=1:
+ if N[(nba div 3)+1]=blue:
+ label(TEX(p_) rotated 120,pointarc(cercles(I[(nba div 3)+1],Rayon),30));
+ else:
+ label(TEX(p_) rotated 180,pointarc(cercles(I[(nba div 3)+1],Rayon),90));
+ fi;
+ elseif (nba mod 3)=2:
+ if N[(nba div 3)+1]=blue:
+ label(TEX(p_),pointarc(cercles(I[(nba div 3)+1],Rayon),270));
+ else:
+ label(TEX(p_) rotated 60,pointarc(cercles(I[(nba div 3)+1],Rayon),330));
+ fi;
+ else:
+ if N[(nba div 3)+1]=blue:
+ label(TEX(p_) rotated 240,pointarc(cercles(I[(nba div 3)+1],Rayon),150));
+ else:
+ label(TEX(p_) rotated 300,pointarc(cercles(I[(nba div 3)+1],Rayon),210));
+ fi;
+ fi;
+ nba:=nba+1;
+ endfor;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={u:=\useKV[ClesTriomino]{Longueur};RayonCercle:=u; Rayon:=\useKV[ClesTriomino]{Ecart}*0.5*u*sqrt(3)/6;}]
+ pair O,A,B,C,D,E,F,G,H[],I[];
+ O=(0,0);
+ path cc;
+ cc=cercles(O,RayonCercle);
+ A=pointarc(cc,0);
+ B=rotation(A,O,60);
+ C=rotation(B,O,60);
+ D=rotation(C,O,60);
+ E=rotation(D,O,60);
+ F=rotation(E,O,60);
+ G=rotation(F,O,60);
+ H1=iso(A,B);
+ H2=iso(B,C);
+ H3=iso(C,D);
+ H4=iso(D,E);
+ H5=iso(E,F);
+ H6=iso(F,A);
+ I1=iso(C,1/2[C,D],rotation(1/2[C,D],C,60));
+ I2=symetrie(I1,C,F);
+ I3=symetrie(I2,1/2[B,C],1/2[D,E]);
+ I4=symetrie(I3,1/2[B,C],1/2[F,A]);
+ I5=symetrie(I4,B,E);
+ I6-I1=0.5*(D-C);
+ I7-I2=0.5*(D-C);
+ I8-I3=0.5*(D-C);
+ I9-I4=0.5*(D-C);
+ I10-I5=0.5*(D-C);
+ I11=symetrie(I10,1/2[C,B],1/2[F,A]);
+ I12=symetrie(I11,1/2[A,B],1/2[E,F]);
+ I13=symetrie(I6,A,D);
+ I14=symetrie(I7,A,D);
+ I15=symetrie(I8,A,D);
+ I16=symetrie(I9,A,D);
+ I17=symetrie(I10,A,D);
+ I18=symetrie(I11,A,D);
+ I19=symetrie(I12,A,D);
+ I20=symetrie(I1,A,D);
+ I21=symetrie(I2,A,D);
+ I22=symetrie(I3,A,D);
+ I23=symetrie(I4,A,D);
+ I24=symetrie(I5,A,D);
+ trace polygone(A,B,C,D,E,F);
+ trace polygone(H1,H3,H5);
+ trace polygone(H2,H4,H6);
+ trace segment(A,D);
+ trace segment(B,E);
+ trace segment(C,F);
+ color N[];%Couleur pour garder l'orientation des textes...
+ N1=blue;
+ for l=2 upto 5:
+ if (l mod 2=0):
+ N[l]=green;
+ else:
+ N[l]=blue;
+ fi;
+ endfor;
+ for l=6 upto 12:
+ if (l mod 2=0):
+ N[l]=blue;
+ else:
+ N[l]=green;
+ fi;
+ endfor;
+ for l=13 upto 19:
+ if (l mod 2=0):
+ N[l]=blue;
+ else:
+ N[l]=green;
+ fi;
+ endfor;
+ for l=20 upto 24:
+ if (l mod 2=0):
+ N[l]=green;
+ else:
+ N[l]=blue;
+ fi;
+ endfor;
+ % affichage des textes
+ nba=0;
+ for p_=#1:
+ if (nba mod 3)=1:
+ if N[(nba div 3)+1]=blue:
+ label(LATEX(p_) rotated 120,pointarc(cercles(I[(nba div 3)+1],Rayon),30));
+ else:
+ label(LATEX(p_) rotated 180,pointarc(cercles(I[(nba div 3)+1],Rayon),90));
+ fi;
+ elseif (nba mod 3)=2:
+ if N[(nba div 3)+1]=blue:
+ label(LATEX(p_),pointarc(cercles(I[(nba div 3)+1],Rayon),270));
+ else:
+ label(LATEX(p_) rotated 60,pointarc(cercles(I[(nba div 3)+1],Rayon),330));
+ fi;
+ else:
+ if N[(nba div 3)+1]=blue:
+ label(LATEX(p_) rotated 240,pointarc(cercles(I[(nba div 3)+1],Rayon),150));
+ else:
+ label(LATEX(p_) rotated 300,pointarc(cercles(I[(nba div 3)+1],Rayon),210));
+ fi;
+ fi;
+ nba:=nba+1;
+ endfor;
+ \end{mpost}
+ \fi
+}
+
\newtoks\toklisteTriomino%
\def\UpdatetoksTriomino#1\nil{\addtotok\toklisteTriomino{"#1",}}%
@@ -1645,19 +1924,36 @@ transform canvas={xshift=0em,yshift=0em}},rectangle,rounded corners,ultra thick,
\setsepchar{§}%\ignoreemptyitems%
\readlist*\ListeTriominos{#2}%
\toklisteTriomino{}%
- \ifboolKV[ClesTriomino]{AffichagePiece}{%
- \setKV[ClesTriomino]{Etages=1}%
- \TraceTriomino{"\ListeTriominos[\fpeval{3*\useKV[ClesTriomino]{Piece}-2}]","\ListeTriominos[\fpeval{3*\useKV[ClesTriomino]{Piece}-1}]","\ListeTriominos[\fpeval{3*\useKV[ClesTriomino]{Piece}}]"}%
+ \ifboolKV[ClesTriomino]{Recapitulatif}{%
+ %\begin{longtable}{|>{\centering}p{0.45\linewidth}|p{0.45\linewidth}|}
+ % \hline
+ % \xintFor* ##1 in {\xintSeq{1}{\ListeTriominoslen}}\do{
+ % &\\
+ % &\\
+ % \ListeTriominos[##1]&\\
+ % &\\
+ % &\\
+ % \hline
+ % }%
+ %\end{longtable}
}{%
- \foreachitem\compteur\in\ListeTriominos{\expandafter\UpdatetoksTriomino\compteur\nil}%
- \TraceTriomino{\the\toklisteTriomino}%
+ \ifboolKV[ClesTriomino]{AffichagePiece}{%
+ \setKV[ClesTriomino]{Etages=1}%
+ \TraceTriomino{"\ListeTriominos[\fpeval{3*\useKV[ClesTriomino]{Piece}-2}]","\ListeTriominos[\fpeval{3*\useKV[ClesTriomino]{Piece}-1}]","\ListeTriominos[\fpeval{3*\useKV[ClesTriomino]{Piece}}]"}%
+ }{%
+ \foreachitem\compteur\in\ListeTriominos{\expandafter\UpdatetoksTriomino\compteur\nil}%
+ \ifboolKV[ClesTriomino]{Hexagone}{%
+ \TraceTriominoHexa{\the\toklisteTriomino}%
+ }{%
+ \TraceTriomino{\the\toklisteTriomino}%
+ }%
+ }%
}%
}%
%%%
% Labyrinthe Nombre
%%%
-
\setKVdefault[ClesLabyNombre]{Multiple=5,XDepart=0,YDepart=0,Longueur=7,Largeur=4,XArrivee=6,YArrivee=3,Solution=false,Echelle=1,Angle=0,Couleur=red,Murs=false}
\newcommand\LabyNombre[1][]{%
@@ -2628,9 +2924,9 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\clearpage
\begin{tikzpicture}[remember picture,overlay]%
\ifboolKV[Autonomie]{AfficheMarge}{%
- \node[xshift=5mm,yshift=-5mm,circle] (A) at (current page.north west) {};
- \node[xshift=-5mm,yshift=5mm] (B) at (current page.south east) {};
- \draw[blue,dashed] (A) rectangle (B);
+ \node[xshift=5mm,yshift=-5mm,circle] (PfCA) at (current page.north west) {};
+ \node[xshift=-5mm,yshift=5mm] (PfCB) at (current page.south east) {};
+ \draw[blue,dashed] (PfCA) rectangle (PfCB);
}{}%
\foreach \i in {1,...,3}{
\coordinate[xshift=\i*0.25*\paperwidth] (A\i) at (current page.north west);%
@@ -2687,9 +2983,9 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\clearpage
\begin{tikzpicture}[remember picture,overlay]%
\ifboolKV[Autonomie]{AfficheMarge}{%
- \node[xshift=5mm,yshift=-5mm,circle] (A) at (current page.north west) {};
- \node[xshift=-5mm,yshift=5mm] (B) at (current page.south east) {};
- \draw[blue,dashed] (A) rectangle (B);
+ \node[xshift=5mm,yshift=-5mm,circle] (PfCA) at (current page.north west) {};
+ \node[xshift=-5mm,yshift=5mm] (PfCB) at (current page.south east) {};
+ \draw[blue,dashed] (PfCA) rectangle (PfCB);
}{}%
\foreach \i in {1,...,3}{%
\coordinate[xshift=\i*0.25*\paperwidth] (A\i) at (current page.north west);%
@@ -5966,9 +6262,10 @@ couleur indiquée, le nombre de cases donné par le résultat du calcul.
\ifboolKV[ClesDistributivite]{All}{%
\xdef\NomLettre{\useKV[ClesDistributivite]{NomExpression}}%
\xdef\NomFin{\useKV[ClesDistributivite]{Fin}}%
+ \xdef\NomVariable{\useKV[ClesDistributivite]{Lettre}}%
\xintFor* ##1 in {\xintSeq {1}{\useKV[ClesDistributivite]{Fin}-1}}\do
- {\NomLettre&=\Distri[Etape=##1]{#2}{#3}{#4}{#5}\\}%
- \NomLettre&=\Distri[Etape=\NomFin]{#2}{#3}{#4}{#5}%
+ {\NomLettre&=\Distri[Etape=##1,Lettre=\NomVariable]{#2}{#3}{#4}{#5}\\}%
+ \NomLettre&=\Distri[Etape=\NomFin,Lettre=\NomVariable]{#2}{#3}{#4}{#5}%
}{%
% Etape 1
\xintifboolexpr{\useKV[ClesDistributivite]{Etape}==1}{%
@@ -16163,13 +16460,13 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Grille=false,O
\xdef\Listedesvaleursaplacersurlademidroite{}%
\foreachitem\compteur\in\ListePointDroite{\expandafter\Updatetoksdemidroite\compteur\nil}%
\foreachitem\compteur\in\ListePointDroite{\xdef\Listedesvaleursaplacersurlademidroite{\Listedesvaleursaplacersurlademidroite,\ListePointDroite[\compteurcnt,1]}}%
- \Listedesvaleursaplacersurlademidroite%
+ %\Listedesvaleursaplacersurlademidroite%
\[\MPNewDEMIGraduee{\Listedesvaleursaplacersurlademidroite}{\the\toklistenompointdemidroite}\]%
}{%
\foreachitem\compteur\in\ListePointDroite{\expandafter\Updatetoksdemidroite\compteur\nil}%
\xdef\Listedesvaleursaplacersurlademidroite{}%
\foreachitem\compteur\in\ListePointDroite{\xdef\Listedesvaleursaplacersurlademidroite{\Listedesvaleursaplacersurlademidroite,\ListePointDroite[\compteurcnt,1]}}%
- \Listedesvaleursaplacersurlademidroite%
+ %\Listedesvaleursaplacersurlademidroite%
\[\MPNewDROITEGraduee{\Listedesvaleursaplacersurlademidroite}{\the\toklistenompointdemidroite}\]%
}%
}%
@@ -17862,7 +18159,10 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Grille=false,O
%%%
% Tableur
%%%
-\setKVdefault[Tableur]{Colonnes=4,Largeur=3,LargeurUn=3,Bandeau=true,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1}
+\setKVdefault[Tableur]{Colonnes=4,Largeur=3,LargeurUn=3,Bandeau=true,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1,Selection=false}%
+%Idee de P. Nuns
+\defKV[Tableur]{Couleur=\setKV[Tableur]{Selection}}%
+%
%Bas\'e sur un code de Christian T\'ell\'ech\'ea.
\makeatletter
@@ -17873,7 +18173,10 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Grille=false,O
\long\def\ifremain@lines#1\\#2\@nil{%
\csname @\ifx\@empty#2\@empty second\else first\fi oftwo\endcsname}
\long\def\subst@eol#1\\#2\@nil{\addtot@b{#1\\}%
- \ifremain@lines#2\\\@nil{\addtot@b&\subst@eol#2\@nil}{\addtot@b{#2\CodeAfter\xintifboolexpr{\useKV[Tableur]{Ligne}==0 || \useKV[Tableur]{Colonne}==0}{}{\tikz\draw[line width=2pt](row-\fpeval{\useKV[Tableur]{Ligne}+1}-|col-\fpeval{\useKV[Tableur]{Colonne}+1}) rectangle (row-\fpeval{\useKV[Tableur]{Ligne}+1+\useKV[Tableur]{PasL}}-|col-\fpeval{\useKV[Tableur]{Colonne}+1+\useKV[Tableur]{PasC}});}\end{NiceTabular}}}}
+ \ifremain@lines#2\\\@nil{\addtot@b&\subst@eol#2\@nil}{\addtot@b{#2\CodeAfter\xintifboolexpr{\useKV[Tableur]{Ligne}==0 || \useKV[Tableur]{Colonne}==0}{}{%
+ \tikz\node at (row-\fpeval{\useKV[Tableur]{Ligne}+1+\useKV[Tableur]{PasL}}-|col-\fpeval{\useKV[Tableur]{Colonne}+1+\useKV[Tableur]{PasC}}) {\tiny$\blacksquare$};%
+ }%
+ \end{NiceTabular}}}}%
\long\def\collectcp@body#1\end{\subst@eol#1\@nil\end}
\newcommand\addtot@b[1]{\t@b\expandafter{\the\t@b#1}}
@@ -17892,7 +18195,6 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Grille=false,O
\setlength{\LongInter}{\fpeval{\useKV[Tableur]{LargeurUn}+(\useKV[Tableur]{Colonnes}-2)*\useKV[Tableur]{Largeur}-4}em+\fpeval{\useKV[Tableur]{Colonnes}*2-6}\tabcolsep+\fpeval{\useKV[Tableur]{Colonnes}+1}\arrayrulewidth}%
\begin{NiceTabular}{p{\useKV[Tableur]{Largeur}em}p{1em}p{5em}p{\LongInter}}%
\Block[draw]{}{}\useKV[Tableur]{Cellule}&\Block[draw]{}{}\centering\arraybackslash\scriptsize$\blacktriangledown$&$f_x$\hfill$\sum$~\scriptsize$\blacktriangledown$\hfill$=$&\Block[draw]{}{}\useKV[Tableur]{Formule}\hfill\scriptsize$\blacktriangledown$\\
- %\cline{1-2}\cline{4-4}%
\end{NiceTabular}%
\nopagebreak
\\
@@ -17901,21 +18203,58 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Grille=false,O
\t@b{%
\begin{NiceTabular}{%
>{%
- \columncolor{gray!15}
\global\cntcol\z@\global\advance\cntlin\@ne
\centering\arraybackslash
- \ifnum\cntlin>\@ne\number\numexpr\cntlin-1\relax\fi}
+ \ifnum\cntlin>\@ne
+ \ifboolKV[Tableur]{Selection}{
+ \xintifboolexpr{\cntlin>\useKV[Tableur]{Ligne} && \cntlin<\fpeval{\useKV[Tableur]{Ligne}+\useKV[Tableur]{PasL}+1}}{\textcolor{white}{\number\numexpr\cntlin-1\relax}}{\number\numexpr\cntlin-1\relax}
+ }{\number\numexpr\cntlin-1\relax}\fi}
p{2em}Y*{\fpeval{\useKV[Tableur]{Colonnes}-1}}{X}}[hvlines]%
- \rowcolor{gray!15}}%
- \loop
- \ifnum\cntcol<\useKV[Tableur]{Colonnes}
- \advance\cntcol\@ne
- \addtot@b{&}%
- \edftot@b{{\noexpand\@Alph{\the\cntcol}}}%
- \repeat
- \addtot@b{\\&}%
- \collectcp@body}{\the\t@b}
- \makeatother
+ \CodeBefore
+ % on colorie en gris toute la première ligne
+ \tikz\draw[fill=gray!15](row-1-|col-1) rectangle (row-2-|last);%
+ % on colorie en gris toute la première colonne
+ \tikz\draw[fill=gray!15](row-1-|col-1) rectangle (last-|col-2);%
+ %
+ \xintifboolexpr{\useKV[Tableur]{Ligne}==0 || \useKV[Tableur]{Colonne}==0}{}{%
+ \ifboolKV[Tableur]{Selection}{%
+ \xdef\PfCTabCouleur{\useKV[Tableur]{Couleur}}%
+ % on colorie les cellules sans les tracer
+ \tikz\draw[fill=\PfCTabCouleur!50](row-\fpeval{\useKV[Tableur]{Ligne}+1}-|col-\fpeval{\useKV[Tableur]{Colonne}+1}) rectangle (row-\fpeval{\useKV[Tableur]{Ligne}+1+\useKV[Tableur]{PasL}}-|col-\fpeval{\useKV[Tableur]{Colonne}+1+\useKV[Tableur]{PasC}});%
+ % on trace la première cellule qui a servi à sélectionner
+ \tikz\draw[line width=1.25pt,fill=\PfCTabCouleur!50](row-\fpeval{\useKV[Tableur]{Ligne}+1}-|col-\fpeval{\useKV[Tableur]{Colonne}+1}) rectangle (row-\fpeval{\useKV[Tableur]{Ligne}+1+1}-|col-\fpeval{\useKV[Tableur]{Colonne}+1+1});%
+ % on colorie la zone nécessaire sur la première ligne
+ \tikz\draw[fill=\PfCTabCouleur](row-1-|col-\fpeval{\useKV[Tableur]{Colonne}+1}) rectangle (row-2-|col-\fpeval{\useKV[Tableur]{Colonne}+1+\useKV[Tableur]{PasC}});%
+ % on colorie la zone nécessaire sur la première colonne
+ \tikz\draw[fill=\PfCTabCouleur](row-\fpeval{\useKV[Tableur]{Ligne}+1}-|col-1) rectangle (row-\fpeval{\useKV[Tableur]{Ligne}+1+\useKV[Tableur]{PasL}}-|col-2);%
+ }{%
+ \tikz\draw[line width=1.25pt](row-\fpeval{\useKV[Tableur]{Ligne}+1}-|col-\fpeval{\useKV[Tableur]{Colonne}+1}) rectangle (row-\fpeval{\useKV[Tableur]{Ligne}+1+\useKV[Tableur]{PasL}}-|col-\fpeval{\useKV[Tableur]{Colonne}+1+\useKV[Tableur]{PasC}});%
+ }%
+ }%
+ \Body
+ %
+ }%
+ \loop%
+ \ifnum\cntcol<\useKV[Tableur]{Colonnes}%
+ \advance\cntcol\@ne%
+ \addtot@b{&}%
+ % modif by Pascal Nuns
+ \ifboolKV[Tableur]{Selection}{%
+ \ifnum \cntcol>\fpeval{\useKV[Tableur]{Colonne}-1}%
+ \ifnum \cntcol<\fpeval{\useKV[Tableur]{Colonne}+\useKV[Tableur]{PasC}}%
+ \edftot@b{{\noexpand\textcolor{white}{\noexpand\bfseries\@Alph{\the\cntcol}}}}%
+ \else%
+ \edftot@b{\@Alph{\the\cntcol}}%
+ \fi%
+ \else%
+ \edftot@b{\@Alph{\the\cntcol}}%
+ \fi%
+ }{\edftot@b{\@Alph{\the\cntcol}}}%
+ % fin de modif
+ \repeat
+ \addtot@b{\\&}%
+ \collectcp@body}{\the\t@b}
+\makeatother
%%%
% Domino
diff --git a/macros/latex/contrib/profcollege/metapost/datastest/FranceCQ.dat b/macros/latex/contrib/profcollege/metapost/datastest/FranceCQ.dat
deleted file mode 100644
index a9ff8bc279..0000000000
--- a/macros/latex/contrib/profcollege/metapost/datastest/FranceCQ.dat
+++ /dev/null
@@ -1,142 +0,0 @@
-47
-(2.31,48.85)
-"Paris"
-top
-(1.44278,43.6053)
-"Toulouse"
-ulft
-(0.619444,44.2042)
-"Agen"
-top
-(4.80889,43.9494)
-"Avignon"
-top
-(2.44056,44.9261)
-"Aurillac"
-top
-(5.366667,43.300000)
-"Marseille"
-top
-(4.850000,45.733333)
-"Lyon"
-top
-(3.0875,45.7806)
-"Clermont-Ferrand"
-top
-(4.39028,45.74347)
-"St Etienne"
-bot
-(-0.566667,44.833333)
-"Bordeaux"
-bot
-(0.160833,45.38)
-"Angouleme"
-lft
-(-1.15,46.1603)
-"La Rochelle"
-rt
-(-4.483333,48.383333)
-"Brest"
-top
-(-1.67944,48.1147)
-"Rennes"
-top
-(-0.36944,49.1831)
-"Caen"
-top
-(5.050000,47.316667)
-"Dijon"
-top
-(2.3775,51.0383)
-"Dunkerque"
-top
-(1.905,47.9031)
-"Orleans"
-top
-(0.100000,49.483333)
-"Le Havre"
-top
-(1.15333,49.0242)
-"Evreux"
-top
-(0.183333,48.000000)
-"Le Mans"
-top
-(0.689167,47.3936)
-"Tours"
-top
-(0.546111,46.8178)
-"Chatellerault"
-top
-(1.266667,45.933333)
-"Limoges"
-top
-(6.183333,49.116667)
-"Metz"
-top
-(-1.583333,47.200000)
-"Nantes"
-top
-(4.016667,49.266667)
-"Reims"
-top
-(7.74861,48.65)
-"Strasbourg"
-top
-(3.56778,47.7983)
-"Auxerre"
-top
-(3.05,50.6333)
-"Lille"
-top
-(1.06667,49.45)
-"Rouen"
-rt
-(5.7,45.2)
-"Grenoble"
-top
-(1.53333,45.16667)
-"Brive"
-top
-(1.45,44.45)
-"Cahors"
-top
-(0.36861,43.333)
-"Pau"
-top
-(2.8833,42.7)
-"Perpignan"
-top
-(-1.55,43.4833)
-"Biarritz"
-top
-(2.333,43.2167)
-"Carcassonne"
-top
-(3.87722,43.6119)
-"Montpellier"
-top
-(0.3333,46.5833)
-"Poitiers"
-top
-(2.21667,43.6167)
-"Castres"
-lrt
-(1.60778,42.9664)
-"Foix"
-top
-(9.45028,42.7008)
-"Bastia"
-top
-(8.73694,41.9267)
-"Ajaccio"
-top
-(3.4175,50.25888)
-"Haspres"
-bot
-(3.52333,50.35805)
-"Valenciennes"
-top
-(3.39583,50.32944)
-"Denain"
-ulft \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/metapost/datastest/FranceCycle4.dat b/macros/latex/contrib/profcollege/metapost/datastest/FranceCycle4.dat
deleted file mode 100644
index a9ff8bc279..0000000000
--- a/macros/latex/contrib/profcollege/metapost/datastest/FranceCycle4.dat
+++ /dev/null
@@ -1,142 +0,0 @@
-47
-(2.31,48.85)
-"Paris"
-top
-(1.44278,43.6053)
-"Toulouse"
-ulft
-(0.619444,44.2042)
-"Agen"
-top
-(4.80889,43.9494)
-"Avignon"
-top
-(2.44056,44.9261)
-"Aurillac"
-top
-(5.366667,43.300000)
-"Marseille"
-top
-(4.850000,45.733333)
-"Lyon"
-top
-(3.0875,45.7806)
-"Clermont-Ferrand"
-top
-(4.39028,45.74347)
-"St Etienne"
-bot
-(-0.566667,44.833333)
-"Bordeaux"
-bot
-(0.160833,45.38)
-"Angouleme"
-lft
-(-1.15,46.1603)
-"La Rochelle"
-rt
-(-4.483333,48.383333)
-"Brest"
-top
-(-1.67944,48.1147)
-"Rennes"
-top
-(-0.36944,49.1831)
-"Caen"
-top
-(5.050000,47.316667)
-"Dijon"
-top
-(2.3775,51.0383)
-"Dunkerque"
-top
-(1.905,47.9031)
-"Orleans"
-top
-(0.100000,49.483333)
-"Le Havre"
-top
-(1.15333,49.0242)
-"Evreux"
-top
-(0.183333,48.000000)
-"Le Mans"
-top
-(0.689167,47.3936)
-"Tours"
-top
-(0.546111,46.8178)
-"Chatellerault"
-top
-(1.266667,45.933333)
-"Limoges"
-top
-(6.183333,49.116667)
-"Metz"
-top
-(-1.583333,47.200000)
-"Nantes"
-top
-(4.016667,49.266667)
-"Reims"
-top
-(7.74861,48.65)
-"Strasbourg"
-top
-(3.56778,47.7983)
-"Auxerre"
-top
-(3.05,50.6333)
-"Lille"
-top
-(1.06667,49.45)
-"Rouen"
-rt
-(5.7,45.2)
-"Grenoble"
-top
-(1.53333,45.16667)
-"Brive"
-top
-(1.45,44.45)
-"Cahors"
-top
-(0.36861,43.333)
-"Pau"
-top
-(2.8833,42.7)
-"Perpignan"
-top
-(-1.55,43.4833)
-"Biarritz"
-top
-(2.333,43.2167)
-"Carcassonne"
-top
-(3.87722,43.6119)
-"Montpellier"
-top
-(0.3333,46.5833)
-"Poitiers"
-top
-(2.21667,43.6167)
-"Castres"
-lrt
-(1.60778,42.9664)
-"Foix"
-top
-(9.45028,42.7008)
-"Bastia"
-top
-(8.73694,41.9267)
-"Ajaccio"
-top
-(3.4175,50.25888)
-"Haspres"
-bot
-(3.52333,50.35805)
-"Valenciennes"
-top
-(3.39583,50.32944)
-"Denain"
-ulft \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/metapost/datastest/lacs.dat b/macros/latex/contrib/profcollege/metapost/datastest/lacs.dat
index 12c49aa5cc..847b2cff49 100644
--- a/macros/latex/contrib/profcollege/metapost/datastest/lacs.dat
+++ b/macros/latex/contrib/profcollege/metapost/datastest/lacs.dat
@@ -1,12492 +1,12492 @@
-73
-403
-(3910,-7409)
-(3911,-7410)
-(3912,-7406)
-(3914,-7391)
-(3913,-7379)
-(3916,-7372)
-(3921,-7364)
-(3926,-7368)
-(3929,-7376)
-(3929,-7369)
-(3933,-7367)
-(3934,-7355)
-(3936,-7353)
-(3938,-7341)
-(3947,-7328)
-(3951,-7331)
-(3954,-7350)
-(3955,-7353)
-(3957,-7352)
-(3958,-7357)
-(3958,-7367)
-(3959,-7349)
-(3961,-7343)
-(3960,-7334)
-(3959,-7330)
-(3959,-7323)
-(3956,-7312)
-(3955,-7308)
-(3956,-7288)
-(3958,-7281)
-(3960,-7275)
-(3965,-7274)
-(3967,-7282)
-(3966,-7294)
-(3969,-7296)
-(3972,-7303)
-(3975,-7316)
-(3976,-7361)
-(3975,-7383)
-(3971,-7376)
-(3966,-7383)
-(3966,-7387)
-(3964,-7385)
-(3962,-7386)
-(3963,-7390)
-(3969,-7394)
-(3970,-7396)
-(3968,-7426)
-(3966,-7432)
-(3967,-7444)
-(3971,-7452)
-(3969,-7476)
-(3968,-7477)
-(3966,-7473)
-(3964,-7475)
-(3960,-7473)
-(3959,-7476)
-(3961,-7481)
-(3962,-7482)
-(3962,-7478)
-(3963,-7482)
-(3961,-7488)
-(3955,-7487)
-(3956,-7492)
-(3958,-7493)
-(3962,-7501)
-(3967,-7506)
-(3970,-7507)
-(3975,-7505)
-(3978,-7499)
-(3978,-7497)
-(3977,-7496)
-(3976,-7493)
-(3978,-7483)
-(3977,-7480)
-(3975,-7469)
-(3978,-7466)
-(3978,-7464)
-(3981,-7461)
-(3982,-7457)
-(3979,-7445)
-(3979,-7440)
-(3983,-7428)
-(3983,-7422)
-(3984,-7420)
-(3988,-7395)
-(3992,-7389)
-(3992,-7387)
-(3991,-7390)
-(3990,-7388)
-(3989,-7389)
-(3988,-7386)
-(3989,-7382)
-(3988,-7380)
-(3989,-7378)
-(3993,-7374)
-(3993,-7349)
-(3994,-7348)
-(3994,-7354)
-(3996,-7350)
-(3994,-7348)
-(3997,-7342)
-(3996,-7340)
-(3994,-7339)
-(3994,-7343)
-(3993,-7341)
-(3996,-7334)
-(3997,-7320)
-(4001,-7305)
-(4004,-7287)
-(4006,-7289)
-(4007,-7281)
-(4008,-7278)
-(4008,-7276)
-(4009,-7276)
-(4012,-7270)
-(4011,-7260)
-(4012,-7253)
-(4013,-7251)
-(4014,-7239)
-(4017,-7233)
-(4017,-7217)
-(4019,-7210)
-(4020,-7203)
-(4022,-7195)
-(4022,-7191)
-(4023,-7188)
-(4021,-7184)
-(4020,-7189)
-(4019,-7187)
-(4020,-7177)
-(4018,-7178)
-(4020,-7167)
-(4018,-7170)
-(4017,-7171)
-(4016,-7165)
-(4017,-7152)
-(4014,-7153)
-(4014,-7148)
-(4014,-7140)
-(4012,-7137)
-(4010,-7159)
-(4008,-7161)
-(4007,-7167)
-(4005,-7168)
-(4006,-7174)
-(4005,-7175)
-(4005,-7171)
-(4004,-7172)
-(4004,-7174)
-(4004,-7178)
-(4003,-7179)
-(4004,-7182)
-(4001,-7187)
-(4001,-7193)
-(3999,-7202)
-(4000,-7206)
-(4000,-7208)
-(3998,-7203)
-(3996,-7206)
-(3996,-7209)
-(3993,-7211)
-(3993,-7219)
-(3991,-7220)
-(3991,-7223)
-(3989,-7219)
-(3989,-7222)
-(3988,-7221)
-(3988,-7214)
-(3987,-7221)
-(3988,-7225)
-(3988,-7227)
-(3985,-7230)
-(3983,-7227)
-(3984,-7222)
-(3982,-7217)
-(3983,-7213)
-(3984,-7209)
-(3983,-7198)
-(3981,-7199)
-(3979,-7192)
-(3982,-7186)
-(3982,-7179)
-(3981,-7176)
-(3980,-7177)
-(3980,-7188)
-(3979,-7188)
-(3978,-7177)
-(3978,-7171)
-(3979,-7170)
-(3980,-7172)
-(3981,-7164)
-(3979,-7154)
-(3979,-7131)
-(3978,-7129)
-(3981,-7121)
-(3981,-7117)
-(3980,-7116)
-(3981,-7112)
-(3982,-7108)
-(3981,-7108)
-(3982,-7104)
-(3988,-7087)
-(3990,-7088)
-(3988,-7090)
-(3986,-7097)
-(3990,-7093)
-(3995,-7084)
-(3997,-7069)
-(4000,-7064)
-(4001,-7057)
-(3998,-7059)
-(3998,-7064)
-(3996,-7063)
-(3998,-7056)
-(3997,-7056)
-(3994,-7064)
-(3993,-7063)
-(3991,-7065)
-(3989,-7071)
-(3988,-7073)
-(3986,-7070)
-(3985,-7074)
-(3985,-7070)
-(3986,-7067)
-(3985,-7065)
-(3989,-7053)
-(3989,-7051)
-(3987,-7053)
-(3988,-7048)
-(3987,-7048)
-(3985,-7050)
-(3986,-7055)
-(3982,-7059)
-(3981,-7054)
-(3981,-7059)
-(3979,-7063)
-(3977,-7062)
-(3977,-7060)
-(3978,-7061)
-(3976,-7057)
-(3976,-7059)
-(3974,-7059)
-(3973,-7064)
-(3974,-7063)
-(3974,-7064)
-(3972,-7068)
-(3970,-7069)
-(3971,-7062)
-(3971,-7061)
-(3969,-7065)
-(3970,-7069)
-(3968,-7069)
-(3969,-7072)
-(3969,-7075)
-(3966,-7082)
-(3965,-7079)
-(3964,-7079)
-(3964,-7067)
-(3962,-7067)
-(3963,-7073)
-(3962,-7077)
-(3963,-7076)
-(3961,-7088)
-(3960,-7086)
-(3957,-7090)
-(3955,-7089)
-(3955,-7093)
-(3952,-7096)
-(3950,-7095)
-(3951,-7092)
-(3950,-7092)
-(3949,-7091)
-(3948,-7085)
-(3950,-7075)
-(3952,-7071)
-(3951,-7067)
-(3947,-7080)
-(3945,-7077)
-(3946,-7068)
-(3944,-7070)
-(3943,-7068)
-(3944,-7073)
-(3943,-7075)
-(3944,-7080)
-(3943,-7080)
-(3941,-7082)
-(3940,-7086)
-(3941,-7091)
-(3940,-7097)
-(3939,-7103)
-(3941,-7102)
-(3941,-7112)
-(3939,-7115)
-(3938,-7110)
-(3937,-7111)
-(3939,-7116)
-(3938,-7119)
-(3940,-7122)
-(3941,-7122)
-(3942,-7119)
-(3943,-7122)
-(3944,-7132)
-(3945,-7127)
-(3947,-7134)
-(3948,-7152)
-(3947,-7158)
-(3948,-7181)
-(3944,-7186)
-(3944,-7182)
-(3943,-7182)
-(3943,-7176)
-(3942,-7176)
-(3941,-7182)
-(3940,-7191)
-(3939,-7191)
-(3939,-7193)
-(3937,-7196)
-(3937,-7195)
-(3938,-7206)
-(3934,-7201)
-(3930,-7190)
-(3929,-7189)
-(3928,-7185)
-(3928,-7179)
-(3926,-7173)
-(3919,-7168)
-(3921,-7185)
-(3920,-7187)
-(3921,-7190)
-(3920,-7191)
-(3920,-7193)
-(3919,-7193)
-(3915,-7201)
-(3911,-7203)
-(3911,-7209)
-(3909,-7216)
-(3903,-7227)
-(3899,-7241)
-(3898,-7249)
-(3896,-7255)
-(3896,-7261)
-(3895,-7263)
-(3894,-7262)
-(3893,-7266)
-(3891,-7266)
-(3891,-7271)
-(3889,-7271)
-(3889,-7278)
-(3889,-7282)
-(3891,-7283)
-(3893,-7290)
-(3896,-7290)
-(3900,-7283)
-(3899,-7283)
-(3897,-7277)
-(3899,-7279)
-(3900,-7274)
-(3899,-7270)
-(3899,-7265)
-(3902,-7257)
-(3904,-7261)
-(3907,-7259)
-(3911,-7243)
-(3916,-7233)
-(3926,-7221)
-(3930,-7220)
-(3932,-7224)
-(3933,-7222)
-(3935,-7224)
-(3937,-7241)
-(3936,-7248)
-(3934,-7256)
-(3932,-7262)
-(3931,-7268)
-(3929,-7270)
-(3923,-7292)
-(3921,-7294)
-(3921,-7291)
-(3919,-7291)
-(3916,-7297)
-(3914,-7297)
-(3913,-7295)
-(3909,-7296)
-(3907,-7300)
-(3904,-7295)
-(3904,-7300)
-(3904,-7303)
-(3903,-7303)
-(3902,-7308)
-(3901,-7309)
-(3900,-7316)
-(3899,-7320)
-(3899,-7324)
-(3897,-7321)
-(3896,-7322)
-(3898,-7329)
-(3899,-7331)
-(3901,-7339)
-(3901,-7354)
-(3905,-7394)
-(3907,-7400)
-(3910,-7409)
-39
-(3681,-7060)
-(3685,-7075)
-(3684,-7080)
-(3682,-7079)
-(3682,-7080)
-(3685,-7084)
-(3684,-7096)
-(3684,-7099)
-(3681,-7100)
-(3679,-7107)
-(3677,-7113)
-(3677,-7120)
-(3674,-7132)
-(3673,-7149)
-(3672,-7169)
-(3675,-7175)
-(3676,-7183)
-(3678,-7189)
-(3679,-7196)
-(3681,-7200)
-(3679,-7187)
-(3674,-7169)
-(3674,-7165)
-(3675,-7142)
-(3680,-7110)
-(3682,-7104)
-(3690,-7103)
-(3692,-7101)
-(3694,-7095)
-(3694,-7087)
-(3692,-7087)
-(3690,-7083)
-(3689,-7079)
-(3687,-7076)
-(3687,-7072)
-(3684,-7066)
-(3684,-7062)
-(3681,-7059)
-(3681,-7060)
-385
-(3653,-6901)
-(3656,-6888)
-(3655,-6885)
-(3654,-6883)
-(3655,-6875)
-(3656,-6873)
-(3657,-6864)
-(3661,-6853)
-(3660,-6850)
-(3659,-6844)
-(3658,-6842)
-(3659,-6830)
-(3660,-6824)
-(3666,-6817)
-(3669,-6819)
-(3670,-6821)
-(3670,-6825)
-(3672,-6820)
-(3676,-6823)
-(3679,-6820)
-(3681,-6815)
-(3680,-6812)
-(3682,-6811)
-(3684,-6804)
-(3685,-6805)
-(3687,-6799)
-(3688,-6794)
-(3687,-6786)
-(3689,-6788)
-(3689,-6787)
-(3688,-6781)
-(3687,-6781)
-(3686,-6779)
-(3684,-6781)
-(3683,-6776)
-(3685,-6772)
-(3686,-6773)
-(3687,-6761)
-(3687,-6759)
-(3688,-6761)
-(3688,-6760)
-(3689,-6754)
-(3697,-6732)
-(3699,-6733)
-(3700,-6729)
-(3702,-6729)
-(3712,-6709)
-(3713,-6709)
-(3713,-6710)
-(3717,-6696)
-(3718,-6696)
-(3723,-6689)
-(3724,-6688)
-(3725,-6689)
-(3722,-6703)
-(3723,-6703)
-(3727,-6690)
-(3728,-6690)
-(3727,-6695)
-(3728,-6695)
-(3730,-6686)
-(3734,-6676)
-(3736,-6673)
-(3735,-6680)
-(3736,-6679)
-(3737,-6676)
-(3739,-6666)
-(3740,-6666)
-(3740,-6668)
-(3743,-6664)
-(3744,-6654)
-(3743,-6653)
-(3742,-6647)
-(3744,-6642)
-(3744,-6638)
-(3743,-6638)
-(3741,-6639)
-(3741,-6638)
-(3742,-6632)
-(3742,-6619)
-(3743,-6613)
-(3744,-6614)
-(3743,-6629)
-(3743,-6628)
-(3746,-6619)
-(3746,-6621)
-(3747,-6619)
-(3747,-6610)
-(3754,-6591)
-(3754,-6595)
-(3749,-6610)
-(3750,-6614)
-(3751,-6613)
-(3751,-6614)
-(3750,-6621)
-(3746,-6639)
-(3746,-6641)
-(3748,-6639)
-(3752,-6619)
-(3752,-6625)
-(3750,-6631)
-(3749,-6638)
-(3751,-6641)
-(3752,-6647)
-(3753,-6643)
-(3752,-6628)
-(3754,-6622)
-(3754,-6613)
-(3752,-6611)
-(3754,-6607)
-(3753,-6601)
-(3756,-6589)
-(3759,-6586)
-(3759,-6582)
-(3760,-6582)
-(3761,-6626)
-(3765,-6622)
-(3765,-6617)
-(3764,-6615)
-(3764,-6611)
-(3764,-6605)
-(3765,-6600)
-(3763,-6585)
-(3765,-6590)
-(3766,-6593)
-(3767,-6607)
-(3766,-6624)
-(3768,-6628)
-(3766,-6630)
-(3765,-6626)
-(3761,-6631)
-(3760,-6629)
-(3759,-6630)
-(3760,-6639)
-(3760,-6644)
-(3760,-6648)
-(3759,-6650)
-(3759,-6657)
-(3757,-6667)
-(3757,-6677)
-(3756,-6678)
-(3754,-6677)
-(3749,-6692)
-(3743,-6697)
-(3742,-6700)
-(3743,-6700)
-(3749,-6695)
-(3753,-6689)
-(3756,-6688)
-(3758,-6683)
-(3765,-6657)
-(3766,-6636)
-(3766,-6634)
-(3768,-6637)
-(3768,-6645)
-(3769,-6643)
-(3770,-6638)
-(3769,-6631)
-(3770,-6628)
-(3769,-6616)
-(3769,-6597)
-(3768,-6592)
-(3768,-6586)
-(3765,-6577)
-(3764,-6559)
-(3761,-6557)
-(3762,-6552)
-(3758,-6557)
-(3759,-6550)
-(3757,-6557)
-(3755,-6559)
-(3755,-6557)
-(3762,-6539)
-(3764,-6540)
-(3766,-6534)
-(3768,-6534)
-(3763,-6546)
-(3763,-6550)
-(3768,-6538)
-(3770,-6545)
-(3770,-6553)
-(3772,-6556)
-(3771,-6562)
-(3772,-6570)
-(3773,-6578)
-(3774,-6577)
-(3775,-6582)
-(3775,-6597)
-(3777,-6595)
-(3777,-6597)
-(3776,-6606)
-(3777,-6627)
-(3775,-6642)
-(3771,-6662)
-(3765,-6680)
-(3763,-6682)
-(3762,-6686)
-(3760,-6688)
-(3754,-6691)
-(3751,-6697)
-(3743,-6703)
-(3739,-6716)
-(3737,-6718)
-(3733,-6727)
-(3730,-6732)
-(3729,-6736)
-(3724,-6745)
-(3723,-6756)
-(3724,-6764)
-(3722,-6774)
-(3722,-6775)
-(3724,-6774)
-(3724,-6776)
-(3722,-6781)
-(3721,-6781)
-(3722,-6787)
-(3722,-6790)
-(3720,-6792)
-(3719,-6799)
-(3722,-6805)
-(3722,-6807)
-(3721,-6809)
-(3720,-6813)
-(3722,-6816)
-(3722,-6813)
-(3723,-6813)
-(3725,-6824)
-(3726,-6825)
-(3728,-6828)
-(3729,-6825)
-(3730,-6831)
-(3732,-6833)
-(3737,-6844)
-(3736,-6847)
-(3737,-6849)
-(3737,-6848)
-(3739,-6852)
-(3739,-6855)
-(3741,-6854)
-(3742,-6855)
-(3742,-6853)
-(3745,-6856)
-(3745,-6860)
-(3743,-6862)
-(3742,-6866)
-(3742,-6874)
-(3741,-6877)
-(3742,-6879)
-(3742,-6883)
-(3743,-6883)
-(3745,-6886)
-(3746,-6888)
-(3746,-6892)
-(3748,-6893)
-(3749,-6903)
-(3751,-6909)
-(3752,-6912)
-(3753,-6911)
-(3755,-6914)
-(3757,-6918)
-(3758,-6927)
-(3758,-6936)
-(3760,-6941)
-(3759,-6946)
-(3760,-6946)
-(3761,-6942)
-(3762,-6941)
-(3762,-6945)
-(3763,-6946)
-(3767,-6956)
-(3766,-6960)
-(3762,-6963)
-(3760,-6957)
-(3758,-6956)
-(3757,-6949)
-(3753,-6949)
-(3754,-6945)
-(3753,-6942)
-(3752,-6942)
-(3752,-6946)
-(3748,-6941)
-(3749,-6936)
-(3748,-6931)
-(3749,-6922)
-(3749,-6915)
-(3745,-6919)
-(3740,-6918)
-(3739,-6914)
-(3735,-6920)
-(3734,-6920)
-(3735,-6910)
-(3733,-6910)
-(3731,-6904)
-(3730,-6902)
-(3729,-6904)
-(3729,-6902)
-(3727,-6904)
-(3725,-6903)
-(3720,-6887)
-(3716,-6885)
-(3716,-6879)
-(3713,-6881)
-(3712,-6878)
-(3711,-6877)
-(3710,-6884)
-(3710,-6883)
-(3710,-6881)
-(3708,-6885)
-(3707,-6888)
-(3706,-6889)
-(3707,-6891)
-(3705,-6896)
-(3705,-6903)
-(3704,-6904)
-(3704,-6913)
-(3706,-6912)
-(3707,-6920)
-(3705,-6933)
-(3703,-6935)
-(3702,-6931)
-(3700,-6933)
-(3700,-6936)
-(3699,-6940)
-(3696,-6939)
-(3696,-6942)
-(3693,-6942)
-(3691,-6946)
-(3690,-6944)
-(3688,-6945)
-(3687,-6943)
-(3686,-6943)
-(3684,-6952)
-(3684,-6954)
-(3686,-6956)
-(3684,-6957)
-(3684,-6961)
-(3682,-6964)
-(3682,-6961)
-(3681,-6960)
-(3681,-6955)
-(3679,-6954)
-(3679,-6951)
-(3676,-6953)
-(3676,-6957)
-(3674,-6961)
-(3673,-6958)
-(3671,-6956)
-(3670,-6958)
-(3674,-6966)
-(3675,-6971)
-(3676,-6972)
-(3676,-6986)
-(3679,-6992)
-(3680,-6996)
-(3679,-7005)
-(3678,-7008)
-(3673,-7002)
-(3673,-7007)
-(3671,-7015)
-(3669,-7025)
-(3673,-7041)
-(3677,-7051)
-(3678,-7057)
-(3678,-7061)
-(3675,-7049)
-(3672,-7047)
-(3670,-7042)
-(3664,-7034)
-(3663,-7024)
-(3662,-7005)
-(3661,-7002)
-(3661,-6998)
-(3662,-6992)
-(3660,-6989)
-(3659,-6990)
-(3658,-6986)
-(3656,-6983)
-(3653,-6970)
-(3653,-6966)
-(3650,-6957)
-(3652,-6944)
-(3650,-6932)
-(3650,-6917)
-(3652,-6910)
-(3653,-6901)
-28
-(3626,-7993)
-(3618,-7978)
-(3613,-7972)
-(3609,-7961)
-(3607,-7957)
-(3606,-7950)
-(3605,-7952)
-(3602,-7944)
-(3596,-7940)
-(3591,-7933)
-(3590,-7935)
-(3582,-7929)
-(3578,-7928)
-(3576,-7925)
-(3576,-7929)
-(3575,-7931)
-(3576,-7930)
-(3578,-7930)
-(3584,-7935)
-(3586,-7934)
-(3593,-7942)
-(3600,-7947)
-(3605,-7956)
-(3612,-7976)
-(3622,-7989)
-(3622,-7991)
-(3627,-7995)
-(3626,-7993)
-140
-(3522,-6677)
-(3524,-6677)
-(3525,-6680)
-(3527,-6676)
-(3528,-6671)
-(3528,-6670)
-(3526,-6668)
-(3523,-6671)
-(3522,-6669)
-(3524,-6663)
-(3527,-6659)
-(3528,-6655)
-(3530,-6650)
-(3533,-6649)
-(3537,-6642)
-(3541,-6640)
-(3546,-6633)
-(3547,-6623)
-(3553,-6610)
-(3555,-6608)
-(3557,-6603)
-(3560,-6598)
-(3561,-6590)
-(3564,-6592)
-(3565,-6585)
-(3565,-6589)
-(3566,-6590)
-(3570,-6584)
-(3572,-6577)
-(3576,-6570)
-(3576,-6549)
-(3573,-6548)
-(3571,-6544)
-(3569,-6544)
-(3568,-6542)
-(3569,-6540)
-(3571,-6536)
-(3571,-6529)
-(3569,-6525)
-(3566,-6532)
-(3564,-6533)
-(3563,-6537)
-(3562,-6536)
-(3563,-6523)
-(3565,-6515)
-(3566,-6515)
-(3568,-6507)
-(3566,-6503)
-(3566,-6501)
-(3569,-6497)
-(3567,-6494)
-(3568,-6488)
-(3567,-6487)
-(3566,-6477)
-(3564,-6470)
-(3565,-6453)
-(3561,-6443)
-(3559,-6433)
-(3560,-6417)
-(3561,-6414)
-(3559,-6414)
-(3559,-6413)
-(3559,-6409)
-(3559,-6398)
-(3558,-6400)
-(3557,-6398)
-(3556,-6381)
-(3558,-6365)
-(3556,-6361)
-(3555,-6387)
-(3555,-6408)
-(3556,-6408)
-(3556,-6414)
-(3557,-6415)
-(3557,-6427)
-(3558,-6429)
-(3557,-6447)
-(3559,-6449)
-(3558,-6452)
-(3557,-6452)
-(3557,-6454)
-(3558,-6458)
-(3559,-6456)
-(3560,-6458)
-(3560,-6465)
-(3555,-6467)
-(3554,-6470)
-(3552,-6469)
-(3553,-6475)
-(3552,-6482)
-(3549,-6491)
-(3548,-6516)
-(3547,-6518)
-(3547,-6525)
-(3546,-6529)
-(3546,-6533)
-(3548,-6535)
-(3545,-6541)
-(3545,-6546)
-(3545,-6551)
-(3548,-6554)
-(3548,-6557)
-(3545,-6563)
-(3543,-6577)
-(3543,-6585)
-(3541,-6593)
-(3537,-6603)
-(3534,-6613)
-(3531,-6618)
-(3530,-6619)
-(3528,-6624)
-(3524,-6627)
-(3521,-6629)
-(3520,-6628)
-(3522,-6625)
-(3521,-6620)
-(3519,-6623)
-(3517,-6622)
-(3516,-6625)
-(3519,-6635)
-(3516,-6638)
-(3518,-6646)
-(3517,-6647)
-(3513,-6645)
-(3508,-6650)
-(3518,-6650)
-(3518,-6654)
-(3519,-6655)
-(3518,-6657)
-(3516,-6658)
-(3515,-6661)
-(3510,-6664)
-(3513,-6667)
-(3514,-6666)
-(3516,-6667)
-(3517,-6665)
-(3517,-6669)
-(3519,-6670)
-(3520,-6669)
-(3522,-6677)
-126
-(3403,-7486)
-(3400,-7481)
-(3396,-7477)
-(3392,-7469)
-(3390,-7469)
-(3386,-7465)
-(3383,-7465)
-(3383,-7462)
-(3380,-7463)
-(3380,-7460)
-(3379,-7460)
-(3374,-7453)
-(3373,-7449)
-(3374,-7446)
-(3377,-7442)
-(3378,-7440)
-(3369,-7446)
-(3367,-7444)
-(3362,-7437)
-(3363,-7420)
-(3362,-7412)
-(3359,-7393)
-(3360,-7389)
-(3362,-7386)
-(3366,-7387)
-(3365,-7385)
-(3366,-7369)
-(3367,-7367)
-(3366,-7364)
-(3369,-7358)
-(3370,-7353)
-(3368,-7348)
-(3368,-7341)
-(3367,-7340)
-(3366,-7335)
-(3362,-7330)
-(3360,-7331)
-(3365,-7341)
-(3366,-7350)
-(3367,-7354)
-(3364,-7364)
-(3362,-7364)
-(3364,-7368)
-(3364,-7381)
-(3359,-7386)
-(3358,-7391)
-(3359,-7397)
-(3361,-7410)
-(3362,-7422)
-(3361,-7426)
-(3358,-7429)
-(3355,-7427)
-(3353,-7427)
-(3352,-7425)
-(3351,-7426)
-(3350,-7425)
-(3351,-7423)
-(3349,-7421)
-(3348,-7422)
-(3344,-7419)
-(3343,-7415)
-(3342,-7415)
-(3337,-7407)
-(3336,-7406)
-(3336,-7404)
-(3333,-7404)
-(3332,-7401)
-(3329,-7400)
-(3325,-7393)
-(3324,-7394)
-(3321,-7393)
-(3324,-7391)
-(3325,-7390)
-(3323,-7391)
-(3320,-7389)
-(3320,-7391)
-(3315,-7389)
-(3313,-7390)
-(3310,-7387)
-(3311,-7391)
-(3323,-7396)
-(3329,-7403)
-(3335,-7407)
-(3341,-7418)
-(3341,-7422)
-(3352,-7433)
-(3352,-7435)
-(3345,-7430)
-(3343,-7430)
-(3349,-7434)
-(3350,-7436)
-(3351,-7436)
-(3352,-7439)
-(3354,-7439)
-(3354,-7443)
-(3355,-7442)
-(3355,-7444)
-(3358,-7441)
-(3361,-7442)
-(3361,-7443)
-(3360,-7451)
-(3360,-7453)
-(3359,-7455)
-(3361,-7457)
-(3364,-7465)
-(3367,-7468)
-(3366,-7471)
-(3368,-7468)
-(3366,-7466)
-(3361,-7454)
-(3362,-7450)
-(3364,-7448)
-(3366,-7453)
-(3368,-7453)
-(3373,-7460)
-(3373,-7463)
-(3375,-7463)
-(3379,-7468)
-(3386,-7471)
-(3393,-7477)
-(3398,-7483)
-(3400,-7485)
-(3402,-7488)
-(3405,-7490)
-(3403,-7488)
-(3403,-7486)
-178
-(3255,-6008)
-(3253,-6006)
-(3252,-6000)
-(3250,-6000)
-(3250,-5997)
-(3251,-5997)
-(3252,-5995)
-(3252,-5990)
-(3251,-5988)
-(3247,-5999)
-(3246,-6006)
-(3243,-6010)
-(3244,-6012)
-(3243,-6013)
-(3242,-6015)
-(3240,-6015)
-(3239,-6012)
-(3240,-6008)
-(3239,-6007)
-(3238,-6008)
-(3237,-6003)
-(3237,-6002)
-(3235,-6004)
-(3234,-6007)
-(3232,-6011)
-(3228,-6007)
-(3228,-6005)
-(3230,-6005)
-(3232,-6002)
-(3232,-5997)
-(3235,-5992)
-(3235,-5988)
-(3241,-5984)
-(3243,-5979)
-(3243,-5976)
-(3241,-5977)
-(3240,-5975)
-(3237,-5978)
-(3236,-5982)
-(3232,-5983)
-(3231,-5982)
-(3227,-5984)
-(3227,-5988)
-(3231,-5992)
-(3229,-5996)
-(3227,-5996)
-(3226,-5994)
-(3224,-5996)
-(3225,-5999)
-(3224,-6001)
-(3222,-6001)
-(3220,-6008)
-(3221,-6012)
-(3219,-6011)
-(3218,-6015)
-(3217,-6016)
-(3215,-6012)
-(3215,-6011)
-(3217,-6011)
-(3217,-6010)
-(3214,-6004)
-(3213,-6003)
-(3213,-6001)
-(3210,-5998)
-(3206,-5998)
-(3205,-5993)
-(3201,-5995)
-(3201,-5999)
-(3200,-5999)
-(3199,-5995)
-(3196,-5996)
-(3193,-5991)
-(3195,-5986)
-(3198,-5986)
-(3199,-5985)
-(3198,-5981)
-(3198,-5972)
-(3199,-5970)
-(3202,-5966)
-(3201,-5962)
-(3192,-5965)
-(3191,-5962)
-(3189,-5960)
-(3189,-5965)
-(3188,-5967)
-(3184,-5964)
-(3182,-5972)
-(3183,-5973)
-(3185,-5974)
-(3185,-5971)
-(3186,-5970)
-(3186,-5975)
-(3188,-5974)
-(3191,-5976)
-(3192,-5978)
-(3192,-5979)
-(3190,-5980)
-(3189,-5977)
-(3188,-5978)
-(3188,-5981)
-(3187,-5984)
-(3188,-5984)
-(3190,-5985)
-(3188,-5987)
-(3187,-5988)
-(3185,-5995)
-(3186,-6002)
-(3188,-6005)
-(3189,-6018)
-(3194,-6023)
-(3196,-6023)
-(3198,-6025)
-(3198,-6026)
-(3196,-6029)
-(3198,-6033)
-(3200,-6037)
-(3201,-6037)
-(3201,-6042)
-(3204,-6048)
-(3204,-6051)
-(3206,-6053)
-(3207,-6056)
-(3209,-6055)
-(3210,-6051)
-(3212,-6049)
-(3211,-6047)
-(3212,-6044)
-(3209,-6041)
-(3210,-6039)
-(3208,-6037)
-(3208,-6036)
-(3212,-6034)
-(3212,-6038)
-(3213,-6040)
-(3214,-6040)
-(3215,-6039)
-(3216,-6035)
-(3215,-6035)
-(3213,-6030)
-(3214,-6028)
-(3216,-6027)
-(3217,-6024)
-(3216,-6023)
-(3217,-6020)
-(3215,-6019)
-(3216,-6017)
-(3219,-6017)
-(3223,-6020)
-(3226,-6023)
-(3227,-6027)
-(3229,-6028)
-(3233,-6013)
-(3236,-6010)
-(3234,-6014)
-(3234,-6017)
-(3233,-6019)
-(3234,-6022)
-(3232,-6026)
-(3234,-6028)
-(3234,-6031)
-(3236,-6031)
-(3238,-6029)
-(3238,-6026)
-(3236,-6021)
-(3235,-6020)
-(3237,-6015)
-(3238,-6015)
-(3238,-6017)
-(3239,-6019)
-(3241,-6020)
-(3245,-6016)
-(3252,-6023)
-(3254,-6020)
-(3252,-6016)
-(3251,-6014)
-(3252,-6014)
-(3255,-6011)
-(3255,-6008)
-266
-(3182,-5906)
-(3180,-5912)
-(3178,-5924)
-(3176,-5932)
-(3174,-5935)
-(3172,-5934)
-(3167,-5929)
-(3165,-5930)
-(3161,-5927)
-(3160,-5924)
-(3158,-5923)
-(3157,-5919)
-(3154,-5917)
-(3150,-5908)
-(3145,-5908)
-(3142,-5905)
-(3139,-5900)
-(3138,-5893)
-(3137,-5891)
-(3131,-5888)
-(3128,-5888)
-(3126,-5883)
-(3118,-5883)
-(3116,-5879)
-(3116,-5875)
-(3114,-5876)
-(3113,-5874)
-(3111,-5866)
-(3113,-5866)
-(3115,-5869)
-(3118,-5867)
-(3125,-5863)
-(3125,-5866)
-(3127,-5866)
-(3129,-5861)
-(3126,-5860)
-(3126,-5859)
-(3128,-5853)
-(3128,-5849)
-(3124,-5851)
-(3120,-5857)
-(3118,-5854)
-(3115,-5855)
-(3115,-5852)
-(3120,-5851)
-(3122,-5845)
-(3122,-5840)
-(3117,-5838)
-(3111,-5834)
-(3108,-5833)
-(3097,-5838)
-(3092,-5836)
-(3088,-5837)
-(3086,-5835)
-(3087,-5832)
-(3091,-5827)
-(3095,-5828)
-(3098,-5825)
-(3100,-5825)
-(3100,-5820)
-(3103,-5814)
-(3104,-5811)
-(3104,-5809)
-(3101,-5810)
-(3100,-5806)
-(3096,-5808)
-(3096,-5803)
-(3093,-5804)
-(3087,-5809)
-(3086,-5809)
-(3085,-5812)
-(3081,-5815)
-(3079,-5814)
-(3076,-5819)
-(3071,-5819)
-(3071,-5817)
-(3073,-5813)
-(3079,-5806)
-(3081,-5806)
-(3082,-5803)
-(3080,-5802)
-(3081,-5799)
-(3080,-5796)
-(3075,-5801)
-(3074,-5805)
-(3070,-5810)
-(3066,-5810)
-(3065,-5815)
-(3063,-5817)
-(3059,-5814)
-(3053,-5819)
-(3049,-5816)
-(3047,-5818)
-(3042,-5819)
-(3038,-5818)
-(3036,-5816)
-(3034,-5818)
-(3025,-5815)
-(3023,-5806)
-(3025,-5797)
-(3028,-5793)
-(3033,-5797)
-(3035,-5795)
-(3039,-5796)
-(3040,-5793)
-(3042,-5794)
-(3044,-5792)
-(3043,-5791)
-(3040,-5790)
-(3038,-5785)
-(3037,-5778)
-(3040,-5781)
-(3043,-5783)
-(3045,-5781)
-(3061,-5783)
-(3065,-5785)
-(3067,-5784)
-(3067,-5779)
-(3070,-5781)
-(3072,-5780)
-(3072,-5776)
-(3073,-5775)
-(3080,-5782)
-(3080,-5785)
-(3083,-5787)
-(3083,-5789)
-(3090,-5795)
-(3093,-5793)
-(3105,-5807)
-(3107,-5801)
-(3109,-5802)
-(3111,-5807)
-(3112,-5811)
-(3112,-5812)
-(3116,-5809)
-(3118,-5810)
-(3121,-5812)
-(3124,-5818)
-(3126,-5818)
-(3129,-5821)
-(3131,-5822)
-(3134,-5825)
-(3134,-5821)
-(3136,-5820)
-(3139,-5822)
-(3140,-5824)
-(3141,-5821)
-(3143,-5823)
-(3145,-5822)
-(3146,-5824)
-(3146,-5826)
-(3149,-5826)
-(3158,-5832)
-(3161,-5832)
-(3166,-5839)
-(3172,-5844)
-(3174,-5843)
-(3177,-5846)
-(3178,-5846)
-(3177,-5843)
-(3179,-5843)
-(3181,-5840)
-(3183,-5845)
-(3187,-5845)
-(3189,-5847)
-(3190,-5845)
-(3196,-5854)
-(3198,-5855)
-(3202,-5856)
-(3205,-5861)
-(3208,-5860)
-(3213,-5864)
-(3217,-5870)
-(3219,-5869)
-(3223,-5869)
-(3226,-5873)
-(3230,-5874)
-(3231,-5877)
-(3234,-5876)
-(3235,-5878)
-(3238,-5879)
-(3239,-5876)
-(3240,-5867)
-(3242,-5864)
-(3245,-5864)
-(3241,-5870)
-(3242,-5874)
-(3241,-5877)
-(3239,-5882)
-(3238,-5883)
-(3236,-5882)
-(3235,-5885)
-(3235,-5886)
-(3238,-5888)
-(3240,-5894)
-(3242,-5892)
-(3243,-5889)
-(3245,-5891)
-(3251,-5889)
-(3252,-5884)
-(3252,-5880)
-(3254,-5877)
-(3255,-5872)
-(3259,-5868)
-(3259,-5871)
-(3258,-5875)
-(3259,-5879)
-(3261,-5874)
-(3264,-5878)
-(3265,-5881)
-(3264,-5882)
-(3261,-5882)
-(3258,-5886)
-(3255,-5889)
-(3253,-5889)
-(3251,-5893)
-(3245,-5894)
-(3243,-5897)
-(3239,-5899)
-(3238,-5896)
-(3234,-5895)
-(3232,-5890)
-(3231,-5886)
-(3227,-5882)
-(3224,-5873)
-(3222,-5874)
-(3221,-5878)
-(3222,-5881)
-(3226,-5884)
-(3230,-5895)
-(3232,-5906)
-(3230,-5921)
-(3233,-5923)
-(3234,-5927)
-(3233,-5931)
-(3232,-5937)
-(3231,-5938)
-(3229,-5937)
-(3226,-5940)
-(3222,-5938)
-(3216,-5943)
-(3215,-5941)
-(3209,-5945)
-(3208,-5944)
-(3206,-5945)
-(3203,-5951)
-(3197,-5953)
-(3196,-5952)
-(3194,-5954)
-(3191,-5955)
-(3191,-5952)
-(3188,-5948)
-(3187,-5945)
-(3186,-5944)
-(3184,-5944)
-(3182,-5941)
-(3184,-5936)
-(3182,-5931)
-(3182,-5929)
-(3185,-5928)
-(3185,-5927)
-(3184,-5921)
-(3183,-5912)
-(3183,-5908)
-(3183,-5906)
-(3182,-5906)
-111
-(2891,-6179)
-(2888,-6162)
-(2882,-6154)
-(2882,-6151)
-(2876,-6156)
-(2874,-6156)
-(2872,-6158)
-(2870,-6157)
-(2869,-6155)
-(2867,-6146)
-(2869,-6142)
-(2872,-6145)
-(2878,-6146)
-(2878,-6142)
-(2876,-6139)
-(2879,-6137)
-(2879,-6134)
-(2877,-6137)
-(2876,-6136)
-(2875,-6138)
-(2869,-6135)
-(2865,-6135)
-(2865,-6132)
-(2864,-6131)
-(2864,-6126)
-(2863,-6127)
-(2863,-6133)
-(2860,-6132)
-(2859,-6134)
-(2857,-6133)
-(2857,-6129)
-(2853,-6117)
-(2854,-6115)
-(2853,-6112)
-(2854,-6108)
-(2853,-6099)
-(2854,-6095)
-(2856,-6096)
-(2856,-6094)
-(2856,-6083)
-(2857,-6081)
-(2857,-6076)
-(2859,-6072)
-(2859,-6069)
-(2858,-6070)
-(2855,-6066)
-(2854,-6067)
-(2855,-6074)
-(2854,-6075)
-(2853,-6075)
-(2852,-6077)
-(2852,-6081)
-(2850,-6083)
-(2852,-6090)
-(2849,-6101)
-(2850,-6105)
-(2848,-6109)
-(2849,-6113)
-(2847,-6114)
-(2848,-6117)
-(2850,-6117)
-(2852,-6124)
-(2852,-6126)
-(2853,-6125)
-(2854,-6129)
-(2856,-6135)
-(2856,-6139)
-(2855,-6140)
-(2855,-6142)
-(2855,-6144)
-(2852,-6146)
-(2857,-6145)
-(2857,-6138)
-(2863,-6137)
-(2866,-6140)
-(2865,-6144)
-(2866,-6149)
-(2867,-6156)
-(2869,-6159)
-(2872,-6160)
-(2877,-6159)
-(2879,-6154)
-(2880,-6154)
-(2880,-6157)
-(2884,-6162)
-(2887,-6168)
-(2888,-6180)
-(2889,-6183)
-(2887,-6191)
-(2883,-6194)
-(2882,-6202)
-(2880,-6208)
-(2880,-6210)
-(2884,-6214)
-(2887,-6214)
-(2887,-6217)
-(2881,-6226)
-(2883,-6226)
-(2885,-6229)
-(2886,-6223)
-(2889,-6218)
-(2889,-6215)
-(2890,-6214)
-(2889,-6212)
-(2884,-6211)
-(2882,-6208)
-(2885,-6201)
-(2885,-6195)
-(2890,-6191)
-(2891,-6187)
-(2891,-6179)
-875
-(2880,-5375)
-(2882,-5371)
-(2883,-5370)
-(2884,-5365)
-(2885,-5365)
-(2885,-5367)
-(2886,-5366)
-(2887,-5360)
-(2888,-5360)
-(2889,-5359)
-(2891,-5357)
-(2892,-5358)
-(2892,-5356)
-(2895,-5356)
-(2898,-5354)
-(2899,-5352)
-(2903,-5355)
-(2907,-5352)
-(2909,-5348)
-(2915,-5326)
-(2913,-5325)
-(2909,-5330)
-(2903,-5332)
-(2903,-5334)
-(2899,-5336)
-(2900,-5334)
-(2902,-5324)
-(2910,-5322)
-(2911,-5318)
-(2917,-5317)
-(2919,-5312)
-(2922,-5313)
-(2923,-5311)
-(2924,-5313)
-(2926,-5313)
-(2931,-5309)
-(2930,-5302)
-(2926,-5299)
-(2921,-5301)
-(2913,-5311)
-(2913,-5313)
-(2909,-5315)
-(2909,-5314)
-(2906,-5314)
-(2906,-5311)
-(2908,-5311)
-(2908,-5309)
-(2911,-5309)
-(2912,-5308)
-(2914,-5306)
-(2912,-5304)
-(2914,-5301)
-(2915,-5299)
-(2919,-5300)
-(2916,-5297)
-(2918,-5294)
-(2916,-5295)
-(2916,-5292)
-(2923,-5286)
-(2926,-5287)
-(2928,-5286)
-(2930,-5290)
-(2932,-5295)
-(2933,-5295)
-(2936,-5294)
-(2939,-5296)
-(2940,-5295)
-(2938,-5294)
-(2938,-5291)
-(2940,-5287)
-(2940,-5284)
-(2941,-5282)
-(2939,-5282)
-(2937,-5277)
-(2935,-5271)
-(2936,-5267)
-(2934,-5267)
-(2934,-5261)
-(2932,-5259)
-(2933,-5255)
-(2930,-5253)
-(2931,-5247)
-(2930,-5245)
-(2928,-5243)
-(2928,-5238)
-(2926,-5237)
-(2926,-5232)
-(2927,-5231)
-(2926,-5227)
-(2927,-5223)
-(2926,-5220)
-(2928,-5220)
-(2929,-5219)
-(2925,-5211)
-(2929,-5202)
-(2928,-5201)
-(2927,-5197)
-(2925,-5198)
-(2924,-5193)
-(2925,-5192)
-(2927,-5186)
-(2925,-5186)
-(2924,-5183)
-(2923,-5184)
-(2920,-5181)
-(2919,-5179)
-(2917,-5180)
-(2915,-5176)
-(2906,-5173)
-(2904,-5171)
-(2900,-5171)
-(2890,-5165)
-(2885,-5160)
-(2884,-5156)
-(2882,-5156)
-(2882,-5154)
-(2880,-5152)
-(2878,-5149)
-(2876,-5140)
-(2875,-5126)
-(2878,-5116)
-(2878,-5100)
-(2877,-5095)
-(2877,-5094)
-(2878,-5092)
-(2876,-5090)
-(2875,-5091)
-(2871,-5096)
-(2870,-5096)
-(2868,-5093)
-(2864,-5096)
-(2863,-5099)
-(2861,-5098)
-(2859,-5100)
-(2857,-5100)
-(2857,-5102)
-(2854,-5097)
-(2852,-5097)
-(2851,-5095)
-(2849,-5089)
-(2846,-5083)
-(2843,-5082)
-(2842,-5080)
-(2842,-5078)
-(2838,-5075)
-(2835,-5078)
-(2831,-5082)
-(2830,-5081)
-(2829,-5083)
-(2826,-5082)
-(2823,-5086)
-(2819,-5087)
-(2817,-5083)
-(2818,-5080)
-(2814,-5077)
-(2814,-5075)
-(2816,-5075)
-(2817,-5074)
-(2816,-5071)
-(2816,-5066)
-(2813,-5061)
-(2810,-5064)
-(2811,-5067)
-(2809,-5073)
-(2805,-5073)
-(2804,-5074)
-(2802,-5073)
-(2802,-5072)
-(2802,-5071)
-(2805,-5068)
-(2805,-5067)
-(2802,-5065)
-(2800,-5068)
-(2794,-5075)
-(2793,-5075)
-(2791,-5072)
-(2789,-5071)
-(2789,-5068)
-(2790,-5068)
-(2792,-5065)
-(2791,-5058)
-(2792,-5055)
-(2793,-5051)
-(2792,-5046)
-(2790,-5044)
-(2789,-5045)
-(2782,-5047)
-(2780,-5043)
-(2779,-5033)
-(2778,-5032)
-(2778,-5026)
-(2776,-5022)
-(2777,-5016)
-(2775,-5013)
-(2775,-5008)
-(2772,-4992)
-(2772,-4990)
-(2771,-4988)
-(2770,-4979)
-(2771,-4977)
-(2771,-4973)
-(2771,-4969)
-(2772,-4962)
-(2773,-4958)
-(2771,-4961)
-(2770,-4960)
-(2771,-4951)
-(2772,-4947)
-(2771,-4946)
-(2771,-4944)
-(2771,-4939)
-(2771,-4943)
-(2770,-4942)
-(2769,-4938)
-(2769,-4937)
-(2769,-4933)
-(2767,-4928)
-(2768,-4926)
-(2766,-4918)
-(2766,-4903)
-(2764,-4907)
-(2761,-4906)
-(2764,-4905)
-(2765,-4900)
-(2767,-4899)
-(2767,-4897)
-(2766,-4896)
-(2765,-4892)
-(2764,-4893)
-(2761,-4902)
-(2762,-4895)
-(2762,-4890)
-(2761,-4899)
-(2760,-4894)
-(2757,-4900)
-(2761,-4889)
-(2759,-4890)
-(2760,-4887)
-(2757,-4876)
-(2758,-4872)
-(2760,-4870)
-(2760,-4871)
-(2759,-4875)
-(2761,-4873)
-(2761,-4870)
-(2759,-4869)
-(2756,-4871)
-(2756,-4869)
-(2757,-4867)
-(2757,-4863)
-(2756,-4856)
-(2757,-4854)
-(2756,-4852)
-(2757,-4848)
-(2754,-4848)
-(2756,-4846)
-(2754,-4845)
-(2752,-4844)
-(2751,-4840)
-(2750,-4843)
-(2749,-4843)
-(2749,-4840)
-(2747,-4838)
-(2744,-4838)
-(2742,-4835)
-(2741,-4836)
-(2741,-4835)
-(2739,-4835)
-(2738,-4831)
-(2736,-4831)
-(2734,-4830)
-(2735,-4825)
-(2738,-4826)
-(2736,-4824)
-(2734,-4823)
-(2728,-4824)
-(2726,-4821)
-(2724,-4822)
-(2723,-4821)
-(2724,-4820)
-(2726,-4820)
-(2726,-4818)
-(2723,-4819)
-(2722,-4817)
-(2722,-4814)
-(2720,-4814)
-(2721,-4810)
-(2722,-4812)
-(2724,-4810)
-(2724,-4805)
-(2719,-4802)
-(2714,-4808)
-(2711,-4807)
-(2713,-4804)
-(2711,-4801)
-(2709,-4799)
-(2707,-4801)
-(2707,-4806)
-(2705,-4803)
-(2704,-4800)
-(2702,-4800)
-(2701,-4796)
-(2699,-4796)
-(2697,-4795)
-(2697,-4793)
-(2696,-4790)
-(2694,-4790)
-(2694,-4788)
-(2692,-4789)
-(2691,-4786)
-(2689,-4787)
-(2688,-4785)
-(2689,-4784)
-(2690,-4782)
-(2692,-4784)
-(2693,-4781)
-(2690,-4781)
-(2687,-4783)
-(2686,-4780)
-(2685,-4780)
-(2686,-4793)
-(2688,-4793)
-(2689,-4794)
-(2689,-4796)
-(2691,-4795)
-(2692,-4798)
-(2691,-4801)
-(2689,-4804)
-(2689,-4806)
-(2685,-4807)
-(2684,-4803)
-(2681,-4799)
-(2678,-4800)
-(2673,-4800)
-(2668,-4805)
-(2671,-4814)
-(2673,-4826)
-(2676,-4829)
-(2677,-4835)
-(2684,-4839)
-(2683,-4845)
-(2682,-4848)
-(2676,-4857)
-(2685,-4853)
-(2687,-4854)
-(2689,-4859)
-(2687,-4863)
-(2685,-4867)
-(2685,-4868)
-(2688,-4867)
-(2690,-4861)
-(2692,-4860)
-(2695,-4860)
-(2698,-4857)
-(2698,-4862)
-(2697,-4863)
-(2696,-4862)
-(2694,-4864)
-(2696,-4866)
-(2695,-4869)
-(2698,-4867)
-(2698,-4872)
-(2700,-4871)
-(2701,-4872)
-(2701,-4873)
-(2700,-4874)
-(2700,-4875)
-(2706,-4876)
-(2708,-4879)
-(2710,-4880)
-(2713,-4877)
-(2715,-4877)
-(2714,-4886)
-(2715,-4897)
-(2716,-4898)
-(2716,-4902)
-(2715,-4902)
-(2713,-4903)
-(2712,-4902)
-(2712,-4899)
-(2711,-4896)
-(2712,-4895)
-(2709,-4895)
-(2709,-4894)
-(2703,-4888)
-(2699,-4886)
-(2700,-4885)
-(2699,-4884)
-(2700,-4882)
-(2699,-4882)
-(2698,-4881)
-(2695,-4882)
-(2693,-4881)
-(2692,-4880)
-(2690,-4879)
-(2689,-4877)
-(2687,-4878)
-(2687,-4877)
-(2683,-4876)
-(2682,-4878)
-(2679,-4876)
-(2677,-4876)
-(2671,-4883)
-(2666,-4884)
-(2665,-4889)
-(2661,-4893)
-(2661,-4895)
-(2653,-4897)
-(2649,-4900)
-(2645,-4905)
-(2636,-4903)
-(2621,-4904)
-(2610,-4902)
-(2601,-4905)
-(2595,-4913)
-(2593,-4920)
-(2588,-4924)
-(2584,-4931)
-(2581,-4945)
-(2587,-4949)
-(2596,-4952)
-(2608,-4953)
-(2615,-4956)
-(2628,-4958)
-(2636,-4962)
-(2641,-4968)
-(2644,-4977)
-(2643,-4981)
-(2641,-4983)
-(2640,-4984)
-(2639,-4995)
-(2636,-4998)
-(2635,-5004)
-(2635,-5001)
-(2634,-5000)
-(2631,-5003)
-(2623,-5008)
-(2622,-5010)
-(2624,-5011)
-(2623,-5013)
-(2620,-5015)
-(2616,-5020)
-(2619,-5031)
-(2622,-5035)
-(2625,-5037)
-(2630,-5036)
-(2631,-5034)
-(2633,-5035)
-(2635,-5035)
-(2637,-5033)
-(2640,-5030)
-(2639,-5026)
-(2641,-5025)
-(2640,-5021)
-(2643,-5020)
-(2643,-5016)
-(2655,-5012)
-(2657,-5011)
-(2657,-5008)
-(2657,-5007)
-(2656,-5008)
-(2655,-5007)
-(2659,-5004)
-(2660,-5000)
-(2675,-4999)
-(2681,-4997)
-(2689,-4998)
-(2693,-5000)
-(2696,-5006)
-(2700,-5008)
-(2701,-5007)
-(2703,-5007)
-(2704,-5005)
-(2705,-5002)
-(2702,-4999)
-(2702,-4996)
-(2703,-4997)
-(2704,-4999)
-(2705,-4999)
-(2706,-4998)
-(2709,-4999)
-(2710,-5001)
-(2714,-5004)
-(2716,-5005)
-(2717,-5003)
-(2721,-5009)
-(2721,-5015)
-(2723,-5020)
-(2725,-5022)
-(2726,-5030)
-(2730,-5035)
-(2730,-5046)
-(2731,-5048)
-(2736,-5050)
-(2738,-5053)
-(2740,-5060)
-(2740,-5069)
-(2744,-5074)
-(2746,-5081)
-(2748,-5085)
-(2746,-5089)
-(2746,-5099)
-(2743,-5096)
-(2738,-5104)
-(2736,-5106)
-(2732,-5106)
-(2728,-5104)
-(2726,-5100)
-(2725,-5095)
-(2724,-5095)
-(2722,-5103)
-(2723,-5108)
-(2719,-5119)
-(2716,-5123)
-(2712,-5124)
-(2706,-5123)
-(2700,-5124)
-(2695,-5125)
-(2686,-5132)
-(2686,-5134)
-(2690,-5133)
-(2693,-5130)
-(2698,-5129)
-(2700,-5130)
-(2699,-5132)
-(2696,-5132)
-(2694,-5134)
-(2694,-5133)
-(2692,-5135)
-(2687,-5136)
-(2689,-5139)
-(2691,-5139)
-(2698,-5136)
-(2699,-5136)
-(2699,-5139)
-(2702,-5136)
-(2703,-5134)
-(2709,-5137)
-(2709,-5134)
-(2712,-5132)
-(2713,-5133)
-(2711,-5139)
-(2706,-5142)
-(2704,-5146)
-(2697,-5150)
-(2697,-5153)
-(2699,-5156)
-(2697,-5158)
-(2695,-5160)
-(2695,-5164)
-(2685,-5165)
-(2685,-5170)
-(2682,-5176)
-(2675,-5174)
-(2669,-5176)
-(2662,-5176)
-(2650,-5184)
-(2644,-5191)
-(2640,-5190)
-(2637,-5187)
-(2635,-5188)
-(2628,-5186)
-(2626,-5187)
-(2621,-5192)
-(2618,-5193)
-(2616,-5192)
-(2594,-5181)
-(2596,-5176)
-(2596,-5175)
-(2593,-5180)
-(2580,-5174)
-(2565,-5173)
-(2554,-5174)
-(2547,-5177)
-(2537,-5181)
-(2528,-5190)
-(2516,-5196)
-(2511,-5201)
-(2506,-5210)
-(2501,-5222)
-(2498,-5231)
-(2497,-5236)
-(2498,-5244)
-(2499,-5246)
-(2501,-5245)
-(2500,-5247)
-(2501,-5248)
-(2503,-5251)
-(2510,-5256)
-(2517,-5259)
-(2524,-5260)
-(2527,-5265)
-(2534,-5269)
-(2541,-5270)
-(2544,-5268)
-(2550,-5268)
-(2558,-5269)
-(2563,-5266)
-(2567,-5266)
-(2572,-5270)
-(2579,-5271)
-(2581,-5274)
-(2585,-5272)
-(2587,-5274)
-(2590,-5273)
-(2595,-5274)
-(2601,-5272)
-(2609,-5268)
-(2614,-5268)
-(2621,-5262)
-(2626,-5262)
-(2630,-5264)
-(2635,-5264)
-(2646,-5258)
-(2649,-5253)
-(2651,-5250)
-(2654,-5250)
-(2657,-5252)
-(2660,-5253)
-(2662,-5251)
-(2672,-5249)
-(2681,-5242)
-(2688,-5240)
-(2690,-5245)
-(2693,-5247)
-(2691,-5250)
-(2692,-5252)
-(2690,-5253)
-(2691,-5254)
-(2691,-5256)
-(2688,-5260)
-(2679,-5266)
-(2677,-5272)
-(2675,-5274)
-(2673,-5276)
-(2673,-5280)
-(2675,-5283)
-(2679,-5281)
-(2680,-5279)
-(2683,-5279)
-(2693,-5270)
-(2696,-5270)
-(2699,-5259)
-(2704,-5258)
-(2706,-5256)
-(2710,-5256)
-(2714,-5251)
-(2725,-5240)
-(2732,-5237)
-(2740,-5230)
-(2742,-5226)
-(2749,-5223)
-(2755,-5219)
-(2754,-5218)
-(2750,-5220)
-(2741,-5218)
-(2743,-5217)
-(2744,-5211)
-(2749,-5207)
-(2752,-5206)
-(2750,-5201)
-(2754,-5195)
-(2753,-5193)
-(2751,-5192)
-(2748,-5195)
-(2747,-5194)
-(2747,-5198)
-(2742,-5200)
-(2741,-5203)
-(2738,-5201)
-(2736,-5197)
-(2737,-5196)
-(2740,-5197)
-(2740,-5196)
-(2743,-5195)
-(2743,-5192)
-(2745,-5191)
-(2749,-5181)
-(2754,-5179)
-(2756,-5177)
-(2758,-5173)
-(2758,-5166)
-(2758,-5161)
-(2756,-5155)
-(2757,-5156)
-(2758,-5154)
-(2759,-5148)
-(2758,-5140)
-(2766,-5132)
-(2766,-5119)
-(2764,-5116)
-(2764,-5111)
-(2761,-5101)
-(2756,-5095)
-(2755,-5091)
-(2753,-5090)
-(2751,-5085)
-(2752,-5082)
-(2753,-5084)
-(2755,-5084)
-(2756,-5083)
-(2758,-5084)
-(2759,-5081)
-(2762,-5081)
-(2763,-5079)
-(2762,-5073)
-(2759,-5072)
-(2760,-5070)
-(2759,-5068)
-(2761,-5067)
-(2760,-5063)
-(2759,-5062)
-(2760,-5061)
-(2759,-5050)
-(2759,-5049)
-(2757,-5040)
-(2758,-5034)
-(2761,-5034)
-(2762,-5037)
-(2762,-5039)
-(2766,-5043)
-(2769,-5042)
-(2771,-5049)
-(2771,-5054)
-(2772,-5056)
-(2775,-5051)
-(2777,-5053)
-(2781,-5053)
-(2786,-5056)
-(2790,-5059)
-(2790,-5062)
-(2790,-5065)
-(2787,-5068)
-(2785,-5074)
-(2786,-5076)
-(2787,-5075)
-(2789,-5077)
-(2790,-5079)
-(2787,-5089)
-(2789,-5095)
-(2790,-5096)
-(2789,-5100)
-(2790,-5102)
-(2792,-5103)
-(2794,-5101)
-(2803,-5101)
-(2807,-5097)
-(2806,-5103)
-(2807,-5109)
-(2806,-5116)
-(2801,-5130)
-(2802,-5154)
-(2800,-5166)
-(2801,-5169)
-(2793,-5186)
-(2794,-5188)
-(2786,-5199)
-(2787,-5200)
-(2787,-5202)
-(2790,-5206)
-(2789,-5207)
-(2787,-5210)
-(2787,-5212)
-(2790,-5216)
-(2792,-5218)
-(2793,-5221)
-(2792,-5225)
-(2790,-5228)
-(2791,-5241)
-(2792,-5243)
-(2796,-5243)
-(2798,-5248)
-(2799,-5248)
-(2805,-5255)
-(2808,-5256)
-(2809,-5258)
-(2809,-5260)
-(2811,-5261)
-(2810,-5263)
-(2813,-5265)
-(2813,-5266)
-(2814,-5269)
-(2816,-5284)
-(2814,-5292)
-(2810,-5297)
-(2814,-5295)
-(2818,-5288)
-(2818,-5291)
-(2814,-5298)
-(2812,-5301)
-(2812,-5304)
-(2810,-5304)
-(2806,-5309)
-(2808,-5307)
-(2811,-5309)
-(2819,-5307)
-(2823,-5310)
-(2822,-5311)
-(2825,-5310)
-(2827,-5311)
-(2828,-5318)
-(2833,-5317)
-(2834,-5319)
-(2827,-5333)
-(2821,-5337)
-(2820,-5344)
-(2820,-5348)
-(2816,-5353)
-(2813,-5359)
-(2811,-5365)
-(2811,-5373)
-(2810,-5377)
-(2810,-5388)
-(2801,-5402)
-(2797,-5418)
-(2797,-5421)
-(2795,-5425)
-(2794,-5427)
-(2796,-5430)
-(2796,-5434)
-(2798,-5440)
-(2802,-5445)
-(2801,-5444)
-(2800,-5446)
-(2800,-5444)
-(2798,-5447)
-(2796,-5455)
-(2796,-5457)
-(2797,-5457)
-(2800,-5455)
-(2802,-5451)
-(2805,-5453)
-(2807,-5452)
-(2809,-5449)
-(2813,-5447)
-(2814,-5446)
-(2817,-5448)
-(2817,-5450)
-(2818,-5452)
-(2816,-5456)
-(2817,-5459)
-(2815,-5462)
-(2813,-5463)
-(2813,-5466)
-(2812,-5467)
-(2812,-5468)
-(2813,-5469)
-(2811,-5471)
-(2812,-5472)
-(2813,-5472)
-(2812,-5475)
-(2807,-5483)
-(2805,-5496)
-(2802,-5506)
-(2801,-5517)
-(2802,-5522)
-(2806,-5526)
-(2807,-5526)
-(2809,-5524)
-(2816,-5509)
-(2820,-5503)
-(2821,-5500)
-(2826,-5494)
-(2832,-5482)
-(2846,-5466)
-(2857,-5447)
-(2863,-5431)
-(2867,-5412)
-(2873,-5390)
-(2877,-5382)
-(2878,-5381)
-(2878,-5380)
-(2880,-5378)
-(2879,-5375)
-(2880,-5375)
-122
-(2856,-6489)
-(2857,-6482)
-(2856,-6478)
-(2855,-6475)
-(2848,-6472)
-(2849,-6471)
-(2853,-6471)
-(2855,-6464)
-(2859,-6459)
-(2860,-6463)
-(2861,-6464)
-(2860,-6454)
-(2858,-6447)
-(2859,-6446)
-(2861,-6445)
-(2865,-6440)
-(2863,-6441)
-(2861,-6433)
-(2862,-6426)
-(2861,-6424)
-(2862,-6415)
-(2862,-6414)
-(2864,-6414)
-(2865,-6419)
-(2866,-6419)
-(2867,-6417)
-(2865,-6414)
-(2866,-6413)
-(2867,-6413)
-(2866,-6410)
-(2867,-6408)
-(2866,-6406)
-(2868,-6407)
-(2869,-6402)
-(2870,-6403)
-(2869,-6400)
-(2870,-6399)
-(2871,-6397)
-(2872,-6394)
-(2873,-6395)
-(2873,-6394)
-(2876,-6393)
-(2876,-6398)
-(2877,-6398)
-(2878,-6394)
-(2879,-6391)
-(2879,-6389)
-(2882,-6381)
-(2881,-6380)
-(2880,-6381)
-(2877,-6377)
-(2878,-6381)
-(2877,-6382)
-(2872,-6381)
-(2871,-6379)
-(2869,-6378)
-(2870,-6373)
-(2868,-6376)
-(2866,-6376)
-(2865,-6374)
-(2864,-6374)
-(2864,-6375)
-(2859,-6372)
-(2857,-6373)
-(2855,-6372)
-(2850,-6378)
-(2853,-6377)
-(2855,-6374)
-(2857,-6375)
-(2859,-6374)
-(2861,-6378)
-(2862,-6377)
-(2864,-6378)
-(2865,-6380)
-(2866,-6378)
-(2867,-6379)
-(2867,-6382)
-(2869,-6382)
-(2872,-6386)
-(2873,-6385)
-(2874,-6386)
-(2875,-6388)
-(2871,-6389)
-(2870,-6389)
-(2869,-6391)
-(2869,-6393)
-(2866,-6394)
-(2863,-6393)
-(2867,-6397)
-(2864,-6402)
-(2862,-6402)
-(2861,-6405)
-(2864,-6406)
-(2864,-6410)
-(2863,-6411)
-(2859,-6410)
-(2856,-6412)
-(2860,-6411)
-(2861,-6412)
-(2860,-6417)
-(2858,-6418)
-(2857,-6422)
-(2859,-6420)
-(2860,-6421)
-(2860,-6434)
-(2862,-6443)
-(2857,-6445)
-(2859,-6452)
-(2858,-6459)
-(2854,-6463)
-(2851,-6469)
-(2848,-6470)
-(2847,-6473)
-(2844,-6473)
-(2841,-6477)
-(2850,-6474)
-(2854,-6475)
-(2855,-6477)
-(2856,-6483)
-(2855,-6489)
-(2856,-6492)
-(2856,-6489)
-151
-(2801,-6041)
-(2800,-6038)
-(2797,-6036)
-(2797,-6033)
-(2795,-6033)
-(2789,-6033)
-(2787,-6034)
-(2780,-6032)
-(2776,-6034)
-(2774,-6033)
-(2769,-6036)
-(2767,-6033)
-(2765,-6035)
-(2760,-6032)
-(2753,-6024)
-(2755,-6020)
-(2754,-6019)
-(2750,-6022)
-(2744,-6018)
-(2742,-6018)
-(2738,-6025)
-(2733,-6027)
-(2731,-6025)
-(2729,-6019)
-(2726,-6018)
-(2723,-6015)
-(2719,-6018)
-(2717,-6016)
-(2714,-6015)
-(2710,-6016)
-(2705,-6019)
-(2704,-6018)
-(2704,-6015)
-(2700,-6017)
-(2701,-6021)
-(2700,-6024)
-(2697,-6024)
-(2693,-6023)
-(2686,-6030)
-(2684,-6034)
-(2686,-6037)
-(2688,-6040)
-(2687,-6041)
-(2682,-6036)
-(2677,-6037)
-(2675,-6036)
-(2674,-6033)
-(2675,-6031)
-(2677,-6028)
-(2674,-6029)
-(2673,-6028)
-(2669,-6033)
-(2669,-6027)
-(2670,-6025)
-(2669,-6024)
-(2668,-6023)
-(2666,-6024)
-(2667,-6027)
-(2666,-6034)
-(2668,-6037)
-(2671,-6039)
-(2671,-6037)
-(2673,-6034)
-(2673,-6038)
-(2675,-6041)
-(2680,-6040)
-(2680,-6041)
-(2682,-6040)
-(2684,-6042)
-(2684,-6045)
-(2684,-6046)
-(2685,-6047)
-(2686,-6051)
-(2685,-6056)
-(2685,-6057)
-(2683,-6061)
-(2684,-6068)
-(2682,-6072)
-(2682,-6073)
-(2686,-6069)
-(2686,-6060)
-(2687,-6058)
-(2689,-6059)
-(2690,-6055)
-(2688,-6054)
-(2688,-6051)
-(2691,-6052)
-(2688,-6048)
-(2689,-6046)
-(2690,-6045)
-(2693,-6047)
-(2693,-6046)
-(2693,-6042)
-(2691,-6040)
-(2691,-6038)
-(2687,-6035)
-(2687,-6033)
-(2689,-6032)
-(2694,-6033)
-(2691,-6028)
-(2693,-6026)
-(2703,-6029)
-(2702,-6026)
-(2703,-6023)
-(2703,-6020)
-(2707,-6021)
-(2711,-6019)
-(2712,-6020)
-(2713,-6018)
-(2715,-6018)
-(2718,-6020)
-(2719,-6022)
-(2721,-6023)
-(2722,-6030)
-(2720,-6037)
-(2720,-6043)
-(2724,-6027)
-(2721,-6021)
-(2723,-6018)
-(2729,-6023)
-(2730,-6029)
-(2739,-6037)
-(2739,-6040)
-(2741,-6037)
-(2739,-6034)
-(2736,-6029)
-(2737,-6027)
-(2741,-6025)
-(2741,-6020)
-(2752,-6025)
-(2752,-6026)
-(2753,-6029)
-(2755,-6033)
-(2760,-6035)
-(2762,-6037)
-(2764,-6037)
-(2766,-6040)
-(2768,-6039)
-(2770,-6041)
-(2773,-6035)
-(2777,-6035)
-(2780,-6034)
-(2784,-6035)
-(2785,-6037)
-(2787,-6036)
-(2794,-6036)
-(2797,-6038)
-(2800,-6047)
-(2803,-6049)
-(2801,-6044)
-(2801,-6041)
-51
-(2637,-5961)
-(2635,-5961)
-(2631,-5958)
-(2628,-5962)
-(2626,-5965)
-(2623,-5964)
-(2621,-5967)
-(2620,-5963)
-(2619,-5961)
-(2615,-5960)
-(2611,-5956)
-(2609,-5958)
-(2609,-5957)
-(2607,-5954)
-(2606,-5949)
-(2599,-5943)
-(2597,-5939)
-(2595,-5933)
-(2591,-5931)
-(2590,-5926)
-(2590,-5924)
-(2586,-5922)
-(2585,-5914)
-(2583,-5913)
-(2584,-5923)
-(2586,-5925)
-(2588,-5927)
-(2589,-5933)
-(2591,-5935)
-(2593,-5934)
-(2594,-5934)
-(2597,-5941)
-(2605,-5951)
-(2606,-5956)
-(2608,-5959)
-(2610,-5960)
-(2612,-5958)
-(2614,-5961)
-(2618,-5962)
-(2619,-5964)
-(2619,-5968)
-(2621,-5969)
-(2622,-5968)
-(2623,-5965)
-(2627,-5966)
-(2628,-5962)
-(2631,-5959)
-(2635,-5963)
-(2639,-5962)
-(2639,-5960)
-(2637,-5961)
-168
-(2596,-4743)
-(2596,-4749)
-(2591,-4761)
-(2592,-4765)
-(2592,-4774)
-(2595,-4782)
-(2596,-4785)
-(2599,-4787)
-(2601,-4786)
-(2609,-4777)
-(2614,-4775)
-(2616,-4771)
-(2619,-4768)
-(2619,-4762)
-(2620,-4760)
-(2627,-4748)
-(2630,-4746)
-(2630,-4742)
-(2632,-4737)
-(2632,-4724)
-(2635,-4716)
-(2634,-4709)
-(2637,-4696)
-(2639,-4675)
-(2641,-4668)
-(2640,-4661)
-(2641,-4661)
-(2641,-4664)
-(2642,-4662)
-(2642,-4660)
-(2642,-4656)
-(2641,-4652)
-(2640,-4652)
-(2640,-4655)
-(2637,-4649)
-(2638,-4640)
-(2637,-4637)
-(2638,-4635)
-(2637,-4636)
-(2637,-4640)
-(2635,-4637)
-(2637,-4630)
-(2633,-4634)
-(2631,-4628)
-(2636,-4615)
-(2637,-4611)
-(2637,-4612)
-(2637,-4616)
-(2637,-4620)
-(2636,-4622)
-(2637,-4623)
-(2639,-4620)
-(2640,-4621)
-(2642,-4615)
-(2647,-4611)
-(2643,-4619)
-(2643,-4626)
-(2642,-4628)
-(2647,-4625)
-(2651,-4624)
-(2649,-4631)
-(2649,-4635)
-(2647,-4638)
-(2646,-4636)
-(2645,-4639)
-(2646,-4640)
-(2648,-4639)
-(2648,-4640)
-(2649,-4638)
-(2649,-4639)
-(2649,-4645)
-(2645,-4654)
-(2645,-4655)
-(2647,-4653)
-(2648,-4649)
-(2651,-4640)
-(2650,-4639)
-(2651,-4634)
-(2650,-4631)
-(2651,-4628)
-(2653,-4621)
-(2652,-4620)
-(2650,-4623)
-(2648,-4623)
-(2652,-4616)
-(2651,-4613)
-(2648,-4620)
-(2646,-4624)
-(2645,-4622)
-(2644,-4623)
-(2645,-4618)
-(2647,-4614)
-(2653,-4601)
-(2654,-4598)
-(2653,-4597)
-(2654,-4590)
-(2655,-4589)
-(2654,-4588)
-(2655,-4585)
-(2659,-4578)
-(2660,-4571)
-(2662,-4565)
-(2662,-4562)
-(2664,-4557)
-(2669,-4548)
-(2669,-4547)
-(2667,-4546)
-(2665,-4548)
-(2665,-4550)
-(2663,-4551)
-(2661,-4556)
-(2656,-4563)
-(2653,-4571)
-(2647,-4582)
-(2645,-4581)
-(2644,-4578)
-(2642,-4578)
-(2644,-4576)
-(2645,-4573)
-(2644,-4572)
-(2644,-4569)
-(2643,-4570)
-(2643,-4567)
-(2640,-4573)
-(2639,-4573)
-(2638,-4570)
-(2639,-4568)
-(2640,-4565)
-(2640,-4563)
-(2639,-4564)
-(2637,-4568)
-(2634,-4569)
-(2632,-4573)
-(2632,-4574)
-(2634,-4574)
-(2632,-4578)
-(2629,-4574)
-(2624,-4572)
-(2619,-4573)
-(2620,-4572)
-(2620,-4570)
-(2618,-4573)
-(2616,-4573)
-(2615,-4571)
-(2612,-4576)
-(2611,-4578)
-(2612,-4585)
-(2609,-4590)
-(2608,-4594)
-(2605,-4598)
-(2603,-4601)
-(2600,-4603)
-(2601,-4604)
-(2600,-4606)
-(2598,-4616)
-(2596,-4616)
-(2595,-4617)
-(2597,-4619)
-(2598,-4629)
-(2597,-4643)
-(2595,-4652)
-(2595,-4655)
-(2600,-4665)
-(2603,-4686)
-(2603,-4713)
-(2600,-4725)
-(2599,-4733)
-(2596,-4743)
-171
-(2553,-4958)
-(2553,-4959)
-(2551,-4956)
-(2550,-4949)
-(2549,-4948)
-(2550,-4945)
-(2547,-4946)
-(2543,-4944)
-(2540,-4946)
-(2539,-4949)
-(2538,-4958)
-(2539,-4967)
-(2541,-4977)
-(2539,-4980)
-(2539,-4983)
-(2535,-4986)
-(2524,-4987)
-(2523,-4985)
-(2519,-4974)
-(2519,-4970)
-(2522,-4962)
-(2522,-4958)
-(2519,-4953)
-(2515,-4950)
-(2522,-4949)
-(2526,-4945)
-(2535,-4924)
-(2536,-4915)
-(2537,-4915)
-(2539,-4911)
-(2538,-4912)
-(2535,-4914)
-(2536,-4911)
-(2541,-4909)
-(2544,-4907)
-(2554,-4892)
-(2559,-4880)
-(2560,-4868)
-(2560,-4855)
-(2559,-4850)
-(2554,-4831)
-(2554,-4821)
-(2552,-4807)
-(2553,-4803)
-(2554,-4808)
-(2555,-4818)
-(2556,-4821)
-(2556,-4826)
-(2557,-4827)
-(2559,-4826)
-(2561,-4822)
-(2560,-4820)
-(2563,-4819)
-(2567,-4812)
-(2569,-4790)
-(2572,-4783)
-(2571,-4778)
-(2572,-4775)
-(2571,-4769)
-(2573,-4767)
-(2572,-4761)
-(2573,-4757)
-(2573,-4750)
-(2572,-4747)
-(2570,-4746)
-(2572,-4745)
-(2573,-4737)
-(2575,-4735)
-(2577,-4736)
-(2578,-4739)
-(2580,-4742)
-(2583,-4742)
-(2585,-4745)
-(2586,-4744)
-(2585,-4743)
-(2584,-4735)
-(2583,-4733)
-(2582,-4733)
-(2580,-4736)
-(2579,-4736)
-(2577,-4734)
-(2570,-4732)
-(2567,-4732)
-(2563,-4742)
-(2554,-4749)
-(2554,-4752)
-(2549,-4762)
-(2542,-4772)
-(2536,-4786)
-(2528,-4807)
-(2527,-4808)
-(2529,-4807)
-(2529,-4804)
-(2530,-4806)
-(2525,-4813)
-(2518,-4831)
-(2510,-4862)
-(2504,-4880)
-(2495,-4894)
-(2490,-4903)
-(2490,-4910)
-(2489,-4911)
-(2490,-4917)
-(2491,-4921)
-(2490,-4927)
-(2487,-4935)
-(2486,-4942)
-(2483,-4948)
-(2486,-4955)
-(2490,-4961)
-(2488,-4960)
-(2486,-4957)
-(2488,-4962)
-(2487,-4966)
-(2488,-4967)
-(2489,-4968)
-(2486,-4975)
-(2487,-4978)
-(2486,-4979)
-(2487,-4980)
-(2488,-4983)
-(2488,-4978)
-(2489,-4977)
-(2491,-4962)
-(2493,-4962)
-(2493,-4968)
-(2495,-4970)
-(2493,-4971)
-(2492,-4973)
-(2492,-4978)
-(2493,-4980)
-(2496,-4984)
-(2499,-4994)
-(2503,-4999)
-(2502,-5000)
-(2503,-5007)
-(2504,-5008)
-(2506,-5007)
-(2506,-5005)
-(2509,-5005)
-(2513,-5001)
-(2513,-5000)
-(2516,-4999)
-(2517,-4998)
-(2516,-4995)
-(2519,-4996)
-(2519,-4993)
-(2522,-4992)
-(2521,-4991)
-(2525,-4992)
-(2534,-4989)
-(2537,-4987)
-(2541,-4981)
-(2542,-4976)
-(2544,-4973)
-(2547,-4972)
-(2550,-4973)
-(2552,-4972)
-(2554,-4970)
-(2554,-4967)
-(2556,-4967)
-(2557,-4969)
-(2559,-4969)
-(2559,-4966)
-(2562,-4962)
-(2561,-4958)
-(2559,-4958)
-(2557,-4957)
-(2556,-4958)
-(2554,-4957)
-(2553,-4958)
-58
-(2500,-6766)
-(2497,-6767)
-(2492,-6765)
-(2488,-6762)
-(2486,-6758)
-(2486,-6754)
-(2484,-6753)
-(2480,-6750)
-(2477,-6750)
-(2473,-6749)
-(2473,-6745)
-(2473,-6744)
-(2474,-6741)
-(2473,-6737)
-(2469,-6735)
-(2468,-6732)
-(2466,-6731)
-(2464,-6728)
-(2462,-6726)
-(2460,-6726)
-(2459,-6724)
-(2456,-6723)
-(2456,-6720)
-(2455,-6723)
-(2456,-6725)
-(2463,-6730)
-(2465,-6734)
-(2463,-6736)
-(2456,-6733)
-(2453,-6732)
-(2451,-6730)
-(2448,-6730)
-(2445,-6732)
-(2441,-6741)
-(2442,-6742)
-(2447,-6743)
-(2450,-6746)
-(2453,-6747)
-(2457,-6749)
-(2457,-6752)
-(2461,-6752)
-(2465,-6754)
-(2465,-6757)
-(2458,-6761)
-(2463,-6765)
-(2471,-6767)
-(2478,-6772)
-(2480,-6775)
-(2482,-6774)
-(2486,-6777)
-(2488,-6776)
-(2490,-6777)
-(2494,-6777)
-(2495,-6775)
-(2498,-6775)
-(2500,-6773)
-(2501,-6767)
-(2500,-6766)
-94
-(2273,-6622)
-(2271,-6624)
-(2268,-6623)
-(2268,-6625)
-(2268,-6626)
-(2267,-6625)
-(2263,-6625)
-(2262,-6627)
-(2259,-6627)
-(2257,-6633)
-(2254,-6635)
-(2251,-6638)
-(2249,-6638)
-(2248,-6642)
-(2247,-6642)
-(2246,-6639)
-(2243,-6642)
-(2241,-6642)
-(2239,-6644)
-(2237,-6649)
-(2234,-6650)
-(2232,-6652)
-(2231,-6648)
-(2231,-6641)
-(2233,-6639)
-(2232,-6638)
-(2231,-6640)
-(2230,-6644)
-(2231,-6653)
-(2227,-6658)
-(2226,-6664)
-(2225,-6666)
-(2226,-6667)
-(2225,-6668)
-(2225,-6670)
-(2223,-6670)
-(2222,-6668)
-(2220,-6668)
-(2222,-6672)
-(2221,-6673)
-(2219,-6673)
-(2222,-6676)
-(2220,-6677)
-(2220,-6683)
-(2218,-6682)
-(2217,-6683)
-(2216,-6688)
-(2220,-6690)
-(2223,-6693)
-(2222,-6686)
-(2223,-6685)
-(2226,-6687)
-(2222,-6682)
-(2222,-6679)
-(2223,-6679)
-(2224,-6680)
-(2226,-6680)
-(2227,-6676)
-(2230,-6678)
-(2229,-6675)
-(2225,-6672)
-(2228,-6670)
-(2231,-6671)
-(2229,-6667)
-(2227,-6667)
-(2228,-6657)
-(2236,-6652)
-(2239,-6654)
-(2238,-6650)
-(2239,-6650)
-(2240,-6651)
-(2241,-6652)
-(2240,-6647)
-(2242,-6644)
-(2244,-6644)
-(2246,-6642)
-(2251,-6646)
-(2250,-6644)
-(2254,-6646)
-(2254,-6645)
-(2250,-6641)
-(2250,-6639)
-(2254,-6638)
-(2259,-6633)
-(2260,-6630)
-(2262,-6629)
-(2266,-6627)
-(2267,-6628)
-(2269,-6628)
-(2271,-6626)
-(2273,-6625)
-(2274,-6625)
-(2274,-6622)
-(2273,-6622)
-40
-(2218,-5293)
-(2212,-5288)
-(2197,-5282)
-(2191,-5280)
-(2186,-5282)
-(2179,-5277)
-(2171,-5276)
-(2170,-5274)
-(2166,-5275)
-(2162,-5279)
-(2160,-5280)
-(2157,-5280)
-(2156,-5278)
-(2156,-5281)
-(2158,-5282)
-(2160,-5280)
-(2163,-5282)
-(2164,-5279)
-(2168,-5276)
-(2179,-5279)
-(2184,-5283)
-(2181,-5285)
-(2175,-5285)
-(2175,-5286)
-(2178,-5286)
-(2178,-5289)
-(2180,-5288)
-(2183,-5286)
-(2184,-5287)
-(2186,-5285)
-(2192,-5283)
-(2196,-5284)
-(2197,-5286)
-(2199,-5285)
-(2201,-5285)
-(2203,-5287)
-(2216,-5293)
-(2219,-5297)
-(2221,-5297)
-(2218,-5293)
-80
-(2194,-6859)
-(2188,-6860)
-(2185,-6859)
-(2180,-6862)
-(2172,-6863)
-(2170,-6862)
-(2167,-6858)
-(2164,-6857)
-(2164,-6855)
-(2163,-6855)
-(2162,-6853)
-(2162,-6849)
-(2164,-6849)
-(2170,-6846)
-(2172,-6843)
-(2173,-6841)
-(2176,-6840)
-(2169,-6837)
-(2168,-6835)
-(2166,-6834)
-(2164,-6831)
-(2164,-6828)
-(2162,-6825)
-(2159,-6825)
-(2157,-6822)
-(2154,-6821)
-(2151,-6818)
-(2150,-6818)
-(2151,-6820)
-(2152,-6820)
-(2153,-6823)
-(2156,-6823)
-(2158,-6826)
-(2162,-6827)
-(2163,-6832)
-(2168,-6836)
-(2167,-6837)
-(2167,-6839)
-(2172,-6840)
-(2171,-6843)
-(2161,-6847)
-(2160,-6854)
-(2161,-6855)
-(2163,-6860)
-(2166,-6859)
-(2168,-6861)
-(2166,-6862)
-(2167,-6864)
-(2165,-6864)
-(2163,-6867)
-(2165,-6868)
-(2166,-6869)
-(2169,-6873)
-(2168,-6874)
-(2168,-6877)
-(2166,-6880)
-(2165,-6882)
-(2164,-6883)
-(2162,-6882)
-(2161,-6884)
-(2162,-6884)
-(2162,-6885)
-(2163,-6889)
-(2165,-6888)
-(2168,-6891)
-(2168,-6883)
-(2169,-6883)
-(2169,-6881)
-(2170,-6874)
-(2170,-6867)
-(2176,-6865)
-(2180,-6866)
-(2186,-6862)
-(2188,-6862)
-(2188,-6864)
-(2190,-6865)
-(2189,-6861)
-(2191,-6861)
-(2195,-6860)
-(2194,-6859)
-22
-(2091,-5251)
-(2089,-5246)
-(2089,-5239)
-(2086,-5237)
-(2086,-5232)
-(2082,-5226)
-(2081,-5220)
-(2078,-5218)
-(2077,-5216)
-(2074,-5214)
-(2081,-5229)
-(2083,-5229)
-(2084,-5230)
-(2085,-5234)
-(2084,-5236)
-(2088,-5243)
-(2088,-5247)
-(2089,-5253)
-(2088,-5255)
-(2086,-5262)
-(2087,-5261)
-(2091,-5251)
-29
-(1631,-4845)
-(1627,-4840)
-(1617,-4837)
-(1612,-4838)
-(1608,-4842)
-(1605,-4842)
-(1604,-4843)
-(1606,-4843)
-(1605,-4845)
-(1605,-4844)
-(1601,-4844)
-(1602,-4849)
-(1605,-4854)
-(1611,-4858)
-(1611,-4859)
-(1613,-4859)
-(1613,-4863)
-(1613,-4864)
-(1617,-4864)
-(1617,-4866)
-(1618,-4866)
-(1621,-4859)
-(1623,-4857)
-(1624,-4858)
-(1624,-4855)
-(1626,-4855)
-(1631,-4850)
-(1632,-4848)
-(1631,-4845)
-63
-(958,-233)
-(956,-238)
-(953,-240)
-(951,-241)
-(952,-247)
-(954,-248)
-(953,-251)
-(945,-253)
-(944,-257)
-(939,-260)
-(934,-260)
-(930,-257)
-(928,-255)
-(925,-255)
-(922,-249)
-(922,-247)
-(923,-247)
-(920,-244)
-(919,-241)
-(919,-239)
-(918,-239)
-(917,-238)
-(918,-241)
-(917,-241)
-(917,-242)
-(916,-242)
-(918,-243)
-(916,-244)
-(918,-248)
-(917,-250)
-(916,-249)
-(916,-250)
-(914,-250)
-(914,-251)
-(913,-252)
-(913,-254)
-(917,-251)
-(915,-254)
-(915,-256)
-(918,-252)
-(919,-250)
-(920,-252)
-(923,-254)
-(921,-255)
-(922,-257)
-(923,-255)
-(924,-256)
-(928,-256)
-(930,-258)
-(933,-261)
-(940,-261)
-(945,-257)
-(945,-254)
-(951,-253)
-(954,-251)
-(955,-248)
-(954,-246)
-(952,-246)
-(952,-242)
-(954,-240)
-(956,-239)
-(957,-237)
-(958,-233)
-60
-(727,-5146)
-(725,-5143)
-(722,-5138)
-(723,-5136)
-(723,-5135)
-(712,-5126)
-(713,-5125)
-(712,-5121)
-(710,-5118)
-(708,-5116)
-(705,-5111)
-(694,-5103)
-(686,-5096)
-(686,-5094)
-(682,-5093)
-(680,-5091)
-(679,-5092)
-(678,-5089)
-(676,-5087)
-(673,-5087)
-(668,-5087)
-(666,-5086)
-(663,-5089)
-(661,-5093)
-(662,-5095)
-(663,-5096)
-(663,-5099)
-(664,-5099)
-(665,-5107)
-(666,-5110)
-(665,-5112)
-(666,-5115)
-(669,-5120)
-(670,-5126)
-(672,-5131)
-(674,-5133)
-(675,-5137)
-(681,-5144)
-(687,-5147)
-(690,-5147)
-(695,-5151)
-(696,-5152)
-(697,-5152)
-(696,-5151)
-(701,-5152)
-(699,-5152)
-(703,-5155)
-(704,-5155)
-(705,-5153)
-(708,-5153)
-(713,-5156)
-(714,-5155)
-(713,-5154)
-(714,-5154)
-(715,-5156)
-(719,-5156)
-(725,-5152)
-(725,-5149)
-(727,-5147)
-(727,-5146)
-211
-(486,-329)
-(482,-332)
-(480,-332)
-(479,-333)
-(477,-333)
-(476,-335)
-(475,-331)
-(475,-332)
-(474,-332)
-(474,-335)
-(472,-335)
-(471,-336)
-(470,-335)
-(469,-338)
-(467,-336)
-(467,-338)
-(466,-338)
-(465,-336)
-(464,-337)
-(465,-335)
-(467,-335)
-(469,-330)
-(466,-332)
-(464,-333)
-(460,-335)
-(459,-335)
-(458,-337)
-(456,-337)
-(454,-338)
-(453,-337)
-(454,-333)
-(452,-335)
-(450,-334)
-(449,-335)
-(450,-335)
-(451,-338)
-(450,-338)
-(450,-341)
-(448,-342)
-(447,-341)
-(445,-342)
-(445,-340)
-(443,-339)
-(444,-337)
-(443,-338)
-(442,-338)
-(442,-339)
-(440,-340)
-(440,-339)
-(439,-340)
-(439,-337)
-(436,-337)
-(435,-336)
-(434,-337)
-(433,-335)
-(432,-334)
-(435,-333)
-(435,-335)
-(439,-335)
-(438,-334)
-(438,-331)
-(440,-331)
-(441,-333)
-(443,-333)
-(442,-333)
-(441,-330)
-(443,-331)
-(445,-330)
-(445,-333)
-(446,-333)
-(448,-333)
-(450,-331)
-(448,-331)
-(448,-330)
-(449,-330)
-(449,-329)
-(447,-329)
-(448,-327)
-(451,-326)
-(454,-327)
-(454,-324)
-(451,-324)
-(449,-324)
-(447,-323)
-(445,-325)
-(442,-326)
-(444,-322)
-(446,-322)
-(445,-318)
-(441,-323)
-(440,-326)
-(437,-327)
-(437,-326)
-(438,-322)
-(436,-323)
-(436,-324)
-(435,-323)
-(435,-324)
-(434,-324)
-(434,-326)
-(435,-326)
-(434,-327)
-(434,-329)
-(432,-328)
-(430,-329)
-(430,-328)
-(429,-328)
-(430,-327)
-(429,-326)
-(430,-324)
-(429,-324)
-(427,-325)
-(427,-323)
-(425,-324)
-(426,-325)
-(425,-326)
-(424,-325)
-(424,-323)
-(423,-323)
-(421,-323)
-(422,-321)
-(420,-322)
-(419,-321)
-(417,-322)
-(418,-323)
-(416,-323)
-(417,-324)
-(416,-325)
-(418,-325)
-(418,-327)
-(420,-327)
-(418,-328)
-(423,-330)
-(423,-333)
-(424,-333)
-(424,-335)
-(425,-335)
-(425,-339)
-(424,-340)
-(426,-341)
-(426,-343)
-(427,-343)
-(430,-341)
-(429,-344)
-(430,-344)
-(432,-344)
-(432,-346)
-(433,-346)
-(434,-343)
-(434,-346)
-(438,-347)
-(436,-348)
-(435,-349)
-(440,-350)
-(439,-348)
-(440,-347)
-(440,-345)
-(442,-347)
-(443,-345)
-(445,-346)
-(446,-345)
-(446,-346)
-(445,-347)
-(446,-347)
-(447,-347)
-(448,-345)
-(450,-346)
-(451,-344)
-(452,-346)
-(454,-346)
-(453,-343)
-(454,-343)
-(455,-343)
-(457,-342)
-(457,-344)
-(459,-344)
-(458,-343)
-(459,-342)
-(461,-343)
-(463,-342)
-(463,-345)
-(465,-345)
-(465,-343)
-(466,-344)
-(468,-346)
-(468,-344)
-(466,-342)
-(466,-341)
-(468,-342)
-(469,-341)
-(469,-342)
-(471,-342)
-(472,-344)
-(475,-344)
-(474,-342)
-(473,-343)
-(472,-343)
-(473,-341)
-(472,-341)
-(471,-340)
-(471,-339)
-(474,-339)
-(475,-338)
-(476,-338)
-(476,-337)
-(478,-337)
-(479,-335)
-(482,-334)
-(484,-332)
-(486,-332)
-(486,-329)
-160
-(-993,-4141)
-(-993,-4143)
-(-989,-4146)
-(-988,-4145)
-(-985,-4142)
-(-983,-4142)
-(-979,-4142)
-(-976,-4145)
-(-976,-4142)
-(-976,-4140)
-(-976,-4139)
-(-973,-4138)
-(-973,-4137)
-(-974,-4134)
-(-976,-4134)
-(-976,-4131)
-(-975,-4131)
-(-972,-4134)
-(-970,-4138)
-(-966,-4141)
-(-965,-4147)
-(-963,-4147)
-(-964,-4148)
-(-965,-4148)
-(-967,-4145)
-(-969,-4145)
-(-970,-4146)
-(-971,-4148)
-(-972,-4146)
-(-973,-4146)
-(-975,-4147)
-(-975,-4149)
-(-976,-4154)
-(-977,-4156)
-(-975,-4158)
-(-975,-4162)
-(-973,-4163)
-(-972,-4163)
-(-971,-4163)
-(-972,-4164)
-(-971,-4165)
-(-973,-4169)
-(-972,-4170)
-(-971,-4171)
-(-969,-4169)
-(-965,-4165)
-(-961,-4166)
-(-961,-4170)
-(-959,-4174)
-(-959,-4180)
-(-956,-4182)
-(-956,-4181)
-(-955,-4181)
-(-954,-4182)
-(-955,-4183)
-(-954,-4186)
-(-947,-4188)
-(-947,-4190)
-(-949,-4191)
-(-952,-4192)
-(-954,-4188)
-(-955,-4188)
-(-955,-4193)
-(-953,-4194)
-(-953,-4196)
-(-951,-4199)
-(-952,-4200)
-(-951,-4201)
-(-948,-4200)
-(-947,-4202)
-(-943,-4202)
-(-942,-4201)
-(-942,-4198)
-(-940,-4198)
-(-937,-4195)
-(-936,-4195)
-(-934,-4197)
-(-935,-4195)
-(-938,-4192)
-(-942,-4191)
-(-944,-4188)
-(-944,-4185)
-(-941,-4188)
-(-941,-4187)
-(-940,-4187)
-(-939,-4189)
-(-936,-4190)
-(-934,-4192)
-(-925,-4197)
-(-923,-4197)
-(-923,-4194)
-(-921,-4192)
-(-922,-4189)
-(-921,-4188)
-(-919,-4193)
-(-918,-4193)
-(-918,-4191)
-(-919,-4187)
-(-918,-4185)
-(-918,-4183)
-(-917,-4183)
-(-915,-4185)
-(-915,-4184)
-(-915,-4181)
-(-918,-4179)
-(-921,-4178)
-(-921,-4174)
-(-926,-4169)
-(-928,-4167)
-(-930,-4166)
-(-928,-4163)
-(-929,-4162)
-(-930,-4162)
-(-930,-4163)
-(-934,-4159)
-(-934,-4157)
-(-937,-4158)
-(-941,-4156)
-(-940,-4151)
-(-941,-4149)
-(-942,-4151)
-(-944,-4146)
-(-946,-4144)
-(-948,-4142)
-(-952,-4140)
-(-956,-4141)
-(-957,-4136)
-(-956,-4133)
-(-958,-4127)
-(-960,-4126)
-(-961,-4130)
-(-964,-4131)
-(-964,-4135)
-(-970,-4131)
-(-973,-4131)
-(-973,-4130)
-(-971,-4128)
-(-974,-4121)
-(-973,-4118)
-(-973,-4116)
-(-975,-4116)
-(-975,-4115)
-(-976,-4115)
-(-977,-4116)
-(-980,-4115)
-(-981,-4118)
-(-980,-4118)
-(-978,-4121)
-(-980,-4124)
-(-981,-4121)
-(-983,-4124)
-(-985,-4126)
-(-985,-4129)
-(-985,-4134)
-(-986,-4137)
-(-988,-4137)
-(-988,-4131)
-(-996,-4132)
-(-996,-4136)
-(-993,-4141)
-265
-(-1143,-2706)
-(-1140,-2707)
-(-1139,-2708)
-(-1138,-2707)
-(-1136,-2708)
-(-1135,-2707)
-(-1134,-2711)
-(-1137,-2710)
-(-1138,-2710)
-(-1136,-2711)
-(-1139,-2713)
-(-1138,-2713)
-(-1136,-2713)
-(-1137,-2714)
-(-1135,-2715)
-(-1138,-2718)
-(-1140,-2720)
-(-1140,-2721)
-(-1140,-2722)
-(-1142,-2725)
-(-1141,-2726)
-(-1141,-2725)
-(-1138,-2722)
-(-1138,-2719)
-(-1137,-2722)
-(-1137,-2725)
-(-1136,-2726)
-(-1137,-2724)
-(-1136,-2723)
-(-1135,-2723)
-(-1136,-2721)
-(-1134,-2722)
-(-1136,-2720)
-(-1137,-2719)
-(-1137,-2718)
-(-1135,-2717)
-(-1136,-2716)
-(-1134,-2716)
-(-1134,-2715)
-(-1136,-2712)
-(-1134,-2713)
-(-1132,-2712)
-(-1132,-2711)
-(-1129,-2711)
-(-1127,-2713)
-(-1124,-2712)
-(-1122,-2713)
-(-1123,-2715)
-(-1125,-2714)
-(-1125,-2715)
-(-1126,-2715)
-(-1128,-2717)
-(-1128,-2716)
-(-1129,-2716)
-(-1131,-2713)
-(-1131,-2715)
-(-1132,-2717)
-(-1130,-2716)
-(-1131,-2718)
-(-1132,-2719)
-(-1131,-2719)
-(-1130,-2717)
-(-1129,-2717)
-(-1130,-2720)
-(-1131,-2722)
-(-1129,-2723)
-(-1129,-2721)
-(-1127,-2721)
-(-1129,-2720)
-(-1129,-2718)
-(-1126,-2717)
-(-1126,-2716)
-(-1125,-2717)
-(-1123,-2716)
-(-1121,-2714)
-(-1119,-2715)
-(-1117,-2715)
-(-1117,-2716)
-(-1115,-2714)
-(-1116,-2717)
-(-1118,-2718)
-(-1117,-2718)
-(-1123,-2721)
-(-1119,-2720)
-(-1119,-2723)
-(-1118,-2724)
-(-1117,-2723)
-(-1118,-2722)
-(-1118,-2720)
-(-1116,-2718)
-(-1117,-2720)
-(-1116,-2720)
-(-1115,-2720)
-(-1116,-2719)
-(-1114,-2718)
-(-1113,-2718)
-(-1114,-2716)
-(-1112,-2713)
-(-1112,-2715)
-(-1112,-2717)
-(-1110,-2717)
-(-1111,-2719)
-(-1110,-2718)
-(-1109,-2721)
-(-1111,-2722)
-(-1110,-2724)
-(-1109,-2722)
-(-1108,-2722)
-(-1110,-2725)
-(-1111,-2724)
-(-1113,-2723)
-(-1113,-2724)
-(-1115,-2724)
-(-1115,-2725)
-(-1115,-2726)
-(-1113,-2725)
-(-1112,-2726)
-(-1114,-2727)
-(-1112,-2727)
-(-1119,-2732)
-(-1117,-2732)
-(-1114,-2732)
-(-1112,-2729)
-(-1112,-2730)
-(-1111,-2731)
-(-1111,-2729)
-(-1111,-2728)
-(-1110,-2728)
-(-1109,-2726)
-(-1108,-2727)
-(-1109,-2729)
-(-1107,-2728)
-(-1107,-2727)
-(-1106,-2728)
-(-1104,-2727)
-(-1106,-2726)
-(-1106,-2725)
-(-1107,-2724)
-(-1106,-2723)
-(-1105,-2724)
-(-1106,-2722)
-(-1105,-2721)
-(-1104,-2719)
-(-1102,-2719)
-(-1101,-2717)
-(-1100,-2719)
-(-1104,-2721)
-(-1102,-2721)
-(-1103,-2723)
-(-1102,-2723)
-(-1101,-2722)
-(-1101,-2721)
-(-1099,-2721)
-(-1099,-2720)
-(-1097,-2720)
-(-1095,-2717)
-(-1095,-2718)
-(-1094,-2717)
-(-1094,-2718)
-(-1099,-2725)
-(-1098,-2725)
-(-1095,-2721)
-(-1094,-2722)
-(-1094,-2720)
-(-1092,-2717)
-(-1093,-2715)
-(-1094,-2714)
-(-1095,-2713)
-(-1095,-2714)
-(-1096,-2714)
-(-1097,-2716)
-(-1098,-2715)
-(-1098,-2711)
-(-1099,-2716)
-(-1101,-2716)
-(-1102,-2716)
-(-1102,-2715)
-(-1103,-2717)
-(-1104,-2717)
-(-1105,-2718)
-(-1106,-2716)
-(-1105,-2714)
-(-1106,-2713)
-(-1107,-2716)
-(-1106,-2720)
-(-1106,-2721)
-(-1108,-2720)
-(-1108,-2717)
-(-1110,-2716)
-(-1109,-2714)
-(-1108,-2714)
-(-1108,-2712)
-(-1108,-2713)
-(-1110,-2714)
-(-1110,-2715)
-(-1110,-2711)
-(-1113,-2712)
-(-1112,-2710)
-(-1113,-2710)
-(-1114,-2711)
-(-1115,-2713)
-(-1116,-2711)
-(-1116,-2712)
-(-1118,-2712)
-(-1119,-2710)
-(-1118,-2709)
-(-1116,-2709)
-(-1114,-2707)
-(-1116,-2709)
-(-1117,-2709)
-(-1116,-2708)
-(-1117,-2708)
-(-1121,-2708)
-(-1119,-2713)
-(-1120,-2712)
-(-1122,-2709)
-(-1121,-2711)
-(-1123,-2710)
-(-1125,-2707)
-(-1126,-2711)
-(-1128,-2710)
-(-1128,-2708)
-(-1129,-2708)
-(-1127,-2706)
-(-1128,-2706)
-(-1130,-2705)
-(-1128,-2704)
-(-1127,-2702)
-(-1124,-2701)
-(-1121,-2701)
-(-1123,-2700)
-(-1127,-2700)
-(-1127,-2699)
-(-1128,-2702)
-(-1128,-2698)
-(-1127,-2695)
-(-1128,-2697)
-(-1130,-2698)
-(-1130,-2696)
-(-1132,-2695)
-(-1130,-2692)
-(-1132,-2694)
-(-1134,-2694)
-(-1130,-2700)
-(-1129,-2702)
-(-1130,-2703)
-(-1131,-2703)
-(-1131,-2701)
-(-1132,-2704)
-(-1131,-2706)
-(-1129,-2707)
-(-1131,-2707)
-(-1129,-2709)
-(-1130,-2709)
-(-1132,-2709)
-(-1133,-2707)
-(-1135,-2706)
-(-1136,-2704)
-(-1135,-2706)
-(-1137,-2706)
-(-1138,-2705)
-(-1139,-2706)
-(-1142,-2706)
-(-1143,-2705)
-(-1143,-2706)
-78
-(-1236,-2796)
-(-1235,-2796)
-(-1230,-2802)
-(-1230,-2808)
-(-1228,-2809)
-(-1229,-2811)
-(-1231,-2810)
-(-1231,-2811)
-(-1232,-2808)
-(-1233,-2808)
-(-1234,-2808)
-(-1233,-2809)
-(-1233,-2812)
-(-1231,-2812)
-(-1231,-2811)
-(-1229,-2812)
-(-1230,-2813)
-(-1229,-2812)
-(-1228,-2813)
-(-1227,-2810)
-(-1226,-2810)
-(-1225,-2812)
-(-1226,-2812)
-(-1226,-2815)
-(-1224,-2816)
-(-1225,-2817)
-(-1222,-2816)
-(-1223,-2817)
-(-1223,-2818)
-(-1225,-2818)
-(-1225,-2819)
-(-1221,-2820)
-(-1222,-2821)
-(-1219,-2821)
-(-1219,-2823)
-(-1216,-2824)
-(-1215,-2824)
-(-1216,-2823)
-(-1218,-2823)
-(-1219,-2821)
-(-1217,-2818)
-(-1216,-2818)
-(-1216,-2817)
-(-1217,-2817)
-(-1219,-2819)
-(-1219,-2818)
-(-1219,-2816)
-(-1217,-2814)
-(-1219,-2814)
-(-1220,-2818)
-(-1222,-2818)
-(-1220,-2816)
-(-1221,-2816)
-(-1220,-2815)
-(-1222,-2815)
-(-1222,-2813)
-(-1220,-2812)
-(-1222,-2812)
-(-1223,-2814)
-(-1224,-2814)
-(-1224,-2810)
-(-1222,-2809)
-(-1224,-2809)
-(-1224,-2807)
-(-1225,-2808)
-(-1225,-2809)
-(-1228,-2808)
-(-1229,-2804)
-(-1228,-2801)
-(-1230,-2801)
-(-1230,-2799)
-(-1232,-2799)
-(-1233,-2796)
-(-1233,-2793)
-(-1234,-2795)
-(-1235,-2795)
-(-1237,-2796)
-(-1236,-2796)
-384
-(-1293,-2733)
-(-1292,-2732)
-(-1292,-2731)
-(-1288,-2736)
-(-1287,-2739)
-(-1288,-2740)
-(-1291,-2741)
-(-1288,-2740)
-(-1287,-2741)
-(-1287,-2744)
-(-1286,-2744)
-(-1286,-2745)
-(-1288,-2747)
-(-1285,-2747)
-(-1285,-2749)
-(-1292,-2752)
-(-1289,-2752)
-(-1285,-2749)
-(-1283,-2753)
-(-1283,-2751)
-(-1282,-2751)
-(-1281,-2750)
-(-1281,-2751)
-(-1280,-2750)
-(-1278,-2751)
-(-1277,-2754)
-(-1278,-2755)
-(-1277,-2755)
-(-1276,-2756)
-(-1277,-2757)
-(-1275,-2757)
-(-1276,-2758)
-(-1277,-2758)
-(-1277,-2759)
-(-1281,-2758)
-(-1280,-2759)
-(-1282,-2760)
-(-1284,-2759)
-(-1284,-2761)
-(-1286,-2760)
-(-1286,-2761)
-(-1285,-2762)
-(-1287,-2765)
-(-1285,-2764)
-(-1285,-2765)
-(-1285,-2767)
-(-1287,-2772)
-(-1284,-2768)
-(-1283,-2764)
-(-1284,-2763)
-(-1283,-2763)
-(-1283,-2761)
-(-1281,-2762)
-(-1280,-2760)
-(-1279,-2764)
-(-1280,-2764)
-(-1279,-2765)
-(-1279,-2767)
-(-1278,-2770)
-(-1276,-2770)
-(-1277,-2768)
-(-1279,-2766)
-(-1278,-2764)
-(-1279,-2762)
-(-1278,-2761)
-(-1279,-2760)
-(-1277,-2760)
-(-1276,-2760)
-(-1275,-2764)
-(-1274,-2758)
-(-1270,-2758)
-(-1269,-2758)
-(-1271,-2761)
-(-1270,-2761)
-(-1269,-2759)
-(-1267,-2758)
-(-1265,-2759)
-(-1264,-2762)
-(-1265,-2764)
-(-1266,-2764)
-(-1266,-2766)
-(-1265,-2765)
-(-1264,-2764)
-(-1261,-2771)
-(-1260,-2770)
-(-1262,-2766)
-(-1261,-2764)
-(-1262,-2764)
-(-1262,-2763)
-(-1260,-2761)
-(-1260,-2763)
-(-1259,-2762)
-(-1258,-2765)
-(-1256,-2766)
-(-1257,-2768)
-(-1257,-2770)
-(-1257,-2768)
-(-1255,-2767)
-(-1255,-2765)
-(-1253,-2765)
-(-1252,-2763)
-(-1250,-2764)
-(-1250,-2766)
-(-1251,-2765)
-(-1251,-2766)
-(-1250,-2767)
-(-1251,-2768)
-(-1252,-2769)
-(-1252,-2771)
-(-1250,-2771)
-(-1249,-2771)
-(-1250,-2772)
-(-1246,-2769)
-(-1246,-2770)
-(-1245,-2770)
-(-1244,-2768)
-(-1243,-2769)
-(-1242,-2774)
-(-1243,-2774)
-(-1243,-2775)
-(-1240,-2775)
-(-1240,-2779)
-(-1239,-2775)
-(-1240,-2774)
-(-1239,-2773)
-(-1240,-2772)
-(-1241,-2771)
-(-1240,-2769)
-(-1242,-2767)
-(-1241,-2766)
-(-1240,-2766)
-(-1239,-2765)
-(-1239,-2766)
-(-1238,-2764)
-(-1241,-2765)
-(-1240,-2764)
-(-1241,-2762)
-(-1239,-2760)
-(-1238,-2759)
-(-1239,-2758)
-(-1240,-2760)
-(-1240,-2759)
-(-1241,-2757)
-(-1242,-2758)
-(-1243,-2758)
-(-1243,-2757)
-(-1243,-2754)
-(-1242,-2755)
-(-1242,-2753)
-(-1240,-2751)
-(-1237,-2749)
-(-1235,-2748)
-(-1233,-2749)
-(-1232,-2748)
-(-1230,-2748)
-(-1231,-2747)
-(-1235,-2747)
-(-1234,-2745)
-(-1235,-2745)
-(-1235,-2747)
-(-1237,-2747)
-(-1236,-2745)
-(-1237,-2745)
-(-1238,-2745)
-(-1238,-2743)
-(-1239,-2743)
-(-1238,-2747)
-(-1239,-2749)
-(-1240,-2748)
-(-1240,-2746)
-(-1240,-2745)
-(-1242,-2745)
-(-1242,-2744)
-(-1243,-2743)
-(-1243,-2742)
-(-1242,-2742)
-(-1243,-2740)
-(-1241,-2740)
-(-1242,-2740)
-(-1240,-2739)
-(-1238,-2738)
-(-1234,-2739)
-(-1233,-2738)
-(-1232,-2736)
-(-1233,-2737)
-(-1238,-2737)
-(-1234,-2734)
-(-1236,-2734)
-(-1235,-2732)
-(-1240,-2737)
-(-1241,-2738)
-(-1240,-2734)
-(-1241,-2729)
-(-1242,-2730)
-(-1242,-2738)
-(-1244,-2739)
-(-1245,-2743)
-(-1247,-2742)
-(-1246,-2741)
-(-1246,-2738)
-(-1247,-2740)
-(-1248,-2740)
-(-1249,-2739)
-(-1249,-2740)
-(-1251,-2741)
-(-1252,-2740)
-(-1252,-2739)
-(-1250,-2739)
-(-1249,-2736)
-(-1248,-2734)
-(-1249,-2735)
-(-1249,-2737)
-(-1251,-2738)
-(-1251,-2736)
-(-1256,-2735)
-(-1256,-2729)
-(-1255,-2728)
-(-1257,-2730)
-(-1257,-2731)
-(-1258,-2731)
-(-1260,-2729)
-(-1261,-2724)
-(-1264,-2723)
-(-1262,-2716)
-(-1260,-2716)
-(-1261,-2715)
-(-1261,-2713)
-(-1262,-2715)
-(-1263,-2716)
-(-1265,-2715)
-(-1267,-2716)
-(-1268,-2713)
-(-1267,-2713)
-(-1265,-2714)
-(-1264,-2713)
-(-1267,-2712)
-(-1269,-2715)
-(-1267,-2717)
-(-1265,-2716)
-(-1263,-2717)
-(-1264,-2723)
-(-1266,-2724)
-(-1265,-2724)
-(-1264,-2724)
-(-1263,-2725)
-(-1262,-2727)
-(-1262,-2728)
-(-1261,-2730)
-(-1261,-2729)
-(-1260,-2731)
-(-1260,-2732)
-(-1262,-2731)
-(-1261,-2732)
-(-1262,-2732)
-(-1264,-2733)
-(-1266,-2731)
-(-1265,-2734)
-(-1261,-2733)
-(-1261,-2735)
-(-1260,-2732)
-(-1259,-2732)
-(-1257,-2732)
-(-1257,-2736)
-(-1254,-2737)
-(-1253,-2739)
-(-1253,-2741)
-(-1254,-2742)
-(-1249,-2741)
-(-1249,-2743)
-(-1246,-2744)
-(-1246,-2745)
-(-1244,-2746)
-(-1244,-2748)
-(-1240,-2750)
-(-1241,-2751)
-(-1243,-2752)
-(-1243,-2751)
-(-1244,-2754)
-(-1245,-2750)
-(-1247,-2752)
-(-1245,-2752)
-(-1245,-2753)
-(-1246,-2754)
-(-1245,-2756)
-(-1248,-2755)
-(-1247,-2756)
-(-1244,-2757)
-(-1245,-2758)
-(-1247,-2758)
-(-1245,-2759)
-(-1246,-2760)
-(-1245,-2760)
-(-1245,-2761)
-(-1242,-2759)
-(-1240,-2760)
-(-1242,-2762)
-(-1242,-2765)
-(-1243,-2763)
-(-1243,-2766)
-(-1244,-2765)
-(-1244,-2767)
-(-1246,-2765)
-(-1246,-2767)
-(-1247,-2766)
-(-1247,-2767)
-(-1250,-2770)
-(-1248,-2766)
-(-1250,-2763)
-(-1253,-2763)
-(-1254,-2761)
-(-1255,-2761)
-(-1255,-2759)
-(-1255,-2761)
-(-1254,-2763)
-(-1255,-2765)
-(-1257,-2763)
-(-1256,-2762)
-(-1258,-2761)
-(-1257,-2760)
-(-1260,-2759)
-(-1259,-2758)
-(-1261,-2760)
-(-1261,-2759)
-(-1262,-2761)
-(-1263,-2761)
-(-1263,-2758)
-(-1263,-2757)
-(-1260,-2754)
-(-1263,-2746)
-(-1264,-2746)
-(-1264,-2747)
-(-1264,-2745)
-(-1265,-2745)
-(-1264,-2744)
-(-1265,-2744)
-(-1265,-2745)
-(-1264,-2747)
-(-1264,-2750)
-(-1265,-2749)
-(-1266,-2750)
-(-1264,-2751)
-(-1264,-2752)
-(-1263,-2752)
-(-1263,-2756)
-(-1264,-2756)
-(-1264,-2755)
-(-1265,-2754)
-(-1265,-2757)
-(-1268,-2758)
-(-1269,-2757)
-(-1269,-2754)
-(-1271,-2754)
-(-1271,-2753)
-(-1270,-2756)
-(-1271,-2756)
-(-1273,-2757)
-(-1274,-2754)
-(-1274,-2755)
-(-1277,-2750)
-(-1279,-2749)
-(-1278,-2748)
-(-1279,-2747)
-(-1277,-2746)
-(-1278,-2745)
-(-1279,-2746)
-(-1280,-2749)
-(-1283,-2750)
-(-1283,-2748)
-(-1284,-2748)
-(-1285,-2745)
-(-1285,-2744)
-(-1286,-2743)
-(-1285,-2741)
-(-1287,-2740)
-(-1286,-2739)
-(-1286,-2737)
-(-1287,-2736)
-(-1286,-2733)
-(-1288,-2735)
-(-1290,-2732)
-(-1292,-2730)
-(-1292,-2732)
-(-1294,-2732)
-(-1293,-2733)
-157
-(4469,6168)
-(4472,6163)
-(4475,6191)
-(4475,6208)
-(4478,6214)
-(4478,6221)
-(4477,6238)
-(4479,6242)
-(4480,6238)
-(4483,6237)
-(4481,6245)
-(4483,6260)
-(4487,6286)
-(4486,6298)
-(4485,6308)
-(4488,6338)
-(4490,6348)
-(4491,6341)
-(4490,6323)
-(4490,6312)
-(4495,6284)
-(4506,6270)
-(4508,6252)
-(4507,6248)
-(4501,6246)
-(4499,6236)
-(4499,6230)
-(4495,6228)
-(4492,6241)
-(4491,6242)
-(4493,6252)
-(4493,6265)
-(4490,6261)
-(4487,6251)
-(4488,6238)
-(4488,6231)
-(4484,6220)
-(4483,6212)
-(4481,6206)
-(4481,6194)
-(4477,6182)
-(4479,6180)
-(4478,6173)
-(4477,6163)
-(4479,6149)
-(4478,6118)
-(4477,6116)
-(4478,6110)
-(4477,6082)
-(4480,6064)
-(4484,6050)
-(4485,6039)
-(4486,6037)
-(4488,6033)
-(4494,6034)
-(4494,6024)
-(4495,6028)
-(4495,6034)
-(4499,6039)
-(4502,6038)
-(4505,6034)
-(4505,6023)
-(4508,6022)
-(4508,6013)
-(4509,6014)
-(4510,6011)
-(4510,6004)
-(4508,6000)
-(4506,6004)
-(4504,6001)
-(4504,6031)
-(4503,6033)
-(4501,6030)
-(4498,6033)
-(4496,6027)
-(4496,6023)
-(4497,6023)
-(4497,6018)
-(4496,6018)
-(4493,6003)
-(4492,6007)
-(4490,6007)
-(4489,6024)
-(4484,6023)
-(4476,6034)
-(4474,6028)
-(4472,6028)
-(4473,6025)
-(4472,6022)
-(4470,6013)
-(4467,6013)
-(4462,6003)
-(4463,5994)
-(4466,5981)
-(4466,5971)
-(4465,5968)
-(4466,5963)
-(4465,5950)
-(4464,5948)
-(4462,5959)
-(4462,5985)
-(4460,5992)
-(4458,5987)
-(4460,5998)
-(4460,6011)
-(4461,6018)
-(4460,6027)
-(4458,6029)
-(4457,6034)
-(4458,6039)
-(4459,6048)
-(4454,6057)
-(4447,6060)
-(4442,6069)
-(4435,6061)
-(4434,6055)
-(4430,6055)
-(4432,6064)
-(4431,6080)
-(4429,6087)
-(4430,6094)
-(4437,6089)
-(4439,6094)
-(4440,6089)
-(4450,6073)
-(4454,6071)
-(4460,6062)
-(4463,6068)
-(4465,6067)
-(4466,6056)
-(4464,6050)
-(4465,6043)
-(4466,6035)
-(4468,6051)
-(4469,6068)
-(4470,6072)
-(4470,6079)
-(4469,6084)
-(4466,6079)
-(4463,6080)
-(4459,6094)
-(4455,6105)
-(4455,6119)
-(4453,6119)
-(4455,6125)
-(4453,6130)
-(4454,6132)
-(4456,6131)
-(4456,6125)
-(4458,6123)
-(4459,6125)
-(4462,6122)
-(4468,6113)
-(4471,6115)
-(4472,6146)
-(4471,6152)
-(4469,6168)
-234
-(3772,2078)
-(3770,2080)
-(3769,2084)
-(3771,2086)
-(3770,2093)
-(3766,2103)
-(3765,2104)
-(3766,2098)
-(3764,2103)
-(3763,2110)
-(3761,2113)
-(3760,2124)
-(3758,2125)
-(3757,2125)
-(3754,2130)
-(3757,2129)
-(3758,2131)
-(3753,2133)
-(3754,2135)
-(3753,2142)
-(3749,2148)
-(3745,2151)
-(3739,2150)
-(3731,2146)
-(3726,2141)
-(3723,2139)
-(3720,2143)
-(3718,2149)
-(3717,2152)
-(3714,2150)
-(3712,2151)
-(3711,2149)
-(3710,2150)
-(3708,2157)
-(3703,2162)
-(3699,2161)
-(3695,2171)
-(3691,2174)
-(3689,2174)
-(3687,2182)
-(3684,2186)
-(3678,2186)
-(3677,2184)
-(3677,2182)
-(3675,2180)
-(3670,2187)
-(3670,2183)
-(3668,2180)
-(3664,2173)
-(3665,2165)
-(3661,2163)
-(3657,2157)
-(3656,2148)
-(3656,2151)
-(3655,2150)
-(3655,2157)
-(3653,2156)
-(3651,2152)
-(3653,2148)
-(3652,2145)
-(3654,2147)
-(3655,2146)
-(3653,2138)
-(3654,2133)
-(3657,2130)
-(3659,2131)
-(3663,2123)
-(3663,2120)
-(3660,2116)
-(3661,2113)
-(3659,2108)
-(3660,2106)
-(3661,2109)
-(3663,2107)
-(3664,2098)
-(3665,2096)
-(3666,2094)
-(3665,2092)
-(3663,2095)
-(3661,2090)
-(3668,2087)
-(3669,2089)
-(3674,2089)
-(3673,2094)
-(3671,2099)
-(3672,2103)
-(3673,2106)
-(3671,2110)
-(3670,2115)
-(3670,2113)
-(3668,2113)
-(3671,2106)
-(3670,2103)
-(3667,2102)
-(3663,2110)
-(3663,2114)
-(3665,2118)
-(3664,2125)
-(3663,2127)
-(3660,2133)
-(3667,2142)
-(3669,2141)
-(3671,2136)
-(3674,2137)
-(3676,2133)
-(3679,2133)
-(3680,2130)
-(3682,2129)
-(3683,2122)
-(3685,2121)
-(3687,2117)
-(3689,2115)
-(3689,2111)
-(3690,2107)
-(3689,2103)
-(3692,2102)
-(3692,2093)
-(3695,2087)
-(3695,2083)
-(3698,2080)
-(3699,2078)
-(3706,2067)
-(3709,2059)
-(3710,2061)
-(3713,2057)
-(3714,2058)
-(3711,2062)
-(3710,2062)
-(3709,2069)
-(3706,2074)
-(3711,2075)
-(3711,2078)
-(3714,2077)
-(3722,2070)
-(3727,2057)
-(3729,2058)
-(3731,2054)
-(3733,2057)
-(3736,2056)
-(3740,2049)
-(3744,2046)
-(3745,2042)
-(3744,2042)
-(3742,2041)
-(3742,2039)
-(3748,2036)
-(3752,2038)
-(3751,2044)
-(3746,2044)
-(3746,2047)
-(3741,2051)
-(3735,2062)
-(3734,2059)
-(3731,2059)
-(3726,2069)
-(3725,2076)
-(3721,2084)
-(3723,2085)
-(3734,2074)
-(3734,2076)
-(3735,2077)
-(3734,2078)
-(3730,2083)
-(3734,2082)
-(3740,2074)
-(3748,2066)
-(3741,2078)
-(3735,2086)
-(3735,2088)
-(3739,2087)
-(3741,2085)
-(3747,2074)
-(3750,2073)
-(3752,2069)
-(3756,2068)
-(3753,2070)
-(3747,2082)
-(3741,2089)
-(3736,2091)
-(3739,2092)
-(3735,2092)
-(3735,2090)
-(3731,2093)
-(3723,2103)
-(3722,2109)
-(3723,2109)
-(3726,2112)
-(3733,2101)
-(3733,2103)
-(3735,2101)
-(3733,2106)
-(3730,2110)
-(3730,2117)
-(3727,2121)
-(3730,2123)
-(3730,2129)
-(3734,2135)
-(3743,2132)
-(3749,2126)
-(3752,2121)
-(3754,2120)
-(3754,2118)
-(3751,2118)
-(3753,2109)
-(3753,2106)
-(3754,2105)
-(3759,2097)
-(3759,2095)
-(3757,2098)
-(3758,2094)
-(3758,2091)
-(3756,2090)
-(3754,2094)
-(3750,2099)
-(3745,2102)
-(3753,2095)
-(3753,2093)
-(3752,2094)
-(3754,2090)
-(3760,2084)
-(3759,2082)
-(3756,2086)
-(3756,2084)
-(3762,2080)
-(3765,2074)
-(3768,2074)
-(3771,2072)
-(3771,2071)
-(3771,2069)
-(3774,2067)
-(3775,2069)
-(3775,2073)
-(3773,2075)
-(3772,2078)
-138
-(3704,1856)
-(3702,1864)
-(3698,1864)
-(3697,1867)
-(3697,1870)
-(3698,1870)
-(3698,1873)
-(3700,1875)
-(3695,1878)
-(3698,1880)
-(3697,1882)
-(3691,1892)
-(3686,1895)
-(3684,1899)
-(3685,1899)
-(3687,1896)
-(3689,1896)
-(3683,1904)
-(3681,1912)
-(3679,1914)
-(3674,1934)
-(3668,1951)
-(3664,1955)
-(3659,1955)
-(3659,1958)
-(3658,1958)
-(3651,1968)
-(3643,1969)
-(3641,1975)
-(3639,1977)
-(3627,1967)
-(3630,1967)
-(3633,1959)
-(3633,1957)
-(3631,1955)
-(3624,1961)
-(3621,1958)
-(3621,1954)
-(3615,1957)
-(3611,1952)
-(3608,1937)
-(3611,1932)
-(3613,1930)
-(3613,1926)
-(3614,1926)
-(3615,1919)
-(3614,1914)
-(3615,1910)
-(3614,1907)
-(3615,1904)
-(3614,1903)
-(3610,1897)
-(3609,1894)
-(3608,1894)
-(3609,1896)
-(3608,1897)
-(3603,1892)
-(3599,1895)
-(3596,1893)
-(3594,1889)
-(3594,1885)
-(3594,1883)
-(3596,1882)
-(3596,1880)
-(3596,1875)
-(3595,1870)
-(3596,1863)
-(3601,1869)
-(3602,1870)
-(3604,1865)
-(3606,1867)
-(3608,1867)
-(3612,1858)
-(3627,1851)
-(3628,1849)
-(3626,1848)
-(3627,1846)
-(3631,1846)
-(3632,1843)
-(3635,1842)
-(3638,1831)
-(3641,1832)
-(3644,1830)
-(3644,1832)
-(3650,1831)
-(3652,1826)
-(3653,1828)
-(3657,1822)
-(3660,1817)
-(3662,1815)
-(3670,1793)
-(3673,1788)
-(3672,1795)
-(3670,1797)
-(3669,1800)
-(3671,1801)
-(3673,1799)
-(3673,1793)
-(3674,1795)
-(3675,1790)
-(3676,1792)
-(3678,1794)
-(3673,1804)
-(3675,1804)
-(3675,1806)
-(3676,1804)
-(3678,1806)
-(3678,1812)
-(3678,1816)
-(3679,1815)
-(3680,1811)
-(3680,1815)
-(3681,1814)
-(3681,1809)
-(3682,1809)
-(3683,1813)
-(3685,1812)
-(3687,1815)
-(3686,1819)
-(3687,1821)
-(3689,1814)
-(3691,1814)
-(3691,1819)
-(3689,1828)
-(3689,1829)
-(3692,1828)
-(3691,1831)
-(3692,1838)
-(3696,1833)
-(3696,1836)
-(3702,1842)
-(3703,1845)
-(3705,1845)
-(3707,1850)
-(3706,1851)
-(3705,1854)
-(3704,1852)
-(3704,1856)
-16
-(3619,2273)
-(3613,2281)
-(3611,2281)
-(3606,2279)
-(3605,2279)
-(3604,2282)
-(3603,2267)
-(3603,2256)
-(3605,2243)
-(3608,2235)
-(3611,2233)
-(3615,2237)
-(3618,2244)
-(3620,2253)
-(3620,2263)
-(3619,2273)
-63
-(3539,1664)
-(3537,1663)
-(3534,1663)
-(3531,1668)
-(3520,1666)
-(3514,1670)
-(3509,1671)
-(3506,1668)
-(3506,1666)
-(3508,1667)
-(3501,1658)
-(3498,1659)
-(3499,1652)
-(3494,1651)
-(3494,1655)
-(3491,1656)
-(3490,1655)
-(3490,1656)
-(3488,1657)
-(3489,1659)
-(3490,1665)
-(3491,1668)
-(3490,1671)
-(3490,1677)
-(3489,1678)
-(3487,1682)
-(3484,1683)
-(3480,1689)
-(3478,1688)
-(3475,1691)
-(3471,1688)
-(3472,1685)
-(3471,1677)
-(3474,1675)
-(3475,1671)
-(3476,1674)
-(3477,1674)
-(3479,1668)
-(3481,1667)
-(3482,1664)
-(3482,1659)
-(3481,1660)
-(3480,1659)
-(3478,1657)
-(3482,1655)
-(3485,1656)
-(3486,1653)
-(3492,1648)
-(3495,1648)
-(3497,1645)
-(3502,1645)
-(3504,1640)
-(3504,1636)
-(3505,1634)
-(3517,1632)
-(3523,1627)
-(3527,1617)
-(3530,1617)
-(3533,1619)
-(3537,1624)
-(3539,1636)
-(3541,1651)
-(3539,1664)
-212
-(3556,3375)
-(3559,3384)
-(3562,3389)
-(3563,3384)
-(3565,3383)
-(3562,3393)
-(3563,3400)
-(3565,3401)
-(3566,3401)
-(3569,3395)
-(3573,3400)
-(3576,3397)
-(3576,3400)
-(3579,3396)
-(3584,3393)
-(3586,3394)
-(3595,3382)
-(3594,3386)
-(3592,3388)
-(3589,3394)
-(3584,3400)
-(3578,3399)
-(3576,3404)
-(3573,3402)
-(3573,3404)
-(3568,3401)
-(3565,3404)
-(3561,3399)
-(3557,3403)
-(3558,3398)
-(3556,3390)
-(3557,3385)
-(3555,3383)
-(3555,3377)
-(3553,3373)
-(3550,3374)
-(3550,3379)
-(3548,3381)
-(3547,3376)
-(3547,3373)
-(3543,3372)
-(3544,3375)
-(3543,3377)
-(3542,3378)
-(3543,3383)
-(3541,3379)
-(3539,3380)
-(3537,3377)
-(3534,3378)
-(3535,3384)
-(3537,3387)
-(3536,3389)
-(3535,3400)
-(3534,3399)
-(3531,3400)
-(3530,3402)
-(3531,3399)
-(3534,3394)
-(3533,3385)
-(3530,3382)
-(3527,3380)
-(3526,3384)
-(3524,3385)
-(3526,3380)
-(3524,3378)
-(3522,3375)
-(3521,3378)
-(3520,3373)
-(3516,3366)
-(3511,3377)
-(3509,3380)
-(3510,3383)
-(3507,3383)
-(3505,3387)
-(3502,3387)
-(3501,3384)
-(3499,3384)
-(3500,3376)
-(3499,3375)
-(3495,3383)
-(3492,3383)
-(3490,3381)
-(3491,3385)
-(3490,3390)
-(3488,3394)
-(3488,3395)
-(3491,3393)
-(3490,3399)
-(3493,3397)
-(3495,3400)
-(3492,3403)
-(3493,3403)
-(3495,3404)
-(3497,3406)
-(3498,3409)
-(3499,3411)
-(3499,3413)
-(3496,3410)
-(3491,3411)
-(3490,3416)
-(3489,3420)
-(3492,3423)
-(3490,3426)
-(3490,3423)
-(3487,3421)
-(3489,3414)
-(3488,3409)
-(3490,3408)
-(3496,3407)
-(3494,3405)
-(3491,3405)
-(3492,3401)
-(3491,3400)
-(3489,3401)
-(3489,3397)
-(3487,3400)
-(3484,3402)
-(3484,3404)
-(3482,3408)
-(3480,3409)
-(3478,3407)
-(3478,3403)
-(3478,3400)
-(3477,3404)
-(3475,3402)
-(3476,3406)
-(3475,3407)
-(3474,3408)
-(3473,3405)
-(3471,3410)
-(3469,3406)
-(3468,3407)
-(3469,3411)
-(3465,3412)
-(3465,3410)
-(3461,3412)
-(3465,3407)
-(3466,3411)
-(3467,3411)
-(3466,3406)
-(3467,3404)
-(3470,3404)
-(3471,3407)
-(3471,3402)
-(3474,3404)
-(3473,3402)
-(3474,3400)
-(3476,3401)
-(3477,3398)
-(3479,3399)
-(3480,3406)
-(3481,3407)
-(3483,3402)
-(3486,3397)
-(3490,3386)
-(3489,3382)
-(3483,3378)
-(3490,3378)
-(3495,3381)
-(3497,3374)
-(3499,3372)
-(3501,3374)
-(3502,3383)
-(3503,3385)
-(3505,3383)
-(3510,3375)
-(3508,3371)
-(3512,3373)
-(3512,3368)
-(3508,3364)
-(3511,3363)
-(3510,3358)
-(3512,3360)
-(3514,3359)
-(3518,3362)
-(3519,3361)
-(3516,3356)
-(3518,3354)
-(3516,3345)
-(3516,3340)
-(3514,3338)
-(3515,3334)
-(3513,3329)
-(3514,3322)
-(3514,3329)
-(3516,3333)
-(3516,3338)
-(3520,3355)
-(3526,3369)
-(3527,3360)
-(3528,3359)
-(3528,3360)
-(3528,3364)
-(3526,3370)
-(3527,3373)
-(3529,3372)
-(3534,3365)
-(3536,3367)
-(3536,3360)
-(3538,3350)
-(3538,3337)
-(3539,3335)
-(3540,3350)
-(3539,3357)
-(3538,3362)
-(3537,3365)
-(3537,3372)
-(3539,3373)
-(3545,3367)
-(3548,3371)
-(3554,3372)
-(3556,3375)
-168
-(3536,2287)
-(3533,2292)
-(3513,2323)
-(3509,2335)
-(3510,2344)
-(3508,2338)
-(3506,2337)
-(3504,2338)
-(3500,2345)
-(3501,2340)
-(3501,2335)
-(3500,2331)
-(3496,2328)
-(3491,2328)
-(3486,2331)
-(3487,2327)
-(3491,2325)
-(3495,2315)
-(3494,2314)
-(3486,2322)
-(3487,2318)
-(3485,2315)
-(3486,2313)
-(3488,2309)
-(3489,2304)
-(3486,2300)
-(3485,2299)
-(3482,2305)
-(3481,2306)
-(3482,2301)
-(3482,2295)
-(3486,2294)
-(3493,2296)
-(3495,2294)
-(3495,2288)
-(3495,2285)
-(3496,2286)
-(3499,2275)
-(3498,2274)
-(3496,2275)
-(3496,2274)
-(3500,2271)
-(3504,2265)
-(3504,2263)
-(3506,2261)
-(3506,2258)
-(3507,2259)
-(3509,2255)
-(3511,2253)
-(3511,2250)
-(3515,2249)
-(3515,2246)
-(3518,2243)
-(3519,2239)
-(3522,2235)
-(3521,2229)
-(3521,2225)
-(3523,2230)
-(3523,2233)
-(3526,2229)
-(3529,2228)
-(3529,2230)
-(3533,2227)
-(3530,2232)
-(3526,2236)
-(3526,2240)
-(3523,2241)
-(3524,2249)
-(3520,2242)
-(3517,2248)
-(3517,2251)
-(3518,2251)
-(3517,2254)
-(3515,2253)
-(3513,2254)
-(3512,2258)
-(3513,2260)
-(3515,2262)
-(3516,2261)
-(3515,2258)
-(3517,2258)
-(3518,2256)
-(3519,2257)
-(3519,2260)
-(3516,2264)
-(3518,2264)
-(3518,2266)
-(3513,2276)
-(3511,2285)
-(3512,2286)
-(3515,2285)
-(3516,2283)
-(3516,2288)
-(3517,2288)
-(3520,2281)
-(3520,2277)
-(3521,2281)
-(3522,2280)
-(3523,2275)
-(3523,2277)
-(3525,2276)
-(3523,2281)
-(3523,2283)
-(3526,2283)
-(3528,2279)
-(3533,2280)
-(3532,2278)
-(3530,2276)
-(3531,2274)
-(3533,2274)
-(3533,2271)
-(3535,2271)
-(3537,2264)
-(3535,2261)
-(3535,2252)
-(3530,2252)
-(3529,2250)
-(3532,2246)
-(3534,2249)
-(3537,2249)
-(3537,2253)
-(3539,2255)
-(3538,2258)
-(3541,2264)
-(3542,2261)
-(3543,2262)
-(3545,2260)
-(3546,2262)
-(3547,2262)
-(3551,2252)
-(3548,2264)
-(3549,2267)
-(3548,2270)
-(3548,2273)
-(3549,2276)
-(3552,2279)
-(3552,2283)
-(3551,2280)
-(3548,2277)
-(3545,2289)
-(3546,2291)
-(3549,2291)
-(3551,2290)
-(3552,2286)
-(3553,2287)
-(3553,2292)
-(3551,2291)
-(3549,2296)
-(3548,2300)
-(3548,2302)
-(3552,2305)
-(3551,2307)
-(3545,2302)
-(3545,2298)
-(3544,2299)
-(3544,2295)
-(3544,2292)
-(3543,2292)
-(3543,2288)
-(3545,2286)
-(3547,2276)
-(3546,2272)
-(3545,2266)
-(3542,2275)
-(3543,2277)
-(3539,2281)
-(3540,2284)
-(3536,2287)
-12
-(3503,1567)
-(3500,1569)
-(3493,1568)
-(3490,1565)
-(3486,1565)
-(3491,1563)
-(3492,1560)
-(3495,1559)
-(3499,1555)
-(3505,1559)
-(3504,1565)
-(3503,1567)
-111
-(3451,2570)
-(3449,2569)
-(3449,2566)
-(3447,2567)
-(3447,2561)
-(3445,2555)
-(3445,2563)
-(3445,2567)
-(3444,2569)
-(3436,2561)
-(3438,2565)
-(3440,2567)
-(3441,2569)
-(3441,2571)
-(3442,2572)
-(3441,2576)
-(3442,2579)
-(3441,2586)
-(3438,2586)
-(3433,2576)
-(3430,2574)
-(3431,2578)
-(3430,2579)
-(3428,2583)
-(3425,2581)
-(3424,2584)
-(3422,2584)
-(3419,2591)
-(3417,2592)
-(3416,2590)
-(3416,2587)
-(3418,2582)
-(3416,2581)
-(3416,2583)
-(3414,2583)
-(3414,2587)
-(3413,2589)
-(3414,2591)
-(3414,2592)
-(3409,2594)
-(3407,2596)
-(3405,2593)
-(3405,2595)
-(3403,2594)
-(3404,2588)
-(3404,2584)
-(3403,2585)
-(3404,2588)
-(3403,2592)
-(3401,2595)
-(3400,2587)
-(3396,2583)
-(3400,2590)
-(3399,2599)
-(3400,2606)
-(3404,2602)
-(3407,2602)
-(3408,2604)
-(3409,2602)
-(3412,2603)
-(3412,2601)
-(3415,2598)
-(3416,2598)
-(3416,2602)
-(3417,2604)
-(3417,2602)
-(3419,2602)
-(3418,2599)
-(3420,2594)
-(3422,2593)
-(3423,2594)
-(3423,2591)
-(3428,2595)
-(3427,2593)
-(3423,2590)
-(3428,2588)
-(3438,2593)
-(3441,2596)
-(3442,2596)
-(3444,2599)
-(3444,2602)
-(3446,2600)
-(3448,2602)
-(3449,2601)
-(3454,2611)
-(3456,2611)
-(3456,2616)
-(3457,2614)
-(3460,2618)
-(3463,2622)
-(3462,2618)
-(3458,2613)
-(3457,2609)
-(3454,2605)
-(3451,2599)
-(3446,2597)
-(3445,2595)
-(3445,2592)
-(3447,2591)
-(3458,2592)
-(3455,2590)
-(3449,2591)
-(3446,2589)
-(3445,2588)
-(3444,2582)
-(3443,2581)
-(3443,2573)
-(3445,2569)
-(3448,2570)
-(3449,2572)
-(3451,2570)
-73
-(3407,3245)
-(3406,3245)
-(3408,3251)
-(3417,3254)
-(3417,3262)
-(3422,3274)
-(3420,3280)
-(3422,3287)
-(3421,3291)
-(3423,3292)
-(3424,3297)
-(3425,3301)
-(3428,3303)
-(3431,3303)
-(3436,3306)
-(3437,3304)
-(3439,3307)
-(3436,3316)
-(3439,3326)
-(3438,3328)
-(3433,3333)
-(3434,3335)
-(3438,3333)
-(3441,3335)
-(3447,3331)
-(3450,3334)
-(3453,3334)
-(3456,3331)
-(3456,3324)
-(3458,3324)
-(3461,3327)
-(3463,3327)
-(3469,3314)
-(3472,3315)
-(3471,3311)
-(3470,3310)
-(3467,3315)
-(3465,3317)
-(3464,3322)
-(3463,3323)
-(3462,3322)
-(3462,3318)
-(3459,3321)
-(3456,3320)
-(3455,3325)
-(3454,3331)
-(3450,3331)
-(3446,3324)
-(3445,3329)
-(3442,3331)
-(3440,3327)
-(3439,3320)
-(3442,3308)
-(3444,3305)
-(3441,3301)
-(3441,3297)
-(3440,3300)
-(3438,3300)
-(3433,3297)
-(3429,3298)
-(3427,3297)
-(3426,3294)
-(3427,3288)
-(3425,3287)
-(3424,3284)
-(3425,3280)
-(3426,3272)
-(3427,3268)
-(3425,3268)
-(3421,3262)
-(3420,3252)
-(3417,3246)
-(3407,3245)
-191
-(3343,6569)
-(3345,6571)
-(3346,6576)
-(3344,6589)
-(3345,6587)
-(3347,6577)
-(3347,6578)
-(3347,6582)
-(3346,6585)
-(3347,6588)
-(3345,6592)
-(3343,6592)
-(3340,6598)
-(3333,6590)
-(3332,6593)
-(3330,6591)
-(3328,6591)
-(3328,6594)
-(3327,6591)
-(3321,6589)
-(3318,6586)
-(3314,6588)
-(3309,6584)
-(3308,6585)
-(3306,6585)
-(3302,6587)
-(3299,6583)
-(3295,6583)
-(3292,6580)
-(3290,6581)
-(3288,6578)
-(3281,6578)
-(3279,6573)
-(3277,6571)
-(3266,6571)
-(3263,6569)
-(3260,6571)
-(3258,6568)
-(3249,6574)
-(3247,6571)
-(3241,6568)
-(3233,6556)
-(3229,6553)
-(3228,6551)
-(3227,6551)
-(3225,6553)
-(3221,6551)
-(3220,6553)
-(3217,6550)
-(3217,6542)
-(3218,6539)
-(3220,6542)
-(3224,6545)
-(3226,6541)
-(3229,6544)
-(3232,6542)
-(3231,6534)
-(3227,6528)
-(3217,6520)
-(3211,6512)
-(3211,6514)
-(3213,6520)
-(3216,6532)
-(3215,6534)
-(3210,6539)
-(3204,6540)
-(3201,6538)
-(3199,6531)
-(3197,6529)
-(3196,6525)
-(3198,6521)
-(3197,6517)
-(3192,6507)
-(3190,6506)
-(3186,6498)
-(3184,6498)
-(3183,6500)
-(3181,6500)
-(3175,6491)
-(3170,6480)
-(3167,6478)
-(3163,6468)
-(3162,6452)
-(3160,6445)
-(3157,6440)
-(3154,6428)
-(3147,6414)
-(3143,6412)
-(3139,6409)
-(3139,6407)
-(3140,6404)
-(3142,6399)
-(3143,6393)
-(3142,6388)
-(3140,6384)
-(3140,6380)
-(3135,6374)
-(3128,6377)
-(3125,6375)
-(3126,6374)
-(3123,6373)
-(3120,6370)
-(3117,6372)
-(3114,6366)
-(3112,6364)
-(3109,6360)
-(3104,6355)
-(3104,6351)
-(3102,6348)
-(3099,6332)
-(3096,6323)
-(3094,6308)
-(3092,6296)
-(3090,6293)
-(3088,6286)
-(3089,6278)
-(3088,6271)
-(3090,6265)
-(3090,6256)
-(3096,6236)
-(3097,6231)
-(3101,6223)
-(3102,6223)
-(3103,6224)
-(3105,6245)
-(3108,6264)
-(3107,6278)
-(3112,6285)
-(3112,6299)
-(3114,6305)
-(3115,6314)
-(3119,6318)
-(3122,6327)
-(3127,6335)
-(3131,6340)
-(3134,6342)
-(3148,6357)
-(3154,6370)
-(3158,6386)
-(3164,6395)
-(3166,6394)
-(3166,6397)
-(3169,6399)
-(3172,6406)
-(3176,6408)
-(3179,6415)
-(3182,6411)
-(3181,6407)
-(3181,6404)
-(3185,6410)
-(3186,6413)
-(3188,6414)
-(3190,6419)
-(3193,6421)
-(3197,6429)
-(3206,6452)
-(3208,6454)
-(3210,6453)
-(3218,6459)
-(3229,6481)
-(3230,6484)
-(3235,6492)
-(3240,6494)
-(3243,6497)
-(3249,6498)
-(3251,6503)
-(3257,6508)
-(3258,6510)
-(3269,6515)
-(3276,6524)
-(3283,6529)
-(3287,6531)
-(3289,6531)
-(3291,6535)
-(3295,6537)
-(3297,6534)
-(3302,6542)
-(3303,6546)
-(3306,6547)
-(3311,6551)
-(3319,6552)
-(3323,6553)
-(3326,6551)
-(3327,6552)
-(3328,6550)
-(3333,6552)
-(3335,6554)
-(3337,6561)
-(3339,6562)
-(3341,6566)
-(3343,6569)
-324
-(3372,6134)
-(3373,6136)
-(3374,6138)
-(3375,6137)
-(3375,6134)
-(3377,6135)
-(3374,6143)
-(3375,6150)
-(3376,6147)
-(3377,6150)
-(3379,6149)
-(3381,6147)
-(3382,6150)
-(3379,6152)
-(3379,6155)
-(3381,6155)
-(3380,6157)
-(3379,6157)
-(3378,6155)
-(3374,6155)
-(3373,6166)
-(3374,6167)
-(3377,6168)
-(3378,6169)
-(3374,6169)
-(3372,6170)
-(3371,6172)
-(3372,6173)
-(3372,6174)
-(3371,6174)
-(3370,6176)
-(3371,6179)
-(3374,6180)
-(3374,6183)
-(3372,6183)
-(3368,6178)
-(3363,6183)
-(3362,6181)
-(3355,6181)
-(3350,6184)
-(3346,6193)
-(3345,6193)
-(3342,6196)
-(3341,6194)
-(3338,6195)
-(3337,6193)
-(3334,6192)
-(3332,6192)
-(3331,6194)
-(3330,6192)
-(3318,6201)
-(3307,6201)
-(3305,6200)
-(3300,6196)
-(3295,6187)
-(3286,6185)
-(3284,6186)
-(3282,6193)
-(3278,6195)
-(3278,6198)
-(3277,6196)
-(3266,6196)
-(3266,6200)
-(3265,6198)
-(3263,6200)
-(3258,6200)
-(3252,6204)
-(3248,6211)
-(3250,6204)
-(3255,6200)
-(3262,6199)
-(3263,6196)
-(3262,6192)
-(3255,6183)
-(3249,6180)
-(3244,6183)
-(3242,6187)
-(3238,6191)
-(3234,6197)
-(3233,6196)
-(3231,6200)
-(3231,6197)
-(3229,6197)
-(3218,6207)
-(3217,6212)
-(3218,6214)
-(3219,6214)
-(3218,6215)
-(3216,6216)
-(3215,6220)
-(3215,6222)
-(3218,6224)
-(3218,6227)
-(3212,6222)
-(3208,6226)
-(3208,6224)
-(3210,6221)
-(3213,6219)
-(3215,6211)
-(3215,6206)
-(3213,6205)
-(3211,6205)
-(3212,6203)
-(3201,6206)
-(3196,6206)
-(3190,6202)
-(3186,6203)
-(3186,6202)
-(3190,6200)
-(3197,6203)
-(3204,6203)
-(3212,6200)
-(3219,6201)
-(3222,6200)
-(3223,6198)
-(3224,6186)
-(3227,6175)
-(3227,6169)
-(3229,6175)
-(3225,6190)
-(3225,6195)
-(3226,6195)
-(3232,6193)
-(3238,6189)
-(3240,6184)
-(3241,6184)
-(3244,6179)
-(3249,6178)
-(3255,6181)
-(3262,6189)
-(3265,6187)
-(3266,6183)
-(3266,6188)
-(3263,6192)
-(3266,6195)
-(3279,6193)
-(3281,6191)
-(3284,6184)
-(3288,6183)
-(3295,6185)
-(3302,6195)
-(3308,6199)
-(3318,6199)
-(3323,6196)
-(3329,6189)
-(3337,6191)
-(3343,6191)
-(3348,6185)
-(3350,6179)
-(3357,6177)
-(3359,6178)
-(3362,6177)
-(3366,6173)
-(3368,6170)
-(3365,6167)
-(3366,6166)
-(3368,6167)
-(3369,6166)
-(3369,6159)
-(3369,6157)
-(3369,6155)
-(3370,6152)
-(3369,6151)
-(3369,6147)
-(3366,6151)
-(3366,6149)
-(3368,6146)
-(3367,6144)
-(3366,6143)
-(3363,6152)
-(3361,6153)
-(3364,6145)
-(3364,6141)
-(3368,6140)
-(3366,6131)
-(3364,6133)
-(3364,6127)
-(3362,6130)
-(3364,6124)
-(3363,6120)
-(3362,6121)
-(3361,6117)
-(3360,6117)
-(3360,6120)
-(3359,6120)
-(3359,6121)
-(3358,6119)
-(3356,6121)
-(3354,6118)
-(3352,6118)
-(3349,6111)
-(3345,6111)
-(3344,6115)
-(3343,6117)
-(3343,6123)
-(3344,6125)
-(3341,6130)
-(3340,6130)
-(3341,6119)
-(3341,6117)
-(3336,6128)
-(3337,6132)
-(3335,6142)
-(3333,6144)
-(3329,6143)
-(3325,6137)
-(3320,6140)
-(3317,6137)
-(3319,6142)
-(3318,6145)
-(3317,6146)
-(3315,6145)
-(3315,6137)
-(3311,6141)
-(3309,6140)
-(3307,6134)
-(3306,6135)
-(3304,6134)
-(3303,6128)
-(3302,6125)
-(3302,6124)
-(3304,6126)
-(3305,6132)
-(3307,6130)
-(3308,6131)
-(3310,6138)
-(3313,6136)
-(3315,6136)
-(3317,6145)
-(3318,6143)
-(3316,6138)
-(3317,6135)
-(3320,6139)
-(3326,6135)
-(3327,6137)
-(3329,6141)
-(3332,6140)
-(3332,6131)
-(3331,6131)
-(3330,6133)
-(3329,6133)
-(3330,6130)
-(3328,6119)
-(3326,6111)
-(3324,6111)
-(3325,6109)
-(3324,6104)
-(3325,6109)
-(3327,6104)
-(3328,6104)
-(3329,6100)
-(3329,6104)
-(3328,6112)
-(3329,6117)
-(3330,6122)
-(3331,6127)
-(3332,6128)
-(3335,6111)
-(3336,6112)
-(3338,6108)
-(3341,6108)
-(3341,6106)
-(3343,6109)
-(3347,6109)
-(3348,6104)
-(3350,6104)
-(3350,6102)
-(3350,6097)
-(3351,6097)
-(3352,6090)
-(3353,6089)
-(3354,6093)
-(3355,6090)
-(3357,6088)
-(3357,6084)
-(3354,6085)
-(3353,6081)
-(3355,6082)
-(3356,6081)
-(3360,6071)
-(3360,6076)
-(3358,6083)
-(3359,6088)
-(3354,6099)
-(3359,6095)
-(3359,6097)
-(3359,6100)
-(3356,6101)
-(3355,6102)
-(3358,6105)
-(3359,6103)
-(3360,6105)
-(3363,6101)
-(3362,6109)
-(3364,6105)
-(3365,6106)
-(3366,6096)
-(3367,6100)
-(3369,6100)
-(3370,6104)
-(3373,6101)
-(3376,6101)
-(3377,6104)
-(3377,6108)
-(3376,6110)
-(3373,6109)
-(3372,6111)
-(3373,6116)
-(3376,6118)
-(3375,6122)
-(3374,6122)
-(3374,6119)
-(3372,6118)
-(3372,6114)
-(3370,6117)
-(3370,6111)
-(3369,6113)
-(3368,6107)
-(3367,6107)
-(3365,6112)
-(3367,6114)
-(3370,6127)
-(3371,6127)
-(3372,6134)
-107
-(3284,5455)
-(3293,5455)
-(3302,5463)
-(3305,5469)
-(3305,5482)
-(3309,5492)
-(3310,5510)
-(3312,5516)
-(3312,5522)
-(3315,5525)
-(3317,5523)
-(3317,5529)
-(3320,5533)
-(3321,5535)
-(3328,5540)
-(3330,5544)
-(3327,5545)
-(3323,5542)
-(3320,5547)
-(3322,5550)
-(3319,5550)
-(3318,5552)
-(3318,5557)
-(3316,5557)
-(3316,5554)
-(3315,5553)
-(3316,5552)
-(3318,5550)
-(3318,5546)
-(3321,5541)
-(3320,5539)
-(3316,5536)
-(3314,5532)
-(3312,5532)
-(3312,5528)
-(3310,5521)
-(3309,5514)
-(3308,5512)
-(3307,5513)
-(3306,5513)
-(3307,5510)
-(3306,5503)
-(3303,5498)
-(3305,5499)
-(3303,5482)
-(3301,5479)
-(3302,5479)
-(3303,5477)
-(3302,5469)
-(3298,5462)
-(3295,5460)
-(3289,5458)
-(3282,5459)
-(3279,5458)
-(3272,5476)
-(3268,5479)
-(3264,5479)
-(3262,5482)
-(3263,5486)
-(3263,5492)
-(3262,5493)
-(3262,5495)
-(3263,5500)
-(3262,5504)
-(3260,5493)
-(3260,5491)
-(3263,5487)
-(3261,5483)
-(3256,5490)
-(3250,5493)
-(3242,5495)
-(3238,5493)
-(3238,5496)
-(3239,5499)
-(3240,5505)
-(3239,5508)
-(3237,5510)
-(3236,5507)
-(3237,5499)
-(3235,5491)
-(3232,5487)
-(3226,5491)
-(3224,5491)
-(3227,5484)
-(3230,5485)
-(3232,5483)
-(3234,5485)
-(3237,5485)
-(3240,5491)
-(3245,5492)
-(3245,5490)
-(3246,5489)
-(3246,5486)
-(3248,5487)
-(3251,5483)
-(3255,5481)
-(3256,5479)
-(3258,5477)
-(3259,5473)
-(3262,5475)
-(3265,5473)
-(3270,5474)
-(3274,5466)
-(3277,5457)
-(3280,5452)
-(3283,5452)
-(3284,5455)
-297
-(3281,2938)
-(3279,2938)
-(3279,2939)
-(3278,2949)
-(3276,2944)
-(3277,2937)
-(3279,2935)
-(3278,2934)
-(3273,2933)
-(3273,2935)
-(3271,2935)
-(3270,2930)
-(3268,2932)
-(3264,2933)
-(3267,2931)
-(3266,2928)
-(3268,2927)
-(3267,2925)
-(3266,2916)
-(3264,2913)
-(3263,2912)
-(3262,2908)
-(3254,2911)
-(3250,2915)
-(3249,2922)
-(3249,2928)
-(3248,2926)
-(3245,2931)
-(3245,2927)
-(3244,2926)
-(3243,2930)
-(3239,2934)
-(3236,2940)
-(3237,2942)
-(3242,2950)
-(3243,2953)
-(3245,2957)
-(3246,2959)
-(3246,2963)
-(3249,2965)
-(3248,2968)
-(3249,2970)
-(3252,2975)
-(3252,2980)
-(3254,2984)
-(3254,2985)
-(3252,2983)
-(3251,2983)
-(3249,2989)
-(3248,2986)
-(3249,2983)
-(3251,2978)
-(3250,2975)
-(3249,2974)
-(3248,2973)
-(3247,2970)
-(3245,2967)
-(3245,2973)
-(3241,2962)
-(3239,2965)
-(3239,2959)
-(3237,2957)
-(3238,2956)
-(3237,2953)
-(3234,2952)
-(3227,2956)
-(3226,2957)
-(3227,2958)
-(3228,2960)
-(3227,2960)
-(3226,2961)
-(3224,2964)
-(3222,2964)
-(3220,2962)
-(3221,2961)
-(3222,2961)
-(3225,2959)
-(3223,2956)
-(3225,2956)
-(3230,2949)
-(3228,2945)
-(3222,2945)
-(3217,2942)
-(3214,2943)
-(3211,2946)
-(3210,2952)
-(3208,2973)
-(3208,2992)
-(3206,2997)
-(3207,2990)
-(3206,2987)
-(3207,2970)
-(3206,2965)
-(3204,2956)
-(3201,2954)
-(3198,2956)
-(3196,2952)
-(3197,2946)
-(3196,2941)
-(3196,2929)
-(3202,2919)
-(3202,2922)
-(3196,2933)
-(3197,2942)
-(3198,2944)
-(3199,2952)
-(3200,2953)
-(3201,2951)
-(3202,2953)
-(3204,2954)
-(3205,2951)
-(3204,2947)
-(3203,2944)
-(3205,2943)
-(3207,2936)
-(3207,2941)
-(3208,2943)
-(3210,2942)
-(3215,2933)
-(3218,2931)
-(3225,2931)
-(3227,2934)
-(3229,2933)
-(3230,2934)
-(3229,2936)
-(3230,2936)
-(3237,2932)
-(3241,2923)
-(3246,2917)
-(3246,2914)
-(3245,2912)
-(3246,2911)
-(3246,2907)
-(3248,2907)
-(3250,2902)
-(3252,2902)
-(3262,2906)
-(3264,2903)
-(3276,2905)
-(3279,2913)
-(3279,2929)
-(3281,2930)
-(3283,2927)
-(3288,2929)
-(3292,2934)
-(3295,2931)
-(3300,2931)
-(3309,2954)
-(3309,2957)
-(3311,2958)
-(3315,2952)
-(3318,2951)
-(3325,2941)
-(3327,2942)
-(3326,2944)
-(3327,2944)
-(3329,2943)
-(3329,2944)
-(3327,2946)
-(3323,2950)
-(3323,2953)
-(3320,2951)
-(3315,2957)
-(3317,2957)
-(3316,2960)
-(3317,2965)
-(3319,2965)
-(3322,2958)
-(3324,2962)
-(3325,2959)
-(3327,2960)
-(3329,2958)
-(3331,2960)
-(3334,2964)
-(3330,2960)
-(3322,2966)
-(3323,2974)
-(3322,2977)
-(3325,2982)
-(3321,2992)
-(3322,2999)
-(3327,3001)
-(3327,3004)
-(3328,3007)
-(3327,3006)
-(3327,3013)
-(3325,3017)
-(3325,3020)
-(3324,3021)
-(3327,3028)
-(3329,3030)
-(3328,3030)
-(3327,3037)
-(3325,3038)
-(3331,3050)
-(3329,3058)
-(3328,3060)
-(3329,3067)
-(3331,3072)
-(3329,3082)
-(3329,3083)
-(3329,3079)
-(3328,3085)
-(3330,3089)
-(3332,3089)
-(3341,3083)
-(3343,3085)
-(3347,3083)
-(3348,3085)
-(3347,3088)
-(3352,3088)
-(3348,3090)
-(3346,3086)
-(3345,3086)
-(3344,3089)
-(3341,3086)
-(3336,3090)
-(3336,3093)
-(3338,3100)
-(3341,3103)
-(3343,3107)
-(3341,3112)
-(3343,3117)
-(3343,3120)
-(3340,3112)
-(3340,3110)
-(3342,3108)
-(3341,3105)
-(3333,3102)
-(3335,3097)
-(3334,3092)
-(3333,3092)
-(3331,3093)
-(3327,3086)
-(3330,3071)
-(3328,3074)
-(3328,3067)
-(3327,3072)
-(3325,3074)
-(3323,3074)
-(3320,3071)
-(3321,3068)
-(3323,3072)
-(3324,3073)
-(3327,3069)
-(3326,3066)
-(3327,3059)
-(3329,3050)
-(3328,3048)
-(3325,3042)
-(3326,3046)
-(3326,3047)
-(3324,3046)
-(3323,3043)
-(3324,3041)
-(3322,3038)
-(3322,3029)
-(3322,3023)
-(3320,3022)
-(3320,3019)
-(3322,3016)
-(3322,3013)
-(3319,3007)
-(3318,2996)
-(3319,2995)
-(3319,2994)
-(3315,2991)
-(3313,2985)
-(3310,2981)
-(3311,2977)
-(3310,2978)
-(3308,2975)
-(3306,2976)
-(3307,2972)
-(3309,2972)
-(3307,2967)
-(3303,2964)
-(3305,2968)
-(3304,2968)
-(3299,2963)
-(3301,2962)
-(3302,2951)
-(3301,2950)
-(3300,2953)
-(3299,2953)
-(3299,2937)
-(3296,2935)
-(3287,2937)
-(3288,2939)
-(3289,2942)
-(3288,2947)
-(3286,2950)
-(3287,2943)
-(3286,2942)
-(3285,2942)
-(3281,2935)
-(3281,2938)
-54
-(3235,4874)
-(3238,4874)
-(3242,4877)
-(3245,4883)
-(3246,4889)
-(3249,4896)
-(3251,4899)
-(3258,4904)
-(3261,4916)
-(3262,4916)
-(3262,4921)
-(3264,4927)
-(3271,4939)
-(3278,4945)
-(3281,4958)
-(3287,4966)
-(3291,4980)
-(3290,4985)
-(3287,4986)
-(3286,4991)
-(3287,4992)
-(3284,4996)
-(3282,4997)
-(3282,4995)
-(3284,4993)
-(3287,4984)
-(3287,4983)
-(3282,4981)
-(3281,4977)
-(3279,4973)
-(3280,4971)
-(3279,4966)
-(3273,4956)
-(3272,4948)
-(3270,4945)
-(3267,4939)
-(3266,4934)
-(3261,4925)
-(3257,4905)
-(3254,4903)
-(3250,4901)
-(3247,4897)
-(3243,4886)
-(3240,4881)
-(3242,4881)
-(3237,4879)
-(3233,4880)
-(3235,4878)
-(3240,4878)
-(3238,4876)
-(3236,4877)
-(3233,4875)
-(3233,4874)
-(3235,4874)
-27
-(3134,6262)
-(3132,6266)
-(3132,6268)
-(3130,6268)
-(3131,6271)
-(3129,6269)
-(3127,6274)
-(3120,6280)
-(3115,6288)
-(3116,6283)
-(3119,6280)
-(3120,6277)
-(3126,6271)
-(3126,6270)
-(3123,6268)
-(3123,6266)
-(3125,6268)
-(3128,6266)
-(3129,6267)
-(3130,6265)
-(3129,6263)
-(3131,6264)
-(3132,6263)
-(3132,6261)
-(3134,6260)
-(3135,6260)
-(3134,6262)
-34
-(3124,2866)
-(3129,2869)
-(3131,2876)
-(3137,2881)
-(3139,2885)
-(3151,2891)
-(3155,2892)
-(3160,2896)
-(3163,2902)
-(3166,2905)
-(3172,2915)
-(3168,2912)
-(3165,2906)
-(3163,2905)
-(3161,2902)
-(3162,2910)
-(3156,2896)
-(3148,2893)
-(3142,2888)
-(3139,2889)
-(3137,2886)
-(3135,2887)
-(3133,2894)
-(3134,2897)
-(3133,2899)
-(3132,2894)
-(3133,2891)
-(3133,2885)
-(3131,2881)
-(3128,2879)
-(3126,2877)
-(3125,2869)
-(3123,2864)
-(3124,2866)
-153
-(2970,2613)
-(2969,2616)
-(2963,2622)
-(2960,2623)
-(2957,2621)
-(2956,2623)
-(2954,2622)
-(2951,2625)
-(2951,2627)
-(2954,2632)
-(2954,2635)
-(2952,2639)
-(2950,2642)
-(2948,2639)
-(2946,2638)
-(2945,2637)
-(2942,2638)
-(2936,2634)
-(2935,2629)
-(2935,2619)
-(2930,2617)
-(2928,2615)
-(2927,2611)
-(2925,2608)
-(2922,2609)
-(2919,2614)
-(2919,2622)
-(2920,2624)
-(2920,2627)
-(2917,2621)
-(2915,2612)
-(2911,2610)
-(2911,2617)
-(2910,2616)
-(2909,2607)
-(2906,2602)
-(2904,2602)
-(2900,2598)
-(2897,2601)
-(2899,2596)
-(2897,2591)
-(2896,2589)
-(2893,2588)
-(2891,2589)
-(2889,2587)
-(2885,2585)
-(2884,2587)
-(2883,2588)
-(2880,2595)
-(2880,2586)
-(2877,2583)
-(2875,2583)
-(2869,2586)
-(2867,2585)
-(2861,2585)
-(2861,2584)
-(2861,2582)
-(2866,2582)
-(2868,2583)
-(2871,2580)
-(2868,2577)
-(2866,2574)
-(2866,2567)
-(2865,2560)
-(2861,2557)
-(2858,2551)
-(2856,2552)
-(2858,2547)
-(2857,2544)
-(2856,2543)
-(2855,2544)
-(2854,2542)
-(2855,2541)
-(2855,2535)
-(2854,2533)
-(2853,2534)
-(2852,2530)
-(2855,2529)
-(2856,2527)
-(2860,2527)
-(2861,2528)
-(2863,2534)
-(2864,2535)
-(2867,2530)
-(2868,2532)
-(2867,2534)
-(2868,2537)
-(2870,2536)
-(2871,2532)
-(2870,2539)
-(2871,2541)
-(2875,2542)
-(2877,2537)
-(2879,2535)
-(2880,2533)
-(2877,2540)
-(2878,2543)
-(2880,2544)
-(2880,2545)
-(2876,2546)
-(2875,2548)
-(2870,2547)
-(2868,2554)
-(2873,2568)
-(2878,2572)
-(2876,2568)
-(2877,2568)
-(2880,2571)
-(2883,2570)
-(2889,2572)
-(2890,2571)
-(2890,2566)
-(2891,2575)
-(2893,2574)
-(2893,2582)
-(2896,2584)
-(2903,2586)
-(2908,2583)
-(2913,2575)
-(2913,2579)
-(2911,2581)
-(2910,2583)
-(2912,2588)
-(2909,2586)
-(2907,2589)
-(2908,2590)
-(2907,2592)
-(2908,2596)
-(2908,2600)
-(2912,2606)
-(2914,2606)
-(2917,2610)
-(2919,2611)
-(2922,2607)
-(2927,2607)
-(2930,2613)
-(2931,2615)
-(2936,2619)
-(2936,2629)
-(2937,2632)
-(2939,2634)
-(2945,2635)
-(2951,2639)
-(2952,2634)
-(2950,2627)
-(2951,2624)
-(2952,2621)
-(2954,2621)
-(2955,2622)
-(2956,2619)
-(2960,2621)
-(2962,2621)
-(2970,2613)
-164
-(2911,2674)
-(2915,2669)
-(2918,2669)
-(2922,2674)
-(2924,2678)
-(2935,2686)
-(2939,2691)
-(2942,2693)
-(2950,2701)
-(2955,2699)
-(2965,2703)
-(2968,2708)
-(2972,2708)
-(2976,2711)
-(2978,2717)
-(2983,2719)
-(2987,2723)
-(2991,2721)
-(2996,2722)
-(3005,2728)
-(3008,2736)
-(3012,2740)
-(3012,2743)
-(3010,2746)
-(3012,2750)
-(3014,2751)
-(3016,2756)
-(3015,2763)
-(3016,2767)
-(3017,2769)
-(3016,2771)
-(3015,2770)
-(3015,2773)
-(3014,2772)
-(3012,2772)
-(3013,2774)
-(3015,2775)
-(3013,2779)
-(3011,2779)
-(3010,2780)
-(3012,2782)
-(3013,2784)
-(3014,2780)
-(3017,2783)
-(3018,2786)
-(3020,2785)
-(3021,2787)
-(3022,2786)
-(3021,2784)
-(3021,2782)
-(3019,2782)
-(3018,2780)
-(3016,2777)
-(3017,2775)
-(3019,2775)
-(3019,2768)
-(3019,2765)
-(3020,2762)
-(3018,2762)
-(3017,2751)
-(3021,2756)
-(3025,2755)
-(3030,2752)
-(3033,2747)
-(3039,2743)
-(3043,2746)
-(3044,2744)
-(3046,2750)
-(3045,2753)
-(3047,2754)
-(3046,2760)
-(3052,2764)
-(3055,2764)
-(3058,2761)
-(3062,2763)
-(3069,2751)
-(3074,2752)
-(3079,2757)
-(3081,2760)
-(3084,2760)
-(3086,2762)
-(3086,2759)
-(3088,2759)
-(3089,2762)
-(3091,2769)
-(3095,2773)
-(3098,2780)
-(3100,2780)
-(3098,2775)
-(3103,2779)
-(3103,2783)
-(3106,2789)
-(3103,2793)
-(3103,2796)
-(3103,2805)
-(3105,2808)
-(3105,2812)
-(3109,2819)
-(3113,2822)
-(3110,2816)
-(3108,2810)
-(3104,2804)
-(3106,2800)
-(3107,2791)
-(3108,2792)
-(3108,2796)
-(3110,2793)
-(3114,2794)
-(3108,2789)
-(3107,2780)
-(3105,2777)
-(3106,2775)
-(3101,2775)
-(3099,2773)
-(3099,2771)
-(3094,2770)
-(3089,2758)
-(3085,2757)
-(3083,2751)
-(3080,2748)
-(3076,2746)
-(3069,2748)
-(3065,2750)
-(3062,2760)
-(3057,2758)
-(3053,2762)
-(3049,2754)
-(3048,2747)
-(3046,2741)
-(3043,2738)
-(3036,2739)
-(3033,2744)
-(3025,2752)
-(3019,2742)
-(3013,2738)
-(3010,2731)
-(3008,2729)
-(3005,2725)
-(2996,2720)
-(2987,2720)
-(2979,2711)
-(2973,2707)
-(2971,2704)
-(2972,2702)
-(2973,2702)
-(2974,2703)
-(2974,2700)
-(2972,2700)
-(2969,2701)
-(2970,2703)
-(2969,2705)
-(2966,2702)
-(2963,2701)
-(2957,2697)
-(2951,2698)
-(2947,2693)
-(2944,2691)
-(2936,2681)
-(2929,2678)
-(2922,2670)
-(2917,2666)
-(2914,2667)
-(2911,2671)
-(2911,2674)
-135
-(2863,5053)
-(2869,5045)
-(2872,5036)
-(2872,5031)
-(2874,5028)
-(2878,5026)
-(2878,5022)
-(2881,5019)
-(2881,5012)
-(2884,5005)
-(2882,5001)
-(2883,4998)
-(2886,4992)
-(2889,4990)
-(2889,4986)
-(2890,4983)
-(2894,4980)
-(2896,4982)
-(2893,4986)
-(2895,4990)
-(2897,4996)
-(2895,5001)
-(2896,5009)
-(2900,5010)
-(2902,5013)
-(2902,5016)
-(2905,5007)
-(2910,5003)
-(2914,5002)
-(2915,5005)
-(2919,5007)
-(2926,5005)
-(2932,5007)
-(2937,5013)
-(2938,5018)
-(2942,5024)
-(2945,5041)
-(2947,5049)
-(2949,5051)
-(2952,5051)
-(2955,5048)
-(2955,5047)
-(2961,5040)
-(2963,5035)
-(2966,5032)
-(2967,5022)
-(2965,5019)
-(2969,5018)
-(2973,5011)
-(2971,5009)
-(2972,5008)
-(2972,5006)
-(2974,5006)
-(2978,5002)
-(2977,5006)
-(2975,5009)
-(2977,5015)
-(2975,5020)
-(2975,5024)
-(2978,5025)
-(2978,5027)
-(2979,5029)
-(2983,5032)
-(2983,5038)
-(2984,5040)
-(2982,5038)
-(2981,5033)
-(2977,5028)
-(2975,5027)
-(2973,5029)
-(2974,5023)
-(2973,5022)
-(2972,5024)
-(2971,5021)
-(2970,5020)
-(2969,5028)
-(2969,5030)
-(2968,5029)
-(2967,5035)
-(2964,5036)
-(2964,5039)
-(2957,5047)
-(2952,5058)
-(2952,5067)
-(2951,5069)
-(2950,5065)
-(2950,5063)
-(2948,5061)
-(2947,5057)
-(2943,5040)
-(2940,5036)
-(2940,5030)
-(2936,5020)
-(2936,5015)
-(2928,5009)
-(2923,5007)
-(2919,5011)
-(2910,5012)
-(2907,5014)
-(2904,5018)
-(2903,5025)
-(2904,5027)
-(2905,5029)
-(2904,5033)
-(2904,5037)
-(2904,5038)
-(2902,5036)
-(2901,5031)
-(2902,5026)
-(2902,5021)
-(2898,5011)
-(2896,5010)
-(2895,5011)
-(2894,5014)
-(2893,5023)
-(2888,5033)
-(2887,5040)
-(2885,5044)
-(2882,5046)
-(2884,5049)
-(2882,5053)
-(2881,5061)
-(2880,5064)
-(2878,5067)
-(2876,5073)
-(2874,5067)
-(2871,5066)
-(2869,5062)
-(2866,5063)
-(2865,5061)
-(2866,5054)
-(2864,5056)
-(2864,5061)
-(2862,5058)
-(2863,5053)
-343
-(2786,4451)
-(2786,4453)
-(2787,4454)
-(2789,4457)
-(2790,4462)
-(2794,4465)
-(2796,4472)
-(2803,4474)
-(2805,4475)
-(2804,4477)
-(2804,4478)
-(2806,4477)
-(2806,4491)
-(2809,4493)
-(2808,4496)
-(2809,4497)
-(2810,4498)
-(2809,4500)
-(2807,4498)
-(2806,4500)
-(2808,4504)
-(2811,4504)
-(2811,4505)
-(2807,4507)
-(2803,4518)
-(2804,4530)
-(2808,4542)
-(2807,4543)
-(2808,4545)
-(2807,4550)
-(2808,4551)
-(2810,4555)
-(2809,4557)
-(2808,4556)
-(2807,4558)
-(2806,4557)
-(2806,4560)
-(2808,4563)
-(2807,4564)
-(2808,4566)
-(2808,4570)
-(2804,4582)
-(2800,4583)
-(2798,4584)
-(2799,4584)
-(2797,4591)
-(2799,4592)
-(2800,4596)
-(2799,4601)
-(2801,4603)
-(2799,4604)
-(2798,4603)
-(2794,4616)
-(2799,4610)
-(2801,4611)
-(2798,4616)
-(2799,4620)
-(2798,4624)
-(2793,4628)
-(2793,4634)
-(2795,4635)
-(2797,4637)
-(2797,4644)
-(2799,4649)
-(2798,4652)
-(2798,4658)
-(2798,4659)
-(2800,4657)
-(2799,4660)
-(2800,4662)
-(2799,4665)
-(2799,4673)
-(2798,4676)
-(2795,4683)
-(2797,4687)
-(2796,4689)
-(2793,4691)
-(2793,4694)
-(2789,4695)
-(2787,4699)
-(2790,4700)
-(2792,4702)
-(2796,4701)
-(2800,4701)
-(2800,4703)
-(2796,4703)
-(2796,4705)
-(2798,4704)
-(2800,4707)
-(2800,4708)
-(2798,4706)
-(2796,4708)
-(2800,4710)
-(2805,4716)
-(2803,4726)
-(2800,4729)
-(2797,4728)
-(2797,4735)
-(2798,4736)
-(2802,4729)
-(2805,4726)
-(2807,4727)
-(2808,4733)
-(2807,4736)
-(2805,4738)
-(2804,4741)
-(2807,4741)
-(2809,4741)
-(2809,4742)
-(2808,4750)
-(2803,4754)
-(2800,4755)
-(2797,4754)
-(2796,4745)
-(2788,4744)
-(2782,4736)
-(2782,4733)
-(2783,4724)
-(2782,4720)
-(2783,4716)
-(2784,4713)
-(2784,4711)
-(2784,4707)
-(2782,4705)
-(2780,4705)
-(2779,4709)
-(2777,4706)
-(2777,4704)
-(2780,4703)
-(2782,4699)
-(2781,4697)
-(2780,4696)
-(2781,4687)
-(2780,4687)
-(2779,4691)
-(2779,4683)
-(2786,4671)
-(2785,4666)
-(2785,4665)
-(2784,4670)
-(2784,4666)
-(2782,4662)
-(2784,4664)
-(2784,4656)
-(2790,4645)
-(2789,4640)
-(2787,4635)
-(2788,4634)
-(2789,4630)
-(2787,4626)
-(2787,4622)
-(2788,4616)
-(2787,4615)
-(2788,4614)
-(2791,4606)
-(2792,4601)
-(2792,4596)
-(2792,4587)
-(2792,4584)
-(2794,4580)
-(2794,4576)
-(2794,4577)
-(2794,4575)
-(2792,4575)
-(2793,4574)
-(2793,4572)
-(2791,4572)
-(2792,4566)
-(2793,4564)
-(2792,4563)
-(2791,4565)
-(2790,4564)
-(2791,4562)
-(2790,4556)
-(2791,4558)
-(2792,4557)
-(2793,4554)
-(2791,4551)
-(2790,4546)
-(2791,4546)
-(2791,4541)
-(2789,4540)
-(2790,4539)
-(2788,4533)
-(2789,4532)
-(2790,4535)
-(2791,4535)
-(2793,4531)
-(2797,4528)
-(2799,4531)
-(2797,4531)
-(2797,4534)
-(2798,4533)
-(2800,4535)
-(2800,4528)
-(2796,4524)
-(2789,4528)
-(2789,4526)
-(2789,4524)
-(2787,4522)
-(2789,4520)
-(2791,4521)
-(2792,4519)
-(2791,4516)
-(2790,4515)
-(2789,4517)
-(2789,4515)
-(2787,4517)
-(2785,4513)
-(2786,4509)
-(2785,4508)
-(2786,4505)
-(2789,4509)
-(2789,4507)
-(2788,4505)
-(2784,4503)
-(2783,4500)
-(2785,4495)
-(2784,4494)
-(2780,4492)
-(2776,4491)
-(2771,4487)
-(2768,4489)
-(2766,4487)
-(2764,4483)
-(2765,4482)
-(2765,4480)
-(2763,4477)
-(2762,4477)
-(2761,4475)
-(2760,4474)
-(2761,4473)
-(2759,4471)
-(2759,4470)
-(2762,4466)
-(2761,4461)
-(2761,4458)
-(2759,4454)
-(2757,4454)
-(2754,4456)
-(2747,4459)
-(2745,4457)
-(2746,4457)
-(2746,4454)
-(2743,4454)
-(2743,4457)
-(2742,4460)
-(2740,4460)
-(2739,4459)
-(2741,4455)
-(2740,4455)
-(2739,4456)
-(2737,4456)
-(2733,4446)
-(2730,4444)
-(2728,4446)
-(2725,4444)
-(2722,4446)
-(2720,4444)
-(2719,4446)
-(2720,4449)
-(2721,4449)
-(2720,4450)
-(2711,4448)
-(2705,4450)
-(2703,4447)
-(2703,4444)
-(2701,4445)
-(2702,4448)
-(2700,4447)
-(2699,4448)
-(2698,4448)
-(2699,4446)
-(2700,4440)
-(2702,4440)
-(2703,4442)
-(2706,4439)
-(2708,4439)
-(2708,4442)
-(2709,4440)
-(2711,4440)
-(2712,4439)
-(2713,4440)
-(2713,4433)
-(2715,4432)
-(2717,4428)
-(2718,4429)
-(2721,4424)
-(2721,4426)
-(2723,4422)
-(2730,4418)
-(2734,4412)
-(2734,4408)
-(2735,4406)
-(2741,4407)
-(2740,4410)
-(2741,4411)
-(2743,4411)
-(2745,4414)
-(2747,4406)
-(2748,4405)
-(2749,4408)
-(2750,4409)
-(2749,4411)
-(2748,4415)
-(2752,4416)
-(2752,4417)
-(2753,4416)
-(2753,4418)
-(2755,4419)
-(2756,4418)
-(2758,4421)
-(2758,4419)
-(2759,4419)
-(2758,4425)
-(2759,4424)
-(2761,4424)
-(2765,4418)
-(2767,4419)
-(2768,4418)
-(2769,4420)
-(2771,4421)
-(2771,4424)
-(2774,4425)
-(2773,4427)
-(2772,4427)
-(2770,4430)
-(2772,4431)
-(2772,4433)
-(2772,4436)
-(2771,4438)
-(2771,4440)
-(2773,4443)
-(2773,4440)
-(2775,4440)
-(2776,4439)
-(2775,4437)
-(2778,4437)
-(2779,4439)
-(2780,4439)
-(2785,4445)
-(2787,4449)
-(2786,4451)
-429
-(2684,3687)
-(2686,3689)
-(2684,3690)
-(2690,3694)
-(2690,3696)
-(2688,3696)
-(2688,3698)
-(2693,3700)
-(2691,3702)
-(2693,3704)
-(2692,3706)
-(2694,3705)
-(2697,3709)
-(2697,3712)
-(2698,3711)
-(2699,3711)
-(2699,3715)
-(2698,3715)
-(2698,3717)
-(2701,3716)
-(2701,3718)
-(2703,3718)
-(2701,3710)
-(2703,3709)
-(2707,3710)
-(2702,3705)
-(2699,3704)
-(2700,3704)
-(2702,3705)
-(2703,3703)
-(2706,3703)
-(2706,3705)
-(2709,3705)
-(2710,3707)
-(2708,3709)
-(2709,3711)
-(2711,3706)
-(2709,3704)
-(2713,3703)
-(2711,3701)
-(2710,3702)
-(2708,3699)
-(2711,3697)
-(2710,3693)
-(2709,3692)
-(2711,3690)
-(2714,3691)
-(2718,3691)
-(2720,3689)
-(2723,3682)
-(2727,3681)
-(2729,3678)
-(2729,3675)
-(2731,3675)
-(2733,3674)
-(2734,3678)
-(2736,3677)
-(2737,3678)
-(2739,3676)
-(2740,3676)
-(2742,3670)
-(2744,3670)
-(2746,3669)
-(2744,3669)
-(2743,3668)
-(2742,3662)
-(2737,3658)
-(2738,3656)
-(2741,3655)
-(2743,3655)
-(2744,3656)
-(2744,3659)
-(2748,3663)
-(2752,3660)
-(2751,3662)
-(2752,3666)
-(2754,3668)
-(2754,3662)
-(2756,3665)
-(2758,3662)
-(2761,3664)
-(2761,3661)
-(2764,3659)
-(2765,3655)
-(2766,3654)
-(2768,3662)
-(2766,3669)
-(2769,3672)
-(2769,3674)
-(2772,3676)
-(2773,3674)
-(2774,3675)
-(2775,3676)
-(2775,3678)
-(2776,3678)
-(2777,3676)
-(2780,3679)
-(2778,3680)
-(2779,3682)
-(2789,3684)
-(2789,3685)
-(2787,3687)
-(2789,3691)
-(2802,3699)
-(2803,3704)
-(2805,3702)
-(2807,3699)
-(2807,3693)
-(2809,3695)
-(2812,3694)
-(2811,3690)
-(2808,3690)
-(2806,3680)
-(2805,3678)
-(2802,3679)
-(2800,3678)
-(2800,3669)
-(2798,3669)
-(2799,3672)
-(2798,3673)
-(2795,3671)
-(2791,3672)
-(2789,3667)
-(2789,3654)
-(2791,3652)
-(2793,3651)
-(2795,3649)
-(2800,3651)
-(2802,3655)
-(2805,3654)
-(2807,3649)
-(2806,3641)
-(2808,3635)
-(2808,3633)
-(2806,3631)
-(2808,3630)
-(2808,3629)
-(2805,3627)
-(2804,3627)
-(2805,3630)
-(2804,3632)
-(2804,3635)
-(2799,3643)
-(2795,3638)
-(2795,3634)
-(2799,3630)
-(2796,3626)
-(2798,3625)
-(2799,3626)
-(2800,3624)
-(2803,3624)
-(2802,3622)
-(2800,3623)
-(2802,3620)
-(2804,3619)
-(2803,3614)
-(2798,3606)
-(2797,3602)
-(2796,3600)
-(2795,3595)
-(2792,3594)
-(2794,3592)
-(2792,3590)
-(2792,3588)
-(2791,3588)
-(2791,3590)
-(2791,3595)
-(2789,3596)
-(2788,3592)
-(2786,3593)
-(2783,3597)
-(2783,3601)
-(2781,3602)
-(2779,3605)
-(2777,3605)
-(2776,3607)
-(2774,3607)
-(2772,3599)
-(2768,3597)
-(2765,3592)
-(2766,3591)
-(2770,3592)
-(2772,3589)
-(2777,3589)
-(2780,3584)
-(2781,3579)
-(2780,3577)
-(2782,3573)
-(2780,3569)
-(2779,3568)
-(2779,3566)
-(2777,3568)
-(2776,3571)
-(2774,3572)
-(2768,3574)
-(2767,3574)
-(2768,3572)
-(2762,3569)
-(2761,3570)
-(2762,3571)
-(2762,3572)
-(2755,3572)
-(2752,3569)
-(2749,3570)
-(2749,3569)
-(2749,3561)
-(2746,3558)
-(2749,3556)
-(2754,3560)
-(2757,3563)
-(2757,3566)
-(2761,3567)
-(2762,3563)
-(2761,3555)
-(2758,3550)
-(2758,3545)
-(2759,3545)
-(2760,3547)
-(2761,3546)
-(2760,3539)
-(2757,3534)
-(2756,3528)
-(2754,3523)
-(2747,3519)
-(2736,3516)
-(2733,3513)
-(2725,3511)
-(2721,3507)
-(2715,3502)
-(2706,3500)
-(2703,3496)
-(2690,3491)
-(2681,3493)
-(2677,3498)
-(2676,3498)
-(2675,3495)
-(2671,3492)
-(2670,3493)
-(2666,3492)
-(2664,3493)
-(2656,3495)
-(2650,3504)
-(2641,3503)
-(2634,3500)
-(2626,3500)
-(2621,3503)
-(2619,3506)
-(2618,3506)
-(2620,3514)
-(2622,3516)
-(2622,3520)
-(2623,3522)
-(2623,3524)
-(2622,3522)
-(2621,3523)
-(2624,3530)
-(2624,3531)
-(2624,3536)
-(2625,3538)
-(2624,3538)
-(2623,3538)
-(2622,3537)
-(2621,3538)
-(2623,3541)
-(2626,3541)
-(2628,3539)
-(2629,3534)
-(2629,3530)
-(2634,3531)
-(2631,3538)
-(2633,3537)
-(2636,3529)
-(2636,3524)
-(2636,3532)
-(2633,3537)
-(2628,3543)
-(2623,3545)
-(2621,3548)
-(2624,3549)
-(2625,3551)
-(2627,3550)
-(2628,3551)
-(2628,3558)
-(2626,3560)
-(2624,3564)
-(2628,3570)
-(2624,3570)
-(2622,3573)
-(2620,3579)
-(2620,3581)
-(2620,3586)
-(2618,3588)
-(2617,3581)
-(2615,3581)
-(2608,3583)
-(2606,3586)
-(2603,3585)
-(2604,3588)
-(2607,3590)
-(2607,3592)
-(2608,3594)
-(2608,3598)
-(2610,3599)
-(2609,3601)
-(2609,3603)
-(2611,3606)
-(2610,3606)
-(2609,3606)
-(2608,3609)
-(2609,3611)
-(2615,3611)
-(2614,3614)
-(2616,3621)
-(2616,3622)
-(2615,3622)
-(2618,3624)
-(2618,3626)
-(2615,3625)
-(2615,3628)
-(2614,3628)
-(2617,3629)
-(2615,3631)
-(2618,3631)
-(2616,3633)
-(2613,3634)
-(2616,3638)
-(2615,3640)
-(2615,3642)
-(2617,3642)
-(2616,3644)
-(2617,3644)
-(2615,3646)
-(2620,3648)
-(2619,3649)
-(2616,3648)
-(2616,3651)
-(2615,3651)
-(2616,3654)
-(2619,3653)
-(2621,3654)
-(2621,3656)
-(2618,3659)
-(2618,3661)
-(2619,3662)
-(2620,3660)
-(2622,3660)
-(2624,3660)
-(2628,3663)
-(2627,3660)
-(2628,3660)
-(2630,3660)
-(2629,3657)
-(2631,3656)
-(2630,3654)
-(2628,3654)
-(2631,3652)
-(2633,3654)
-(2634,3651)
-(2636,3651)
-(2632,3649)
-(2633,3647)
-(2632,3646)
-(2633,3645)
-(2636,3645)
-(2638,3644)
-(2641,3644)
-(2642,3644)
-(2640,3647)
-(2642,3649)
-(2641,3650)
-(2641,3651)
-(2644,3652)
-(2644,3653)
-(2653,3654)
-(2653,3657)
-(2651,3658)
-(2653,3659)
-(2660,3658)
-(2659,3660)
-(2654,3662)
-(2650,3661)
-(2650,3664)
-(2646,3666)
-(2653,3665)
-(2654,3663)
-(2661,3662)
-(2663,3663)
-(2661,3664)
-(2660,3664)
-(2659,3665)
-(2654,3666)
-(2653,3668)
-(2651,3668)
-(2653,3669)
-(2657,3667)
-(2660,3668)
-(2660,3670)
-(2657,3671)
-(2660,3671)
-(2661,3670)
-(2664,3671)
-(2664,3673)
-(2663,3674)
-(2667,3674)
-(2664,3669)
-(2666,3667)
-(2667,3668)
-(2669,3670)
-(2670,3668)
-(2672,3667)
-(2672,3664)
-(2674,3665)
-(2675,3667)
-(2676,3667)
-(2674,3670)
-(2676,3670)
-(2677,3673)
-(2678,3672)
-(2678,3668)
-(2679,3667)
-(2680,3670)
-(2679,3671)
-(2681,3674)
-(2678,3676)
-(2678,3677)
-(2679,3677)
-(2680,3678)
-(2681,3685)
-(2684,3687)
-60
-(2563,4681)
-(2565,4692)
-(2564,4698)
-(2564,4696)
-(2563,4695)
-(2563,4692)
-(2560,4690)
-(2560,4687)
-(2557,4685)
-(2556,4686)
-(2555,4694)
-(2556,4698)
-(2555,4699)
-(2554,4699)
-(2554,4687)
-(2549,4682)
-(2546,4671)
-(2545,4669)
-(2544,4669)
-(2543,4673)
-(2542,4675)
-(2541,4670)
-(2537,4668)
-(2532,4661)
-(2531,4653)
-(2530,4650)
-(2530,4648)
-(2530,4642)
-(2530,4637)
-(2529,4624)
-(2531,4618)
-(2530,4616)
-(2531,4615)
-(2533,4609)
-(2535,4605)
-(2536,4594)
-(2540,4584)
-(2540,4581)
-(2539,4579)
-(2539,4576)
-(2543,4572)
-(2544,4573)
-(2547,4571)
-(2548,4572)
-(2549,4578)
-(2548,4587)
-(2550,4590)
-(2551,4597)
-(2553,4599)
-(2554,4601)
-(2557,4619)
-(2556,4621)
-(2558,4624)
-(2559,4630)
-(2559,4634)
-(2561,4641)
-(2559,4650)
-(2563,4668)
-(2563,4671)
-(2563,4681)
-885
-(2306,2933)
-(2325,2932)
-(2329,2930)
-(2332,2930)
-(2333,2933)
-(2337,2936)
-(2341,2937)
-(2343,2936)
-(2347,2936)
-(2350,2938)
-(2351,2940)
-(2350,2943)
-(2349,2944)
-(2346,2944)
-(2346,2949)
-(2342,2947)
-(2340,2943)
-(2338,2944)
-(2339,2948)
-(2341,2952)
-(2345,2952)
-(2349,2954)
-(2357,2954)
-(2360,2956)
-(2361,2958)
-(2360,2960)
-(2358,2962)
-(2357,2964)
-(2361,2962)
-(2359,2964)
-(2361,2964)
-(2363,2965)
-(2368,2958)
-(2370,2957)
-(2377,2959)
-(2381,2963)
-(2382,2965)
-(2387,2964)
-(2389,2965)
-(2390,2965)
-(2392,2967)
-(2395,2965)
-(2397,2966)
-(2399,2969)
-(2403,2965)
-(2405,2970)
-(2409,2969)
-(2413,2974)
-(2414,2980)
-(2416,2982)
-(2417,2989)
-(2419,2991)
-(2420,2990)
-(2422,2993)
-(2421,2998)
-(2419,2999)
-(2420,3001)
-(2421,3002)
-(2421,3006)
-(2421,3007)
-(2420,3016)
-(2417,3021)
-(2413,3023)
-(2414,3024)
-(2417,3022)
-(2422,3022)
-(2424,3020)
-(2426,3017)
-(2430,3014)
-(2431,3007)
-(2434,3004)
-(2435,3004)
-(2435,2995)
-(2434,2990)
-(2435,2982)
-(2437,2979)
-(2437,2975)
-(2440,2972)
-(2442,2971)
-(2447,2972)
-(2449,2969)
-(2451,2964)
-(2462,2953)
-(2469,2949)
-(2476,2948)
-(2485,2942)
-(2487,2939)
-(2490,2937)
-(2492,2934)
-(2496,2931)
-(2498,2928)
-(2501,2927)
-(2507,2921)
-(2510,2915)
-(2513,2912)
-(2514,2906)
-(2516,2903)
-(2526,2898)
-(2530,2894)
-(2540,2887)
-(2543,2881)
-(2548,2877)
-(2556,2872)
-(2558,2864)
-(2563,2862)
-(2566,2863)
-(2572,2862)
-(2574,2857)
-(2577,2855)
-(2577,2853)
-(2581,2848)
-(2585,2847)
-(2587,2849)
-(2592,2849)
-(2598,2855)
-(2600,2854)
-(2597,2850)
-(2598,2849)
-(2607,2849)
-(2611,2852)
-(2614,2852)
-(2623,2855)
-(2630,2859)
-(2632,2862)
-(2634,2858)
-(2632,2852)
-(2628,2852)
-(2623,2850)
-(2621,2850)
-(2618,2848)
-(2612,2848)
-(2610,2846)
-(2610,2844)
-(2612,2844)
-(2613,2843)
-(2617,2842)
-(2616,2843)
-(2617,2844)
-(2621,2847)
-(2624,2846)
-(2626,2850)
-(2629,2849)
-(2629,2846)
-(2632,2848)
-(2633,2846)
-(2635,2845)
-(2642,2841)
-(2645,2837)
-(2653,2834)
-(2653,2832)
-(2652,2831)
-(2654,2826)
-(2660,2823)
-(2662,2821)
-(2664,2810)
-(2663,2808)
-(2664,2806)
-(2667,2802)
-(2671,2801)
-(2673,2803)
-(2674,2802)
-(2679,2803)
-(2679,2805)
-(2682,2807)
-(2682,2810)
-(2684,2812)
-(2686,2816)
-(2686,2818)
-(2689,2821)
-(2695,2820)
-(2694,2821)
-(2691,2821)
-(2687,2825)
-(2692,2827)
-(2697,2826)
-(2696,2829)
-(2698,2830)
-(2698,2832)
-(2711,2838)
-(2711,2843)
-(2718,2843)
-(2722,2845)
-(2723,2848)
-(2724,2847)
-(2724,2844)
-(2725,2843)
-(2725,2849)
-(2729,2850)
-(2730,2853)
-(2734,2849)
-(2735,2850)
-(2732,2853)
-(2734,2854)
-(2738,2853)
-(2740,2845)
-(2745,2843)
-(2743,2849)
-(2743,2850)
-(2743,2847)
-(2741,2846)
-(2739,2853)
-(2734,2857)
-(2733,2858)
-(2734,2859)
-(2735,2858)
-(2737,2859)
-(2738,2856)
-(2740,2856)
-(2740,2858)
-(2743,2858)
-(2743,2855)
-(2745,2855)
-(2744,2853)
-(2746,2853)
-(2745,2857)
-(2744,2859)
-(2742,2860)
-(2741,2866)
-(2736,2869)
-(2738,2871)
-(2739,2870)
-(2743,2871)
-(2743,2873)
-(2741,2874)
-(2743,2876)
-(2743,2879)
-(2742,2880)
-(2743,2882)
-(2745,2884)
-(2743,2888)
-(2744,2889)
-(2744,2892)
-(2743,2894)
-(2743,2895)
-(2746,2893)
-(2746,2895)
-(2750,2897)
-(2750,2904)
-(2751,2904)
-(2751,2902)
-(2753,2902)
-(2752,2904)
-(2756,2907)
-(2756,2910)
-(2758,2914)
-(2757,2916)
-(2753,2920)
-(2753,2922)
-(2752,2921)
-(2749,2923)
-(2750,2923)
-(2751,2926)
-(2750,2927)
-(2751,2927)
-(2752,2927)
-(2753,2925)
-(2755,2924)
-(2756,2926)
-(2758,2924)
-(2758,2919)
-(2759,2923)
-(2761,2924)
-(2764,2922)
-(2765,2918)
-(2765,2920)
-(2767,2920)
-(2767,2922)
-(2768,2922)
-(2765,2927)
-(2763,2929)
-(2766,2929)
-(2768,2927)
-(2767,2930)
-(2764,2931)
-(2765,2933)
-(2768,2930)
-(2768,2932)
-(2766,2933)
-(2769,2933)
-(2765,2937)
-(2766,2937)
-(2768,2936)
-(2770,2939)
-(2770,2941)
-(2772,2942)
-(2771,2944)
-(2769,2946)
-(2769,2947)
-(2774,2947)
-(2775,2943)
-(2780,2948)
-(2780,2950)
-(2779,2949)
-(2777,2949)
-(2776,2955)
-(2775,2957)
-(2775,2958)
-(2778,2954)
-(2781,2953)
-(2783,2953)
-(2782,2950)
-(2785,2950)
-(2783,2955)
-(2784,2957)
-(2785,2955)
-(2787,2955)
-(2788,2953)
-(2788,2956)
-(2786,2957)
-(2784,2960)
-(2783,2962)
-(2784,2962)
-(2786,2961)
-(2789,2957)
-(2790,2958)
-(2791,2957)
-(2791,2958)
-(2789,2959)
-(2789,2964)
-(2795,2958)
-(2792,2965)
-(2793,2966)
-(2792,2968)
-(2790,2968)
-(2790,2970)
-(2795,2968)
-(2794,2968)
-(2792,2974)
-(2790,2975)
-(2791,2976)
-(2791,2978)
-(2795,2977)
-(2793,2981)
-(2791,2982)
-(2793,2982)
-(2792,2985)
-(2794,2986)
-(2792,2988)
-(2793,2989)
-(2794,2990)
-(2795,2993)
-(2798,2998)
-(2798,3002)
-(2801,3004)
-(2805,3012)
-(2806,3014)
-(2803,3013)
-(2803,3014)
-(2808,3018)
-(2808,3020)
-(2811,3022)
-(2808,3022)
-(2814,3026)
-(2812,3030)
-(2813,3035)
-(2809,3033)
-(2811,3036)
-(2816,3037)
-(2816,3041)
-(2818,3045)
-(2816,3044)
-(2815,3044)
-(2814,3046)
-(2820,3051)
-(2822,3051)
-(2821,3053)
-(2823,3058)
-(2824,3067)
-(2827,3072)
-(2823,3092)
-(2819,3096)
-(2823,3098)
-(2823,3099)
-(2823,3101)
-(2817,3101)
-(2814,3106)
-(2816,3113)
-(2814,3112)
-(2813,3112)
-(2812,3116)
-(2816,3120)
-(2816,3121)
-(2814,3120)
-(2813,3120)
-(2811,3122)
-(2811,3124)
-(2809,3124)
-(2808,3132)
-(2809,3135)
-(2812,3131)
-(2813,3141)
-(2820,3147)
-(2819,3152)
-(2817,3154)
-(2817,3157)
-(2817,3170)
-(2818,3174)
-(2814,3180)
-(2814,3183)
-(2811,3185)
-(2805,3186)
-(2803,3188)
-(2803,3192)
-(2801,3192)
-(2798,3192)
-(2798,3189)
-(2796,3187)
-(2797,3186)
-(2793,3185)
-(2793,3182)
-(2794,3182)
-(2789,3180)
-(2789,3183)
-(2791,3184)
-(2789,3184)
-(2787,3186)
-(2788,3182)
-(2782,3189)
-(2777,3190)
-(2766,3187)
-(2763,3185)
-(2760,3185)
-(2748,3176)
-(2746,3172)
-(2739,3167)
-(2739,3165)
-(2733,3164)
-(2731,3165)
-(2729,3171)
-(2728,3173)
-(2728,3175)
-(2724,3184)
-(2724,3186)
-(2723,3189)
-(2722,3195)
-(2720,3195)
-(2720,3192)
-(2718,3186)
-(2719,3179)
-(2719,3174)
-(2720,3170)
-(2724,3149)
-(2724,3147)
-(2723,3129)
-(2723,3120)
-(2722,3116)
-(2724,3113)
-(2724,3107)
-(2726,3107)
-(2727,3105)
-(2726,3104)
-(2724,3103)
-(2723,3099)
-(2720,3095)
-(2720,3088)
-(2723,3085)
-(2721,3085)
-(2719,3083)
-(2710,3075)
-(2706,3075)
-(2701,3077)
-(2701,3075)
-(2704,3072)
-(2702,3066)
-(2699,3064)
-(2699,3058)
-(2697,3057)
-(2696,3060)
-(2692,3057)
-(2689,3061)
-(2688,3066)
-(2684,3073)
-(2676,3078)
-(2677,3085)
-(2675,3088)
-(2672,3094)
-(2671,3094)
-(2671,3090)
-(2672,3087)
-(2671,3086)
-(2671,3084)
-(2671,3083)
-(2672,3082)
-(2673,3083)
-(2673,3082)
-(2673,3077)
-(2671,3076)
-(2669,3072)
-(2669,3067)
-(2671,3062)
-(2672,3059)
-(2674,3060)
-(2674,3057)
-(2678,3052)
-(2678,3047)
-(2676,3045)
-(2677,3043)
-(2677,3038)
-(2678,3035)
-(2678,3033)
-(2678,3026)
-(2679,3019)
-(2674,3016)
-(2675,3014)
-(2674,3013)
-(2662,3014)
-(2660,3017)
-(2657,3025)
-(2656,3041)
-(2652,3050)
-(2645,3052)
-(2642,3051)
-(2640,3055)
-(2635,3059)
-(2628,3061)
-(2620,3067)
-(2617,3069)
-(2617,3073)
-(2615,3073)
-(2613,3076)
-(2607,3079)
-(2598,3079)
-(2592,3076)
-(2589,3076)
-(2590,3084)
-(2589,3091)
-(2590,3092)
-(2591,3099)
-(2589,3101)
-(2586,3100)
-(2585,3103)
-(2582,3106)
-(2575,3110)
-(2570,3115)
-(2570,3117)
-(2573,3125)
-(2573,3130)
-(2572,3132)
-(2570,3134)
-(2567,3137)
-(2569,3140)
-(2570,3146)
-(2568,3155)
-(2566,3158)
-(2565,3157)
-(2565,3161)
-(2563,3164)
-(2559,3165)
-(2555,3163)
-(2559,3160)
-(2563,3155)
-(2565,3155)
-(2563,3154)
-(2557,3159)
-(2552,3161)
-(2545,3158)
-(2544,3156)
-(2540,3156)
-(2531,3149)
-(2531,3146)
-(2526,3144)
-(2523,3146)
-(2520,3146)
-(2518,3148)
-(2514,3150)
-(2506,3146)
-(2501,3152)
-(2501,3154)
-(2499,3155)
-(2494,3155)
-(2491,3153)
-(2489,3158)
-(2487,3159)
-(2486,3162)
-(2485,3163)
-(2483,3163)
-(2482,3166)
-(2479,3167)
-(2474,3169)
-(2469,3171)
-(2464,3171)
-(2463,3173)
-(2467,3175)
-(2474,3171)
-(2483,3169)
-(2494,3174)
-(2498,3174)
-(2500,3175)
-(2502,3172)
-(2502,3170)
-(2502,3169)
-(2500,3167)
-(2500,3166)
-(2503,3167)
-(2507,3170)
-(2518,3177)
-(2520,3178)
-(2522,3184)
-(2524,3185)
-(2526,3189)
-(2524,3197)
-(2526,3202)
-(2526,3208)
-(2529,3220)
-(2527,3229)
-(2524,3234)
-(2520,3235)
-(2518,3234)
-(2514,3234)
-(2513,3236)
-(2508,3239)
-(2502,3241)
-(2496,3241)
-(2489,3244)
-(2487,3249)
-(2484,3252)
-(2480,3258)
-(2475,3271)
-(2469,3278)
-(2467,3279)
-(2466,3284)
-(2465,3283)
-(2462,3286)
-(2464,3281)
-(2458,3286)
-(2453,3283)
-(2452,3280)
-(2450,3278)
-(2448,3269)
-(2449,3266)
-(2450,3267)
-(2452,3268)
-(2452,3265)
-(2454,3264)
-(2456,3260)
-(2453,3255)
-(2452,3256)
-(2450,3256)
-(2443,3259)
-(2443,3266)
-(2441,3262)
-(2440,3264)
-(2440,3256)
-(2441,3253)
-(2443,3254)
-(2444,3254)
-(2443,3244)
-(2441,3246)
-(2439,3242)
-(2440,3237)
-(2439,3234)
-(2438,3232)
-(2438,3226)
-(2437,3225)
-(2438,3222)
-(2441,3224)
-(2443,3221)
-(2447,3219)
-(2448,3220)
-(2450,3219)
-(2451,3219)
-(2453,3218)
-(2454,3216)
-(2453,3215)
-(2451,3213)
-(2446,3213)
-(2444,3208)
-(2447,3203)
-(2450,3203)
-(2449,3201)
-(2447,3200)
-(2446,3199)
-(2446,3194)
-(2449,3195)
-(2446,3191)
-(2446,3187)
-(2450,3184)
-(2452,3187)
-(2452,3184)
-(2454,3182)
-(2456,3181)
-(2461,3177)
-(2462,3178)
-(2464,3177)
-(2465,3175)
-(2464,3175)
-(2461,3175)
-(2457,3176)
-(2452,3173)
-(2447,3172)
-(2446,3172)
-(2445,3170)
-(2443,3170)
-(2441,3172)
-(2431,3165)
-(2427,3163)
-(2422,3164)
-(2416,3161)
-(2413,3164)
-(2411,3164)
-(2410,3166)
-(2403,3164)
-(2398,3170)
-(2397,3173)
-(2392,3174)
-(2390,3178)
-(2386,3180)
-(2384,3182)
-(2387,3180)
-(2385,3183)
-(2394,3175)
-(2401,3174)
-(2401,3176)
-(2399,3176)
-(2398,3180)
-(2400,3185)
-(2398,3183)
-(2398,3184)
-(2398,3187)
-(2400,3190)
-(2396,3197)
-(2400,3203)
-(2400,3205)
-(2398,3209)
-(2398,3215)
-(2395,3211)
-(2394,3212)
-(2393,3209)
-(2392,3210)
-(2386,3205)
-(2386,3203)
-(2385,3206)
-(2380,3205)
-(2378,3207)
-(2381,3206)
-(2380,3207)
-(2381,3207)
-(2382,3207)
-(2378,3212)
-(2380,3212)
-(2380,3213)
-(2377,3214)
-(2377,3216)
-(2377,3218)
-(2376,3219)
-(2374,3219)
-(2374,3218)
-(2373,3219)
-(2373,3222)
-(2371,3224)
-(2370,3223)
-(2371,3222)
-(2371,3219)
-(2369,3218)
-(2371,3215)
-(2370,3214)
-(2369,3215)
-(2368,3214)
-(2368,3213)
-(2369,3209)
-(2372,3205)
-(2371,3195)
-(2371,3192)
-(2377,3196)
-(2379,3199)
-(2380,3198)
-(2379,3196)
-(2377,3194)
-(2371,3191)
-(2364,3185)
-(2359,3189)
-(2351,3190)
-(2351,3191)
-(2356,3190)
-(2359,3192)
-(2360,3189)
-(2362,3194)
-(2361,3198)
-(2359,3197)
-(2360,3204)
-(2358,3203)
-(2360,3206)
-(2359,3207)
-(2360,3210)
-(2360,3212)
-(2361,3214)
-(2359,3213)
-(2359,3215)
-(2357,3214)
-(2357,3215)
-(2352,3214)
-(2352,3215)
-(2354,3216)
-(2351,3216)
-(2351,3217)
-(2347,3218)
-(2345,3221)
-(2351,3221)
-(2352,3220)
-(2354,3223)
-(2352,3222)
-(2350,3222)
-(2350,3224)
-(2348,3222)
-(2344,3222)
-(2344,3224)
-(2347,3223)
-(2342,3226)
-(2343,3228)
-(2342,3229)
-(2342,3232)
-(2339,3233)
-(2336,3236)
-(2336,3238)
-(2335,3238)
-(2335,3239)
-(2328,3235)
-(2326,3235)
-(2320,3231)
-(2311,3229)
-(2305,3230)
-(2301,3232)
-(2293,3231)
-(2282,3229)
-(2273,3228)
-(2264,3229)
-(2253,3232)
-(2250,3233)
-(2241,3234)
-(2236,3235)
-(2231,3237)
-(2226,3238)
-(2221,3241)
-(2219,3239)
-(2218,3242)
-(2217,3242)
-(2209,3242)
-(2208,3237)
-(2208,3233)
-(2209,3221)
-(2211,3218)
-(2211,3220)
-(2212,3216)
-(2212,3229)
-(2214,3239)
-(2214,3240)
-(2217,3241)
-(2215,3236)
-(2213,3209)
-(2211,3193)
-(2205,3169)
-(2203,3160)
-(2202,3153)
-(2201,3146)
-(2196,3126)
-(2195,3118)
-(2195,3112)
-(2201,3085)
-(2204,3066)
-(2206,3060)
-(2210,3053)
-(2222,3029)
-(2224,3027)
-(2227,3021)
-(2229,3019)
-(2237,3014)
-(2242,3013)
-(2243,3011)
-(2247,2997)
-(2247,2996)
-(2248,2997)
-(2247,2998)
-(2249,2996)
-(2247,2990)
-(2249,2966)
-(2253,2956)
-(2258,2947)
-(2265,2940)
-(2268,2939)
-(2270,2939)
-(2274,2937)
-(2278,2937)
-(2283,2935)
-(2298,2932)
-(2306,2933)
-79
-(2294,2724)
-(2292,2727)
-(2287,2730)
-(2284,2730)
-(2282,2728)
-(2282,2729)
-(2279,2729)
-(2278,2728)
-(2277,2728)
-(2276,2726)
-(2274,2724)
-(2268,2725)
-(2266,2726)
-(2265,2729)
-(2264,2730)
-(2264,2732)
-(2266,2732)
-(2266,2734)
-(2265,2741)
-(2262,2745)
-(2263,2745)
-(2261,2746)
-(2260,2748)
-(2258,2747)
-(2259,2741)
-(2258,2739)
-(2256,2743)
-(2254,2743)
-(2251,2748)
-(2248,2748)
-(2245,2752)
-(2243,2755)
-(2242,2755)
-(2242,2753)
-(2242,2751)
-(2239,2749)
-(2237,2744)
-(2237,2743)
-(2239,2742)
-(2238,2740)
-(2236,2737)
-(2232,2737)
-(2228,2735)
-(2227,2733)
-(2229,2731)
-(2228,2730)
-(2227,2730)
-(2227,2728)
-(2231,2724)
-(2232,2721)
-(2241,2717)
-(2243,2719)
-(2249,2718)
-(2250,2716)
-(2254,2717)
-(2256,2715)
-(2258,2716)
-(2260,2714)
-(2262,2716)
-(2265,2716)
-(2270,2710)
-(2271,2704)
-(2277,2703)
-(2280,2705)
-(2282,2711)
-(2283,2712)
-(2284,2711)
-(2287,2712)
-(2290,2710)
-(2287,2708)
-(2289,2707)
-(2287,2703)
-(2288,2700)
-(2289,2700)
-(2292,2703)
-(2295,2703)
-(2296,2706)
-(2296,2720)
-(2294,2724)
-12
-(1974,2137)
-(1971,2139)
-(1969,2138)
-(1965,2138)
-(1963,2136)
-(1963,2134)
-(1966,2133)
-(1969,2131)
-(1970,2131)
-(1972,2132)
-(1973,2135)
-(1974,2137)
-22
-(1906,2133)
-(1904,2135)
-(1901,2134)
-(1898,2134)
-(1894,2133)
-(1890,2133)
-(1887,2134)
-(1884,2133)
-(1880,2133)
-(1878,2130)
-(1882,2131)
-(1880,2128)
-(1879,2126)
-(1883,2124)
-(1887,2124)
-(1891,2124)
-(1894,2125)
-(1897,2125)
-(1900,2127)
-(1904,2130)
-(1906,2131)
-(1906,2133)
-12
-(1874,2124)
-(1875,2125)
-(1872,2129)
-(1870,2132)
-(1867,2131)
-(1865,2128)
-(1866,2124)
-(1869,2123)
-(1872,2122)
-(1873,2121)
-(1873,2124)
-(1874,2124)
-76
-(1855,2803)
-(1855,2805)
-(1854,2805)
-(1853,2806)
-(1855,2811)
-(1856,2813)
-(1855,2814)
-(1850,2822)
-(1851,2824)
-(1851,2829)
-(1853,2831)
-(1853,2832)
-(1852,2834)
-(1850,2831)
-(1849,2833)
-(1846,2834)
-(1846,2835)
-(1846,2838)
-(1845,2839)
-(1846,2841)
-(1847,2840)
-(1852,2843)
-(1852,2848)
-(1848,2853)
-(1846,2850)
-(1846,2848)
-(1845,2847)
-(1845,2854)
-(1843,2858)
-(1838,2860)
-(1836,2862)
-(1836,2860)
-(1839,2857)
-(1836,2857)
-(1835,2860)
-(1834,2860)
-(1832,2856)
-(1834,2855)
-(1833,2854)
-(1831,2854)
-(1831,2852)
-(1834,2848)
-(1833,2848)
-(1832,2847)
-(1834,2846)
-(1839,2845)
-(1839,2834)
-(1842,2833)
-(1842,2831)
-(1844,2827)
-(1843,2817)
-(1845,2818)
-(1846,2817)
-(1846,2815)
-(1847,2815)
-(1848,2814)
-(1847,2812)
-(1844,2816)
-(1843,2815)
-(1842,2809)
-(1843,2805)
-(1842,2805)
-(1842,2803)
-(1840,2800)
-(1840,2796)
-(1840,2795)
-(1843,2795)
-(1845,2796)
-(1845,2805)
-(1846,2807)
-(1847,2802)
-(1849,2801)
-(1850,2799)
-(1852,2798)
-(1854,2800)
-(1855,2803)
-311
-(1439,1973)
-(1434,1971)
-(1434,1967)
-(1433,1970)
-(1432,1970)
-(1431,1972)
-(1429,1973)
-(1423,1972)
-(1423,1971)
-(1423,1969)
-(1421,1971)
-(1422,1972)
-(1421,1972)
-(1420,1971)
-(1417,1971)
-(1415,1969)
-(1414,1969)
-(1414,1967)
-(1415,1967)
-(1415,1965)
-(1417,1965)
-(1418,1963)
-(1418,1961)
-(1417,1961)
-(1415,1962)
-(1414,1964)
-(1413,1964)
-(1412,1962)
-(1413,1960)
-(1410,1956)
-(1409,1958)
-(1410,1962)
-(1412,1964)
-(1413,1967)
-(1411,1972)
-(1408,1969)
-(1410,1972)
-(1406,1974)
-(1406,1972)
-(1403,1969)
-(1401,1974)
-(1398,1975)
-(1397,1973)
-(1400,1972)
-(1399,1970)
-(1397,1971)
-(1396,1970)
-(1398,1969)
-(1397,1968)
-(1396,1968)
-(1396,1966)
-(1394,1965)
-(1394,1963)
-(1392,1964)
-(1391,1962)
-(1389,1962)
-(1388,1961)
-(1387,1962)
-(1385,1961)
-(1385,1959)
-(1384,1961)
-(1383,1958)
-(1382,1959)
-(1380,1958)
-(1379,1959)
-(1375,1956)
-(1376,1953)
-(1373,1954)
-(1367,1954)
-(1366,1953)
-(1366,1951)
-(1365,1951)
-(1363,1945)
-(1359,1943)
-(1357,1942)
-(1358,1939)
-(1360,1939)
-(1361,1937)
-(1363,1937)
-(1364,1935)
-(1366,1935)
-(1366,1933)
-(1366,1930)
-(1368,1930)
-(1366,1929)
-(1366,1927)
-(1365,1927)
-(1366,1924)
-(1364,1923)
-(1364,1920)
-(1363,1920)
-(1362,1919)
-(1361,1918)
-(1359,1916)
-(1359,1913)
-(1358,1913)
-(1357,1911)
-(1355,1910)
-(1355,1911)
-(1354,1912)
-(1353,1911)
-(1355,1910)
-(1354,1907)
-(1356,1906)
-(1357,1901)
-(1359,1900)
-(1359,1899)
-(1358,1900)
-(1357,1899)
-(1354,1901)
-(1351,1904)
-(1351,1906)
-(1349,1907)
-(1349,1905)
-(1348,1906)
-(1348,1904)
-(1346,1904)
-(1348,1902)
-(1348,1901)
-(1344,1901)
-(1343,1899)
-(1343,1900)
-(1340,1896)
-(1334,1888)
-(1332,1886)
-(1329,1883)
-(1328,1881)
-(1326,1882)
-(1322,1881)
-(1318,1881)
-(1315,1879)
-(1311,1874)
-(1309,1873)
-(1309,1871)
-(1308,1872)
-(1306,1870)
-(1304,1871)
-(1299,1870)
-(1296,1866)
-(1290,1862)
-(1291,1864)
-(1297,1868)
-(1297,1871)
-(1302,1872)
-(1303,1873)
-(1305,1873)
-(1306,1873)
-(1306,1875)
-(1307,1876)
-(1306,1878)
-(1315,1883)
-(1324,1884)
-(1328,1886)
-(1328,1888)
-(1331,1890)
-(1332,1892)
-(1331,1893)
-(1333,1893)
-(1335,1896)
-(1334,1901)
-(1335,1899)
-(1336,1899)
-(1338,1897)
-(1339,1899)
-(1339,1900)
-(1340,1900)
-(1339,1902)
-(1340,1901)
-(1341,1903)
-(1342,1906)
-(1342,1907)
-(1342,1908)
-(1340,1909)
-(1341,1910)
-(1343,1910)
-(1343,1909)
-(1344,1910)
-(1345,1908)
-(1345,1914)
-(1347,1913)
-(1348,1916)
-(1350,1916)
-(1349,1918)
-(1353,1917)
-(1354,1916)
-(1353,1919)
-(1354,1919)
-(1356,1918)
-(1359,1920)
-(1359,1922)
-(1358,1923)
-(1360,1922)
-(1363,1927)
-(1364,1929)
-(1363,1931)
-(1362,1933)
-(1361,1933)
-(1361,1935)
-(1359,1934)
-(1358,1937)
-(1356,1937)
-(1356,1939)
-(1354,1938)
-(1353,1935)
-(1351,1935)
-(1353,1938)
-(1351,1939)
-(1351,1940)
-(1352,1939)
-(1356,1940)
-(1356,1945)
-(1359,1945)
-(1361,1947)
-(1362,1949)
-(1363,1948)
-(1365,1955)
-(1369,1956)
-(1370,1956)
-(1370,1958)
-(1372,1957)
-(1372,1956)
-(1374,1956)
-(1373,1958)
-(1374,1958)
-(1375,1958)
-(1376,1959)
-(1375,1962)
-(1377,1961)
-(1378,1962)
-(1377,1963)
-(1376,1962)
-(1376,1963)
-(1379,1964)
-(1380,1964)
-(1380,1965)
-(1383,1964)
-(1384,1965)
-(1384,1967)
-(1381,1967)
-(1379,1972)
-(1375,1976)
-(1377,1976)
-(1375,1979)
-(1375,1984)
-(1378,1980)
-(1378,1977)
-(1379,1977)
-(1378,1976)
-(1380,1976)
-(1381,1977)
-(1382,1976)
-(1384,1974)
-(1384,1972)
-(1385,1972)
-(1388,1971)
-(1390,1971)
-(1390,1973)
-(1388,1976)
-(1388,1978)
-(1393,1975)
-(1394,1974)
-(1395,1975)
-(1395,1978)
-(1394,1977)
-(1393,1980)
-(1394,1981)
-(1396,1980)
-(1400,1981)
-(1400,1979)
-(1401,1978)
-(1402,1979)
-(1402,1980)
-(1404,1980)
-(1405,1979)
-(1404,1978)
-(1403,1978)
-(1404,1977)
-(1405,1978)
-(1407,1975)
-(1408,1975)
-(1409,1976)
-(1409,1974)
-(1411,1974)
-(1410,1980)
-(1411,1982)
-(1411,1978)
-(1413,1978)
-(1412,1977)
-(1414,1977)
-(1413,1976)
-(1414,1975)
-(1415,1974)
-(1417,1974)
-(1418,1975)
-(1419,1975)
-(1417,1979)
-(1418,1978)
-(1419,1979)
-(1420,1979)
-(1421,1980)
-(1422,1979)
-(1423,1980)
-(1424,1978)
-(1425,1979)
-(1426,1977)
-(1429,1976)
-(1432,1973)
-(1433,1974)
-(1435,1973)
-(1436,1974)
-(1439,1973)
-196
-(747,851)
-(750,851)
-(753,848)
-(753,847)
-(749,843)
-(749,841)
-(750,839)
-(751,838)
-(752,838)
-(755,837)
-(756,835)
-(760,830)
-(762,831)
-(763,831)
-(764,830)
-(766,831)
-(768,829)
-(768,830)
-(767,831)
-(769,832)
-(770,831)
-(771,828)
-(773,832)
-(777,832)
-(777,831)
-(778,832)
-(778,833)
-(779,833)
-(779,832)
-(776,828)
-(776,827)
-(777,828)
-(780,831)
-(780,829)
-(778,827)
-(779,827)
-(783,830)
-(786,833)
-(788,834)
-(788,831)
-(786,830)
-(786,829)
-(784,826)
-(784,824)
-(785,823)
-(787,823)
-(788,821)
-(788,820)
-(786,817)
-(787,816)
-(788,817)
-(790,817)
-(790,816)
-(793,813)
-(796,811)
-(799,810)
-(800,809)
-(802,806)
-(805,803)
-(810,803)
-(812,802)
-(813,801)
-(818,802)
-(821,799)
-(822,799)
-(823,801)
-(825,800)
-(826,796)
-(827,795)
-(829,795)
-(831,793)
-(833,794)
-(834,797)
-(835,800)
-(836,802)
-(836,808)
-(838,811)
-(840,814)
-(840,816)
-(838,819)
-(835,821)
-(834,823)
-(833,826)
-(832,827)
-(830,829)
-(827,830)
-(826,831)
-(824,831)
-(822,832)
-(819,832)
-(817,831)
-(815,829)
-(813,828)
-(812,826)
-(811,825)
-(807,826)
-(805,827)
-(804,828)
-(801,831)
-(800,832)
-(799,837)
-(799,838)
-(802,839)
-(805,839)
-(805,844)
-(804,845)
-(808,849)
-(810,853)
-(809,854)
-(807,852)
-(805,852)
-(803,850)
-(802,850)
-(801,852)
-(799,853)
-(797,853)
-(795,852)
-(796,850)
-(796,849)
-(795,849)
-(791,853)
-(790,854)
-(789,856)
-(790,857)
-(792,860)
-(791,863)
-(793,864)
-(794,866)
-(795,867)
-(795,872)
-(796,873)
-(795,875)
-(796,876)
-(795,877)
-(795,879)
-(796,880)
-(794,882)
-(794,886)
-(792,889)
-(791,890)
-(792,892)
-(792,893)
-(791,894)
-(787,894)
-(784,895)
-(783,902)
-(784,905)
-(782,910)
-(782,911)
-(780,912)
-(778,912)
-(778,911)
-(777,909)
-(776,909)
-(776,908)
-(778,905)
-(776,905)
-(777,904)
-(777,903)
-(775,903)
-(775,901)
-(776,899)
-(775,899)
-(775,897)
-(774,897)
-(774,892)
-(773,891)
-(773,886)
-(772,885)
-(773,884)
-(774,882)
-(774,878)
-(772,876)
-(773,875)
-(773,871)
-(771,873)
-(770,873)
-(771,872)
-(771,871)
-(766,871)
-(763,869)
-(760,868)
-(760,862)
-(761,861)
-(761,860)
-(762,859)
-(762,856)
-(761,855)
-(761,854)
-(760,853)
-(759,852)
-(755,856)
-(751,853)
-(748,852)
-(747,852)
-(747,851)
-51
-(698,2239)
-(700,2237)
-(702,2238)
-(702,2240)
-(704,2238)
-(706,2238)
-(708,2237)
-(710,2233)
-(708,2231)
-(708,2228)
-(711,2227)
-(711,2226)
-(708,2225)
-(710,2224)
-(710,2222)
-(713,2222)
-(713,2220)
-(714,2219)
-(716,2220)
-(723,2220)
-(726,2221)
-(727,2220)
-(728,2221)
-(730,2221)
-(735,2224)
-(737,2228)
-(736,2230)
-(733,2230)
-(732,2236)
-(733,2237)
-(735,2237)
-(737,2239)
-(736,2241)
-(737,2243)
-(738,2249)
-(737,2251)
-(734,2253)
-(730,2253)
-(727,2256)
-(721,2255)
-(720,2254)
-(719,2254)
-(715,2252)
-(714,2249)
-(710,2251)
-(710,2249)
-(708,2247)
-(704,2246)
-(699,2245)
-(697,2242)
-(698,2239)
-118
-(682,248)
-(681,251)
-(678,253)
-(677,255)
-(674,256)
-(672,258)
-(672,265)
-(669,272)
-(666,275)
-(658,280)
-(657,282)
-(654,285)
-(653,284)
-(646,284)
-(646,283)
-(644,284)
-(643,282)
-(634,282)
-(634,281)
-(635,281)
-(634,278)
-(633,277)
-(631,277)
-(631,280)
-(629,278)
-(626,280)
-(622,280)
-(622,281)
-(620,281)
-(621,279)
-(619,280)
-(613,277)
-(612,278)
-(611,276)
-(612,276)
-(609,275)
-(608,273)
-(605,274)
-(605,275)
-(608,276)
-(607,278)
-(606,277)
-(606,276)
-(605,277)
-(604,276)
-(603,276)
-(603,277)
-(600,276)
-(598,278)
-(597,276)
-(594,277)
-(595,278)
-(594,279)
-(593,279)
-(590,275)
-(591,274)
-(592,275)
-(593,275)
-(593,274)
-(596,274)
-(596,273)
-(597,272)
-(599,274)
-(602,273)
-(601,271)
-(604,273)
-(605,272)
-(605,270)
-(604,270)
-(603,268)
-(604,268)
-(603,267)
-(605,268)
-(606,270)
-(608,268)
-(607,266)
-(608,266)
-(609,271)
-(611,271)
-(610,269)
-(611,267)
-(612,270)
-(616,270)
-(621,267)
-(623,265)
-(624,263)
-(622,261)
-(623,260)
-(625,263)
-(624,267)
-(627,266)
-(627,268)
-(629,268)
-(631,266)
-(635,270)
-(638,267)
-(640,268)
-(638,269)
-(640,271)
-(637,271)
-(635,275)
-(634,276)
-(637,279)
-(642,281)
-(648,281)
-(653,283)
-(658,278)
-(665,274)
-(670,267)
-(671,264)
-(671,258)
-(673,256)
-(676,254)
-(677,252)
-(680,250)
-(682,247)
-(685,247)
-(682,248)
-666
-(538,14)
-(536,13)
-(533,13)
-(529,15)
-(530,12)
-(529,11)
-(525,11)
-(524,13)
-(522,12)
-(519,9)
-(518,10)
-(517,11)
-(515,11)
-(514,10)
-(515,8)
-(510,6)
-(509,8)
-(508,8)
-(506,6)
-(504,6)
-(504,12)
-(504,15)
-(500,15)
-(500,18)
-(499,18)
-(499,12)
-(498,14)
-(498,13)
-(495,12)
-(494,12)
-(493,9)
-(492,13)
-(491,12)
-(488,11)
-(487,12)
-(487,17)
-(485,16)
-(485,14)
-(485,13)
-(484,12)
-(483,9)
-(483,8)
-(482,7)
-(480,9)
-(479,10)
-(476,5)
-(476,8)
-(473,7)
-(475,10)
-(474,11)
-(468,9)
-(468,10)
-(471,11)
-(471,12)
-(472,12)
-(472,13)
-(474,13)
-(474,15)
-(476,16)
-(475,16)
-(472,14)
-(472,16)
-(471,14)
-(471,16)
-(469,12)
-(468,13)
-(467,17)
-(466,16)
-(465,17)
-(462,17)
-(462,16)
-(462,17)
-(459,16)
-(459,17)
-(456,17)
-(455,18)
-(453,17)
-(455,14)
-(454,15)
-(453,13)
-(452,12)
-(451,13)
-(452,15)
-(450,15)
-(449,14)
-(448,14)
-(447,15)
-(448,16)
-(450,16)
-(449,16)
-(450,18)
-(451,17)
-(453,19)
-(454,20)
-(453,20)
-(448,18)
-(446,18)
-(446,17)
-(445,17)
-(445,18)
-(444,19)
-(443,17)
-(442,17)
-(441,16)
-(441,17)
-(438,16)
-(437,19)
-(436,16)
-(433,16)
-(433,18)
-(431,16)
-(431,18)
-(430,17)
-(430,16)
-(429,17)
-(427,16)
-(426,16)
-(426,17)
-(426,19)
-(423,18)
-(422,16)
-(423,16)
-(423,15)
-(416,17)
-(417,15)
-(416,14)
-(411,13)
-(409,14)
-(405,15)
-(399,15)
-(399,16)
-(401,18)
-(404,18)
-(407,19)
-(402,18)
-(402,19)
-(398,18)
-(400,18)
-(399,17)
-(397,16)
-(397,14)
-(396,14)
-(397,13)
-(397,12)
-(395,11)
-(398,10)
-(396,9)
-(396,10)
-(393,8)
-(391,9)
-(390,8)
-(388,7)
-(387,8)
-(383,8)
-(376,5)
-(373,7)
-(367,6)
-(369,4)
-(372,5)
-(376,4)
-(378,5)
-(378,4)
-(380,6)
-(384,6)
-(386,7)
-(389,6)
-(388,5)
-(385,4)
-(385,2)
-(380,0)
-(380,-1)
-(382,-2)
-(386,-2)
-(389,-6)
-(391,-7)
-(391,-10)
-(393,-14)
-(394,-14)
-(396,-17)
-(397,-16)
-(397,-22)
-(401,-25)
-(402,-33)
-(404,-34)
-(402,-36)
-(404,-37)
-(405,-39)
-(407,-39)
-(408,-42)
-(411,-43)
-(410,-41)
-(411,-40)
-(410,-39)
-(410,-38)
-(406,-35)
-(407,-35)
-(407,-33)
-(411,-33)
-(412,-33)
-(411,-32)
-(404,-31)
-(403,-27)
-(404,-26)
-(402,-25)
-(403,-24)
-(408,-25)
-(411,-23)
-(408,-22)
-(401,-21)
-(403,-20)
-(402,-18)
-(404,-17)
-(402,-16)
-(403,-15)
-(405,-14)
-(405,-12)
-(404,-11)
-(403,-10)
-(402,-11)
-(400,-11)
-(398,-10)
-(398,-7)
-(397,-7)
-(397,-6)
-(397,-5)
-(397,-4)
-(398,-3)
-(399,-2)
-(404,-2)
-(403,-1)
-(405,-1)
-(406,-5)
-(407,-5)
-(408,-3)
-(408,-5)
-(409,-5)
-(409,-3)
-(409,-2)
-(410,-3)
-(411,-2)
-(413,-2)
-(412,-1)
-(411,-1)
-(410,0)
-(410,1)
-(411,1)
-(410,2)
-(411,2)
-(411,4)
-(412,4)
-(414,6)
-(413,7)
-(415,7)
-(415,5)
-(414,4)
-(414,0)
-(416,1)
-(416,3)
-(420,3)
-(418,4)
-(418,7)
-(417,7)
-(417,8)
-(419,8)
-(420,5)
-(421,4)
-(422,4)
-(421,6)
-(423,5)
-(423,8)
-(424,7)
-(424,5)
-(426,5)
-(426,4)
-(427,6)
-(428,6)
-(428,5)
-(430,4)
-(429,3)
-(431,2)
-(430,1)
-(433,0)
-(434,1)
-(433,1)
-(431,1)
-(431,4)
-(432,5)
-(430,6)
-(433,8)
-(433,9)
-(434,8)
-(436,9)
-(436,10)
-(434,10)
-(436,12)
-(439,11)
-(438,7)
-(440,7)
-(441,6)
-(446,2)
-(447,4)
-(448,2)
-(448,3)
-(449,3)
-(449,2)
-(449,1)
-(450,0)
-(451,-5)
-(449,-4)
-(446,-2)
-(445,-3)
-(447,-3)
-(448,-5)
-(447,-7)
-(447,-8)
-(448,-7)
-(449,-7)
-(451,-10)
-(451,-12)
-(451,-13)
-(450,-14)
-(451,-15)
-(451,-13)
-(453,-14)
-(453,-12)
-(454,-11)
-(452,-10)
-(452,-8)
-(454,-8)
-(453,-7)
-(452,-5)
-(452,-3)
-(453,-4)
-(453,-3)
-(452,-1)
-(453,0)
-(452,3)
-(454,0)
-(456,-1)
-(457,-4)
-(459,-3)
-(460,-5)
-(458,-7)
-(459,-8)
-(458,-11)
-(459,-14)
-(459,-15)
-(459,-13)
-(458,-14)
-(458,-17)
-(456,-18)
-(457,-19)
-(457,-26)
-(454,-28)
-(455,-28)
-(456,-31)
-(453,-32)
-(454,-34)
-(453,-35)
-(453,-38)
-(452,-39)
-(452,-40)
-(454,-40)
-(454,-33)
-(456,-33)
-(457,-31)
-(457,-29)
-(458,-27)
-(458,-25)
-(461,-25)
-(460,-23)
-(459,-23)
-(459,-17)
-(461,-16)
-(462,-14)
-(463,-16)
-(463,-13)
-(461,-10)
-(462,-10)
-(463,-10)
-(464,-9)
-(464,-6)
-(464,-5)
-(465,-5)
-(466,-10)
-(467,-9)
-(468,-10)
-(468,-8)
-(469,-8)
-(471,-10)
-(472,-10)
-(476,-10)
-(475,-13)
-(479,-11)
-(478,-12)
-(479,-14)
-(481,-15)
-(483,-16)
-(486,-19)
-(483,-19)
-(479,-21)
-(479,-22)
-(479,-24)
-(477,-27)
-(478,-27)
-(481,-22)
-(483,-21)
-(484,-24)
-(486,-25)
-(486,-27)
-(483,-30)
-(480,-33)
-(483,-32)
-(485,-31)
-(487,-30)
-(490,-33)
-(489,-33)
-(487,-33)
-(484,-39)
-(486,-38)
-(487,-39)
-(486,-40)
-(485,-43)
-(486,-45)
-(485,-46)
-(486,-46)
-(488,-45)
-(488,-44)
-(487,-43)
-(489,-38)
-(488,-36)
-(491,-35)
-(492,-37)
-(492,-39)
-(494,-39)
-(495,-41)
-(494,-42)
-(497,-42)
-(496,-45)
-(498,-44)
-(499,-45)
-(499,-51)
-(500,-46)
-(500,-45)
-(510,-52)
-(510,-54)
-(511,-53)
-(516,-55)
-(518,-57)
-(518,-59)
-(520,-61)
-(521,-65)
-(520,-68)
-(518,-69)
-(515,-68)
-(513,-68)
-(512,-69)
-(514,-69)
-(518,-71)
-(520,-71)
-(520,-77)
-(521,-77)
-(525,-82)
-(525,-84)
-(524,-89)
-(523,-90)
-(521,-90)
-(518,-94)
-(520,-98)
-(520,-100)
-(518,-101)
-(517,-103)
-(521,-100)
-(521,-96)
-(520,-96)
-(521,-91)
-(524,-90)
-(526,-89)
-(526,-84)
-(527,-83)
-(526,-83)
-(528,-82)
-(530,-83)
-(529,-81)
-(527,-82)
-(525,-81)
-(524,-79)
-(524,-78)
-(522,-77)
-(521,-75)
-(521,-68)
-(523,-62)
-(521,-61)
-(526,-61)
-(528,-64)
-(528,-71)
-(528,-66)
-(534,-69)
-(534,-70)
-(537,-71)
-(540,-71)
-(538,-70)
-(540,-69)
-(542,-68)
-(547,-69)
-(545,-67)
-(541,-66)
-(537,-69)
-(535,-69)
-(531,-66)
-(529,-63)
-(532,-61)
-(528,-61)
-(525,-59)
-(521,-59)
-(519,-57)
-(518,-55)
-(513,-52)
-(513,-51)
-(514,-50)
-(516,-47)
-(519,-48)
-(520,-50)
-(521,-51)
-(522,-50)
-(522,-49)
-(526,-48)
-(526,-47)
-(523,-47)
-(521,-49)
-(521,-47)
-(516,-44)
-(520,-42)
-(517,-43)
-(516,-43)
-(516,-42)
-(514,-47)
-(512,-48)
-(511,-50)
-(509,-50)
-(507,-45)
-(503,-44)
-(503,-42)
-(501,-42)
-(500,-39)
-(502,-38)
-(499,-38)
-(496,-34)
-(497,-32)
-(494,-34)
-(492,-32)
-(493,-31)
-(491,-31)
-(491,-29)
-(492,-28)
-(491,-27)
-(491,-24)
-(493,-23)
-(494,-24)
-(495,-23)
-(495,-21)
-(493,-20)
-(494,-19)
-(495,-19)
-(495,-16)
-(494,-15)
-(495,-13)
-(493,-13)
-(493,-11)
-(490,-11)
-(492,-13)
-(491,-14)
-(492,-16)
-(491,-17)
-(492,-20)
-(488,-20)
-(488,-17)
-(487,-17)
-(486,-15)
-(485,-14)
-(484,-15)
-(484,-12)
-(482,-11)
-(483,-9)
-(482,-8)
-(478,-7)
-(477,-5)
-(477,-6)
-(476,-5)
-(474,-6)
-(473,-5)
-(472,-5)
-(470,-4)
-(468,-5)
-(466,-4)
-(467,-1)
-(468,0)
-(468,1)
-(467,0)
-(466,0)
-(468,2)
-(467,3)
-(466,5)
-(468,4)
-(469,5)
-(470,4)
-(471,4)
-(471,3)
-(473,2)
-(473,4)
-(474,5)
-(476,2)
-(476,4)
-(478,3)
-(479,6)
-(480,7)
-(481,6)
-(480,4)
-(480,3)
-(481,4)
-(483,2)
-(484,2)
-(486,4)
-(484,4)
-(485,6)
-(486,7)
-(486,8)
-(484,8)
-(485,11)
-(487,10)
-(488,9)
-(491,10)
-(491,8)
-(493,7)
-(493,5)
-(494,6)
-(495,6)
-(494,7)
-(495,8)
-(495,9)
-(495,11)
-(498,11)
-(500,10)
-(501,14)
-(503,13)
-(502,8)
-(503,5)
-(504,5)
-(505,5)
-(507,4)
-(508,5)
-(508,7)
-(510,4)
-(512,5)
-(513,4)
-(516,8)
-(515,10)
-(519,8)
-(520,8)
-(522,10)
-(529,9)
-(531,12)
-(533,11)
-(538,12)
-(539,16)
-(538,14)
-95
-(279,2170)
-(277,2171)
-(276,2170)
-(272,2172)
-(269,2172)
-(267,2173)
-(260,2171)
-(258,2173)
-(251,2173)
-(248,2175)
-(244,2173)
-(242,2173)
-(240,2172)
-(238,2172)
-(237,2171)
-(235,2172)
-(233,2173)
-(225,2176)
-(221,2175)
-(221,2173)
-(216,2172)
-(211,2172)
-(202,2175)
-(201,2175)
-(199,2173)
-(195,2177)
-(191,2178)
-(191,2180)
-(187,2183)
-(181,2183)
-(179,2186)
-(174,2192)
-(174,2199)
-(173,2201)
-(171,2202)
-(169,2202)
-(164,2202)
-(163,2201)
-(149,2202)
-(145,2199)
-(144,2197)
-(145,2196)
-(144,2193)
-(147,2191)
-(149,2192)
-(151,2192)
-(154,2191)
-(159,2186)
-(163,2187)
-(171,2183)
-(175,2177)
-(177,2175)
-(179,2175)
-(178,2173)
-(179,2171)
-(179,2168)
-(181,2167)
-(182,2168)
-(187,2169)
-(190,2168)
-(193,2169)
-(192,2167)
-(193,2166)
-(195,2162)
-(199,2159)
-(199,2157)
-(205,2156)
-(208,2157)
-(213,2156)
-(213,2155)
-(209,2156)
-(209,2154)
-(213,2154)
-(218,2150)
-(222,2150)
-(227,2151)
-(233,2152)
-(237,2151)
-(248,2156)
-(263,2155)
-(275,2157)
-(278,2159)
-(278,2160)
-(275,2160)
-(271,2162)
-(273,2163)
-(274,2162)
-(277,2162)
-(278,2162)
-(277,2168)
-(278,2168)
-(279,2167)
-(280,2168)
-(280,2170)
-(279,2170)
-129
-(74,1828)
-(76,1828)
-(76,1827)
-(74,1827)
-(74,1826)
-(76,1824)
-(75,1824)
-(76,1823)
-(79,1823)
-(81,1826)
-(83,1826)
-(84,1827)
-(85,1828)
-(88,1829)
-(89,1829)
-(91,1830)
-(93,1832)
-(94,1833)
-(95,1836)
-(96,1837)
-(97,1838)
-(99,1839)
-(100,1840)
-(101,1841)
-(102,1843)
-(103,1844)
-(105,1845)
-(106,1846)
-(107,1848)
-(109,1850)
-(110,1851)
-(114,1855)
-(116,1857)
-(116,1860)
-(117,1861)
-(120,1864)
-(121,1866)
-(122,1868)
-(124,1870)
-(125,1871)
-(126,1873)
-(127,1874)
-(129,1875)
-(130,1876)
-(131,1877)
-(132,1878)
-(135,1879)
-(136,1880)
-(139,1882)
-(140,1884)
-(140,1886)
-(141,1887)
-(143,1888)
-(144,1888)
-(143,1889)
-(142,1889)
-(141,1889)
-(140,1888)
-(139,1887)
-(139,1886)
-(138,1884)
-(137,1883)
-(135,1881)
-(134,1882)
-(132,1882)
-(130,1883)
-(128,1884)
-(127,1883)
-(124,1884)
-(120,1884)
-(120,1883)
-(115,1885)
-(115,1884)
-(110,1883)
-(109,1882)
-(109,1881)
-(110,1880)
-(109,1879)
-(106,1880)
-(105,1879)
-(103,1878)
-(102,1877)
-(101,1876)
-(100,1875)
-(99,1874)
-(98,1873)
-(97,1872)
-(96,1870)
-(95,1868)
-(95,1863)
-(94,1863)
-(92,1860)
-(91,1857)
-(90,1856)
-(87,1855)
-(85,1853)
-(84,1852)
-(83,1851)
-(81,1850)
-(79,1848)
-(78,1847)
-(75,1845)
-(74,1844)
-(73,1843)
-(71,1843)
-(69,1842)
-(67,1840)
-(66,1838)
-(64,1837)
-(64,1836)
-(63,1837)
-(62,1835)
-(61,1836)
-(62,1834)
-(63,1833)
-(60,1832)
-(63,1832)
-(62,1831)
-(62,1830)
-(63,1830)
-(66,1831)
-(67,1830)
-(68,1829)
-(70,1830)
-(71,1829)
-(72,1830)
-(73,1830)
-(74,1829)
-(74,1828)
-38
-(-5,1784)
-(-5,1785)
-(-8,1787)
-(-8,1788)
-(-10,1789)
-(-10,1791)
-(-9,1792)
-(-9,1794)
-(-11,1793)
-(-17,1793)
-(-23,1789)
-(-25,1785)
-(-27,1781)
-(-28,1779)
-(-29,1778)
-(-34,1776)
-(-36,1774)
-(-38,1769)
-(-37,1768)
-(-36,1766)
-(-40,1765)
-(-42,1762)
-(-37,1763)
-(-35,1760)
-(-36,1759)
-(-35,1758)
-(-34,1759)
-(-32,1761)
-(-29,1759)
-(-28,1762)
-(-25,1763)
-(-23,1763)
-(-20,1766)
-(-15,1767)
-(-10,1770)
-(-7,1780)
-(-5,1782)
-(-5,1784)
-601
-(-62,2044)
-(-64,2044)
-(-66,2042)
-(-66,2039)
-(-67,2039)
-(-68,2040)
-(-70,2039)
-(-72,2035)
-(-75,2032)
-(-77,2034)
-(-77,2036)
-(-78,2036)
-(-80,2039)
-(-82,2039)
-(-82,2038)
-(-81,2039)
-(-80,2038)
-(-79,2034)
-(-80,2028)
-(-82,2029)
-(-83,2029)
-(-83,2030)
-(-85,2031)
-(-84,2029)
-(-83,2028)
-(-85,2027)
-(-86,2027)
-(-86,2031)
-(-88,2032)
-(-88,2033)
-(-90,2034)
-(-89,2036)
-(-90,2036)
-(-91,2037)
-(-92,2035)
-(-91,2033)
-(-91,2030)
-(-88,2028)
-(-89,2027)
-(-90,2023)
-(-88,2021)
-(-89,2019)
-(-91,2021)
-(-92,2021)
-(-93,2020)
-(-94,2017)
-(-94,2019)
-(-95,2019)
-(-96,2021)
-(-97,2021)
-(-98,2020)
-(-98,2023)
-(-101,2022)
-(-101,2012)
-(-106,2019)
-(-107,2019)
-(-106,2014)
-(-109,2013)
-(-109,2012)
-(-110,2011)
-(-111,2008)
-(-110,2007)
-(-108,2007)
-(-108,2003)
-(-111,1999)
-(-115,1998)
-(-115,1997)
-(-116,1998)
-(-116,2000)
-(-115,2001)
-(-113,2007)
-(-113,2008)
-(-114,2007)
-(-115,2009)
-(-116,2009)
-(-117,2008)
-(-118,2012)
-(-119,2012)
-(-119,2014)
-(-122,2013)
-(-121,2009)
-(-118,2004)
-(-119,2003)
-(-122,2004)
-(-123,2003)
-(-121,2000)
-(-123,1999)
-(-121,1998)
-(-120,1997)
-(-121,1996)
-(-122,1997)
-(-124,1998)
-(-123,1993)
-(-125,1993)
-(-127,1992)
-(-128,1993)
-(-127,1996)
-(-128,2000)
-(-130,2002)
-(-129,2006)
-(-131,2016)
-(-130,2017)
-(-127,2021)
-(-125,2026)
-(-128,2029)
-(-133,2030)
-(-137,2025)
-(-137,2023)
-(-138,2021)
-(-139,2019)
-(-142,2016)
-(-143,2012)
-(-145,2010)
-(-146,2012)
-(-147,2012)
-(-147,2008)
-(-148,2004)
-(-150,2008)
-(-152,2007)
-(-152,2005)
-(-153,2006)
-(-153,2004)
-(-152,2003)
-(-152,2001)
-(-151,2001)
-(-150,2000)
-(-151,2000)
-(-150,1998)
-(-151,1992)
-(-148,1990)
-(-148,1988)
-(-145,1988)
-(-143,1986)
-(-143,1981)
-(-143,1977)
-(-145,1975)
-(-147,1974)
-(-148,1974)
-(-149,1972)
-(-154,1975)
-(-154,1973)
-(-158,1972)
-(-161,1975)
-(-162,1973)
-(-163,1973)
-(-166,1975)
-(-167,1978)
-(-168,1976)
-(-169,1976)
-(-170,1978)
-(-171,1978)
-(-171,1981)
-(-173,1982)
-(-172,1977)
-(-171,1975)
-(-168,1974)
-(-170,1973)
-(-171,1971)
-(-173,1970)
-(-178,1969)
-(-181,1965)
-(-179,1965)
-(-176,1965)
-(-175,1968)
-(-173,1965)
-(-173,1963)
-(-172,1963)
-(-170,1971)
-(-168,1971)
-(-165,1972)
-(-163,1972)
-(-163,1969)
-(-161,1971)
-(-160,1969)
-(-159,1968)
-(-158,1969)
-(-156,1969)
-(-155,1970)
-(-154,1970)
-(-154,1968)
-(-151,1970)
-(-149,1968)
-(-150,1966)
-(-152,1964)
-(-149,1964)
-(-151,1961)
-(-151,1960)
-(-149,1962)
-(-146,1959)
-(-144,1960)
-(-143,1959)
-(-149,1957)
-(-154,1951)
-(-153,1950)
-(-151,1951)
-(-150,1953)
-(-147,1953)
-(-148,1950)
-(-147,1949)
-(-148,1946)
-(-146,1946)
-(-146,1942)
-(-145,1941)
-(-145,1942)
-(-144,1942)
-(-144,1940)
-(-141,1939)
-(-140,1939)
-(-140,1941)
-(-139,1939)
-(-136,1939)
-(-137,1935)
-(-136,1934)
-(-135,1933)
-(-139,1933)
-(-139,1932)
-(-143,1930)
-(-143,1927)
-(-142,1927)
-(-142,1924)
-(-143,1924)
-(-144,1924)
-(-146,1924)
-(-146,1926)
-(-148,1927)
-(-149,1929)
-(-150,1930)
-(-153,1930)
-(-152,1927)
-(-150,1926)
-(-151,1924)
-(-152,1924)
-(-149,1922)
-(-150,1921)
-(-149,1920)
-(-150,1919)
-(-156,1919)
-(-156,1916)
-(-158,1918)
-(-161,1919)
-(-161,1920)
-(-163,1920)
-(-166,1921)
-(-166,1919)
-(-166,1918)
-(-163,1918)
-(-161,1916)
-(-159,1916)
-(-159,1914)
-(-158,1914)
-(-163,1914)
-(-163,1912)
-(-162,1913)
-(-161,1911)
-(-163,1909)
-(-166,1911)
-(-168,1910)
-(-170,1909)
-(-170,1907)
-(-164,1907)
-(-163,1907)
-(-163,1905)
-(-161,1907)
-(-160,1906)
-(-159,1907)
-(-159,1909)
-(-157,1909)
-(-157,1912)
-(-157,1908)
-(-158,1906)
-(-157,1905)
-(-153,1905)
-(-153,1903)
-(-150,1903)
-(-150,1906)
-(-148,1908)
-(-145,1908)
-(-144,1905)
-(-142,1905)
-(-142,1907)
-(-141,1905)
-(-140,1905)
-(-140,1902)
-(-141,1902)
-(-142,1898)
-(-140,1898)
-(-129,1901)
-(-127,1901)
-(-125,1902)
-(-123,1901)
-(-120,1902)
-(-120,1901)
-(-122,1900)
-(-123,1897)
-(-121,1897)
-(-117,1898)
-(-114,1901)
-(-103,1903)
-(-100,1903)
-(-97,1906)
-(-94,1905)
-(-93,1905)
-(-90,1904)
-(-89,1905)
-(-88,1906)
-(-89,1907)
-(-89,1908)
-(-81,1909)
-(-79,1911)
-(-75,1912)
-(-70,1912)
-(-68,1911)
-(-66,1912)
-(-64,1911)
-(-62,1912)
-(-61,1911)
-(-62,1910)
-(-59,1910)
-(-63,1908)
-(-63,1906)
-(-62,1906)
-(-60,1907)
-(-59,1907)
-(-57,1906)
-(-52,1906)
-(-51,1905)
-(-51,1902)
-(-48,1902)
-(-44,1904)
-(-39,1908)
-(-38,1907)
-(-34,1908)
-(-32,1909)
-(-29,1910)
-(-26,1915)
-(-18,1920)
-(-18,1921)
-(-20,1922)
-(-19,1922)
-(-15,1920)
-(-15,1919)
-(-11,1919)
-(-11,1918)
-(-12,1915)
-(-9,1916)
-(-8,1915)
-(-6,1919)
-(-6,1924)
-(-4,1923)
-(-4,1921)
-(-3,1921)
-(-2,1925)
-(-3,1927)
-(-5,1931)
-(-3,1932)
-(-2,1933)
-(0,1932)
-(2,1932)
-(0,1932)
-(-2,1935)
-(-2,1937)
-(0,1938)
-(1,1936)
-(3,1935)
-(1,1941)
-(-1,1941)
-(-2,1942)
-(-1,1942)
-(1,1943)
-(3,1943)
-(5,1942)
-(5,1946)
-(7,1947)
-(6,1947)
-(3,1945)
-(2,1946)
-(2,1948)
-(5,1950)
-(3,1951)
-(5,1952)
-(3,1953)
-(3,1954)
-(4,1954)
-(7,1953)
-(6,1955)
-(7,1955)
-(8,1954)
-(8,1956)
-(9,1955)
-(11,1955)
-(11,1954)
-(12,1955)
-(12,1957)
-(17,1959)
-(17,1960)
-(14,1959)
-(13,1961)
-(10,1959)
-(10,1962)
-(12,1963)
-(11,1964)
-(8,1962)
-(8,1959)
-(5,1960)
-(6,1965)
-(8,1965)
-(6,1967)
-(9,1969)
-(9,1971)
-(11,1971)
-(10,1972)
-(12,1973)
-(10,1974)
-(9,1973)
-(8,1974)
-(7,1972)
-(6,1974)
-(4,1974)
-(5,1979)
-(11,1986)
-(13,1986)
-(13,1983)
-(15,1985)
-(16,1984)
-(15,1987)
-(13,1987)
-(13,1988)
-(15,1988)
-(16,1990)
-(18,1989)
-(19,1989)
-(22,1996)
-(23,1996)
-(24,1992)
-(26,1991)
-(26,1994)
-(28,1995)
-(29,1997)
-(27,1997)
-(25,1998)
-(27,2001)
-(29,2002)
-(29,2004)
-(27,2002)
-(25,2001)
-(23,2002)
-(23,1999)
-(21,1999)
-(22,2002)
-(21,2002)
-(20,2002)
-(20,2004)
-(19,2006)
-(21,2005)
-(21,2008)
-(20,2007)
-(19,2010)
-(18,2010)
-(18,2011)
-(17,2011)
-(17,2007)
-(17,2004)
-(17,2006)
-(16,2005)
-(15,2007)
-(14,2005)
-(13,2008)
-(11,2009)
-(14,2010)
-(12,2010)
-(13,2012)
-(11,2011)
-(12,2012)
-(11,2013)
-(11,2014)
-(12,2015)
-(13,2017)
-(17,2018)
-(19,2017)
-(19,2018)
-(19,2020)
-(20,2022)
-(19,2025)
-(16,2022)
-(15,2025)
-(12,2022)
-(11,2025)
-(12,2028)
-(13,2027)
-(14,2028)
-(12,2028)
-(9,2029)
-(10,2030)
-(12,2030)
-(10,2034)
-(12,2034)
-(12,2035)
-(14,2035)
-(14,2037)
-(16,2039)
-(14,2040)
-(10,2039)
-(9,2040)
-(6,2039)
-(6,2037)
-(5,2037)
-(0,2040)
-(-3,2040)
-(-3,2042)
-(-5,2041)
-(-5,2043)
-(-7,2043)
-(-4,2044)
-(-4,2048)
-(-5,2048)
-(-6,2047)
-(-7,2048)
-(-8,2045)
-(-9,2045)
-(-12,2048)
-(-11,2051)
-(-12,2051)
-(-14,2052)
-(-15,2055)
-(-16,2055)
-(-18,2054)
-(-19,2055)
-(-20,2055)
-(-21,2057)
-(-22,2057)
-(-23,2056)
-(-24,2057)
-(-24,2058)
-(-21,2059)
-(-17,2063)
-(-14,2063)
-(-14,2061)
-(-12,2061)
-(-10,2067)
-(-11,2070)
-(-9,2074)
-(-9,2076)
-(-5,2081)
-(-6,2083)
-(-5,2084)
-(-8,2083)
-(-10,2084)
-(-12,2088)
-(-16,2089)
-(-17,2091)
-(-19,2090)
-(-19,2088)
-(-17,2087)
-(-18,2085)
-(-20,2085)
-(-21,2085)
-(-20,2076)
-(-19,2074)
-(-21,2067)
-(-24,2067)
-(-27,2070)
-(-28,2070)
-(-32,2065)
-(-31,2064)
-(-30,2065)
-(-29,2064)
-(-27,2064)
-(-27,2062)
-(-28,2062)
-(-29,2060)
-(-27,2059)
-(-27,2058)
-(-29,2058)
-(-28,2057)
-(-26,2055)
-(-26,2053)
-(-25,2053)
-(-25,2052)
-(-29,2050)
-(-32,2049)
-(-32,2048)
-(-32,2046)
-(-33,2046)
-(-34,2044)
-(-36,2045)
-(-38,2043)
-(-44,2042)
-(-44,2044)
-(-47,2045)
-(-48,2044)
-(-52,2051)
-(-53,2051)
-(-56,2048)
-(-60,2048)
-(-59,2045)
-(-59,2044)
-(-60,2044)
-(-60,2042)
-(-61,2043)
-(-61,2046)
-(-62,2044)
-3
-(-148,1731)
-(-149,1732)
-(-148,1731)
-95
-(-148,1731)
-(-147,1730)
-(-142,1731)
-(-139,1736)
-(-139,1737)
-(-136,1738)
-(-135,1738)
-(-140,1733)
-(-137,1735)
-(-135,1736)
-(-134,1735)
-(-135,1733)
-(-136,1732)
-(-133,1731)
-(-131,1732)
-(-130,1732)
-(-130,1733)
-(-129,1734)
-(-128,1731)
-(-126,1734)
-(-126,1735)
-(-123,1738)
-(-120,1737)
-(-119,1736)
-(-121,1734)
-(-122,1735)
-(-123,1734)
-(-123,1733)
-(-121,1733)
-(-118,1734)
-(-118,1736)
-(-116,1737)
-(-110,1740)
-(-108,1742)
-(-107,1741)
-(-105,1741)
-(-105,1742)
-(-100,1746)
-(-97,1745)
-(-98,1744)
-(-102,1741)
-(-100,1741)
-(-97,1742)
-(-95,1743)
-(-98,1747)
-(-98,1749)
-(-100,1751)
-(-101,1753)
-(-102,1755)
-(-104,1755)
-(-104,1756)
-(-107,1756)
-(-110,1757)
-(-114,1757)
-(-116,1758)
-(-116,1759)
-(-119,1760)
-(-119,1761)
-(-120,1760)
-(-122,1762)
-(-123,1762)
-(-122,1760)
-(-124,1760)
-(-124,1759)
-(-126,1759)
-(-124,1757)
-(-128,1756)
-(-127,1756)
-(-125,1756)
-(-126,1755)
-(-128,1755)
-(-129,1756)
-(-130,1757)
-(-129,1754)
-(-130,1752)
-(-132,1753)
-(-132,1751)
-(-134,1751)
-(-135,1752)
-(-136,1751)
-(-135,1750)
-(-136,1749)
-(-140,1747)
-(-137,1747)
-(-139,1746)
-(-139,1745)
-(-144,1743)
-(-143,1743)
-(-142,1744)
-(-138,1742)
-(-138,1741)
-(-142,1740)
-(-143,1739)
-(-144,1734)
-(-148,1731)
-69
-(-161,1091)
-(-160,1093)
-(-153,1095)
-(-150,1093)
-(-145,1094)
-(-144,1094)
-(-144,1096)
-(-141,1097)
-(-127,1098)
-(-121,1091)
-(-119,1091)
-(-115,1090)
-(-113,1091)
-(-110,1090)
-(-107,1083)
-(-103,1083)
-(-100,1085)
-(-99,1087)
-(-100,1088)
-(-103,1089)
-(-103,1092)
-(-104,1092)
-(-102,1093)
-(-99,1091)
-(-96,1092)
-(-95,1095)
-(-96,1097)
-(-100,1097)
-(-100,1099)
-(-99,1100)
-(-99,1101)
-(-96,1104)
-(-96,1106)
-(-97,1108)
-(-96,1109)
-(-95,1111)
-(-100,1109)
-(-103,1107)
-(-107,1098)
-(-108,1099)
-(-109,1098)
-(-110,1098)
-(-112,1097)
-(-114,1097)
-(-117,1097)
-(-120,1098)
-(-120,1101)
-(-121,1102)
-(-119,1103)
-(-118,1105)
-(-118,1106)
-(-123,1104)
-(-131,1105)
-(-131,1108)
-(-125,1114)
-(-125,1116)
-(-128,1116)
-(-131,1113)
-(-134,1106)
-(-135,1107)
-(-136,1110)
-(-138,1104)
-(-144,1101)
-(-148,1097)
-(-154,1098)
-(-161,1095)
-(-163,1093)
-(-163,1091)
-(-161,1091)
-236
-(-494,1834)
-(-492,1834)
-(-489,1835)
-(-486,1832)
-(-484,1832)
-(-482,1830)
-(-481,1827)
-(-480,1827)
-(-478,1825)
-(-477,1825)
-(-476,1823)
-(-474,1821)
-(-473,1820)
-(-473,1818)
-(-471,1816)
-(-466,1816)
-(-462,1814)
-(-457,1812)
-(-453,1813)
-(-448,1813)
-(-445,1811)
-(-442,1811)
-(-440,1809)
-(-438,1809)
-(-434,1807)
-(-432,1805)
-(-427,1798)
-(-425,1791)
-(-423,1787)
-(-417,1783)
-(-414,1780)
-(-410,1778)
-(-407,1773)
-(-402,1770)
-(-397,1769)
-(-394,1769)
-(-392,1769)
-(-391,1769)
-(-392,1768)
-(-391,1766)
-(-388,1764)
-(-385,1764)
-(-377,1760)
-(-373,1760)
-(-371,1759)
-(-370,1757)
-(-368,1756)
-(-365,1751)
-(-355,1751)
-(-354,1754)
-(-349,1759)
-(-346,1760)
-(-345,1761)
-(-345,1760)
-(-343,1761)
-(-338,1760)
-(-337,1760)
-(-339,1762)
-(-338,1763)
-(-332,1760)
-(-328,1757)
-(-314,1749)
-(-308,1748)
-(-305,1746)
-(-301,1747)
-(-287,1746)
-(-281,1747)
-(-277,1746)
-(-273,1749)
-(-270,1750)
-(-270,1751)
-(-271,1752)
-(-265,1752)
-(-261,1753)
-(-258,1753)
-(-247,1756)
-(-243,1754)
-(-247,1753)
-(-261,1749)
-(-259,1743)
-(-257,1743)
-(-253,1746)
-(-251,1746)
-(-249,1745)
-(-246,1746)
-(-242,1745)
-(-240,1746)
-(-235,1746)
-(-234,1747)
-(-232,1746)
-(-230,1748)
-(-226,1746)
-(-220,1749)
-(-206,1748)
-(-201,1749)
-(-200,1752)
-(-201,1759)
-(-203,1761)
-(-212,1760)
-(-215,1761)
-(-226,1760)
-(-229,1762)
-(-234,1763)
-(-238,1766)
-(-241,1766)
-(-246,1769)
-(-250,1770)
-(-252,1772)
-(-255,1773)
-(-261,1776)
-(-263,1779)
-(-265,1780)
-(-266,1779)
-(-267,1779)
-(-275,1779)
-(-287,1776)
-(-291,1776)
-(-292,1777)
-(-294,1775)
-(-295,1776)
-(-295,1777)
-(-296,1780)
-(-297,1781)
-(-298,1784)
-(-301,1787)
-(-303,1786)
-(-306,1789)
-(-310,1789)
-(-311,1788)
-(-312,1789)
-(-313,1789)
-(-314,1788)
-(-316,1788)
-(-316,1787)
-(-320,1787)
-(-325,1785)
-(-327,1784)
-(-334,1791)
-(-342,1794)
-(-346,1796)
-(-353,1797)
-(-355,1797)
-(-357,1793)
-(-360,1790)
-(-360,1787)
-(-363,1784)
-(-367,1783)
-(-372,1784)
-(-376,1783)
-(-377,1785)
-(-382,1789)
-(-387,1794)
-(-389,1797)
-(-390,1797)
-(-387,1804)
-(-388,1809)
-(-397,1817)
-(-398,1819)
-(-405,1824)
-(-408,1824)
-(-418,1834)
-(-421,1835)
-(-422,1833)
-(-426,1833)
-(-427,1832)
-(-426,1830)
-(-427,1830)
-(-430,1832)
-(-431,1832)
-(-433,1833)
-(-441,1837)
-(-446,1835)
-(-449,1836)
-(-450,1835)
-(-451,1835)
-(-453,1837)
-(-455,1837)
-(-456,1839)
-(-459,1840)
-(-461,1843)
-(-465,1845)
-(-467,1845)
-(-472,1848)
-(-474,1850)
-(-477,1851)
-(-478,1852)
-(-481,1854)
-(-486,1855)
-(-487,1857)
-(-489,1858)
-(-490,1858)
-(-490,1857)
-(-491,1857)
-(-494,1858)
-(-496,1859)
-(-498,1861)
-(-500,1862)
-(-503,1867)
-(-506,1869)
-(-510,1868)
-(-512,1869)
-(-513,1870)
-(-515,1870)
-(-516,1871)
-(-518,1872)
-(-525,1871)
-(-525,1870)
-(-523,1868)
-(-524,1868)
-(-525,1866)
-(-526,1866)
-(-528,1862)
-(-527,1861)
-(-520,1854)
-(-514,1847)
-(-514,1843)
-(-512,1843)
-(-512,1841)
-(-509,1841)
-(-510,1838)
-(-510,1839)
-(-511,1839)
-(-514,1837)
-(-515,1833)
-(-515,1832)
-(-513,1834)
-(-511,1835)
-(-512,1830)
-(-511,1828)
-(-510,1828)
-(-508,1827)
-(-506,1826)
-(-501,1828)
-(-498,1834)
-(-497,1834)
-(-494,1834)
-47
-(-565,1712)
-(-566,1712)
-(-565,1712)
-(-563,1711)
-(-562,1710)
-(-563,1709)
-(-565,1709)
-(-567,1709)
-(-568,1708)
-(-568,1710)
-(-570,1712)
-(-572,1707)
-(-571,1701)
-(-572,1700)
-(-572,1699)
-(-566,1701)
-(-564,1700)
-(-563,1699)
-(-558,1700)
-(-557,1699)
-(-553,1701)
-(-550,1699)
-(-545,1700)
-(-538,1709)
-(-533,1712)
-(-521,1724)
-(-510,1732)
-(-509,1733)
-(-509,1734)
-(-516,1746)
-(-519,1749)
-(-528,1746)
-(-531,1745)
-(-532,1743)
-(-540,1740)
-(-542,1735)
-(-545,1734)
-(-548,1731)
-(-552,1728)
-(-559,1723)
-(-560,1722)
-(-562,1724)
-(-567,1723)
-(-567,1722)
-(-564,1720)
-(-564,1717)
-(-565,1712)
-205
-(-582,2035)
-(-580,2037)
-(-576,2038)
-(-573,2037)
-(-569,2040)
-(-569,2043)
-(-570,2044)
-(-575,2049)
-(-584,2060)
-(-587,2060)
-(-589,2063)
-(-599,2071)
-(-604,2072)
-(-606,2071)
-(-610,2073)
-(-614,2074)
-(-617,2075)
-(-624,2074)
-(-627,2074)
-(-629,2076)
-(-631,2075)
-(-634,2075)
-(-635,2077)
-(-637,2077)
-(-639,2079)
-(-643,2079)
-(-645,2081)
-(-647,2079)
-(-655,2079)
-(-659,2076)
-(-661,2076)
-(-666,2077)
-(-671,2081)
-(-672,2083)
-(-676,2084)
-(-677,2085)
-(-678,2084)
-(-681,2086)
-(-680,2088)
-(-681,2092)
-(-683,2093)
-(-687,2096)
-(-689,2098)
-(-694,2097)
-(-700,2098)
-(-703,2097)
-(-708,2098)
-(-712,2096)
-(-717,2094)
-(-722,2093)
-(-723,2092)
-(-724,2089)
-(-726,2088)
-(-727,2086)
-(-731,2082)
-(-736,2083)
-(-738,2082)
-(-744,2082)
-(-746,2082)
-(-749,2082)
-(-752,2085)
-(-756,2086)
-(-759,2088)
-(-762,2088)
-(-762,2089)
-(-765,2089)
-(-766,2088)
-(-768,2087)
-(-770,2087)
-(-772,2086)
-(-777,2085)
-(-780,2087)
-(-785,2089)
-(-790,2088)
-(-793,2089)
-(-799,2087)
-(-803,2092)
-(-805,2091)
-(-809,2092)
-(-812,2091)
-(-818,2091)
-(-820,2091)
-(-823,2092)
-(-824,2094)
-(-824,2104)
-(-829,2105)
-(-831,2107)
-(-837,2107)
-(-843,2111)
-(-846,2111)
-(-851,2113)
-(-855,2114)
-(-856,2115)
-(-861,2117)
-(-863,2116)
-(-864,2114)
-(-861,2111)
-(-858,2109)
-(-858,2107)
-(-855,2105)
-(-852,2105)
-(-851,2103)
-(-850,2102)
-(-849,2097)
-(-845,2096)
-(-843,2096)
-(-840,2092)
-(-842,2090)
-(-846,2092)
-(-848,2089)
-(-850,2089)
-(-852,2090)
-(-854,2089)
-(-855,2088)
-(-857,2082)
-(-853,2082)
-(-852,2078)
-(-848,2075)
-(-847,2074)
-(-839,2071)
-(-836,2073)
-(-834,2075)
-(-831,2076)
-(-829,2075)
-(-827,2077)
-(-825,2077)
-(-823,2078)
-(-822,2078)
-(-817,2073)
-(-814,2071)
-(-815,2068)
-(-814,2066)
-(-802,2059)
-(-799,2059)
-(-796,2061)
-(-785,2060)
-(-781,2061)
-(-777,2059)
-(-774,2060)
-(-776,2059)
-(-774,2058)
-(-772,2059)
-(-770,2056)
-(-764,2057)
-(-763,2054)
-(-760,2052)
-(-754,2051)
-(-750,2052)
-(-744,2050)
-(-743,2049)
-(-743,2045)
-(-742,2046)
-(-740,2042)
-(-735,2040)
-(-729,2042)
-(-727,2044)
-(-724,2044)
-(-723,2043)
-(-720,2046)
-(-717,2048)
-(-714,2051)
-(-713,2051)
-(-709,2052)
-(-706,2055)
-(-704,2056)
-(-703,2059)
-(-701,2059)
-(-699,2060)
-(-695,2058)
-(-693,2058)
-(-691,2057)
-(-678,2056)
-(-677,2054)
-(-673,2054)
-(-672,2053)
-(-670,2053)
-(-666,2055)
-(-661,2054)
-(-658,2055)
-(-648,2053)
-(-644,2054)
-(-642,2052)
-(-636,2052)
-(-634,2050)
-(-631,2053)
-(-629,2052)
-(-627,2052)
-(-625,2054)
-(-625,2056)
-(-624,2055)
-(-620,2053)
-(-619,2051)
-(-617,2049)
-(-616,2049)
-(-613,2045)
-(-609,2042)
-(-608,2041)
-(-603,2040)
-(-599,2039)
-(-598,2037)
-(-594,2037)
-(-593,2036)
-(-590,2034)
-(-584,2034)
-(-582,2035)
-212
-(-1078,1621)
-(-1077,1621)
-(-1076,1623)
-(-1074,1624)
-(-1074,1625)
-(-1073,1625)
-(-1070,1628)
-(-1071,1626)
-(-1070,1625)
-(-1068,1625)
-(-1068,1626)
-(-1067,1625)
-(-1065,1628)
-(-1061,1630)
-(-1062,1631)
-(-1060,1631)
-(-1059,1633)
-(-1058,1634)
-(-1057,1633)
-(-1057,1635)
-(-1056,1635)
-(-1057,1636)
-(-1056,1638)
-(-1054,1638)
-(-1054,1641)
-(-1052,1640)
-(-1052,1642)
-(-1051,1642)
-(-1049,1642)
-(-1048,1643)
-(-1047,1639)
-(-1039,1647)
-(-1037,1645)
-(-1036,1647)
-(-1036,1648)
-(-1034,1650)
-(-1031,1651)
-(-1030,1653)
-(-1028,1653)
-(-1023,1657)
-(-1024,1660)
-(-1025,1659)
-(-1026,1660)
-(-1024,1663)
-(-1023,1662)
-(-1021,1659)
-(-1019,1664)
-(-1018,1664)
-(-1017,1661)
-(-1015,1664)
-(-1016,1665)
-(-1014,1669)
-(-1014,1672)
-(-1012,1668)
-(-1010,1668)
-(-1011,1670)
-(-1009,1676)
-(-1009,1678)
-(-1010,1678)
-(-1011,1678)
-(-1012,1681)
-(-1010,1684)
-(-1009,1685)
-(-1008,1684)
-(-1007,1685)
-(-1005,1685)
-(-1006,1688)
-(-1005,1688)
-(-1003,1688)
-(-1002,1692)
-(-1001,1692)
-(-1001,1690)
-(-999,1691)
-(-998,1690)
-(-998,1692)
-(-1000,1693)
-(-999,1695)
-(-998,1695)
-(-997,1695)
-(-997,1696)
-(-996,1700)
-(-995,1699)
-(-994,1697)
-(-993,1698)
-(-992,1697)
-(-992,1699)
-(-994,1700)
-(-993,1703)
-(-995,1702)
-(-996,1704)
-(-993,1707)
-(-992,1709)
-(-991,1709)
-(-992,1711)
-(-994,1711)
-(-992,1714)
-(-992,1712)
-(-991,1713)
-(-990,1718)
-(-989,1719)
-(-990,1721)
-(-992,1721)
-(-992,1722)
-(-992,1732)
-(-994,1733)
-(-994,1730)
-(-995,1733)
-(-994,1737)
-(-996,1736)
-(-997,1740)
-(-998,1736)
-(-1000,1737)
-(-1000,1736)
-(-1003,1735)
-(-1001,1734)
-(-1000,1733)
-(-1001,1731)
-(-1002,1731)
-(-1003,1733)
-(-1006,1732)
-(-1007,1730)
-(-1006,1728)
-(-1008,1728)
-(-1009,1724)
-(-1006,1721)
-(-1004,1723)
-(-1003,1721)
-(-1001,1722)
-(-1001,1721)
-(-1002,1718)
-(-1003,1718)
-(-1003,1715)
-(-1004,1715)
-(-1004,1713)
-(-1005,1712)
-(-1006,1709)
-(-1009,1708)
-(-1009,1706)
-(-1011,1708)
-(-1014,1708)
-(-1013,1707)
-(-1011,1707)
-(-1010,1703)
-(-1008,1702)
-(-1006,1703)
-(-1005,1702)
-(-1005,1701)
-(-1008,1701)
-(-1007,1700)
-(-1009,1699)
-(-1009,1696)
-(-1008,1696)
-(-1009,1691)
-(-1011,1687)
-(-1014,1685)
-(-1015,1687)
-(-1016,1684)
-(-1018,1684)
-(-1019,1683)
-(-1020,1683)
-(-1019,1687)
-(-1020,1685)
-(-1022,1686)
-(-1023,1684)
-(-1025,1683)
-(-1023,1682)
-(-1023,1680)
-(-1022,1680)
-(-1022,1678)
-(-1022,1677)
-(-1023,1678)
-(-1023,1676)
-(-1026,1675)
-(-1028,1670)
-(-1030,1671)
-(-1029,1668)
-(-1032,1661)
-(-1033,1663)
-(-1034,1661)
-(-1035,1661)
-(-1034,1659)
-(-1037,1661)
-(-1038,1659)
-(-1040,1659)
-(-1042,1656)
-(-1043,1657)
-(-1049,1654)
-(-1047,1654)
-(-1047,1653)
-(-1050,1653)
-(-1051,1648)
-(-1053,1647)
-(-1054,1646)
-(-1054,1647)
-(-1053,1648)
-(-1054,1648)
-(-1055,1647)
-(-1055,1642)
-(-1064,1633)
-(-1065,1633)
-(-1067,1634)
-(-1067,1632)
-(-1069,1629)
-(-1070,1630)
-(-1072,1630)
-(-1073,1628)
-(-1075,1625)
-(-1076,1626)
-(-1077,1624)
-(-1079,1625)
-(-1079,1622)
-(-1078,1621)
+73
+403
+(3910,-7409)
+(3911,-7410)
+(3912,-7406)
+(3914,-7391)
+(3913,-7379)
+(3916,-7372)
+(3921,-7364)
+(3926,-7368)
+(3929,-7376)
+(3929,-7369)
+(3933,-7367)
+(3934,-7355)
+(3936,-7353)
+(3938,-7341)
+(3947,-7328)
+(3951,-7331)
+(3954,-7350)
+(3955,-7353)
+(3957,-7352)
+(3958,-7357)
+(3958,-7367)
+(3959,-7349)
+(3961,-7343)
+(3960,-7334)
+(3959,-7330)
+(3959,-7323)
+(3956,-7312)
+(3955,-7308)
+(3956,-7288)
+(3958,-7281)
+(3960,-7275)
+(3965,-7274)
+(3967,-7282)
+(3966,-7294)
+(3969,-7296)
+(3972,-7303)
+(3975,-7316)
+(3976,-7361)
+(3975,-7383)
+(3971,-7376)
+(3966,-7383)
+(3966,-7387)
+(3964,-7385)
+(3962,-7386)
+(3963,-7390)
+(3969,-7394)
+(3970,-7396)
+(3968,-7426)
+(3966,-7432)
+(3967,-7444)
+(3971,-7452)
+(3969,-7476)
+(3968,-7477)
+(3966,-7473)
+(3964,-7475)
+(3960,-7473)
+(3959,-7476)
+(3961,-7481)
+(3962,-7482)
+(3962,-7478)
+(3963,-7482)
+(3961,-7488)
+(3955,-7487)
+(3956,-7492)
+(3958,-7493)
+(3962,-7501)
+(3967,-7506)
+(3970,-7507)
+(3975,-7505)
+(3978,-7499)
+(3978,-7497)
+(3977,-7496)
+(3976,-7493)
+(3978,-7483)
+(3977,-7480)
+(3975,-7469)
+(3978,-7466)
+(3978,-7464)
+(3981,-7461)
+(3982,-7457)
+(3979,-7445)
+(3979,-7440)
+(3983,-7428)
+(3983,-7422)
+(3984,-7420)
+(3988,-7395)
+(3992,-7389)
+(3992,-7387)
+(3991,-7390)
+(3990,-7388)
+(3989,-7389)
+(3988,-7386)
+(3989,-7382)
+(3988,-7380)
+(3989,-7378)
+(3993,-7374)
+(3993,-7349)
+(3994,-7348)
+(3994,-7354)
+(3996,-7350)
+(3994,-7348)
+(3997,-7342)
+(3996,-7340)
+(3994,-7339)
+(3994,-7343)
+(3993,-7341)
+(3996,-7334)
+(3997,-7320)
+(4001,-7305)
+(4004,-7287)
+(4006,-7289)
+(4007,-7281)
+(4008,-7278)
+(4008,-7276)
+(4009,-7276)
+(4012,-7270)
+(4011,-7260)
+(4012,-7253)
+(4013,-7251)
+(4014,-7239)
+(4017,-7233)
+(4017,-7217)
+(4019,-7210)
+(4020,-7203)
+(4022,-7195)
+(4022,-7191)
+(4023,-7188)
+(4021,-7184)
+(4020,-7189)
+(4019,-7187)
+(4020,-7177)
+(4018,-7178)
+(4020,-7167)
+(4018,-7170)
+(4017,-7171)
+(4016,-7165)
+(4017,-7152)
+(4014,-7153)
+(4014,-7148)
+(4014,-7140)
+(4012,-7137)
+(4010,-7159)
+(4008,-7161)
+(4007,-7167)
+(4005,-7168)
+(4006,-7174)
+(4005,-7175)
+(4005,-7171)
+(4004,-7172)
+(4004,-7174)
+(4004,-7178)
+(4003,-7179)
+(4004,-7182)
+(4001,-7187)
+(4001,-7193)
+(3999,-7202)
+(4000,-7206)
+(4000,-7208)
+(3998,-7203)
+(3996,-7206)
+(3996,-7209)
+(3993,-7211)
+(3993,-7219)
+(3991,-7220)
+(3991,-7223)
+(3989,-7219)
+(3989,-7222)
+(3988,-7221)
+(3988,-7214)
+(3987,-7221)
+(3988,-7225)
+(3988,-7227)
+(3985,-7230)
+(3983,-7227)
+(3984,-7222)
+(3982,-7217)
+(3983,-7213)
+(3984,-7209)
+(3983,-7198)
+(3981,-7199)
+(3979,-7192)
+(3982,-7186)
+(3982,-7179)
+(3981,-7176)
+(3980,-7177)
+(3980,-7188)
+(3979,-7188)
+(3978,-7177)
+(3978,-7171)
+(3979,-7170)
+(3980,-7172)
+(3981,-7164)
+(3979,-7154)
+(3979,-7131)
+(3978,-7129)
+(3981,-7121)
+(3981,-7117)
+(3980,-7116)
+(3981,-7112)
+(3982,-7108)
+(3981,-7108)
+(3982,-7104)
+(3988,-7087)
+(3990,-7088)
+(3988,-7090)
+(3986,-7097)
+(3990,-7093)
+(3995,-7084)
+(3997,-7069)
+(4000,-7064)
+(4001,-7057)
+(3998,-7059)
+(3998,-7064)
+(3996,-7063)
+(3998,-7056)
+(3997,-7056)
+(3994,-7064)
+(3993,-7063)
+(3991,-7065)
+(3989,-7071)
+(3988,-7073)
+(3986,-7070)
+(3985,-7074)
+(3985,-7070)
+(3986,-7067)
+(3985,-7065)
+(3989,-7053)
+(3989,-7051)
+(3987,-7053)
+(3988,-7048)
+(3987,-7048)
+(3985,-7050)
+(3986,-7055)
+(3982,-7059)
+(3981,-7054)
+(3981,-7059)
+(3979,-7063)
+(3977,-7062)
+(3977,-7060)
+(3978,-7061)
+(3976,-7057)
+(3976,-7059)
+(3974,-7059)
+(3973,-7064)
+(3974,-7063)
+(3974,-7064)
+(3972,-7068)
+(3970,-7069)
+(3971,-7062)
+(3971,-7061)
+(3969,-7065)
+(3970,-7069)
+(3968,-7069)
+(3969,-7072)
+(3969,-7075)
+(3966,-7082)
+(3965,-7079)
+(3964,-7079)
+(3964,-7067)
+(3962,-7067)
+(3963,-7073)
+(3962,-7077)
+(3963,-7076)
+(3961,-7088)
+(3960,-7086)
+(3957,-7090)
+(3955,-7089)
+(3955,-7093)
+(3952,-7096)
+(3950,-7095)
+(3951,-7092)
+(3950,-7092)
+(3949,-7091)
+(3948,-7085)
+(3950,-7075)
+(3952,-7071)
+(3951,-7067)
+(3947,-7080)
+(3945,-7077)
+(3946,-7068)
+(3944,-7070)
+(3943,-7068)
+(3944,-7073)
+(3943,-7075)
+(3944,-7080)
+(3943,-7080)
+(3941,-7082)
+(3940,-7086)
+(3941,-7091)
+(3940,-7097)
+(3939,-7103)
+(3941,-7102)
+(3941,-7112)
+(3939,-7115)
+(3938,-7110)
+(3937,-7111)
+(3939,-7116)
+(3938,-7119)
+(3940,-7122)
+(3941,-7122)
+(3942,-7119)
+(3943,-7122)
+(3944,-7132)
+(3945,-7127)
+(3947,-7134)
+(3948,-7152)
+(3947,-7158)
+(3948,-7181)
+(3944,-7186)
+(3944,-7182)
+(3943,-7182)
+(3943,-7176)
+(3942,-7176)
+(3941,-7182)
+(3940,-7191)
+(3939,-7191)
+(3939,-7193)
+(3937,-7196)
+(3937,-7195)
+(3938,-7206)
+(3934,-7201)
+(3930,-7190)
+(3929,-7189)
+(3928,-7185)
+(3928,-7179)
+(3926,-7173)
+(3919,-7168)
+(3921,-7185)
+(3920,-7187)
+(3921,-7190)
+(3920,-7191)
+(3920,-7193)
+(3919,-7193)
+(3915,-7201)
+(3911,-7203)
+(3911,-7209)
+(3909,-7216)
+(3903,-7227)
+(3899,-7241)
+(3898,-7249)
+(3896,-7255)
+(3896,-7261)
+(3895,-7263)
+(3894,-7262)
+(3893,-7266)
+(3891,-7266)
+(3891,-7271)
+(3889,-7271)
+(3889,-7278)
+(3889,-7282)
+(3891,-7283)
+(3893,-7290)
+(3896,-7290)
+(3900,-7283)
+(3899,-7283)
+(3897,-7277)
+(3899,-7279)
+(3900,-7274)
+(3899,-7270)
+(3899,-7265)
+(3902,-7257)
+(3904,-7261)
+(3907,-7259)
+(3911,-7243)
+(3916,-7233)
+(3926,-7221)
+(3930,-7220)
+(3932,-7224)
+(3933,-7222)
+(3935,-7224)
+(3937,-7241)
+(3936,-7248)
+(3934,-7256)
+(3932,-7262)
+(3931,-7268)
+(3929,-7270)
+(3923,-7292)
+(3921,-7294)
+(3921,-7291)
+(3919,-7291)
+(3916,-7297)
+(3914,-7297)
+(3913,-7295)
+(3909,-7296)
+(3907,-7300)
+(3904,-7295)
+(3904,-7300)
+(3904,-7303)
+(3903,-7303)
+(3902,-7308)
+(3901,-7309)
+(3900,-7316)
+(3899,-7320)
+(3899,-7324)
+(3897,-7321)
+(3896,-7322)
+(3898,-7329)
+(3899,-7331)
+(3901,-7339)
+(3901,-7354)
+(3905,-7394)
+(3907,-7400)
+(3910,-7409)
+39
+(3681,-7060)
+(3685,-7075)
+(3684,-7080)
+(3682,-7079)
+(3682,-7080)
+(3685,-7084)
+(3684,-7096)
+(3684,-7099)
+(3681,-7100)
+(3679,-7107)
+(3677,-7113)
+(3677,-7120)
+(3674,-7132)
+(3673,-7149)
+(3672,-7169)
+(3675,-7175)
+(3676,-7183)
+(3678,-7189)
+(3679,-7196)
+(3681,-7200)
+(3679,-7187)
+(3674,-7169)
+(3674,-7165)
+(3675,-7142)
+(3680,-7110)
+(3682,-7104)
+(3690,-7103)
+(3692,-7101)
+(3694,-7095)
+(3694,-7087)
+(3692,-7087)
+(3690,-7083)
+(3689,-7079)
+(3687,-7076)
+(3687,-7072)
+(3684,-7066)
+(3684,-7062)
+(3681,-7059)
+(3681,-7060)
+385
+(3653,-6901)
+(3656,-6888)
+(3655,-6885)
+(3654,-6883)
+(3655,-6875)
+(3656,-6873)
+(3657,-6864)
+(3661,-6853)
+(3660,-6850)
+(3659,-6844)
+(3658,-6842)
+(3659,-6830)
+(3660,-6824)
+(3666,-6817)
+(3669,-6819)
+(3670,-6821)
+(3670,-6825)
+(3672,-6820)
+(3676,-6823)
+(3679,-6820)
+(3681,-6815)
+(3680,-6812)
+(3682,-6811)
+(3684,-6804)
+(3685,-6805)
+(3687,-6799)
+(3688,-6794)
+(3687,-6786)
+(3689,-6788)
+(3689,-6787)
+(3688,-6781)
+(3687,-6781)
+(3686,-6779)
+(3684,-6781)
+(3683,-6776)
+(3685,-6772)
+(3686,-6773)
+(3687,-6761)
+(3687,-6759)
+(3688,-6761)
+(3688,-6760)
+(3689,-6754)
+(3697,-6732)
+(3699,-6733)
+(3700,-6729)
+(3702,-6729)
+(3712,-6709)
+(3713,-6709)
+(3713,-6710)
+(3717,-6696)
+(3718,-6696)
+(3723,-6689)
+(3724,-6688)
+(3725,-6689)
+(3722,-6703)
+(3723,-6703)
+(3727,-6690)
+(3728,-6690)
+(3727,-6695)
+(3728,-6695)
+(3730,-6686)
+(3734,-6676)
+(3736,-6673)
+(3735,-6680)
+(3736,-6679)
+(3737,-6676)
+(3739,-6666)
+(3740,-6666)
+(3740,-6668)
+(3743,-6664)
+(3744,-6654)
+(3743,-6653)
+(3742,-6647)
+(3744,-6642)
+(3744,-6638)
+(3743,-6638)
+(3741,-6639)
+(3741,-6638)
+(3742,-6632)
+(3742,-6619)
+(3743,-6613)
+(3744,-6614)
+(3743,-6629)
+(3743,-6628)
+(3746,-6619)
+(3746,-6621)
+(3747,-6619)
+(3747,-6610)
+(3754,-6591)
+(3754,-6595)
+(3749,-6610)
+(3750,-6614)
+(3751,-6613)
+(3751,-6614)
+(3750,-6621)
+(3746,-6639)
+(3746,-6641)
+(3748,-6639)
+(3752,-6619)
+(3752,-6625)
+(3750,-6631)
+(3749,-6638)
+(3751,-6641)
+(3752,-6647)
+(3753,-6643)
+(3752,-6628)
+(3754,-6622)
+(3754,-6613)
+(3752,-6611)
+(3754,-6607)
+(3753,-6601)
+(3756,-6589)
+(3759,-6586)
+(3759,-6582)
+(3760,-6582)
+(3761,-6626)
+(3765,-6622)
+(3765,-6617)
+(3764,-6615)
+(3764,-6611)
+(3764,-6605)
+(3765,-6600)
+(3763,-6585)
+(3765,-6590)
+(3766,-6593)
+(3767,-6607)
+(3766,-6624)
+(3768,-6628)
+(3766,-6630)
+(3765,-6626)
+(3761,-6631)
+(3760,-6629)
+(3759,-6630)
+(3760,-6639)
+(3760,-6644)
+(3760,-6648)
+(3759,-6650)
+(3759,-6657)
+(3757,-6667)
+(3757,-6677)
+(3756,-6678)
+(3754,-6677)
+(3749,-6692)
+(3743,-6697)
+(3742,-6700)
+(3743,-6700)
+(3749,-6695)
+(3753,-6689)
+(3756,-6688)
+(3758,-6683)
+(3765,-6657)
+(3766,-6636)
+(3766,-6634)
+(3768,-6637)
+(3768,-6645)
+(3769,-6643)
+(3770,-6638)
+(3769,-6631)
+(3770,-6628)
+(3769,-6616)
+(3769,-6597)
+(3768,-6592)
+(3768,-6586)
+(3765,-6577)
+(3764,-6559)
+(3761,-6557)
+(3762,-6552)
+(3758,-6557)
+(3759,-6550)
+(3757,-6557)
+(3755,-6559)
+(3755,-6557)
+(3762,-6539)
+(3764,-6540)
+(3766,-6534)
+(3768,-6534)
+(3763,-6546)
+(3763,-6550)
+(3768,-6538)
+(3770,-6545)
+(3770,-6553)
+(3772,-6556)
+(3771,-6562)
+(3772,-6570)
+(3773,-6578)
+(3774,-6577)
+(3775,-6582)
+(3775,-6597)
+(3777,-6595)
+(3777,-6597)
+(3776,-6606)
+(3777,-6627)
+(3775,-6642)
+(3771,-6662)
+(3765,-6680)
+(3763,-6682)
+(3762,-6686)
+(3760,-6688)
+(3754,-6691)
+(3751,-6697)
+(3743,-6703)
+(3739,-6716)
+(3737,-6718)
+(3733,-6727)
+(3730,-6732)
+(3729,-6736)
+(3724,-6745)
+(3723,-6756)
+(3724,-6764)
+(3722,-6774)
+(3722,-6775)
+(3724,-6774)
+(3724,-6776)
+(3722,-6781)
+(3721,-6781)
+(3722,-6787)
+(3722,-6790)
+(3720,-6792)
+(3719,-6799)
+(3722,-6805)
+(3722,-6807)
+(3721,-6809)
+(3720,-6813)
+(3722,-6816)
+(3722,-6813)
+(3723,-6813)
+(3725,-6824)
+(3726,-6825)
+(3728,-6828)
+(3729,-6825)
+(3730,-6831)
+(3732,-6833)
+(3737,-6844)
+(3736,-6847)
+(3737,-6849)
+(3737,-6848)
+(3739,-6852)
+(3739,-6855)
+(3741,-6854)
+(3742,-6855)
+(3742,-6853)
+(3745,-6856)
+(3745,-6860)
+(3743,-6862)
+(3742,-6866)
+(3742,-6874)
+(3741,-6877)
+(3742,-6879)
+(3742,-6883)
+(3743,-6883)
+(3745,-6886)
+(3746,-6888)
+(3746,-6892)
+(3748,-6893)
+(3749,-6903)
+(3751,-6909)
+(3752,-6912)
+(3753,-6911)
+(3755,-6914)
+(3757,-6918)
+(3758,-6927)
+(3758,-6936)
+(3760,-6941)
+(3759,-6946)
+(3760,-6946)
+(3761,-6942)
+(3762,-6941)
+(3762,-6945)
+(3763,-6946)
+(3767,-6956)
+(3766,-6960)
+(3762,-6963)
+(3760,-6957)
+(3758,-6956)
+(3757,-6949)
+(3753,-6949)
+(3754,-6945)
+(3753,-6942)
+(3752,-6942)
+(3752,-6946)
+(3748,-6941)
+(3749,-6936)
+(3748,-6931)
+(3749,-6922)
+(3749,-6915)
+(3745,-6919)
+(3740,-6918)
+(3739,-6914)
+(3735,-6920)
+(3734,-6920)
+(3735,-6910)
+(3733,-6910)
+(3731,-6904)
+(3730,-6902)
+(3729,-6904)
+(3729,-6902)
+(3727,-6904)
+(3725,-6903)
+(3720,-6887)
+(3716,-6885)
+(3716,-6879)
+(3713,-6881)
+(3712,-6878)
+(3711,-6877)
+(3710,-6884)
+(3710,-6883)
+(3710,-6881)
+(3708,-6885)
+(3707,-6888)
+(3706,-6889)
+(3707,-6891)
+(3705,-6896)
+(3705,-6903)
+(3704,-6904)
+(3704,-6913)
+(3706,-6912)
+(3707,-6920)
+(3705,-6933)
+(3703,-6935)
+(3702,-6931)
+(3700,-6933)
+(3700,-6936)
+(3699,-6940)
+(3696,-6939)
+(3696,-6942)
+(3693,-6942)
+(3691,-6946)
+(3690,-6944)
+(3688,-6945)
+(3687,-6943)
+(3686,-6943)
+(3684,-6952)
+(3684,-6954)
+(3686,-6956)
+(3684,-6957)
+(3684,-6961)
+(3682,-6964)
+(3682,-6961)
+(3681,-6960)
+(3681,-6955)
+(3679,-6954)
+(3679,-6951)
+(3676,-6953)
+(3676,-6957)
+(3674,-6961)
+(3673,-6958)
+(3671,-6956)
+(3670,-6958)
+(3674,-6966)
+(3675,-6971)
+(3676,-6972)
+(3676,-6986)
+(3679,-6992)
+(3680,-6996)
+(3679,-7005)
+(3678,-7008)
+(3673,-7002)
+(3673,-7007)
+(3671,-7015)
+(3669,-7025)
+(3673,-7041)
+(3677,-7051)
+(3678,-7057)
+(3678,-7061)
+(3675,-7049)
+(3672,-7047)
+(3670,-7042)
+(3664,-7034)
+(3663,-7024)
+(3662,-7005)
+(3661,-7002)
+(3661,-6998)
+(3662,-6992)
+(3660,-6989)
+(3659,-6990)
+(3658,-6986)
+(3656,-6983)
+(3653,-6970)
+(3653,-6966)
+(3650,-6957)
+(3652,-6944)
+(3650,-6932)
+(3650,-6917)
+(3652,-6910)
+(3653,-6901)
+28
+(3626,-7993)
+(3618,-7978)
+(3613,-7972)
+(3609,-7961)
+(3607,-7957)
+(3606,-7950)
+(3605,-7952)
+(3602,-7944)
+(3596,-7940)
+(3591,-7933)
+(3590,-7935)
+(3582,-7929)
+(3578,-7928)
+(3576,-7925)
+(3576,-7929)
+(3575,-7931)
+(3576,-7930)
+(3578,-7930)
+(3584,-7935)
+(3586,-7934)
+(3593,-7942)
+(3600,-7947)
+(3605,-7956)
+(3612,-7976)
+(3622,-7989)
+(3622,-7991)
+(3627,-7995)
+(3626,-7993)
+140
+(3522,-6677)
+(3524,-6677)
+(3525,-6680)
+(3527,-6676)
+(3528,-6671)
+(3528,-6670)
+(3526,-6668)
+(3523,-6671)
+(3522,-6669)
+(3524,-6663)
+(3527,-6659)
+(3528,-6655)
+(3530,-6650)
+(3533,-6649)
+(3537,-6642)
+(3541,-6640)
+(3546,-6633)
+(3547,-6623)
+(3553,-6610)
+(3555,-6608)
+(3557,-6603)
+(3560,-6598)
+(3561,-6590)
+(3564,-6592)
+(3565,-6585)
+(3565,-6589)
+(3566,-6590)
+(3570,-6584)
+(3572,-6577)
+(3576,-6570)
+(3576,-6549)
+(3573,-6548)
+(3571,-6544)
+(3569,-6544)
+(3568,-6542)
+(3569,-6540)
+(3571,-6536)
+(3571,-6529)
+(3569,-6525)
+(3566,-6532)
+(3564,-6533)
+(3563,-6537)
+(3562,-6536)
+(3563,-6523)
+(3565,-6515)
+(3566,-6515)
+(3568,-6507)
+(3566,-6503)
+(3566,-6501)
+(3569,-6497)
+(3567,-6494)
+(3568,-6488)
+(3567,-6487)
+(3566,-6477)
+(3564,-6470)
+(3565,-6453)
+(3561,-6443)
+(3559,-6433)
+(3560,-6417)
+(3561,-6414)
+(3559,-6414)
+(3559,-6413)
+(3559,-6409)
+(3559,-6398)
+(3558,-6400)
+(3557,-6398)
+(3556,-6381)
+(3558,-6365)
+(3556,-6361)
+(3555,-6387)
+(3555,-6408)
+(3556,-6408)
+(3556,-6414)
+(3557,-6415)
+(3557,-6427)
+(3558,-6429)
+(3557,-6447)
+(3559,-6449)
+(3558,-6452)
+(3557,-6452)
+(3557,-6454)
+(3558,-6458)
+(3559,-6456)
+(3560,-6458)
+(3560,-6465)
+(3555,-6467)
+(3554,-6470)
+(3552,-6469)
+(3553,-6475)
+(3552,-6482)
+(3549,-6491)
+(3548,-6516)
+(3547,-6518)
+(3547,-6525)
+(3546,-6529)
+(3546,-6533)
+(3548,-6535)
+(3545,-6541)
+(3545,-6546)
+(3545,-6551)
+(3548,-6554)
+(3548,-6557)
+(3545,-6563)
+(3543,-6577)
+(3543,-6585)
+(3541,-6593)
+(3537,-6603)
+(3534,-6613)
+(3531,-6618)
+(3530,-6619)
+(3528,-6624)
+(3524,-6627)
+(3521,-6629)
+(3520,-6628)
+(3522,-6625)
+(3521,-6620)
+(3519,-6623)
+(3517,-6622)
+(3516,-6625)
+(3519,-6635)
+(3516,-6638)
+(3518,-6646)
+(3517,-6647)
+(3513,-6645)
+(3508,-6650)
+(3518,-6650)
+(3518,-6654)
+(3519,-6655)
+(3518,-6657)
+(3516,-6658)
+(3515,-6661)
+(3510,-6664)
+(3513,-6667)
+(3514,-6666)
+(3516,-6667)
+(3517,-6665)
+(3517,-6669)
+(3519,-6670)
+(3520,-6669)
+(3522,-6677)
+126
+(3403,-7486)
+(3400,-7481)
+(3396,-7477)
+(3392,-7469)
+(3390,-7469)
+(3386,-7465)
+(3383,-7465)
+(3383,-7462)
+(3380,-7463)
+(3380,-7460)
+(3379,-7460)
+(3374,-7453)
+(3373,-7449)
+(3374,-7446)
+(3377,-7442)
+(3378,-7440)
+(3369,-7446)
+(3367,-7444)
+(3362,-7437)
+(3363,-7420)
+(3362,-7412)
+(3359,-7393)
+(3360,-7389)
+(3362,-7386)
+(3366,-7387)
+(3365,-7385)
+(3366,-7369)
+(3367,-7367)
+(3366,-7364)
+(3369,-7358)
+(3370,-7353)
+(3368,-7348)
+(3368,-7341)
+(3367,-7340)
+(3366,-7335)
+(3362,-7330)
+(3360,-7331)
+(3365,-7341)
+(3366,-7350)
+(3367,-7354)
+(3364,-7364)
+(3362,-7364)
+(3364,-7368)
+(3364,-7381)
+(3359,-7386)
+(3358,-7391)
+(3359,-7397)
+(3361,-7410)
+(3362,-7422)
+(3361,-7426)
+(3358,-7429)
+(3355,-7427)
+(3353,-7427)
+(3352,-7425)
+(3351,-7426)
+(3350,-7425)
+(3351,-7423)
+(3349,-7421)
+(3348,-7422)
+(3344,-7419)
+(3343,-7415)
+(3342,-7415)
+(3337,-7407)
+(3336,-7406)
+(3336,-7404)
+(3333,-7404)
+(3332,-7401)
+(3329,-7400)
+(3325,-7393)
+(3324,-7394)
+(3321,-7393)
+(3324,-7391)
+(3325,-7390)
+(3323,-7391)
+(3320,-7389)
+(3320,-7391)
+(3315,-7389)
+(3313,-7390)
+(3310,-7387)
+(3311,-7391)
+(3323,-7396)
+(3329,-7403)
+(3335,-7407)
+(3341,-7418)
+(3341,-7422)
+(3352,-7433)
+(3352,-7435)
+(3345,-7430)
+(3343,-7430)
+(3349,-7434)
+(3350,-7436)
+(3351,-7436)
+(3352,-7439)
+(3354,-7439)
+(3354,-7443)
+(3355,-7442)
+(3355,-7444)
+(3358,-7441)
+(3361,-7442)
+(3361,-7443)
+(3360,-7451)
+(3360,-7453)
+(3359,-7455)
+(3361,-7457)
+(3364,-7465)
+(3367,-7468)
+(3366,-7471)
+(3368,-7468)
+(3366,-7466)
+(3361,-7454)
+(3362,-7450)
+(3364,-7448)
+(3366,-7453)
+(3368,-7453)
+(3373,-7460)
+(3373,-7463)
+(3375,-7463)
+(3379,-7468)
+(3386,-7471)
+(3393,-7477)
+(3398,-7483)
+(3400,-7485)
+(3402,-7488)
+(3405,-7490)
+(3403,-7488)
+(3403,-7486)
+178
+(3255,-6008)
+(3253,-6006)
+(3252,-6000)
+(3250,-6000)
+(3250,-5997)
+(3251,-5997)
+(3252,-5995)
+(3252,-5990)
+(3251,-5988)
+(3247,-5999)
+(3246,-6006)
+(3243,-6010)
+(3244,-6012)
+(3243,-6013)
+(3242,-6015)
+(3240,-6015)
+(3239,-6012)
+(3240,-6008)
+(3239,-6007)
+(3238,-6008)
+(3237,-6003)
+(3237,-6002)
+(3235,-6004)
+(3234,-6007)
+(3232,-6011)
+(3228,-6007)
+(3228,-6005)
+(3230,-6005)
+(3232,-6002)
+(3232,-5997)
+(3235,-5992)
+(3235,-5988)
+(3241,-5984)
+(3243,-5979)
+(3243,-5976)
+(3241,-5977)
+(3240,-5975)
+(3237,-5978)
+(3236,-5982)
+(3232,-5983)
+(3231,-5982)
+(3227,-5984)
+(3227,-5988)
+(3231,-5992)
+(3229,-5996)
+(3227,-5996)
+(3226,-5994)
+(3224,-5996)
+(3225,-5999)
+(3224,-6001)
+(3222,-6001)
+(3220,-6008)
+(3221,-6012)
+(3219,-6011)
+(3218,-6015)
+(3217,-6016)
+(3215,-6012)
+(3215,-6011)
+(3217,-6011)
+(3217,-6010)
+(3214,-6004)
+(3213,-6003)
+(3213,-6001)
+(3210,-5998)
+(3206,-5998)
+(3205,-5993)
+(3201,-5995)
+(3201,-5999)
+(3200,-5999)
+(3199,-5995)
+(3196,-5996)
+(3193,-5991)
+(3195,-5986)
+(3198,-5986)
+(3199,-5985)
+(3198,-5981)
+(3198,-5972)
+(3199,-5970)
+(3202,-5966)
+(3201,-5962)
+(3192,-5965)
+(3191,-5962)
+(3189,-5960)
+(3189,-5965)
+(3188,-5967)
+(3184,-5964)
+(3182,-5972)
+(3183,-5973)
+(3185,-5974)
+(3185,-5971)
+(3186,-5970)
+(3186,-5975)
+(3188,-5974)
+(3191,-5976)
+(3192,-5978)
+(3192,-5979)
+(3190,-5980)
+(3189,-5977)
+(3188,-5978)
+(3188,-5981)
+(3187,-5984)
+(3188,-5984)
+(3190,-5985)
+(3188,-5987)
+(3187,-5988)
+(3185,-5995)
+(3186,-6002)
+(3188,-6005)
+(3189,-6018)
+(3194,-6023)
+(3196,-6023)
+(3198,-6025)
+(3198,-6026)
+(3196,-6029)
+(3198,-6033)
+(3200,-6037)
+(3201,-6037)
+(3201,-6042)
+(3204,-6048)
+(3204,-6051)
+(3206,-6053)
+(3207,-6056)
+(3209,-6055)
+(3210,-6051)
+(3212,-6049)
+(3211,-6047)
+(3212,-6044)
+(3209,-6041)
+(3210,-6039)
+(3208,-6037)
+(3208,-6036)
+(3212,-6034)
+(3212,-6038)
+(3213,-6040)
+(3214,-6040)
+(3215,-6039)
+(3216,-6035)
+(3215,-6035)
+(3213,-6030)
+(3214,-6028)
+(3216,-6027)
+(3217,-6024)
+(3216,-6023)
+(3217,-6020)
+(3215,-6019)
+(3216,-6017)
+(3219,-6017)
+(3223,-6020)
+(3226,-6023)
+(3227,-6027)
+(3229,-6028)
+(3233,-6013)
+(3236,-6010)
+(3234,-6014)
+(3234,-6017)
+(3233,-6019)
+(3234,-6022)
+(3232,-6026)
+(3234,-6028)
+(3234,-6031)
+(3236,-6031)
+(3238,-6029)
+(3238,-6026)
+(3236,-6021)
+(3235,-6020)
+(3237,-6015)
+(3238,-6015)
+(3238,-6017)
+(3239,-6019)
+(3241,-6020)
+(3245,-6016)
+(3252,-6023)
+(3254,-6020)
+(3252,-6016)
+(3251,-6014)
+(3252,-6014)
+(3255,-6011)
+(3255,-6008)
+266
+(3182,-5906)
+(3180,-5912)
+(3178,-5924)
+(3176,-5932)
+(3174,-5935)
+(3172,-5934)
+(3167,-5929)
+(3165,-5930)
+(3161,-5927)
+(3160,-5924)
+(3158,-5923)
+(3157,-5919)
+(3154,-5917)
+(3150,-5908)
+(3145,-5908)
+(3142,-5905)
+(3139,-5900)
+(3138,-5893)
+(3137,-5891)
+(3131,-5888)
+(3128,-5888)
+(3126,-5883)
+(3118,-5883)
+(3116,-5879)
+(3116,-5875)
+(3114,-5876)
+(3113,-5874)
+(3111,-5866)
+(3113,-5866)
+(3115,-5869)
+(3118,-5867)
+(3125,-5863)
+(3125,-5866)
+(3127,-5866)
+(3129,-5861)
+(3126,-5860)
+(3126,-5859)
+(3128,-5853)
+(3128,-5849)
+(3124,-5851)
+(3120,-5857)
+(3118,-5854)
+(3115,-5855)
+(3115,-5852)
+(3120,-5851)
+(3122,-5845)
+(3122,-5840)
+(3117,-5838)
+(3111,-5834)
+(3108,-5833)
+(3097,-5838)
+(3092,-5836)
+(3088,-5837)
+(3086,-5835)
+(3087,-5832)
+(3091,-5827)
+(3095,-5828)
+(3098,-5825)
+(3100,-5825)
+(3100,-5820)
+(3103,-5814)
+(3104,-5811)
+(3104,-5809)
+(3101,-5810)
+(3100,-5806)
+(3096,-5808)
+(3096,-5803)
+(3093,-5804)
+(3087,-5809)
+(3086,-5809)
+(3085,-5812)
+(3081,-5815)
+(3079,-5814)
+(3076,-5819)
+(3071,-5819)
+(3071,-5817)
+(3073,-5813)
+(3079,-5806)
+(3081,-5806)
+(3082,-5803)
+(3080,-5802)
+(3081,-5799)
+(3080,-5796)
+(3075,-5801)
+(3074,-5805)
+(3070,-5810)
+(3066,-5810)
+(3065,-5815)
+(3063,-5817)
+(3059,-5814)
+(3053,-5819)
+(3049,-5816)
+(3047,-5818)
+(3042,-5819)
+(3038,-5818)
+(3036,-5816)
+(3034,-5818)
+(3025,-5815)
+(3023,-5806)
+(3025,-5797)
+(3028,-5793)
+(3033,-5797)
+(3035,-5795)
+(3039,-5796)
+(3040,-5793)
+(3042,-5794)
+(3044,-5792)
+(3043,-5791)
+(3040,-5790)
+(3038,-5785)
+(3037,-5778)
+(3040,-5781)
+(3043,-5783)
+(3045,-5781)
+(3061,-5783)
+(3065,-5785)
+(3067,-5784)
+(3067,-5779)
+(3070,-5781)
+(3072,-5780)
+(3072,-5776)
+(3073,-5775)
+(3080,-5782)
+(3080,-5785)
+(3083,-5787)
+(3083,-5789)
+(3090,-5795)
+(3093,-5793)
+(3105,-5807)
+(3107,-5801)
+(3109,-5802)
+(3111,-5807)
+(3112,-5811)
+(3112,-5812)
+(3116,-5809)
+(3118,-5810)
+(3121,-5812)
+(3124,-5818)
+(3126,-5818)
+(3129,-5821)
+(3131,-5822)
+(3134,-5825)
+(3134,-5821)
+(3136,-5820)
+(3139,-5822)
+(3140,-5824)
+(3141,-5821)
+(3143,-5823)
+(3145,-5822)
+(3146,-5824)
+(3146,-5826)
+(3149,-5826)
+(3158,-5832)
+(3161,-5832)
+(3166,-5839)
+(3172,-5844)
+(3174,-5843)
+(3177,-5846)
+(3178,-5846)
+(3177,-5843)
+(3179,-5843)
+(3181,-5840)
+(3183,-5845)
+(3187,-5845)
+(3189,-5847)
+(3190,-5845)
+(3196,-5854)
+(3198,-5855)
+(3202,-5856)
+(3205,-5861)
+(3208,-5860)
+(3213,-5864)
+(3217,-5870)
+(3219,-5869)
+(3223,-5869)
+(3226,-5873)
+(3230,-5874)
+(3231,-5877)
+(3234,-5876)
+(3235,-5878)
+(3238,-5879)
+(3239,-5876)
+(3240,-5867)
+(3242,-5864)
+(3245,-5864)
+(3241,-5870)
+(3242,-5874)
+(3241,-5877)
+(3239,-5882)
+(3238,-5883)
+(3236,-5882)
+(3235,-5885)
+(3235,-5886)
+(3238,-5888)
+(3240,-5894)
+(3242,-5892)
+(3243,-5889)
+(3245,-5891)
+(3251,-5889)
+(3252,-5884)
+(3252,-5880)
+(3254,-5877)
+(3255,-5872)
+(3259,-5868)
+(3259,-5871)
+(3258,-5875)
+(3259,-5879)
+(3261,-5874)
+(3264,-5878)
+(3265,-5881)
+(3264,-5882)
+(3261,-5882)
+(3258,-5886)
+(3255,-5889)
+(3253,-5889)
+(3251,-5893)
+(3245,-5894)
+(3243,-5897)
+(3239,-5899)
+(3238,-5896)
+(3234,-5895)
+(3232,-5890)
+(3231,-5886)
+(3227,-5882)
+(3224,-5873)
+(3222,-5874)
+(3221,-5878)
+(3222,-5881)
+(3226,-5884)
+(3230,-5895)
+(3232,-5906)
+(3230,-5921)
+(3233,-5923)
+(3234,-5927)
+(3233,-5931)
+(3232,-5937)
+(3231,-5938)
+(3229,-5937)
+(3226,-5940)
+(3222,-5938)
+(3216,-5943)
+(3215,-5941)
+(3209,-5945)
+(3208,-5944)
+(3206,-5945)
+(3203,-5951)
+(3197,-5953)
+(3196,-5952)
+(3194,-5954)
+(3191,-5955)
+(3191,-5952)
+(3188,-5948)
+(3187,-5945)
+(3186,-5944)
+(3184,-5944)
+(3182,-5941)
+(3184,-5936)
+(3182,-5931)
+(3182,-5929)
+(3185,-5928)
+(3185,-5927)
+(3184,-5921)
+(3183,-5912)
+(3183,-5908)
+(3183,-5906)
+(3182,-5906)
+111
+(2891,-6179)
+(2888,-6162)
+(2882,-6154)
+(2882,-6151)
+(2876,-6156)
+(2874,-6156)
+(2872,-6158)
+(2870,-6157)
+(2869,-6155)
+(2867,-6146)
+(2869,-6142)
+(2872,-6145)
+(2878,-6146)
+(2878,-6142)
+(2876,-6139)
+(2879,-6137)
+(2879,-6134)
+(2877,-6137)
+(2876,-6136)
+(2875,-6138)
+(2869,-6135)
+(2865,-6135)
+(2865,-6132)
+(2864,-6131)
+(2864,-6126)
+(2863,-6127)
+(2863,-6133)
+(2860,-6132)
+(2859,-6134)
+(2857,-6133)
+(2857,-6129)
+(2853,-6117)
+(2854,-6115)
+(2853,-6112)
+(2854,-6108)
+(2853,-6099)
+(2854,-6095)
+(2856,-6096)
+(2856,-6094)
+(2856,-6083)
+(2857,-6081)
+(2857,-6076)
+(2859,-6072)
+(2859,-6069)
+(2858,-6070)
+(2855,-6066)
+(2854,-6067)
+(2855,-6074)
+(2854,-6075)
+(2853,-6075)
+(2852,-6077)
+(2852,-6081)
+(2850,-6083)
+(2852,-6090)
+(2849,-6101)
+(2850,-6105)
+(2848,-6109)
+(2849,-6113)
+(2847,-6114)
+(2848,-6117)
+(2850,-6117)
+(2852,-6124)
+(2852,-6126)
+(2853,-6125)
+(2854,-6129)
+(2856,-6135)
+(2856,-6139)
+(2855,-6140)
+(2855,-6142)
+(2855,-6144)
+(2852,-6146)
+(2857,-6145)
+(2857,-6138)
+(2863,-6137)
+(2866,-6140)
+(2865,-6144)
+(2866,-6149)
+(2867,-6156)
+(2869,-6159)
+(2872,-6160)
+(2877,-6159)
+(2879,-6154)
+(2880,-6154)
+(2880,-6157)
+(2884,-6162)
+(2887,-6168)
+(2888,-6180)
+(2889,-6183)
+(2887,-6191)
+(2883,-6194)
+(2882,-6202)
+(2880,-6208)
+(2880,-6210)
+(2884,-6214)
+(2887,-6214)
+(2887,-6217)
+(2881,-6226)
+(2883,-6226)
+(2885,-6229)
+(2886,-6223)
+(2889,-6218)
+(2889,-6215)
+(2890,-6214)
+(2889,-6212)
+(2884,-6211)
+(2882,-6208)
+(2885,-6201)
+(2885,-6195)
+(2890,-6191)
+(2891,-6187)
+(2891,-6179)
+875
+(2880,-5375)
+(2882,-5371)
+(2883,-5370)
+(2884,-5365)
+(2885,-5365)
+(2885,-5367)
+(2886,-5366)
+(2887,-5360)
+(2888,-5360)
+(2889,-5359)
+(2891,-5357)
+(2892,-5358)
+(2892,-5356)
+(2895,-5356)
+(2898,-5354)
+(2899,-5352)
+(2903,-5355)
+(2907,-5352)
+(2909,-5348)
+(2915,-5326)
+(2913,-5325)
+(2909,-5330)
+(2903,-5332)
+(2903,-5334)
+(2899,-5336)
+(2900,-5334)
+(2902,-5324)
+(2910,-5322)
+(2911,-5318)
+(2917,-5317)
+(2919,-5312)
+(2922,-5313)
+(2923,-5311)
+(2924,-5313)
+(2926,-5313)
+(2931,-5309)
+(2930,-5302)
+(2926,-5299)
+(2921,-5301)
+(2913,-5311)
+(2913,-5313)
+(2909,-5315)
+(2909,-5314)
+(2906,-5314)
+(2906,-5311)
+(2908,-5311)
+(2908,-5309)
+(2911,-5309)
+(2912,-5308)
+(2914,-5306)
+(2912,-5304)
+(2914,-5301)
+(2915,-5299)
+(2919,-5300)
+(2916,-5297)
+(2918,-5294)
+(2916,-5295)
+(2916,-5292)
+(2923,-5286)
+(2926,-5287)
+(2928,-5286)
+(2930,-5290)
+(2932,-5295)
+(2933,-5295)
+(2936,-5294)
+(2939,-5296)
+(2940,-5295)
+(2938,-5294)
+(2938,-5291)
+(2940,-5287)
+(2940,-5284)
+(2941,-5282)
+(2939,-5282)
+(2937,-5277)
+(2935,-5271)
+(2936,-5267)
+(2934,-5267)
+(2934,-5261)
+(2932,-5259)
+(2933,-5255)
+(2930,-5253)
+(2931,-5247)
+(2930,-5245)
+(2928,-5243)
+(2928,-5238)
+(2926,-5237)
+(2926,-5232)
+(2927,-5231)
+(2926,-5227)
+(2927,-5223)
+(2926,-5220)
+(2928,-5220)
+(2929,-5219)
+(2925,-5211)
+(2929,-5202)
+(2928,-5201)
+(2927,-5197)
+(2925,-5198)
+(2924,-5193)
+(2925,-5192)
+(2927,-5186)
+(2925,-5186)
+(2924,-5183)
+(2923,-5184)
+(2920,-5181)
+(2919,-5179)
+(2917,-5180)
+(2915,-5176)
+(2906,-5173)
+(2904,-5171)
+(2900,-5171)
+(2890,-5165)
+(2885,-5160)
+(2884,-5156)
+(2882,-5156)
+(2882,-5154)
+(2880,-5152)
+(2878,-5149)
+(2876,-5140)
+(2875,-5126)
+(2878,-5116)
+(2878,-5100)
+(2877,-5095)
+(2877,-5094)
+(2878,-5092)
+(2876,-5090)
+(2875,-5091)
+(2871,-5096)
+(2870,-5096)
+(2868,-5093)
+(2864,-5096)
+(2863,-5099)
+(2861,-5098)
+(2859,-5100)
+(2857,-5100)
+(2857,-5102)
+(2854,-5097)
+(2852,-5097)
+(2851,-5095)
+(2849,-5089)
+(2846,-5083)
+(2843,-5082)
+(2842,-5080)
+(2842,-5078)
+(2838,-5075)
+(2835,-5078)
+(2831,-5082)
+(2830,-5081)
+(2829,-5083)
+(2826,-5082)
+(2823,-5086)
+(2819,-5087)
+(2817,-5083)
+(2818,-5080)
+(2814,-5077)
+(2814,-5075)
+(2816,-5075)
+(2817,-5074)
+(2816,-5071)
+(2816,-5066)
+(2813,-5061)
+(2810,-5064)
+(2811,-5067)
+(2809,-5073)
+(2805,-5073)
+(2804,-5074)
+(2802,-5073)
+(2802,-5072)
+(2802,-5071)
+(2805,-5068)
+(2805,-5067)
+(2802,-5065)
+(2800,-5068)
+(2794,-5075)
+(2793,-5075)
+(2791,-5072)
+(2789,-5071)
+(2789,-5068)
+(2790,-5068)
+(2792,-5065)
+(2791,-5058)
+(2792,-5055)
+(2793,-5051)
+(2792,-5046)
+(2790,-5044)
+(2789,-5045)
+(2782,-5047)
+(2780,-5043)
+(2779,-5033)
+(2778,-5032)
+(2778,-5026)
+(2776,-5022)
+(2777,-5016)
+(2775,-5013)
+(2775,-5008)
+(2772,-4992)
+(2772,-4990)
+(2771,-4988)
+(2770,-4979)
+(2771,-4977)
+(2771,-4973)
+(2771,-4969)
+(2772,-4962)
+(2773,-4958)
+(2771,-4961)
+(2770,-4960)
+(2771,-4951)
+(2772,-4947)
+(2771,-4946)
+(2771,-4944)
+(2771,-4939)
+(2771,-4943)
+(2770,-4942)
+(2769,-4938)
+(2769,-4937)
+(2769,-4933)
+(2767,-4928)
+(2768,-4926)
+(2766,-4918)
+(2766,-4903)
+(2764,-4907)
+(2761,-4906)
+(2764,-4905)
+(2765,-4900)
+(2767,-4899)
+(2767,-4897)
+(2766,-4896)
+(2765,-4892)
+(2764,-4893)
+(2761,-4902)
+(2762,-4895)
+(2762,-4890)
+(2761,-4899)
+(2760,-4894)
+(2757,-4900)
+(2761,-4889)
+(2759,-4890)
+(2760,-4887)
+(2757,-4876)
+(2758,-4872)
+(2760,-4870)
+(2760,-4871)
+(2759,-4875)
+(2761,-4873)
+(2761,-4870)
+(2759,-4869)
+(2756,-4871)
+(2756,-4869)
+(2757,-4867)
+(2757,-4863)
+(2756,-4856)
+(2757,-4854)
+(2756,-4852)
+(2757,-4848)
+(2754,-4848)
+(2756,-4846)
+(2754,-4845)
+(2752,-4844)
+(2751,-4840)
+(2750,-4843)
+(2749,-4843)
+(2749,-4840)
+(2747,-4838)
+(2744,-4838)
+(2742,-4835)
+(2741,-4836)
+(2741,-4835)
+(2739,-4835)
+(2738,-4831)
+(2736,-4831)
+(2734,-4830)
+(2735,-4825)
+(2738,-4826)
+(2736,-4824)
+(2734,-4823)
+(2728,-4824)
+(2726,-4821)
+(2724,-4822)
+(2723,-4821)
+(2724,-4820)
+(2726,-4820)
+(2726,-4818)
+(2723,-4819)
+(2722,-4817)
+(2722,-4814)
+(2720,-4814)
+(2721,-4810)
+(2722,-4812)
+(2724,-4810)
+(2724,-4805)
+(2719,-4802)
+(2714,-4808)
+(2711,-4807)
+(2713,-4804)
+(2711,-4801)
+(2709,-4799)
+(2707,-4801)
+(2707,-4806)
+(2705,-4803)
+(2704,-4800)
+(2702,-4800)
+(2701,-4796)
+(2699,-4796)
+(2697,-4795)
+(2697,-4793)
+(2696,-4790)
+(2694,-4790)
+(2694,-4788)
+(2692,-4789)
+(2691,-4786)
+(2689,-4787)
+(2688,-4785)
+(2689,-4784)
+(2690,-4782)
+(2692,-4784)
+(2693,-4781)
+(2690,-4781)
+(2687,-4783)
+(2686,-4780)
+(2685,-4780)
+(2686,-4793)
+(2688,-4793)
+(2689,-4794)
+(2689,-4796)
+(2691,-4795)
+(2692,-4798)
+(2691,-4801)
+(2689,-4804)
+(2689,-4806)
+(2685,-4807)
+(2684,-4803)
+(2681,-4799)
+(2678,-4800)
+(2673,-4800)
+(2668,-4805)
+(2671,-4814)
+(2673,-4826)
+(2676,-4829)
+(2677,-4835)
+(2684,-4839)
+(2683,-4845)
+(2682,-4848)
+(2676,-4857)
+(2685,-4853)
+(2687,-4854)
+(2689,-4859)
+(2687,-4863)
+(2685,-4867)
+(2685,-4868)
+(2688,-4867)
+(2690,-4861)
+(2692,-4860)
+(2695,-4860)
+(2698,-4857)
+(2698,-4862)
+(2697,-4863)
+(2696,-4862)
+(2694,-4864)
+(2696,-4866)
+(2695,-4869)
+(2698,-4867)
+(2698,-4872)
+(2700,-4871)
+(2701,-4872)
+(2701,-4873)
+(2700,-4874)
+(2700,-4875)
+(2706,-4876)
+(2708,-4879)
+(2710,-4880)
+(2713,-4877)
+(2715,-4877)
+(2714,-4886)
+(2715,-4897)
+(2716,-4898)
+(2716,-4902)
+(2715,-4902)
+(2713,-4903)
+(2712,-4902)
+(2712,-4899)
+(2711,-4896)
+(2712,-4895)
+(2709,-4895)
+(2709,-4894)
+(2703,-4888)
+(2699,-4886)
+(2700,-4885)
+(2699,-4884)
+(2700,-4882)
+(2699,-4882)
+(2698,-4881)
+(2695,-4882)
+(2693,-4881)
+(2692,-4880)
+(2690,-4879)
+(2689,-4877)
+(2687,-4878)
+(2687,-4877)
+(2683,-4876)
+(2682,-4878)
+(2679,-4876)
+(2677,-4876)
+(2671,-4883)
+(2666,-4884)
+(2665,-4889)
+(2661,-4893)
+(2661,-4895)
+(2653,-4897)
+(2649,-4900)
+(2645,-4905)
+(2636,-4903)
+(2621,-4904)
+(2610,-4902)
+(2601,-4905)
+(2595,-4913)
+(2593,-4920)
+(2588,-4924)
+(2584,-4931)
+(2581,-4945)
+(2587,-4949)
+(2596,-4952)
+(2608,-4953)
+(2615,-4956)
+(2628,-4958)
+(2636,-4962)
+(2641,-4968)
+(2644,-4977)
+(2643,-4981)
+(2641,-4983)
+(2640,-4984)
+(2639,-4995)
+(2636,-4998)
+(2635,-5004)
+(2635,-5001)
+(2634,-5000)
+(2631,-5003)
+(2623,-5008)
+(2622,-5010)
+(2624,-5011)
+(2623,-5013)
+(2620,-5015)
+(2616,-5020)
+(2619,-5031)
+(2622,-5035)
+(2625,-5037)
+(2630,-5036)
+(2631,-5034)
+(2633,-5035)
+(2635,-5035)
+(2637,-5033)
+(2640,-5030)
+(2639,-5026)
+(2641,-5025)
+(2640,-5021)
+(2643,-5020)
+(2643,-5016)
+(2655,-5012)
+(2657,-5011)
+(2657,-5008)
+(2657,-5007)
+(2656,-5008)
+(2655,-5007)
+(2659,-5004)
+(2660,-5000)
+(2675,-4999)
+(2681,-4997)
+(2689,-4998)
+(2693,-5000)
+(2696,-5006)
+(2700,-5008)
+(2701,-5007)
+(2703,-5007)
+(2704,-5005)
+(2705,-5002)
+(2702,-4999)
+(2702,-4996)
+(2703,-4997)
+(2704,-4999)
+(2705,-4999)
+(2706,-4998)
+(2709,-4999)
+(2710,-5001)
+(2714,-5004)
+(2716,-5005)
+(2717,-5003)
+(2721,-5009)
+(2721,-5015)
+(2723,-5020)
+(2725,-5022)
+(2726,-5030)
+(2730,-5035)
+(2730,-5046)
+(2731,-5048)
+(2736,-5050)
+(2738,-5053)
+(2740,-5060)
+(2740,-5069)
+(2744,-5074)
+(2746,-5081)
+(2748,-5085)
+(2746,-5089)
+(2746,-5099)
+(2743,-5096)
+(2738,-5104)
+(2736,-5106)
+(2732,-5106)
+(2728,-5104)
+(2726,-5100)
+(2725,-5095)
+(2724,-5095)
+(2722,-5103)
+(2723,-5108)
+(2719,-5119)
+(2716,-5123)
+(2712,-5124)
+(2706,-5123)
+(2700,-5124)
+(2695,-5125)
+(2686,-5132)
+(2686,-5134)
+(2690,-5133)
+(2693,-5130)
+(2698,-5129)
+(2700,-5130)
+(2699,-5132)
+(2696,-5132)
+(2694,-5134)
+(2694,-5133)
+(2692,-5135)
+(2687,-5136)
+(2689,-5139)
+(2691,-5139)
+(2698,-5136)
+(2699,-5136)
+(2699,-5139)
+(2702,-5136)
+(2703,-5134)
+(2709,-5137)
+(2709,-5134)
+(2712,-5132)
+(2713,-5133)
+(2711,-5139)
+(2706,-5142)
+(2704,-5146)
+(2697,-5150)
+(2697,-5153)
+(2699,-5156)
+(2697,-5158)
+(2695,-5160)
+(2695,-5164)
+(2685,-5165)
+(2685,-5170)
+(2682,-5176)
+(2675,-5174)
+(2669,-5176)
+(2662,-5176)
+(2650,-5184)
+(2644,-5191)
+(2640,-5190)
+(2637,-5187)
+(2635,-5188)
+(2628,-5186)
+(2626,-5187)
+(2621,-5192)
+(2618,-5193)
+(2616,-5192)
+(2594,-5181)
+(2596,-5176)
+(2596,-5175)
+(2593,-5180)
+(2580,-5174)
+(2565,-5173)
+(2554,-5174)
+(2547,-5177)
+(2537,-5181)
+(2528,-5190)
+(2516,-5196)
+(2511,-5201)
+(2506,-5210)
+(2501,-5222)
+(2498,-5231)
+(2497,-5236)
+(2498,-5244)
+(2499,-5246)
+(2501,-5245)
+(2500,-5247)
+(2501,-5248)
+(2503,-5251)
+(2510,-5256)
+(2517,-5259)
+(2524,-5260)
+(2527,-5265)
+(2534,-5269)
+(2541,-5270)
+(2544,-5268)
+(2550,-5268)
+(2558,-5269)
+(2563,-5266)
+(2567,-5266)
+(2572,-5270)
+(2579,-5271)
+(2581,-5274)
+(2585,-5272)
+(2587,-5274)
+(2590,-5273)
+(2595,-5274)
+(2601,-5272)
+(2609,-5268)
+(2614,-5268)
+(2621,-5262)
+(2626,-5262)
+(2630,-5264)
+(2635,-5264)
+(2646,-5258)
+(2649,-5253)
+(2651,-5250)
+(2654,-5250)
+(2657,-5252)
+(2660,-5253)
+(2662,-5251)
+(2672,-5249)
+(2681,-5242)
+(2688,-5240)
+(2690,-5245)
+(2693,-5247)
+(2691,-5250)
+(2692,-5252)
+(2690,-5253)
+(2691,-5254)
+(2691,-5256)
+(2688,-5260)
+(2679,-5266)
+(2677,-5272)
+(2675,-5274)
+(2673,-5276)
+(2673,-5280)
+(2675,-5283)
+(2679,-5281)
+(2680,-5279)
+(2683,-5279)
+(2693,-5270)
+(2696,-5270)
+(2699,-5259)
+(2704,-5258)
+(2706,-5256)
+(2710,-5256)
+(2714,-5251)
+(2725,-5240)
+(2732,-5237)
+(2740,-5230)
+(2742,-5226)
+(2749,-5223)
+(2755,-5219)
+(2754,-5218)
+(2750,-5220)
+(2741,-5218)
+(2743,-5217)
+(2744,-5211)
+(2749,-5207)
+(2752,-5206)
+(2750,-5201)
+(2754,-5195)
+(2753,-5193)
+(2751,-5192)
+(2748,-5195)
+(2747,-5194)
+(2747,-5198)
+(2742,-5200)
+(2741,-5203)
+(2738,-5201)
+(2736,-5197)
+(2737,-5196)
+(2740,-5197)
+(2740,-5196)
+(2743,-5195)
+(2743,-5192)
+(2745,-5191)
+(2749,-5181)
+(2754,-5179)
+(2756,-5177)
+(2758,-5173)
+(2758,-5166)
+(2758,-5161)
+(2756,-5155)
+(2757,-5156)
+(2758,-5154)
+(2759,-5148)
+(2758,-5140)
+(2766,-5132)
+(2766,-5119)
+(2764,-5116)
+(2764,-5111)
+(2761,-5101)
+(2756,-5095)
+(2755,-5091)
+(2753,-5090)
+(2751,-5085)
+(2752,-5082)
+(2753,-5084)
+(2755,-5084)
+(2756,-5083)
+(2758,-5084)
+(2759,-5081)
+(2762,-5081)
+(2763,-5079)
+(2762,-5073)
+(2759,-5072)
+(2760,-5070)
+(2759,-5068)
+(2761,-5067)
+(2760,-5063)
+(2759,-5062)
+(2760,-5061)
+(2759,-5050)
+(2759,-5049)
+(2757,-5040)
+(2758,-5034)
+(2761,-5034)
+(2762,-5037)
+(2762,-5039)
+(2766,-5043)
+(2769,-5042)
+(2771,-5049)
+(2771,-5054)
+(2772,-5056)
+(2775,-5051)
+(2777,-5053)
+(2781,-5053)
+(2786,-5056)
+(2790,-5059)
+(2790,-5062)
+(2790,-5065)
+(2787,-5068)
+(2785,-5074)
+(2786,-5076)
+(2787,-5075)
+(2789,-5077)
+(2790,-5079)
+(2787,-5089)
+(2789,-5095)
+(2790,-5096)
+(2789,-5100)
+(2790,-5102)
+(2792,-5103)
+(2794,-5101)
+(2803,-5101)
+(2807,-5097)
+(2806,-5103)
+(2807,-5109)
+(2806,-5116)
+(2801,-5130)
+(2802,-5154)
+(2800,-5166)
+(2801,-5169)
+(2793,-5186)
+(2794,-5188)
+(2786,-5199)
+(2787,-5200)
+(2787,-5202)
+(2790,-5206)
+(2789,-5207)
+(2787,-5210)
+(2787,-5212)
+(2790,-5216)
+(2792,-5218)
+(2793,-5221)
+(2792,-5225)
+(2790,-5228)
+(2791,-5241)
+(2792,-5243)
+(2796,-5243)
+(2798,-5248)
+(2799,-5248)
+(2805,-5255)
+(2808,-5256)
+(2809,-5258)
+(2809,-5260)
+(2811,-5261)
+(2810,-5263)
+(2813,-5265)
+(2813,-5266)
+(2814,-5269)
+(2816,-5284)
+(2814,-5292)
+(2810,-5297)
+(2814,-5295)
+(2818,-5288)
+(2818,-5291)
+(2814,-5298)
+(2812,-5301)
+(2812,-5304)
+(2810,-5304)
+(2806,-5309)
+(2808,-5307)
+(2811,-5309)
+(2819,-5307)
+(2823,-5310)
+(2822,-5311)
+(2825,-5310)
+(2827,-5311)
+(2828,-5318)
+(2833,-5317)
+(2834,-5319)
+(2827,-5333)
+(2821,-5337)
+(2820,-5344)
+(2820,-5348)
+(2816,-5353)
+(2813,-5359)
+(2811,-5365)
+(2811,-5373)
+(2810,-5377)
+(2810,-5388)
+(2801,-5402)
+(2797,-5418)
+(2797,-5421)
+(2795,-5425)
+(2794,-5427)
+(2796,-5430)
+(2796,-5434)
+(2798,-5440)
+(2802,-5445)
+(2801,-5444)
+(2800,-5446)
+(2800,-5444)
+(2798,-5447)
+(2796,-5455)
+(2796,-5457)
+(2797,-5457)
+(2800,-5455)
+(2802,-5451)
+(2805,-5453)
+(2807,-5452)
+(2809,-5449)
+(2813,-5447)
+(2814,-5446)
+(2817,-5448)
+(2817,-5450)
+(2818,-5452)
+(2816,-5456)
+(2817,-5459)
+(2815,-5462)
+(2813,-5463)
+(2813,-5466)
+(2812,-5467)
+(2812,-5468)
+(2813,-5469)
+(2811,-5471)
+(2812,-5472)
+(2813,-5472)
+(2812,-5475)
+(2807,-5483)
+(2805,-5496)
+(2802,-5506)
+(2801,-5517)
+(2802,-5522)
+(2806,-5526)
+(2807,-5526)
+(2809,-5524)
+(2816,-5509)
+(2820,-5503)
+(2821,-5500)
+(2826,-5494)
+(2832,-5482)
+(2846,-5466)
+(2857,-5447)
+(2863,-5431)
+(2867,-5412)
+(2873,-5390)
+(2877,-5382)
+(2878,-5381)
+(2878,-5380)
+(2880,-5378)
+(2879,-5375)
+(2880,-5375)
+122
+(2856,-6489)
+(2857,-6482)
+(2856,-6478)
+(2855,-6475)
+(2848,-6472)
+(2849,-6471)
+(2853,-6471)
+(2855,-6464)
+(2859,-6459)
+(2860,-6463)
+(2861,-6464)
+(2860,-6454)
+(2858,-6447)
+(2859,-6446)
+(2861,-6445)
+(2865,-6440)
+(2863,-6441)
+(2861,-6433)
+(2862,-6426)
+(2861,-6424)
+(2862,-6415)
+(2862,-6414)
+(2864,-6414)
+(2865,-6419)
+(2866,-6419)
+(2867,-6417)
+(2865,-6414)
+(2866,-6413)
+(2867,-6413)
+(2866,-6410)
+(2867,-6408)
+(2866,-6406)
+(2868,-6407)
+(2869,-6402)
+(2870,-6403)
+(2869,-6400)
+(2870,-6399)
+(2871,-6397)
+(2872,-6394)
+(2873,-6395)
+(2873,-6394)
+(2876,-6393)
+(2876,-6398)
+(2877,-6398)
+(2878,-6394)
+(2879,-6391)
+(2879,-6389)
+(2882,-6381)
+(2881,-6380)
+(2880,-6381)
+(2877,-6377)
+(2878,-6381)
+(2877,-6382)
+(2872,-6381)
+(2871,-6379)
+(2869,-6378)
+(2870,-6373)
+(2868,-6376)
+(2866,-6376)
+(2865,-6374)
+(2864,-6374)
+(2864,-6375)
+(2859,-6372)
+(2857,-6373)
+(2855,-6372)
+(2850,-6378)
+(2853,-6377)
+(2855,-6374)
+(2857,-6375)
+(2859,-6374)
+(2861,-6378)
+(2862,-6377)
+(2864,-6378)
+(2865,-6380)
+(2866,-6378)
+(2867,-6379)
+(2867,-6382)
+(2869,-6382)
+(2872,-6386)
+(2873,-6385)
+(2874,-6386)
+(2875,-6388)
+(2871,-6389)
+(2870,-6389)
+(2869,-6391)
+(2869,-6393)
+(2866,-6394)
+(2863,-6393)
+(2867,-6397)
+(2864,-6402)
+(2862,-6402)
+(2861,-6405)
+(2864,-6406)
+(2864,-6410)
+(2863,-6411)
+(2859,-6410)
+(2856,-6412)
+(2860,-6411)
+(2861,-6412)
+(2860,-6417)
+(2858,-6418)
+(2857,-6422)
+(2859,-6420)
+(2860,-6421)
+(2860,-6434)
+(2862,-6443)
+(2857,-6445)
+(2859,-6452)
+(2858,-6459)
+(2854,-6463)
+(2851,-6469)
+(2848,-6470)
+(2847,-6473)
+(2844,-6473)
+(2841,-6477)
+(2850,-6474)
+(2854,-6475)
+(2855,-6477)
+(2856,-6483)
+(2855,-6489)
+(2856,-6492)
+(2856,-6489)
+151
+(2801,-6041)
+(2800,-6038)
+(2797,-6036)
+(2797,-6033)
+(2795,-6033)
+(2789,-6033)
+(2787,-6034)
+(2780,-6032)
+(2776,-6034)
+(2774,-6033)
+(2769,-6036)
+(2767,-6033)
+(2765,-6035)
+(2760,-6032)
+(2753,-6024)
+(2755,-6020)
+(2754,-6019)
+(2750,-6022)
+(2744,-6018)
+(2742,-6018)
+(2738,-6025)
+(2733,-6027)
+(2731,-6025)
+(2729,-6019)
+(2726,-6018)
+(2723,-6015)
+(2719,-6018)
+(2717,-6016)
+(2714,-6015)
+(2710,-6016)
+(2705,-6019)
+(2704,-6018)
+(2704,-6015)
+(2700,-6017)
+(2701,-6021)
+(2700,-6024)
+(2697,-6024)
+(2693,-6023)
+(2686,-6030)
+(2684,-6034)
+(2686,-6037)
+(2688,-6040)
+(2687,-6041)
+(2682,-6036)
+(2677,-6037)
+(2675,-6036)
+(2674,-6033)
+(2675,-6031)
+(2677,-6028)
+(2674,-6029)
+(2673,-6028)
+(2669,-6033)
+(2669,-6027)
+(2670,-6025)
+(2669,-6024)
+(2668,-6023)
+(2666,-6024)
+(2667,-6027)
+(2666,-6034)
+(2668,-6037)
+(2671,-6039)
+(2671,-6037)
+(2673,-6034)
+(2673,-6038)
+(2675,-6041)
+(2680,-6040)
+(2680,-6041)
+(2682,-6040)
+(2684,-6042)
+(2684,-6045)
+(2684,-6046)
+(2685,-6047)
+(2686,-6051)
+(2685,-6056)
+(2685,-6057)
+(2683,-6061)
+(2684,-6068)
+(2682,-6072)
+(2682,-6073)
+(2686,-6069)
+(2686,-6060)
+(2687,-6058)
+(2689,-6059)
+(2690,-6055)
+(2688,-6054)
+(2688,-6051)
+(2691,-6052)
+(2688,-6048)
+(2689,-6046)
+(2690,-6045)
+(2693,-6047)
+(2693,-6046)
+(2693,-6042)
+(2691,-6040)
+(2691,-6038)
+(2687,-6035)
+(2687,-6033)
+(2689,-6032)
+(2694,-6033)
+(2691,-6028)
+(2693,-6026)
+(2703,-6029)
+(2702,-6026)
+(2703,-6023)
+(2703,-6020)
+(2707,-6021)
+(2711,-6019)
+(2712,-6020)
+(2713,-6018)
+(2715,-6018)
+(2718,-6020)
+(2719,-6022)
+(2721,-6023)
+(2722,-6030)
+(2720,-6037)
+(2720,-6043)
+(2724,-6027)
+(2721,-6021)
+(2723,-6018)
+(2729,-6023)
+(2730,-6029)
+(2739,-6037)
+(2739,-6040)
+(2741,-6037)
+(2739,-6034)
+(2736,-6029)
+(2737,-6027)
+(2741,-6025)
+(2741,-6020)
+(2752,-6025)
+(2752,-6026)
+(2753,-6029)
+(2755,-6033)
+(2760,-6035)
+(2762,-6037)
+(2764,-6037)
+(2766,-6040)
+(2768,-6039)
+(2770,-6041)
+(2773,-6035)
+(2777,-6035)
+(2780,-6034)
+(2784,-6035)
+(2785,-6037)
+(2787,-6036)
+(2794,-6036)
+(2797,-6038)
+(2800,-6047)
+(2803,-6049)
+(2801,-6044)
+(2801,-6041)
+51
+(2637,-5961)
+(2635,-5961)
+(2631,-5958)
+(2628,-5962)
+(2626,-5965)
+(2623,-5964)
+(2621,-5967)
+(2620,-5963)
+(2619,-5961)
+(2615,-5960)
+(2611,-5956)
+(2609,-5958)
+(2609,-5957)
+(2607,-5954)
+(2606,-5949)
+(2599,-5943)
+(2597,-5939)
+(2595,-5933)
+(2591,-5931)
+(2590,-5926)
+(2590,-5924)
+(2586,-5922)
+(2585,-5914)
+(2583,-5913)
+(2584,-5923)
+(2586,-5925)
+(2588,-5927)
+(2589,-5933)
+(2591,-5935)
+(2593,-5934)
+(2594,-5934)
+(2597,-5941)
+(2605,-5951)
+(2606,-5956)
+(2608,-5959)
+(2610,-5960)
+(2612,-5958)
+(2614,-5961)
+(2618,-5962)
+(2619,-5964)
+(2619,-5968)
+(2621,-5969)
+(2622,-5968)
+(2623,-5965)
+(2627,-5966)
+(2628,-5962)
+(2631,-5959)
+(2635,-5963)
+(2639,-5962)
+(2639,-5960)
+(2637,-5961)
+168
+(2596,-4743)
+(2596,-4749)
+(2591,-4761)
+(2592,-4765)
+(2592,-4774)
+(2595,-4782)
+(2596,-4785)
+(2599,-4787)
+(2601,-4786)
+(2609,-4777)
+(2614,-4775)
+(2616,-4771)
+(2619,-4768)
+(2619,-4762)
+(2620,-4760)
+(2627,-4748)
+(2630,-4746)
+(2630,-4742)
+(2632,-4737)
+(2632,-4724)
+(2635,-4716)
+(2634,-4709)
+(2637,-4696)
+(2639,-4675)
+(2641,-4668)
+(2640,-4661)
+(2641,-4661)
+(2641,-4664)
+(2642,-4662)
+(2642,-4660)
+(2642,-4656)
+(2641,-4652)
+(2640,-4652)
+(2640,-4655)
+(2637,-4649)
+(2638,-4640)
+(2637,-4637)
+(2638,-4635)
+(2637,-4636)
+(2637,-4640)
+(2635,-4637)
+(2637,-4630)
+(2633,-4634)
+(2631,-4628)
+(2636,-4615)
+(2637,-4611)
+(2637,-4612)
+(2637,-4616)
+(2637,-4620)
+(2636,-4622)
+(2637,-4623)
+(2639,-4620)
+(2640,-4621)
+(2642,-4615)
+(2647,-4611)
+(2643,-4619)
+(2643,-4626)
+(2642,-4628)
+(2647,-4625)
+(2651,-4624)
+(2649,-4631)
+(2649,-4635)
+(2647,-4638)
+(2646,-4636)
+(2645,-4639)
+(2646,-4640)
+(2648,-4639)
+(2648,-4640)
+(2649,-4638)
+(2649,-4639)
+(2649,-4645)
+(2645,-4654)
+(2645,-4655)
+(2647,-4653)
+(2648,-4649)
+(2651,-4640)
+(2650,-4639)
+(2651,-4634)
+(2650,-4631)
+(2651,-4628)
+(2653,-4621)
+(2652,-4620)
+(2650,-4623)
+(2648,-4623)
+(2652,-4616)
+(2651,-4613)
+(2648,-4620)
+(2646,-4624)
+(2645,-4622)
+(2644,-4623)
+(2645,-4618)
+(2647,-4614)
+(2653,-4601)
+(2654,-4598)
+(2653,-4597)
+(2654,-4590)
+(2655,-4589)
+(2654,-4588)
+(2655,-4585)
+(2659,-4578)
+(2660,-4571)
+(2662,-4565)
+(2662,-4562)
+(2664,-4557)
+(2669,-4548)
+(2669,-4547)
+(2667,-4546)
+(2665,-4548)
+(2665,-4550)
+(2663,-4551)
+(2661,-4556)
+(2656,-4563)
+(2653,-4571)
+(2647,-4582)
+(2645,-4581)
+(2644,-4578)
+(2642,-4578)
+(2644,-4576)
+(2645,-4573)
+(2644,-4572)
+(2644,-4569)
+(2643,-4570)
+(2643,-4567)
+(2640,-4573)
+(2639,-4573)
+(2638,-4570)
+(2639,-4568)
+(2640,-4565)
+(2640,-4563)
+(2639,-4564)
+(2637,-4568)
+(2634,-4569)
+(2632,-4573)
+(2632,-4574)
+(2634,-4574)
+(2632,-4578)
+(2629,-4574)
+(2624,-4572)
+(2619,-4573)
+(2620,-4572)
+(2620,-4570)
+(2618,-4573)
+(2616,-4573)
+(2615,-4571)
+(2612,-4576)
+(2611,-4578)
+(2612,-4585)
+(2609,-4590)
+(2608,-4594)
+(2605,-4598)
+(2603,-4601)
+(2600,-4603)
+(2601,-4604)
+(2600,-4606)
+(2598,-4616)
+(2596,-4616)
+(2595,-4617)
+(2597,-4619)
+(2598,-4629)
+(2597,-4643)
+(2595,-4652)
+(2595,-4655)
+(2600,-4665)
+(2603,-4686)
+(2603,-4713)
+(2600,-4725)
+(2599,-4733)
+(2596,-4743)
+171
+(2553,-4958)
+(2553,-4959)
+(2551,-4956)
+(2550,-4949)
+(2549,-4948)
+(2550,-4945)
+(2547,-4946)
+(2543,-4944)
+(2540,-4946)
+(2539,-4949)
+(2538,-4958)
+(2539,-4967)
+(2541,-4977)
+(2539,-4980)
+(2539,-4983)
+(2535,-4986)
+(2524,-4987)
+(2523,-4985)
+(2519,-4974)
+(2519,-4970)
+(2522,-4962)
+(2522,-4958)
+(2519,-4953)
+(2515,-4950)
+(2522,-4949)
+(2526,-4945)
+(2535,-4924)
+(2536,-4915)
+(2537,-4915)
+(2539,-4911)
+(2538,-4912)
+(2535,-4914)
+(2536,-4911)
+(2541,-4909)
+(2544,-4907)
+(2554,-4892)
+(2559,-4880)
+(2560,-4868)
+(2560,-4855)
+(2559,-4850)
+(2554,-4831)
+(2554,-4821)
+(2552,-4807)
+(2553,-4803)
+(2554,-4808)
+(2555,-4818)
+(2556,-4821)
+(2556,-4826)
+(2557,-4827)
+(2559,-4826)
+(2561,-4822)
+(2560,-4820)
+(2563,-4819)
+(2567,-4812)
+(2569,-4790)
+(2572,-4783)
+(2571,-4778)
+(2572,-4775)
+(2571,-4769)
+(2573,-4767)
+(2572,-4761)
+(2573,-4757)
+(2573,-4750)
+(2572,-4747)
+(2570,-4746)
+(2572,-4745)
+(2573,-4737)
+(2575,-4735)
+(2577,-4736)
+(2578,-4739)
+(2580,-4742)
+(2583,-4742)
+(2585,-4745)
+(2586,-4744)
+(2585,-4743)
+(2584,-4735)
+(2583,-4733)
+(2582,-4733)
+(2580,-4736)
+(2579,-4736)
+(2577,-4734)
+(2570,-4732)
+(2567,-4732)
+(2563,-4742)
+(2554,-4749)
+(2554,-4752)
+(2549,-4762)
+(2542,-4772)
+(2536,-4786)
+(2528,-4807)
+(2527,-4808)
+(2529,-4807)
+(2529,-4804)
+(2530,-4806)
+(2525,-4813)
+(2518,-4831)
+(2510,-4862)
+(2504,-4880)
+(2495,-4894)
+(2490,-4903)
+(2490,-4910)
+(2489,-4911)
+(2490,-4917)
+(2491,-4921)
+(2490,-4927)
+(2487,-4935)
+(2486,-4942)
+(2483,-4948)
+(2486,-4955)
+(2490,-4961)
+(2488,-4960)
+(2486,-4957)
+(2488,-4962)
+(2487,-4966)
+(2488,-4967)
+(2489,-4968)
+(2486,-4975)
+(2487,-4978)
+(2486,-4979)
+(2487,-4980)
+(2488,-4983)
+(2488,-4978)
+(2489,-4977)
+(2491,-4962)
+(2493,-4962)
+(2493,-4968)
+(2495,-4970)
+(2493,-4971)
+(2492,-4973)
+(2492,-4978)
+(2493,-4980)
+(2496,-4984)
+(2499,-4994)
+(2503,-4999)
+(2502,-5000)
+(2503,-5007)
+(2504,-5008)
+(2506,-5007)
+(2506,-5005)
+(2509,-5005)
+(2513,-5001)
+(2513,-5000)
+(2516,-4999)
+(2517,-4998)
+(2516,-4995)
+(2519,-4996)
+(2519,-4993)
+(2522,-4992)
+(2521,-4991)
+(2525,-4992)
+(2534,-4989)
+(2537,-4987)
+(2541,-4981)
+(2542,-4976)
+(2544,-4973)
+(2547,-4972)
+(2550,-4973)
+(2552,-4972)
+(2554,-4970)
+(2554,-4967)
+(2556,-4967)
+(2557,-4969)
+(2559,-4969)
+(2559,-4966)
+(2562,-4962)
+(2561,-4958)
+(2559,-4958)
+(2557,-4957)
+(2556,-4958)
+(2554,-4957)
+(2553,-4958)
+58
+(2500,-6766)
+(2497,-6767)
+(2492,-6765)
+(2488,-6762)
+(2486,-6758)
+(2486,-6754)
+(2484,-6753)
+(2480,-6750)
+(2477,-6750)
+(2473,-6749)
+(2473,-6745)
+(2473,-6744)
+(2474,-6741)
+(2473,-6737)
+(2469,-6735)
+(2468,-6732)
+(2466,-6731)
+(2464,-6728)
+(2462,-6726)
+(2460,-6726)
+(2459,-6724)
+(2456,-6723)
+(2456,-6720)
+(2455,-6723)
+(2456,-6725)
+(2463,-6730)
+(2465,-6734)
+(2463,-6736)
+(2456,-6733)
+(2453,-6732)
+(2451,-6730)
+(2448,-6730)
+(2445,-6732)
+(2441,-6741)
+(2442,-6742)
+(2447,-6743)
+(2450,-6746)
+(2453,-6747)
+(2457,-6749)
+(2457,-6752)
+(2461,-6752)
+(2465,-6754)
+(2465,-6757)
+(2458,-6761)
+(2463,-6765)
+(2471,-6767)
+(2478,-6772)
+(2480,-6775)
+(2482,-6774)
+(2486,-6777)
+(2488,-6776)
+(2490,-6777)
+(2494,-6777)
+(2495,-6775)
+(2498,-6775)
+(2500,-6773)
+(2501,-6767)
+(2500,-6766)
+94
+(2273,-6622)
+(2271,-6624)
+(2268,-6623)
+(2268,-6625)
+(2268,-6626)
+(2267,-6625)
+(2263,-6625)
+(2262,-6627)
+(2259,-6627)
+(2257,-6633)
+(2254,-6635)
+(2251,-6638)
+(2249,-6638)
+(2248,-6642)
+(2247,-6642)
+(2246,-6639)
+(2243,-6642)
+(2241,-6642)
+(2239,-6644)
+(2237,-6649)
+(2234,-6650)
+(2232,-6652)
+(2231,-6648)
+(2231,-6641)
+(2233,-6639)
+(2232,-6638)
+(2231,-6640)
+(2230,-6644)
+(2231,-6653)
+(2227,-6658)
+(2226,-6664)
+(2225,-6666)
+(2226,-6667)
+(2225,-6668)
+(2225,-6670)
+(2223,-6670)
+(2222,-6668)
+(2220,-6668)
+(2222,-6672)
+(2221,-6673)
+(2219,-6673)
+(2222,-6676)
+(2220,-6677)
+(2220,-6683)
+(2218,-6682)
+(2217,-6683)
+(2216,-6688)
+(2220,-6690)
+(2223,-6693)
+(2222,-6686)
+(2223,-6685)
+(2226,-6687)
+(2222,-6682)
+(2222,-6679)
+(2223,-6679)
+(2224,-6680)
+(2226,-6680)
+(2227,-6676)
+(2230,-6678)
+(2229,-6675)
+(2225,-6672)
+(2228,-6670)
+(2231,-6671)
+(2229,-6667)
+(2227,-6667)
+(2228,-6657)
+(2236,-6652)
+(2239,-6654)
+(2238,-6650)
+(2239,-6650)
+(2240,-6651)
+(2241,-6652)
+(2240,-6647)
+(2242,-6644)
+(2244,-6644)
+(2246,-6642)
+(2251,-6646)
+(2250,-6644)
+(2254,-6646)
+(2254,-6645)
+(2250,-6641)
+(2250,-6639)
+(2254,-6638)
+(2259,-6633)
+(2260,-6630)
+(2262,-6629)
+(2266,-6627)
+(2267,-6628)
+(2269,-6628)
+(2271,-6626)
+(2273,-6625)
+(2274,-6625)
+(2274,-6622)
+(2273,-6622)
+40
+(2218,-5293)
+(2212,-5288)
+(2197,-5282)
+(2191,-5280)
+(2186,-5282)
+(2179,-5277)
+(2171,-5276)
+(2170,-5274)
+(2166,-5275)
+(2162,-5279)
+(2160,-5280)
+(2157,-5280)
+(2156,-5278)
+(2156,-5281)
+(2158,-5282)
+(2160,-5280)
+(2163,-5282)
+(2164,-5279)
+(2168,-5276)
+(2179,-5279)
+(2184,-5283)
+(2181,-5285)
+(2175,-5285)
+(2175,-5286)
+(2178,-5286)
+(2178,-5289)
+(2180,-5288)
+(2183,-5286)
+(2184,-5287)
+(2186,-5285)
+(2192,-5283)
+(2196,-5284)
+(2197,-5286)
+(2199,-5285)
+(2201,-5285)
+(2203,-5287)
+(2216,-5293)
+(2219,-5297)
+(2221,-5297)
+(2218,-5293)
+80
+(2194,-6859)
+(2188,-6860)
+(2185,-6859)
+(2180,-6862)
+(2172,-6863)
+(2170,-6862)
+(2167,-6858)
+(2164,-6857)
+(2164,-6855)
+(2163,-6855)
+(2162,-6853)
+(2162,-6849)
+(2164,-6849)
+(2170,-6846)
+(2172,-6843)
+(2173,-6841)
+(2176,-6840)
+(2169,-6837)
+(2168,-6835)
+(2166,-6834)
+(2164,-6831)
+(2164,-6828)
+(2162,-6825)
+(2159,-6825)
+(2157,-6822)
+(2154,-6821)
+(2151,-6818)
+(2150,-6818)
+(2151,-6820)
+(2152,-6820)
+(2153,-6823)
+(2156,-6823)
+(2158,-6826)
+(2162,-6827)
+(2163,-6832)
+(2168,-6836)
+(2167,-6837)
+(2167,-6839)
+(2172,-6840)
+(2171,-6843)
+(2161,-6847)
+(2160,-6854)
+(2161,-6855)
+(2163,-6860)
+(2166,-6859)
+(2168,-6861)
+(2166,-6862)
+(2167,-6864)
+(2165,-6864)
+(2163,-6867)
+(2165,-6868)
+(2166,-6869)
+(2169,-6873)
+(2168,-6874)
+(2168,-6877)
+(2166,-6880)
+(2165,-6882)
+(2164,-6883)
+(2162,-6882)
+(2161,-6884)
+(2162,-6884)
+(2162,-6885)
+(2163,-6889)
+(2165,-6888)
+(2168,-6891)
+(2168,-6883)
+(2169,-6883)
+(2169,-6881)
+(2170,-6874)
+(2170,-6867)
+(2176,-6865)
+(2180,-6866)
+(2186,-6862)
+(2188,-6862)
+(2188,-6864)
+(2190,-6865)
+(2189,-6861)
+(2191,-6861)
+(2195,-6860)
+(2194,-6859)
+22
+(2091,-5251)
+(2089,-5246)
+(2089,-5239)
+(2086,-5237)
+(2086,-5232)
+(2082,-5226)
+(2081,-5220)
+(2078,-5218)
+(2077,-5216)
+(2074,-5214)
+(2081,-5229)
+(2083,-5229)
+(2084,-5230)
+(2085,-5234)
+(2084,-5236)
+(2088,-5243)
+(2088,-5247)
+(2089,-5253)
+(2088,-5255)
+(2086,-5262)
+(2087,-5261)
+(2091,-5251)
+29
+(1631,-4845)
+(1627,-4840)
+(1617,-4837)
+(1612,-4838)
+(1608,-4842)
+(1605,-4842)
+(1604,-4843)
+(1606,-4843)
+(1605,-4845)
+(1605,-4844)
+(1601,-4844)
+(1602,-4849)
+(1605,-4854)
+(1611,-4858)
+(1611,-4859)
+(1613,-4859)
+(1613,-4863)
+(1613,-4864)
+(1617,-4864)
+(1617,-4866)
+(1618,-4866)
+(1621,-4859)
+(1623,-4857)
+(1624,-4858)
+(1624,-4855)
+(1626,-4855)
+(1631,-4850)
+(1632,-4848)
+(1631,-4845)
+63
+(958,-233)
+(956,-238)
+(953,-240)
+(951,-241)
+(952,-247)
+(954,-248)
+(953,-251)
+(945,-253)
+(944,-257)
+(939,-260)
+(934,-260)
+(930,-257)
+(928,-255)
+(925,-255)
+(922,-249)
+(922,-247)
+(923,-247)
+(920,-244)
+(919,-241)
+(919,-239)
+(918,-239)
+(917,-238)
+(918,-241)
+(917,-241)
+(917,-242)
+(916,-242)
+(918,-243)
+(916,-244)
+(918,-248)
+(917,-250)
+(916,-249)
+(916,-250)
+(914,-250)
+(914,-251)
+(913,-252)
+(913,-254)
+(917,-251)
+(915,-254)
+(915,-256)
+(918,-252)
+(919,-250)
+(920,-252)
+(923,-254)
+(921,-255)
+(922,-257)
+(923,-255)
+(924,-256)
+(928,-256)
+(930,-258)
+(933,-261)
+(940,-261)
+(945,-257)
+(945,-254)
+(951,-253)
+(954,-251)
+(955,-248)
+(954,-246)
+(952,-246)
+(952,-242)
+(954,-240)
+(956,-239)
+(957,-237)
+(958,-233)
+60
+(727,-5146)
+(725,-5143)
+(722,-5138)
+(723,-5136)
+(723,-5135)
+(712,-5126)
+(713,-5125)
+(712,-5121)
+(710,-5118)
+(708,-5116)
+(705,-5111)
+(694,-5103)
+(686,-5096)
+(686,-5094)
+(682,-5093)
+(680,-5091)
+(679,-5092)
+(678,-5089)
+(676,-5087)
+(673,-5087)
+(668,-5087)
+(666,-5086)
+(663,-5089)
+(661,-5093)
+(662,-5095)
+(663,-5096)
+(663,-5099)
+(664,-5099)
+(665,-5107)
+(666,-5110)
+(665,-5112)
+(666,-5115)
+(669,-5120)
+(670,-5126)
+(672,-5131)
+(674,-5133)
+(675,-5137)
+(681,-5144)
+(687,-5147)
+(690,-5147)
+(695,-5151)
+(696,-5152)
+(697,-5152)
+(696,-5151)
+(701,-5152)
+(699,-5152)
+(703,-5155)
+(704,-5155)
+(705,-5153)
+(708,-5153)
+(713,-5156)
+(714,-5155)
+(713,-5154)
+(714,-5154)
+(715,-5156)
+(719,-5156)
+(725,-5152)
+(725,-5149)
+(727,-5147)
+(727,-5146)
+211
+(486,-329)
+(482,-332)
+(480,-332)
+(479,-333)
+(477,-333)
+(476,-335)
+(475,-331)
+(475,-332)
+(474,-332)
+(474,-335)
+(472,-335)
+(471,-336)
+(470,-335)
+(469,-338)
+(467,-336)
+(467,-338)
+(466,-338)
+(465,-336)
+(464,-337)
+(465,-335)
+(467,-335)
+(469,-330)
+(466,-332)
+(464,-333)
+(460,-335)
+(459,-335)
+(458,-337)
+(456,-337)
+(454,-338)
+(453,-337)
+(454,-333)
+(452,-335)
+(450,-334)
+(449,-335)
+(450,-335)
+(451,-338)
+(450,-338)
+(450,-341)
+(448,-342)
+(447,-341)
+(445,-342)
+(445,-340)
+(443,-339)
+(444,-337)
+(443,-338)
+(442,-338)
+(442,-339)
+(440,-340)
+(440,-339)
+(439,-340)
+(439,-337)
+(436,-337)
+(435,-336)
+(434,-337)
+(433,-335)
+(432,-334)
+(435,-333)
+(435,-335)
+(439,-335)
+(438,-334)
+(438,-331)
+(440,-331)
+(441,-333)
+(443,-333)
+(442,-333)
+(441,-330)
+(443,-331)
+(445,-330)
+(445,-333)
+(446,-333)
+(448,-333)
+(450,-331)
+(448,-331)
+(448,-330)
+(449,-330)
+(449,-329)
+(447,-329)
+(448,-327)
+(451,-326)
+(454,-327)
+(454,-324)
+(451,-324)
+(449,-324)
+(447,-323)
+(445,-325)
+(442,-326)
+(444,-322)
+(446,-322)
+(445,-318)
+(441,-323)
+(440,-326)
+(437,-327)
+(437,-326)
+(438,-322)
+(436,-323)
+(436,-324)
+(435,-323)
+(435,-324)
+(434,-324)
+(434,-326)
+(435,-326)
+(434,-327)
+(434,-329)
+(432,-328)
+(430,-329)
+(430,-328)
+(429,-328)
+(430,-327)
+(429,-326)
+(430,-324)
+(429,-324)
+(427,-325)
+(427,-323)
+(425,-324)
+(426,-325)
+(425,-326)
+(424,-325)
+(424,-323)
+(423,-323)
+(421,-323)
+(422,-321)
+(420,-322)
+(419,-321)
+(417,-322)
+(418,-323)
+(416,-323)
+(417,-324)
+(416,-325)
+(418,-325)
+(418,-327)
+(420,-327)
+(418,-328)
+(423,-330)
+(423,-333)
+(424,-333)
+(424,-335)
+(425,-335)
+(425,-339)
+(424,-340)
+(426,-341)
+(426,-343)
+(427,-343)
+(430,-341)
+(429,-344)
+(430,-344)
+(432,-344)
+(432,-346)
+(433,-346)
+(434,-343)
+(434,-346)
+(438,-347)
+(436,-348)
+(435,-349)
+(440,-350)
+(439,-348)
+(440,-347)
+(440,-345)
+(442,-347)
+(443,-345)
+(445,-346)
+(446,-345)
+(446,-346)
+(445,-347)
+(446,-347)
+(447,-347)
+(448,-345)
+(450,-346)
+(451,-344)
+(452,-346)
+(454,-346)
+(453,-343)
+(454,-343)
+(455,-343)
+(457,-342)
+(457,-344)
+(459,-344)
+(458,-343)
+(459,-342)
+(461,-343)
+(463,-342)
+(463,-345)
+(465,-345)
+(465,-343)
+(466,-344)
+(468,-346)
+(468,-344)
+(466,-342)
+(466,-341)
+(468,-342)
+(469,-341)
+(469,-342)
+(471,-342)
+(472,-344)
+(475,-344)
+(474,-342)
+(473,-343)
+(472,-343)
+(473,-341)
+(472,-341)
+(471,-340)
+(471,-339)
+(474,-339)
+(475,-338)
+(476,-338)
+(476,-337)
+(478,-337)
+(479,-335)
+(482,-334)
+(484,-332)
+(486,-332)
+(486,-329)
+160
+(-993,-4141)
+(-993,-4143)
+(-989,-4146)
+(-988,-4145)
+(-985,-4142)
+(-983,-4142)
+(-979,-4142)
+(-976,-4145)
+(-976,-4142)
+(-976,-4140)
+(-976,-4139)
+(-973,-4138)
+(-973,-4137)
+(-974,-4134)
+(-976,-4134)
+(-976,-4131)
+(-975,-4131)
+(-972,-4134)
+(-970,-4138)
+(-966,-4141)
+(-965,-4147)
+(-963,-4147)
+(-964,-4148)
+(-965,-4148)
+(-967,-4145)
+(-969,-4145)
+(-970,-4146)
+(-971,-4148)
+(-972,-4146)
+(-973,-4146)
+(-975,-4147)
+(-975,-4149)
+(-976,-4154)
+(-977,-4156)
+(-975,-4158)
+(-975,-4162)
+(-973,-4163)
+(-972,-4163)
+(-971,-4163)
+(-972,-4164)
+(-971,-4165)
+(-973,-4169)
+(-972,-4170)
+(-971,-4171)
+(-969,-4169)
+(-965,-4165)
+(-961,-4166)
+(-961,-4170)
+(-959,-4174)
+(-959,-4180)
+(-956,-4182)
+(-956,-4181)
+(-955,-4181)
+(-954,-4182)
+(-955,-4183)
+(-954,-4186)
+(-947,-4188)
+(-947,-4190)
+(-949,-4191)
+(-952,-4192)
+(-954,-4188)
+(-955,-4188)
+(-955,-4193)
+(-953,-4194)
+(-953,-4196)
+(-951,-4199)
+(-952,-4200)
+(-951,-4201)
+(-948,-4200)
+(-947,-4202)
+(-943,-4202)
+(-942,-4201)
+(-942,-4198)
+(-940,-4198)
+(-937,-4195)
+(-936,-4195)
+(-934,-4197)
+(-935,-4195)
+(-938,-4192)
+(-942,-4191)
+(-944,-4188)
+(-944,-4185)
+(-941,-4188)
+(-941,-4187)
+(-940,-4187)
+(-939,-4189)
+(-936,-4190)
+(-934,-4192)
+(-925,-4197)
+(-923,-4197)
+(-923,-4194)
+(-921,-4192)
+(-922,-4189)
+(-921,-4188)
+(-919,-4193)
+(-918,-4193)
+(-918,-4191)
+(-919,-4187)
+(-918,-4185)
+(-918,-4183)
+(-917,-4183)
+(-915,-4185)
+(-915,-4184)
+(-915,-4181)
+(-918,-4179)
+(-921,-4178)
+(-921,-4174)
+(-926,-4169)
+(-928,-4167)
+(-930,-4166)
+(-928,-4163)
+(-929,-4162)
+(-930,-4162)
+(-930,-4163)
+(-934,-4159)
+(-934,-4157)
+(-937,-4158)
+(-941,-4156)
+(-940,-4151)
+(-941,-4149)
+(-942,-4151)
+(-944,-4146)
+(-946,-4144)
+(-948,-4142)
+(-952,-4140)
+(-956,-4141)
+(-957,-4136)
+(-956,-4133)
+(-958,-4127)
+(-960,-4126)
+(-961,-4130)
+(-964,-4131)
+(-964,-4135)
+(-970,-4131)
+(-973,-4131)
+(-973,-4130)
+(-971,-4128)
+(-974,-4121)
+(-973,-4118)
+(-973,-4116)
+(-975,-4116)
+(-975,-4115)
+(-976,-4115)
+(-977,-4116)
+(-980,-4115)
+(-981,-4118)
+(-980,-4118)
+(-978,-4121)
+(-980,-4124)
+(-981,-4121)
+(-983,-4124)
+(-985,-4126)
+(-985,-4129)
+(-985,-4134)
+(-986,-4137)
+(-988,-4137)
+(-988,-4131)
+(-996,-4132)
+(-996,-4136)
+(-993,-4141)
+265
+(-1143,-2706)
+(-1140,-2707)
+(-1139,-2708)
+(-1138,-2707)
+(-1136,-2708)
+(-1135,-2707)
+(-1134,-2711)
+(-1137,-2710)
+(-1138,-2710)
+(-1136,-2711)
+(-1139,-2713)
+(-1138,-2713)
+(-1136,-2713)
+(-1137,-2714)
+(-1135,-2715)
+(-1138,-2718)
+(-1140,-2720)
+(-1140,-2721)
+(-1140,-2722)
+(-1142,-2725)
+(-1141,-2726)
+(-1141,-2725)
+(-1138,-2722)
+(-1138,-2719)
+(-1137,-2722)
+(-1137,-2725)
+(-1136,-2726)
+(-1137,-2724)
+(-1136,-2723)
+(-1135,-2723)
+(-1136,-2721)
+(-1134,-2722)
+(-1136,-2720)
+(-1137,-2719)
+(-1137,-2718)
+(-1135,-2717)
+(-1136,-2716)
+(-1134,-2716)
+(-1134,-2715)
+(-1136,-2712)
+(-1134,-2713)
+(-1132,-2712)
+(-1132,-2711)
+(-1129,-2711)
+(-1127,-2713)
+(-1124,-2712)
+(-1122,-2713)
+(-1123,-2715)
+(-1125,-2714)
+(-1125,-2715)
+(-1126,-2715)
+(-1128,-2717)
+(-1128,-2716)
+(-1129,-2716)
+(-1131,-2713)
+(-1131,-2715)
+(-1132,-2717)
+(-1130,-2716)
+(-1131,-2718)
+(-1132,-2719)
+(-1131,-2719)
+(-1130,-2717)
+(-1129,-2717)
+(-1130,-2720)
+(-1131,-2722)
+(-1129,-2723)
+(-1129,-2721)
+(-1127,-2721)
+(-1129,-2720)
+(-1129,-2718)
+(-1126,-2717)
+(-1126,-2716)
+(-1125,-2717)
+(-1123,-2716)
+(-1121,-2714)
+(-1119,-2715)
+(-1117,-2715)
+(-1117,-2716)
+(-1115,-2714)
+(-1116,-2717)
+(-1118,-2718)
+(-1117,-2718)
+(-1123,-2721)
+(-1119,-2720)
+(-1119,-2723)
+(-1118,-2724)
+(-1117,-2723)
+(-1118,-2722)
+(-1118,-2720)
+(-1116,-2718)
+(-1117,-2720)
+(-1116,-2720)
+(-1115,-2720)
+(-1116,-2719)
+(-1114,-2718)
+(-1113,-2718)
+(-1114,-2716)
+(-1112,-2713)
+(-1112,-2715)
+(-1112,-2717)
+(-1110,-2717)
+(-1111,-2719)
+(-1110,-2718)
+(-1109,-2721)
+(-1111,-2722)
+(-1110,-2724)
+(-1109,-2722)
+(-1108,-2722)
+(-1110,-2725)
+(-1111,-2724)
+(-1113,-2723)
+(-1113,-2724)
+(-1115,-2724)
+(-1115,-2725)
+(-1115,-2726)
+(-1113,-2725)
+(-1112,-2726)
+(-1114,-2727)
+(-1112,-2727)
+(-1119,-2732)
+(-1117,-2732)
+(-1114,-2732)
+(-1112,-2729)
+(-1112,-2730)
+(-1111,-2731)
+(-1111,-2729)
+(-1111,-2728)
+(-1110,-2728)
+(-1109,-2726)
+(-1108,-2727)
+(-1109,-2729)
+(-1107,-2728)
+(-1107,-2727)
+(-1106,-2728)
+(-1104,-2727)
+(-1106,-2726)
+(-1106,-2725)
+(-1107,-2724)
+(-1106,-2723)
+(-1105,-2724)
+(-1106,-2722)
+(-1105,-2721)
+(-1104,-2719)
+(-1102,-2719)
+(-1101,-2717)
+(-1100,-2719)
+(-1104,-2721)
+(-1102,-2721)
+(-1103,-2723)
+(-1102,-2723)
+(-1101,-2722)
+(-1101,-2721)
+(-1099,-2721)
+(-1099,-2720)
+(-1097,-2720)
+(-1095,-2717)
+(-1095,-2718)
+(-1094,-2717)
+(-1094,-2718)
+(-1099,-2725)
+(-1098,-2725)
+(-1095,-2721)
+(-1094,-2722)
+(-1094,-2720)
+(-1092,-2717)
+(-1093,-2715)
+(-1094,-2714)
+(-1095,-2713)
+(-1095,-2714)
+(-1096,-2714)
+(-1097,-2716)
+(-1098,-2715)
+(-1098,-2711)
+(-1099,-2716)
+(-1101,-2716)
+(-1102,-2716)
+(-1102,-2715)
+(-1103,-2717)
+(-1104,-2717)
+(-1105,-2718)
+(-1106,-2716)
+(-1105,-2714)
+(-1106,-2713)
+(-1107,-2716)
+(-1106,-2720)
+(-1106,-2721)
+(-1108,-2720)
+(-1108,-2717)
+(-1110,-2716)
+(-1109,-2714)
+(-1108,-2714)
+(-1108,-2712)
+(-1108,-2713)
+(-1110,-2714)
+(-1110,-2715)
+(-1110,-2711)
+(-1113,-2712)
+(-1112,-2710)
+(-1113,-2710)
+(-1114,-2711)
+(-1115,-2713)
+(-1116,-2711)
+(-1116,-2712)
+(-1118,-2712)
+(-1119,-2710)
+(-1118,-2709)
+(-1116,-2709)
+(-1114,-2707)
+(-1116,-2709)
+(-1117,-2709)
+(-1116,-2708)
+(-1117,-2708)
+(-1121,-2708)
+(-1119,-2713)
+(-1120,-2712)
+(-1122,-2709)
+(-1121,-2711)
+(-1123,-2710)
+(-1125,-2707)
+(-1126,-2711)
+(-1128,-2710)
+(-1128,-2708)
+(-1129,-2708)
+(-1127,-2706)
+(-1128,-2706)
+(-1130,-2705)
+(-1128,-2704)
+(-1127,-2702)
+(-1124,-2701)
+(-1121,-2701)
+(-1123,-2700)
+(-1127,-2700)
+(-1127,-2699)
+(-1128,-2702)
+(-1128,-2698)
+(-1127,-2695)
+(-1128,-2697)
+(-1130,-2698)
+(-1130,-2696)
+(-1132,-2695)
+(-1130,-2692)
+(-1132,-2694)
+(-1134,-2694)
+(-1130,-2700)
+(-1129,-2702)
+(-1130,-2703)
+(-1131,-2703)
+(-1131,-2701)
+(-1132,-2704)
+(-1131,-2706)
+(-1129,-2707)
+(-1131,-2707)
+(-1129,-2709)
+(-1130,-2709)
+(-1132,-2709)
+(-1133,-2707)
+(-1135,-2706)
+(-1136,-2704)
+(-1135,-2706)
+(-1137,-2706)
+(-1138,-2705)
+(-1139,-2706)
+(-1142,-2706)
+(-1143,-2705)
+(-1143,-2706)
+78
+(-1236,-2796)
+(-1235,-2796)
+(-1230,-2802)
+(-1230,-2808)
+(-1228,-2809)
+(-1229,-2811)
+(-1231,-2810)
+(-1231,-2811)
+(-1232,-2808)
+(-1233,-2808)
+(-1234,-2808)
+(-1233,-2809)
+(-1233,-2812)
+(-1231,-2812)
+(-1231,-2811)
+(-1229,-2812)
+(-1230,-2813)
+(-1229,-2812)
+(-1228,-2813)
+(-1227,-2810)
+(-1226,-2810)
+(-1225,-2812)
+(-1226,-2812)
+(-1226,-2815)
+(-1224,-2816)
+(-1225,-2817)
+(-1222,-2816)
+(-1223,-2817)
+(-1223,-2818)
+(-1225,-2818)
+(-1225,-2819)
+(-1221,-2820)
+(-1222,-2821)
+(-1219,-2821)
+(-1219,-2823)
+(-1216,-2824)
+(-1215,-2824)
+(-1216,-2823)
+(-1218,-2823)
+(-1219,-2821)
+(-1217,-2818)
+(-1216,-2818)
+(-1216,-2817)
+(-1217,-2817)
+(-1219,-2819)
+(-1219,-2818)
+(-1219,-2816)
+(-1217,-2814)
+(-1219,-2814)
+(-1220,-2818)
+(-1222,-2818)
+(-1220,-2816)
+(-1221,-2816)
+(-1220,-2815)
+(-1222,-2815)
+(-1222,-2813)
+(-1220,-2812)
+(-1222,-2812)
+(-1223,-2814)
+(-1224,-2814)
+(-1224,-2810)
+(-1222,-2809)
+(-1224,-2809)
+(-1224,-2807)
+(-1225,-2808)
+(-1225,-2809)
+(-1228,-2808)
+(-1229,-2804)
+(-1228,-2801)
+(-1230,-2801)
+(-1230,-2799)
+(-1232,-2799)
+(-1233,-2796)
+(-1233,-2793)
+(-1234,-2795)
+(-1235,-2795)
+(-1237,-2796)
+(-1236,-2796)
+384
+(-1293,-2733)
+(-1292,-2732)
+(-1292,-2731)
+(-1288,-2736)
+(-1287,-2739)
+(-1288,-2740)
+(-1291,-2741)
+(-1288,-2740)
+(-1287,-2741)
+(-1287,-2744)
+(-1286,-2744)
+(-1286,-2745)
+(-1288,-2747)
+(-1285,-2747)
+(-1285,-2749)
+(-1292,-2752)
+(-1289,-2752)
+(-1285,-2749)
+(-1283,-2753)
+(-1283,-2751)
+(-1282,-2751)
+(-1281,-2750)
+(-1281,-2751)
+(-1280,-2750)
+(-1278,-2751)
+(-1277,-2754)
+(-1278,-2755)
+(-1277,-2755)
+(-1276,-2756)
+(-1277,-2757)
+(-1275,-2757)
+(-1276,-2758)
+(-1277,-2758)
+(-1277,-2759)
+(-1281,-2758)
+(-1280,-2759)
+(-1282,-2760)
+(-1284,-2759)
+(-1284,-2761)
+(-1286,-2760)
+(-1286,-2761)
+(-1285,-2762)
+(-1287,-2765)
+(-1285,-2764)
+(-1285,-2765)
+(-1285,-2767)
+(-1287,-2772)
+(-1284,-2768)
+(-1283,-2764)
+(-1284,-2763)
+(-1283,-2763)
+(-1283,-2761)
+(-1281,-2762)
+(-1280,-2760)
+(-1279,-2764)
+(-1280,-2764)
+(-1279,-2765)
+(-1279,-2767)
+(-1278,-2770)
+(-1276,-2770)
+(-1277,-2768)
+(-1279,-2766)
+(-1278,-2764)
+(-1279,-2762)
+(-1278,-2761)
+(-1279,-2760)
+(-1277,-2760)
+(-1276,-2760)
+(-1275,-2764)
+(-1274,-2758)
+(-1270,-2758)
+(-1269,-2758)
+(-1271,-2761)
+(-1270,-2761)
+(-1269,-2759)
+(-1267,-2758)
+(-1265,-2759)
+(-1264,-2762)
+(-1265,-2764)
+(-1266,-2764)
+(-1266,-2766)
+(-1265,-2765)
+(-1264,-2764)
+(-1261,-2771)
+(-1260,-2770)
+(-1262,-2766)
+(-1261,-2764)
+(-1262,-2764)
+(-1262,-2763)
+(-1260,-2761)
+(-1260,-2763)
+(-1259,-2762)
+(-1258,-2765)
+(-1256,-2766)
+(-1257,-2768)
+(-1257,-2770)
+(-1257,-2768)
+(-1255,-2767)
+(-1255,-2765)
+(-1253,-2765)
+(-1252,-2763)
+(-1250,-2764)
+(-1250,-2766)
+(-1251,-2765)
+(-1251,-2766)
+(-1250,-2767)
+(-1251,-2768)
+(-1252,-2769)
+(-1252,-2771)
+(-1250,-2771)
+(-1249,-2771)
+(-1250,-2772)
+(-1246,-2769)
+(-1246,-2770)
+(-1245,-2770)
+(-1244,-2768)
+(-1243,-2769)
+(-1242,-2774)
+(-1243,-2774)
+(-1243,-2775)
+(-1240,-2775)
+(-1240,-2779)
+(-1239,-2775)
+(-1240,-2774)
+(-1239,-2773)
+(-1240,-2772)
+(-1241,-2771)
+(-1240,-2769)
+(-1242,-2767)
+(-1241,-2766)
+(-1240,-2766)
+(-1239,-2765)
+(-1239,-2766)
+(-1238,-2764)
+(-1241,-2765)
+(-1240,-2764)
+(-1241,-2762)
+(-1239,-2760)
+(-1238,-2759)
+(-1239,-2758)
+(-1240,-2760)
+(-1240,-2759)
+(-1241,-2757)
+(-1242,-2758)
+(-1243,-2758)
+(-1243,-2757)
+(-1243,-2754)
+(-1242,-2755)
+(-1242,-2753)
+(-1240,-2751)
+(-1237,-2749)
+(-1235,-2748)
+(-1233,-2749)
+(-1232,-2748)
+(-1230,-2748)
+(-1231,-2747)
+(-1235,-2747)
+(-1234,-2745)
+(-1235,-2745)
+(-1235,-2747)
+(-1237,-2747)
+(-1236,-2745)
+(-1237,-2745)
+(-1238,-2745)
+(-1238,-2743)
+(-1239,-2743)
+(-1238,-2747)
+(-1239,-2749)
+(-1240,-2748)
+(-1240,-2746)
+(-1240,-2745)
+(-1242,-2745)
+(-1242,-2744)
+(-1243,-2743)
+(-1243,-2742)
+(-1242,-2742)
+(-1243,-2740)
+(-1241,-2740)
+(-1242,-2740)
+(-1240,-2739)
+(-1238,-2738)
+(-1234,-2739)
+(-1233,-2738)
+(-1232,-2736)
+(-1233,-2737)
+(-1238,-2737)
+(-1234,-2734)
+(-1236,-2734)
+(-1235,-2732)
+(-1240,-2737)
+(-1241,-2738)
+(-1240,-2734)
+(-1241,-2729)
+(-1242,-2730)
+(-1242,-2738)
+(-1244,-2739)
+(-1245,-2743)
+(-1247,-2742)
+(-1246,-2741)
+(-1246,-2738)
+(-1247,-2740)
+(-1248,-2740)
+(-1249,-2739)
+(-1249,-2740)
+(-1251,-2741)
+(-1252,-2740)
+(-1252,-2739)
+(-1250,-2739)
+(-1249,-2736)
+(-1248,-2734)
+(-1249,-2735)
+(-1249,-2737)
+(-1251,-2738)
+(-1251,-2736)
+(-1256,-2735)
+(-1256,-2729)
+(-1255,-2728)
+(-1257,-2730)
+(-1257,-2731)
+(-1258,-2731)
+(-1260,-2729)
+(-1261,-2724)
+(-1264,-2723)
+(-1262,-2716)
+(-1260,-2716)
+(-1261,-2715)
+(-1261,-2713)
+(-1262,-2715)
+(-1263,-2716)
+(-1265,-2715)
+(-1267,-2716)
+(-1268,-2713)
+(-1267,-2713)
+(-1265,-2714)
+(-1264,-2713)
+(-1267,-2712)
+(-1269,-2715)
+(-1267,-2717)
+(-1265,-2716)
+(-1263,-2717)
+(-1264,-2723)
+(-1266,-2724)
+(-1265,-2724)
+(-1264,-2724)
+(-1263,-2725)
+(-1262,-2727)
+(-1262,-2728)
+(-1261,-2730)
+(-1261,-2729)
+(-1260,-2731)
+(-1260,-2732)
+(-1262,-2731)
+(-1261,-2732)
+(-1262,-2732)
+(-1264,-2733)
+(-1266,-2731)
+(-1265,-2734)
+(-1261,-2733)
+(-1261,-2735)
+(-1260,-2732)
+(-1259,-2732)
+(-1257,-2732)
+(-1257,-2736)
+(-1254,-2737)
+(-1253,-2739)
+(-1253,-2741)
+(-1254,-2742)
+(-1249,-2741)
+(-1249,-2743)
+(-1246,-2744)
+(-1246,-2745)
+(-1244,-2746)
+(-1244,-2748)
+(-1240,-2750)
+(-1241,-2751)
+(-1243,-2752)
+(-1243,-2751)
+(-1244,-2754)
+(-1245,-2750)
+(-1247,-2752)
+(-1245,-2752)
+(-1245,-2753)
+(-1246,-2754)
+(-1245,-2756)
+(-1248,-2755)
+(-1247,-2756)
+(-1244,-2757)
+(-1245,-2758)
+(-1247,-2758)
+(-1245,-2759)
+(-1246,-2760)
+(-1245,-2760)
+(-1245,-2761)
+(-1242,-2759)
+(-1240,-2760)
+(-1242,-2762)
+(-1242,-2765)
+(-1243,-2763)
+(-1243,-2766)
+(-1244,-2765)
+(-1244,-2767)
+(-1246,-2765)
+(-1246,-2767)
+(-1247,-2766)
+(-1247,-2767)
+(-1250,-2770)
+(-1248,-2766)
+(-1250,-2763)
+(-1253,-2763)
+(-1254,-2761)
+(-1255,-2761)
+(-1255,-2759)
+(-1255,-2761)
+(-1254,-2763)
+(-1255,-2765)
+(-1257,-2763)
+(-1256,-2762)
+(-1258,-2761)
+(-1257,-2760)
+(-1260,-2759)
+(-1259,-2758)
+(-1261,-2760)
+(-1261,-2759)
+(-1262,-2761)
+(-1263,-2761)
+(-1263,-2758)
+(-1263,-2757)
+(-1260,-2754)
+(-1263,-2746)
+(-1264,-2746)
+(-1264,-2747)
+(-1264,-2745)
+(-1265,-2745)
+(-1264,-2744)
+(-1265,-2744)
+(-1265,-2745)
+(-1264,-2747)
+(-1264,-2750)
+(-1265,-2749)
+(-1266,-2750)
+(-1264,-2751)
+(-1264,-2752)
+(-1263,-2752)
+(-1263,-2756)
+(-1264,-2756)
+(-1264,-2755)
+(-1265,-2754)
+(-1265,-2757)
+(-1268,-2758)
+(-1269,-2757)
+(-1269,-2754)
+(-1271,-2754)
+(-1271,-2753)
+(-1270,-2756)
+(-1271,-2756)
+(-1273,-2757)
+(-1274,-2754)
+(-1274,-2755)
+(-1277,-2750)
+(-1279,-2749)
+(-1278,-2748)
+(-1279,-2747)
+(-1277,-2746)
+(-1278,-2745)
+(-1279,-2746)
+(-1280,-2749)
+(-1283,-2750)
+(-1283,-2748)
+(-1284,-2748)
+(-1285,-2745)
+(-1285,-2744)
+(-1286,-2743)
+(-1285,-2741)
+(-1287,-2740)
+(-1286,-2739)
+(-1286,-2737)
+(-1287,-2736)
+(-1286,-2733)
+(-1288,-2735)
+(-1290,-2732)
+(-1292,-2730)
+(-1292,-2732)
+(-1294,-2732)
+(-1293,-2733)
+157
+(4469,6168)
+(4472,6163)
+(4475,6191)
+(4475,6208)
+(4478,6214)
+(4478,6221)
+(4477,6238)
+(4479,6242)
+(4480,6238)
+(4483,6237)
+(4481,6245)
+(4483,6260)
+(4487,6286)
+(4486,6298)
+(4485,6308)
+(4488,6338)
+(4490,6348)
+(4491,6341)
+(4490,6323)
+(4490,6312)
+(4495,6284)
+(4506,6270)
+(4508,6252)
+(4507,6248)
+(4501,6246)
+(4499,6236)
+(4499,6230)
+(4495,6228)
+(4492,6241)
+(4491,6242)
+(4493,6252)
+(4493,6265)
+(4490,6261)
+(4487,6251)
+(4488,6238)
+(4488,6231)
+(4484,6220)
+(4483,6212)
+(4481,6206)
+(4481,6194)
+(4477,6182)
+(4479,6180)
+(4478,6173)
+(4477,6163)
+(4479,6149)
+(4478,6118)
+(4477,6116)
+(4478,6110)
+(4477,6082)
+(4480,6064)
+(4484,6050)
+(4485,6039)
+(4486,6037)
+(4488,6033)
+(4494,6034)
+(4494,6024)
+(4495,6028)
+(4495,6034)
+(4499,6039)
+(4502,6038)
+(4505,6034)
+(4505,6023)
+(4508,6022)
+(4508,6013)
+(4509,6014)
+(4510,6011)
+(4510,6004)
+(4508,6000)
+(4506,6004)
+(4504,6001)
+(4504,6031)
+(4503,6033)
+(4501,6030)
+(4498,6033)
+(4496,6027)
+(4496,6023)
+(4497,6023)
+(4497,6018)
+(4496,6018)
+(4493,6003)
+(4492,6007)
+(4490,6007)
+(4489,6024)
+(4484,6023)
+(4476,6034)
+(4474,6028)
+(4472,6028)
+(4473,6025)
+(4472,6022)
+(4470,6013)
+(4467,6013)
+(4462,6003)
+(4463,5994)
+(4466,5981)
+(4466,5971)
+(4465,5968)
+(4466,5963)
+(4465,5950)
+(4464,5948)
+(4462,5959)
+(4462,5985)
+(4460,5992)
+(4458,5987)
+(4460,5998)
+(4460,6011)
+(4461,6018)
+(4460,6027)
+(4458,6029)
+(4457,6034)
+(4458,6039)
+(4459,6048)
+(4454,6057)
+(4447,6060)
+(4442,6069)
+(4435,6061)
+(4434,6055)
+(4430,6055)
+(4432,6064)
+(4431,6080)
+(4429,6087)
+(4430,6094)
+(4437,6089)
+(4439,6094)
+(4440,6089)
+(4450,6073)
+(4454,6071)
+(4460,6062)
+(4463,6068)
+(4465,6067)
+(4466,6056)
+(4464,6050)
+(4465,6043)
+(4466,6035)
+(4468,6051)
+(4469,6068)
+(4470,6072)
+(4470,6079)
+(4469,6084)
+(4466,6079)
+(4463,6080)
+(4459,6094)
+(4455,6105)
+(4455,6119)
+(4453,6119)
+(4455,6125)
+(4453,6130)
+(4454,6132)
+(4456,6131)
+(4456,6125)
+(4458,6123)
+(4459,6125)
+(4462,6122)
+(4468,6113)
+(4471,6115)
+(4472,6146)
+(4471,6152)
+(4469,6168)
+234
+(3772,2078)
+(3770,2080)
+(3769,2084)
+(3771,2086)
+(3770,2093)
+(3766,2103)
+(3765,2104)
+(3766,2098)
+(3764,2103)
+(3763,2110)
+(3761,2113)
+(3760,2124)
+(3758,2125)
+(3757,2125)
+(3754,2130)
+(3757,2129)
+(3758,2131)
+(3753,2133)
+(3754,2135)
+(3753,2142)
+(3749,2148)
+(3745,2151)
+(3739,2150)
+(3731,2146)
+(3726,2141)
+(3723,2139)
+(3720,2143)
+(3718,2149)
+(3717,2152)
+(3714,2150)
+(3712,2151)
+(3711,2149)
+(3710,2150)
+(3708,2157)
+(3703,2162)
+(3699,2161)
+(3695,2171)
+(3691,2174)
+(3689,2174)
+(3687,2182)
+(3684,2186)
+(3678,2186)
+(3677,2184)
+(3677,2182)
+(3675,2180)
+(3670,2187)
+(3670,2183)
+(3668,2180)
+(3664,2173)
+(3665,2165)
+(3661,2163)
+(3657,2157)
+(3656,2148)
+(3656,2151)
+(3655,2150)
+(3655,2157)
+(3653,2156)
+(3651,2152)
+(3653,2148)
+(3652,2145)
+(3654,2147)
+(3655,2146)
+(3653,2138)
+(3654,2133)
+(3657,2130)
+(3659,2131)
+(3663,2123)
+(3663,2120)
+(3660,2116)
+(3661,2113)
+(3659,2108)
+(3660,2106)
+(3661,2109)
+(3663,2107)
+(3664,2098)
+(3665,2096)
+(3666,2094)
+(3665,2092)
+(3663,2095)
+(3661,2090)
+(3668,2087)
+(3669,2089)
+(3674,2089)
+(3673,2094)
+(3671,2099)
+(3672,2103)
+(3673,2106)
+(3671,2110)
+(3670,2115)
+(3670,2113)
+(3668,2113)
+(3671,2106)
+(3670,2103)
+(3667,2102)
+(3663,2110)
+(3663,2114)
+(3665,2118)
+(3664,2125)
+(3663,2127)
+(3660,2133)
+(3667,2142)
+(3669,2141)
+(3671,2136)
+(3674,2137)
+(3676,2133)
+(3679,2133)
+(3680,2130)
+(3682,2129)
+(3683,2122)
+(3685,2121)
+(3687,2117)
+(3689,2115)
+(3689,2111)
+(3690,2107)
+(3689,2103)
+(3692,2102)
+(3692,2093)
+(3695,2087)
+(3695,2083)
+(3698,2080)
+(3699,2078)
+(3706,2067)
+(3709,2059)
+(3710,2061)
+(3713,2057)
+(3714,2058)
+(3711,2062)
+(3710,2062)
+(3709,2069)
+(3706,2074)
+(3711,2075)
+(3711,2078)
+(3714,2077)
+(3722,2070)
+(3727,2057)
+(3729,2058)
+(3731,2054)
+(3733,2057)
+(3736,2056)
+(3740,2049)
+(3744,2046)
+(3745,2042)
+(3744,2042)
+(3742,2041)
+(3742,2039)
+(3748,2036)
+(3752,2038)
+(3751,2044)
+(3746,2044)
+(3746,2047)
+(3741,2051)
+(3735,2062)
+(3734,2059)
+(3731,2059)
+(3726,2069)
+(3725,2076)
+(3721,2084)
+(3723,2085)
+(3734,2074)
+(3734,2076)
+(3735,2077)
+(3734,2078)
+(3730,2083)
+(3734,2082)
+(3740,2074)
+(3748,2066)
+(3741,2078)
+(3735,2086)
+(3735,2088)
+(3739,2087)
+(3741,2085)
+(3747,2074)
+(3750,2073)
+(3752,2069)
+(3756,2068)
+(3753,2070)
+(3747,2082)
+(3741,2089)
+(3736,2091)
+(3739,2092)
+(3735,2092)
+(3735,2090)
+(3731,2093)
+(3723,2103)
+(3722,2109)
+(3723,2109)
+(3726,2112)
+(3733,2101)
+(3733,2103)
+(3735,2101)
+(3733,2106)
+(3730,2110)
+(3730,2117)
+(3727,2121)
+(3730,2123)
+(3730,2129)
+(3734,2135)
+(3743,2132)
+(3749,2126)
+(3752,2121)
+(3754,2120)
+(3754,2118)
+(3751,2118)
+(3753,2109)
+(3753,2106)
+(3754,2105)
+(3759,2097)
+(3759,2095)
+(3757,2098)
+(3758,2094)
+(3758,2091)
+(3756,2090)
+(3754,2094)
+(3750,2099)
+(3745,2102)
+(3753,2095)
+(3753,2093)
+(3752,2094)
+(3754,2090)
+(3760,2084)
+(3759,2082)
+(3756,2086)
+(3756,2084)
+(3762,2080)
+(3765,2074)
+(3768,2074)
+(3771,2072)
+(3771,2071)
+(3771,2069)
+(3774,2067)
+(3775,2069)
+(3775,2073)
+(3773,2075)
+(3772,2078)
+138
+(3704,1856)
+(3702,1864)
+(3698,1864)
+(3697,1867)
+(3697,1870)
+(3698,1870)
+(3698,1873)
+(3700,1875)
+(3695,1878)
+(3698,1880)
+(3697,1882)
+(3691,1892)
+(3686,1895)
+(3684,1899)
+(3685,1899)
+(3687,1896)
+(3689,1896)
+(3683,1904)
+(3681,1912)
+(3679,1914)
+(3674,1934)
+(3668,1951)
+(3664,1955)
+(3659,1955)
+(3659,1958)
+(3658,1958)
+(3651,1968)
+(3643,1969)
+(3641,1975)
+(3639,1977)
+(3627,1967)
+(3630,1967)
+(3633,1959)
+(3633,1957)
+(3631,1955)
+(3624,1961)
+(3621,1958)
+(3621,1954)
+(3615,1957)
+(3611,1952)
+(3608,1937)
+(3611,1932)
+(3613,1930)
+(3613,1926)
+(3614,1926)
+(3615,1919)
+(3614,1914)
+(3615,1910)
+(3614,1907)
+(3615,1904)
+(3614,1903)
+(3610,1897)
+(3609,1894)
+(3608,1894)
+(3609,1896)
+(3608,1897)
+(3603,1892)
+(3599,1895)
+(3596,1893)
+(3594,1889)
+(3594,1885)
+(3594,1883)
+(3596,1882)
+(3596,1880)
+(3596,1875)
+(3595,1870)
+(3596,1863)
+(3601,1869)
+(3602,1870)
+(3604,1865)
+(3606,1867)
+(3608,1867)
+(3612,1858)
+(3627,1851)
+(3628,1849)
+(3626,1848)
+(3627,1846)
+(3631,1846)
+(3632,1843)
+(3635,1842)
+(3638,1831)
+(3641,1832)
+(3644,1830)
+(3644,1832)
+(3650,1831)
+(3652,1826)
+(3653,1828)
+(3657,1822)
+(3660,1817)
+(3662,1815)
+(3670,1793)
+(3673,1788)
+(3672,1795)
+(3670,1797)
+(3669,1800)
+(3671,1801)
+(3673,1799)
+(3673,1793)
+(3674,1795)
+(3675,1790)
+(3676,1792)
+(3678,1794)
+(3673,1804)
+(3675,1804)
+(3675,1806)
+(3676,1804)
+(3678,1806)
+(3678,1812)
+(3678,1816)
+(3679,1815)
+(3680,1811)
+(3680,1815)
+(3681,1814)
+(3681,1809)
+(3682,1809)
+(3683,1813)
+(3685,1812)
+(3687,1815)
+(3686,1819)
+(3687,1821)
+(3689,1814)
+(3691,1814)
+(3691,1819)
+(3689,1828)
+(3689,1829)
+(3692,1828)
+(3691,1831)
+(3692,1838)
+(3696,1833)
+(3696,1836)
+(3702,1842)
+(3703,1845)
+(3705,1845)
+(3707,1850)
+(3706,1851)
+(3705,1854)
+(3704,1852)
+(3704,1856)
+16
+(3619,2273)
+(3613,2281)
+(3611,2281)
+(3606,2279)
+(3605,2279)
+(3604,2282)
+(3603,2267)
+(3603,2256)
+(3605,2243)
+(3608,2235)
+(3611,2233)
+(3615,2237)
+(3618,2244)
+(3620,2253)
+(3620,2263)
+(3619,2273)
+63
+(3539,1664)
+(3537,1663)
+(3534,1663)
+(3531,1668)
+(3520,1666)
+(3514,1670)
+(3509,1671)
+(3506,1668)
+(3506,1666)
+(3508,1667)
+(3501,1658)
+(3498,1659)
+(3499,1652)
+(3494,1651)
+(3494,1655)
+(3491,1656)
+(3490,1655)
+(3490,1656)
+(3488,1657)
+(3489,1659)
+(3490,1665)
+(3491,1668)
+(3490,1671)
+(3490,1677)
+(3489,1678)
+(3487,1682)
+(3484,1683)
+(3480,1689)
+(3478,1688)
+(3475,1691)
+(3471,1688)
+(3472,1685)
+(3471,1677)
+(3474,1675)
+(3475,1671)
+(3476,1674)
+(3477,1674)
+(3479,1668)
+(3481,1667)
+(3482,1664)
+(3482,1659)
+(3481,1660)
+(3480,1659)
+(3478,1657)
+(3482,1655)
+(3485,1656)
+(3486,1653)
+(3492,1648)
+(3495,1648)
+(3497,1645)
+(3502,1645)
+(3504,1640)
+(3504,1636)
+(3505,1634)
+(3517,1632)
+(3523,1627)
+(3527,1617)
+(3530,1617)
+(3533,1619)
+(3537,1624)
+(3539,1636)
+(3541,1651)
+(3539,1664)
+212
+(3556,3375)
+(3559,3384)
+(3562,3389)
+(3563,3384)
+(3565,3383)
+(3562,3393)
+(3563,3400)
+(3565,3401)
+(3566,3401)
+(3569,3395)
+(3573,3400)
+(3576,3397)
+(3576,3400)
+(3579,3396)
+(3584,3393)
+(3586,3394)
+(3595,3382)
+(3594,3386)
+(3592,3388)
+(3589,3394)
+(3584,3400)
+(3578,3399)
+(3576,3404)
+(3573,3402)
+(3573,3404)
+(3568,3401)
+(3565,3404)
+(3561,3399)
+(3557,3403)
+(3558,3398)
+(3556,3390)
+(3557,3385)
+(3555,3383)
+(3555,3377)
+(3553,3373)
+(3550,3374)
+(3550,3379)
+(3548,3381)
+(3547,3376)
+(3547,3373)
+(3543,3372)
+(3544,3375)
+(3543,3377)
+(3542,3378)
+(3543,3383)
+(3541,3379)
+(3539,3380)
+(3537,3377)
+(3534,3378)
+(3535,3384)
+(3537,3387)
+(3536,3389)
+(3535,3400)
+(3534,3399)
+(3531,3400)
+(3530,3402)
+(3531,3399)
+(3534,3394)
+(3533,3385)
+(3530,3382)
+(3527,3380)
+(3526,3384)
+(3524,3385)
+(3526,3380)
+(3524,3378)
+(3522,3375)
+(3521,3378)
+(3520,3373)
+(3516,3366)
+(3511,3377)
+(3509,3380)
+(3510,3383)
+(3507,3383)
+(3505,3387)
+(3502,3387)
+(3501,3384)
+(3499,3384)
+(3500,3376)
+(3499,3375)
+(3495,3383)
+(3492,3383)
+(3490,3381)
+(3491,3385)
+(3490,3390)
+(3488,3394)
+(3488,3395)
+(3491,3393)
+(3490,3399)
+(3493,3397)
+(3495,3400)
+(3492,3403)
+(3493,3403)
+(3495,3404)
+(3497,3406)
+(3498,3409)
+(3499,3411)
+(3499,3413)
+(3496,3410)
+(3491,3411)
+(3490,3416)
+(3489,3420)
+(3492,3423)
+(3490,3426)
+(3490,3423)
+(3487,3421)
+(3489,3414)
+(3488,3409)
+(3490,3408)
+(3496,3407)
+(3494,3405)
+(3491,3405)
+(3492,3401)
+(3491,3400)
+(3489,3401)
+(3489,3397)
+(3487,3400)
+(3484,3402)
+(3484,3404)
+(3482,3408)
+(3480,3409)
+(3478,3407)
+(3478,3403)
+(3478,3400)
+(3477,3404)
+(3475,3402)
+(3476,3406)
+(3475,3407)
+(3474,3408)
+(3473,3405)
+(3471,3410)
+(3469,3406)
+(3468,3407)
+(3469,3411)
+(3465,3412)
+(3465,3410)
+(3461,3412)
+(3465,3407)
+(3466,3411)
+(3467,3411)
+(3466,3406)
+(3467,3404)
+(3470,3404)
+(3471,3407)
+(3471,3402)
+(3474,3404)
+(3473,3402)
+(3474,3400)
+(3476,3401)
+(3477,3398)
+(3479,3399)
+(3480,3406)
+(3481,3407)
+(3483,3402)
+(3486,3397)
+(3490,3386)
+(3489,3382)
+(3483,3378)
+(3490,3378)
+(3495,3381)
+(3497,3374)
+(3499,3372)
+(3501,3374)
+(3502,3383)
+(3503,3385)
+(3505,3383)
+(3510,3375)
+(3508,3371)
+(3512,3373)
+(3512,3368)
+(3508,3364)
+(3511,3363)
+(3510,3358)
+(3512,3360)
+(3514,3359)
+(3518,3362)
+(3519,3361)
+(3516,3356)
+(3518,3354)
+(3516,3345)
+(3516,3340)
+(3514,3338)
+(3515,3334)
+(3513,3329)
+(3514,3322)
+(3514,3329)
+(3516,3333)
+(3516,3338)
+(3520,3355)
+(3526,3369)
+(3527,3360)
+(3528,3359)
+(3528,3360)
+(3528,3364)
+(3526,3370)
+(3527,3373)
+(3529,3372)
+(3534,3365)
+(3536,3367)
+(3536,3360)
+(3538,3350)
+(3538,3337)
+(3539,3335)
+(3540,3350)
+(3539,3357)
+(3538,3362)
+(3537,3365)
+(3537,3372)
+(3539,3373)
+(3545,3367)
+(3548,3371)
+(3554,3372)
+(3556,3375)
+168
+(3536,2287)
+(3533,2292)
+(3513,2323)
+(3509,2335)
+(3510,2344)
+(3508,2338)
+(3506,2337)
+(3504,2338)
+(3500,2345)
+(3501,2340)
+(3501,2335)
+(3500,2331)
+(3496,2328)
+(3491,2328)
+(3486,2331)
+(3487,2327)
+(3491,2325)
+(3495,2315)
+(3494,2314)
+(3486,2322)
+(3487,2318)
+(3485,2315)
+(3486,2313)
+(3488,2309)
+(3489,2304)
+(3486,2300)
+(3485,2299)
+(3482,2305)
+(3481,2306)
+(3482,2301)
+(3482,2295)
+(3486,2294)
+(3493,2296)
+(3495,2294)
+(3495,2288)
+(3495,2285)
+(3496,2286)
+(3499,2275)
+(3498,2274)
+(3496,2275)
+(3496,2274)
+(3500,2271)
+(3504,2265)
+(3504,2263)
+(3506,2261)
+(3506,2258)
+(3507,2259)
+(3509,2255)
+(3511,2253)
+(3511,2250)
+(3515,2249)
+(3515,2246)
+(3518,2243)
+(3519,2239)
+(3522,2235)
+(3521,2229)
+(3521,2225)
+(3523,2230)
+(3523,2233)
+(3526,2229)
+(3529,2228)
+(3529,2230)
+(3533,2227)
+(3530,2232)
+(3526,2236)
+(3526,2240)
+(3523,2241)
+(3524,2249)
+(3520,2242)
+(3517,2248)
+(3517,2251)
+(3518,2251)
+(3517,2254)
+(3515,2253)
+(3513,2254)
+(3512,2258)
+(3513,2260)
+(3515,2262)
+(3516,2261)
+(3515,2258)
+(3517,2258)
+(3518,2256)
+(3519,2257)
+(3519,2260)
+(3516,2264)
+(3518,2264)
+(3518,2266)
+(3513,2276)
+(3511,2285)
+(3512,2286)
+(3515,2285)
+(3516,2283)
+(3516,2288)
+(3517,2288)
+(3520,2281)
+(3520,2277)
+(3521,2281)
+(3522,2280)
+(3523,2275)
+(3523,2277)
+(3525,2276)
+(3523,2281)
+(3523,2283)
+(3526,2283)
+(3528,2279)
+(3533,2280)
+(3532,2278)
+(3530,2276)
+(3531,2274)
+(3533,2274)
+(3533,2271)
+(3535,2271)
+(3537,2264)
+(3535,2261)
+(3535,2252)
+(3530,2252)
+(3529,2250)
+(3532,2246)
+(3534,2249)
+(3537,2249)
+(3537,2253)
+(3539,2255)
+(3538,2258)
+(3541,2264)
+(3542,2261)
+(3543,2262)
+(3545,2260)
+(3546,2262)
+(3547,2262)
+(3551,2252)
+(3548,2264)
+(3549,2267)
+(3548,2270)
+(3548,2273)
+(3549,2276)
+(3552,2279)
+(3552,2283)
+(3551,2280)
+(3548,2277)
+(3545,2289)
+(3546,2291)
+(3549,2291)
+(3551,2290)
+(3552,2286)
+(3553,2287)
+(3553,2292)
+(3551,2291)
+(3549,2296)
+(3548,2300)
+(3548,2302)
+(3552,2305)
+(3551,2307)
+(3545,2302)
+(3545,2298)
+(3544,2299)
+(3544,2295)
+(3544,2292)
+(3543,2292)
+(3543,2288)
+(3545,2286)
+(3547,2276)
+(3546,2272)
+(3545,2266)
+(3542,2275)
+(3543,2277)
+(3539,2281)
+(3540,2284)
+(3536,2287)
+12
+(3503,1567)
+(3500,1569)
+(3493,1568)
+(3490,1565)
+(3486,1565)
+(3491,1563)
+(3492,1560)
+(3495,1559)
+(3499,1555)
+(3505,1559)
+(3504,1565)
+(3503,1567)
+111
+(3451,2570)
+(3449,2569)
+(3449,2566)
+(3447,2567)
+(3447,2561)
+(3445,2555)
+(3445,2563)
+(3445,2567)
+(3444,2569)
+(3436,2561)
+(3438,2565)
+(3440,2567)
+(3441,2569)
+(3441,2571)
+(3442,2572)
+(3441,2576)
+(3442,2579)
+(3441,2586)
+(3438,2586)
+(3433,2576)
+(3430,2574)
+(3431,2578)
+(3430,2579)
+(3428,2583)
+(3425,2581)
+(3424,2584)
+(3422,2584)
+(3419,2591)
+(3417,2592)
+(3416,2590)
+(3416,2587)
+(3418,2582)
+(3416,2581)
+(3416,2583)
+(3414,2583)
+(3414,2587)
+(3413,2589)
+(3414,2591)
+(3414,2592)
+(3409,2594)
+(3407,2596)
+(3405,2593)
+(3405,2595)
+(3403,2594)
+(3404,2588)
+(3404,2584)
+(3403,2585)
+(3404,2588)
+(3403,2592)
+(3401,2595)
+(3400,2587)
+(3396,2583)
+(3400,2590)
+(3399,2599)
+(3400,2606)
+(3404,2602)
+(3407,2602)
+(3408,2604)
+(3409,2602)
+(3412,2603)
+(3412,2601)
+(3415,2598)
+(3416,2598)
+(3416,2602)
+(3417,2604)
+(3417,2602)
+(3419,2602)
+(3418,2599)
+(3420,2594)
+(3422,2593)
+(3423,2594)
+(3423,2591)
+(3428,2595)
+(3427,2593)
+(3423,2590)
+(3428,2588)
+(3438,2593)
+(3441,2596)
+(3442,2596)
+(3444,2599)
+(3444,2602)
+(3446,2600)
+(3448,2602)
+(3449,2601)
+(3454,2611)
+(3456,2611)
+(3456,2616)
+(3457,2614)
+(3460,2618)
+(3463,2622)
+(3462,2618)
+(3458,2613)
+(3457,2609)
+(3454,2605)
+(3451,2599)
+(3446,2597)
+(3445,2595)
+(3445,2592)
+(3447,2591)
+(3458,2592)
+(3455,2590)
+(3449,2591)
+(3446,2589)
+(3445,2588)
+(3444,2582)
+(3443,2581)
+(3443,2573)
+(3445,2569)
+(3448,2570)
+(3449,2572)
+(3451,2570)
+73
+(3407,3245)
+(3406,3245)
+(3408,3251)
+(3417,3254)
+(3417,3262)
+(3422,3274)
+(3420,3280)
+(3422,3287)
+(3421,3291)
+(3423,3292)
+(3424,3297)
+(3425,3301)
+(3428,3303)
+(3431,3303)
+(3436,3306)
+(3437,3304)
+(3439,3307)
+(3436,3316)
+(3439,3326)
+(3438,3328)
+(3433,3333)
+(3434,3335)
+(3438,3333)
+(3441,3335)
+(3447,3331)
+(3450,3334)
+(3453,3334)
+(3456,3331)
+(3456,3324)
+(3458,3324)
+(3461,3327)
+(3463,3327)
+(3469,3314)
+(3472,3315)
+(3471,3311)
+(3470,3310)
+(3467,3315)
+(3465,3317)
+(3464,3322)
+(3463,3323)
+(3462,3322)
+(3462,3318)
+(3459,3321)
+(3456,3320)
+(3455,3325)
+(3454,3331)
+(3450,3331)
+(3446,3324)
+(3445,3329)
+(3442,3331)
+(3440,3327)
+(3439,3320)
+(3442,3308)
+(3444,3305)
+(3441,3301)
+(3441,3297)
+(3440,3300)
+(3438,3300)
+(3433,3297)
+(3429,3298)
+(3427,3297)
+(3426,3294)
+(3427,3288)
+(3425,3287)
+(3424,3284)
+(3425,3280)
+(3426,3272)
+(3427,3268)
+(3425,3268)
+(3421,3262)
+(3420,3252)
+(3417,3246)
+(3407,3245)
+191
+(3343,6569)
+(3345,6571)
+(3346,6576)
+(3344,6589)
+(3345,6587)
+(3347,6577)
+(3347,6578)
+(3347,6582)
+(3346,6585)
+(3347,6588)
+(3345,6592)
+(3343,6592)
+(3340,6598)
+(3333,6590)
+(3332,6593)
+(3330,6591)
+(3328,6591)
+(3328,6594)
+(3327,6591)
+(3321,6589)
+(3318,6586)
+(3314,6588)
+(3309,6584)
+(3308,6585)
+(3306,6585)
+(3302,6587)
+(3299,6583)
+(3295,6583)
+(3292,6580)
+(3290,6581)
+(3288,6578)
+(3281,6578)
+(3279,6573)
+(3277,6571)
+(3266,6571)
+(3263,6569)
+(3260,6571)
+(3258,6568)
+(3249,6574)
+(3247,6571)
+(3241,6568)
+(3233,6556)
+(3229,6553)
+(3228,6551)
+(3227,6551)
+(3225,6553)
+(3221,6551)
+(3220,6553)
+(3217,6550)
+(3217,6542)
+(3218,6539)
+(3220,6542)
+(3224,6545)
+(3226,6541)
+(3229,6544)
+(3232,6542)
+(3231,6534)
+(3227,6528)
+(3217,6520)
+(3211,6512)
+(3211,6514)
+(3213,6520)
+(3216,6532)
+(3215,6534)
+(3210,6539)
+(3204,6540)
+(3201,6538)
+(3199,6531)
+(3197,6529)
+(3196,6525)
+(3198,6521)
+(3197,6517)
+(3192,6507)
+(3190,6506)
+(3186,6498)
+(3184,6498)
+(3183,6500)
+(3181,6500)
+(3175,6491)
+(3170,6480)
+(3167,6478)
+(3163,6468)
+(3162,6452)
+(3160,6445)
+(3157,6440)
+(3154,6428)
+(3147,6414)
+(3143,6412)
+(3139,6409)
+(3139,6407)
+(3140,6404)
+(3142,6399)
+(3143,6393)
+(3142,6388)
+(3140,6384)
+(3140,6380)
+(3135,6374)
+(3128,6377)
+(3125,6375)
+(3126,6374)
+(3123,6373)
+(3120,6370)
+(3117,6372)
+(3114,6366)
+(3112,6364)
+(3109,6360)
+(3104,6355)
+(3104,6351)
+(3102,6348)
+(3099,6332)
+(3096,6323)
+(3094,6308)
+(3092,6296)
+(3090,6293)
+(3088,6286)
+(3089,6278)
+(3088,6271)
+(3090,6265)
+(3090,6256)
+(3096,6236)
+(3097,6231)
+(3101,6223)
+(3102,6223)
+(3103,6224)
+(3105,6245)
+(3108,6264)
+(3107,6278)
+(3112,6285)
+(3112,6299)
+(3114,6305)
+(3115,6314)
+(3119,6318)
+(3122,6327)
+(3127,6335)
+(3131,6340)
+(3134,6342)
+(3148,6357)
+(3154,6370)
+(3158,6386)
+(3164,6395)
+(3166,6394)
+(3166,6397)
+(3169,6399)
+(3172,6406)
+(3176,6408)
+(3179,6415)
+(3182,6411)
+(3181,6407)
+(3181,6404)
+(3185,6410)
+(3186,6413)
+(3188,6414)
+(3190,6419)
+(3193,6421)
+(3197,6429)
+(3206,6452)
+(3208,6454)
+(3210,6453)
+(3218,6459)
+(3229,6481)
+(3230,6484)
+(3235,6492)
+(3240,6494)
+(3243,6497)
+(3249,6498)
+(3251,6503)
+(3257,6508)
+(3258,6510)
+(3269,6515)
+(3276,6524)
+(3283,6529)
+(3287,6531)
+(3289,6531)
+(3291,6535)
+(3295,6537)
+(3297,6534)
+(3302,6542)
+(3303,6546)
+(3306,6547)
+(3311,6551)
+(3319,6552)
+(3323,6553)
+(3326,6551)
+(3327,6552)
+(3328,6550)
+(3333,6552)
+(3335,6554)
+(3337,6561)
+(3339,6562)
+(3341,6566)
+(3343,6569)
+324
+(3372,6134)
+(3373,6136)
+(3374,6138)
+(3375,6137)
+(3375,6134)
+(3377,6135)
+(3374,6143)
+(3375,6150)
+(3376,6147)
+(3377,6150)
+(3379,6149)
+(3381,6147)
+(3382,6150)
+(3379,6152)
+(3379,6155)
+(3381,6155)
+(3380,6157)
+(3379,6157)
+(3378,6155)
+(3374,6155)
+(3373,6166)
+(3374,6167)
+(3377,6168)
+(3378,6169)
+(3374,6169)
+(3372,6170)
+(3371,6172)
+(3372,6173)
+(3372,6174)
+(3371,6174)
+(3370,6176)
+(3371,6179)
+(3374,6180)
+(3374,6183)
+(3372,6183)
+(3368,6178)
+(3363,6183)
+(3362,6181)
+(3355,6181)
+(3350,6184)
+(3346,6193)
+(3345,6193)
+(3342,6196)
+(3341,6194)
+(3338,6195)
+(3337,6193)
+(3334,6192)
+(3332,6192)
+(3331,6194)
+(3330,6192)
+(3318,6201)
+(3307,6201)
+(3305,6200)
+(3300,6196)
+(3295,6187)
+(3286,6185)
+(3284,6186)
+(3282,6193)
+(3278,6195)
+(3278,6198)
+(3277,6196)
+(3266,6196)
+(3266,6200)
+(3265,6198)
+(3263,6200)
+(3258,6200)
+(3252,6204)
+(3248,6211)
+(3250,6204)
+(3255,6200)
+(3262,6199)
+(3263,6196)
+(3262,6192)
+(3255,6183)
+(3249,6180)
+(3244,6183)
+(3242,6187)
+(3238,6191)
+(3234,6197)
+(3233,6196)
+(3231,6200)
+(3231,6197)
+(3229,6197)
+(3218,6207)
+(3217,6212)
+(3218,6214)
+(3219,6214)
+(3218,6215)
+(3216,6216)
+(3215,6220)
+(3215,6222)
+(3218,6224)
+(3218,6227)
+(3212,6222)
+(3208,6226)
+(3208,6224)
+(3210,6221)
+(3213,6219)
+(3215,6211)
+(3215,6206)
+(3213,6205)
+(3211,6205)
+(3212,6203)
+(3201,6206)
+(3196,6206)
+(3190,6202)
+(3186,6203)
+(3186,6202)
+(3190,6200)
+(3197,6203)
+(3204,6203)
+(3212,6200)
+(3219,6201)
+(3222,6200)
+(3223,6198)
+(3224,6186)
+(3227,6175)
+(3227,6169)
+(3229,6175)
+(3225,6190)
+(3225,6195)
+(3226,6195)
+(3232,6193)
+(3238,6189)
+(3240,6184)
+(3241,6184)
+(3244,6179)
+(3249,6178)
+(3255,6181)
+(3262,6189)
+(3265,6187)
+(3266,6183)
+(3266,6188)
+(3263,6192)
+(3266,6195)
+(3279,6193)
+(3281,6191)
+(3284,6184)
+(3288,6183)
+(3295,6185)
+(3302,6195)
+(3308,6199)
+(3318,6199)
+(3323,6196)
+(3329,6189)
+(3337,6191)
+(3343,6191)
+(3348,6185)
+(3350,6179)
+(3357,6177)
+(3359,6178)
+(3362,6177)
+(3366,6173)
+(3368,6170)
+(3365,6167)
+(3366,6166)
+(3368,6167)
+(3369,6166)
+(3369,6159)
+(3369,6157)
+(3369,6155)
+(3370,6152)
+(3369,6151)
+(3369,6147)
+(3366,6151)
+(3366,6149)
+(3368,6146)
+(3367,6144)
+(3366,6143)
+(3363,6152)
+(3361,6153)
+(3364,6145)
+(3364,6141)
+(3368,6140)
+(3366,6131)
+(3364,6133)
+(3364,6127)
+(3362,6130)
+(3364,6124)
+(3363,6120)
+(3362,6121)
+(3361,6117)
+(3360,6117)
+(3360,6120)
+(3359,6120)
+(3359,6121)
+(3358,6119)
+(3356,6121)
+(3354,6118)
+(3352,6118)
+(3349,6111)
+(3345,6111)
+(3344,6115)
+(3343,6117)
+(3343,6123)
+(3344,6125)
+(3341,6130)
+(3340,6130)
+(3341,6119)
+(3341,6117)
+(3336,6128)
+(3337,6132)
+(3335,6142)
+(3333,6144)
+(3329,6143)
+(3325,6137)
+(3320,6140)
+(3317,6137)
+(3319,6142)
+(3318,6145)
+(3317,6146)
+(3315,6145)
+(3315,6137)
+(3311,6141)
+(3309,6140)
+(3307,6134)
+(3306,6135)
+(3304,6134)
+(3303,6128)
+(3302,6125)
+(3302,6124)
+(3304,6126)
+(3305,6132)
+(3307,6130)
+(3308,6131)
+(3310,6138)
+(3313,6136)
+(3315,6136)
+(3317,6145)
+(3318,6143)
+(3316,6138)
+(3317,6135)
+(3320,6139)
+(3326,6135)
+(3327,6137)
+(3329,6141)
+(3332,6140)
+(3332,6131)
+(3331,6131)
+(3330,6133)
+(3329,6133)
+(3330,6130)
+(3328,6119)
+(3326,6111)
+(3324,6111)
+(3325,6109)
+(3324,6104)
+(3325,6109)
+(3327,6104)
+(3328,6104)
+(3329,6100)
+(3329,6104)
+(3328,6112)
+(3329,6117)
+(3330,6122)
+(3331,6127)
+(3332,6128)
+(3335,6111)
+(3336,6112)
+(3338,6108)
+(3341,6108)
+(3341,6106)
+(3343,6109)
+(3347,6109)
+(3348,6104)
+(3350,6104)
+(3350,6102)
+(3350,6097)
+(3351,6097)
+(3352,6090)
+(3353,6089)
+(3354,6093)
+(3355,6090)
+(3357,6088)
+(3357,6084)
+(3354,6085)
+(3353,6081)
+(3355,6082)
+(3356,6081)
+(3360,6071)
+(3360,6076)
+(3358,6083)
+(3359,6088)
+(3354,6099)
+(3359,6095)
+(3359,6097)
+(3359,6100)
+(3356,6101)
+(3355,6102)
+(3358,6105)
+(3359,6103)
+(3360,6105)
+(3363,6101)
+(3362,6109)
+(3364,6105)
+(3365,6106)
+(3366,6096)
+(3367,6100)
+(3369,6100)
+(3370,6104)
+(3373,6101)
+(3376,6101)
+(3377,6104)
+(3377,6108)
+(3376,6110)
+(3373,6109)
+(3372,6111)
+(3373,6116)
+(3376,6118)
+(3375,6122)
+(3374,6122)
+(3374,6119)
+(3372,6118)
+(3372,6114)
+(3370,6117)
+(3370,6111)
+(3369,6113)
+(3368,6107)
+(3367,6107)
+(3365,6112)
+(3367,6114)
+(3370,6127)
+(3371,6127)
+(3372,6134)
+107
+(3284,5455)
+(3293,5455)
+(3302,5463)
+(3305,5469)
+(3305,5482)
+(3309,5492)
+(3310,5510)
+(3312,5516)
+(3312,5522)
+(3315,5525)
+(3317,5523)
+(3317,5529)
+(3320,5533)
+(3321,5535)
+(3328,5540)
+(3330,5544)
+(3327,5545)
+(3323,5542)
+(3320,5547)
+(3322,5550)
+(3319,5550)
+(3318,5552)
+(3318,5557)
+(3316,5557)
+(3316,5554)
+(3315,5553)
+(3316,5552)
+(3318,5550)
+(3318,5546)
+(3321,5541)
+(3320,5539)
+(3316,5536)
+(3314,5532)
+(3312,5532)
+(3312,5528)
+(3310,5521)
+(3309,5514)
+(3308,5512)
+(3307,5513)
+(3306,5513)
+(3307,5510)
+(3306,5503)
+(3303,5498)
+(3305,5499)
+(3303,5482)
+(3301,5479)
+(3302,5479)
+(3303,5477)
+(3302,5469)
+(3298,5462)
+(3295,5460)
+(3289,5458)
+(3282,5459)
+(3279,5458)
+(3272,5476)
+(3268,5479)
+(3264,5479)
+(3262,5482)
+(3263,5486)
+(3263,5492)
+(3262,5493)
+(3262,5495)
+(3263,5500)
+(3262,5504)
+(3260,5493)
+(3260,5491)
+(3263,5487)
+(3261,5483)
+(3256,5490)
+(3250,5493)
+(3242,5495)
+(3238,5493)
+(3238,5496)
+(3239,5499)
+(3240,5505)
+(3239,5508)
+(3237,5510)
+(3236,5507)
+(3237,5499)
+(3235,5491)
+(3232,5487)
+(3226,5491)
+(3224,5491)
+(3227,5484)
+(3230,5485)
+(3232,5483)
+(3234,5485)
+(3237,5485)
+(3240,5491)
+(3245,5492)
+(3245,5490)
+(3246,5489)
+(3246,5486)
+(3248,5487)
+(3251,5483)
+(3255,5481)
+(3256,5479)
+(3258,5477)
+(3259,5473)
+(3262,5475)
+(3265,5473)
+(3270,5474)
+(3274,5466)
+(3277,5457)
+(3280,5452)
+(3283,5452)
+(3284,5455)
+297
+(3281,2938)
+(3279,2938)
+(3279,2939)
+(3278,2949)
+(3276,2944)
+(3277,2937)
+(3279,2935)
+(3278,2934)
+(3273,2933)
+(3273,2935)
+(3271,2935)
+(3270,2930)
+(3268,2932)
+(3264,2933)
+(3267,2931)
+(3266,2928)
+(3268,2927)
+(3267,2925)
+(3266,2916)
+(3264,2913)
+(3263,2912)
+(3262,2908)
+(3254,2911)
+(3250,2915)
+(3249,2922)
+(3249,2928)
+(3248,2926)
+(3245,2931)
+(3245,2927)
+(3244,2926)
+(3243,2930)
+(3239,2934)
+(3236,2940)
+(3237,2942)
+(3242,2950)
+(3243,2953)
+(3245,2957)
+(3246,2959)
+(3246,2963)
+(3249,2965)
+(3248,2968)
+(3249,2970)
+(3252,2975)
+(3252,2980)
+(3254,2984)
+(3254,2985)
+(3252,2983)
+(3251,2983)
+(3249,2989)
+(3248,2986)
+(3249,2983)
+(3251,2978)
+(3250,2975)
+(3249,2974)
+(3248,2973)
+(3247,2970)
+(3245,2967)
+(3245,2973)
+(3241,2962)
+(3239,2965)
+(3239,2959)
+(3237,2957)
+(3238,2956)
+(3237,2953)
+(3234,2952)
+(3227,2956)
+(3226,2957)
+(3227,2958)
+(3228,2960)
+(3227,2960)
+(3226,2961)
+(3224,2964)
+(3222,2964)
+(3220,2962)
+(3221,2961)
+(3222,2961)
+(3225,2959)
+(3223,2956)
+(3225,2956)
+(3230,2949)
+(3228,2945)
+(3222,2945)
+(3217,2942)
+(3214,2943)
+(3211,2946)
+(3210,2952)
+(3208,2973)
+(3208,2992)
+(3206,2997)
+(3207,2990)
+(3206,2987)
+(3207,2970)
+(3206,2965)
+(3204,2956)
+(3201,2954)
+(3198,2956)
+(3196,2952)
+(3197,2946)
+(3196,2941)
+(3196,2929)
+(3202,2919)
+(3202,2922)
+(3196,2933)
+(3197,2942)
+(3198,2944)
+(3199,2952)
+(3200,2953)
+(3201,2951)
+(3202,2953)
+(3204,2954)
+(3205,2951)
+(3204,2947)
+(3203,2944)
+(3205,2943)
+(3207,2936)
+(3207,2941)
+(3208,2943)
+(3210,2942)
+(3215,2933)
+(3218,2931)
+(3225,2931)
+(3227,2934)
+(3229,2933)
+(3230,2934)
+(3229,2936)
+(3230,2936)
+(3237,2932)
+(3241,2923)
+(3246,2917)
+(3246,2914)
+(3245,2912)
+(3246,2911)
+(3246,2907)
+(3248,2907)
+(3250,2902)
+(3252,2902)
+(3262,2906)
+(3264,2903)
+(3276,2905)
+(3279,2913)
+(3279,2929)
+(3281,2930)
+(3283,2927)
+(3288,2929)
+(3292,2934)
+(3295,2931)
+(3300,2931)
+(3309,2954)
+(3309,2957)
+(3311,2958)
+(3315,2952)
+(3318,2951)
+(3325,2941)
+(3327,2942)
+(3326,2944)
+(3327,2944)
+(3329,2943)
+(3329,2944)
+(3327,2946)
+(3323,2950)
+(3323,2953)
+(3320,2951)
+(3315,2957)
+(3317,2957)
+(3316,2960)
+(3317,2965)
+(3319,2965)
+(3322,2958)
+(3324,2962)
+(3325,2959)
+(3327,2960)
+(3329,2958)
+(3331,2960)
+(3334,2964)
+(3330,2960)
+(3322,2966)
+(3323,2974)
+(3322,2977)
+(3325,2982)
+(3321,2992)
+(3322,2999)
+(3327,3001)
+(3327,3004)
+(3328,3007)
+(3327,3006)
+(3327,3013)
+(3325,3017)
+(3325,3020)
+(3324,3021)
+(3327,3028)
+(3329,3030)
+(3328,3030)
+(3327,3037)
+(3325,3038)
+(3331,3050)
+(3329,3058)
+(3328,3060)
+(3329,3067)
+(3331,3072)
+(3329,3082)
+(3329,3083)
+(3329,3079)
+(3328,3085)
+(3330,3089)
+(3332,3089)
+(3341,3083)
+(3343,3085)
+(3347,3083)
+(3348,3085)
+(3347,3088)
+(3352,3088)
+(3348,3090)
+(3346,3086)
+(3345,3086)
+(3344,3089)
+(3341,3086)
+(3336,3090)
+(3336,3093)
+(3338,3100)
+(3341,3103)
+(3343,3107)
+(3341,3112)
+(3343,3117)
+(3343,3120)
+(3340,3112)
+(3340,3110)
+(3342,3108)
+(3341,3105)
+(3333,3102)
+(3335,3097)
+(3334,3092)
+(3333,3092)
+(3331,3093)
+(3327,3086)
+(3330,3071)
+(3328,3074)
+(3328,3067)
+(3327,3072)
+(3325,3074)
+(3323,3074)
+(3320,3071)
+(3321,3068)
+(3323,3072)
+(3324,3073)
+(3327,3069)
+(3326,3066)
+(3327,3059)
+(3329,3050)
+(3328,3048)
+(3325,3042)
+(3326,3046)
+(3326,3047)
+(3324,3046)
+(3323,3043)
+(3324,3041)
+(3322,3038)
+(3322,3029)
+(3322,3023)
+(3320,3022)
+(3320,3019)
+(3322,3016)
+(3322,3013)
+(3319,3007)
+(3318,2996)
+(3319,2995)
+(3319,2994)
+(3315,2991)
+(3313,2985)
+(3310,2981)
+(3311,2977)
+(3310,2978)
+(3308,2975)
+(3306,2976)
+(3307,2972)
+(3309,2972)
+(3307,2967)
+(3303,2964)
+(3305,2968)
+(3304,2968)
+(3299,2963)
+(3301,2962)
+(3302,2951)
+(3301,2950)
+(3300,2953)
+(3299,2953)
+(3299,2937)
+(3296,2935)
+(3287,2937)
+(3288,2939)
+(3289,2942)
+(3288,2947)
+(3286,2950)
+(3287,2943)
+(3286,2942)
+(3285,2942)
+(3281,2935)
+(3281,2938)
+54
+(3235,4874)
+(3238,4874)
+(3242,4877)
+(3245,4883)
+(3246,4889)
+(3249,4896)
+(3251,4899)
+(3258,4904)
+(3261,4916)
+(3262,4916)
+(3262,4921)
+(3264,4927)
+(3271,4939)
+(3278,4945)
+(3281,4958)
+(3287,4966)
+(3291,4980)
+(3290,4985)
+(3287,4986)
+(3286,4991)
+(3287,4992)
+(3284,4996)
+(3282,4997)
+(3282,4995)
+(3284,4993)
+(3287,4984)
+(3287,4983)
+(3282,4981)
+(3281,4977)
+(3279,4973)
+(3280,4971)
+(3279,4966)
+(3273,4956)
+(3272,4948)
+(3270,4945)
+(3267,4939)
+(3266,4934)
+(3261,4925)
+(3257,4905)
+(3254,4903)
+(3250,4901)
+(3247,4897)
+(3243,4886)
+(3240,4881)
+(3242,4881)
+(3237,4879)
+(3233,4880)
+(3235,4878)
+(3240,4878)
+(3238,4876)
+(3236,4877)
+(3233,4875)
+(3233,4874)
+(3235,4874)
+27
+(3134,6262)
+(3132,6266)
+(3132,6268)
+(3130,6268)
+(3131,6271)
+(3129,6269)
+(3127,6274)
+(3120,6280)
+(3115,6288)
+(3116,6283)
+(3119,6280)
+(3120,6277)
+(3126,6271)
+(3126,6270)
+(3123,6268)
+(3123,6266)
+(3125,6268)
+(3128,6266)
+(3129,6267)
+(3130,6265)
+(3129,6263)
+(3131,6264)
+(3132,6263)
+(3132,6261)
+(3134,6260)
+(3135,6260)
+(3134,6262)
+34
+(3124,2866)
+(3129,2869)
+(3131,2876)
+(3137,2881)
+(3139,2885)
+(3151,2891)
+(3155,2892)
+(3160,2896)
+(3163,2902)
+(3166,2905)
+(3172,2915)
+(3168,2912)
+(3165,2906)
+(3163,2905)
+(3161,2902)
+(3162,2910)
+(3156,2896)
+(3148,2893)
+(3142,2888)
+(3139,2889)
+(3137,2886)
+(3135,2887)
+(3133,2894)
+(3134,2897)
+(3133,2899)
+(3132,2894)
+(3133,2891)
+(3133,2885)
+(3131,2881)
+(3128,2879)
+(3126,2877)
+(3125,2869)
+(3123,2864)
+(3124,2866)
+153
+(2970,2613)
+(2969,2616)
+(2963,2622)
+(2960,2623)
+(2957,2621)
+(2956,2623)
+(2954,2622)
+(2951,2625)
+(2951,2627)
+(2954,2632)
+(2954,2635)
+(2952,2639)
+(2950,2642)
+(2948,2639)
+(2946,2638)
+(2945,2637)
+(2942,2638)
+(2936,2634)
+(2935,2629)
+(2935,2619)
+(2930,2617)
+(2928,2615)
+(2927,2611)
+(2925,2608)
+(2922,2609)
+(2919,2614)
+(2919,2622)
+(2920,2624)
+(2920,2627)
+(2917,2621)
+(2915,2612)
+(2911,2610)
+(2911,2617)
+(2910,2616)
+(2909,2607)
+(2906,2602)
+(2904,2602)
+(2900,2598)
+(2897,2601)
+(2899,2596)
+(2897,2591)
+(2896,2589)
+(2893,2588)
+(2891,2589)
+(2889,2587)
+(2885,2585)
+(2884,2587)
+(2883,2588)
+(2880,2595)
+(2880,2586)
+(2877,2583)
+(2875,2583)
+(2869,2586)
+(2867,2585)
+(2861,2585)
+(2861,2584)
+(2861,2582)
+(2866,2582)
+(2868,2583)
+(2871,2580)
+(2868,2577)
+(2866,2574)
+(2866,2567)
+(2865,2560)
+(2861,2557)
+(2858,2551)
+(2856,2552)
+(2858,2547)
+(2857,2544)
+(2856,2543)
+(2855,2544)
+(2854,2542)
+(2855,2541)
+(2855,2535)
+(2854,2533)
+(2853,2534)
+(2852,2530)
+(2855,2529)
+(2856,2527)
+(2860,2527)
+(2861,2528)
+(2863,2534)
+(2864,2535)
+(2867,2530)
+(2868,2532)
+(2867,2534)
+(2868,2537)
+(2870,2536)
+(2871,2532)
+(2870,2539)
+(2871,2541)
+(2875,2542)
+(2877,2537)
+(2879,2535)
+(2880,2533)
+(2877,2540)
+(2878,2543)
+(2880,2544)
+(2880,2545)
+(2876,2546)
+(2875,2548)
+(2870,2547)
+(2868,2554)
+(2873,2568)
+(2878,2572)
+(2876,2568)
+(2877,2568)
+(2880,2571)
+(2883,2570)
+(2889,2572)
+(2890,2571)
+(2890,2566)
+(2891,2575)
+(2893,2574)
+(2893,2582)
+(2896,2584)
+(2903,2586)
+(2908,2583)
+(2913,2575)
+(2913,2579)
+(2911,2581)
+(2910,2583)
+(2912,2588)
+(2909,2586)
+(2907,2589)
+(2908,2590)
+(2907,2592)
+(2908,2596)
+(2908,2600)
+(2912,2606)
+(2914,2606)
+(2917,2610)
+(2919,2611)
+(2922,2607)
+(2927,2607)
+(2930,2613)
+(2931,2615)
+(2936,2619)
+(2936,2629)
+(2937,2632)
+(2939,2634)
+(2945,2635)
+(2951,2639)
+(2952,2634)
+(2950,2627)
+(2951,2624)
+(2952,2621)
+(2954,2621)
+(2955,2622)
+(2956,2619)
+(2960,2621)
+(2962,2621)
+(2970,2613)
+164
+(2911,2674)
+(2915,2669)
+(2918,2669)
+(2922,2674)
+(2924,2678)
+(2935,2686)
+(2939,2691)
+(2942,2693)
+(2950,2701)
+(2955,2699)
+(2965,2703)
+(2968,2708)
+(2972,2708)
+(2976,2711)
+(2978,2717)
+(2983,2719)
+(2987,2723)
+(2991,2721)
+(2996,2722)
+(3005,2728)
+(3008,2736)
+(3012,2740)
+(3012,2743)
+(3010,2746)
+(3012,2750)
+(3014,2751)
+(3016,2756)
+(3015,2763)
+(3016,2767)
+(3017,2769)
+(3016,2771)
+(3015,2770)
+(3015,2773)
+(3014,2772)
+(3012,2772)
+(3013,2774)
+(3015,2775)
+(3013,2779)
+(3011,2779)
+(3010,2780)
+(3012,2782)
+(3013,2784)
+(3014,2780)
+(3017,2783)
+(3018,2786)
+(3020,2785)
+(3021,2787)
+(3022,2786)
+(3021,2784)
+(3021,2782)
+(3019,2782)
+(3018,2780)
+(3016,2777)
+(3017,2775)
+(3019,2775)
+(3019,2768)
+(3019,2765)
+(3020,2762)
+(3018,2762)
+(3017,2751)
+(3021,2756)
+(3025,2755)
+(3030,2752)
+(3033,2747)
+(3039,2743)
+(3043,2746)
+(3044,2744)
+(3046,2750)
+(3045,2753)
+(3047,2754)
+(3046,2760)
+(3052,2764)
+(3055,2764)
+(3058,2761)
+(3062,2763)
+(3069,2751)
+(3074,2752)
+(3079,2757)
+(3081,2760)
+(3084,2760)
+(3086,2762)
+(3086,2759)
+(3088,2759)
+(3089,2762)
+(3091,2769)
+(3095,2773)
+(3098,2780)
+(3100,2780)
+(3098,2775)
+(3103,2779)
+(3103,2783)
+(3106,2789)
+(3103,2793)
+(3103,2796)
+(3103,2805)
+(3105,2808)
+(3105,2812)
+(3109,2819)
+(3113,2822)
+(3110,2816)
+(3108,2810)
+(3104,2804)
+(3106,2800)
+(3107,2791)
+(3108,2792)
+(3108,2796)
+(3110,2793)
+(3114,2794)
+(3108,2789)
+(3107,2780)
+(3105,2777)
+(3106,2775)
+(3101,2775)
+(3099,2773)
+(3099,2771)
+(3094,2770)
+(3089,2758)
+(3085,2757)
+(3083,2751)
+(3080,2748)
+(3076,2746)
+(3069,2748)
+(3065,2750)
+(3062,2760)
+(3057,2758)
+(3053,2762)
+(3049,2754)
+(3048,2747)
+(3046,2741)
+(3043,2738)
+(3036,2739)
+(3033,2744)
+(3025,2752)
+(3019,2742)
+(3013,2738)
+(3010,2731)
+(3008,2729)
+(3005,2725)
+(2996,2720)
+(2987,2720)
+(2979,2711)
+(2973,2707)
+(2971,2704)
+(2972,2702)
+(2973,2702)
+(2974,2703)
+(2974,2700)
+(2972,2700)
+(2969,2701)
+(2970,2703)
+(2969,2705)
+(2966,2702)
+(2963,2701)
+(2957,2697)
+(2951,2698)
+(2947,2693)
+(2944,2691)
+(2936,2681)
+(2929,2678)
+(2922,2670)
+(2917,2666)
+(2914,2667)
+(2911,2671)
+(2911,2674)
+135
+(2863,5053)
+(2869,5045)
+(2872,5036)
+(2872,5031)
+(2874,5028)
+(2878,5026)
+(2878,5022)
+(2881,5019)
+(2881,5012)
+(2884,5005)
+(2882,5001)
+(2883,4998)
+(2886,4992)
+(2889,4990)
+(2889,4986)
+(2890,4983)
+(2894,4980)
+(2896,4982)
+(2893,4986)
+(2895,4990)
+(2897,4996)
+(2895,5001)
+(2896,5009)
+(2900,5010)
+(2902,5013)
+(2902,5016)
+(2905,5007)
+(2910,5003)
+(2914,5002)
+(2915,5005)
+(2919,5007)
+(2926,5005)
+(2932,5007)
+(2937,5013)
+(2938,5018)
+(2942,5024)
+(2945,5041)
+(2947,5049)
+(2949,5051)
+(2952,5051)
+(2955,5048)
+(2955,5047)
+(2961,5040)
+(2963,5035)
+(2966,5032)
+(2967,5022)
+(2965,5019)
+(2969,5018)
+(2973,5011)
+(2971,5009)
+(2972,5008)
+(2972,5006)
+(2974,5006)
+(2978,5002)
+(2977,5006)
+(2975,5009)
+(2977,5015)
+(2975,5020)
+(2975,5024)
+(2978,5025)
+(2978,5027)
+(2979,5029)
+(2983,5032)
+(2983,5038)
+(2984,5040)
+(2982,5038)
+(2981,5033)
+(2977,5028)
+(2975,5027)
+(2973,5029)
+(2974,5023)
+(2973,5022)
+(2972,5024)
+(2971,5021)
+(2970,5020)
+(2969,5028)
+(2969,5030)
+(2968,5029)
+(2967,5035)
+(2964,5036)
+(2964,5039)
+(2957,5047)
+(2952,5058)
+(2952,5067)
+(2951,5069)
+(2950,5065)
+(2950,5063)
+(2948,5061)
+(2947,5057)
+(2943,5040)
+(2940,5036)
+(2940,5030)
+(2936,5020)
+(2936,5015)
+(2928,5009)
+(2923,5007)
+(2919,5011)
+(2910,5012)
+(2907,5014)
+(2904,5018)
+(2903,5025)
+(2904,5027)
+(2905,5029)
+(2904,5033)
+(2904,5037)
+(2904,5038)
+(2902,5036)
+(2901,5031)
+(2902,5026)
+(2902,5021)
+(2898,5011)
+(2896,5010)
+(2895,5011)
+(2894,5014)
+(2893,5023)
+(2888,5033)
+(2887,5040)
+(2885,5044)
+(2882,5046)
+(2884,5049)
+(2882,5053)
+(2881,5061)
+(2880,5064)
+(2878,5067)
+(2876,5073)
+(2874,5067)
+(2871,5066)
+(2869,5062)
+(2866,5063)
+(2865,5061)
+(2866,5054)
+(2864,5056)
+(2864,5061)
+(2862,5058)
+(2863,5053)
+343
+(2786,4451)
+(2786,4453)
+(2787,4454)
+(2789,4457)
+(2790,4462)
+(2794,4465)
+(2796,4472)
+(2803,4474)
+(2805,4475)
+(2804,4477)
+(2804,4478)
+(2806,4477)
+(2806,4491)
+(2809,4493)
+(2808,4496)
+(2809,4497)
+(2810,4498)
+(2809,4500)
+(2807,4498)
+(2806,4500)
+(2808,4504)
+(2811,4504)
+(2811,4505)
+(2807,4507)
+(2803,4518)
+(2804,4530)
+(2808,4542)
+(2807,4543)
+(2808,4545)
+(2807,4550)
+(2808,4551)
+(2810,4555)
+(2809,4557)
+(2808,4556)
+(2807,4558)
+(2806,4557)
+(2806,4560)
+(2808,4563)
+(2807,4564)
+(2808,4566)
+(2808,4570)
+(2804,4582)
+(2800,4583)
+(2798,4584)
+(2799,4584)
+(2797,4591)
+(2799,4592)
+(2800,4596)
+(2799,4601)
+(2801,4603)
+(2799,4604)
+(2798,4603)
+(2794,4616)
+(2799,4610)
+(2801,4611)
+(2798,4616)
+(2799,4620)
+(2798,4624)
+(2793,4628)
+(2793,4634)
+(2795,4635)
+(2797,4637)
+(2797,4644)
+(2799,4649)
+(2798,4652)
+(2798,4658)
+(2798,4659)
+(2800,4657)
+(2799,4660)
+(2800,4662)
+(2799,4665)
+(2799,4673)
+(2798,4676)
+(2795,4683)
+(2797,4687)
+(2796,4689)
+(2793,4691)
+(2793,4694)
+(2789,4695)
+(2787,4699)
+(2790,4700)
+(2792,4702)
+(2796,4701)
+(2800,4701)
+(2800,4703)
+(2796,4703)
+(2796,4705)
+(2798,4704)
+(2800,4707)
+(2800,4708)
+(2798,4706)
+(2796,4708)
+(2800,4710)
+(2805,4716)
+(2803,4726)
+(2800,4729)
+(2797,4728)
+(2797,4735)
+(2798,4736)
+(2802,4729)
+(2805,4726)
+(2807,4727)
+(2808,4733)
+(2807,4736)
+(2805,4738)
+(2804,4741)
+(2807,4741)
+(2809,4741)
+(2809,4742)
+(2808,4750)
+(2803,4754)
+(2800,4755)
+(2797,4754)
+(2796,4745)
+(2788,4744)
+(2782,4736)
+(2782,4733)
+(2783,4724)
+(2782,4720)
+(2783,4716)
+(2784,4713)
+(2784,4711)
+(2784,4707)
+(2782,4705)
+(2780,4705)
+(2779,4709)
+(2777,4706)
+(2777,4704)
+(2780,4703)
+(2782,4699)
+(2781,4697)
+(2780,4696)
+(2781,4687)
+(2780,4687)
+(2779,4691)
+(2779,4683)
+(2786,4671)
+(2785,4666)
+(2785,4665)
+(2784,4670)
+(2784,4666)
+(2782,4662)
+(2784,4664)
+(2784,4656)
+(2790,4645)
+(2789,4640)
+(2787,4635)
+(2788,4634)
+(2789,4630)
+(2787,4626)
+(2787,4622)
+(2788,4616)
+(2787,4615)
+(2788,4614)
+(2791,4606)
+(2792,4601)
+(2792,4596)
+(2792,4587)
+(2792,4584)
+(2794,4580)
+(2794,4576)
+(2794,4577)
+(2794,4575)
+(2792,4575)
+(2793,4574)
+(2793,4572)
+(2791,4572)
+(2792,4566)
+(2793,4564)
+(2792,4563)
+(2791,4565)
+(2790,4564)
+(2791,4562)
+(2790,4556)
+(2791,4558)
+(2792,4557)
+(2793,4554)
+(2791,4551)
+(2790,4546)
+(2791,4546)
+(2791,4541)
+(2789,4540)
+(2790,4539)
+(2788,4533)
+(2789,4532)
+(2790,4535)
+(2791,4535)
+(2793,4531)
+(2797,4528)
+(2799,4531)
+(2797,4531)
+(2797,4534)
+(2798,4533)
+(2800,4535)
+(2800,4528)
+(2796,4524)
+(2789,4528)
+(2789,4526)
+(2789,4524)
+(2787,4522)
+(2789,4520)
+(2791,4521)
+(2792,4519)
+(2791,4516)
+(2790,4515)
+(2789,4517)
+(2789,4515)
+(2787,4517)
+(2785,4513)
+(2786,4509)
+(2785,4508)
+(2786,4505)
+(2789,4509)
+(2789,4507)
+(2788,4505)
+(2784,4503)
+(2783,4500)
+(2785,4495)
+(2784,4494)
+(2780,4492)
+(2776,4491)
+(2771,4487)
+(2768,4489)
+(2766,4487)
+(2764,4483)
+(2765,4482)
+(2765,4480)
+(2763,4477)
+(2762,4477)
+(2761,4475)
+(2760,4474)
+(2761,4473)
+(2759,4471)
+(2759,4470)
+(2762,4466)
+(2761,4461)
+(2761,4458)
+(2759,4454)
+(2757,4454)
+(2754,4456)
+(2747,4459)
+(2745,4457)
+(2746,4457)
+(2746,4454)
+(2743,4454)
+(2743,4457)
+(2742,4460)
+(2740,4460)
+(2739,4459)
+(2741,4455)
+(2740,4455)
+(2739,4456)
+(2737,4456)
+(2733,4446)
+(2730,4444)
+(2728,4446)
+(2725,4444)
+(2722,4446)
+(2720,4444)
+(2719,4446)
+(2720,4449)
+(2721,4449)
+(2720,4450)
+(2711,4448)
+(2705,4450)
+(2703,4447)
+(2703,4444)
+(2701,4445)
+(2702,4448)
+(2700,4447)
+(2699,4448)
+(2698,4448)
+(2699,4446)
+(2700,4440)
+(2702,4440)
+(2703,4442)
+(2706,4439)
+(2708,4439)
+(2708,4442)
+(2709,4440)
+(2711,4440)
+(2712,4439)
+(2713,4440)
+(2713,4433)
+(2715,4432)
+(2717,4428)
+(2718,4429)
+(2721,4424)
+(2721,4426)
+(2723,4422)
+(2730,4418)
+(2734,4412)
+(2734,4408)
+(2735,4406)
+(2741,4407)
+(2740,4410)
+(2741,4411)
+(2743,4411)
+(2745,4414)
+(2747,4406)
+(2748,4405)
+(2749,4408)
+(2750,4409)
+(2749,4411)
+(2748,4415)
+(2752,4416)
+(2752,4417)
+(2753,4416)
+(2753,4418)
+(2755,4419)
+(2756,4418)
+(2758,4421)
+(2758,4419)
+(2759,4419)
+(2758,4425)
+(2759,4424)
+(2761,4424)
+(2765,4418)
+(2767,4419)
+(2768,4418)
+(2769,4420)
+(2771,4421)
+(2771,4424)
+(2774,4425)
+(2773,4427)
+(2772,4427)
+(2770,4430)
+(2772,4431)
+(2772,4433)
+(2772,4436)
+(2771,4438)
+(2771,4440)
+(2773,4443)
+(2773,4440)
+(2775,4440)
+(2776,4439)
+(2775,4437)
+(2778,4437)
+(2779,4439)
+(2780,4439)
+(2785,4445)
+(2787,4449)
+(2786,4451)
+429
+(2684,3687)
+(2686,3689)
+(2684,3690)
+(2690,3694)
+(2690,3696)
+(2688,3696)
+(2688,3698)
+(2693,3700)
+(2691,3702)
+(2693,3704)
+(2692,3706)
+(2694,3705)
+(2697,3709)
+(2697,3712)
+(2698,3711)
+(2699,3711)
+(2699,3715)
+(2698,3715)
+(2698,3717)
+(2701,3716)
+(2701,3718)
+(2703,3718)
+(2701,3710)
+(2703,3709)
+(2707,3710)
+(2702,3705)
+(2699,3704)
+(2700,3704)
+(2702,3705)
+(2703,3703)
+(2706,3703)
+(2706,3705)
+(2709,3705)
+(2710,3707)
+(2708,3709)
+(2709,3711)
+(2711,3706)
+(2709,3704)
+(2713,3703)
+(2711,3701)
+(2710,3702)
+(2708,3699)
+(2711,3697)
+(2710,3693)
+(2709,3692)
+(2711,3690)
+(2714,3691)
+(2718,3691)
+(2720,3689)
+(2723,3682)
+(2727,3681)
+(2729,3678)
+(2729,3675)
+(2731,3675)
+(2733,3674)
+(2734,3678)
+(2736,3677)
+(2737,3678)
+(2739,3676)
+(2740,3676)
+(2742,3670)
+(2744,3670)
+(2746,3669)
+(2744,3669)
+(2743,3668)
+(2742,3662)
+(2737,3658)
+(2738,3656)
+(2741,3655)
+(2743,3655)
+(2744,3656)
+(2744,3659)
+(2748,3663)
+(2752,3660)
+(2751,3662)
+(2752,3666)
+(2754,3668)
+(2754,3662)
+(2756,3665)
+(2758,3662)
+(2761,3664)
+(2761,3661)
+(2764,3659)
+(2765,3655)
+(2766,3654)
+(2768,3662)
+(2766,3669)
+(2769,3672)
+(2769,3674)
+(2772,3676)
+(2773,3674)
+(2774,3675)
+(2775,3676)
+(2775,3678)
+(2776,3678)
+(2777,3676)
+(2780,3679)
+(2778,3680)
+(2779,3682)
+(2789,3684)
+(2789,3685)
+(2787,3687)
+(2789,3691)
+(2802,3699)
+(2803,3704)
+(2805,3702)
+(2807,3699)
+(2807,3693)
+(2809,3695)
+(2812,3694)
+(2811,3690)
+(2808,3690)
+(2806,3680)
+(2805,3678)
+(2802,3679)
+(2800,3678)
+(2800,3669)
+(2798,3669)
+(2799,3672)
+(2798,3673)
+(2795,3671)
+(2791,3672)
+(2789,3667)
+(2789,3654)
+(2791,3652)
+(2793,3651)
+(2795,3649)
+(2800,3651)
+(2802,3655)
+(2805,3654)
+(2807,3649)
+(2806,3641)
+(2808,3635)
+(2808,3633)
+(2806,3631)
+(2808,3630)
+(2808,3629)
+(2805,3627)
+(2804,3627)
+(2805,3630)
+(2804,3632)
+(2804,3635)
+(2799,3643)
+(2795,3638)
+(2795,3634)
+(2799,3630)
+(2796,3626)
+(2798,3625)
+(2799,3626)
+(2800,3624)
+(2803,3624)
+(2802,3622)
+(2800,3623)
+(2802,3620)
+(2804,3619)
+(2803,3614)
+(2798,3606)
+(2797,3602)
+(2796,3600)
+(2795,3595)
+(2792,3594)
+(2794,3592)
+(2792,3590)
+(2792,3588)
+(2791,3588)
+(2791,3590)
+(2791,3595)
+(2789,3596)
+(2788,3592)
+(2786,3593)
+(2783,3597)
+(2783,3601)
+(2781,3602)
+(2779,3605)
+(2777,3605)
+(2776,3607)
+(2774,3607)
+(2772,3599)
+(2768,3597)
+(2765,3592)
+(2766,3591)
+(2770,3592)
+(2772,3589)
+(2777,3589)
+(2780,3584)
+(2781,3579)
+(2780,3577)
+(2782,3573)
+(2780,3569)
+(2779,3568)
+(2779,3566)
+(2777,3568)
+(2776,3571)
+(2774,3572)
+(2768,3574)
+(2767,3574)
+(2768,3572)
+(2762,3569)
+(2761,3570)
+(2762,3571)
+(2762,3572)
+(2755,3572)
+(2752,3569)
+(2749,3570)
+(2749,3569)
+(2749,3561)
+(2746,3558)
+(2749,3556)
+(2754,3560)
+(2757,3563)
+(2757,3566)
+(2761,3567)
+(2762,3563)
+(2761,3555)
+(2758,3550)
+(2758,3545)
+(2759,3545)
+(2760,3547)
+(2761,3546)
+(2760,3539)
+(2757,3534)
+(2756,3528)
+(2754,3523)
+(2747,3519)
+(2736,3516)
+(2733,3513)
+(2725,3511)
+(2721,3507)
+(2715,3502)
+(2706,3500)
+(2703,3496)
+(2690,3491)
+(2681,3493)
+(2677,3498)
+(2676,3498)
+(2675,3495)
+(2671,3492)
+(2670,3493)
+(2666,3492)
+(2664,3493)
+(2656,3495)
+(2650,3504)
+(2641,3503)
+(2634,3500)
+(2626,3500)
+(2621,3503)
+(2619,3506)
+(2618,3506)
+(2620,3514)
+(2622,3516)
+(2622,3520)
+(2623,3522)
+(2623,3524)
+(2622,3522)
+(2621,3523)
+(2624,3530)
+(2624,3531)
+(2624,3536)
+(2625,3538)
+(2624,3538)
+(2623,3538)
+(2622,3537)
+(2621,3538)
+(2623,3541)
+(2626,3541)
+(2628,3539)
+(2629,3534)
+(2629,3530)
+(2634,3531)
+(2631,3538)
+(2633,3537)
+(2636,3529)
+(2636,3524)
+(2636,3532)
+(2633,3537)
+(2628,3543)
+(2623,3545)
+(2621,3548)
+(2624,3549)
+(2625,3551)
+(2627,3550)
+(2628,3551)
+(2628,3558)
+(2626,3560)
+(2624,3564)
+(2628,3570)
+(2624,3570)
+(2622,3573)
+(2620,3579)
+(2620,3581)
+(2620,3586)
+(2618,3588)
+(2617,3581)
+(2615,3581)
+(2608,3583)
+(2606,3586)
+(2603,3585)
+(2604,3588)
+(2607,3590)
+(2607,3592)
+(2608,3594)
+(2608,3598)
+(2610,3599)
+(2609,3601)
+(2609,3603)
+(2611,3606)
+(2610,3606)
+(2609,3606)
+(2608,3609)
+(2609,3611)
+(2615,3611)
+(2614,3614)
+(2616,3621)
+(2616,3622)
+(2615,3622)
+(2618,3624)
+(2618,3626)
+(2615,3625)
+(2615,3628)
+(2614,3628)
+(2617,3629)
+(2615,3631)
+(2618,3631)
+(2616,3633)
+(2613,3634)
+(2616,3638)
+(2615,3640)
+(2615,3642)
+(2617,3642)
+(2616,3644)
+(2617,3644)
+(2615,3646)
+(2620,3648)
+(2619,3649)
+(2616,3648)
+(2616,3651)
+(2615,3651)
+(2616,3654)
+(2619,3653)
+(2621,3654)
+(2621,3656)
+(2618,3659)
+(2618,3661)
+(2619,3662)
+(2620,3660)
+(2622,3660)
+(2624,3660)
+(2628,3663)
+(2627,3660)
+(2628,3660)
+(2630,3660)
+(2629,3657)
+(2631,3656)
+(2630,3654)
+(2628,3654)
+(2631,3652)
+(2633,3654)
+(2634,3651)
+(2636,3651)
+(2632,3649)
+(2633,3647)
+(2632,3646)
+(2633,3645)
+(2636,3645)
+(2638,3644)
+(2641,3644)
+(2642,3644)
+(2640,3647)
+(2642,3649)
+(2641,3650)
+(2641,3651)
+(2644,3652)
+(2644,3653)
+(2653,3654)
+(2653,3657)
+(2651,3658)
+(2653,3659)
+(2660,3658)
+(2659,3660)
+(2654,3662)
+(2650,3661)
+(2650,3664)
+(2646,3666)
+(2653,3665)
+(2654,3663)
+(2661,3662)
+(2663,3663)
+(2661,3664)
+(2660,3664)
+(2659,3665)
+(2654,3666)
+(2653,3668)
+(2651,3668)
+(2653,3669)
+(2657,3667)
+(2660,3668)
+(2660,3670)
+(2657,3671)
+(2660,3671)
+(2661,3670)
+(2664,3671)
+(2664,3673)
+(2663,3674)
+(2667,3674)
+(2664,3669)
+(2666,3667)
+(2667,3668)
+(2669,3670)
+(2670,3668)
+(2672,3667)
+(2672,3664)
+(2674,3665)
+(2675,3667)
+(2676,3667)
+(2674,3670)
+(2676,3670)
+(2677,3673)
+(2678,3672)
+(2678,3668)
+(2679,3667)
+(2680,3670)
+(2679,3671)
+(2681,3674)
+(2678,3676)
+(2678,3677)
+(2679,3677)
+(2680,3678)
+(2681,3685)
+(2684,3687)
+60
+(2563,4681)
+(2565,4692)
+(2564,4698)
+(2564,4696)
+(2563,4695)
+(2563,4692)
+(2560,4690)
+(2560,4687)
+(2557,4685)
+(2556,4686)
+(2555,4694)
+(2556,4698)
+(2555,4699)
+(2554,4699)
+(2554,4687)
+(2549,4682)
+(2546,4671)
+(2545,4669)
+(2544,4669)
+(2543,4673)
+(2542,4675)
+(2541,4670)
+(2537,4668)
+(2532,4661)
+(2531,4653)
+(2530,4650)
+(2530,4648)
+(2530,4642)
+(2530,4637)
+(2529,4624)
+(2531,4618)
+(2530,4616)
+(2531,4615)
+(2533,4609)
+(2535,4605)
+(2536,4594)
+(2540,4584)
+(2540,4581)
+(2539,4579)
+(2539,4576)
+(2543,4572)
+(2544,4573)
+(2547,4571)
+(2548,4572)
+(2549,4578)
+(2548,4587)
+(2550,4590)
+(2551,4597)
+(2553,4599)
+(2554,4601)
+(2557,4619)
+(2556,4621)
+(2558,4624)
+(2559,4630)
+(2559,4634)
+(2561,4641)
+(2559,4650)
+(2563,4668)
+(2563,4671)
+(2563,4681)
+885
+(2306,2933)
+(2325,2932)
+(2329,2930)
+(2332,2930)
+(2333,2933)
+(2337,2936)
+(2341,2937)
+(2343,2936)
+(2347,2936)
+(2350,2938)
+(2351,2940)
+(2350,2943)
+(2349,2944)
+(2346,2944)
+(2346,2949)
+(2342,2947)
+(2340,2943)
+(2338,2944)
+(2339,2948)
+(2341,2952)
+(2345,2952)
+(2349,2954)
+(2357,2954)
+(2360,2956)
+(2361,2958)
+(2360,2960)
+(2358,2962)
+(2357,2964)
+(2361,2962)
+(2359,2964)
+(2361,2964)
+(2363,2965)
+(2368,2958)
+(2370,2957)
+(2377,2959)
+(2381,2963)
+(2382,2965)
+(2387,2964)
+(2389,2965)
+(2390,2965)
+(2392,2967)
+(2395,2965)
+(2397,2966)
+(2399,2969)
+(2403,2965)
+(2405,2970)
+(2409,2969)
+(2413,2974)
+(2414,2980)
+(2416,2982)
+(2417,2989)
+(2419,2991)
+(2420,2990)
+(2422,2993)
+(2421,2998)
+(2419,2999)
+(2420,3001)
+(2421,3002)
+(2421,3006)
+(2421,3007)
+(2420,3016)
+(2417,3021)
+(2413,3023)
+(2414,3024)
+(2417,3022)
+(2422,3022)
+(2424,3020)
+(2426,3017)
+(2430,3014)
+(2431,3007)
+(2434,3004)
+(2435,3004)
+(2435,2995)
+(2434,2990)
+(2435,2982)
+(2437,2979)
+(2437,2975)
+(2440,2972)
+(2442,2971)
+(2447,2972)
+(2449,2969)
+(2451,2964)
+(2462,2953)
+(2469,2949)
+(2476,2948)
+(2485,2942)
+(2487,2939)
+(2490,2937)
+(2492,2934)
+(2496,2931)
+(2498,2928)
+(2501,2927)
+(2507,2921)
+(2510,2915)
+(2513,2912)
+(2514,2906)
+(2516,2903)
+(2526,2898)
+(2530,2894)
+(2540,2887)
+(2543,2881)
+(2548,2877)
+(2556,2872)
+(2558,2864)
+(2563,2862)
+(2566,2863)
+(2572,2862)
+(2574,2857)
+(2577,2855)
+(2577,2853)
+(2581,2848)
+(2585,2847)
+(2587,2849)
+(2592,2849)
+(2598,2855)
+(2600,2854)
+(2597,2850)
+(2598,2849)
+(2607,2849)
+(2611,2852)
+(2614,2852)
+(2623,2855)
+(2630,2859)
+(2632,2862)
+(2634,2858)
+(2632,2852)
+(2628,2852)
+(2623,2850)
+(2621,2850)
+(2618,2848)
+(2612,2848)
+(2610,2846)
+(2610,2844)
+(2612,2844)
+(2613,2843)
+(2617,2842)
+(2616,2843)
+(2617,2844)
+(2621,2847)
+(2624,2846)
+(2626,2850)
+(2629,2849)
+(2629,2846)
+(2632,2848)
+(2633,2846)
+(2635,2845)
+(2642,2841)
+(2645,2837)
+(2653,2834)
+(2653,2832)
+(2652,2831)
+(2654,2826)
+(2660,2823)
+(2662,2821)
+(2664,2810)
+(2663,2808)
+(2664,2806)
+(2667,2802)
+(2671,2801)
+(2673,2803)
+(2674,2802)
+(2679,2803)
+(2679,2805)
+(2682,2807)
+(2682,2810)
+(2684,2812)
+(2686,2816)
+(2686,2818)
+(2689,2821)
+(2695,2820)
+(2694,2821)
+(2691,2821)
+(2687,2825)
+(2692,2827)
+(2697,2826)
+(2696,2829)
+(2698,2830)
+(2698,2832)
+(2711,2838)
+(2711,2843)
+(2718,2843)
+(2722,2845)
+(2723,2848)
+(2724,2847)
+(2724,2844)
+(2725,2843)
+(2725,2849)
+(2729,2850)
+(2730,2853)
+(2734,2849)
+(2735,2850)
+(2732,2853)
+(2734,2854)
+(2738,2853)
+(2740,2845)
+(2745,2843)
+(2743,2849)
+(2743,2850)
+(2743,2847)
+(2741,2846)
+(2739,2853)
+(2734,2857)
+(2733,2858)
+(2734,2859)
+(2735,2858)
+(2737,2859)
+(2738,2856)
+(2740,2856)
+(2740,2858)
+(2743,2858)
+(2743,2855)
+(2745,2855)
+(2744,2853)
+(2746,2853)
+(2745,2857)
+(2744,2859)
+(2742,2860)
+(2741,2866)
+(2736,2869)
+(2738,2871)
+(2739,2870)
+(2743,2871)
+(2743,2873)
+(2741,2874)
+(2743,2876)
+(2743,2879)
+(2742,2880)
+(2743,2882)
+(2745,2884)
+(2743,2888)
+(2744,2889)
+(2744,2892)
+(2743,2894)
+(2743,2895)
+(2746,2893)
+(2746,2895)
+(2750,2897)
+(2750,2904)
+(2751,2904)
+(2751,2902)
+(2753,2902)
+(2752,2904)
+(2756,2907)
+(2756,2910)
+(2758,2914)
+(2757,2916)
+(2753,2920)
+(2753,2922)
+(2752,2921)
+(2749,2923)
+(2750,2923)
+(2751,2926)
+(2750,2927)
+(2751,2927)
+(2752,2927)
+(2753,2925)
+(2755,2924)
+(2756,2926)
+(2758,2924)
+(2758,2919)
+(2759,2923)
+(2761,2924)
+(2764,2922)
+(2765,2918)
+(2765,2920)
+(2767,2920)
+(2767,2922)
+(2768,2922)
+(2765,2927)
+(2763,2929)
+(2766,2929)
+(2768,2927)
+(2767,2930)
+(2764,2931)
+(2765,2933)
+(2768,2930)
+(2768,2932)
+(2766,2933)
+(2769,2933)
+(2765,2937)
+(2766,2937)
+(2768,2936)
+(2770,2939)
+(2770,2941)
+(2772,2942)
+(2771,2944)
+(2769,2946)
+(2769,2947)
+(2774,2947)
+(2775,2943)
+(2780,2948)
+(2780,2950)
+(2779,2949)
+(2777,2949)
+(2776,2955)
+(2775,2957)
+(2775,2958)
+(2778,2954)
+(2781,2953)
+(2783,2953)
+(2782,2950)
+(2785,2950)
+(2783,2955)
+(2784,2957)
+(2785,2955)
+(2787,2955)
+(2788,2953)
+(2788,2956)
+(2786,2957)
+(2784,2960)
+(2783,2962)
+(2784,2962)
+(2786,2961)
+(2789,2957)
+(2790,2958)
+(2791,2957)
+(2791,2958)
+(2789,2959)
+(2789,2964)
+(2795,2958)
+(2792,2965)
+(2793,2966)
+(2792,2968)
+(2790,2968)
+(2790,2970)
+(2795,2968)
+(2794,2968)
+(2792,2974)
+(2790,2975)
+(2791,2976)
+(2791,2978)
+(2795,2977)
+(2793,2981)
+(2791,2982)
+(2793,2982)
+(2792,2985)
+(2794,2986)
+(2792,2988)
+(2793,2989)
+(2794,2990)
+(2795,2993)
+(2798,2998)
+(2798,3002)
+(2801,3004)
+(2805,3012)
+(2806,3014)
+(2803,3013)
+(2803,3014)
+(2808,3018)
+(2808,3020)
+(2811,3022)
+(2808,3022)
+(2814,3026)
+(2812,3030)
+(2813,3035)
+(2809,3033)
+(2811,3036)
+(2816,3037)
+(2816,3041)
+(2818,3045)
+(2816,3044)
+(2815,3044)
+(2814,3046)
+(2820,3051)
+(2822,3051)
+(2821,3053)
+(2823,3058)
+(2824,3067)
+(2827,3072)
+(2823,3092)
+(2819,3096)
+(2823,3098)
+(2823,3099)
+(2823,3101)
+(2817,3101)
+(2814,3106)
+(2816,3113)
+(2814,3112)
+(2813,3112)
+(2812,3116)
+(2816,3120)
+(2816,3121)
+(2814,3120)
+(2813,3120)
+(2811,3122)
+(2811,3124)
+(2809,3124)
+(2808,3132)
+(2809,3135)
+(2812,3131)
+(2813,3141)
+(2820,3147)
+(2819,3152)
+(2817,3154)
+(2817,3157)
+(2817,3170)
+(2818,3174)
+(2814,3180)
+(2814,3183)
+(2811,3185)
+(2805,3186)
+(2803,3188)
+(2803,3192)
+(2801,3192)
+(2798,3192)
+(2798,3189)
+(2796,3187)
+(2797,3186)
+(2793,3185)
+(2793,3182)
+(2794,3182)
+(2789,3180)
+(2789,3183)
+(2791,3184)
+(2789,3184)
+(2787,3186)
+(2788,3182)
+(2782,3189)
+(2777,3190)
+(2766,3187)
+(2763,3185)
+(2760,3185)
+(2748,3176)
+(2746,3172)
+(2739,3167)
+(2739,3165)
+(2733,3164)
+(2731,3165)
+(2729,3171)
+(2728,3173)
+(2728,3175)
+(2724,3184)
+(2724,3186)
+(2723,3189)
+(2722,3195)
+(2720,3195)
+(2720,3192)
+(2718,3186)
+(2719,3179)
+(2719,3174)
+(2720,3170)
+(2724,3149)
+(2724,3147)
+(2723,3129)
+(2723,3120)
+(2722,3116)
+(2724,3113)
+(2724,3107)
+(2726,3107)
+(2727,3105)
+(2726,3104)
+(2724,3103)
+(2723,3099)
+(2720,3095)
+(2720,3088)
+(2723,3085)
+(2721,3085)
+(2719,3083)
+(2710,3075)
+(2706,3075)
+(2701,3077)
+(2701,3075)
+(2704,3072)
+(2702,3066)
+(2699,3064)
+(2699,3058)
+(2697,3057)
+(2696,3060)
+(2692,3057)
+(2689,3061)
+(2688,3066)
+(2684,3073)
+(2676,3078)
+(2677,3085)
+(2675,3088)
+(2672,3094)
+(2671,3094)
+(2671,3090)
+(2672,3087)
+(2671,3086)
+(2671,3084)
+(2671,3083)
+(2672,3082)
+(2673,3083)
+(2673,3082)
+(2673,3077)
+(2671,3076)
+(2669,3072)
+(2669,3067)
+(2671,3062)
+(2672,3059)
+(2674,3060)
+(2674,3057)
+(2678,3052)
+(2678,3047)
+(2676,3045)
+(2677,3043)
+(2677,3038)
+(2678,3035)
+(2678,3033)
+(2678,3026)
+(2679,3019)
+(2674,3016)
+(2675,3014)
+(2674,3013)
+(2662,3014)
+(2660,3017)
+(2657,3025)
+(2656,3041)
+(2652,3050)
+(2645,3052)
+(2642,3051)
+(2640,3055)
+(2635,3059)
+(2628,3061)
+(2620,3067)
+(2617,3069)
+(2617,3073)
+(2615,3073)
+(2613,3076)
+(2607,3079)
+(2598,3079)
+(2592,3076)
+(2589,3076)
+(2590,3084)
+(2589,3091)
+(2590,3092)
+(2591,3099)
+(2589,3101)
+(2586,3100)
+(2585,3103)
+(2582,3106)
+(2575,3110)
+(2570,3115)
+(2570,3117)
+(2573,3125)
+(2573,3130)
+(2572,3132)
+(2570,3134)
+(2567,3137)
+(2569,3140)
+(2570,3146)
+(2568,3155)
+(2566,3158)
+(2565,3157)
+(2565,3161)
+(2563,3164)
+(2559,3165)
+(2555,3163)
+(2559,3160)
+(2563,3155)
+(2565,3155)
+(2563,3154)
+(2557,3159)
+(2552,3161)
+(2545,3158)
+(2544,3156)
+(2540,3156)
+(2531,3149)
+(2531,3146)
+(2526,3144)
+(2523,3146)
+(2520,3146)
+(2518,3148)
+(2514,3150)
+(2506,3146)
+(2501,3152)
+(2501,3154)
+(2499,3155)
+(2494,3155)
+(2491,3153)
+(2489,3158)
+(2487,3159)
+(2486,3162)
+(2485,3163)
+(2483,3163)
+(2482,3166)
+(2479,3167)
+(2474,3169)
+(2469,3171)
+(2464,3171)
+(2463,3173)
+(2467,3175)
+(2474,3171)
+(2483,3169)
+(2494,3174)
+(2498,3174)
+(2500,3175)
+(2502,3172)
+(2502,3170)
+(2502,3169)
+(2500,3167)
+(2500,3166)
+(2503,3167)
+(2507,3170)
+(2518,3177)
+(2520,3178)
+(2522,3184)
+(2524,3185)
+(2526,3189)
+(2524,3197)
+(2526,3202)
+(2526,3208)
+(2529,3220)
+(2527,3229)
+(2524,3234)
+(2520,3235)
+(2518,3234)
+(2514,3234)
+(2513,3236)
+(2508,3239)
+(2502,3241)
+(2496,3241)
+(2489,3244)
+(2487,3249)
+(2484,3252)
+(2480,3258)
+(2475,3271)
+(2469,3278)
+(2467,3279)
+(2466,3284)
+(2465,3283)
+(2462,3286)
+(2464,3281)
+(2458,3286)
+(2453,3283)
+(2452,3280)
+(2450,3278)
+(2448,3269)
+(2449,3266)
+(2450,3267)
+(2452,3268)
+(2452,3265)
+(2454,3264)
+(2456,3260)
+(2453,3255)
+(2452,3256)
+(2450,3256)
+(2443,3259)
+(2443,3266)
+(2441,3262)
+(2440,3264)
+(2440,3256)
+(2441,3253)
+(2443,3254)
+(2444,3254)
+(2443,3244)
+(2441,3246)
+(2439,3242)
+(2440,3237)
+(2439,3234)
+(2438,3232)
+(2438,3226)
+(2437,3225)
+(2438,3222)
+(2441,3224)
+(2443,3221)
+(2447,3219)
+(2448,3220)
+(2450,3219)
+(2451,3219)
+(2453,3218)
+(2454,3216)
+(2453,3215)
+(2451,3213)
+(2446,3213)
+(2444,3208)
+(2447,3203)
+(2450,3203)
+(2449,3201)
+(2447,3200)
+(2446,3199)
+(2446,3194)
+(2449,3195)
+(2446,3191)
+(2446,3187)
+(2450,3184)
+(2452,3187)
+(2452,3184)
+(2454,3182)
+(2456,3181)
+(2461,3177)
+(2462,3178)
+(2464,3177)
+(2465,3175)
+(2464,3175)
+(2461,3175)
+(2457,3176)
+(2452,3173)
+(2447,3172)
+(2446,3172)
+(2445,3170)
+(2443,3170)
+(2441,3172)
+(2431,3165)
+(2427,3163)
+(2422,3164)
+(2416,3161)
+(2413,3164)
+(2411,3164)
+(2410,3166)
+(2403,3164)
+(2398,3170)
+(2397,3173)
+(2392,3174)
+(2390,3178)
+(2386,3180)
+(2384,3182)
+(2387,3180)
+(2385,3183)
+(2394,3175)
+(2401,3174)
+(2401,3176)
+(2399,3176)
+(2398,3180)
+(2400,3185)
+(2398,3183)
+(2398,3184)
+(2398,3187)
+(2400,3190)
+(2396,3197)
+(2400,3203)
+(2400,3205)
+(2398,3209)
+(2398,3215)
+(2395,3211)
+(2394,3212)
+(2393,3209)
+(2392,3210)
+(2386,3205)
+(2386,3203)
+(2385,3206)
+(2380,3205)
+(2378,3207)
+(2381,3206)
+(2380,3207)
+(2381,3207)
+(2382,3207)
+(2378,3212)
+(2380,3212)
+(2380,3213)
+(2377,3214)
+(2377,3216)
+(2377,3218)
+(2376,3219)
+(2374,3219)
+(2374,3218)
+(2373,3219)
+(2373,3222)
+(2371,3224)
+(2370,3223)
+(2371,3222)
+(2371,3219)
+(2369,3218)
+(2371,3215)
+(2370,3214)
+(2369,3215)
+(2368,3214)
+(2368,3213)
+(2369,3209)
+(2372,3205)
+(2371,3195)
+(2371,3192)
+(2377,3196)
+(2379,3199)
+(2380,3198)
+(2379,3196)
+(2377,3194)
+(2371,3191)
+(2364,3185)
+(2359,3189)
+(2351,3190)
+(2351,3191)
+(2356,3190)
+(2359,3192)
+(2360,3189)
+(2362,3194)
+(2361,3198)
+(2359,3197)
+(2360,3204)
+(2358,3203)
+(2360,3206)
+(2359,3207)
+(2360,3210)
+(2360,3212)
+(2361,3214)
+(2359,3213)
+(2359,3215)
+(2357,3214)
+(2357,3215)
+(2352,3214)
+(2352,3215)
+(2354,3216)
+(2351,3216)
+(2351,3217)
+(2347,3218)
+(2345,3221)
+(2351,3221)
+(2352,3220)
+(2354,3223)
+(2352,3222)
+(2350,3222)
+(2350,3224)
+(2348,3222)
+(2344,3222)
+(2344,3224)
+(2347,3223)
+(2342,3226)
+(2343,3228)
+(2342,3229)
+(2342,3232)
+(2339,3233)
+(2336,3236)
+(2336,3238)
+(2335,3238)
+(2335,3239)
+(2328,3235)
+(2326,3235)
+(2320,3231)
+(2311,3229)
+(2305,3230)
+(2301,3232)
+(2293,3231)
+(2282,3229)
+(2273,3228)
+(2264,3229)
+(2253,3232)
+(2250,3233)
+(2241,3234)
+(2236,3235)
+(2231,3237)
+(2226,3238)
+(2221,3241)
+(2219,3239)
+(2218,3242)
+(2217,3242)
+(2209,3242)
+(2208,3237)
+(2208,3233)
+(2209,3221)
+(2211,3218)
+(2211,3220)
+(2212,3216)
+(2212,3229)
+(2214,3239)
+(2214,3240)
+(2217,3241)
+(2215,3236)
+(2213,3209)
+(2211,3193)
+(2205,3169)
+(2203,3160)
+(2202,3153)
+(2201,3146)
+(2196,3126)
+(2195,3118)
+(2195,3112)
+(2201,3085)
+(2204,3066)
+(2206,3060)
+(2210,3053)
+(2222,3029)
+(2224,3027)
+(2227,3021)
+(2229,3019)
+(2237,3014)
+(2242,3013)
+(2243,3011)
+(2247,2997)
+(2247,2996)
+(2248,2997)
+(2247,2998)
+(2249,2996)
+(2247,2990)
+(2249,2966)
+(2253,2956)
+(2258,2947)
+(2265,2940)
+(2268,2939)
+(2270,2939)
+(2274,2937)
+(2278,2937)
+(2283,2935)
+(2298,2932)
+(2306,2933)
+79
+(2294,2724)
+(2292,2727)
+(2287,2730)
+(2284,2730)
+(2282,2728)
+(2282,2729)
+(2279,2729)
+(2278,2728)
+(2277,2728)
+(2276,2726)
+(2274,2724)
+(2268,2725)
+(2266,2726)
+(2265,2729)
+(2264,2730)
+(2264,2732)
+(2266,2732)
+(2266,2734)
+(2265,2741)
+(2262,2745)
+(2263,2745)
+(2261,2746)
+(2260,2748)
+(2258,2747)
+(2259,2741)
+(2258,2739)
+(2256,2743)
+(2254,2743)
+(2251,2748)
+(2248,2748)
+(2245,2752)
+(2243,2755)
+(2242,2755)
+(2242,2753)
+(2242,2751)
+(2239,2749)
+(2237,2744)
+(2237,2743)
+(2239,2742)
+(2238,2740)
+(2236,2737)
+(2232,2737)
+(2228,2735)
+(2227,2733)
+(2229,2731)
+(2228,2730)
+(2227,2730)
+(2227,2728)
+(2231,2724)
+(2232,2721)
+(2241,2717)
+(2243,2719)
+(2249,2718)
+(2250,2716)
+(2254,2717)
+(2256,2715)
+(2258,2716)
+(2260,2714)
+(2262,2716)
+(2265,2716)
+(2270,2710)
+(2271,2704)
+(2277,2703)
+(2280,2705)
+(2282,2711)
+(2283,2712)
+(2284,2711)
+(2287,2712)
+(2290,2710)
+(2287,2708)
+(2289,2707)
+(2287,2703)
+(2288,2700)
+(2289,2700)
+(2292,2703)
+(2295,2703)
+(2296,2706)
+(2296,2720)
+(2294,2724)
+12
+(1974,2137)
+(1971,2139)
+(1969,2138)
+(1965,2138)
+(1963,2136)
+(1963,2134)
+(1966,2133)
+(1969,2131)
+(1970,2131)
+(1972,2132)
+(1973,2135)
+(1974,2137)
+22
+(1906,2133)
+(1904,2135)
+(1901,2134)
+(1898,2134)
+(1894,2133)
+(1890,2133)
+(1887,2134)
+(1884,2133)
+(1880,2133)
+(1878,2130)
+(1882,2131)
+(1880,2128)
+(1879,2126)
+(1883,2124)
+(1887,2124)
+(1891,2124)
+(1894,2125)
+(1897,2125)
+(1900,2127)
+(1904,2130)
+(1906,2131)
+(1906,2133)
+12
+(1874,2124)
+(1875,2125)
+(1872,2129)
+(1870,2132)
+(1867,2131)
+(1865,2128)
+(1866,2124)
+(1869,2123)
+(1872,2122)
+(1873,2121)
+(1873,2124)
+(1874,2124)
+76
+(1855,2803)
+(1855,2805)
+(1854,2805)
+(1853,2806)
+(1855,2811)
+(1856,2813)
+(1855,2814)
+(1850,2822)
+(1851,2824)
+(1851,2829)
+(1853,2831)
+(1853,2832)
+(1852,2834)
+(1850,2831)
+(1849,2833)
+(1846,2834)
+(1846,2835)
+(1846,2838)
+(1845,2839)
+(1846,2841)
+(1847,2840)
+(1852,2843)
+(1852,2848)
+(1848,2853)
+(1846,2850)
+(1846,2848)
+(1845,2847)
+(1845,2854)
+(1843,2858)
+(1838,2860)
+(1836,2862)
+(1836,2860)
+(1839,2857)
+(1836,2857)
+(1835,2860)
+(1834,2860)
+(1832,2856)
+(1834,2855)
+(1833,2854)
+(1831,2854)
+(1831,2852)
+(1834,2848)
+(1833,2848)
+(1832,2847)
+(1834,2846)
+(1839,2845)
+(1839,2834)
+(1842,2833)
+(1842,2831)
+(1844,2827)
+(1843,2817)
+(1845,2818)
+(1846,2817)
+(1846,2815)
+(1847,2815)
+(1848,2814)
+(1847,2812)
+(1844,2816)
+(1843,2815)
+(1842,2809)
+(1843,2805)
+(1842,2805)
+(1842,2803)
+(1840,2800)
+(1840,2796)
+(1840,2795)
+(1843,2795)
+(1845,2796)
+(1845,2805)
+(1846,2807)
+(1847,2802)
+(1849,2801)
+(1850,2799)
+(1852,2798)
+(1854,2800)
+(1855,2803)
+311
+(1439,1973)
+(1434,1971)
+(1434,1967)
+(1433,1970)
+(1432,1970)
+(1431,1972)
+(1429,1973)
+(1423,1972)
+(1423,1971)
+(1423,1969)
+(1421,1971)
+(1422,1972)
+(1421,1972)
+(1420,1971)
+(1417,1971)
+(1415,1969)
+(1414,1969)
+(1414,1967)
+(1415,1967)
+(1415,1965)
+(1417,1965)
+(1418,1963)
+(1418,1961)
+(1417,1961)
+(1415,1962)
+(1414,1964)
+(1413,1964)
+(1412,1962)
+(1413,1960)
+(1410,1956)
+(1409,1958)
+(1410,1962)
+(1412,1964)
+(1413,1967)
+(1411,1972)
+(1408,1969)
+(1410,1972)
+(1406,1974)
+(1406,1972)
+(1403,1969)
+(1401,1974)
+(1398,1975)
+(1397,1973)
+(1400,1972)
+(1399,1970)
+(1397,1971)
+(1396,1970)
+(1398,1969)
+(1397,1968)
+(1396,1968)
+(1396,1966)
+(1394,1965)
+(1394,1963)
+(1392,1964)
+(1391,1962)
+(1389,1962)
+(1388,1961)
+(1387,1962)
+(1385,1961)
+(1385,1959)
+(1384,1961)
+(1383,1958)
+(1382,1959)
+(1380,1958)
+(1379,1959)
+(1375,1956)
+(1376,1953)
+(1373,1954)
+(1367,1954)
+(1366,1953)
+(1366,1951)
+(1365,1951)
+(1363,1945)
+(1359,1943)
+(1357,1942)
+(1358,1939)
+(1360,1939)
+(1361,1937)
+(1363,1937)
+(1364,1935)
+(1366,1935)
+(1366,1933)
+(1366,1930)
+(1368,1930)
+(1366,1929)
+(1366,1927)
+(1365,1927)
+(1366,1924)
+(1364,1923)
+(1364,1920)
+(1363,1920)
+(1362,1919)
+(1361,1918)
+(1359,1916)
+(1359,1913)
+(1358,1913)
+(1357,1911)
+(1355,1910)
+(1355,1911)
+(1354,1912)
+(1353,1911)
+(1355,1910)
+(1354,1907)
+(1356,1906)
+(1357,1901)
+(1359,1900)
+(1359,1899)
+(1358,1900)
+(1357,1899)
+(1354,1901)
+(1351,1904)
+(1351,1906)
+(1349,1907)
+(1349,1905)
+(1348,1906)
+(1348,1904)
+(1346,1904)
+(1348,1902)
+(1348,1901)
+(1344,1901)
+(1343,1899)
+(1343,1900)
+(1340,1896)
+(1334,1888)
+(1332,1886)
+(1329,1883)
+(1328,1881)
+(1326,1882)
+(1322,1881)
+(1318,1881)
+(1315,1879)
+(1311,1874)
+(1309,1873)
+(1309,1871)
+(1308,1872)
+(1306,1870)
+(1304,1871)
+(1299,1870)
+(1296,1866)
+(1290,1862)
+(1291,1864)
+(1297,1868)
+(1297,1871)
+(1302,1872)
+(1303,1873)
+(1305,1873)
+(1306,1873)
+(1306,1875)
+(1307,1876)
+(1306,1878)
+(1315,1883)
+(1324,1884)
+(1328,1886)
+(1328,1888)
+(1331,1890)
+(1332,1892)
+(1331,1893)
+(1333,1893)
+(1335,1896)
+(1334,1901)
+(1335,1899)
+(1336,1899)
+(1338,1897)
+(1339,1899)
+(1339,1900)
+(1340,1900)
+(1339,1902)
+(1340,1901)
+(1341,1903)
+(1342,1906)
+(1342,1907)
+(1342,1908)
+(1340,1909)
+(1341,1910)
+(1343,1910)
+(1343,1909)
+(1344,1910)
+(1345,1908)
+(1345,1914)
+(1347,1913)
+(1348,1916)
+(1350,1916)
+(1349,1918)
+(1353,1917)
+(1354,1916)
+(1353,1919)
+(1354,1919)
+(1356,1918)
+(1359,1920)
+(1359,1922)
+(1358,1923)
+(1360,1922)
+(1363,1927)
+(1364,1929)
+(1363,1931)
+(1362,1933)
+(1361,1933)
+(1361,1935)
+(1359,1934)
+(1358,1937)
+(1356,1937)
+(1356,1939)
+(1354,1938)
+(1353,1935)
+(1351,1935)
+(1353,1938)
+(1351,1939)
+(1351,1940)
+(1352,1939)
+(1356,1940)
+(1356,1945)
+(1359,1945)
+(1361,1947)
+(1362,1949)
+(1363,1948)
+(1365,1955)
+(1369,1956)
+(1370,1956)
+(1370,1958)
+(1372,1957)
+(1372,1956)
+(1374,1956)
+(1373,1958)
+(1374,1958)
+(1375,1958)
+(1376,1959)
+(1375,1962)
+(1377,1961)
+(1378,1962)
+(1377,1963)
+(1376,1962)
+(1376,1963)
+(1379,1964)
+(1380,1964)
+(1380,1965)
+(1383,1964)
+(1384,1965)
+(1384,1967)
+(1381,1967)
+(1379,1972)
+(1375,1976)
+(1377,1976)
+(1375,1979)
+(1375,1984)
+(1378,1980)
+(1378,1977)
+(1379,1977)
+(1378,1976)
+(1380,1976)
+(1381,1977)
+(1382,1976)
+(1384,1974)
+(1384,1972)
+(1385,1972)
+(1388,1971)
+(1390,1971)
+(1390,1973)
+(1388,1976)
+(1388,1978)
+(1393,1975)
+(1394,1974)
+(1395,1975)
+(1395,1978)
+(1394,1977)
+(1393,1980)
+(1394,1981)
+(1396,1980)
+(1400,1981)
+(1400,1979)
+(1401,1978)
+(1402,1979)
+(1402,1980)
+(1404,1980)
+(1405,1979)
+(1404,1978)
+(1403,1978)
+(1404,1977)
+(1405,1978)
+(1407,1975)
+(1408,1975)
+(1409,1976)
+(1409,1974)
+(1411,1974)
+(1410,1980)
+(1411,1982)
+(1411,1978)
+(1413,1978)
+(1412,1977)
+(1414,1977)
+(1413,1976)
+(1414,1975)
+(1415,1974)
+(1417,1974)
+(1418,1975)
+(1419,1975)
+(1417,1979)
+(1418,1978)
+(1419,1979)
+(1420,1979)
+(1421,1980)
+(1422,1979)
+(1423,1980)
+(1424,1978)
+(1425,1979)
+(1426,1977)
+(1429,1976)
+(1432,1973)
+(1433,1974)
+(1435,1973)
+(1436,1974)
+(1439,1973)
+196
+(747,851)
+(750,851)
+(753,848)
+(753,847)
+(749,843)
+(749,841)
+(750,839)
+(751,838)
+(752,838)
+(755,837)
+(756,835)
+(760,830)
+(762,831)
+(763,831)
+(764,830)
+(766,831)
+(768,829)
+(768,830)
+(767,831)
+(769,832)
+(770,831)
+(771,828)
+(773,832)
+(777,832)
+(777,831)
+(778,832)
+(778,833)
+(779,833)
+(779,832)
+(776,828)
+(776,827)
+(777,828)
+(780,831)
+(780,829)
+(778,827)
+(779,827)
+(783,830)
+(786,833)
+(788,834)
+(788,831)
+(786,830)
+(786,829)
+(784,826)
+(784,824)
+(785,823)
+(787,823)
+(788,821)
+(788,820)
+(786,817)
+(787,816)
+(788,817)
+(790,817)
+(790,816)
+(793,813)
+(796,811)
+(799,810)
+(800,809)
+(802,806)
+(805,803)
+(810,803)
+(812,802)
+(813,801)
+(818,802)
+(821,799)
+(822,799)
+(823,801)
+(825,800)
+(826,796)
+(827,795)
+(829,795)
+(831,793)
+(833,794)
+(834,797)
+(835,800)
+(836,802)
+(836,808)
+(838,811)
+(840,814)
+(840,816)
+(838,819)
+(835,821)
+(834,823)
+(833,826)
+(832,827)
+(830,829)
+(827,830)
+(826,831)
+(824,831)
+(822,832)
+(819,832)
+(817,831)
+(815,829)
+(813,828)
+(812,826)
+(811,825)
+(807,826)
+(805,827)
+(804,828)
+(801,831)
+(800,832)
+(799,837)
+(799,838)
+(802,839)
+(805,839)
+(805,844)
+(804,845)
+(808,849)
+(810,853)
+(809,854)
+(807,852)
+(805,852)
+(803,850)
+(802,850)
+(801,852)
+(799,853)
+(797,853)
+(795,852)
+(796,850)
+(796,849)
+(795,849)
+(791,853)
+(790,854)
+(789,856)
+(790,857)
+(792,860)
+(791,863)
+(793,864)
+(794,866)
+(795,867)
+(795,872)
+(796,873)
+(795,875)
+(796,876)
+(795,877)
+(795,879)
+(796,880)
+(794,882)
+(794,886)
+(792,889)
+(791,890)
+(792,892)
+(792,893)
+(791,894)
+(787,894)
+(784,895)
+(783,902)
+(784,905)
+(782,910)
+(782,911)
+(780,912)
+(778,912)
+(778,911)
+(777,909)
+(776,909)
+(776,908)
+(778,905)
+(776,905)
+(777,904)
+(777,903)
+(775,903)
+(775,901)
+(776,899)
+(775,899)
+(775,897)
+(774,897)
+(774,892)
+(773,891)
+(773,886)
+(772,885)
+(773,884)
+(774,882)
+(774,878)
+(772,876)
+(773,875)
+(773,871)
+(771,873)
+(770,873)
+(771,872)
+(771,871)
+(766,871)
+(763,869)
+(760,868)
+(760,862)
+(761,861)
+(761,860)
+(762,859)
+(762,856)
+(761,855)
+(761,854)
+(760,853)
+(759,852)
+(755,856)
+(751,853)
+(748,852)
+(747,852)
+(747,851)
+51
+(698,2239)
+(700,2237)
+(702,2238)
+(702,2240)
+(704,2238)
+(706,2238)
+(708,2237)
+(710,2233)
+(708,2231)
+(708,2228)
+(711,2227)
+(711,2226)
+(708,2225)
+(710,2224)
+(710,2222)
+(713,2222)
+(713,2220)
+(714,2219)
+(716,2220)
+(723,2220)
+(726,2221)
+(727,2220)
+(728,2221)
+(730,2221)
+(735,2224)
+(737,2228)
+(736,2230)
+(733,2230)
+(732,2236)
+(733,2237)
+(735,2237)
+(737,2239)
+(736,2241)
+(737,2243)
+(738,2249)
+(737,2251)
+(734,2253)
+(730,2253)
+(727,2256)
+(721,2255)
+(720,2254)
+(719,2254)
+(715,2252)
+(714,2249)
+(710,2251)
+(710,2249)
+(708,2247)
+(704,2246)
+(699,2245)
+(697,2242)
+(698,2239)
+118
+(682,248)
+(681,251)
+(678,253)
+(677,255)
+(674,256)
+(672,258)
+(672,265)
+(669,272)
+(666,275)
+(658,280)
+(657,282)
+(654,285)
+(653,284)
+(646,284)
+(646,283)
+(644,284)
+(643,282)
+(634,282)
+(634,281)
+(635,281)
+(634,278)
+(633,277)
+(631,277)
+(631,280)
+(629,278)
+(626,280)
+(622,280)
+(622,281)
+(620,281)
+(621,279)
+(619,280)
+(613,277)
+(612,278)
+(611,276)
+(612,276)
+(609,275)
+(608,273)
+(605,274)
+(605,275)
+(608,276)
+(607,278)
+(606,277)
+(606,276)
+(605,277)
+(604,276)
+(603,276)
+(603,277)
+(600,276)
+(598,278)
+(597,276)
+(594,277)
+(595,278)
+(594,279)
+(593,279)
+(590,275)
+(591,274)
+(592,275)
+(593,275)
+(593,274)
+(596,274)
+(596,273)
+(597,272)
+(599,274)
+(602,273)
+(601,271)
+(604,273)
+(605,272)
+(605,270)
+(604,270)
+(603,268)
+(604,268)
+(603,267)
+(605,268)
+(606,270)
+(608,268)
+(607,266)
+(608,266)
+(609,271)
+(611,271)
+(610,269)
+(611,267)
+(612,270)
+(616,270)
+(621,267)
+(623,265)
+(624,263)
+(622,261)
+(623,260)
+(625,263)
+(624,267)
+(627,266)
+(627,268)
+(629,268)
+(631,266)
+(635,270)
+(638,267)
+(640,268)
+(638,269)
+(640,271)
+(637,271)
+(635,275)
+(634,276)
+(637,279)
+(642,281)
+(648,281)
+(653,283)
+(658,278)
+(665,274)
+(670,267)
+(671,264)
+(671,258)
+(673,256)
+(676,254)
+(677,252)
+(680,250)
+(682,247)
+(685,247)
+(682,248)
+666
+(538,14)
+(536,13)
+(533,13)
+(529,15)
+(530,12)
+(529,11)
+(525,11)
+(524,13)
+(522,12)
+(519,9)
+(518,10)
+(517,11)
+(515,11)
+(514,10)
+(515,8)
+(510,6)
+(509,8)
+(508,8)
+(506,6)
+(504,6)
+(504,12)
+(504,15)
+(500,15)
+(500,18)
+(499,18)
+(499,12)
+(498,14)
+(498,13)
+(495,12)
+(494,12)
+(493,9)
+(492,13)
+(491,12)
+(488,11)
+(487,12)
+(487,17)
+(485,16)
+(485,14)
+(485,13)
+(484,12)
+(483,9)
+(483,8)
+(482,7)
+(480,9)
+(479,10)
+(476,5)
+(476,8)
+(473,7)
+(475,10)
+(474,11)
+(468,9)
+(468,10)
+(471,11)
+(471,12)
+(472,12)
+(472,13)
+(474,13)
+(474,15)
+(476,16)
+(475,16)
+(472,14)
+(472,16)
+(471,14)
+(471,16)
+(469,12)
+(468,13)
+(467,17)
+(466,16)
+(465,17)
+(462,17)
+(462,16)
+(462,17)
+(459,16)
+(459,17)
+(456,17)
+(455,18)
+(453,17)
+(455,14)
+(454,15)
+(453,13)
+(452,12)
+(451,13)
+(452,15)
+(450,15)
+(449,14)
+(448,14)
+(447,15)
+(448,16)
+(450,16)
+(449,16)
+(450,18)
+(451,17)
+(453,19)
+(454,20)
+(453,20)
+(448,18)
+(446,18)
+(446,17)
+(445,17)
+(445,18)
+(444,19)
+(443,17)
+(442,17)
+(441,16)
+(441,17)
+(438,16)
+(437,19)
+(436,16)
+(433,16)
+(433,18)
+(431,16)
+(431,18)
+(430,17)
+(430,16)
+(429,17)
+(427,16)
+(426,16)
+(426,17)
+(426,19)
+(423,18)
+(422,16)
+(423,16)
+(423,15)
+(416,17)
+(417,15)
+(416,14)
+(411,13)
+(409,14)
+(405,15)
+(399,15)
+(399,16)
+(401,18)
+(404,18)
+(407,19)
+(402,18)
+(402,19)
+(398,18)
+(400,18)
+(399,17)
+(397,16)
+(397,14)
+(396,14)
+(397,13)
+(397,12)
+(395,11)
+(398,10)
+(396,9)
+(396,10)
+(393,8)
+(391,9)
+(390,8)
+(388,7)
+(387,8)
+(383,8)
+(376,5)
+(373,7)
+(367,6)
+(369,4)
+(372,5)
+(376,4)
+(378,5)
+(378,4)
+(380,6)
+(384,6)
+(386,7)
+(389,6)
+(388,5)
+(385,4)
+(385,2)
+(380,0)
+(380,-1)
+(382,-2)
+(386,-2)
+(389,-6)
+(391,-7)
+(391,-10)
+(393,-14)
+(394,-14)
+(396,-17)
+(397,-16)
+(397,-22)
+(401,-25)
+(402,-33)
+(404,-34)
+(402,-36)
+(404,-37)
+(405,-39)
+(407,-39)
+(408,-42)
+(411,-43)
+(410,-41)
+(411,-40)
+(410,-39)
+(410,-38)
+(406,-35)
+(407,-35)
+(407,-33)
+(411,-33)
+(412,-33)
+(411,-32)
+(404,-31)
+(403,-27)
+(404,-26)
+(402,-25)
+(403,-24)
+(408,-25)
+(411,-23)
+(408,-22)
+(401,-21)
+(403,-20)
+(402,-18)
+(404,-17)
+(402,-16)
+(403,-15)
+(405,-14)
+(405,-12)
+(404,-11)
+(403,-10)
+(402,-11)
+(400,-11)
+(398,-10)
+(398,-7)
+(397,-7)
+(397,-6)
+(397,-5)
+(397,-4)
+(398,-3)
+(399,-2)
+(404,-2)
+(403,-1)
+(405,-1)
+(406,-5)
+(407,-5)
+(408,-3)
+(408,-5)
+(409,-5)
+(409,-3)
+(409,-2)
+(410,-3)
+(411,-2)
+(413,-2)
+(412,-1)
+(411,-1)
+(410,0)
+(410,1)
+(411,1)
+(410,2)
+(411,2)
+(411,4)
+(412,4)
+(414,6)
+(413,7)
+(415,7)
+(415,5)
+(414,4)
+(414,0)
+(416,1)
+(416,3)
+(420,3)
+(418,4)
+(418,7)
+(417,7)
+(417,8)
+(419,8)
+(420,5)
+(421,4)
+(422,4)
+(421,6)
+(423,5)
+(423,8)
+(424,7)
+(424,5)
+(426,5)
+(426,4)
+(427,6)
+(428,6)
+(428,5)
+(430,4)
+(429,3)
+(431,2)
+(430,1)
+(433,0)
+(434,1)
+(433,1)
+(431,1)
+(431,4)
+(432,5)
+(430,6)
+(433,8)
+(433,9)
+(434,8)
+(436,9)
+(436,10)
+(434,10)
+(436,12)
+(439,11)
+(438,7)
+(440,7)
+(441,6)
+(446,2)
+(447,4)
+(448,2)
+(448,3)
+(449,3)
+(449,2)
+(449,1)
+(450,0)
+(451,-5)
+(449,-4)
+(446,-2)
+(445,-3)
+(447,-3)
+(448,-5)
+(447,-7)
+(447,-8)
+(448,-7)
+(449,-7)
+(451,-10)
+(451,-12)
+(451,-13)
+(450,-14)
+(451,-15)
+(451,-13)
+(453,-14)
+(453,-12)
+(454,-11)
+(452,-10)
+(452,-8)
+(454,-8)
+(453,-7)
+(452,-5)
+(452,-3)
+(453,-4)
+(453,-3)
+(452,-1)
+(453,0)
+(452,3)
+(454,0)
+(456,-1)
+(457,-4)
+(459,-3)
+(460,-5)
+(458,-7)
+(459,-8)
+(458,-11)
+(459,-14)
+(459,-15)
+(459,-13)
+(458,-14)
+(458,-17)
+(456,-18)
+(457,-19)
+(457,-26)
+(454,-28)
+(455,-28)
+(456,-31)
+(453,-32)
+(454,-34)
+(453,-35)
+(453,-38)
+(452,-39)
+(452,-40)
+(454,-40)
+(454,-33)
+(456,-33)
+(457,-31)
+(457,-29)
+(458,-27)
+(458,-25)
+(461,-25)
+(460,-23)
+(459,-23)
+(459,-17)
+(461,-16)
+(462,-14)
+(463,-16)
+(463,-13)
+(461,-10)
+(462,-10)
+(463,-10)
+(464,-9)
+(464,-6)
+(464,-5)
+(465,-5)
+(466,-10)
+(467,-9)
+(468,-10)
+(468,-8)
+(469,-8)
+(471,-10)
+(472,-10)
+(476,-10)
+(475,-13)
+(479,-11)
+(478,-12)
+(479,-14)
+(481,-15)
+(483,-16)
+(486,-19)
+(483,-19)
+(479,-21)
+(479,-22)
+(479,-24)
+(477,-27)
+(478,-27)
+(481,-22)
+(483,-21)
+(484,-24)
+(486,-25)
+(486,-27)
+(483,-30)
+(480,-33)
+(483,-32)
+(485,-31)
+(487,-30)
+(490,-33)
+(489,-33)
+(487,-33)
+(484,-39)
+(486,-38)
+(487,-39)
+(486,-40)
+(485,-43)
+(486,-45)
+(485,-46)
+(486,-46)
+(488,-45)
+(488,-44)
+(487,-43)
+(489,-38)
+(488,-36)
+(491,-35)
+(492,-37)
+(492,-39)
+(494,-39)
+(495,-41)
+(494,-42)
+(497,-42)
+(496,-45)
+(498,-44)
+(499,-45)
+(499,-51)
+(500,-46)
+(500,-45)
+(510,-52)
+(510,-54)
+(511,-53)
+(516,-55)
+(518,-57)
+(518,-59)
+(520,-61)
+(521,-65)
+(520,-68)
+(518,-69)
+(515,-68)
+(513,-68)
+(512,-69)
+(514,-69)
+(518,-71)
+(520,-71)
+(520,-77)
+(521,-77)
+(525,-82)
+(525,-84)
+(524,-89)
+(523,-90)
+(521,-90)
+(518,-94)
+(520,-98)
+(520,-100)
+(518,-101)
+(517,-103)
+(521,-100)
+(521,-96)
+(520,-96)
+(521,-91)
+(524,-90)
+(526,-89)
+(526,-84)
+(527,-83)
+(526,-83)
+(528,-82)
+(530,-83)
+(529,-81)
+(527,-82)
+(525,-81)
+(524,-79)
+(524,-78)
+(522,-77)
+(521,-75)
+(521,-68)
+(523,-62)
+(521,-61)
+(526,-61)
+(528,-64)
+(528,-71)
+(528,-66)
+(534,-69)
+(534,-70)
+(537,-71)
+(540,-71)
+(538,-70)
+(540,-69)
+(542,-68)
+(547,-69)
+(545,-67)
+(541,-66)
+(537,-69)
+(535,-69)
+(531,-66)
+(529,-63)
+(532,-61)
+(528,-61)
+(525,-59)
+(521,-59)
+(519,-57)
+(518,-55)
+(513,-52)
+(513,-51)
+(514,-50)
+(516,-47)
+(519,-48)
+(520,-50)
+(521,-51)
+(522,-50)
+(522,-49)
+(526,-48)
+(526,-47)
+(523,-47)
+(521,-49)
+(521,-47)
+(516,-44)
+(520,-42)
+(517,-43)
+(516,-43)
+(516,-42)
+(514,-47)
+(512,-48)
+(511,-50)
+(509,-50)
+(507,-45)
+(503,-44)
+(503,-42)
+(501,-42)
+(500,-39)
+(502,-38)
+(499,-38)
+(496,-34)
+(497,-32)
+(494,-34)
+(492,-32)
+(493,-31)
+(491,-31)
+(491,-29)
+(492,-28)
+(491,-27)
+(491,-24)
+(493,-23)
+(494,-24)
+(495,-23)
+(495,-21)
+(493,-20)
+(494,-19)
+(495,-19)
+(495,-16)
+(494,-15)
+(495,-13)
+(493,-13)
+(493,-11)
+(490,-11)
+(492,-13)
+(491,-14)
+(492,-16)
+(491,-17)
+(492,-20)
+(488,-20)
+(488,-17)
+(487,-17)
+(486,-15)
+(485,-14)
+(484,-15)
+(484,-12)
+(482,-11)
+(483,-9)
+(482,-8)
+(478,-7)
+(477,-5)
+(477,-6)
+(476,-5)
+(474,-6)
+(473,-5)
+(472,-5)
+(470,-4)
+(468,-5)
+(466,-4)
+(467,-1)
+(468,0)
+(468,1)
+(467,0)
+(466,0)
+(468,2)
+(467,3)
+(466,5)
+(468,4)
+(469,5)
+(470,4)
+(471,4)
+(471,3)
+(473,2)
+(473,4)
+(474,5)
+(476,2)
+(476,4)
+(478,3)
+(479,6)
+(480,7)
+(481,6)
+(480,4)
+(480,3)
+(481,4)
+(483,2)
+(484,2)
+(486,4)
+(484,4)
+(485,6)
+(486,7)
+(486,8)
+(484,8)
+(485,11)
+(487,10)
+(488,9)
+(491,10)
+(491,8)
+(493,7)
+(493,5)
+(494,6)
+(495,6)
+(494,7)
+(495,8)
+(495,9)
+(495,11)
+(498,11)
+(500,10)
+(501,14)
+(503,13)
+(502,8)
+(503,5)
+(504,5)
+(505,5)
+(507,4)
+(508,5)
+(508,7)
+(510,4)
+(512,5)
+(513,4)
+(516,8)
+(515,10)
+(519,8)
+(520,8)
+(522,10)
+(529,9)
+(531,12)
+(533,11)
+(538,12)
+(539,16)
+(538,14)
+95
+(279,2170)
+(277,2171)
+(276,2170)
+(272,2172)
+(269,2172)
+(267,2173)
+(260,2171)
+(258,2173)
+(251,2173)
+(248,2175)
+(244,2173)
+(242,2173)
+(240,2172)
+(238,2172)
+(237,2171)
+(235,2172)
+(233,2173)
+(225,2176)
+(221,2175)
+(221,2173)
+(216,2172)
+(211,2172)
+(202,2175)
+(201,2175)
+(199,2173)
+(195,2177)
+(191,2178)
+(191,2180)
+(187,2183)
+(181,2183)
+(179,2186)
+(174,2192)
+(174,2199)
+(173,2201)
+(171,2202)
+(169,2202)
+(164,2202)
+(163,2201)
+(149,2202)
+(145,2199)
+(144,2197)
+(145,2196)
+(144,2193)
+(147,2191)
+(149,2192)
+(151,2192)
+(154,2191)
+(159,2186)
+(163,2187)
+(171,2183)
+(175,2177)
+(177,2175)
+(179,2175)
+(178,2173)
+(179,2171)
+(179,2168)
+(181,2167)
+(182,2168)
+(187,2169)
+(190,2168)
+(193,2169)
+(192,2167)
+(193,2166)
+(195,2162)
+(199,2159)
+(199,2157)
+(205,2156)
+(208,2157)
+(213,2156)
+(213,2155)
+(209,2156)
+(209,2154)
+(213,2154)
+(218,2150)
+(222,2150)
+(227,2151)
+(233,2152)
+(237,2151)
+(248,2156)
+(263,2155)
+(275,2157)
+(278,2159)
+(278,2160)
+(275,2160)
+(271,2162)
+(273,2163)
+(274,2162)
+(277,2162)
+(278,2162)
+(277,2168)
+(278,2168)
+(279,2167)
+(280,2168)
+(280,2170)
+(279,2170)
+129
+(74,1828)
+(76,1828)
+(76,1827)
+(74,1827)
+(74,1826)
+(76,1824)
+(75,1824)
+(76,1823)
+(79,1823)
+(81,1826)
+(83,1826)
+(84,1827)
+(85,1828)
+(88,1829)
+(89,1829)
+(91,1830)
+(93,1832)
+(94,1833)
+(95,1836)
+(96,1837)
+(97,1838)
+(99,1839)
+(100,1840)
+(101,1841)
+(102,1843)
+(103,1844)
+(105,1845)
+(106,1846)
+(107,1848)
+(109,1850)
+(110,1851)
+(114,1855)
+(116,1857)
+(116,1860)
+(117,1861)
+(120,1864)
+(121,1866)
+(122,1868)
+(124,1870)
+(125,1871)
+(126,1873)
+(127,1874)
+(129,1875)
+(130,1876)
+(131,1877)
+(132,1878)
+(135,1879)
+(136,1880)
+(139,1882)
+(140,1884)
+(140,1886)
+(141,1887)
+(143,1888)
+(144,1888)
+(143,1889)
+(142,1889)
+(141,1889)
+(140,1888)
+(139,1887)
+(139,1886)
+(138,1884)
+(137,1883)
+(135,1881)
+(134,1882)
+(132,1882)
+(130,1883)
+(128,1884)
+(127,1883)
+(124,1884)
+(120,1884)
+(120,1883)
+(115,1885)
+(115,1884)
+(110,1883)
+(109,1882)
+(109,1881)
+(110,1880)
+(109,1879)
+(106,1880)
+(105,1879)
+(103,1878)
+(102,1877)
+(101,1876)
+(100,1875)
+(99,1874)
+(98,1873)
+(97,1872)
+(96,1870)
+(95,1868)
+(95,1863)
+(94,1863)
+(92,1860)
+(91,1857)
+(90,1856)
+(87,1855)
+(85,1853)
+(84,1852)
+(83,1851)
+(81,1850)
+(79,1848)
+(78,1847)
+(75,1845)
+(74,1844)
+(73,1843)
+(71,1843)
+(69,1842)
+(67,1840)
+(66,1838)
+(64,1837)
+(64,1836)
+(63,1837)
+(62,1835)
+(61,1836)
+(62,1834)
+(63,1833)
+(60,1832)
+(63,1832)
+(62,1831)
+(62,1830)
+(63,1830)
+(66,1831)
+(67,1830)
+(68,1829)
+(70,1830)
+(71,1829)
+(72,1830)
+(73,1830)
+(74,1829)
+(74,1828)
+38
+(-5,1784)
+(-5,1785)
+(-8,1787)
+(-8,1788)
+(-10,1789)
+(-10,1791)
+(-9,1792)
+(-9,1794)
+(-11,1793)
+(-17,1793)
+(-23,1789)
+(-25,1785)
+(-27,1781)
+(-28,1779)
+(-29,1778)
+(-34,1776)
+(-36,1774)
+(-38,1769)
+(-37,1768)
+(-36,1766)
+(-40,1765)
+(-42,1762)
+(-37,1763)
+(-35,1760)
+(-36,1759)
+(-35,1758)
+(-34,1759)
+(-32,1761)
+(-29,1759)
+(-28,1762)
+(-25,1763)
+(-23,1763)
+(-20,1766)
+(-15,1767)
+(-10,1770)
+(-7,1780)
+(-5,1782)
+(-5,1784)
+601
+(-62,2044)
+(-64,2044)
+(-66,2042)
+(-66,2039)
+(-67,2039)
+(-68,2040)
+(-70,2039)
+(-72,2035)
+(-75,2032)
+(-77,2034)
+(-77,2036)
+(-78,2036)
+(-80,2039)
+(-82,2039)
+(-82,2038)
+(-81,2039)
+(-80,2038)
+(-79,2034)
+(-80,2028)
+(-82,2029)
+(-83,2029)
+(-83,2030)
+(-85,2031)
+(-84,2029)
+(-83,2028)
+(-85,2027)
+(-86,2027)
+(-86,2031)
+(-88,2032)
+(-88,2033)
+(-90,2034)
+(-89,2036)
+(-90,2036)
+(-91,2037)
+(-92,2035)
+(-91,2033)
+(-91,2030)
+(-88,2028)
+(-89,2027)
+(-90,2023)
+(-88,2021)
+(-89,2019)
+(-91,2021)
+(-92,2021)
+(-93,2020)
+(-94,2017)
+(-94,2019)
+(-95,2019)
+(-96,2021)
+(-97,2021)
+(-98,2020)
+(-98,2023)
+(-101,2022)
+(-101,2012)
+(-106,2019)
+(-107,2019)
+(-106,2014)
+(-109,2013)
+(-109,2012)
+(-110,2011)
+(-111,2008)
+(-110,2007)
+(-108,2007)
+(-108,2003)
+(-111,1999)
+(-115,1998)
+(-115,1997)
+(-116,1998)
+(-116,2000)
+(-115,2001)
+(-113,2007)
+(-113,2008)
+(-114,2007)
+(-115,2009)
+(-116,2009)
+(-117,2008)
+(-118,2012)
+(-119,2012)
+(-119,2014)
+(-122,2013)
+(-121,2009)
+(-118,2004)
+(-119,2003)
+(-122,2004)
+(-123,2003)
+(-121,2000)
+(-123,1999)
+(-121,1998)
+(-120,1997)
+(-121,1996)
+(-122,1997)
+(-124,1998)
+(-123,1993)
+(-125,1993)
+(-127,1992)
+(-128,1993)
+(-127,1996)
+(-128,2000)
+(-130,2002)
+(-129,2006)
+(-131,2016)
+(-130,2017)
+(-127,2021)
+(-125,2026)
+(-128,2029)
+(-133,2030)
+(-137,2025)
+(-137,2023)
+(-138,2021)
+(-139,2019)
+(-142,2016)
+(-143,2012)
+(-145,2010)
+(-146,2012)
+(-147,2012)
+(-147,2008)
+(-148,2004)
+(-150,2008)
+(-152,2007)
+(-152,2005)
+(-153,2006)
+(-153,2004)
+(-152,2003)
+(-152,2001)
+(-151,2001)
+(-150,2000)
+(-151,2000)
+(-150,1998)
+(-151,1992)
+(-148,1990)
+(-148,1988)
+(-145,1988)
+(-143,1986)
+(-143,1981)
+(-143,1977)
+(-145,1975)
+(-147,1974)
+(-148,1974)
+(-149,1972)
+(-154,1975)
+(-154,1973)
+(-158,1972)
+(-161,1975)
+(-162,1973)
+(-163,1973)
+(-166,1975)
+(-167,1978)
+(-168,1976)
+(-169,1976)
+(-170,1978)
+(-171,1978)
+(-171,1981)
+(-173,1982)
+(-172,1977)
+(-171,1975)
+(-168,1974)
+(-170,1973)
+(-171,1971)
+(-173,1970)
+(-178,1969)
+(-181,1965)
+(-179,1965)
+(-176,1965)
+(-175,1968)
+(-173,1965)
+(-173,1963)
+(-172,1963)
+(-170,1971)
+(-168,1971)
+(-165,1972)
+(-163,1972)
+(-163,1969)
+(-161,1971)
+(-160,1969)
+(-159,1968)
+(-158,1969)
+(-156,1969)
+(-155,1970)
+(-154,1970)
+(-154,1968)
+(-151,1970)
+(-149,1968)
+(-150,1966)
+(-152,1964)
+(-149,1964)
+(-151,1961)
+(-151,1960)
+(-149,1962)
+(-146,1959)
+(-144,1960)
+(-143,1959)
+(-149,1957)
+(-154,1951)
+(-153,1950)
+(-151,1951)
+(-150,1953)
+(-147,1953)
+(-148,1950)
+(-147,1949)
+(-148,1946)
+(-146,1946)
+(-146,1942)
+(-145,1941)
+(-145,1942)
+(-144,1942)
+(-144,1940)
+(-141,1939)
+(-140,1939)
+(-140,1941)
+(-139,1939)
+(-136,1939)
+(-137,1935)
+(-136,1934)
+(-135,1933)
+(-139,1933)
+(-139,1932)
+(-143,1930)
+(-143,1927)
+(-142,1927)
+(-142,1924)
+(-143,1924)
+(-144,1924)
+(-146,1924)
+(-146,1926)
+(-148,1927)
+(-149,1929)
+(-150,1930)
+(-153,1930)
+(-152,1927)
+(-150,1926)
+(-151,1924)
+(-152,1924)
+(-149,1922)
+(-150,1921)
+(-149,1920)
+(-150,1919)
+(-156,1919)
+(-156,1916)
+(-158,1918)
+(-161,1919)
+(-161,1920)
+(-163,1920)
+(-166,1921)
+(-166,1919)
+(-166,1918)
+(-163,1918)
+(-161,1916)
+(-159,1916)
+(-159,1914)
+(-158,1914)
+(-163,1914)
+(-163,1912)
+(-162,1913)
+(-161,1911)
+(-163,1909)
+(-166,1911)
+(-168,1910)
+(-170,1909)
+(-170,1907)
+(-164,1907)
+(-163,1907)
+(-163,1905)
+(-161,1907)
+(-160,1906)
+(-159,1907)
+(-159,1909)
+(-157,1909)
+(-157,1912)
+(-157,1908)
+(-158,1906)
+(-157,1905)
+(-153,1905)
+(-153,1903)
+(-150,1903)
+(-150,1906)
+(-148,1908)
+(-145,1908)
+(-144,1905)
+(-142,1905)
+(-142,1907)
+(-141,1905)
+(-140,1905)
+(-140,1902)
+(-141,1902)
+(-142,1898)
+(-140,1898)
+(-129,1901)
+(-127,1901)
+(-125,1902)
+(-123,1901)
+(-120,1902)
+(-120,1901)
+(-122,1900)
+(-123,1897)
+(-121,1897)
+(-117,1898)
+(-114,1901)
+(-103,1903)
+(-100,1903)
+(-97,1906)
+(-94,1905)
+(-93,1905)
+(-90,1904)
+(-89,1905)
+(-88,1906)
+(-89,1907)
+(-89,1908)
+(-81,1909)
+(-79,1911)
+(-75,1912)
+(-70,1912)
+(-68,1911)
+(-66,1912)
+(-64,1911)
+(-62,1912)
+(-61,1911)
+(-62,1910)
+(-59,1910)
+(-63,1908)
+(-63,1906)
+(-62,1906)
+(-60,1907)
+(-59,1907)
+(-57,1906)
+(-52,1906)
+(-51,1905)
+(-51,1902)
+(-48,1902)
+(-44,1904)
+(-39,1908)
+(-38,1907)
+(-34,1908)
+(-32,1909)
+(-29,1910)
+(-26,1915)
+(-18,1920)
+(-18,1921)
+(-20,1922)
+(-19,1922)
+(-15,1920)
+(-15,1919)
+(-11,1919)
+(-11,1918)
+(-12,1915)
+(-9,1916)
+(-8,1915)
+(-6,1919)
+(-6,1924)
+(-4,1923)
+(-4,1921)
+(-3,1921)
+(-2,1925)
+(-3,1927)
+(-5,1931)
+(-3,1932)
+(-2,1933)
+(0,1932)
+(2,1932)
+(0,1932)
+(-2,1935)
+(-2,1937)
+(0,1938)
+(1,1936)
+(3,1935)
+(1,1941)
+(-1,1941)
+(-2,1942)
+(-1,1942)
+(1,1943)
+(3,1943)
+(5,1942)
+(5,1946)
+(7,1947)
+(6,1947)
+(3,1945)
+(2,1946)
+(2,1948)
+(5,1950)
+(3,1951)
+(5,1952)
+(3,1953)
+(3,1954)
+(4,1954)
+(7,1953)
+(6,1955)
+(7,1955)
+(8,1954)
+(8,1956)
+(9,1955)
+(11,1955)
+(11,1954)
+(12,1955)
+(12,1957)
+(17,1959)
+(17,1960)
+(14,1959)
+(13,1961)
+(10,1959)
+(10,1962)
+(12,1963)
+(11,1964)
+(8,1962)
+(8,1959)
+(5,1960)
+(6,1965)
+(8,1965)
+(6,1967)
+(9,1969)
+(9,1971)
+(11,1971)
+(10,1972)
+(12,1973)
+(10,1974)
+(9,1973)
+(8,1974)
+(7,1972)
+(6,1974)
+(4,1974)
+(5,1979)
+(11,1986)
+(13,1986)
+(13,1983)
+(15,1985)
+(16,1984)
+(15,1987)
+(13,1987)
+(13,1988)
+(15,1988)
+(16,1990)
+(18,1989)
+(19,1989)
+(22,1996)
+(23,1996)
+(24,1992)
+(26,1991)
+(26,1994)
+(28,1995)
+(29,1997)
+(27,1997)
+(25,1998)
+(27,2001)
+(29,2002)
+(29,2004)
+(27,2002)
+(25,2001)
+(23,2002)
+(23,1999)
+(21,1999)
+(22,2002)
+(21,2002)
+(20,2002)
+(20,2004)
+(19,2006)
+(21,2005)
+(21,2008)
+(20,2007)
+(19,2010)
+(18,2010)
+(18,2011)
+(17,2011)
+(17,2007)
+(17,2004)
+(17,2006)
+(16,2005)
+(15,2007)
+(14,2005)
+(13,2008)
+(11,2009)
+(14,2010)
+(12,2010)
+(13,2012)
+(11,2011)
+(12,2012)
+(11,2013)
+(11,2014)
+(12,2015)
+(13,2017)
+(17,2018)
+(19,2017)
+(19,2018)
+(19,2020)
+(20,2022)
+(19,2025)
+(16,2022)
+(15,2025)
+(12,2022)
+(11,2025)
+(12,2028)
+(13,2027)
+(14,2028)
+(12,2028)
+(9,2029)
+(10,2030)
+(12,2030)
+(10,2034)
+(12,2034)
+(12,2035)
+(14,2035)
+(14,2037)
+(16,2039)
+(14,2040)
+(10,2039)
+(9,2040)
+(6,2039)
+(6,2037)
+(5,2037)
+(0,2040)
+(-3,2040)
+(-3,2042)
+(-5,2041)
+(-5,2043)
+(-7,2043)
+(-4,2044)
+(-4,2048)
+(-5,2048)
+(-6,2047)
+(-7,2048)
+(-8,2045)
+(-9,2045)
+(-12,2048)
+(-11,2051)
+(-12,2051)
+(-14,2052)
+(-15,2055)
+(-16,2055)
+(-18,2054)
+(-19,2055)
+(-20,2055)
+(-21,2057)
+(-22,2057)
+(-23,2056)
+(-24,2057)
+(-24,2058)
+(-21,2059)
+(-17,2063)
+(-14,2063)
+(-14,2061)
+(-12,2061)
+(-10,2067)
+(-11,2070)
+(-9,2074)
+(-9,2076)
+(-5,2081)
+(-6,2083)
+(-5,2084)
+(-8,2083)
+(-10,2084)
+(-12,2088)
+(-16,2089)
+(-17,2091)
+(-19,2090)
+(-19,2088)
+(-17,2087)
+(-18,2085)
+(-20,2085)
+(-21,2085)
+(-20,2076)
+(-19,2074)
+(-21,2067)
+(-24,2067)
+(-27,2070)
+(-28,2070)
+(-32,2065)
+(-31,2064)
+(-30,2065)
+(-29,2064)
+(-27,2064)
+(-27,2062)
+(-28,2062)
+(-29,2060)
+(-27,2059)
+(-27,2058)
+(-29,2058)
+(-28,2057)
+(-26,2055)
+(-26,2053)
+(-25,2053)
+(-25,2052)
+(-29,2050)
+(-32,2049)
+(-32,2048)
+(-32,2046)
+(-33,2046)
+(-34,2044)
+(-36,2045)
+(-38,2043)
+(-44,2042)
+(-44,2044)
+(-47,2045)
+(-48,2044)
+(-52,2051)
+(-53,2051)
+(-56,2048)
+(-60,2048)
+(-59,2045)
+(-59,2044)
+(-60,2044)
+(-60,2042)
+(-61,2043)
+(-61,2046)
+(-62,2044)
+3
+(-148,1731)
+(-149,1732)
+(-148,1731)
+95
+(-148,1731)
+(-147,1730)
+(-142,1731)
+(-139,1736)
+(-139,1737)
+(-136,1738)
+(-135,1738)
+(-140,1733)
+(-137,1735)
+(-135,1736)
+(-134,1735)
+(-135,1733)
+(-136,1732)
+(-133,1731)
+(-131,1732)
+(-130,1732)
+(-130,1733)
+(-129,1734)
+(-128,1731)
+(-126,1734)
+(-126,1735)
+(-123,1738)
+(-120,1737)
+(-119,1736)
+(-121,1734)
+(-122,1735)
+(-123,1734)
+(-123,1733)
+(-121,1733)
+(-118,1734)
+(-118,1736)
+(-116,1737)
+(-110,1740)
+(-108,1742)
+(-107,1741)
+(-105,1741)
+(-105,1742)
+(-100,1746)
+(-97,1745)
+(-98,1744)
+(-102,1741)
+(-100,1741)
+(-97,1742)
+(-95,1743)
+(-98,1747)
+(-98,1749)
+(-100,1751)
+(-101,1753)
+(-102,1755)
+(-104,1755)
+(-104,1756)
+(-107,1756)
+(-110,1757)
+(-114,1757)
+(-116,1758)
+(-116,1759)
+(-119,1760)
+(-119,1761)
+(-120,1760)
+(-122,1762)
+(-123,1762)
+(-122,1760)
+(-124,1760)
+(-124,1759)
+(-126,1759)
+(-124,1757)
+(-128,1756)
+(-127,1756)
+(-125,1756)
+(-126,1755)
+(-128,1755)
+(-129,1756)
+(-130,1757)
+(-129,1754)
+(-130,1752)
+(-132,1753)
+(-132,1751)
+(-134,1751)
+(-135,1752)
+(-136,1751)
+(-135,1750)
+(-136,1749)
+(-140,1747)
+(-137,1747)
+(-139,1746)
+(-139,1745)
+(-144,1743)
+(-143,1743)
+(-142,1744)
+(-138,1742)
+(-138,1741)
+(-142,1740)
+(-143,1739)
+(-144,1734)
+(-148,1731)
+69
+(-161,1091)
+(-160,1093)
+(-153,1095)
+(-150,1093)
+(-145,1094)
+(-144,1094)
+(-144,1096)
+(-141,1097)
+(-127,1098)
+(-121,1091)
+(-119,1091)
+(-115,1090)
+(-113,1091)
+(-110,1090)
+(-107,1083)
+(-103,1083)
+(-100,1085)
+(-99,1087)
+(-100,1088)
+(-103,1089)
+(-103,1092)
+(-104,1092)
+(-102,1093)
+(-99,1091)
+(-96,1092)
+(-95,1095)
+(-96,1097)
+(-100,1097)
+(-100,1099)
+(-99,1100)
+(-99,1101)
+(-96,1104)
+(-96,1106)
+(-97,1108)
+(-96,1109)
+(-95,1111)
+(-100,1109)
+(-103,1107)
+(-107,1098)
+(-108,1099)
+(-109,1098)
+(-110,1098)
+(-112,1097)
+(-114,1097)
+(-117,1097)
+(-120,1098)
+(-120,1101)
+(-121,1102)
+(-119,1103)
+(-118,1105)
+(-118,1106)
+(-123,1104)
+(-131,1105)
+(-131,1108)
+(-125,1114)
+(-125,1116)
+(-128,1116)
+(-131,1113)
+(-134,1106)
+(-135,1107)
+(-136,1110)
+(-138,1104)
+(-144,1101)
+(-148,1097)
+(-154,1098)
+(-161,1095)
+(-163,1093)
+(-163,1091)
+(-161,1091)
+236
+(-494,1834)
+(-492,1834)
+(-489,1835)
+(-486,1832)
+(-484,1832)
+(-482,1830)
+(-481,1827)
+(-480,1827)
+(-478,1825)
+(-477,1825)
+(-476,1823)
+(-474,1821)
+(-473,1820)
+(-473,1818)
+(-471,1816)
+(-466,1816)
+(-462,1814)
+(-457,1812)
+(-453,1813)
+(-448,1813)
+(-445,1811)
+(-442,1811)
+(-440,1809)
+(-438,1809)
+(-434,1807)
+(-432,1805)
+(-427,1798)
+(-425,1791)
+(-423,1787)
+(-417,1783)
+(-414,1780)
+(-410,1778)
+(-407,1773)
+(-402,1770)
+(-397,1769)
+(-394,1769)
+(-392,1769)
+(-391,1769)
+(-392,1768)
+(-391,1766)
+(-388,1764)
+(-385,1764)
+(-377,1760)
+(-373,1760)
+(-371,1759)
+(-370,1757)
+(-368,1756)
+(-365,1751)
+(-355,1751)
+(-354,1754)
+(-349,1759)
+(-346,1760)
+(-345,1761)
+(-345,1760)
+(-343,1761)
+(-338,1760)
+(-337,1760)
+(-339,1762)
+(-338,1763)
+(-332,1760)
+(-328,1757)
+(-314,1749)
+(-308,1748)
+(-305,1746)
+(-301,1747)
+(-287,1746)
+(-281,1747)
+(-277,1746)
+(-273,1749)
+(-270,1750)
+(-270,1751)
+(-271,1752)
+(-265,1752)
+(-261,1753)
+(-258,1753)
+(-247,1756)
+(-243,1754)
+(-247,1753)
+(-261,1749)
+(-259,1743)
+(-257,1743)
+(-253,1746)
+(-251,1746)
+(-249,1745)
+(-246,1746)
+(-242,1745)
+(-240,1746)
+(-235,1746)
+(-234,1747)
+(-232,1746)
+(-230,1748)
+(-226,1746)
+(-220,1749)
+(-206,1748)
+(-201,1749)
+(-200,1752)
+(-201,1759)
+(-203,1761)
+(-212,1760)
+(-215,1761)
+(-226,1760)
+(-229,1762)
+(-234,1763)
+(-238,1766)
+(-241,1766)
+(-246,1769)
+(-250,1770)
+(-252,1772)
+(-255,1773)
+(-261,1776)
+(-263,1779)
+(-265,1780)
+(-266,1779)
+(-267,1779)
+(-275,1779)
+(-287,1776)
+(-291,1776)
+(-292,1777)
+(-294,1775)
+(-295,1776)
+(-295,1777)
+(-296,1780)
+(-297,1781)
+(-298,1784)
+(-301,1787)
+(-303,1786)
+(-306,1789)
+(-310,1789)
+(-311,1788)
+(-312,1789)
+(-313,1789)
+(-314,1788)
+(-316,1788)
+(-316,1787)
+(-320,1787)
+(-325,1785)
+(-327,1784)
+(-334,1791)
+(-342,1794)
+(-346,1796)
+(-353,1797)
+(-355,1797)
+(-357,1793)
+(-360,1790)
+(-360,1787)
+(-363,1784)
+(-367,1783)
+(-372,1784)
+(-376,1783)
+(-377,1785)
+(-382,1789)
+(-387,1794)
+(-389,1797)
+(-390,1797)
+(-387,1804)
+(-388,1809)
+(-397,1817)
+(-398,1819)
+(-405,1824)
+(-408,1824)
+(-418,1834)
+(-421,1835)
+(-422,1833)
+(-426,1833)
+(-427,1832)
+(-426,1830)
+(-427,1830)
+(-430,1832)
+(-431,1832)
+(-433,1833)
+(-441,1837)
+(-446,1835)
+(-449,1836)
+(-450,1835)
+(-451,1835)
+(-453,1837)
+(-455,1837)
+(-456,1839)
+(-459,1840)
+(-461,1843)
+(-465,1845)
+(-467,1845)
+(-472,1848)
+(-474,1850)
+(-477,1851)
+(-478,1852)
+(-481,1854)
+(-486,1855)
+(-487,1857)
+(-489,1858)
+(-490,1858)
+(-490,1857)
+(-491,1857)
+(-494,1858)
+(-496,1859)
+(-498,1861)
+(-500,1862)
+(-503,1867)
+(-506,1869)
+(-510,1868)
+(-512,1869)
+(-513,1870)
+(-515,1870)
+(-516,1871)
+(-518,1872)
+(-525,1871)
+(-525,1870)
+(-523,1868)
+(-524,1868)
+(-525,1866)
+(-526,1866)
+(-528,1862)
+(-527,1861)
+(-520,1854)
+(-514,1847)
+(-514,1843)
+(-512,1843)
+(-512,1841)
+(-509,1841)
+(-510,1838)
+(-510,1839)
+(-511,1839)
+(-514,1837)
+(-515,1833)
+(-515,1832)
+(-513,1834)
+(-511,1835)
+(-512,1830)
+(-511,1828)
+(-510,1828)
+(-508,1827)
+(-506,1826)
+(-501,1828)
+(-498,1834)
+(-497,1834)
+(-494,1834)
+47
+(-565,1712)
+(-566,1712)
+(-565,1712)
+(-563,1711)
+(-562,1710)
+(-563,1709)
+(-565,1709)
+(-567,1709)
+(-568,1708)
+(-568,1710)
+(-570,1712)
+(-572,1707)
+(-571,1701)
+(-572,1700)
+(-572,1699)
+(-566,1701)
+(-564,1700)
+(-563,1699)
+(-558,1700)
+(-557,1699)
+(-553,1701)
+(-550,1699)
+(-545,1700)
+(-538,1709)
+(-533,1712)
+(-521,1724)
+(-510,1732)
+(-509,1733)
+(-509,1734)
+(-516,1746)
+(-519,1749)
+(-528,1746)
+(-531,1745)
+(-532,1743)
+(-540,1740)
+(-542,1735)
+(-545,1734)
+(-548,1731)
+(-552,1728)
+(-559,1723)
+(-560,1722)
+(-562,1724)
+(-567,1723)
+(-567,1722)
+(-564,1720)
+(-564,1717)
+(-565,1712)
+205
+(-582,2035)
+(-580,2037)
+(-576,2038)
+(-573,2037)
+(-569,2040)
+(-569,2043)
+(-570,2044)
+(-575,2049)
+(-584,2060)
+(-587,2060)
+(-589,2063)
+(-599,2071)
+(-604,2072)
+(-606,2071)
+(-610,2073)
+(-614,2074)
+(-617,2075)
+(-624,2074)
+(-627,2074)
+(-629,2076)
+(-631,2075)
+(-634,2075)
+(-635,2077)
+(-637,2077)
+(-639,2079)
+(-643,2079)
+(-645,2081)
+(-647,2079)
+(-655,2079)
+(-659,2076)
+(-661,2076)
+(-666,2077)
+(-671,2081)
+(-672,2083)
+(-676,2084)
+(-677,2085)
+(-678,2084)
+(-681,2086)
+(-680,2088)
+(-681,2092)
+(-683,2093)
+(-687,2096)
+(-689,2098)
+(-694,2097)
+(-700,2098)
+(-703,2097)
+(-708,2098)
+(-712,2096)
+(-717,2094)
+(-722,2093)
+(-723,2092)
+(-724,2089)
+(-726,2088)
+(-727,2086)
+(-731,2082)
+(-736,2083)
+(-738,2082)
+(-744,2082)
+(-746,2082)
+(-749,2082)
+(-752,2085)
+(-756,2086)
+(-759,2088)
+(-762,2088)
+(-762,2089)
+(-765,2089)
+(-766,2088)
+(-768,2087)
+(-770,2087)
+(-772,2086)
+(-777,2085)
+(-780,2087)
+(-785,2089)
+(-790,2088)
+(-793,2089)
+(-799,2087)
+(-803,2092)
+(-805,2091)
+(-809,2092)
+(-812,2091)
+(-818,2091)
+(-820,2091)
+(-823,2092)
+(-824,2094)
+(-824,2104)
+(-829,2105)
+(-831,2107)
+(-837,2107)
+(-843,2111)
+(-846,2111)
+(-851,2113)
+(-855,2114)
+(-856,2115)
+(-861,2117)
+(-863,2116)
+(-864,2114)
+(-861,2111)
+(-858,2109)
+(-858,2107)
+(-855,2105)
+(-852,2105)
+(-851,2103)
+(-850,2102)
+(-849,2097)
+(-845,2096)
+(-843,2096)
+(-840,2092)
+(-842,2090)
+(-846,2092)
+(-848,2089)
+(-850,2089)
+(-852,2090)
+(-854,2089)
+(-855,2088)
+(-857,2082)
+(-853,2082)
+(-852,2078)
+(-848,2075)
+(-847,2074)
+(-839,2071)
+(-836,2073)
+(-834,2075)
+(-831,2076)
+(-829,2075)
+(-827,2077)
+(-825,2077)
+(-823,2078)
+(-822,2078)
+(-817,2073)
+(-814,2071)
+(-815,2068)
+(-814,2066)
+(-802,2059)
+(-799,2059)
+(-796,2061)
+(-785,2060)
+(-781,2061)
+(-777,2059)
+(-774,2060)
+(-776,2059)
+(-774,2058)
+(-772,2059)
+(-770,2056)
+(-764,2057)
+(-763,2054)
+(-760,2052)
+(-754,2051)
+(-750,2052)
+(-744,2050)
+(-743,2049)
+(-743,2045)
+(-742,2046)
+(-740,2042)
+(-735,2040)
+(-729,2042)
+(-727,2044)
+(-724,2044)
+(-723,2043)
+(-720,2046)
+(-717,2048)
+(-714,2051)
+(-713,2051)
+(-709,2052)
+(-706,2055)
+(-704,2056)
+(-703,2059)
+(-701,2059)
+(-699,2060)
+(-695,2058)
+(-693,2058)
+(-691,2057)
+(-678,2056)
+(-677,2054)
+(-673,2054)
+(-672,2053)
+(-670,2053)
+(-666,2055)
+(-661,2054)
+(-658,2055)
+(-648,2053)
+(-644,2054)
+(-642,2052)
+(-636,2052)
+(-634,2050)
+(-631,2053)
+(-629,2052)
+(-627,2052)
+(-625,2054)
+(-625,2056)
+(-624,2055)
+(-620,2053)
+(-619,2051)
+(-617,2049)
+(-616,2049)
+(-613,2045)
+(-609,2042)
+(-608,2041)
+(-603,2040)
+(-599,2039)
+(-598,2037)
+(-594,2037)
+(-593,2036)
+(-590,2034)
+(-584,2034)
+(-582,2035)
+212
+(-1078,1621)
+(-1077,1621)
+(-1076,1623)
+(-1074,1624)
+(-1074,1625)
+(-1073,1625)
+(-1070,1628)
+(-1071,1626)
+(-1070,1625)
+(-1068,1625)
+(-1068,1626)
+(-1067,1625)
+(-1065,1628)
+(-1061,1630)
+(-1062,1631)
+(-1060,1631)
+(-1059,1633)
+(-1058,1634)
+(-1057,1633)
+(-1057,1635)
+(-1056,1635)
+(-1057,1636)
+(-1056,1638)
+(-1054,1638)
+(-1054,1641)
+(-1052,1640)
+(-1052,1642)
+(-1051,1642)
+(-1049,1642)
+(-1048,1643)
+(-1047,1639)
+(-1039,1647)
+(-1037,1645)
+(-1036,1647)
+(-1036,1648)
+(-1034,1650)
+(-1031,1651)
+(-1030,1653)
+(-1028,1653)
+(-1023,1657)
+(-1024,1660)
+(-1025,1659)
+(-1026,1660)
+(-1024,1663)
+(-1023,1662)
+(-1021,1659)
+(-1019,1664)
+(-1018,1664)
+(-1017,1661)
+(-1015,1664)
+(-1016,1665)
+(-1014,1669)
+(-1014,1672)
+(-1012,1668)
+(-1010,1668)
+(-1011,1670)
+(-1009,1676)
+(-1009,1678)
+(-1010,1678)
+(-1011,1678)
+(-1012,1681)
+(-1010,1684)
+(-1009,1685)
+(-1008,1684)
+(-1007,1685)
+(-1005,1685)
+(-1006,1688)
+(-1005,1688)
+(-1003,1688)
+(-1002,1692)
+(-1001,1692)
+(-1001,1690)
+(-999,1691)
+(-998,1690)
+(-998,1692)
+(-1000,1693)
+(-999,1695)
+(-998,1695)
+(-997,1695)
+(-997,1696)
+(-996,1700)
+(-995,1699)
+(-994,1697)
+(-993,1698)
+(-992,1697)
+(-992,1699)
+(-994,1700)
+(-993,1703)
+(-995,1702)
+(-996,1704)
+(-993,1707)
+(-992,1709)
+(-991,1709)
+(-992,1711)
+(-994,1711)
+(-992,1714)
+(-992,1712)
+(-991,1713)
+(-990,1718)
+(-989,1719)
+(-990,1721)
+(-992,1721)
+(-992,1722)
+(-992,1732)
+(-994,1733)
+(-994,1730)
+(-995,1733)
+(-994,1737)
+(-996,1736)
+(-997,1740)
+(-998,1736)
+(-1000,1737)
+(-1000,1736)
+(-1003,1735)
+(-1001,1734)
+(-1000,1733)
+(-1001,1731)
+(-1002,1731)
+(-1003,1733)
+(-1006,1732)
+(-1007,1730)
+(-1006,1728)
+(-1008,1728)
+(-1009,1724)
+(-1006,1721)
+(-1004,1723)
+(-1003,1721)
+(-1001,1722)
+(-1001,1721)
+(-1002,1718)
+(-1003,1718)
+(-1003,1715)
+(-1004,1715)
+(-1004,1713)
+(-1005,1712)
+(-1006,1709)
+(-1009,1708)
+(-1009,1706)
+(-1011,1708)
+(-1014,1708)
+(-1013,1707)
+(-1011,1707)
+(-1010,1703)
+(-1008,1702)
+(-1006,1703)
+(-1005,1702)
+(-1005,1701)
+(-1008,1701)
+(-1007,1700)
+(-1009,1699)
+(-1009,1696)
+(-1008,1696)
+(-1009,1691)
+(-1011,1687)
+(-1014,1685)
+(-1015,1687)
+(-1016,1684)
+(-1018,1684)
+(-1019,1683)
+(-1020,1683)
+(-1019,1687)
+(-1020,1685)
+(-1022,1686)
+(-1023,1684)
+(-1025,1683)
+(-1023,1682)
+(-1023,1680)
+(-1022,1680)
+(-1022,1678)
+(-1022,1677)
+(-1023,1678)
+(-1023,1676)
+(-1026,1675)
+(-1028,1670)
+(-1030,1671)
+(-1029,1668)
+(-1032,1661)
+(-1033,1663)
+(-1034,1661)
+(-1035,1661)
+(-1034,1659)
+(-1037,1661)
+(-1038,1659)
+(-1040,1659)
+(-1042,1656)
+(-1043,1657)
+(-1049,1654)
+(-1047,1654)
+(-1047,1653)
+(-1050,1653)
+(-1051,1648)
+(-1053,1647)
+(-1054,1646)
+(-1054,1647)
+(-1053,1648)
+(-1054,1648)
+(-1055,1647)
+(-1055,1642)
+(-1064,1633)
+(-1065,1633)
+(-1067,1634)
+(-1067,1632)
+(-1069,1629)
+(-1070,1630)
+(-1072,1630)
+(-1073,1628)
+(-1075,1625)
+(-1076,1626)
+(-1077,1624)
+(-1079,1625)
+(-1079,1622)
+(-1078,1621)
diff --git a/macros/latex/contrib/profcollege/metapost/datastest/rivieres.dat b/macros/latex/contrib/profcollege/metapost/datastest/rivieres.dat
index c8bf8532ae..b4da032c62 100644
--- a/macros/latex/contrib/profcollege/metapost/datastest/rivieres.dat
+++ b/macros/latex/contrib/profcollege/metapost/datastest/rivieres.dat
@@ -1,28391 +1,28391 @@
-196
-115
-(2849,283)
-(2860,281)
-(2862,277)
-(2865,276)
-(2868,273)
-(2872,275)
-(2873,272)
-(2874,273)
-(2876,271)
-(2879,270)
-(2884,263)
-(2887,263)
-(2889,260)
-(2889,256)
-(2892,252)
-(2893,249)
-(2899,245)
-(2902,240)
-(2911,233)
-(2912,226)
-(2914,223)
-(2911,217)
-(2911,212)
-(2911,212)
-(2909,208)
-(2910,207)
-(2908,206)
-(2907,204)
-(2908,200)
-(2906,199)
-(2905,196)
-(2906,192)
-(2905,190)
-(2904,185)
-(2904,179)
-(2903,174)
-(2904,168)
-(2905,168)
-(2905,165)
-(2908,166)
-(2909,161)
-(2912,160)
-(2911,156)
-(2913,152)
-(2914,153)
-(2914,149)
-(2917,149)
-(2921,144)
-(2924,147)
-(2926,145)
-(2927,146)
-(2929,144)
-(2932,139)
-(2930,135)
-(2930,134)
-(2932,134)
-(2933,135)
-(2936,140)
-(2937,140)
-(2937,136)
-(2934,131)
-(2933,129)
-(2934,127)
-(2938,131)
-(2939,130)
-(2939,124)
-(2936,122)
-(2937,120)
-(2939,120)
-(2940,118)
-(2938,108)
-(2939,105)
-(2941,103)
-(2941,98)
-(2942,97)
-(2943,102)
-(2944,102)
-(2945,99)
-(2944,97)
-(2942,94)
-(2944,91)
-(2950,85)
-(2951,81)
-(2954,83)
-(2955,83)
-(2955,81)
-(2953,76)
-(2954,74)
-(2955,76)
-(2958,76)
-(2959,73)
-(2958,60)
-(2959,60)
-(2961,67)
-(2965,67)
-(2966,66)
-(2967,63)
-(2966,61)
-(2962,60)
-(2961,58)
-(2962,55)
-(2967,56)
-(2969,55)
-(2968,52)
-(2965,52)
-(2964,51)
-(2965,48)
-(2968,49)
-(2969,47)
-(2971,46)
-(2971,41)
-(2968,40)
-(2966,36)
-(2969,31)
-(2969,30)
-162
-(2798,519)
-(2800,526)
-(2801,530)
-(2803,534)
-(2807,548)
-(2807,555)
-(2809,559)
-(2809,560)
-(2811,569)
-(2812,571)
-(2815,573)
-(2819,573)
-(2824,568)
-(2826,571)
-(2832,569)
-(2844,579)
-(2847,579)
-(2848,575)
-(2850,573)
-(2862,525)
-(2862,518)
-(2860,517)
-(2859,518)
-(2859,516)
-(2857,516)
-(2853,513)
-(2855,510)
-(2854,500)
-(2857,497)
-(2857,492)
-(2854,485)
-(2854,474)
-(2855,474)
-(2855,473)
-(2855,469)
-(2854,467)
-(2853,465)
-(2853,458)
-(2854,455)
-(2858,454)
-(2860,451)
-(2862,451)
-(2864,453)
-(2867,452)
-(2871,454)
-(2873,453)
-(2874,455)
-(2876,455)
-(2879,457)
-(2883,454)
-(2887,455)
-(2895,461)
-(2898,462)
-(2900,465)
-(2904,464)
-(2909,466)
-(2911,468)
-(2915,468)
-(2919,470)
-(2922,477)
-(2925,478)
-(2925,481)
-(2927,482)
-(2928,486)
-(2937,491)
-(2938,495)
-(2940,497)
-(2946,501)
-(2954,503)
-(2957,509)
-(2959,507)
-(2962,509)
-(2966,510)
-(2967,507)
-(2968,508)
-(2973,505)
-(2975,505)
-(2981,501)
-(2982,503)
-(2983,506)
-(2986,509)
-(2986,505)
-(2989,503)
-(2991,503)
-(2993,501)
-(2998,500)
-(3001,495)
-(3002,492)
-(2999,478)
-(2998,473)
-(3001,471)
-(3003,466)
-(3007,463)
-(3009,463)
-(3010,459)
-(3012,458)
-(3014,455)
-(3015,459)
-(3019,455)
-(3023,457)
-(3025,454)
-(3025,448)
-(3028,442)
-(3034,436)
-(3035,433)
-(3038,433)
-(3041,431)
-(3047,422)
-(3049,421)
-(3050,419)
-(3051,419)
-(3053,423)
-(3055,418)
-(3057,418)
-(3058,420)
-(3060,418)
-(3062,418)
-(3065,411)
-(3066,413)
-(3068,411)
-(3070,411)
-(3069,409)
-(3070,408)
-(3071,407)
-(3071,404)
-(3074,403)
-(3074,406)
-(3076,402)
-(3079,404)
-(3081,399)
-(3084,404)
-(3086,403)
-(3088,403)
-(3088,401)
-(3090,403)
-(3092,401)
-(3094,401)
-(3095,400)
-(3094,396)
-(3099,396)
-(3100,389)
-(3103,385)
-(3105,385)
-(3105,381)
-(3109,378)
-(3111,365)
-(3113,361)
-(3111,358)
-(3112,355)
-(3111,352)
-(3111,351)
-(3113,345)
-(3114,335)
-(3113,327)
-(3108,321)
-(3110,318)
-(3109,313)
-(3110,306)
-(3109,303)
-(3109,296)
-(3108,291)
-(3108,288)
-13
-(3103,290)
-(3104,286)
-(3105,288)
-(3104,283)
-(3108,287)
-(3104,281)
-(3105,281)
-(3104,279)
-(3102,273)
-(3103,266)
-(3106,256)
-(3109,250)
-(3110,245)
-9
-(3099,247)
-(3098,256)
-(3099,261)
-(3102,266)
-(3101,270)
-(3102,277)
-(3103,278)
-(3103,284)
-(3103,290)
-27
-(3112,362)
-(3114,361)
-(3119,353)
-(3117,347)
-(3118,345)
-(3116,337)
-(3119,329)
-(3119,326)
-(3118,324)
-(3118,322)
-(3117,319)
-(3119,315)
-(3118,313)
-(3118,310)
-(3120,306)
-(3118,302)
-(3119,300)
-(3117,295)
-(3117,290)
-(3114,284)
-(3113,278)
-(3114,272)
-(3115,271)
-(3114,269)
-(3114,259)
-(3115,255)
-(3119,246)
-97
-(2682,424)
-(2681,437)
-(2678,441)
-(2678,445)
-(2680,447)
-(2682,447)
-(2685,447)
-(2689,454)
-(2690,458)
-(2692,461)
-(2695,460)
-(2697,461)
-(2697,462)
-(2700,460)
-(2704,461)
-(2705,463)
-(2705,463)
-(2706,465)
-(2708,466)
-(2711,473)
-(2710,478)
-(2711,484)
-(2710,487)
-(2711,492)
-(2710,494)
-(2711,497)
-(2709,499)
-(2709,503)
-(2708,505)
-(2709,511)
-(2708,514)
-(2702,519)
-(2702,522)
-(2701,524)
-(2701,527)
-(2703,529)
-(2704,537)
-(2705,538)
-(2705,543)
-(2706,544)
-(2707,548)
-(2708,551)
-(2707,559)
-(2706,564)
-(2706,570)
-(2705,572)
-(2708,573)
-(2706,575)
-(2708,578)
-(2705,578)
-(2704,583)
-(2706,586)
-(2704,590)
-(2706,590)
-(2705,594)
-(2708,593)
-(2708,594)
-(2707,595)
-(2706,595)
-(2708,598)
-(2707,600)
-(2702,604)
-(2702,610)
-(2702,614)
-(2698,621)
-(2699,624)
-(2696,626)
-(2695,633)
-(2695,637)
-(2698,640)
-(2700,642)
-(2703,641)
-(2703,654)
-(2705,655)
-(2704,660)
-(2703,663)
-(2704,667)
-(2703,670)
-(2704,672)
-(2703,674)
-(2704,676)
-(2701,676)
-(2698,685)
-(2696,685)
-(2696,693)
-(2693,697)
-(2696,704)
-(2697,705)
-(2699,708)
-(2699,719)
-(2699,724)
-(2699,725)
-(2701,724)
-(2702,729)
-(2701,734)
-(2697,738)
-(2698,752)
-163
-(3046,933)
-(3044,936)
-(3041,935)
-(3038,937)
-(3035,937)
-(3032,944)
-(3027,945)
-(3023,955)
-(3022,956)
-(3022,955)
-(3021,956)
-(3020,955)
-(3016,950)
-(3007,948)
-(3005,950)
-(3003,949)
-(3003,947)
-(3002,946)
-(3002,938)
-(3003,932)
-(3002,926)
-(3003,923)
-(3002,920)
-(3001,915)
-(3002,911)
-(3003,911)
-(3007,910)
-(3010,904)
-(3010,898)
-(3011,891)
-(3010,883)
-(3014,876)
-(3014,874)
-(3017,872)
-(3018,869)
-(3020,869)
-(3022,867)
-(3024,867)
-(3025,863)
-(3028,862)
-(3027,858)
-(3026,856)
-(3026,854)
-(3028,854)
-(3030,854)
-(3031,851)
-(3031,844)
-(3035,842)
-(3036,844)
-(3037,845)
-(3039,843)
-(3040,848)
-(3040,849)
-(3042,852)
-(3044,851)
-(3048,854)
-(3051,853)
-(3053,854)
-(3056,847)
-(3055,844)
-(3057,845)
-(3057,844)
-(3057,841)
-(3058,834)
-(3060,833)
-(3064,829)
-(3063,825)
-(3065,823)
-(3064,821)
-(3066,819)
-(3066,816)
-(3068,811)
-(3070,808)
-(3071,805)
-(3073,804)
-(3074,806)
-(3078,803)
-(3078,798)
-(3081,797)
-(3082,794)
-(3083,795)
-(3084,793)
-(3089,791)
-(3089,789)
-(3088,789)
-(3089,788)
-(3090,784)
-(3092,784)
-(3093,780)
-(3095,782)
-(3097,780)
-(3099,774)
-(3100,773)
-(3100,771)
-(3102,770)
-(3104,768)
-(3105,769)
-(3108,768)
-(3109,770)
-(3110,766)
-(3112,761)
-(3112,750)
-(3113,750)
-(3111,748)
-(3112,747)
-(3113,747)
-(3111,742)
-(3113,738)
-(3113,734)
-(3112,733)
-(3113,731)
-(3112,722)
-(3118,713)
-(3121,713)
-(3121,710)
-(3122,707)
-(3122,704)
-(3124,701)
-(3127,699)
-(3131,701)
-(3133,703)
-(3135,702)
-(3136,704)
-(3140,708)
-(3140,711)
-(3143,717)
-(3144,716)
-(3144,718)
-(3147,720)
-(3151,718)
-(3164,722)
-(3172,721)
-(3175,710)
-(3177,711)
-(3178,707)
-(3180,705)
-(3179,702)
-(3181,701)
-(3181,698)
-(3183,698)
-(3183,690)
-(3185,687)
-(3184,681)
-(3189,674)
-(3188,671)
-(3189,671)
-(3190,669)
-(3189,666)
-(3189,664)
-(3194,655)
-(3196,649)
-(3198,647)
-(3198,645)
-(3202,643)
-(3202,631)
-(3205,623)
-(3206,619)
-(3205,616)
-(3204,614)
-(3204,611)
-(3208,602)
-(3209,599)
-(3212,589)
-122
-(2977,1052)
-(2980,1052)
-(2984,1057)
-(2983,1065)
-(2978,1072)
-(2977,1076)
-(2979,1079)
-(2982,1087)
-(2985,1092)
-(2987,1093)
-(2991,1094)
-(2992,1098)
-(2996,1101)
-(3004,1094)
-(3006,1093)
-(3010,1096)
-(3012,1095)
-(3013,1096)
-(3015,1096)
-(3016,1094)
-(3019,1092)
-(3020,1090)
-(3024,1086)
-(3026,1082)
-(3028,1081)
-(3029,1077)
-(3033,1077)
-(3034,1079)
-(3037,1078)
-(3037,1077)
-(3039,1076)
-(3045,1072)
-(3047,1062)
-(3049,1060)
-(3049,1058)
-(3051,1056)
-(3052,1049)
-(3054,1047)
-(3057,1039)
-(3060,1039)
-(3062,1036)
-(3063,1033)
-(3062,1032)
-(3063,1030)
-(3065,1030)
-(3066,1028)
-(3067,1022)
-(3075,1011)
-(3076,1004)
-(3074,1002)
-(3075,994)
-(3074,991)
-(3074,989)
-(3076,988)
-(3078,986)
-(3079,988)
-(3081,987)
-(3082,989)
-(3086,987)
-(3089,987)
-(3091,989)
-(3091,988)
-(3094,988)
-(3094,985)
-(3096,984)
-(3097,981)
-(3098,980)
-(3101,974)
-(3100,967)
-(3101,960)
-(3102,958)
-(3102,956)
-(3104,954)
-(3103,953)
-(3104,951)
-(3106,948)
-(3106,946)
-(3108,944)
-(3113,948)
-(3113,946)
-(3116,948)
-(3119,946)
-(3119,941)
-(3120,939)
-(3122,938)
-(3122,928)
-(3123,925)
-(3123,922)
-(3123,917)
-(3124,913)
-(3123,907)
-(3124,902)
-(3123,896)
-(3123,893)
-(3125,890)
-(3124,886)
-(3126,882)
-(3128,881)
-(3130,883)
-(3132,882)
-(3134,883)
-(3137,875)
-(3143,872)
-(3146,873)
-(3146,875)
-(3149,878)
-(3152,877)
-(3154,878)
-(3157,875)
-(3159,869)
-(3165,861)
-(3171,848)
-(3173,850)
-(3178,849)
-(3183,861)
-(3189,863)
-(3192,863)
-(3195,867)
-(3199,869)
-(3202,872)
-(3210,878)
-(3216,876)
-139
-(2976,1141)
-(2975,1138)
-(2976,1135)
-(2980,1131)
-(2983,1129)
-(2989,1128)
-(2992,1125)
-(2994,1125)
-(2995,1127)
-(2996,1136)
-(2995,1138)
-(2997,1147)
-(3002,1149)
-(3004,1151)
-(3004,1154)
-(3003,1156)
-(3003,1161)
-(3002,1165)
-(3002,1171)
-(2999,1176)
-(2998,1181)
-(2999,1187)
-(3002,1190)
-(3003,1195)
-(3003,1213)
-(3005,1217)
-(3005,1220)
-(3006,1220)
-(3008,1224)
-(3008,1235)
-(3009,1235)
-(3011,1240)
-(3013,1241)
-(3014,1244)
-(3017,1247)
-(3016,1250)
-(3017,1251)
-(3018,1256)
-(3019,1257)
-(3019,1263)
-(3021,1268)
-(3020,1270)
-(3021,1271)
-(3023,1275)
-(3023,1275)
-(3023,1276)
-(3024,1277)
-(3026,1281)
-(3027,1286)
-(3029,1287)
-(3031,1296)
-(3034,1300)
-(3036,1300)
-(3040,1304)
-(3042,1309)
-(3044,1310)
-(3048,1311)
-(3056,1308)
-(3060,1309)
-(3061,1307)
-(3063,1309)
-(3069,1306)
-(3076,1309)
-(3076,1312)
-(3078,1313)
-(3081,1319)
-(3088,1315)
-(3089,1310)
-(3091,1311)
-(3094,1309)
-(3094,1301)
-(3096,1299)
-(3098,1294)
-(3099,1293)
-(3100,1288)
-(3104,1284)
-(3107,1285)
-(3110,1281)
-(3111,1278)
-(3114,1274)
-(3117,1277)
-(3120,1273)
-(3122,1273)
-(3124,1272)
-(3126,1272)
-(3132,1266)
-(3133,1262)
-(3137,1259)
-(3139,1256)
-(3142,1253)
-(3142,1250)
-(3146,1240)
-(3145,1237)
-(3145,1229)
-(3143,1222)
-(3143,1217)
-(3142,1209)
-(3143,1201)
-(3148,1190)
-(3149,1185)
-(3150,1185)
-(3152,1181)
-(3154,1173)
-(3158,1163)
-(3158,1157)
-(3160,1143)
-(3167,1136)
-(3171,1134)
-(3172,1131)
-(3174,1129)
-(3176,1123)
-(3181,1121)
-(3180,1115)
-(3180,1109)
-(3185,1097)
-(3186,1089)
-(3188,1089)
-(3190,1092)
-(3193,1092)
-(3195,1098)
-(3201,1102)
-(3202,1107)
-(3204,1110)
-(3206,1121)
-(3209,1125)
-(3215,1126)
-(3219,1125)
-(3222,1128)
-(3224,1132)
-(3230,1131)
-(3234,1134)
-(3236,1132)
-(3238,1132)
-(3242,1129)
-(3246,1129)
-(3251,1132)
-(3252,1135)
-(3255,1137)
-(3261,1137)
-381
-(2885,491)
-(2883,493)
-(2883,498)
-(2880,499)
-(2878,506)
-(2876,507)
-(2876,510)
-(2877,511)
-(2875,514)
-(2875,517)
-(2876,525)
-(2879,528)
-(2882,534)
-(2882,536)
-(2881,535)
-(2881,537)
-(2883,538)
-(2883,540)
-(2886,543)
-(2885,550)
-(2885,553)
-(2884,556)
-(2885,558)
-(2884,561)
-(2884,564)
-(2890,569)
-(2893,570)
-(2893,571)
-(2894,572)
-(2894,577)
-(2894,578)
-(2894,582)
-(2897,585)
-(2897,589)
-(2900,595)
-(2906,602)
-(2907,609)
-(2907,611)
-(2910,622)
-(2911,624)
-(2913,624)
-(2914,626)
-(2915,632)
-(2919,642)
-(2920,643)
-(2923,647)
-(2924,654)
-(2924,669)
-(2925,676)
-(2924,682)
-(2926,686)
-(2927,698)
-(2930,706)
-(2933,707)
-(2933,709)
-(2935,712)
-(2935,718)
-(2936,719)
-(2936,722)
-(2937,722)
-(2938,719)
-(2939,723)
-(2941,722)
-(2942,724)
-(2940,731)
-(2941,734)
-(2941,740)
-(2940,741)
-(2938,740)
-(2938,746)
-(2937,750)
-(2936,752)
-(2935,750)
-(2935,751)
-(2935,752)
-(2935,753)
-(2934,752)
-(2933,754)
-(2934,756)
-(2934,761)
-(2933,765)
-(2930,766)
-(2930,767)
-(2931,774)
-(2930,777)
-(2926,782)
-(2923,781)
-(2924,783)
-(2923,785)
-(2921,785)
-(2917,794)
-(2916,802)
-(2915,806)
-(2915,812)
-(2914,814)
-(2913,819)
-(2906,832)
-(2907,831)
-(2907,834)
-(2904,837)
-(2905,840)
-(2903,842)
-(2901,842)
-(2899,844)
-(2900,851)
-(2899,852)
-(2899,856)
-(2899,859)
-(2897,861)
-(2896,864)
-(2895,867)
-(2894,874)
-(2890,879)
-(2892,889)
-(2894,892)
-(2894,896)
-(2892,898)
-(2892,903)
-(2891,906)
-(2893,907)
-(2894,919)
-(2897,924)
-(2902,925)
-(2905,930)
-(2903,932)
-(2904,936)
-(2904,939)
-(2903,940)
-(2903,943)
-(2903,945)
-(2903,952)
-(2901,954)
-(2901,957)
-(2901,969)
-(2901,975)
-(2901,979)
-(2894,984)
-(2890,990)
-(2889,994)
-(2887,1006)
-(2889,1014)
-(2890,1019)
-(2889,1022)
-(2888,1028)
-(2880,1036)
-(2880,1040)
-(2873,1048)
-(2872,1052)
-(2870,1054)
-(2870,1057)
-(2866,1063)
-(2865,1067)
-(2866,1079)
-(2864,1098)
-(2866,1107)
-(2865,1110)
-(2866,1114)
-(2866,1119)
-(2869,1125)
-(2869,1127)
-(2869,1133)
-(2866,1136)
-(2869,1140)
-(2869,1144)
-(2865,1148)
-(2859,1147)
-(2854,1144)
-(2851,1143)
-(2849,1144)
-(2845,1143)
-(2842,1137)
-(2830,1133)
-(2825,1134)
-(2822,1138)
-(2815,1138)
-(2812,1136)
-(2809,1135)
-(2807,1138)
-(2803,1140)
-(2799,1137)
-(2798,1133)
-(2797,1132)
-(2788,1135)
-(2784,1133)
-(2779,1135)
-(2771,1135)
-(2770,1132)
-(2761,1121)
-(2760,1122)
-(2754,1129)
-(2751,1132)
-(2748,1131)
-(2746,1134)
-(2742,1135)
-(2740,1138)
-(2738,1136)
-(2737,1135)
-(2734,1134)
-(2732,1137)
-(2734,1141)
-(2733,1142)
-(2731,1146)
-(2729,1145)
-(2730,1141)
-(2729,1140)
-(2727,1140)
-(2725,1142)
-(2724,1139)
-(2723,1139)
-(2721,1142)
-(2721,1145)
-(2718,1147)
-(2715,1156)
-(2714,1161)
-(2714,1169)
-(2715,1171)
-(2715,1173)
-(2713,1176)
-(2714,1184)
-(2713,1189)
-(2716,1193)
-(2715,1196)
-(2712,1198)
-(2710,1201)
-(2711,1210)
-(2710,1213)
-(2708,1217)
-(2703,1222)
-(2701,1221)
-(2700,1218)
-(2698,1218)
-(2692,1222)
-(2690,1229)
-(2691,1238)
-(2690,1238)
-(2686,1238)
-(2680,1246)
-(2680,1254)
-(2683,1261)
-(2684,1269)
-(2687,1272)
-(2689,1281)
-(2689,1283)
-(2687,1284)
-(2687,1292)
-(2686,1295)
-(2681,1297)
-(2679,1299)
-(2680,1301)
-(2679,1303)
-(2680,1306)
-(2679,1311)
-(2678,1320)
-(2675,1322)
-(2673,1322)
-(2672,1325)
-(2670,1325)
-(2669,1328)
-(2669,1331)
-(2680,1339)
-(2681,1343)
-(2683,1346)
-(2683,1349)
-(2678,1356)
-(2676,1363)
-(2673,1366)
-(2671,1362)
-(2673,1358)
-(2673,1355)
-(2669,1353)
-(2669,1348)
-(2667,1348)
-(2665,1350)
-(2660,1352)
-(2658,1354)
-(2657,1361)
-(2653,1362)
-(2652,1366)
-(2647,1374)
-(2646,1380)
-(2645,1383)
-(2641,1380)
-(2639,1373)
-(2634,1371)
-(2631,1372)
-(2629,1378)
-(2628,1384)
-(2629,1390)
-(2631,1396)
-(2631,1405)
-(2630,1411)
-(2628,1417)
-(2628,1425)
-(2626,1432)
-(2625,1440)
-(2621,1451)
-(2622,1461)
-(2626,1470)
-(2625,1476)
-(2623,1483)
-(2623,1493)
-(2624,1499)
-(2621,1505)
-(2621,1514)
-(2617,1523)
-(2619,1529)
-(2619,1534)
-(2621,1538)
-(2622,1546)
-(2623,1548)
-(2625,1549)
-(2627,1553)
-(2631,1557)
-(2635,1564)
-(2639,1568)
-(2639,1572)
-(2642,1578)
-(2643,1596)
-(2645,1602)
-(2645,1607)
-(2648,1614)
-(2649,1621)
-(2647,1633)
-(2649,1638)
-(2648,1647)
-(2652,1656)
-(2652,1664)
-(2654,1668)
-(2655,1676)
-(2658,1679)
-(2663,1682)
-(2667,1687)
-(2670,1685)
-(2672,1680)
-(2678,1682)
-(2681,1678)
-(2681,1676)
-(2683,1673)
-(2685,1673)
-(2686,1670)
-(2689,1669)
-(2693,1673)
-(2698,1674)
-(2701,1673)
-(2707,1677)
-(2713,1677)
-(2721,1681)
-(2724,1682)
-(2726,1687)
-(2725,1691)
-(2727,1693)
-(2726,1697)
-(2721,1699)
-(2718,1703)
-(2716,1711)
-(2715,1714)
-(2714,1718)
-(2713,1721)
-(2713,1725)
-(2712,1727)
-(2711,1728)
-(2712,1730)
-(2711,1733)
-(2710,1734)
-(2704,1748)
-(2705,1750)
-(2705,1748)
-(2706,1748)
-(2706,1751)
-(2704,1753)
-(2703,1752)
-(2702,1757)
-(2698,1759)
-(2699,1763)
-(2698,1763)
-(2697,1763)
-(2697,1763)
-(2698,1766)
-(2698,1767)
-(2698,1769)
-(2693,1777)
-9
-(2711,1733)
-(2712,1737)
-(2710,1741)
-(2711,1751)
-(2710,1768)
-(2711,1772)
-(2711,1773)
-(2709,1775)
-(2709,1781)
-196
-(3352,2024)
-(3349,2031)
-(3348,2027)
-(3346,2026)
-(3344,2030)
-(3344,2034)
-(3343,2035)
-(3339,2030)
-(3338,2027)
-(3334,2027)
-(3332,2025)
-(3334,2019)
-(3334,2015)
-(3333,2014)
-(3328,2013)
-(3319,2016)
-(3314,2013)
-(3313,2010)
-(3311,2010)
-(3306,2007)
-(3304,2007)
-(3301,2004)
-(3297,2005)
-(3295,2004)
-(3295,1996)
-(3298,1990)
-(3299,1983)
-(3301,1980)
-(3298,1975)
-(3299,1972)
-(3297,1969)
-(3295,1968)
-(3295,1963)
-(3293,1961)
-(3292,1961)
-(3291,1959)
-(3288,1960)
-(3285,1952)
-(3282,1953)
-(3282,1951)
-(3280,1950)
-(3279,1948)
-(3280,1948)
-(3281,1944)
-(3280,1940)
-(3284,1937)
-(3284,1934)
-(3288,1927)
-(3286,1910)
-(3286,1903)
-(3279,1889)
-(3280,1885)
-(3282,1883)
-(3283,1881)
-(3281,1873)
-(3280,1872)
-(3280,1855)
-(3279,1852)
-(3278,1846)
-(3275,1842)
-(3275,1838)
-(3272,1835)
-(3272,1831)
-(3274,1830)
-(3273,1828)
-(3268,1823)
-(3266,1824)
-(3264,1823)
-(3259,1817)
-(3256,1817)
-(3254,1819)
-(3252,1818)
-(3251,1820)
-(3246,1822)
-(3245,1822)
-(3244,1823)
-(3238,1823)
-(3237,1826)
-(3235,1827)
-(3234,1826)
-(3234,1819)
-(3232,1817)
-(3226,1816)
-(3223,1818)
-(3216,1817)
-(3215,1815)
-(3214,1816)
-(3212,1815)
-(3209,1819)
-(3208,1818)
-(3206,1820)
-(3204,1819)
-(3202,1821)
-(3201,1822)
-(3199,1821)
-(3196,1823)
-(3194,1815)
-(3187,1816)
-(3187,1818)
-(3186,1817)
-(3185,1813)
-(3187,1807)
-(3186,1804)
-(3182,1801)
-(3181,1801)
-(3180,1803)
-(3178,1802)
-(3177,1803)
-(3175,1803)
-(3171,1805)
-(3171,1803)
-(3165,1808)
-(3164,1807)
-(3165,1806)
-(3164,1806)
-(3162,1808)
-(3163,1810)
-(3160,1811)
-(3158,1816)
-(3156,1815)
-(3156,1817)
-(3154,1816)
-(3153,1817)
-(3153,1815)
-(3153,1815)
-(3152,1814)
-(3146,1822)
-(3144,1821)
-(3142,1824)
-(3143,1826)
-(3141,1826)
-(3139,1829)
-(3139,1833)
-(3138,1832)
-(3136,1832)
-(3135,1831)
-(3134,1833)
-(3134,1835)
-(3132,1835)
-(3130,1837)
-(3128,1842)
-(3127,1842)
-(3125,1844)
-(3121,1844)
-(3121,1847)
-(3120,1847)
-(3115,1848)
-(3114,1848)
-(3114,1845)
-(3109,1840)
-(3106,1839)
-(3106,1837)
-(3105,1839)
-(3103,1838)
-(3102,1834)
-(3097,1833)
-(3096,1831)
-(3095,1833)
-(3094,1831)
-(3093,1832)
-(3092,1835)
-(3091,1834)
-(3087,1837)
-(3087,1835)
-(3086,1835)
-(3085,1837)
-(3080,1839)
-(3078,1834)
-(3074,1833)
-(3073,1831)
-(3035,1831)
-(3033,1830)
-(3032,1832)
-(3030,1831)
-(3025,1835)
-(3022,1835)
-(3017,1840)
-(3015,1840)
-(3015,1842)
-(3013,1843)
-(3012,1844)
-(3009,1846)
-(3009,1848)
-(3007,1849)
-(3007,1852)
-(3001,1859)
-(2998,1864)
-(2998,1868)
-(2997,1871)
-(2996,1876)
-(2999,1878)
-(2999,1886)
-(2995,1885)
-(2991,1887)
-(2989,1889)
-(2986,1889)
-64
-(4136,1253)
-(4133,1254)
-(4132,1265)
-(4129,1273)
-(4125,1278)
-(4125,1284)
-(4121,1288)
-(4119,1297)
-(4115,1305)
-(4114,1314)
-(4109,1323)
-(4108,1330)
-(4108,1339)
-(4108,1342)
-(4107,1343)
-(4107,1348)
-(4105,1358)
-(4105,1360)
-(4103,1366)
-(4103,1369)
-(4100,1374)
-(4097,1384)
-(4094,1389)
-(4087,1389)
-(4089,1397)
-(4087,1400)
-(4083,1404)
-(4076,1420)
-(4074,1416)
-(4073,1411)
-(4072,1409)
-(4064,1409)
-(4055,1413)
-(4053,1408)
-(4048,1406)
-(4046,1409)
-(4047,1413)
-(4046,1418)
-(4045,1426)
-(4042,1425)
-(4039,1426)
-(4037,1425)
-(4036,1416)
-(4033,1415)
-(4032,1417)
-(4029,1414)
-(4026,1420)
-(4020,1424)
-(4018,1430)
-(4013,1436)
-(4008,1440)
-(4007,1436)
-(4005,1433)
-(3993,1433)
-(3992,1428)
-(3991,1428)
-(3990,1424)
-(3989,1424)
-(3987,1419)
-(3982,1421)
-(3979,1420)
-(3972,1424)
-(3968,1436)
-(3949,1450)
-8
-(3597,1862)
-(3596,1860)
-(3591,1858)
-(3588,1846)
-(3589,1838)
-(3598,1822)
-(3597,1820)
-(3595,1814)
-20
-(3628,1967)
-(3631,1984)
-(3634,1985)
-(3636,1989)
-(3638,1990)
-(3639,1993)
-(3638,1996)
-(3644,2002)
-(3645,2020)
-(3648,2022)
-(3651,2027)
-(3653,2027)
-(3658,2033)
-(3657,2041)
-(3655,2046)
-(3655,2054)
-(3658,2069)
-(3658,2081)
-(3660,2089)
-(3661,2091)
-13
-(3615,2232)
-(3623,2227)
-(3631,2225)
-(3635,2228)
-(3637,2227)
-(3639,2229)
-(3647,2227)
-(3650,2220)
-(3652,2214)
-(3655,2205)
-(3657,2189)
-(3664,2181)
-(3663,2176)
-16
-(3553,2309)
-(3556,2308)
-(3558,2310)
-(3565,2307)
-(3570,2309)
-(3574,2307)
-(3576,2311)
-(3580,2314)
-(3581,2304)
-(3585,2300)
-(3587,2295)
-(3591,2295)
-(3596,2284)
-(3598,2285)
-(3599,2289)
-(3602,2288)
-102
-(3435,1956)
-(3429,1956)
-(3424,1962)
-(3420,1960)
-(3416,1962)
-(3415,1969)
-(3417,1974)
-(3415,1979)
-(3416,1983)
-(3415,1987)
-(3416,1989)
-(3413,1994)
-(3414,2000)
-(3411,2004)
-(3411,2009)
-(3408,2015)
-(3407,2019)
-(3405,2022)
-(3400,2024)
-(3400,2030)
-(3395,2035)
-(3391,2042)
-(3389,2041)
-(3390,2038)
-(3387,2030)
-(3385,2030)
-(3381,2037)
-(3381,2042)
-(3379,2045)
-(3378,2048)
-(3378,2055)
-(3375,2061)
-(3374,2068)
-(3372,2071)
-(3372,2075)
-(3371,2076)
-(3374,2087)
-(3375,2087)
-(3376,2091)
-(3378,2089)
-(3379,2092)
-(3382,2096)
-(3383,2095)
-(3383,2092)
-(3384,2092)
-(3389,2098)
-(3393,2095)
-(3394,2095)
-(3395,2101)
-(3394,2105)
-(3395,2111)
-(3401,2119)
-(3402,2121)
-(3404,2122)
-(3404,2128)
-(3407,2136)
-(3409,2136)
-(3410,2138)
-(3411,2143)
-(3410,2145)
-(3412,2157)
-(3410,2162)
-(3408,2166)
-(3406,2180)
-(3405,2181)
-(3402,2181)
-(3400,2193)
-(3397,2195)
-(3403,2205)
-(3406,2204)
-(3406,2201)
-(3408,2205)
-(3409,2212)
-(3411,2216)
-(3410,2220)
-(3408,2221)
-(3409,2224)
-(3407,2225)
-(3405,2228)
-(3410,2240)
-(3412,2243)
-(3414,2248)
-(3417,2250)
-(3420,2248)
-(3421,2249)
-(3425,2252)
-(3429,2259)
-(3431,2259)
-(3433,2263)
-(3437,2265)
-(3437,2267)
-(3436,2271)
-(3437,2272)
-(3439,2279)
-(3445,2286)
-(3450,2295)
-(3455,2299)
-(3457,2301)
-(3461,2303)
-(3469,2310)
-(3475,2310)
-(3481,2306)
-7
-(3437,2265)
-(3434,2271)
-(3436,2274)
-(3438,2280)
-(3445,2288)
-(3449,2296)
-(3454,2298)
-24
-(3402,2182)
-(3398,2190)
-(3397,2190)
-(3396,2185)
-(3396,2181)
-(3395,2178)
-(3395,2174)
-(3394,2170)
-(3390,2167)
-(3396,2194)
-(3401,2201)
-(3402,2206)
-(3406,2206)
-(3406,2208)
-(3407,2209)
-(3406,2217)
-(3403,2219)
-(3406,2221)
-(3402,2222)
-(3402,2224)
-(3404,2224)
-(3403,2227)
-(3404,2228)
-(3405,2229)
-53
-(3487,2322)
-(3484,2330)
-(3482,2350)
-(3481,2354)
-(3477,2360)
-(3476,2367)
-(3472,2376)
-(3468,2380)
-(3468,2384)
-(3468,2386)
-(3462,2388)
-(3459,2394)
-(3455,2396)
-(3453,2402)
-(3454,2410)
-(3458,2412)
-(3461,2419)
-(3460,2421)
-(3463,2422)
-(3465,2431)
-(3462,2433)
-(3463,2433)
-(3466,2436)
-(3468,2446)
-(3467,2449)
-(3467,2446)
-(3466,2452)
-(3465,2456)
-(3461,2458)
-(3458,2463)
-(3455,2464)
-(3451,2468)
-(3453,2462)
-(3449,2466)
-(3449,2471)
-(3447,2471)
-(3446,2473)
-(3448,2472)
-(3449,2475)
-(3445,2497)
-(3446,2505)
-(3445,2507)
-(3444,2505)
-(3442,2505)
-(3444,2508)
-(3449,2519)
-(3449,2523)
-(3446,2531)
-(3447,2538)
-(3446,2545)
-(3446,2548)
-(3444,2550)
-(3445,2554)
-57
-(3454,2401)
-(3455,2407)
-(3460,2411)
-(3463,2419)
-(3465,2422)
-(3466,2434)
-(3468,2436)
-(3468,2440)
-(3469,2438)
-(3470,2439)
-(3473,2436)
-(3473,2433)
-(3475,2433)
-(3475,2430)
-(3476,2428)
-(3476,2434)
-(3476,2435)
-(3476,2436)
-(3475,2438)
-(3476,2440)
-(3478,2437)
-(3478,2438)
-(3479,2438)
-(3480,2443)
-(3480,2444)
-(3477,2444)
-(3477,2450)
-(3481,2449)
-(3482,2453)
-(3481,2454)
-(3475,2452)
-(3474,2454)
-(3474,2443)
-(3472,2444)
-(3472,2440)
-(3471,2439)
-(3469,2443)
-(3469,2450)
-(3467,2455)
-(3460,2463)
-(3461,2469)
-(3457,2466)
-(3454,2468)
-(3451,2472)
-(3449,2490)
-(3446,2499)
-(3448,2503)
-(3446,2509)
-(3446,2511)
-(3451,2518)
-(3450,2525)
-(3448,2531)
-(3448,2535)
-(3450,2535)
-(3450,2537)
-(3449,2538)
-(3445,2554)
-60
-(3400,2606)
-(3394,2615)
-(3386,2624)
-(3385,2633)
-(3381,2639)
-(3381,2646)
-(3377,2652)
-(3371,2654)
-(3372,2660)
-(3371,2663)
-(3367,2668)
-(3367,2672)
-(3365,2675)
-(3364,2680)
-(3364,2684)
-(3366,2692)
-(3366,2705)
-(3368,2710)
-(3370,2715)
-(3366,2722)
-(3365,2725)
-(3370,2730)
-(3370,2734)
-(3369,2737)
-(3370,2746)
-(3372,2748)
-(3373,2750)
-(3373,2753)
-(3371,2757)
-(3369,2758)
-(3371,2765)
-(3376,2770)
-(3377,2781)
-(3380,2785)
-(3380,2788)
-(3382,2791)
-(3382,2794)
-(3380,2804)
-(3372,2810)
-(3370,2818)
-(3371,2836)
-(3369,2852)
-(3370,2858)
-(3369,2873)
-(3369,2876)
-(3361,2876)
-(3357,2880)
-(3358,2881)
-(3355,2885)
-(3355,2888)
-(3355,2893)
-(3356,2895)
-(3353,2894)
-(3350,2903)
-(3349,2928)
-(3347,2932)
-(3347,2938)
-(3348,2945)
-(3338,2941)
-(3329,2945)
-74
-(3400,2605)
-(3386,2622)
-(3384,2632)
-(3379,2638)
-(3380,2641)
-(3379,2645)
-(3377,2649)
-(3373,2653)
-(3371,2652)
-(3370,2654)
-(3370,2662)
-(3366,2667)
-(3366,2671)
-(3364,2675)
-(3363,2680)
-(3364,2686)
-(3365,2691)
-(3365,2705)
-(3368,2710)
-(3369,2715)
-(3365,2721)
-(3365,2725)
-(3366,2728)
-(3369,2731)
-(3368,2736)
-(3369,2746)
-(3371,2749)
-(3372,2751)
-(3371,2755)
-(3368,2757)
-(3368,2758)
-(3371,2767)
-(3375,2771)
-(3377,2782)
-(3381,2795)
-(3379,2803)
-(3372,2808)
-(3369,2815)
-(3368,2819)
-(3370,2827)
-(3368,2850)
-(3367,2855)
-(3365,2855)
-(3364,2853)
-(3362,2855)
-(3368,2858)
-(3367,2871)
-(3366,2874)
-(3361,2875)
-(3356,2878)
-(3354,2884)
-(3353,2889)
-(3352,2885)
-(3352,2887)
-(3352,2890)
-(3349,2895)
-(3348,2917)
-(3346,2915)
-(3345,2919)
-(3343,2914)
-(3337,2906)
-(3342,2915)
-(3343,2921)
-(3342,2923)
-(3344,2923)
-(3345,2922)
-(3346,2924)
-(3346,2929)
-(3345,2931)
-(3346,2933)
-(3345,2938)
-(3343,2939)
-(3336,2937)
-(3329,2943)
-172
-(3244,2298)
-(3241,2302)
-(3238,2306)
-(3234,2308)
-(3231,2313)
-(3226,2310)
-(3223,2311)
-(3223,2316)
-(3220,2319)
-(3219,2327)
-(3215,2331)
-(3215,2338)
-(3213,2342)
-(3208,2339)
-(3208,2345)
-(3206,2349)
-(3205,2347)
-(3203,2349)
-(3196,2348)
-(3193,2350)
-(3191,2347)
-(3188,2347)
-(3187,2350)
-(3186,2351)
-(3181,2350)
-(3179,2349)
-(3178,2345)
-(3176,2347)
-(3173,2340)
-(3171,2342)
-(3171,2338)
-(3168,2341)
-(3167,2338)
-(3165,2337)
-(3163,2334)
-(3160,2334)
-(3159,2337)
-(3152,2333)
-(3148,2336)
-(3146,2334)
-(3143,2334)
-(3141,2332)
-(3143,2327)
-(3142,2326)
-(3140,2329)
-(3139,2339)
-(3139,2341)
-(3138,2341)
-(3137,2337)
-(3136,2337)
-(3131,2343)
-(3129,2348)
-(3127,2348)
-(3124,2351)
-(3123,2346)
-(3117,2346)
-(3114,2349)
-(3106,2344)
-(3104,2344)
-(3102,2342)
-(3099,2344)
-(3095,2340)
-(3093,2341)
-(3091,2345)
-(3087,2341)
-(3084,2342)
-(3083,2345)
-(3081,2345)
-(3079,2351)
-(3077,2349)
-(3077,2352)
-(3075,2350)
-(3073,2350)
-(3071,2356)
-(3069,2357)
-(3068,2357)
-(3065,2348)
-(3063,2347)
-(3059,2349)
-(3058,2355)
-(3060,2357)
-(3059,2360)
-(3057,2379)
-(3058,2388)
-(3056,2385)
-(3055,2387)
-(3053,2386)
-(3048,2391)
-(3047,2386)
-(3044,2385)
-(3042,2386)
-(3038,2391)
-(3037,2392)
-(3037,2395)
-(3036,2395)
-(3035,2392)
-(3034,2392)
-(3030,2402)
-(3028,2401)
-(3026,2406)
-(3025,2403)
-(3022,2402)
-(3019,2398)
-(3015,2399)
-(3013,2403)
-(3005,2399)
-(3004,2406)
-(3006,2414)
-(3005,2417)
-(3003,2421)
-(3004,2425)
-(3005,2425)
-(3008,2423)
-(3010,2425)
-(3009,2428)
-(3006,2430)
-(3005,2433)
-(3003,2432)
-(3001,2437)
-(2998,2439)
-(2996,2437)
-(2995,2441)
-(2996,2444)
-(2998,2447)
-(2999,2449)
-(2998,2450)
-(2996,2449)
-(2994,2454)
-(2990,2457)
-(2987,2456)
-(2987,2466)
-(2986,2469)
-(2985,2473)
-(2982,2474)
-(2982,2476)
-(2980,2478)
-(2979,2475)
-(2978,2474)
-(2974,2478)
-(2975,2485)
-(2977,2490)
-(2976,2499)
-(2977,2502)
-(2975,2505)
-(2975,2510)
-(2975,2513)
-(2975,2516)
-(2977,2520)
-(2976,2523)
-(2976,2534)
-(2976,2538)
-(2974,2550)
-(2975,2556)
-(2974,2560)
-(2975,2565)
-(2975,2567)
-(2974,2567)
-(2971,2568)
-(2969,2566)
-(2965,2575)
-(2965,2581)
-(2964,2582)
-(2962,2580)
-(2962,2584)
-(2958,2588)
-(2961,2592)
-(2962,2598)
-(2969,2600)
-(2969,2603)
-(2969,2607)
-(2970,2610)
-(2970,2613)
-35
-(2856,2527)
-(2852,2518)
-(2853,2516)
-(2853,2512)
-(2855,2510)
-(2855,2507)
-(2856,2505)
-(2855,2500)
-(2856,2490)
-(2857,2486)
-(2856,2485)
-(2853,2481)
-(2853,2474)
-(2855,2471)
-(2853,2461)
-(2856,2461)
-(2857,2460)
-(2855,2456)
-(2851,2446)
-(2851,2436)
-(2847,2428)
-(2843,2427)
-(2832,2412)
-(2833,2409)
-(2834,2408)
-(2833,2404)
-(2833,2400)
-(2832,2397)
-(2832,2391)
-(2831,2383)
-(2830,2375)
-(2828,2373)
-(2827,2370)
-(2826,2367)
-(2826,2363)
-10
-(2835,2414)
-(2833,2411)
-(2835,2410)
-(2834,2405)
-(2835,2400)
-(2833,2397)
-(2832,2383)
-(2831,2374)
-(2828,2372)
-(2827,2363)
-69
-(2911,2674)
-(2912,2678)
-(2911,2680)
-(2909,2685)
-(2905,2699)
-(2905,2703)
-(2907,2710)
-(2907,2713)
-(2905,2716)
-(2904,2723)
-(2905,2725)
-(2907,2726)
-(2909,2727)
-(2906,2731)
-(2906,2736)
-(2903,2743)
-(2902,2750)
-(2900,2752)
-(2899,2758)
-(2895,2760)
-(2894,2765)
-(2889,2770)
-(2885,2768)
-(2882,2767)
-(2877,2768)
-(2875,2769)
-(2873,2774)
-(2872,2781)
-(2868,2782)
-(2866,2784)
-(2865,2792)
-(2862,2795)
-(2859,2797)
-(2854,2805)
-(2847,2810)
-(2845,2820)
-(2839,2826)
-(2836,2826)
-(2833,2824)
-(2832,2825)
-(2831,2832)
-(2826,2839)
-(2821,2845)
-(2821,2844)
-(2822,2849)
-(2821,2852)
-(2816,2857)
-(2811,2855)
-(2811,2857)
-(2812,2862)
-(2811,2865)
-(2806,2867)
-(2805,2870)
-(2803,2873)
-(2795,2876)
-(2792,2882)
-(2789,2882)
-(2786,2879)
-(2782,2882)
-(2779,2878)
-(2772,2874)
-(2770,2870)
-(2766,2867)
-(2765,2864)
-(2760,2864)
-(2757,2858)
-(2750,2858)
-(2749,2853)
-(2746,2853)
-16
-(2821,2844)
-(2820,2849)
-(2817,2855)
-(2812,2853)
-(2810,2854)
-(2810,2856)
-(2811,2862)
-(2810,2864)
-(2806,2866)
-(2803,2870)
-(2793,2875)
-(2791,2880)
-(2787,2877)
-(2785,2878)
-(2783,2881)
-(2781,2880)
-7
-(3123,2864)
-(3122,2861)
-(3123,2857)
-(3124,2851)
-(3123,2845)
-(3116,2826)
-(3112,2822)
-24
-(3206,2997)
-(3204,3007)
-(3197,3011)
-(3195,3010)
-(3193,3005)
-(3190,3002)
-(3190,2997)
-(3192,2994)
-(3193,2988)
-(3192,2983)
-(3189,2977)
-(3188,2969)
-(3189,2965)
-(3193,2960)
-(3194,2945)
-(3193,2939)
-(3191,2933)
-(3189,2923)
-(3187,2913)
-(3185,2910)
-(3182,2908)
-(3180,2909)
-(3175,2915)
-(3172,2915)
-38
-(3406,3245)
-(3404,3240)
-(3404,3237)
-(3406,3235)
-(3408,3235)
-(3410,3231)
-(3409,3226)
-(3407,3224)
-(3402,3225)
-(3398,3227)
-(3391,3228)
-(3384,3232)
-(3380,3242)
-(3372,3251)
-(3371,3251)
-(3368,3246)
-(3362,3241)
-(3362,3235)
-(3363,3227)
-(3361,3223)
-(3359,3219)
-(3357,3213)
-(3354,3211)
-(3351,3197)
-(3352,3185)
-(3355,3177)
-(3355,3171)
-(3357,3165)
-(3358,3160)
-(3351,3151)
-(3352,3142)
-(3351,3139)
-(3349,3139)
-(3344,3141)
-(3342,3139)
-(3341,3130)
-(3342,3125)
-(3343,3120)
-15
-(3483,3378)
-(3482,3374)
-(3481,3359)
-(3476,3352)
-(3477,3348)
-(3482,3348)
-(3483,3347)
-(3484,3342)
-(3483,3339)
-(3480,3338)
-(3474,3329)
-(3469,3327)
-(3469,3322)
-(3472,3318)
-(3472,3314)
-100
-(3491,3226)
-(3493,3222)
-(3498,3218)
-(3501,3217)
-(3502,3220)
-(3505,3220)
-(3505,3215)
-(3504,3212)
-(3505,3208)
-(3506,3205)
-(3508,3206)
-(3512,3209)
-(3513,3211)
-(3515,3211)
-(3515,3209)
-(3517,3208)
-(3521,3202)
-(3524,3201)
-(3527,3196)
-(3529,3196)
-(3531,3192)
-(3536,3192)
-(3539,3195)
-(3542,3191)
-(3543,3192)
-(3544,3193)
-(3545,3194)
-(3546,3192)
-(3545,3190)
-(3547,3190)
-(3548,3186)
-(3550,3185)
-(3553,3179)
-(3559,3175)
-(3563,3175)
-(3563,3171)
-(3568,3174)
-(3571,3166)
-(3572,3165)
-(3573,3162)
-(3574,3162)
-(3575,3157)
-(3579,3155)
-(3582,3156)
-(3582,3159)
-(3584,3160)
-(3583,3167)
-(3586,3169)
-(3588,3173)
-(3592,3176)
-(3595,3175)
-(3595,3178)
-(3597,3178)
-(3598,3180)
-(3598,3185)
-(3601,3198)
-(3603,3200)
-(3603,3205)
-(3605,3208)
-(3607,3208)
-(3608,3212)
-(3608,3216)
-(3609,3218)
-(3609,3222)
-(3610,3221)
-(3612,3228)
-(3612,3231)
-(3614,3231)
-(3620,3240)
-(3620,3247)
-(3621,3249)
-(3621,3256)
-(3620,3259)
-(3616,3264)
-(3614,3271)
-(3614,3288)
-(3614,3291)
-(3614,3300)
-(3613,3306)
-(3611,3305)
-(3611,3307)
-(3613,3315)
-(3614,3317)
-(3615,3322)
-(3619,3336)
-(3621,3338)
-(3628,3341)
-(3630,3352)
-(3629,3355)
-(3627,3359)
-(3625,3368)
-(3615,3370)
-(3613,3369)
-(3610,3369)
-(3609,3370)
-(3609,3376)
-(3608,3377)
-(3603,3378)
-(3598,3377)
-(3595,3382)
-109
-(3571,2388)
-(3571,2400)
-(3568,2407)
-(3567,2412)
-(3564,2416)
-(3557,2415)
-(3559,2422)
-(3560,2423)
-(3559,2433)
-(3559,2437)
-(3563,2442)
-(3565,2451)
-(3565,2457)
-(3563,2464)
-(3564,2477)
-(3565,2492)
-(3568,2499)
-(3569,2511)
-(3570,2515)
-(3574,2514)
-(3579,2525)
-(3579,2528)
-(3579,2534)
-(3580,2543)
-(3585,2555)
-(3587,2558)
-(3597,2564)
-(3597,2571)
-(3598,2577)
-(3602,2581)
-(3606,2609)
-(3610,2615)
-(3611,2624)
-(3614,2635)
-(3619,2643)
-(3621,2645)
-(3622,2648)
-(3624,2651)
-(3626,2662)
-(3628,2665)
-(3627,2667)
-(3629,2683)
-(3636,2702)
-(3636,2733)
-(3638,2739)
-(3642,2747)
-(3641,2752)
-(3640,2759)
-(3642,2763)
-(3642,2768)
-(3646,2774)
-(3644,2779)
-(3647,2784)
-(3651,2787)
-(3652,2790)
-(3656,2790)
-(3662,2794)
-(3667,2794)
-(3669,2797)
-(3678,2794)
-(3684,2783)
-(3686,2776)
-(3692,2768)
-(3693,2757)
-(3695,2751)
-(3702,2731)
-(3705,2727)
-(3706,2721)
-(3710,2720)
-(3720,2707)
-(3725,2708)
-(3734,2700)
-(3735,2692)
-(3739,2686)
-(3741,2680)
-(3741,2657)
-(3743,2650)
-(3744,2637)
-(3749,2633)
-(3756,2618)
-(3769,2583)
-(3774,2561)
-(3776,2559)
-(3781,2558)
-(3783,2553)
-(3784,2548)
-(3784,2538)
-(3786,2526)
-(3793,2522)
-(3797,2525)
-(3807,2513)
-(3815,2515)
-(3820,2503)
-(3819,2494)
-(3825,2486)
-(3827,2487)
-(3831,2498)
-(3834,2498)
-(3841,2507)
-(3844,2505)
-(3848,2506)
-(3849,2516)
-(3857,2511)
-(3861,2491)
-(3863,2467)
-(3869,2452)
-(3871,2443)
-(3874,2436)
-(3874,2432)
-47
-(3720,2708)
-(3722,2704)
-(3726,2706)
-(3732,2700)
-(3734,2690)
-(3738,2685)
-(3739,2682)
-(3741,2676)
-(3740,2667)
-(3740,2658)
-(3742,2648)
-(3744,2635)
-(3750,2628)
-(3755,2618)
-(3766,2585)
-(3774,2558)
-(3776,2556)
-(3781,2555)
-(3783,2549)
-(3783,2536)
-(3786,2522)
-(3794,2520)
-(3798,2523)
-(3807,2510)
-(3814,2513)
-(3816,2505)
-(3818,2503)
-(3819,2491)
-(3822,2489)
-(3825,2483)
-(3828,2486)
-(3832,2497)
-(3835,2496)
-(3837,2500)
-(3841,2504)
-(3843,2501)
-(3848,2503)
-(3850,2505)
-(3850,2512)
-(3856,2510)
-(3858,2505)
-(3858,2495)
-(3860,2487)
-(3861,2471)
-(3862,2463)
-(3867,2453)
-(3872,2432)
-195
-(3732,3566)
-(3734,3564)
-(3732,3562)
-(3721,3556)
-(3720,3554)
-(3720,3548)
-(3722,3537)
-(3722,3533)
-(3718,3525)
-(3720,3522)
-(3724,3508)
-(3725,3499)
-(3722,3492)
-(3720,3490)
-(3719,3482)
-(3716,3475)
-(3713,3476)
-(3708,3472)
-(3708,3466)
-(3709,3464)
-(3708,3462)
-(3702,3447)
-(3702,3442)
-(3701,3439)
-(3703,3435)
-(3701,3430)
-(3704,3425)
-(3703,3421)
-(3704,3418)
-(3705,3417)
-(3707,3423)
-(3709,3417)
-(3707,3412)
-(3708,3410)
-(3712,3411)
-(3714,3409)
-(3716,3409)
-(3721,3407)
-(3722,3405)
-(3725,3404)
-(3726,3397)
-(3727,3395)
-(3730,3400)
-(3733,3400)
-(3736,3405)
-(3738,3403)
-(3747,3404)
-(3755,3401)
-(3756,3399)
-(3758,3389)
-(3762,3384)
-(3762,3376)
-(3764,3371)
-(3770,3374)
-(3774,3372)
-(3778,3367)
-(3782,3366)
-(3784,3357)
-(3787,3359)
-(3790,3353)
-(3793,3352)
-(3794,3355)
-(3793,3360)
-(3791,3366)
-(3792,3370)
-(3795,3372)
-(3796,3379)
-(3799,3381)
-(3799,3384)
-(3798,3386)
-(3798,3387)
-(3805,3386)
-(3806,3388)
-(3805,3390)
-(3804,3392)
-(3806,3395)
-(3808,3393)
-(3810,3385)
-(3811,3385)
-(3816,3396)
-(3820,3401)
-(3828,3404)
-(3831,3411)
-(3833,3421)
-(3831,3428)
-(3831,3435)
-(3835,3439)
-(3835,3452)
-(3837,3452)
-(3840,3449)
-(3843,3458)
-(3845,3460)
-(3847,3457)
-(3848,3451)
-(3849,3460)
-(3851,3457)
-(3852,3449)
-(3853,3448)
-(3856,3458)
-(3860,3458)
-(3859,3464)
-(3860,3465)
-(3863,3462)
-(3864,3467)
-(3865,3468)
-(3869,3462)
-(3870,3470)
-(3875,3467)
-(3881,3473)
-(3886,3474)
-(3888,3474)
-(3889,3472)
-(3892,3459)
-(3896,3457)
-(3898,3450)
-(3901,3448)
-(3902,3435)
-(3906,3437)
-(3908,3436)
-(3906,3428)
-(3908,3422)
-(3909,3420)
-(3913,3423)
-(3916,3421)
-(3924,3421)
-(3931,3424)
-(3934,3421)
-(3938,3411)
-(3941,3410)
-(3943,3403)
-(3945,3402)
-(3958,3415)
-(3963,3404)
-(3969,3399)
-(3973,3392)
-(3979,3386)
-(3980,3381)
-(3980,3372)
-(3979,3348)
-(3975,3332)
-(3970,3320)
-(3968,3310)
-(3965,3308)
-(3955,3306)
-(3949,3293)
-(3944,3288)
-(3942,3283)
-(3941,3271)
-(3929,3258)
-(3928,3244)
-(3927,3235)
-(3927,3222)
-(3920,3201)
-(3922,3182)
-(3921,3173)
-(3924,3158)
-(3925,3138)
-(3926,3130)
-(3928,3129)
-(3945,3135)
-(3950,3140)
-(3959,3157)
-(3965,3152)
-(3977,3151)
-(3982,3148)
-(3984,3148)
-(3988,3154)
-(3993,3150)
-(3997,3151)
-(4004,3142)
-(4007,3144)
-(4011,3143)
-(4026,3147)
-(4027,3145)
-(4030,3136)
-(4032,3133)
-(4035,3135)
-(4037,3130)
-(4040,3129)
-(4046,3137)
-(4048,3135)
-(4048,3130)
-(4051,3130)
-(4054,3128)
-(4061,3154)
-(4059,3161)
-(4059,3178)
-(4061,3188)
-(4065,3193)
-(4067,3199)
-(4072,3202)
-(4074,3221)
-(4081,3243)
-(4089,3251)
-(4092,3253)
-66
-(3923,3421)
-(3932,3422)
-(3937,3409)
-(3940,3408)
-(3943,3401)
-(3944,3400)
-(3958,3410)
-(3964,3398)
-(3967,3397)
-(3972,3389)
-(3978,3385)
-(3979,3378)
-(3978,3348)
-(3974,3332)
-(3970,3325)
-(3967,3313)
-(3964,3310)
-(3958,3309)
-(3954,3307)
-(3949,3297)
-(3943,3290)
-(3940,3272)
-(3929,3260)
-(3927,3257)
-(3926,3223)
-(3919,3203)
-(3921,3187)
-(3920,3180)
-(3919,3173)
-(3922,3160)
-(3925,3130)
-(3926,3126)
-(3934,3127)
-(3949,3134)
-(3952,3137)
-(3957,3151)
-(3959,3153)
-(3964,3148)
-(3970,3150)
-(3983,3145)
-(3985,3146)
-(3988,3150)
-(3992,3146)
-(3997,3148)
-(4004,3138)
-(4017,3142)
-(4023,3140)
-(4026,3143)
-(4027,3141)
-(4029,3134)
-(4035,3131)
-(4037,3127)
-(4042,3126)
-(4046,3135)
-(4048,3126)
-(4051,3128)
-(4055,3126)
-(4057,3132)
-(4062,3154)
-(4061,3162)
-(4061,3180)
-(4062,3187)
-(4072,3200)
-(4077,3225)
-(4082,3238)
-(4093,3251)
-11
-(4062,3155)
-(4065,3165)
-(4069,3185)
-(4075,3197)
-(4077,3195)
-(4077,3185)
-(4079,3181)
-(4082,3183)
-(4085,3182)
-(4090,3193)
-(4095,3194)
-143
-(2987,5196)
-(2986,5195)
-(2982,5189)
-(2980,5188)
-(2978,5185)
-(2977,5181)
-(2978,5171)
-(2975,5162)
-(2976,5144)
-(2980,5142)
-(2982,5138)
-(2984,5137)
-(2987,5133)
-(2989,5130)
-(2993,5129)
-(2995,5130)
-(2997,5126)
-(3011,5129)
-(3016,5137)
-(3016,5143)
-(3012,5155)
-(3011,5161)
-(3007,5165)
-(3008,5170)
-(3008,5175)
-(3010,5179)
-(3009,5183)
-(3010,5186)
-(3009,5190)
-(3009,5196)
-(3011,5199)
-(3016,5204)
-(3024,5201)
-(3025,5198)
-(3029,5200)
-(3030,5196)
-(3033,5196)
-(3036,5192)
-(3039,5193)
-(3042,5190)
-(3046,5193)
-(3046,5189)
-(3048,5190)
-(3050,5186)
-(3052,5185)
-(3053,5180)
-(3060,5176)
-(3062,5173)
-(3064,5173)
-(3065,5171)
-(3069,5172)
-(3069,5169)
-(3071,5166)
-(3073,5166)
-(3079,5163)
-(3082,5163)
-(3083,5160)
-(3089,5160)
-(3092,5155)
-(3094,5155)
-(3094,5152)
-(3097,5148)
-(3100,5146)
-(3101,5148)
-(3105,5144)
-(3108,5146)
-(3109,5147)
-(3111,5145)
-(3114,5152)
-(3118,5150)
-(3121,5154)
-(3123,5156)
-(3135,5150)
-(3139,5150)
-(3144,5146)
-(3145,5141)
-(3145,5130)
-(3147,5126)
-(3148,5119)
-(3147,5110)
-(3145,5108)
-(3145,5102)
-(3146,5104)
-(3147,5094)
-(3145,5089)
-(3145,5066)
-(3143,5061)
-(3142,5055)
-(3139,5046)
-(3140,5044)
-(3141,5032)
-(3142,5029)
-(3142,5025)
-(3143,5024)
-(3150,5021)
-(3163,5020)
-(3167,5022)
-(3173,5018)
-(3179,5018)
-(3186,5022)
-(3185,5024)
-(3186,5026)
-(3186,5031)
-(3190,5029)
-(3191,5032)
-(3192,5029)
-(3195,5027)
-(3200,5029)
-(3204,5030)
-(3205,5025)
-(3207,5023)
-(3205,5018)
-(3206,5014)
-(3206,5009)
-(3206,5003)
-(3212,4991)
-(3211,4989)
-(3208,4987)
-(3208,4982)
-(3206,4978)
-(3206,4972)
-(3205,4967)
-(3205,4964)
-(3205,4958)
-(3208,4949)
-(3211,4945)
-(3212,4943)
-(3216,4943)
-(3218,4940)
-(3218,4937)
-(3219,4936)
-(3219,4933)
-(3221,4933)
-(3223,4931)
-(3222,4926)
-(3223,4926)
-(3224,4926)
-(3224,4913)
-(3228,4909)
-(3227,4907)
-(3226,4887)
-(3229,4882)
-(3233,4880)
-361
-(3291,4981)
-(3297,4983)
-(3303,4970)
-(3305,4969)
-(3308,4970)
-(3312,4974)
-(3315,4973)
-(3317,4974)
-(3321,4971)
-(3324,4972)
-(3326,4974)
-(3327,4978)
-(3325,4987)
-(3326,4993)
-(3330,4999)
-(3330,5005)
-(3333,5012)
-(3337,5019)
-(3342,5019)
-(3345,5022)
-(3347,5027)
-(3352,5032)
-(3358,5031)
-(3362,5034)
-(3365,5033)
-(3367,5037)
-(3372,5042)
-(3377,5041)
-(3380,5045)
-(3383,5043)
-(3389,5045)
-(3391,5049)
-(3399,5055)
-(3403,5062)
-(3406,5065)
-(3414,5067)
-(3420,5064)
-(3424,5066)
-(3427,5069)
-(3429,5067)
-(3429,5062)
-(3433,5064)
-(3435,5062)
-(3436,5057)
-(3436,5051)
-(3438,5046)
-(3437,5042)
-(3439,5042)
-(3441,5038)
-(3448,5037)
-(3450,5033)
-(3454,5033)
-(3457,5028)
-(3462,5032)
-(3464,5032)
-(3465,5028)
-(3464,5025)
-(3462,5021)
-(3464,5009)
-(3470,5004)
-(3471,4999)
-(3475,5001)
-(3482,4994)
-(3487,4994)
-(3488,4990)
-(3488,4985)
-(3490,4977)
-(3494,4975)
-(3496,4980)
-(3498,4980)
-(3499,4971)
-(3499,4965)
-(3498,4961)
-(3498,4959)
-(3500,4958)
-(3503,4954)
-(3501,4947)
-(3503,4946)
-(3505,4948)
-(3507,4939)
-(3510,4936)
-(3511,4932)
-(3513,4933)
-(3515,4930)
-(3516,4915)
-(3521,4915)
-(3522,4908)
-(3525,4904)
-(3525,4902)
-(3522,4901)
-(3524,4897)
-(3524,4892)
-(3526,4899)
-(3529,4899)
-(3530,4897)
-(3532,4891)
-(3534,4892)
-(3536,4892)
-(3537,4889)
-(3537,4886)
-(3540,4886)
-(3543,4879)
-(3547,4875)
-(3548,4864)
-(3547,4861)
-(3545,4861)
-(3545,4859)
-(3545,4852)
-(3547,4850)
-(3548,4845)
-(3550,4843)
-(3550,4837)
-(3554,4836)
-(3554,4832)
-(3556,4834)
-(3560,4831)
-(3561,4826)
-(3560,4821)
-(3559,4818)
-(3557,4815)
-(3559,4808)
-(3560,4807)
-(3561,4813)
-(3563,4813)
-(3565,4806)
-(3567,4804)
-(3565,4798)
-(3567,4790)
-(3566,4785)
-(3564,4781)
-(3567,4780)
-(3572,4771)
-(3572,4768)
-(3571,4765)
-(3571,4761)
-(3575,4758)
-(3577,4754)
-(3582,4749)
-(3587,4752)
-(3592,4742)
-(3598,4737)
-(3600,4742)
-(3602,4743)
-(3604,4737)
-(3605,4731)
-(3607,4735)
-(3608,4735)
-(3609,4724)
-(3613,4715)
-(3613,4710)
-(3615,4711)
-(3618,4708)
-(3618,4704)
-(3617,4699)
-(3621,4705)
-(3624,4702)
-(3626,4694)
-(3624,4685)
-(3624,4683)
-(3626,4676)
-(3629,4671)
-(3631,4666)
-(3637,4664)
-(3642,4654)
-(3642,4650)
-(3639,4644)
-(3639,4641)
-(3644,4630)
-(3644,4621)
-(3647,4614)
-(3647,4610)
-(3651,4608)
-(3651,4602)
-(3656,4597)
-(3656,4592)
-(3653,4586)
-(3657,4578)
-(3657,4572)
-(3660,4571)
-(3662,4562)
-(3662,4555)
-(3664,4551)
-(3661,4543)
-(3660,4539)
-(3664,4531)
-(3667,4529)
-(3667,4518)
-(3670,4512)
-(3667,4508)
-(3667,4505)
-(3670,4498)
-(3670,4488)
-(3673,4483)
-(3672,4476)
-(3673,4473)
-(3674,4467)
-(3673,4465)
-(3669,4465)
-(3670,4463)
-(3673,4461)
-(3674,4458)
-(3672,4452)
-(3671,4445)
-(3672,4434)
-(3675,4429)
-(3671,4420)
-(3674,4415)
-(3675,4412)
-(3673,4403)
-(3675,4395)
-(3675,4383)
-(3674,4377)
-(3676,4370)
-(3673,4356)
-(3678,4350)
-(3679,4338)
-(3678,4334)
-(3675,4328)
-(3677,4302)
-(3674,4294)
-(3675,4286)
-(3672,4275)
-(3672,4273)
-(3676,4270)
-(3677,4260)
-(3679,4257)
-(3676,4249)
-(3677,4234)
-(3679,4227)
-(3677,4221)
-(3677,4214)
-(3674,4209)
-(3674,4197)
-(3676,4193)
-(3677,4186)
-(3677,4180)
-(3676,4176)
-(3678,4170)
-(3677,4165)
-(3675,4163)
-(3674,4157)
-(3672,4155)
-(3674,4148)
-(3672,4141)
-(3673,4137)
-(3672,4135)
-(3670,4131)
-(3666,4127)
-(3666,4114)
-(3671,4106)
-(3672,4099)
-(3673,4098)
-(3676,4099)
-(3681,4104)
-(3687,4102)
-(3690,4094)
-(3695,4086)
-(3699,4070)
-(3699,4063)
-(3700,4059)
-(3703,4055)
-(3710,4055)
-(3714,4047)
-(3723,4043)
-(3727,4040)
-(3732,4031)
-(3734,4025)
-(3736,4013)
-(3737,3994)
-(3738,3992)
-(3742,3990)
-(3746,3983)
-(3749,3965)
-(3749,3957)
-(3755,3945)
-(3761,3939)
-(3766,3927)
-(3768,3924)
-(3772,3923)
-(3775,3917)
-(3778,3907)
-(3780,3905)
-(3781,3906)
-(3785,3912)
-(3792,3914)
-(3794,3916)
-(3796,3920)
-(3799,3930)
-(3802,3934)
-(3804,3935)
-(3807,3929)
-(3809,3941)
-(3812,3949)
-(3815,3948)
-(3817,3946)
-(3822,3948)
-(3825,3943)
-(3825,3952)
-(3826,3955)
-(3832,3947)
-(3835,3950)
-(3837,3948)
-(3840,3950)
-(3843,3948)
-(3844,3953)
-(3846,3954)
-(3847,3961)
-(3849,3965)
-(3851,3961)
-(3855,3961)
-(3856,3954)
-(3860,3959)
-(3862,3955)
-(3869,3951)
-(3874,3939)
-(3875,3940)
-(3877,3947)
-(3878,3947)
-(3882,3933)
-(3884,3930)
-(3889,3934)
-(3893,3932)
-(3897,3940)
-(3901,3941)
-(3902,3940)
-(3903,3934)
-(3902,3921)
-(3905,3916)
-(3914,3920)
-(3920,3927)
-(3925,3937)
-(3935,3940)
-(3939,3944)
-(3942,3943)
-(3951,3953)
-(3957,3953)
-(3964,3955)
-(3966,3954)
-(3968,3946)
-(3972,3953)
-(3976,3969)
-(3980,3976)
-(3986,3982)
-(3990,3991)
-(3996,3990)
-(3997,3992)
-(3997,4000)
-(3991,4025)
-(3992,4030)
-(3998,4040)
-(3997,4047)
-(3994,4057)
-(3993,4071)
-(3990,4078)
-(3989,4083)
-(3991,4096)
-(3996,4110)
-(4003,4119)
-(4006,4125)
-(4006,4128)
-(4007,4140)
-722
-(3377,5041)
-(3378,5040)
-(3380,5044)
-(3384,5041)
-(3391,5044)
-(3392,5047)
-(3401,5054)
-(3404,5061)
-(3408,5064)
-(3414,5065)
-(3419,5062)
-(3425,5064)
-(3427,5067)
-(3428,5060)
-(3432,5062)
-(3434,5061)
-(3435,5055)
-(3435,5050)
-(3437,5047)
-(3436,5040)
-(3439,5039)
-(3440,5035)
-(3447,5036)
-(3450,5030)
-(3453,5031)
-(3456,5026)
-(3463,5030)
-(3464,5028)
-(3463,5025)
-(3461,5022)
-(3464,5005)
-(3469,5002)
-(3471,4997)
-(3475,4999)
-(3482,4991)
-(3486,4990)
-(3489,4977)
-(3492,4973)
-(3495,4973)
-(3496,4977)
-(3498,4977)
-(3498,4964)
-(3496,4960)
-(3498,4957)
-(3500,4956)
-(3502,4953)
-(3500,4945)
-(3503,4944)
-(3505,4945)
-(3506,4938)
-(3509,4935)
-(3510,4930)
-(3513,4929)
-(3514,4927)
-(3514,4914)
-(3517,4912)
-(3520,4913)
-(3520,4907)
-(3524,4904)
-(3523,4902)
-(3520,4901)
-(3523,4889)
-(3525,4889)
-(3526,4892)
-(3527,4898)
-(3528,4898)
-(3531,4889)
-(3535,4890)
-(3535,4886)
-(3537,4884)
-(3540,4884)
-(3541,4878)
-(3546,4873)
-(3547,4865)
-(3547,4864)
-(3544,4863)
-(3544,4861)
-(3544,4851)
-(3545,4849)
-(3546,4848)
-(3547,4843)
-(3548,4841)
-(3549,4842)
-(3549,4835)
-(3552,4835)
-(3552,4831)
-(3554,4828)
-(3556,4831)
-(3559,4829)
-(3559,4822)
-(3555,4816)
-(3559,4804)
-(3561,4804)
-(3562,4809)
-(3565,4803)
-(3564,4798)
-(3566,4788)
-(3565,4785)
-(3563,4782)
-(3563,4779)
-(3566,4777)
-(3570,4771)
-(3570,4768)
-(3569,4767)
-(3570,4759)
-(3574,4756)
-(3576,4752)
-(3581,4746)
-(3587,4749)
-(3591,4739)
-(3598,4734)
-(3599,4734)
-(3602,4739)
-(3603,4731)
-(3605,4728)
-(3607,4732)
-(3607,4724)
-(3612,4714)
-(3612,4708)
-(3613,4707)
-(3616,4709)
-(3617,4706)
-(3615,4698)
-(3618,4697)
-(3621,4702)
-(3623,4702)
-(3625,4693)
-(3623,4686)
-(3623,4683)
-(3626,4673)
-(3628,4670)
-(3629,4664)
-(3634,4661)
-(3636,4661)
-(3640,4653)
-(3640,4650)
-(3637,4644)
-(3639,4636)
-(3643,4630)
-(3642,4620)
-(3645,4615)
-(3646,4609)
-(3649,4607)
-(3650,4600)
-(3655,4595)
-(3652,4584)
-(3655,4577)
-(3656,4571)
-(3656,4569)
-(3658,4569)
-(3659,4567)
-(3661,4560)
-(3660,4555)
-(3662,4551)
-(3659,4543)
-(3659,4539)
-(3662,4531)
-(3665,4527)
-(3666,4518)
-(3668,4513)
-(3666,4508)
-(3666,4505)
-(3668,4498)
-(3669,4487)
-(3671,4481)
-(3670,4476)
-(3672,4468)
-(3671,4467)
-(3669,4468)
-(3668,4466)
-(3669,4461)
-(3672,4457)
-(3670,4450)
-(3669,4445)
-(3671,4434)
-(3673,4429)
-(3670,4423)
-(3670,4420)
-(3673,4411)
-(3672,4402)
-(3673,4394)
-(3673,4388)
-(3674,4383)
-(3673,4377)
-(3674,4369)
-(3672,4358)
-(3673,4353)
-(3676,4348)
-(3678,4338)
-(3674,4331)
-(3674,4318)
-(3675,4314)
-(3674,4309)
-(3675,4303)
-(3674,4300)
-(3673,4292)
-(3673,4286)
-(3670,4276)
-(3671,4271)
-(3674,4270)
-(3675,4266)
-(3677,4256)
-(3675,4250)
-(3675,4230)
-(3677,4227)
-(3676,4222)
-(3675,4215)
-(3673,4213)
-(3673,4208)
-(3673,4194)
-(3675,4191)
-(3676,4184)
-(3674,4176)
-(3677,4169)
-(3674,4165)
-(3673,4160)
-(3671,4158)
-(3670,4155)
-(3673,4147)
-(3671,4137)
-(3667,4134)
-(3666,4138)
-(3664,4139)
-(3661,4140)
-(3660,4143)
-(3658,4159)
-(3657,4163)
-(3657,4168)
-(3653,4171)
-(3651,4175)
-(3642,4181)
-(3641,4191)
-(3639,4193)
-(3635,4190)
-(3631,4186)
-(3626,4190)
-(3621,4186)
-(3621,4191)
-(3614,4194)
-(3613,4192)
-(3613,4189)
-(3612,4189)
-(3607,4182)
-(3606,4183)
-(3608,4186)
-(3607,4189)
-(3604,4192)
-(3601,4196)
-(3598,4195)
-(3596,4196)
-(3594,4192)
-(3589,4197)
-(3588,4195)
-(3590,4189)
-(3589,4187)
-(3586,4187)
-(3584,4186)
-(3585,4174)
-(3579,4168)
-(3578,4159)
-(3573,4159)
-(3572,4154)
-(3573,4146)
-(3570,4147)
-(3566,4143)
-(3566,4140)
-(3566,4134)
-(3565,4137)
-(3563,4138)
-(3560,4134)
-(3557,4132)
-(3555,4129)
-(3550,4130)
-(3551,4134)
-(3550,4136)
-(3550,4137)
-(3548,4136)
-(3546,4131)
-(3541,4135)
-(3539,4132)
-(3541,4127)
-(3541,4126)
-(3537,4133)
-(3536,4133)
-(3535,4131)
-(3535,4126)
-(3534,4125)
-(3533,4128)
-(3532,4128)
-(3531,4122)
-(3529,4127)
-(3526,4126)
-(3524,4121)
-(3526,4116)
-(3518,4114)
-(3517,4118)
-(3514,4116)
-(3511,4119)
-(3510,4119)
-(3509,4112)
-(3510,4105)
-(3508,4105)
-(3507,4101)
-(3504,4102)
-(3501,4100)
-(3500,4098)
-(3499,4090)
-(3497,4094)
-(3494,4095)
-(3490,4093)
-(3489,4096)
-(3490,4099)
-(3489,4103)
-(3487,4107)
-(3489,4109)
-(3489,4112)
-(3485,4120)
-(3485,4124)
-(3484,4124)
-(3483,4126)
-(3481,4125)
-(3480,4127)
-(3483,4134)
-(3482,4136)
-(3480,4135)
-(3480,4140)
-(3479,4141)
-(3481,4145)
-(3483,4150)
-(3479,4155)
-(3480,4159)
-(3479,4162)
-(3482,4163)
-(3482,4169)
-(3479,4169)
-(3478,4177)
-(3477,4182)
-(3477,4184)
-(3479,4184)
-(3479,4193)
-(3481,4196)
-(3479,4200)
-(3480,4203)
-(3479,4207)
-(3477,4208)
-(3479,4215)
-(3476,4218)
-(3477,4224)
-(3477,4226)
-(3476,4226)
-(3475,4223)
-(3475,4223)
-(3472,4225)
-(3470,4225)
-(3470,4227)
-(3472,4230)
-(3470,4235)
-(3468,4236)
-(3471,4238)
-(3470,4240)
-(3469,4242)
-(3467,4243)
-(3467,4247)
-(3465,4249)
-(3465,4252)
-(3467,4253)
-(3467,4258)
-(3467,4260)
-(3465,4257)
-(3464,4260)
-(3465,4266)
-(3462,4268)
-(3461,4272)
-(3464,4279)
-(3464,4282)
-(3462,4284)
-(3461,4291)
-(3458,4290)
-(3458,4291)
-(3460,4300)
-(3459,4302)
-(3457,4301)
-(3457,4302)
-(3458,4306)
-(3458,4309)
-(3457,4310)
-(3456,4307)
-(3455,4308)
-(3454,4318)
-(3455,4321)
-(3453,4323)
-(3453,4330)
-(3454,4332)
-(3455,4342)
-(3452,4342)
-(3450,4345)
-(3451,4347)
-(3453,4346)
-(3452,4350)
-(3449,4353)
-(3450,4356)
-(3448,4362)
-(3448,4365)
-(3447,4369)
-(3445,4371)
-(3449,4376)
-(3445,4377)
-(3446,4380)
-(3445,4386)
-(3443,4387)
-(3444,4390)
-(3441,4391)
-(3441,4395)
-(3441,4398)
-(3438,4401)
-(3439,4406)
-(3436,4405)
-(3437,4410)
-(3436,4414)
-(3436,4421)
-(3434,4422)
-(3434,4417)
-(3433,4424)
-(3430,4429)
-(3430,4435)
-(3431,4439)
-(3430,4443)
-(3428,4448)
-(3427,4450)
-(3423,4446)
-(3422,4446)
-(3421,4452)
-(3418,4454)
-(3419,4457)
-(3418,4460)
-(3418,4464)
-(3417,4465)
-(3416,4461)
-(3415,4461)
-(3415,4468)
-(3414,4471)
-(3409,4474)
-(3407,4473)
-(3404,4477)
-(3403,4476)
-(3404,4473)
-(3404,4471)
-(3402,4473)
-(3401,4477)
-(3397,4475)
-(3396,4476)
-(3396,4481)
-(3393,4479)
-(3392,4483)
-(3386,4481)
-(3384,4482)
-(3384,4487)
-(3384,4487)
-(3381,4482)
-(3379,4487)
-(3376,4487)
-(3375,4485)
-(3376,4484)
-(3379,4482)
-(3378,4479)
-(3375,4481)
-(3373,4480)
-(3372,4482)
-(3370,4483)
-(3369,4482)
-(3369,4478)
-(3368,4477)
-(3367,4479)
-(3367,4485)
-(3366,4487)
-(3357,4479)
-(3354,4475)
-(3350,4467)
-(3344,4461)
-(3343,4452)
-(3344,4444)
-(3343,4439)
-(3342,4434)
-(3339,4431)
-(3336,4418)
-(3334,4410)
-(3332,4408)
-(3329,4407)
-(3327,4398)
-(3321,4390)
-(3320,4384)
-(3319,4381)
-(3314,4379)
-(3315,4387)
-(3315,4389)
-(3314,4391)
-(3311,4392)
-(3308,4388)
-(3304,4388)
-(3301,4392)
-(3301,4399)
-(3299,4402)
-(3297,4402)
-(3292,4398)
-(3290,4399)
-(3291,4407)
-(3290,4410)
-(3287,4414)
-(3283,4418)
-(3279,4434)
-(3274,4444)
-(3273,4456)
-(3269,4463)
-(3266,4465)
-(3264,4474)
-(3263,4477)
-(3254,4482)
-(3248,4489)
-(3246,4495)
-(3242,4495)
-(3241,4496)
-(3240,4494)
-(3239,4497)
-(3239,4502)
-(3236,4505)
-(3232,4503)
-(3228,4503)
-(3225,4501)
-(3221,4507)
-(3218,4509)
-(3217,4508)
-(3217,4511)
-(3216,4510)
-(3215,4515)
-(3212,4517)
-(3211,4521)
-(3208,4526)
-(3205,4530)
-(3203,4528)
-(3202,4532)
-(3200,4529)
-(3199,4529)
-(3199,4534)
-(3197,4533)
-(3196,4534)
-(3195,4539)
-(3192,4542)
-(3190,4547)
-(3187,4547)
-(3184,4552)
-(3183,4552)
-(3181,4559)
-(3182,4560)
-(3182,4562)
-(3183,4563)
-(3183,4566)
-(3182,4566)
-(3181,4567)
-(3180,4574)
-(3174,4576)
-(3175,4580)
-(3174,4581)
-(3172,4583)
-(3174,4584)
-(3174,4587)
-(3172,4587)
-(3172,4590)
-(3170,4587)
-(3169,4588)
-(3170,4591)
-(3169,4593)
-(3166,4596)
-(3165,4599)
-(3163,4599)
-(3160,4602)
-(3157,4599)
-(3157,4602)
-(3155,4601)
-(3155,4606)
-(3152,4607)
-(3150,4606)
-(3149,4608)
-(3146,4608)
-(3146,4605)
-(3144,4607)
-(3143,4606)
-(3142,4608)
-(3141,4609)
-(3140,4613)
-(3137,4616)
-(3134,4615)
-(3133,4617)
-(3132,4616)
-(3131,4617)
-(3129,4617)
-(3128,4619)
-(3127,4617)
-(3123,4617)
-(3123,4622)
-(3119,4624)
-(3118,4626)
-(3118,4628)
-(3116,4631)
-(3116,4633)
-(3114,4641)
-(3111,4644)
-(3110,4647)
-(3106,4648)
-(3105,4646)
-(3103,4647)
-(3100,4645)
-(3096,4646)
-(3094,4649)
-(3093,4649)
-(3092,4655)
-(3090,4657)
-(3091,4660)
-(3089,4662)
-(3088,4666)
-(3081,4674)
-(3076,4684)
-(3073,4684)
-(3071,4682)
-(3070,4683)
-(3070,4685)
-(3069,4686)
-(3067,4684)
-(3067,4688)
-(3066,4688)
-(3065,4686)
-(3063,4688)
-(3061,4688)
-(3060,4692)
-(3058,4693)
-(3053,4697)
-(3052,4700)
-(3051,4703)
-(3050,4709)
-(3046,4713)
-(3045,4715)
-(3045,4718)
-(3041,4723)
-(3038,4729)
-(3038,4738)
-(3036,4742)
-(3037,4744)
-(3037,4743)
-(3038,4744)
-(3038,4748)
-(3041,4747)
-(3041,4748)
-(3040,4754)
-(3038,4755)
-(3038,4760)
-(3039,4761)
-(3038,4763)
-(3036,4767)
-(3036,4770)
-(3034,4772)
-(3033,4777)
-(3031,4777)
-(3032,4780)
-(3030,4782)
-(3031,4785)
-(3028,4788)
-(3028,4795)
-(3029,4798)
-(3028,4800)
-(3030,4805)
-(3028,4807)
-(3027,4813)
-(3025,4814)
-(3022,4817)
-(3021,4829)
-(3022,4833)
-(3023,4838)
-(3022,4842)
-(3022,4845)
-(3021,4846)
-(3022,4856)
-(3024,4860)
-(3023,4862)
-(3024,4865)
-(3022,4870)
-(3020,4874)
-(3020,4877)
-(3019,4880)
-(3020,4889)
-(3019,4893)
-(3014,4902)
-(3016,4905)
-(3012,4909)
-(3011,4912)
-(3013,4914)
-(3013,4917)
-(3013,4921)
-(3012,4925)
-(3013,4928)
-(3012,4929)
-(3014,4933)
-(3013,4935)
-(3009,4936)
-(3007,4939)
-(3005,4939)
-(3003,4941)
-(3002,4948)
-(2997,4955)
-(2996,4961)
-(2994,4962)
-(2995,4965)
-(2994,4968)
-(2992,4974)
-(2988,4978)
-(2986,4978)
-(2986,4979)
-(2983,4978)
-(2983,4982)
-(2981,4983)
-(2981,4987)
-(2980,4995)
-(2981,5001)
-(2979,5002)
-81
-(2889,5319)
-(2880,5318)
-(2877,5321)
-(2874,5319)
-(2871,5319)
-(2870,5318)
-(2870,5316)
-(2867,5315)
-(2866,5319)
-(2863,5321)
-(2857,5322)
-(2855,5324)
-(2849,5337)
-(2850,5338)
-(2841,5343)
-(2839,5342)
-(2836,5342)
-(2827,5334)
-(2828,5333)
-(2828,5330)
-(2832,5320)
-(2836,5295)
-(2838,5286)
-(2838,5279)
-(2841,5273)
-(2841,5270)
-(2846,5260)
-(2848,5243)
-(2850,5241)
-(2851,5241)
-(2855,5238)
-(2854,5235)
-(2855,5230)
-(2854,5229)
-(2855,5223)
-(2856,5219)
-(2858,5217)
-(2860,5217)
-(2863,5208)
-(2869,5202)
-(2870,5195)
-(2872,5194)
-(2873,5190)
-(2871,5187)
-(2872,5184)
-(2870,5183)
-(2872,5180)
-(2871,5179)
-(2872,5176)
-(2870,5176)
-(2873,5167)
-(2875,5166)
-(2875,5161)
-(2878,5158)
-(2877,5153)
-(2878,5152)
-(2878,5150)
-(2879,5146)
-(2878,5143)
-(2880,5142)
-(2880,5140)
-(2878,5133)
-(2881,5132)
-(2881,5130)
-(2880,5129)
-(2881,5126)
-(2879,5122)
-(2880,5120)
-(2879,5119)
-(2880,5114)
-(2880,5111)
-(2878,5109)
-(2877,5105)
-(2877,5103)
-(2875,5100)
-(2874,5093)
-(2868,5087)
-(2865,5075)
-(2863,5072)
-(2863,5066)
-(2864,5061)
-210
-(3490,4093)
-(3491,4092)
-(3496,4093)
-(3499,4088)
-(3500,4088)
-(3502,4098)
-(3504,4100)
-(3508,4100)
-(3511,4103)
-(3510,4112)
-(3511,4117)
-(3513,4113)
-(3516,4116)
-(3518,4113)
-(3525,4115)
-(3528,4113)
-(3528,4118)
-(3525,4122)
-(3528,4125)
-(3529,4125)
-(3530,4120)
-(3531,4120)
-(3532,4126)
-(3533,4122)
-(3534,4121)
-(3537,4126)
-(3536,4131)
-(3537,4132)
-(3539,4124)
-(3541,4123)
-(3543,4124)
-(3542,4128)
-(3540,4131)
-(3541,4133)
-(3546,4129)
-(3550,4134)
-(3549,4129)
-(3550,4128)
-(3554,4129)
-(3556,4127)
-(3558,4131)
-(3561,4132)
-(3563,4136)
-(3564,4136)
-(3567,4132)
-(3568,4142)
-(3570,4145)
-(3573,4144)
-(3574,4145)
-(3574,4157)
-(3578,4156)
-(3581,4167)
-(3586,4173)
-(3585,4185)
-(3591,4186)
-(3590,4195)
-(3595,4189)
-(3597,4194)
-(3602,4194)
-(3606,4187)
-(3605,4183)
-(3605,4180)
-(3606,4179)
-(3609,4180)
-(3613,4186)
-(3614,4186)
-(3615,4192)
-(3619,4190)
-(3620,4185)
-(3622,4184)
-(3623,4184)
-(3626,4187)
-(3632,4184)
-(3639,4190)
-(3640,4183)
-(3641,4178)
-(3645,4177)
-(3648,4173)
-(3650,4173)
-(3652,4168)
-(3656,4166)
-(3655,4164)
-(3656,4161)
-(3657,4159)
-(3656,4153)
-(3659,4148)
-(3659,4142)
-(3661,4138)
-(3664,4137)
-(3665,4136)
-(3664,4129)
-(3664,4112)
-(3668,4106)
-(3670,4098)
-(3674,4094)
-(3678,4095)
-(3683,4101)
-(3685,4100)
-(3689,4093)
-(3692,4080)
-(3696,4073)
-(3697,4067)
-(3697,4061)
-(3701,4053)
-(3704,4051)
-(3709,4052)
-(3714,4044)
-(3723,4039)
-(3729,4032)
-(3731,4027)
-(3734,4014)
-(3734,4004)
-(3736,3999)
-(3736,3991)
-(3742,3987)
-(3745,3981)
-(3748,3954)
-(3752,3947)
-(3761,3935)
-(3765,3924)
-(3772,3918)
-(3774,3914)
-(3775,3909)
-(3780,3901)
-(3782,3903)
-(3785,3909)
-(3792,3910)
-(3796,3913)
-(3799,3924)
-(3801,3929)
-(3805,3930)
-(3808,3925)
-(3809,3933)
-(3811,3936)
-(3811,3941)
-(3813,3945)
-(3818,3942)
-(3822,3944)
-(3826,3939)
-(3827,3941)
-(3827,3951)
-(3832,3944)
-(3835,3948)
-(3837,3945)
-(3839,3947)
-(3844,3946)
-(3845,3948)
-(3845,3951)
-(3847,3950)
-(3848,3953)
-(3848,3961)
-(3853,3958)
-(3855,3949)
-(3860,3955)
-(3862,3951)
-(3867,3949)
-(3869,3944)
-(3875,3935)
-(3876,3937)
-(3877,3943)
-(3878,3944)
-(3882,3930)
-(3884,3927)
-(3889,3931)
-(3894,3928)
-(3898,3938)
-(3901,3938)
-(3901,3935)
-(3900,3927)
-(3901,3918)
-(3905,3912)
-(3915,3916)
-(3918,3922)
-(3921,3925)
-(3925,3934)
-(3935,3935)
-(3942,3939)
-(3951,3949)
-(3963,3952)
-(3965,3948)
-(3967,3940)
-(3968,3939)
-(3973,3951)
-(3981,3971)
-(3985,3974)
-(3990,3983)
-(3997,3987)
-(3999,3991)
-(3999,4000)
-(3994,4024)
-(3995,4031)
-(3998,4035)
-(3999,4038)
-(3999,4048)
-(3996,4055)
-(3995,4074)
-(3992,4084)
-(3992,4091)
-(3998,4107)
-(4001,4112)
-(3999,4100)
-(4000,4096)
-(4001,4097)
-(4003,4105)
-(4005,4105)
-(4005,4114)
-(4006,4112)
-(4006,4118)
-(4008,4124)
-(4008,4138)
-54
-(3781,3902)
-(3785,3895)
-(3788,3894)
-(3792,3900)
-(3799,3898)
-(3803,3903)
-(3805,3912)
-(3807,3915)
-(3811,3911)
-(3814,3912)
-(3818,3909)
-(3821,3910)
-(3822,3913)
-(3822,3920)
-(3824,3920)
-(3826,3918)
-(3831,3919)
-(3832,3924)
-(3835,3931)
-(3842,3936)
-(3848,3933)
-(3850,3933)
-(3853,3927)
-(3857,3930)
-(3859,3924)
-(3863,3925)
-(3865,3920)
-(3868,3924)
-(3872,3924)
-(3874,3921)
-(3877,3915)
-(3879,3913)
-(3885,3914)
-(3890,3910)
-(3893,3914)
-(3896,3908)
-(3897,3903)
-(3899,3898)
-(3903,3899)
-(3905,3893)
-(3913,3889)
-(3916,3884)
-(3921,3883)
-(3925,3884)
-(3930,3879)
-(3934,3887)
-(3939,3890)
-(3944,3900)
-(3950,3906)
-(3952,3911)
-(3955,3927)
-(3958,3927)
-(3964,3936)
-(3967,3939)
-142
-(3151,5924)
-(3148,5920)
-(3147,5917)
-(3140,5916)
-(3138,5899)
-(3134,5890)
-(3132,5878)
-(3128,5875)
-(3127,5869)
-(3128,5860)
-(3130,5855)
-(3130,5848)
-(3128,5831)
-(3130,5829)
-(3130,5825)
-(3130,5816)
-(3129,5812)
-(3130,5797)
-(3132,5792)
-(3134,5793)
-(3134,5792)
-(3135,5791)
-(3136,5789)
-(3136,5782)
-(3135,5780)
-(3136,5776)
-(3135,5771)
-(3135,5765)
-(3137,5762)
-(3138,5766)
-(3145,5769)
-(3150,5765)
-(3152,5765)
-(3155,5760)
-(3157,5760)
-(3162,5750)
-(3162,5741)
-(3158,5727)
-(3152,5723)
-(3151,5720)
-(3152,5707)
-(3151,5702)
-(3150,5700)
-(3149,5694)
-(3147,5686)
-(3144,5686)
-(3143,5683)
-(3141,5683)
-(3139,5679)
-(3140,5676)
-(3140,5673)
-(3139,5673)
-(3139,5676)
-(3137,5676)
-(3132,5671)
-(3128,5662)
-(3126,5663)
-(3124,5662)
-(3123,5664)
-(3121,5664)
-(3121,5670)
-(3118,5669)
-(3115,5664)
-(3114,5666)
-(3112,5666)
-(3109,5670)
-(3104,5668)
-(3101,5658)
-(3099,5655)
-(3095,5648)
-(3094,5638)
-(3094,5634)
-(3096,5628)
-(3096,5619)
-(3094,5614)
-(3094,5609)
-(3096,5599)
-(3095,5594)
-(3096,5582)
-(3096,5579)
-(3094,5575)
-(3095,5572)
-(3094,5568)
-(3094,5564)
-(3096,5559)
-(3097,5558)
-(3098,5550)
-(3103,5541)
-(3103,5535)
-(3104,5533)
-(3106,5532)
-(3107,5529)
-(3110,5529)
-(3114,5522)
-(3116,5519)
-(3118,5519)
-(3120,5520)
-(3123,5528)
-(3129,5540)
-(3141,5548)
-(3142,5548)
-(3149,5538)
-(3151,5538)
-(3154,5540)
-(3156,5538)
-(3157,5533)
-(3156,5531)
-(3154,5526)
-(3157,5516)
-(3155,5511)
-(3155,5507)
-(3156,5504)
-(3158,5503)
-(3159,5507)
-(3161,5504)
-(3162,5500)
-(3161,5498)
-(3159,5488)
-(3161,5484)
-(3164,5479)
-(3167,5480)
-(3170,5482)
-(3171,5486)
-(3173,5486)
-(3174,5489)
-(3178,5491)
-(3180,5490)
-(3186,5486)
-(3189,5488)
-(3189,5490)
-(3189,5497)
-(3191,5504)
-(3198,5511)
-(3203,5518)
-(3207,5514)
-(3208,5509)
-(3212,5506)
-(3213,5499)
-(3217,5497)
-(3218,5493)
-(3222,5496)
-(3223,5491)
-236
-(3330,5545)
-(3338,5550)
-(3344,5548)
-(3346,5540)
-(3350,5535)
-(3353,5535)
-(3357,5539)
-(3358,5544)
-(3357,5549)
-(3359,5567)
-(3362,5579)
-(3365,5584)
-(3363,5589)
-(3366,5591)
-(3369,5590)
-(3372,5605)
-(3377,5605)
-(3379,5610)
-(3379,5615)
-(3383,5616)
-(3385,5622)
-(3389,5621)
-(3392,5627)
-(3396,5626)
-(3398,5625)
-(3400,5620)
-(3405,5616)
-(3407,5617)
-(3409,5610)
-(3410,5608)
-(3413,5607)
-(3420,5603)
-(3422,5603)
-(3425,5608)
-(3430,5606)
-(3433,5607)
-(3436,5605)
-(3438,5597)
-(3442,5594)
-(3446,5595)
-(3449,5594)
-(3452,5599)
-(3454,5599)
-(3458,5596)
-(3472,5594)
-(3477,5589)
-(3481,5590)
-(3481,5588)
-(3481,5582)
-(3482,5579)
-(3483,5578)
-(3486,5579)
-(3488,5575)
-(3489,5570)
-(3488,5566)
-(3488,5562)
-(3490,5554)
-(3494,5551)
-(3496,5546)
-(3500,5546)
-(3504,5536)
-(3507,5538)
-(3508,5534)
-(3508,5529)
-(3509,5528)
-(3511,5525)
-(3517,5523)
-(3522,5524)
-(3524,5517)
-(3525,5518)
-(3527,5525)
-(3529,5524)
-(3534,5516)
-(3533,5503)
-(3534,5502)
-(3538,5505)
-(3544,5500)
-(3546,5491)
-(3550,5486)
-(3551,5481)
-(3556,5480)
-(3558,5479)
-(3563,5467)
-(3568,5462)
-(3574,5452)
-(3577,5451)
-(3581,5453)
-(3585,5447)
-(3587,5447)
-(3589,5449)
-(3593,5442)
-(3602,5437)
-(3614,5421)
-(3620,5403)
-(3621,5404)
-(3621,5410)
-(3622,5411)
-(3628,5402)
-(3632,5402)
-(3637,5399)
-(3642,5400)
-(3647,5395)
-(3649,5389)
-(3654,5385)
-(3672,5377)
-(3683,5382)
-(3687,5396)
-(3688,5407)
-(3692,5412)
-(3694,5412)
-(3697,5402)
-(3694,5391)
-(3695,5386)
-(3698,5386)
-(3703,5388)
-(3706,5382)
-(3709,5373)
-(3709,5367)
-(3714,5357)
-(3731,5347)
-(3737,5340)
-(3745,5340)
-(3749,5328)
-(3757,5314)
-(3764,5306)
-(3767,5308)
-(3770,5306)
-(3775,5291)
-(3785,5282)
-(3790,5271)
-(3793,5261)
-(3796,5252)
-(3800,5238)
-(3802,5233)
-(3805,5233)
-(3810,5240)
-(3815,5241)
-(3823,5239)
-(3837,5256)
-(3839,5256)
-(3845,5250)
-(3862,5254)
-(3870,5248)
-(3878,5250)
-(3882,5256)
-(3884,5261)
-(3891,5266)
-(3898,5266)
-(3905,5272)
-(3912,5271)
-(3920,5276)
-(3929,5276)
-(3936,5281)
-(3942,5281)
-(3945,5278)
-(3946,5266)
-(3956,5261)
-(3957,5264)
-(3958,5274)
-(3961,5275)
-(3964,5273)
-(3967,5238)
-(3970,5233)
-(3973,5231)
-(3976,5232)
-(3979,5247)
-(3981,5249)
-(3982,5249)
-(3984,5237)
-(3995,5212)
-(3996,5204)
-(3995,5199)
-(3992,5185)
-(3993,5175)
-(3995,5173)
-(4003,5181)
-(4005,5196)
-(4007,5201)
-(4009,5202)
-(4017,5196)
-(4026,5197)
-(4034,5189)
-(4040,5192)
-(4044,5191)
-(4045,5190)
-(4045,5185)
-(4046,5182)
-(4052,5178)
-(4056,5172)
-(4068,5180)
-(4072,5190)
-(4073,5191)
-(4075,5191)
-(4077,5184)
-(4082,5177)
-(4087,5182)
-(4093,5193)
-(4095,5194)
-(4098,5191)
-(4099,5185)
-(4101,5181)
-(4105,5177)
-(4108,5175)
-(4113,5178)
-(4122,5172)
-(4124,5164)
-(4130,5151)
-(4133,5149)
-(4136,5149)
-(4142,5161)
-(4146,5164)
-(4149,5162)
-(4153,5145)
-(4157,5143)
-(4160,5147)
-(4164,5161)
-(4167,5163)
-(4176,5143)
-(4179,5126)
-(4184,5119)
-(4186,5108)
-(4185,5097)
-(4181,5083)
-(4174,5065)
-(4174,5053)
-(4176,5048)
-(4182,5042)
-(4184,5036)
-(4184,5015)
-(4185,5009)
-(4192,4999)
-(4191,5003)
-(4193,5006)
-(4201,5000)
-(4203,4993)
-(4204,4985)
-115
-(4205,4991)
-(4204,5005)
-(4201,5010)
-(4198,5013)
-(4196,5019)
-(4192,5023)
-(4190,5034)
-(4187,5035)
-(4183,5047)
-(4182,5062)
-(4179,5067)
-(4187,5088)
-(4189,5119)
-(4188,5128)
-(4184,5141)
-(4177,5148)
-(4172,5157)
-(4167,5172)
-(4163,5169)
-(4160,5162)
-(4157,5161)
-(4154,5156)
-(4149,5167)
-(4147,5169)
-(4143,5168)
-(4132,5159)
-(4127,5164)
-(4122,5176)
-(4119,5181)
-(4114,5184)
-(4106,5182)
-(4102,5186)
-(4099,5195)
-(4095,5198)
-(4090,5193)
-(4086,5187)
-(4084,5186)
-(4077,5191)
-(4072,5198)
-(4070,5194)
-(4067,5185)
-(4061,5179)
-(4056,5177)
-(4051,5184)
-(4048,5184)
-(4049,5196)
-(4048,5200)
-(4046,5201)
-(4044,5200)
-(4037,5203)
-(4032,5200)
-(4029,5205)
-(4026,5206)
-(4022,5204)
-(4019,5206)
-(4014,5203)
-(4007,5207)
-(4004,5205)
-(3997,5180)
-(3995,5180)
-(3994,5185)
-(3995,5190)
-(3998,5200)
-(3998,5209)
-(3996,5218)
-(3994,5221)
-(3990,5231)
-(3989,5234)
-(3986,5237)
-(3983,5252)
-(3981,5254)
-(3977,5254)
-(3975,5251)
-(3972,5240)
-(3970,5239)
-(3968,5244)
-(3967,5254)
-(3967,5272)
-(3965,5279)
-(3959,5280)
-(3951,5270)
-(3948,5273)
-(3948,5281)
-(3951,5289)
-(3950,5295)
-(3949,5299)
-(3956,5309)
-(3957,5314)
-(3958,5332)
-(3958,5342)
-(3955,5350)
-(3954,5355)
-(3948,5366)
-(3946,5379)
-(3940,5399)
-(3936,5403)
-(3927,5399)
-(3917,5400)
-(3913,5403)
-(3907,5401)
-(3903,5413)
-(3897,5419)
-(3894,5419)
-(3888,5427)
-(3887,5435)
-(3884,5449)
-(3875,5457)
-(3873,5470)
-(3870,5477)
-(3868,5483)
-(3869,5491)
-(3868,5504)
-(3866,5510)
-(3865,5518)
-(3863,5524)
-74
-(3863,5525)
-(3864,5520)
-(3865,5511)
-(3867,5504)
-(3868,5484)
-(3869,5476)
-(3873,5463)
-(3875,5455)
-(3882,5448)
-(3884,5444)
-(3886,5435)
-(3886,5424)
-(3892,5416)
-(3898,5415)
-(3902,5410)
-(3904,5408)
-(3905,5401)
-(3907,5398)
-(3910,5399)
-(3917,5396)
-(3926,5396)
-(3932,5399)
-(3937,5399)
-(3941,5390)
-(3941,5384)
-(3944,5379)
-(3945,5369)
-(3947,5363)
-(3952,5355)
-(3954,5347)
-(3956,5342)
-(3957,5333)
-(3955,5315)
-(3952,5307)
-(3948,5302)
-(3950,5293)
-(3948,5289)
-(3947,5281)
-(3946,5284)
-(3940,5286)
-(3933,5284)
-(3925,5280)
-(3918,5280)
-(3913,5275)
-(3908,5277)
-(3898,5270)
-(3888,5270)
-(3883,5266)
-(3880,5258)
-(3866,5254)
-(3862,5257)
-(3858,5257)
-(3845,5253)
-(3839,5259)
-(3836,5258)
-(3830,5252)
-(3822,5242)
-(3821,5241)
-(3817,5245)
-(3809,5242)
-(3804,5236)
-(3802,5236)
-(3797,5258)
-(3792,5273)
-(3785,5287)
-(3776,5292)
-(3772,5306)
-(3768,5310)
-(3765,5309)
-(3757,5317)
-(3750,5328)
-(3747,5341)
-(3744,5343)
-(3742,5341)
-111
-(3377,6108)
-(3379,6110)
-(3385,6108)
-(3392,6109)
-(3399,6109)
-(3401,6107)
-(3402,6103)
-(3404,6102)
-(3408,6095)
-(3409,6091)
-(3408,6085)
-(3408,6083)
-(3410,6082)
-(3416,6083)
-(3418,6084)
-(3419,6093)
-(3421,6101)
-(3420,6104)
-(3417,6107)
-(3417,6114)
-(3414,6123)
-(3414,6140)
-(3416,6140)
-(3418,6139)
-(3420,6142)
-(3424,6141)
-(3430,6142)
-(3433,6141)
-(3441,6140)
-(3445,6143)
-(3451,6143)
-(3455,6146)
-(3460,6155)
-(3465,6158)
-(3468,6162)
-(3476,6160)
-(3479,6161)
-(3486,6167)
-(3492,6171)
-(3505,6171)
-(3524,6157)
-(3527,6154)
-(3536,6131)
-(3537,6101)
-(3536,6083)
-(3536,6069)
-(3535,6060)
-(3533,6058)
-(3527,6058)
-(3524,6051)
-(3521,6037)
-(3517,6027)
-(3514,6025)
-(3506,6028)
-(3504,6025)
-(3500,6023)
-(3499,6018)
-(3500,6011)
-(3501,6001)
-(3505,6001)
-(3506,5996)
-(3510,5990)
-(3511,5984)
-(3512,5971)
-(3520,5957)
-(3522,5944)
-(3519,5936)
-(3518,5928)
-(3516,5922)
-(3514,5920)
-(3510,5920)
-(3508,5917)
-(3506,5910)
-(3506,5901)
-(3504,5895)
-(3504,5871)
-(3502,5863)
-(3503,5842)
-(3505,5835)
-(3504,5826)
-(3502,5823)
-(3502,5820)
-(3502,5814)
-(3504,5811)
-(3507,5811)
-(3508,5808)
-(3512,5787)
-(3510,5776)
-(3509,5770)
-(3511,5765)
-(3511,5753)
-(3509,5747)
-(3510,5742)
-(3506,5732)
-(3504,5724)
-(3502,5723)
-(3500,5723)
-(3499,5717)
-(3497,5714)
-(3495,5707)
-(3488,5692)
-(3487,5688)
-(3488,5678)
-(3485,5667)
-(3488,5647)
-(3485,5636)
-(3485,5633)
-(3490,5600)
-(3487,5591)
-(3484,5587)
-(3485,5579)
-20
-(3134,6260)
-(3136,6257)
-(3138,6258)
-(3141,6257)
-(3144,6248)
-(3149,6243)
-(3150,6239)
-(3153,6239)
-(3155,6237)
-(3158,6236)
-(3161,6232)
-(3162,6228)
-(3166,6223)
-(3169,6224)
-(3175,6221)
-(3178,6214)
-(3179,6206)
-(3180,6204)
-(3183,6202)
-(3186,6202)
-30
-(4287,5974)
-(4289,5972)
-(4291,5965)
-(4293,5965)
-(4294,5968)
-(4295,5980)
-(4299,5991)
-(4302,6006)
-(4303,6031)
-(4306,6042)
-(4307,6088)
-(4309,6093)
-(4311,6095)
-(4313,6113)
-(4316,6122)
-(4319,6128)
-(4320,6144)
-(4324,6155)
-(4329,6158)
-(4337,6179)
-(4343,6183)
-(4346,6202)
-(4346,6220)
-(4349,6246)
-(4351,6250)
-(4353,6249)
-(4356,6252)
-(4359,6273)
-(4365,6285)
-(4367,6304)
-47
-(4366,6304)
-(4364,6288)
-(4359,6278)
-(4356,6267)
-(4355,6255)
-(4350,6254)
-(4348,6247)
-(4347,6235)
-(4345,6225)
-(4345,6203)
-(4342,6188)
-(4337,6185)
-(4328,6162)
-(4324,6158)
-(4320,6151)
-(4319,6147)
-(4318,6131)
-(4317,6128)
-(4309,6133)
-(4306,6145)
-(4303,6144)
-(4301,6150)
-(4298,6155)
-(4294,6174)
-(4292,6179)
-(4293,6169)
-(4295,6164)
-(4297,6154)
-(4300,6149)
-(4302,6142)
-(4306,6141)
-(4308,6129)
-(4312,6126)
-(4314,6122)
-(4312,6117)
-(4311,6097)
-(4307,6091)
-(4306,6084)
-(4305,6045)
-(4303,6034)
-(4301,6006)
-(4295,5982)
-(4294,5971)
-(4293,5967)
-(4292,5967)
-(4289,5974)
-(4287,5973)
-33
-(4373,7234)
-(4373,7247)
-(4372,7253)
-(4368,7259)
-(4367,7263)
-(4369,7281)
-(4368,7292)
-(4362,7304)
-(4360,7312)
-(4355,7315)
-(4350,7338)
-(4344,7352)
-(4339,7372)
-(4335,7390)
-(4329,7406)
-(4326,7422)
-(4323,7426)
-(4314,7417)
-(4313,7421)
-(4310,7422)
-(4308,7428)
-(4306,7429)
-(4302,7418)
-(4299,7417)
-(4297,7410)
-(4294,7401)
-(4292,7387)
-(4282,7369)
-(4278,7358)
-(4274,7361)
-(4271,7351)
-(4264,7352)
-(4262,7349)
-33
-(4262,7349)
-(4271,7349)
-(4272,7351)
-(4274,7358)
-(4276,7357)
-(4277,7353)
-(4278,7354)
-(4283,7367)
-(4294,7387)
-(4295,7400)
-(4298,7407)
-(4299,7412)
-(4300,7415)
-(4303,7416)
-(4306,7426)
-(4308,7419)
-(4313,7414)
-(4322,7423)
-(4325,7417)
-(4328,7403)
-(4335,7385)
-(4339,7362)
-(4344,7346)
-(4349,7334)
-(4354,7315)
-(4359,7303)
-(4367,7289)
-(4367,7278)
-(4365,7268)
-(4366,7258)
-(4367,7256)
-(4371,7249)
-(4372,7233)
-439
-(3959,6211)
-(3961,6217)
-(3960,6224)
-(3959,6226)
-(3957,6228)
-(3953,6240)
-(3950,6239)
-(3948,6246)
-(3945,6247)
-(3945,6258)
-(3943,6265)
-(3942,6273)
-(3938,6284)
-(3939,6304)
-(3941,6308)
-(3942,6315)
-(3944,6315)
-(3946,6323)
-(3946,6328)
-(3944,6334)
-(3944,6338)
-(3942,6337)
-(3939,6341)
-(3936,6349)
-(3934,6354)
-(3931,6356)
-(3927,6355)
-(3924,6360)
-(3925,6360)
-(3926,6364)
-(3927,6367)
-(3926,6370)
-(3926,6377)
-(3925,6378)
-(3924,6388)
-(3927,6390)
-(3929,6405)
-(3930,6408)
-(3933,6405)
-(3935,6412)
-(3935,6419)
-(3936,6422)
-(3937,6433)
-(3938,6435)
-(3937,6446)
-(3938,6455)
-(3936,6460)
-(3935,6468)
-(3931,6471)
-(3928,6469)
-(3927,6474)
-(3925,6471)
-(3922,6475)
-(3917,6479)
-(3917,6483)
-(3919,6484)
-(3920,6492)
-(3920,6498)
-(3918,6503)
-(3915,6506)
-(3915,6515)
-(3913,6515)
-(3912,6519)
-(3910,6517)
-(3909,6523)
-(3907,6525)
-(3905,6531)
-(3905,6535)
-(3908,6536)
-(3909,6542)
-(3907,6551)
-(3901,6555)
-(3901,6561)
-(3899,6564)
-(3898,6570)
-(3895,6571)
-(3892,6566)
-(3891,6567)
-(3887,6559)
-(3884,6561)
-(3881,6559)
-(3879,6566)
-(3878,6576)
-(3877,6578)
-(3876,6578)
-(3874,6571)
-(3872,6572)
-(3872,6566)
-(3870,6560)
-(3868,6561)
-(3863,6566)
-(3859,6561)
-(3859,6546)
-(3855,6547)
-(3852,6543)
-(3848,6544)
-(3848,6553)
-(3851,6561)
-(3849,6572)
-(3847,6576)
-(3845,6574)
-(3844,6565)
-(3843,6563)
-(3840,6563)
-(3837,6568)
-(3835,6567)
-(3833,6574)
-(3831,6574)
-(3829,6569)
-(3824,6568)
-(3820,6554)
-(3817,6550)
-(3817,6560)
-(3813,6561)
-(3812,6564)
-(3810,6567)
-(3809,6574)
-(3806,6575)
-(3809,6579)
-(3806,6584)
-(3808,6589)
-(3805,6593)
-(3809,6607)
-(3808,6616)
-(3804,6619)
-(3799,6627)
-(3795,6624)
-(3791,6623)
-(3789,6628)
-(3792,6638)
-(3791,6640)
-(3789,6644)
-(3788,6643)
-(3786,6632)
-(3781,6635)
-(3783,6640)
-(3781,6643)
-(3777,6650)
-(3777,6656)
-(3775,6658)
-(3774,6661)
-(3775,6666)
-(3780,6662)
-(3783,6668)
-(3785,6680)
-(3784,6688)
-(3786,6695)
-(3789,6695)
-(3790,6697)
-(3793,6698)
-(3795,6705)
-(3791,6714)
-(3788,6712)
-(3785,6713)
-(3783,6711)
-(3782,6705)
-(3779,6701)
-(3778,6701)
-(3774,6707)
-(3774,6712)
-(3772,6714)
-(3770,6721)
-(3770,6725)
-(3772,6734)
-(3776,6736)
-(3780,6733)
-(3782,6737)
-(3782,6741)
-(3783,6740)
-(3783,6741)
-(3783,6744)
-(3780,6751)
-(3779,6758)
-(3776,6765)
-(3777,6770)
-(3780,6766)
-(3783,6768)
-(3784,6773)
-(3783,6779)
-(3781,6778)
-(3780,6779)
-(3779,6791)
-(3778,6793)
-(3772,6795)
-(3769,6800)
-(3770,6804)
-(3774,6807)
-(3777,6802)
-(3778,6804)
-(3780,6803)
-(3780,6795)
-(3782,6797)
-(3783,6799)
-(3784,6811)
-(3785,6811)
-(3786,6807)
-(3788,6813)
-(3792,6818)
-(3794,6825)
-(3793,6834)
-(3790,6836)
-(3792,6841)
-(3792,6845)
-(3788,6849)
-(3787,6854)
-(3790,6865)
-(3790,6872)
-(3791,6875)
-(3791,6880)
-(3790,6881)
-(3786,6877)
-(3784,6880)
-(3781,6883)
-(3779,6894)
-(3780,6898)
-(3781,6899)
-(3783,6900)
-(3783,6904)
-(3781,6911)
-(3780,6914)
-(3777,6918)
-(3770,6912)
-(3769,6914)
-(3769,6921)
-(3767,6923)
-(3763,6918)
-(3758,6921)
-(3757,6927)
-(3754,6934)
-(3756,6942)
-(3755,6947)
-(3751,6946)
-(3749,6943)
-(3746,6947)
-(3743,6943)
-(3742,6944)
-(3741,6953)
-(3739,6959)
-(3738,6967)
-(3735,6971)
-(3731,6967)
-(3729,6967)
-(3728,6971)
-(3725,6976)
-(3724,6984)
-(3720,6986)
-(3721,6990)
-(3720,6995)
-(3720,6999)
-(3718,6999)
-(3719,7007)
-(3718,7018)
-(3717,7023)
-(3716,7032)
-(3716,7035)
-(3718,7037)
-(3720,7040)
-(3720,7047)
-(3723,7047)
-(3724,7051)
-(3726,7053)
-(3726,7055)
-(3725,7058)
-(3725,7060)
-(3728,7059)
-(3731,7064)
-(3732,7064)
-(3736,7057)
-(3737,7058)
-(3740,7051)
-(3742,7052)
-(3745,7051)
-(3748,7054)
-(3752,7045)
-(3758,7047)
-(3762,7045)
-(3766,7050)
-(3770,7047)
-(3773,7050)
-(3787,7055)
-(3791,7058)
-(3793,7066)
-(3795,7070)
-(3796,7085)
-(3795,7091)
-(3795,7094)
-(3797,7098)
-(3797,7115)
-(3800,7124)
-(3801,7134)
-(3804,7136)
-(3806,7130)
-(3809,7133)
-(3808,7141)
-(3809,7145)
-(3811,7153)
-(3811,7167)
-(3815,7187)
-(3814,7205)
-(3809,7221)
-(3808,7225)
-(3810,7229)
-(3814,7226)
-(3819,7228)
-(3818,7237)
-(3819,7244)
-(3821,7244)
-(3823,7250)
-(3825,7253)
-(3823,7263)
-(3825,7264)
-(3828,7269)
-(3827,7287)
-(3828,7295)
-(3828,7297)
-(3829,7303)
-(3832,7308)
-(3833,7318)
-(3833,7324)
-(3833,7343)
-(3834,7351)
-(3834,7361)
-(3836,7372)
-(3836,7376)
-(3834,7380)
-(3834,7388)
-(3835,7391)
-(3838,7394)
-(3839,7401)
-(3842,7406)
-(3846,7420)
-(3846,7429)
-(3843,7437)
-(3844,7456)
-(3843,7462)
-(3842,7469)
-(3842,7476)
-(3841,7479)
-(3838,7478)
-(3838,7487)
-(3836,7491)
-(3835,7500)
-(3833,7506)
-(3832,7513)
-(3835,7523)
-(3835,7531)
-(3836,7536)
-(3836,7547)
-(3838,7553)
-(3840,7559)
-(3845,7566)
-(3846,7570)
-(3853,7580)
-(3854,7583)
-(3856,7584)
-(3864,7582)
-(3866,7573)
-(3865,7563)
-(3868,7552)
-(3873,7544)
-(3876,7529)
-(3878,7526)
-(3883,7527)
-(3888,7520)
-(3895,7502)
-(3895,7499)
-(3895,7491)
-(3896,7486)
-(3898,7481)
-(3902,7476)
-(3905,7468)
-(3908,7463)
-(3915,7460)
-(3924,7460)
-(3930,7451)
-(3934,7451)
-(3941,7457)
-(3948,7456)
-(3951,7452)
-(3958,7435)
-(3969,7424)
-(3986,7419)
-(3990,7420)
-(3993,7416)
-(3994,7411)
-(4000,7410)
-(4008,7403)
-(4013,7400)
-(4019,7401)
-(4025,7396)
-(4031,7396)
-(4039,7386)
-(4046,7384)
-(4050,7378)
-(4053,7378)
-(4066,7385)
-(4076,7388)
-(4085,7387)
-(4090,7396)
-(4090,7402)
-(4094,7415)
-(4104,7428)
-(4115,7432)
-(4118,7432)
-(4124,7436)
-(4130,7435)
-(4134,7437)
-(4142,7437)
-(4144,7442)
-(4149,7447)
-(4160,7473)
-(4164,7481)
-(4168,7481)
-(4171,7487)
-(4183,7499)
-(4189,7501)
-(4195,7506)
-(4197,7520)
-(4203,7535)
-(4208,7553)
-(4215,7560)
-(4222,7542)
-(4224,7542)
-(4228,7545)
-(4230,7549)
-(4232,7557)
-(4233,7584)
-(4232,7612)
-(4234,7620)
-(4240,7628)
-(4245,7641)
-(4248,7653)
-(4250,7653)
-(4252,7645)
-(4254,7644)
-(4262,7649)
-(4267,7638)
-(4270,7633)
-(4284,7633)
-40
-(3384,7428)
-(3388,7423)
-(3389,7407)
-(3392,7402)
-(3393,7396)
-(3392,7386)
-(3394,7382)
-(3399,7384)
-(3406,7390)
-(3407,7389)
-(3410,7391)
-(3412,7388)
-(3413,7391)
-(3414,7390)
-(3416,7392)
-(3419,7391)
-(3424,7396)
-(3425,7399)
-(3427,7401)
-(3428,7402)
-(3430,7401)
-(3432,7407)
-(3437,7413)
-(3439,7411)
-(3441,7415)
-(3444,7416)
-(3446,7415)
-(3447,7418)
-(3448,7418)
-(3451,7411)
-(3452,7411)
-(3452,7413)
-(3455,7409)
-(3460,7416)
-(3458,7422)
-(3458,7424)
-(3464,7431)
-(3470,7426)
-(3473,7425)
-(3475,7422)
-347
-(3481,7423)
-(3486,7425)
-(3488,7432)
-(3490,7437)
-(3493,7437)
-(3495,7441)
-(3496,7438)
-(3499,7441)
-(3498,7446)
-(3499,7448)
-(3500,7451)
-(3502,7452)
-(3503,7449)
-(3504,7449)
-(3502,7455)
-(3503,7459)
-(3505,7460)
-(3506,7458)
-(3508,7458)
-(3509,7461)
-(3510,7464)
-(3512,7463)
-(3522,7471)
-(3523,7474)
-(3525,7479)
-(3524,7484)
-(3529,7487)
-(3528,7496)
-(3531,7501)
-(3533,7501)
-(3535,7507)
-(3536,7509)
-(3539,7508)
-(3541,7511)
-(3542,7513)
-(3541,7519)
-(3551,7520)
-(3555,7517)
-(3556,7518)
-(3556,7526)
-(3554,7533)
-(3552,7539)
-(3546,7546)
-(3545,7554)
-(3542,7560)
-(3541,7566)
-(3539,7573)
-(3538,7576)
-(3536,7577)
-(3534,7586)
-(3531,7593)
-(3530,7604)
-(3529,7607)
-(3527,7616)
-(3523,7624)
-(3524,7629)
-(3529,7635)
-(3529,7639)
-(3527,7646)
-(3529,7651)
-(3531,7657)
-(3530,7661)
-(3528,7662)
-(3527,7668)
-(3523,7667)
-(3521,7672)
-(3522,7678)
-(3527,7687)
-(3528,7690)
-(3527,7693)
-(3523,7698)
-(3523,7702)
-(3525,7704)
-(3530,7699)
-(3531,7700)
-(3528,7710)
-(3523,7712)
-(3521,7713)
-(3520,7718)
-(3519,7720)
-(3513,7724)
-(3511,7732)
-(3512,7737)
-(3509,7749)
-(3509,7752)
-(3513,7756)
-(3513,7763)
-(3512,7771)
-(3508,7782)
-(3509,7790)
-(3513,7795)
-(3514,7800)
-(3519,7807)
-(3519,7813)
-(3516,7818)
-(3516,7833)
-(3520,7837)
-(3529,7834)
-(3532,7840)
-(3535,7860)
-(3537,7866)
-(3536,7872)
-(3532,7875)
-(3535,7879)
-(3537,7879)
-(3538,7880)
-(3536,7888)
-(3536,7891)
-(3539,7894)
-(3538,7901)
-(3539,7904)
-(3540,7905)
-(3541,7911)
-(3544,7914)
-(3546,7918)
-(3550,7916)
-(3551,7917)
-(3551,7922)
-(3548,7925)
-(3547,7928)
-(3551,7933)
-(3554,7944)
-(3558,7947)
-(3556,7955)
-(3558,7956)
-(3561,7959)
-(3562,7962)
-(3562,7978)
-(3563,7981)
-(3569,7986)
-(3578,7987)
-(3579,8001)
-(3583,8004)
-(3586,8013)
-(3591,8016)
-(3595,8024)
-(3601,8029)
-(3604,8035)
-(3609,8039)
-(3613,8046)
-(3616,8055)
-(3627,8075)
-(3628,8080)
-(3627,8086)
-(3621,8098)
-(3622,8106)
-(3627,8110)
-(3632,8106)
-(3636,8096)
-(3643,8097)
-(3646,8107)
-(3649,8109)
-(3652,8121)
-(3658,8122)
-(3662,8127)
-(3665,8129)
-(3669,8133)
-(3674,8131)
-(3675,8128)
-(3678,8127)
-(3681,8132)
-(3683,8132)
-(3685,8129)
-(3685,8122)
-(3686,8121)
-(3690,8123)
-(3693,8132)
-(3697,8133)
-(3699,8131)
-(3698,8125)
-(3698,8120)
-(3704,8112)
-(3707,8116)
-(3707,8129)
-(3710,8134)
-(3713,8132)
-(3717,8133)
-(3721,8144)
-(3724,8147)
-(3725,8146)
-(3727,8141)
-(3730,8140)
-(3732,8142)
-(3732,8150)
-(3736,8154)
-(3738,8154)
-(3741,8151)
-(3744,8142)
-(3752,8138)
-(3757,8133)
-(3759,8134)
-(3760,8133)
-(3761,8129)
-(3761,8122)
-(3760,8120)
-(3757,8116)
-(3757,8113)
-(3759,8110)
-(3759,8103)
-(3760,8099)
-(3759,8095)
-(3759,8092)
-(3760,8088)
-(3763,8082)
-(3764,8076)
-(3766,8075)
-(3769,8069)
-(3769,8063)
-(3770,8059)
-(3772,8057)
-(3773,8051)
-(3779,8054)
-(3779,8052)
-(3780,8042)
-(3782,8038)
-(3784,8038)
-(3788,8043)
-(3790,8040)
-(3790,8023)
-(3785,8011)
-(3784,8006)
-(3784,7997)
-(3789,7988)
-(3794,7996)
-(3798,7994)
-(3802,7997)
-(3804,7994)
-(3803,7975)
-(3801,7956)
-(3801,7945)
-(3797,7931)
-(3802,7908)
-(3802,7898)
-(3805,7888)
-(3805,7877)
-(3799,7867)
-(3798,7859)
-(3798,7849)
-(3801,7841)
-(3802,7818)
-(3803,7815)
-(3805,7803)
-(3806,7796)
-(3806,7782)
-(3814,7752)
-(3815,7742)
-(3815,7737)
-(3812,7731)
-(3811,7726)
-(3811,7711)
-(3814,7697)
-(3815,7693)
-(3824,7685)
-(3828,7668)
-(3833,7661)
-(3834,7651)
-(3835,7648)
-(3840,7641)
-(3847,7622)
-(3854,7614)
-(3858,7602)
-(3866,7584)
-(3868,7569)
-(3874,7563)
-(3876,7555)
-(3878,7548)
-(3878,7538)
-(3879,7533)
-(3880,7531)
-(3884,7532)
-(3888,7530)
-(3894,7515)
-(3897,7499)
-(3898,7494)
-(3904,7490)
-(3910,7480)
-(3914,7471)
-(3918,7469)
-(3919,7465)
-(3927,7464)
-(3929,7458)
-(3931,7457)
-(3942,7461)
-(3949,7460)
-(3952,7456)
-(3960,7451)
-(3965,7441)
-(3967,7443)
-(3971,7439)
-(3979,7436)
-(3983,7431)
-(3987,7431)
-(3999,7414)
-(4003,7413)
-(4007,7415)
-(4013,7407)
-(4015,7412)
-(4018,7414)
-(4025,7412)
-(4037,7393)
-(4046,7389)
-(4051,7382)
-(4062,7388)
-(4073,7388)
-(4079,7391)
-(4082,7398)
-(4085,7401)
-(4089,7412)
-(4091,7420)
-(4092,7422)
-(4096,7425)
-(4102,7432)
-(4119,7437)
-(4122,7440)
-(4126,7439)
-(4141,7444)
-(4146,7448)
-(4156,7471)
-(4163,7483)
-(4166,7492)
-(4171,7492)
-(4180,7505)
-(4183,7504)
-(4193,7509)
-(4195,7515)
-(4195,7527)
-(4199,7542)
-(4204,7553)
-(4215,7568)
-(4217,7570)
-(4218,7569)
-(4221,7555)
-(4223,7549)
-(4227,7551)
-(4231,7562)
-(4231,7611)
-(4231,7618)
-(4241,7637)
-(4248,7657)
-(4250,7657)
-(4254,7648)
-(4261,7655)
-(4263,7655)
-(4270,7639)
-(4273,7636)
-(4279,7635)
-(4284,7638)
-368
-(3240,6474)
-(3240,6478)
-(3241,6483)
-(3244,6490)
-(3246,6491)
-(3249,6488)
-(3253,6486)
-(3255,6483)
-(3254,6477)
-(3255,6472)
-(3256,6468)
-(3256,6462)
-(3254,6455)
-(3252,6454)
-(3249,6448)
-(3244,6447)
-(3239,6435)
-(3239,6431)
-(3232,6430)
-(3230,6422)
-(3230,6420)
-(3231,6418)
-(3233,6414)
-(3232,6408)
-(3232,6400)
-(3230,6385)
-(3232,6380)
-(3231,6365)
-(3233,6355)
-(3234,6354)
-(3237,6354)
-(3239,6351)
-(3239,6345)
-(3242,6336)
-(3246,6334)
-(3248,6331)
-(3251,6331)
-(3256,6323)
-(3258,6324)
-(3258,6321)
-(3260,6321)
-(3263,6310)
-(3265,6310)
-(3269,6313)
-(3273,6313)
-(3274,6314)
-(3275,6313)
-(3279,6315)
-(3284,6312)
-(3288,6314)
-(3292,6304)
-(3293,6303)
-(3295,6304)
-(3296,6303)
-(3298,6305)
-(3299,6304)
-(3301,6307)
-(3303,6305)
-(3307,6308)
-(3308,6312)
-(3309,6314)
-(3310,6319)
-(3312,6322)
-(3313,6324)
-(3322,6329)
-(3326,6329)
-(3331,6333)
-(3334,6333)
-(3342,6340)
-(3345,6345)
-(3349,6347)
-(3352,6347)
-(3361,6352)
-(3366,6350)
-(3369,6341)
-(3372,6339)
-(3377,6343)
-(3378,6346)
-(3379,6348)
-(3381,6356)
-(3380,6359)
-(3381,6368)
-(3383,6373)
-(3387,6377)
-(3394,6378)
-(3397,6376)
-(3401,6367)
-(3401,6352)
-(3400,6348)
-(3401,6342)
-(3403,6339)
-(3405,6340)
-(3407,6348)
-(3408,6356)
-(3409,6364)
-(3412,6367)
-(3420,6373)
-(3423,6379)
-(3422,6383)
-(3420,6385)
-(3420,6396)
-(3422,6403)
-(3422,6410)
-(3423,6412)
-(3425,6410)
-(3429,6416)
-(3434,6415)
-(3438,6422)
-(3438,6431)
-(3435,6433)
-(3434,6435)
-(3435,6448)
-(3439,6449)
-(3438,6453)
-(3439,6455)
-(3442,6454)
-(3443,6460)
-(3446,6464)
-(3448,6470)
-(3451,6475)
-(3456,6473)
-(3456,6471)
-(3454,6472)
-(3453,6466)
-(3454,6464)
-(3456,6465)
-(3458,6471)
-(3458,6479)
-(3459,6482)
-(3461,6483)
-(3463,6480)
-(3465,6481)
-(3464,6489)
-(3466,6498)
-(3469,6499)
-(3475,6507)
-(3477,6515)
-(3479,6514)
-(3483,6517)
-(3485,6524)
-(3486,6529)
-(3488,6531)
-(3488,6536)
-(3493,6541)
-(3495,6547)
-(3495,6553)
-(3492,6557)
-(3491,6560)
-(3492,6570)
-(3497,6579)
-(3500,6580)
-(3502,6585)
-(3507,6585)
-(3514,6589)
-(3514,6597)
-(3516,6602)
-(3515,6609)
-(3518,6626)
-(3518,6637)
-(3519,6641)
-(3518,6650)
-(3518,6655)
-(3520,6657)
-(3523,6652)
-(3524,6657)
-(3524,6665)
-(3522,6669)
-(3522,6672)
-(3525,6673)
-(3530,6672)
-(3534,6677)
-(3535,6680)
-(3536,6686)
-(3540,6691)
-(3542,6699)
-(3547,6704)
-(3552,6715)
-(3552,6717)
-(3550,6717)
-(3549,6719)
-(3550,6727)
-(3552,6737)
-(3556,6746)
-(3559,6750)
-(3563,6754)
-(3569,6754)
-(3573,6756)
-(3575,6764)
-(3579,6769)
-(3580,6772)
-(3581,6782)
-(3585,6793)
-(3586,6802)
-(3595,6818)
-(3600,6823)
-(3606,6833)
-(3610,6835)
-(3612,6838)
-(3613,6846)
-(3615,6852)
-(3629,6864)
-(3636,6874)
-(3638,6885)
-(3642,6896)
-(3642,6902)
-(3642,6917)
-(3644,6932)
-(3644,6940)
-(3641,6951)
-(3640,6954)
-(3636,6957)
-(3635,6966)
-(3632,6970)
-(3625,7011)
-(3623,7017)
-(3618,7022)
-(3605,7031)
-(3602,7042)
-(3598,7046)
-(3596,7053)
-(3591,7065)
-(3590,7073)
-(3584,7085)
-(3581,7094)
-(3581,7100)
-(3582,7104)
-(3585,7108)
-(3589,7110)
-(3592,7114)
-(3595,7123)
-(3596,7137)
-(3598,7143)
-(3601,7148)
-(3610,7158)
-(3614,7165)
-(3615,7173)
-(3614,7180)
-(3612,7199)
-(3612,7202)
-(3614,7204)
-(3623,7215)
-(3624,7236)
-(3631,7243)
-(3636,7263)
-(3640,7274)
-(3640,7288)
-(3635,7305)
-(3636,7335)
-(3634,7353)
-(3635,7361)
-(3636,7373)
-(3637,7394)
-(3636,7407)
-(3637,7416)
-(3635,7445)
-(3637,7452)
-(3640,7458)
-(3641,7463)
-(3642,7477)
-(3641,7489)
-(3645,7497)
-(3648,7507)
-(3649,7524)
-(3651,7531)
-(3658,7556)
-(3663,7568)
-(3666,7593)
-(3667,7596)
-(3668,7606)
-(3668,7616)
-(3666,7624)
-(3667,7638)
-(3674,7666)
-(3678,7695)
-(3677,7717)
-(3689,7750)
-(3695,7757)
-(3698,7767)
-(3702,7773)
-(3708,7781)
-(3714,7783)
-(3718,7790)
-(3728,7790)
-(3734,7793)
-(3738,7800)
-(3741,7800)
-(3745,7803)
-(3750,7800)
-(3757,7790)
-(3761,7789)
-(3770,7784)
-(3773,7784)
-(3778,7782)
-(3784,7772)
-(3796,7777)
-(3798,7771)
-(3806,7764)
-(3808,7759)
-(3809,7754)
-(3808,7746)
-(3808,7738)
-(3809,7727)
-(3809,7711)
-(3810,7705)
-(3814,7691)
-(3822,7681)
-(3829,7646)
-(3836,7632)
-(3843,7624)
-(3848,7615)
-(3854,7609)
-(3858,7595)
-(3862,7587)
-(3855,7586)
-(3846,7573)
-(3845,7568)
-(3839,7561)
-(3836,7549)
-(3836,7540)
-(3834,7532)
-(3833,7521)
-(3831,7517)
-(3832,7504)
-(3835,7498)
-(3838,7486)
-(3838,7476)
-(3841,7476)
-(3842,7474)
-(3842,7462)
-(3843,7455)
-(3842,7436)
-(3845,7427)
-(3846,7421)
-(3834,7389)
-(3833,7383)
-(3834,7378)
-(3836,7372)
-(3834,7364)
-(3833,7350)
-(3832,7342)
-(3833,7334)
-(3832,7315)
-(3831,7309)
-(3829,7306)
-(3827,7298)
-(3827,7269)
-(3826,7266)
-(3822,7265)
-(3825,7254)
-(3822,7251)
-(3821,7247)
-(3819,7245)
-(3818,7236)
-(3819,7232)
-(3819,7230)
-(3814,7228)
-(3810,7231)
-(3809,7230)
-(3808,7227)
-(3808,7221)
-(3810,7213)
-(3814,7205)
-(3814,7194)
-(3814,7186)
-(3810,7173)
-(3810,7156)
-(3808,7146)
-(3808,7140)
-249
-(3626,8073)
-(3628,8074)
-(3629,8080)
-(3629,8086)
-(3626,8090)
-(3624,8096)
-(3622,8104)
-(3626,8107)
-(3629,8107)
-(3632,8103)
-(3636,8094)
-(3642,8094)
-(3645,8097)
-(3646,8104)
-(3650,8108)
-(3653,8119)
-(3658,8120)
-(3666,8126)
-(3669,8131)
-(3677,8125)
-(3679,8126)
-(3681,8130)
-(3683,8130)
-(3684,8128)
-(3684,8121)
-(3686,8118)
-(3690,8121)
-(3694,8131)
-(3697,8132)
-(3697,8129)
-(3697,8122)
-(3697,8119)
-(3700,8116)
-(3702,8112)
-(3704,8110)
-(3706,8111)
-(3708,8115)
-(3708,8129)
-(3709,8131)
-(3715,8129)
-(3719,8136)
-(3723,8145)
-(3726,8139)
-(3731,8138)
-(3733,8141)
-(3734,8148)
-(3737,8151)
-(3741,8148)
-(3743,8141)
-(3744,8139)
-(3753,8135)
-(3756,8131)
-(3759,8131)
-(3760,8126)
-(3759,8121)
-(3757,8118)
-(3755,8113)
-(3756,8110)
-(3758,8108)
-(3757,8104)
-(3758,8098)
-(3758,8094)
-(3758,8090)
-(3759,8086)
-(3762,8081)
-(3763,8075)
-(3766,8072)
-(3768,8068)
-(3769,8056)
-(3771,8054)
-(3772,8050)
-(3773,8048)
-(3778,8052)
-(3778,8049)
-(3778,8039)
-(3779,8036)
-(3780,8038)
-(3782,8034)
-(3787,8038)
-(3789,8036)
-(3789,8022)
-(3785,8014)
-(3784,8008)
-(3782,8003)
-(3783,7995)
-(3789,7985)
-(3795,7993)
-(3799,7990)
-(3801,7993)
-(3802,7992)
-(3803,7980)
-(3802,7974)
-(3801,7969)
-(3800,7956)
-(3800,7946)
-(3800,7947)
-(3796,7932)
-(3798,7918)
-(3801,7908)
-(3801,7900)
-(3804,7885)
-(3803,7877)
-(3798,7869)
-(3797,7864)
-(3797,7850)
-(3800,7839)
-(3800,7817)
-(3803,7809)
-(3803,7800)
-(3805,7794)
-(3805,7782)
-(3808,7767)
-(3800,7773)
-(3796,7780)
-(3791,7781)
-(3789,7778)
-(3785,7777)
-(3781,7783)
-(3776,7785)
-(3767,7789)
-(3763,7792)
-(3757,7793)
-(3752,7802)
-(3748,7805)
-(3745,7806)
-(3741,7804)
-(3738,7804)
-(3733,7796)
-(3730,7794)
-(3718,7794)
-(3713,7786)
-(3706,7782)
-(3698,7773)
-(3693,7761)
-(3689,7757)
-(3683,7739)
-(3681,7737)
-(3680,7733)
-(3675,7718)
-(3672,7708)
-(3673,7699)
-(3675,7688)
-(3672,7675)
-(3665,7632)
-(3666,7603)
-(3664,7595)
-(3663,7591)
-(3662,7574)
-(3662,7571)
-(3655,7557)
-(3654,7547)
-(3649,7530)
-(3645,7503)
-(3641,7490)
-(3639,7462)
-(3634,7447)
-(3634,7429)
-(3635,7419)
-(3635,7378)
-(3633,7354)
-(3634,7333)
-(3634,7305)
-(3635,7298)
-(3639,7287)
-(3639,7277)
-(3631,7249)
-(3628,7244)
-(3626,7241)
-(3620,7240)
-(3617,7244)
-(3622,7253)
-(3620,7262)
-(3618,7268)
-(3610,7273)
-(3604,7268)
-(3605,7267)
-(3609,7271)
-(3611,7271)
-(3617,7265)
-(3619,7259)
-(3620,7253)
-(3620,7251)
-(3615,7245)
-(3616,7241)
-(3617,7238)
-(3622,7238)
-(3622,7233)
-(3622,7220)
-(3621,7216)
-(3617,7213)
-(3615,7207)
-(3611,7204)
-(3610,7201)
-(3612,7191)
-(3612,7186)
-(3613,7175)
-(3613,7171)
-(3612,7165)
-(3603,7153)
-(3600,7149)
-(3595,7140)
-(3594,7128)
-(3590,7114)
-(3588,7111)
-(3583,7109)
-(3580,7101)
-(3581,7089)
-(3589,7073)
-(3590,7063)
-(3597,7047)
-(3602,7038)
-(3605,7027)
-(3617,7020)
-(3623,7011)
-(3625,7005)
-(3626,6994)
-(3629,6983)
-(3631,6968)
-(3634,6963)
-(3635,6955)
-(3638,6953)
-(3641,6949)
-(3643,6938)
-(3643,6933)
-(3643,6925)
-(3642,6916)
-(3641,6897)
-(3637,6886)
-(3635,6875)
-(3628,6865)
-(3613,6854)
-(3610,6839)
-(3605,6834)
-(3585,6805)
-(3584,6796)
-(3579,6783)
-(3579,6770)
-(3575,6768)
-(3573,6765)
-(3572,6759)
-(3569,6756)
-(3567,6758)
-(3564,6766)
-(3565,6757)
-(3564,6756)
-(3561,6754)
-(3557,6750)
-(3554,6745)
-(3554,6741)
-353
-(2996,7346)
-(2996,7343)
-(2992,7338)
-(2986,7330)
-(2985,7324)
-(2981,7320)
-(2980,7313)
-(2978,7309)
-(2978,7298)
-(2977,7293)
-(2974,7287)
-(2973,7283)
-(2970,7281)
-(2967,7269)
-(2965,7267)
-(2965,7260)
-(2961,7253)
-(2960,7246)
-(2959,7244)
-(2959,7240)
-(2956,7233)
-(2956,7227)
-(2952,7222)
-(2951,7216)
-(2953,7213)
-(2952,7211)
-(2954,7209)
-(2956,7196)
-(2957,7190)
-(2956,7184)
-(2956,7184)
-(2958,7175)
-(2957,7168)
-(2956,7166)
-(2955,7162)
-(2953,7158)
-(2952,7154)
-(2952,7152)
-(2952,7150)
-(2951,7143)
-(2952,7137)
-(2953,7137)
-(2954,7134)
-(2954,7130)
-(2953,7128)
-(2953,7122)
-(2953,7119)
-(2955,7117)
-(2956,7118)
-(2956,7116)
-(2958,7115)
-(2961,7116)
-(2962,7114)
-(2964,7113)
-(2967,7104)
-(2966,7101)
-(2963,7095)
-(2961,7095)
-(2958,7091)
-(2957,7086)
-(2964,7076)
-(2970,7072)
-(2973,7074)
-(2976,7082)
-(2979,7087)
-(2980,7090)
-(2984,7094)
-(2987,7102)
-(2989,7103)
-(2989,7108)
-(2992,7110)
-(2996,7115)
-(2997,7120)
-(2997,7125)
-(2999,7136)
-(2999,7144)
-(3000,7150)
-(3001,7154)
-(3006,7160)
-(3010,7161)
-(3016,7160)
-(3019,7162)
-(3020,7162)
-(3021,7152)
-(3021,7151)
-(3022,7151)
-(3022,7148)
-(3024,7148)
-(3025,7150)
-(3025,7152)
-(3027,7155)
-(3036,7157)
-(3038,7162)
-(3040,7163)
-(3041,7167)
-(3045,7170)
-(3048,7171)
-(3050,7170)
-(3053,7172)
-(3054,7171)
-(3056,7174)
-(3058,7175)
-(3060,7180)
-(3064,7185)
-(3069,7186)
-(3070,7187)
-(3072,7185)
-(3073,7189)
-(3076,7189)
-(3077,7192)
-(3080,7195)
-(3082,7193)
-(3083,7197)
-(3086,7199)
-(3090,7199)
-(3093,7203)
-(3097,7203)
-(3100,7206)
-(3100,7211)
-(3106,7219)
-(3110,7224)
-(3110,7228)
-(3113,7229)
-(3113,7233)
-(3114,7234)
-(3115,7239)
-(3119,7243)
-(3123,7242)
-(3124,7245)
-(3127,7247)
-(3134,7246)
-(3138,7239)
-(3140,7237)
-(3146,7241)
-(3152,7243)
-(3158,7226)
-(3157,7223)
-(3157,7217)
-(3155,7211)
-(3155,7204)
-(3157,7202)
-(3162,7203)
-(3166,7202)
-(3168,7207)
-(3168,7210)
-(3171,7216)
-(3181,7229)
-(3186,7238)
-(3191,7243)
-(3194,7250)
-(3196,7250)
-(3197,7252)
-(3197,7262)
-(3197,7264)
-(3196,7268)
-(3197,7274)
-(3199,7280)
-(3199,7288)
-(3203,7300)
-(3203,7304)
-(3205,7309)
-(3205,7318)
-(3205,7324)
-(3208,7330)
-(3208,7335)
-(3209,7339)
-(3206,7345)
-(3207,7357)
-(3207,7369)
-(3209,7378)
-(3210,7389)
-(3213,7396)
-(3211,7407)
-(3210,7409)
-(3213,7410)
-(3212,7413)
-(3210,7412)
-(3213,7417)
-(3210,7422)
-(3209,7432)
-(3206,7439)
-(3203,7442)
-(3203,7444)
-(3200,7446)
-(3202,7452)
-(3201,7455)
-(3195,7460)
-(3193,7464)
-(3191,7470)
-(3191,7479)
-(3190,7482)
-(3188,7482)
-(3188,7488)
-(3185,7491)
-(3186,7494)
-(3190,7493)
-(3192,7504)
-(3192,7510)
-(3185,7528)
-(3182,7530)
-(3183,7534)
-(3183,7537)
-(3181,7539)
-(3179,7544)
-(3177,7543)
-(3175,7539)
-(3173,7539)
-(3174,7550)
-(3173,7552)
-(3171,7552)
-(3166,7558)
-(3167,7563)
-(3166,7566)
-(3165,7566)
-(3164,7562)
-(3161,7564)
-(3159,7559)
-(3157,7559)
-(3154,7561)
-(3154,7563)
-(3155,7564)
-(3152,7571)
-(3151,7573)
-(3148,7572)
-(3147,7576)
-(3143,7580)
-(3138,7579)
-(3137,7586)
-(3134,7580)
-(3132,7579)
-(3130,7588)
-(3128,7593)
-(3122,7591)
-(3122,7588)
-(3120,7586)
-(3116,7588)
-(3114,7591)
-(3105,7598)
-(3104,7600)
-(3103,7602)
-(3102,7603)
-(3100,7602)
-(3098,7604)
-(3096,7600)
-(3094,7600)
-(3092,7608)
-(3090,7609)
-(3087,7607)
-(3085,7607)
-(3084,7614)
-(3083,7615)
-(3080,7614)
-(3080,7609)
-(3076,7609)
-(3075,7611)
-(3074,7613)
-(3075,7614)
-(3076,7613)
-(3078,7612)
-(3080,7617)
-(3078,7619)
-(3077,7618)
-(3071,7614)
-(3063,7616)
-(3058,7622)
-(3055,7628)
-(3047,7633)
-(3044,7638)
-(3041,7637)
-(3034,7642)
-(3028,7637)
-(3025,7641)
-(3019,7640)
-(3012,7655)
-(3008,7654)
-(3003,7649)
-(2999,7649)
-(2995,7652)
-(2990,7650)
-(2988,7652)
-(2985,7660)
-(2980,7661)
-(2975,7669)
-(2975,7674)
-(2976,7677)
-(2975,7680)
-(2972,7686)
-(2972,7693)
-(2973,7696)
-(2972,7700)
-(2974,7702)
-(2975,7710)
-(2974,7717)
-(2977,7720)
-(2975,7723)
-(2974,7727)
-(2972,7728)
-(2970,7725)
-(2968,7725)
-(2969,7731)
-(2968,7734)
-(2967,7735)
-(2966,7740)
-(2962,7743)
-(2961,7746)
-(2963,7752)
-(2963,7755)
-(2961,7759)
-(2961,7762)
-(2964,7762)
-(2965,7763)
-(2965,7769)
-(2963,7772)
-(2958,7773)
-(2956,7776)
-(2957,7781)
-(2956,7783)
-(2952,7784)
-(2950,7786)
-(2949,7791)
-(2947,7790)
-(2945,7795)
-(2942,7794)
-(2940,7799)
-(2932,7813)
-(2932,7817)
-(2934,7825)
-(2933,7828)
-(2931,7831)
-(2933,7837)
-(2932,7840)
-(2931,7840)
-(2928,7838)
-(2916,7831)
-(2914,7837)
-(2911,7837)
-(2909,7838)
-(2910,7844)
-(2909,7845)
-(2905,7844)
-(2901,7846)
-(2900,7849)
-(2898,7850)
-(2896,7848)
-(2895,7846)
-(2891,7845)
-(2888,7840)
-(2883,7841)
-(2874,7853)
-(2868,7857)
-(2863,7857)
-(2861,7861)
-(2861,7867)
-210
-(2861,7948)
-(2862,7949)
-(2864,7941)
-(2860,7930)
-(2861,7922)
-(2860,7916)
-(2860,7912)
-(2860,7909)
-(2861,7903)
-(2861,7900)
-(2859,7896)
-(2859,7893)
-(2862,7890)
-(2864,7886)
-(2863,7876)
-(2860,7867)
-(2861,7866)
-(2861,7867)
-(2864,7875)
-(2865,7886)
-(2864,7893)
-(2860,7895)
-(2860,7896)
-(2863,7901)
-(2861,7908)
-(2861,7915)
-(2863,7920)
-(2862,7927)
-(2863,7930)
-(2865,7940)
-(2864,7947)
-(2863,7953)
-(2866,7954)
-(2866,7953)
-(2867,7952)
-(2871,7957)
-(2877,7960)
-(2878,7963)
-(2878,7965)
-(2877,7966)
-(2878,7969)
-(2881,7973)
-(2883,7980)
-(2887,7985)
-(2889,7997)
-(2888,8003)
-(2887,8001)
-(2888,7999)
-(2887,7998)
-(2886,7999)
-(2887,8011)
-(2891,8014)
-(2892,8021)
-(2895,8024)
-(2895,8029)
-(2897,8032)
-(2898,8039)
-(2900,8041)
-(2901,8045)
-(2900,8047)
-(2902,8050)
-(2904,8064)
-(2906,8072)
-(2905,8079)
-(2903,8086)
-(2906,8094)
-(2907,8101)
-(2908,8101)
-(2911,8099)
-(2914,8099)
-(2919,8102)
-(2921,8109)
-(2924,8113)
-(2926,8118)
-(2925,8124)
-(2926,8127)
-(2927,8130)
-(2925,8142)
-(2926,8144)
-(2926,8146)
-(2928,8146)
-(2932,8156)
-(2936,8158)
-(2937,8160)
-(2939,8165)
-(2938,8168)
-(2942,8173)
-(2943,8176)
-(2947,8178)
-(2949,8175)
-(2953,8174)
-(2955,8176)
-(2956,8180)
-(2959,8180)
-(2964,8184)
-(2968,8185)
-(2971,8192)
-(2966,8185)
-(2969,8191)
-(2969,8196)
-(2971,8201)
-(2973,8202)
-(2975,8210)
-(2977,8209)
-(2984,8209)
-(2987,8205)
-(2991,8205)
-(2992,8202)
-(2991,8198)
-(2992,8194)
-(2991,8191)
-(2986,8181)
-(2982,8177)
-(2980,8177)
-(2978,8174)
-(2976,8170)
-(2975,8166)
-(2976,8165)
-(2978,8168)
-(2977,8169)
-(2977,8171)
-(2981,8172)
-(2981,8175)
-(2982,8176)
-(2982,8173)
-(2983,8173)
-(2983,8172)
-(2987,8171)
-(2989,8175)
-(2990,8171)
-(2990,8171)
-(2991,8179)
-(2994,8184)
-(2997,8184)
-(2998,8187)
-(2997,8192)
-(2993,8194)
-(2992,8197)
-(2993,8202)
-(2993,8204)
-(2996,8206)
-(3000,8206)
-(3002,8209)
-(3006,8209)
-(3010,8212)
-(3014,8217)
-(3015,8221)
-(3019,8225)
-(3021,8224)
-(3019,8221)
-(3024,8224)
-(3030,8221)
-(3030,8217)
-(3031,8216)
-(3031,8222)
-(3041,8237)
-(3040,8239)
-(3041,8247)
-(3042,8249)
-(3041,8255)
-(3043,8265)
-(3047,8276)
-(3052,8282)
-(3053,8289)
-(3056,8290)
-(3061,8302)
-(3065,8305)
-(3067,8314)
-(3072,8318)
-(3075,8332)
-(3082,8334)
-(3083,8336)
-(3083,8342)
-(3082,8348)
-(3084,8362)
-(3087,8366)
-(3092,8369)
-(3093,8375)
-(3093,8381)
-(3095,8387)
-(3096,8393)
-(3103,8401)
-(3110,8413)
-(3112,8414)
-(3120,8408)
-(3125,8412)
-(3130,8420)
-(3140,8425)
-(3144,8425)
-(3154,8418)
-(3156,8407)
-(3163,8403)
-(3163,8405)
-(3164,8406)
-(3165,8403)
-(3168,8401)
-(3175,8384)
-(3177,8382)
-(3179,8381)
-(3184,8388)
-(3192,8391)
-(3194,8394)
-(3194,8403)
-(3193,8409)
-(3194,8414)
-(3193,8419)
-(3186,8433)
-(3186,8439)
-(3188,8440)
-(3187,8442)
-256
-(2861,7948)
-(2859,7948)
-(2858,7950)
-(2853,7946)
-(2846,7937)
-(2841,7924)
-(2836,7922)
-(2834,7919)
-(2835,7908)
-(2834,7899)
-(2834,7888)
-(2830,7878)
-(2832,7871)
-(2830,7864)
-(2832,7858)
-(2830,7851)
-(2828,7847)
-(2825,7845)
-(2822,7841)
-(2820,7833)
-(2813,7831)
-(2810,7826)
-(2809,7821)
-(2810,7820)
-(2811,7822)
-(2812,7828)
-(2816,7831)
-(2818,7830)
-(2820,7832)
-(2822,7837)
-(2822,7840)
-(2829,7846)
-(2833,7854)
-(2833,7861)
-(2832,7863)
-(2833,7869)
-(2832,7877)
-(2833,7880)
-(2835,7889)
-(2835,7902)
-(2837,7908)
-(2836,7919)
-(2837,7920)
-(2843,7923)
-(2847,7936)
-(2854,7944)
-(2857,7947)
-(2860,7946)
-(2860,7951)
-(2862,7952)
-(2863,7955)
-(2865,7957)
-(2867,7956)
-(2873,7962)
-(2876,7961)
-(2876,7966)
-(2876,7970)
-(2880,7973)
-(2882,7982)
-(2885,7986)
-(2886,7993)
-(2885,7995)
-(2885,7997)
-(2885,8004)
-(2883,8008)
-(2884,8011)
-(2885,8013)
-(2890,8017)
-(2891,8023)
-(2894,8026)
-(2894,8030)
-(2895,8033)
-(2895,8039)
-(2898,8042)
-(2900,8053)
-(2901,8056)
-(2901,8061)
-(2904,8072)
-(2904,8079)
-(2902,8083)
-(2901,8087)
-(2905,8094)
-(2905,8103)
-(2907,8105)
-(2912,8101)
-(2916,8102)
-(2917,8103)
-(2918,8107)
-(2922,8113)
-(2924,8119)
-(2923,8120)
-(2924,8123)
-(2924,8130)
-(2925,8133)
-(2924,8142)
-(2925,8148)
-(2929,8156)
-(2935,8160)
-(2937,8169)
-(2940,8175)
-(2943,8178)
-(2947,8179)
-(2953,8177)
-(2954,8180)
-(2955,8182)
-(2956,8183)
-(2957,8185)
-(2956,8186)
-(2956,8187)
-(2962,8187)
-(2965,8189)
-(2967,8195)
-(2967,8205)
-(2969,8208)
-(2971,8210)
-(2975,8212)
-(2978,8211)
-(2982,8212)
-(2985,8211)
-(2987,8207)
-(2989,8208)
-(2991,8206)
-(3002,8211)
-(3005,8215)
-(3007,8215)
-(3009,8222)
-(3012,8226)
-(3011,8228)
-(3013,8228)
-(3017,8226)
-(3019,8227)
-(3018,8230)
-(3017,8232)
-(3016,8241)
-(3010,8244)
-(3012,8246)
-(3015,8244)
-(3017,8244)
-(3018,8242)
-(3020,8245)
-(3021,8248)
-(3022,8248)
-(3022,8243)
-(3019,8232)
-(3021,8230)
-(3020,8228)
-(3022,8228)
-(3029,8224)
-(3030,8224)
-(3038,8235)
-(3040,8244)
-(3039,8249)
-(3039,8259)
-(3041,8272)
-(3051,8282)
-(3052,8289)
-(3056,8292)
-(3060,8301)
-(3065,8306)
-(3066,8314)
-(3071,8320)
-(3074,8333)
-(3077,8335)
-(3082,8336)
-(3082,8340)
-(3079,8352)
-(3081,8356)
-(3082,8359)
-(3083,8364)
-(3086,8370)
-(3090,8370)
-(3094,8392)
-(3096,8399)
-(3098,8401)
-(3099,8405)
-(3098,8412)
-(3097,8411)
-(3094,8406)
-(3092,8407)
-(3091,8409)
-(3092,8411)
-(3094,8411)
-(3096,8415)
-(3096,8418)
-(3094,8419)
-(3093,8426)
-(3096,8436)
-(3099,8438)
-(3097,8446)
-(3100,8444)
-(3100,8440)
-(3097,8426)
-(3097,8421)
-(3099,8419)
-(3101,8420)
-(3101,8414)
-(3104,8412)
-(3105,8420)
-(3108,8424)
-(3110,8425)
-(3109,8428)
-(3111,8439)
-(3112,8438)
-(3113,8432)
-(3113,8429)
-(3112,8427)
-(3112,8424)
-(3117,8426)
-(3122,8422)
-(3119,8420)
-(3115,8423)
-(3108,8421)
-(3106,8418)
-(3105,8411)
-(3101,8412)
-(3100,8411)
-(3100,8408)
-(3101,8407)
-(3100,8402)
-(3104,8406)
-(3109,8416)
-(3117,8413)
-(3119,8410)
-(3121,8410)
-(3128,8419)
-(3128,8422)
-(3141,8430)
-(3142,8427)
-(3146,8428)
-(3151,8421)
-(3154,8420)
-(3157,8411)
-(3156,8409)
-(3158,8409)
-(3158,8407)
-(3161,8406)
-(3165,8408)
-(3167,8406)
-(3171,8400)
-(3175,8385)
-(3177,8383)
-(3180,8384)
-(3182,8389)
-(3190,8393)
-(3192,8396)
-(3192,8410)
-(3193,8415)
-(3192,8419)
-(3190,8423)
-(3189,8421)
-(3188,8425)
-(3187,8424)
-(3186,8428)
-(3185,8436)
-(3186,8441)
-(3186,8442)
-288
-(3706,8691)
-(3707,8689)
-(3709,8690)
-(3709,8703)
-(3711,8710)
-(3711,8717)
-(3711,8724)
-(3713,8742)
-(3711,8750)
-(3708,8757)
-(3708,8762)
-(3706,8764)
-(3705,8768)
-(3692,8784)
-(3691,8788)
-(3689,8790)
-(3684,8801)
-(3685,8808)
-(3689,8814)
-(3690,8820)
-(3690,8824)
-(3689,8825)
-(3689,8829)
-(3692,8833)
-(3694,8842)
-(3695,8844)
-(3696,8843)
-(3697,8847)
-(3701,8847)
-(3704,8845)
-(3707,8843)
-(3709,8845)
-(3712,8843)
-(3713,8845)
-(3718,8844)
-(3720,8836)
-(3722,8834)
-(3725,8832)
-(3727,8834)
-(3729,8833)
-(3735,8841)
-(3738,8840)
-(3737,8844)
-(3738,8857)
-(3739,8861)
-(3738,8863)
-(3735,8865)
-(3735,8869)
-(3732,8875)
-(3732,8881)
-(3723,8890)
-(3725,8896)
-(3725,8899)
-(3729,8904)
-(3726,8909)
-(3725,8910)
-(3725,8914)
-(3723,8917)
-(3722,8916)
-(3717,8920)
-(3714,8916)
-(3711,8918)
-(3706,8925)
-(3704,8926)
-(3701,8922)
-(3699,8926)
-(3701,8943)
-(3703,8951)
-(3701,8961)
-(3698,8966)
-(3699,8969)
-(3701,8970)
-(3706,8976)
-(3713,8976)
-(3714,8982)
-(3715,8983)
-(3715,8988)
-(3717,8988)
-(3721,8994)
-(3721,9001)
-(3725,9004)
-(3725,9007)
-(3723,9019)
-(3725,9031)
-(3730,9041)
-(3735,9043)
-(3737,9047)
-(3740,9048)
-(3742,9044)
-(3751,9048)
-(3756,9043)
-(3758,9045)
-(3759,9049)
-(3761,9053)
-(3760,9058)
-(3759,9068)
-(3757,9078)
-(3754,9083)
-(3753,9096)
-(3750,9100)
-(3747,9099)
-(3746,9102)
-(3746,9108)
-(3752,9110)
-(3755,9117)
-(3753,9121)
-(3748,9117)
-(3744,9122)
-(3743,9125)
-(3744,9126)
-(3748,9130)
-(3747,9137)
-(3747,9138)
-(3752,9135)
-(3753,9137)
-(3753,9141)
-(3757,9140)
-(3764,9150)
-(3768,9152)
-(3770,9152)
-(3773,9146)
-(3777,9150)
-(3782,9153)
-(3789,9150)
-(3794,9154)
-(3800,9154)
-(3801,9158)
-(3803,9170)
-(3815,9178)
-(3821,9190)
-(3822,9197)
-(3833,9215)
-(3834,9226)
-(3835,9237)
-(3839,9246)
-(3840,9254)
-(3843,9258)
-(3846,9268)
-(3851,9273)
-(3852,9271)
-(3852,9269)
-(3849,9267)
-(3848,9264)
-(3849,9262)
-(3851,9261)
-(3855,9266)
-(3856,9266)
-(3862,9255)
-(3864,9246)
-(3865,9245)
-(3867,9247)
-(3870,9242)
-(3873,9245)
-(3876,9242)
-(3882,9242)
-(3884,9240)
-(3886,9233)
-(3886,9229)
-(3884,9215)
-(3881,9212)
-(3880,9207)
-(3881,9195)
-(3883,9192)
-(3884,9185)
-(3889,9170)
-(3891,9148)
-(3894,9145)
-(3894,9139)
-(3897,9135)
-(3900,9122)
-(3903,9117)
-(3906,9115)
-(3907,9111)
-(3909,9106)
-(3912,9105)
-(3913,9099)
-(3916,9092)
-(3919,9091)
-(3921,9085)
-(3931,9077)
-(3934,9069)
-(3936,9070)
-(3939,9069)
-(3939,9064)
-(3943,9060)
-(3944,9053)
-(3949,9047)
-(3952,9048)
-(3956,9045)
-(3962,9044)
-(3963,9050)
-(3964,9046)
-(3969,9043)
-(3970,9047)
-(3969,9048)
-(3967,9051)
-(3967,9059)
-(3969,9062)
-(3974,9064)
-(3975,9068)
-(3972,9076)
-(3973,9086)
-(3976,9093)
-(3975,9096)
-(3973,9096)
-(3973,9099)
-(3975,9101)
-(3978,9099)
-(3984,9108)
-(3987,9106)
-(3991,9111)
-(3996,9134)
-(3997,9143)
-(4001,9147)
-(4005,9141)
-(4006,9150)
-(4009,9151)
-(4012,9158)
-(4016,9160)
-(4017,9163)
-(4018,9173)
-(4021,9179)
-(4023,9181)
-(4027,9180)
-(4029,9185)
-(4030,9195)
-(4031,9207)
-(4031,9217)
-(4034,9219)
-(4042,9209)
-(4047,9219)
-(4049,9222)
-(4050,9234)
-(4112,9646)
-(4113,9641)
-(4112,9638)
-(4109,9630)
-(4112,9617)
-(4114,9581)
-(4117,9561)
-(4118,9559)
-(4119,9545)
-(4120,9540)
-(4122,9540)
-(4125,9552)
-(4126,9551)
-(4126,9538)
-(4123,9522)
-(4126,9518)
-(4127,9516)
-(4128,9513)
-(4127,9508)
-(4121,9501)
-(4119,9490)
-(4118,9479)
-(4117,9479)
-(4114,9483)
-(4111,9484)
-(4105,9480)
-(4101,9469)
-(4097,9462)
-(4093,9462)
-(4091,9460)
-(4088,9461)
-(4084,9450)
-(4083,9445)
-(4083,9432)
-(4080,9413)
-(4075,9402)
-(4076,9396)
-(4077,9388)
-(4077,9368)
-(4071,9369)
-(4066,9386)
-(4063,9385)
-(4061,9376)
-(4059,9378)
-(4058,9376)
-(4058,9365)
-(4055,9343)
-(4059,9326)
-(4058,9304)
-(4054,9288)
-(4054,9274)
-(4052,9261)
-(4054,9255)
-(4054,9244)
-(4050,9234)
-54
-(4050,9236)
-(4054,9245)
-(4054,9258)
-(4053,9262)
-(4055,9278)
-(4055,9287)
-(4059,9304)
-(4060,9314)
-(4059,9328)
-(4055,9342)
-(4059,9363)
-(4059,9373)
-(4061,9372)
-(4063,9380)
-(4065,9382)
-(4066,9381)
-(4069,9366)
-(4074,9364)
-(4078,9366)
-(4079,9379)
-(4078,9390)
-(4076,9399)
-(4078,9404)
-(4081,9412)
-(4082,9421)
-(4084,9433)
-(4083,9444)
-(4087,9456)
-(4093,9459)
-(4098,9458)
-(4106,9477)
-(4110,9481)
-(4119,9471)
-(4120,9476)
-(4119,9484)
-(4120,9492)
-(4123,9500)
-(4127,9504)
-(4129,9509)
-(4128,9516)
-(4125,9523)
-(4127,9536)
-(4126,9553)
-(4124,9556)
-(4122,9545)
-(4121,9545)
-(4120,9556)
-(4116,9577)
-(4115,9595)
-(4113,9613)
-(4113,9619)
-(4110,9628)
-(4114,9637)
-(4114,9645)
-100
-(4272,9001)
-(4272,8998)
-(4268,8994)
-(4265,8999)
-(4265,8991)
-(4261,8979)
-(4259,8981)
-(4258,8976)
-(4255,8975)
-(4252,8971)
-(4252,8953)
-(4248,8941)
-(4248,8926)
-(4244,8926)
-(4241,8921)
-(4241,8915)
-(4237,8895)
-(4237,8877)
-(4235,8874)
-(4232,8872)
-(4231,8864)
-(4224,8853)
-(4221,8853)
-(4220,8848)
-(4216,8845)
-(4214,8841)
-(4210,8848)
-(4208,8845)
-(4207,8839)
-(4203,8844)
-(4202,8851)
-(4200,8854)
-(4196,8850)
-(4188,8847)
-(4182,8850)
-(4179,8844)
-(4176,8849)
-(4176,8856)
-(4173,8853)
-(4164,8861)
-(4163,8859)
-(4163,8849)
-(4161,8842)
-(4159,8843)
-(4155,8849)
-(4150,8853)
-(4148,8848)
-(4144,8852)
-(4141,8846)
-(4145,8848)
-(4148,8846)
-(4150,8850)
-(4154,8848)
-(4158,8841)
-(4160,8840)
-(4163,8845)
-(4164,8859)
-(4173,8852)
-(4175,8854)
-(4175,8848)
-(4179,8842)
-(4183,8849)
-(4189,8845)
-(4196,8848)
-(4200,8851)
-(4201,8850)
-(4203,8841)
-(4206,8839)
-(4207,8835)
-(4210,8845)
-(4212,8844)
-(4214,8837)
-(4216,8844)
-(4220,8845)
-(4222,8851)
-(4225,8851)
-(4232,8863)
-(4233,8871)
-(4236,8872)
-(4238,8876)
-(4239,8884)
-(4238,8892)
-(4242,8912)
-(4242,8920)
-(4244,8924)
-(4247,8922)
-(4249,8925)
-(4249,8940)
-(4251,8944)
-(4254,8957)
-(4254,8970)
-(4255,8972)
-(4259,8972)
-(4259,8977)
-(4262,8975)
-(4265,8988)
-(4266,8993)
-(4268,8991)
-(4272,8995)
-(4273,9001)
-695
-(2107,5759)
-(2106,5759)
-(2108,5768)
-(2106,5776)
-(2106,5787)
-(2105,5793)
-(2102,5800)
-(2104,5809)
-(2100,5813)
-(2099,5818)
-(2096,5820)
-(2095,5824)
-(2089,5838)
-(2089,5845)
-(2092,5849)
-(2093,5852)
-(2106,5867)
-(2105,5879)
-(2100,5882)
-(2096,5887)
-(2093,5888)
-(2091,5896)
-(2090,5897)
-(2089,5903)
-(2079,5904)
-(2077,5903)
-(2076,5900)
-(2075,5899)
-(2074,5900)
-(2072,5904)
-(2070,5908)
-(2064,5910)
-(2061,5920)
-(2061,5923)
-(2064,5923)
-(2067,5923)
-(2067,5928)
-(2069,5932)
-(2066,5939)
-(2066,5941)
-(2064,5943)
-(2061,5944)
-(2057,5942)
-(2054,5942)
-(2052,5944)
-(2049,5944)
-(2043,5943)
-(2040,5944)
-(2038,5944)
-(2038,5945)
-(2035,5946)
-(2032,5950)
-(2026,5956)
-(2024,5959)
-(2024,5961)
-(2026,5963)
-(2029,5963)
-(2029,5966)
-(2028,5971)
-(2026,5973)
-(2026,5980)
-(2028,5983)
-(2028,5985)
-(2026,5991)
-(2024,5994)
-(2023,5994)
-(2023,5996)
-(2020,6000)
-(2019,6000)
-(2016,6004)
-(2015,6005)
-(2014,6008)
-(2014,6010)
-(2016,6011)
-(2018,6014)
-(2021,6017)
-(2023,6016)
-(2025,6014)
-(2025,6015)
-(2025,6019)
-(2025,6019)
-(2026,6022)
-(2027,6023)
-(2028,6026)
-(2029,6028)
-(2032,6035)
-(2034,6037)
-(2036,6041)
-(2035,6047)
-(2033,6048)
-(2032,6050)
-(2032,6050)
-(2028,6053)
-(2028,6054)
-(2027,6054)
-(2027,6056)
-(2025,6055)
-(2024,6058)
-(2025,6059)
-(2023,6060)
-(2024,6061)
-(2026,6062)
-(2030,6061)
-(2033,6062)
-(2032,6063)
-(2031,6068)
-(2029,6069)
-(2025,6075)
-(2023,6076)
-(2023,6081)
-(2022,6083)
-(2020,6083)
-(2021,6085)
-(2022,6091)
-(2020,6096)
-(2021,6106)
-(2013,6113)
-(2009,6113)
-(2004,6118)
-(2002,6121)
-(2000,6127)
-(2000,6131)
-(2005,6135)
-(2004,6139)
-(2005,6141)
-(2004,6141)
-(2005,6144)
-(2007,6147)
-(2008,6147)
-(2008,6149)
-(2011,6147)
-(2012,6149)
-(2017,6141)
-(2020,6139)
-(2024,6140)
-(2023,6138)
-(2024,6137)
-(2024,6139)
-(2025,6139)
-(2027,6137)
-(2028,6135)
-(2030,6136)
-(2037,6129)
-(2038,6128)
-(2037,6127)
-(2037,6125)
-(2038,6124)
-(2037,6123)
-(2040,6118)
-(2040,6115)
-(2044,6109)
-(2043,6107)
-(2044,6105)
-(2047,6102)
-(2048,6099)
-(2051,6096)
-(2053,6092)
-(2054,6084)
-(2055,6081)
-(2055,6079)
-(2058,6076)
-(2058,6074)
-(2060,6073)
-(2061,6072)
-(2063,6072)
-(2064,6070)
-(2066,6070)
-(2069,6068)
-(2070,6064)
-(2073,6060)
-(2073,6055)
-(2077,6055)
-(2083,6051)
-(2083,6050)
-(2080,6046)
-(2080,6043)
-(2081,6037)
-(2083,6035)
-(2089,6028)
-(2089,6021)
-(2091,6019)
-(2093,6019)
-(2095,6017)
-(2099,6017)
-(2102,6015)
-(2108,6015)
-(2113,6014)
-(2115,6013)
-(2118,6016)
-(2119,6012)
-(2123,6013)
-(2123,6011)
-(2124,6011)
-(2128,6008)
-(2129,6010)
-(2133,6010)
-(2134,6012)
-(2145,6018)
-(2145,6020)
-(2147,6024)
-(2146,6027)
-(2148,6027)
-(2151,6032)
-(2152,6032)
-(2153,6036)
-(2154,6038)
-(2155,6039)
-(2159,6043)
-(2162,6043)
-(2164,6045)
-(2167,6051)
-(2167,6052)
-(2165,6054)
-(2167,6058)
-(2166,6060)
-(2164,6063)
-(2164,6066)
-(2162,6069)
-(2163,6072)
-(2163,6077)
-(2161,6080)
-(2163,6088)
-(2164,6090)
-(2168,6099)
-(2169,6105)
-(2166,6108)
-(2166,6113)
-(2164,6115)
-(2163,6115)
-(2162,6117)
-(2161,6117)
-(2161,6119)
-(2158,6122)
-(2150,6125)
-(2149,6126)
-(2149,6129)
-(2151,6135)
-(2152,6141)
-(2151,6145)
-(2150,6150)
-(2149,6157)
-(2150,6161)
-(2148,6164)
-(2150,6168)
-(2148,6180)
-(2147,6184)
-(2146,6185)
-(2145,6188)
-(2149,6191)
-(2149,6194)
-(2154,6201)
-(2156,6198)
-(2156,6196)
-(2158,6192)
-(2164,6198)
-(2165,6200)
-(2166,6201)
-(2167,6204)
-(2170,6207)
-(2169,6210)
-(2166,6214)
-(2168,6217)
-(2167,6219)
-(2166,6221)
-(2165,6223)
-(2164,6226)
-(2162,6234)
-(2163,6242)
-(2165,6243)
-(2167,6243)
-(2168,6241)
-(2169,6241)
-(2171,6242)
-(2173,6247)
-(2179,6251)
-(2181,6254)
-(2181,6258)
-(2182,6260)
-(2182,6264)
-(2185,6265)
-(2187,6273)
-(2190,6276)
-(2194,6279)
-(2195,6283)
-(2198,6282)
-(2200,6283)
-(2206,6276)
-(2209,6275)
-(2209,6273)
-(2211,6272)
-(2212,6268)
-(2213,6260)
-(2219,6261)
-(2223,6258)
-(2227,6259)
-(2227,6261)
-(2228,6258)
-(2229,6259)
-(2231,6269)
-(2233,6271)
-(2234,6274)
-(2235,6274)
-(2235,6277)
-(2237,6278)
-(2237,6280)
-(2238,6281)
-(2240,6284)
-(2240,6289)
-(2242,6291)
-(2244,6297)
-(2246,6300)
-(2247,6300)
-(2247,6304)
-(2249,6307)
-(2250,6334)
-(2251,6337)
-(2255,6352)
-(2256,6354)
-(2265,6358)
-(2269,6357)
-(2271,6359)
-(2277,6364)
-(2279,6368)
-(2281,6371)
-(2292,6375)
-(2300,6382)
-(2306,6391)
-(2311,6395)
-(2312,6392)
-(2314,6391)
-(2316,6391)
-(2319,6395)
-(2322,6394)
-(2323,6396)
-(2327,6398)
-(2336,6408)
-(2342,6412)
-(2344,6411)
-(2346,6413)
-(2353,6408)
-(2361,6408)
-(2363,6405)
-(2364,6405)
-(2367,6406)
-(2371,6405)
-(2374,6407)
-(2379,6406)
-(2380,6407)
-(2382,6405)
-(2386,6406)
-(2389,6404)
-(2390,6405)
-(2394,6403)
-(2395,6404)
-(2401,6403)
-(2419,6422)
-(2421,6427)
-(2423,6429)
-(2428,6429)
-(2430,6433)
-(2434,6432)
-(2436,6435)
-(2438,6436)
-(2438,6440)
-(2444,6452)
-(2444,6454)
-(2446,6457)
-(2446,6462)
-(2449,6462)
-(2450,6463)
-(2451,6487)
-(2453,6490)
-(2449,6493)
-(2448,6500)
-(2449,6504)
-(2443,6512)
-(2440,6515)
-(2438,6520)
-(2436,6522)
-(2437,6526)
-(2433,6526)
-(2433,6529)
-(2432,6530)
-(2434,6532)
-(2433,6533)
-(2432,6534)
-(2431,6539)
-(2431,6540)
-(2433,6540)
-(2432,6541)
-(2433,6543)
-(2431,6543)
-(2433,6546)
-(2431,6549)
-(2431,6552)
-(2429,6552)
-(2431,6557)
-(2429,6557)
-(2429,6567)
-(2430,6568)
-(2430,6566)
-(2431,6566)
-(2432,6570)
-(2431,6570)
-(2431,6571)
-(2432,6573)
-(2432,6575)
-(2433,6576)
-(2428,6582)
-(2431,6590)
-(2431,6595)
-(2430,6597)
-(2431,6598)
-(2430,6600)
-(2431,6602)
-(2430,6608)
-(2431,6609)
-(2432,6610)
-(2432,6612)
-(2431,6614)
-(2428,6614)
-(2429,6617)
-(2428,6618)
-(2427,6618)
-(2427,6621)
-(2423,6626)
-(2424,6628)
-(2423,6628)
-(2422,6629)
-(2423,6630)
-(2418,6637)
-(2418,6643)
-(2416,6647)
-(2417,6649)
-(2415,6653)
-(2415,6659)
-(2417,6662)
-(2416,6663)
-(2413,6670)
-(2410,6673)
-(2409,6678)
-(2405,6682)
-(2400,6685)
-(2395,6686)
-(2384,6681)
-(2377,6687)
-(2376,6687)
-(2377,6686)
-(2377,6685)
-(2375,6686)
-(2371,6685)
-(2370,6682)
-(2366,6680)
-(2366,6670)
-(2363,6666)
-(2361,6669)
-(2362,6670)
-(2359,6671)
-(2359,6673)
-(2358,6674)
-(2357,6673)
-(2355,6672)
-(2350,6669)
-(2344,6668)
-(2342,6665)
-(2341,6660)
-(2339,6659)
-(2334,6660)
-(2331,6660)
-(2327,6658)
-(2326,6657)
-(2324,6657)
-(2322,6654)
-(2319,6654)
-(2318,6652)
-(2316,6652)
-(2314,6654)
-(2311,6653)
-(2307,6651)
-(2306,6647)
-(2303,6645)
-(2301,6642)
-(2299,6640)
-(2298,6635)
-(2293,6634)
-(2292,6631)
-(2291,6630)
-(2287,6631)
-(2285,6630)
-(2277,6631)
-(2275,6635)
-(2268,6640)
-(2266,6645)
-(2264,6645)
-(2262,6642)
-(2260,6647)
-(2259,6647)
-(2258,6646)
-(2253,6647)
-(2248,6645)
-(2247,6643)
-(2246,6639)
-(2244,6638)
-(2242,6638)
-(2241,6641)
-(2239,6640)
-(2237,6640)
-(2236,6639)
-(2232,6636)
-(2229,6632)
-(2226,6631)
-(2223,6628)
-(2222,6625)
-(2221,6627)
-(2221,6626)
-(2220,6622)
-(2219,6624)
-(2217,6625)
-(2214,6624)
-(2213,6622)
-(2211,6624)
-(2209,6625)
-(2207,6624)
-(2206,6623)
-(2205,6625)
-(2204,6624)
-(2204,6627)
-(2201,6625)
-(2201,6623)
-(2195,6629)
-(2191,6630)
-(2189,6630)
-(2187,6628)
-(2184,6629)
-(2180,6627)
-(2175,6628)
-(2172,6627)
-(2168,6627)
-(2160,6629)
-(2158,6630)
-(2153,6630)
-(2153,6632)
-(2152,6633)
-(2142,6634)
-(2137,6637)
-(2134,6637)
-(2131,6633)
-(2126,6633)
-(2124,6630)
-(2117,6625)
-(2113,6621)
-(2097,6616)
-(2092,6616)
-(2088,6614)
-(2079,6615)
-(2077,6617)
-(2077,6622)
-(2075,6625)
-(2077,6627)
-(2075,6632)
-(2077,6643)
-(2079,6645)
-(2079,6653)
-(2081,6655)
-(2084,6655)
-(2083,6658)
-(2085,6661)
-(2086,6666)
-(2089,6669)
-(2088,6673)
-(2089,6675)
-(2089,6677)
-(2089,6678)
-(2090,6680)
-(2089,6684)
-(2090,6686)
-(2092,6694)
-(2097,6698)
-(2098,6700)
-(2100,6701)
-(2103,6708)
-(2105,6710)
-(2106,6716)
-(2104,6720)
-(2102,6723)
-(2101,6728)
-(2098,6732)
-(2097,6734)
-(2098,6737)
-(2096,6737)
-(2096,6740)
-(2095,6742)
-(2095,6748)
-(2089,6760)
-(2087,6767)
-(2090,6777)
-(2090,6784)
-(2093,6792)
-(2097,6795)
-(2098,6802)
-(2098,6813)
-(2094,6820)
-(2093,6825)
-(2093,6828)
-(2092,6831)
-(2093,6834)
-(2093,6837)
-(2096,6839)
-(2097,6841)
-(2096,6844)
-(2096,6851)
-(2094,6859)
-(2095,6865)
-(2094,6870)
-(2095,6874)
-(2094,6878)
-(2095,6881)
-(2094,6883)
-(2100,6888)
-(2102,6891)
-(2108,6892)
-(2110,6891)
-(2113,6896)
-(2117,6901)
-(2123,6904)
-(2123,6907)
-(2125,6909)
-(2124,6912)
-(2125,6914)
-(2128,6918)
-(2129,6920)
-(2133,6920)
-(2134,6923)
-(2138,6924)
-(2140,6929)
-(2141,6930)
-(2143,6930)
-(2144,6939)
-(2150,6944)
-(2152,6953)
-(2153,6953)
-(2155,6951)
-(2158,6956)
-(2158,6962)
-(2161,6963)
-(2164,6965)
-(2166,6964)
-(2167,6967)
-(2169,6969)
-(2170,6972)
-(2178,6979)
-(2179,6985)
-(2181,6988)
-(2184,6992)
-(2185,6995)
-(2187,6996)
-(2189,6995)
-(2190,6996)
-(2191,6996)
-(2195,6999)
-(2197,7004)
-(2202,7006)
-(2204,7012)
-(2203,7019)
-(2205,7021)
-(2207,7026)
-(2211,7028)
-(2213,7030)
-(2215,7031)
-(2218,7034)
-(2222,7034)
-(2224,7037)
-(2224,7041)
-(2225,7044)
-(2229,7053)
-(2235,7058)
-(2234,7065)
-(2236,7069)
-(2235,7073)
-(2239,7078)
-(2241,7084)
-(2243,7093)
-(2244,7094)
-(2246,7093)
-(2250,7097)
-(2255,7099)
-(2256,7103)
-(2257,7112)
-(2260,7117)
-(2264,7121)
-(2266,7119)
-(2270,7120)
-(2272,7122)
-(2284,7125)
-(2289,7128)
-750
-(2056,5434)
-(2055,5439)
-(2056,5441)
-(2058,5443)
-(2058,5451)
-(2059,5455)
-(2060,5464)
-(2059,5469)
-(2059,5474)
-(2057,5480)
-(2057,5489)
-(2057,5492)
-(2055,5501)
-(2055,5505)
-(2056,5507)
-(2056,5508)
-(2053,5510)
-(2049,5517)
-(2048,5520)
-(2048,5522)
-(2051,5524)
-(2052,5527)
-(2054,5528)
-(2055,5532)
-(2055,5537)
-(2053,5548)
-(2052,5556)
-(2049,5559)
-(2047,5559)
-(2046,5562)
-(2045,5569)
-(2046,5580)
-(2047,5581)
-(2049,5582)
-(2052,5585)
-(2053,5588)
-(2054,5592)
-(2054,5602)
-(2053,5604)
-(2054,5608)
-(2053,5619)
-(2054,5624)
-(2055,5628)
-(2058,5628)
-(2059,5630)
-(2061,5632)
-(2063,5632)
-(2064,5634)
-(2066,5634)
-(2068,5637)
-(2068,5638)
-(2073,5643)
-(2075,5650)
-(2075,5656)
-(2078,5658)
-(2079,5660)
-(2080,5660)
-(2081,5665)
-(2081,5667)
-(2083,5670)
-(2085,5671)
-(2086,5675)
-(2084,5681)
-(2082,5692)
-(2080,5698)
-(2079,5699)
-(2077,5699)
-(2075,5700)
-(2075,5702)
-(2072,5704)
-(2072,5707)
-(2069,5710)
-(2070,5712)
-(2069,5713)
-(2068,5714)
-(2068,5717)
-(2067,5718)
-(2069,5719)
-(2069,5720)
-(2067,5721)
-(2067,5723)
-(2061,5728)
-(2060,5734)
-(2056,5734)
-(2055,5735)
-(2054,5734)
-(2053,5740)
-(2050,5741)
-(2045,5745)
-(2043,5747)
-(2043,5749)
-(2039,5752)
-(2037,5752)
-(2037,5754)
-(2035,5754)
-(2032,5759)
-(2030,5759)
-(2029,5761)
-(2030,5762)
-(2029,5763)
-(2028,5767)
-(2027,5767)
-(2026,5766)
-(2026,5768)
-(2025,5768)
-(2027,5773)
-(2025,5774)
-(2024,5772)
-(2024,5774)
-(2023,5774)
-(2024,5775)
-(2023,5779)
-(2025,5780)
-(2026,5782)
-(2024,5784)
-(2022,5783)
-(2021,5784)
-(2021,5787)
-(2019,5790)
-(2017,5788)
-(2016,5795)
-(2015,5797)
-(2013,5797)
-(2012,5802)
-(2010,5801)
-(2007,5802)
-(2006,5803)
-(2005,5802)
-(2004,5804)
-(2004,5804)
-(2004,5805)
-(2003,5805)
-(2004,5806)
-(2001,5807)
-(2003,5808)
-(1999,5809)
-(2000,5810)
-(1999,5812)
-(2000,5812)
-(2000,5816)
-(2001,5818)
-(2000,5819)
-(2000,5820)
-(1999,5820)
-(1999,5821)
-(1998,5822)
-(1996,5821)
-(1993,5821)
-(1990,5823)
-(1988,5828)
-(1983,5831)
-(1980,5834)
-(1976,5836)
-(1975,5839)
-(1973,5842)
-(1966,5843)
-(1963,5846)
-(1962,5845)
-(1958,5853)
-(1957,5856)
-(1955,5857)
-(1953,5860)
-(1948,5880)
-(1944,5885)
-(1944,5887)
-(1941,5892)
-(1934,5893)
-(1933,5895)
-(1928,5898)
-(1925,5902)
-(1923,5903)
-(1919,5907)
-(1914,5907)
-(1913,5905)
-(1910,5906)
-(1909,5906)
-(1904,5911)
-(1901,5912)
-(1901,5913)
-(1896,5915)
-(1889,5923)
-(1884,5930)
-(1881,5933)
-(1874,5926)
-(1878,5922)
-(1879,5918)
-(1874,5916)
-(1871,5917)
-(1870,5916)
-(1869,5919)
-(1867,5922)
-(1864,5923)
-(1859,5928)
-(1856,5928)
-(1854,5927)
-(1852,5927)
-(1849,5932)
-(1847,5933)
-(1844,5937)
-(1843,5938)
-(1840,5934)
-(1834,5936)
-(1830,5936)
-(1827,5938)
-(1813,5938)
-(1808,5939)
-(1804,5942)
-(1800,5942)
-(1795,5943)
-(1789,5940)
-(1786,5941)
-(1785,5940)
-(1779,5939)
-(1774,5942)
-(1758,5944)
-(1754,5946)
-(1745,5946)
-(1737,5947)
-(1730,5946)
-(1725,5947)
-(1720,5948)
-(1715,5950)
-(1710,5951)
-(1706,5949)
-(1699,5954)
-(1698,5956)
-(1697,5956)
-(1696,5958)
-(1694,5958)
-(1692,5962)
-(1690,5963)
-(1689,5963)
-(1687,5964)
-(1680,5964)
-(1675,5967)
-(1671,5968)
-(1667,5966)
-(1660,5969)
-(1659,5971)
-(1656,5971)
-(1655,5973)
-(1650,5973)
-(1648,5976)
-(1647,5976)
-(1644,5978)
-(1641,5978)
-(1638,5979)
-(1632,5988)
-(1621,5997)
-(1620,5998)
-(1613,5998)
-(1615,6002)
-(1617,6004)
-(1624,6005)
-(1628,6003)
-(1630,6004)
-(1633,6008)
-(1639,6012)
-(1640,6014)
-(1642,6014)
-(1650,6011)
-(1652,6011)
-(1654,6014)
-(1657,6015)
-(1661,6018)
-(1663,6017)
-(1666,6018)
-(1670,6018)
-(1670,6021)
-(1671,6023)
-(1669,6025)
-(1664,6026)
-(1661,6028)
-(1653,6026)
-(1650,6027)
-(1648,6028)
-(1646,6032)
-(1643,6031)
-(1638,6032)
-(1635,6033)
-(1633,6032)
-(1631,6030)
-(1631,6026)
-(1629,6029)
-(1626,6029)
-(1621,6027)
-(1616,6028)
-(1612,6027)
-(1609,6027)
-(1608,6025)
-(1607,6023)
-(1603,6025)
-(1599,6025)
-(1597,6026)
-(1595,6025)
-(1590,6026)
-(1585,6028)
-(1582,6026)
-(1581,6027)
-(1579,6024)
-(1573,6027)
-(1574,6033)
-(1572,6036)
-(1573,6038)
-(1571,6040)
-(1571,6045)
-(1570,6046)
-(1572,6050)
-(1571,6051)
-(1570,6054)
-(1573,6057)
-(1576,6059)
-(1581,6068)
-(1582,6072)
-(1581,6074)
-(1582,6077)
-(1584,6086)
-(1586,6088)
-(1589,6087)
-(1590,6088)
-(1591,6087)
-(1596,6091)
-(1596,6097)
-(1594,6099)
-(1595,6100)
-(1594,6101)
-(1595,6104)
-(1595,6105)
-(1596,6108)
-(1595,6111)
-(1587,6113)
-(1585,6117)
-(1580,6117)
-(1574,6114)
-(1572,6115)
-(1569,6111)
-(1561,6111)
-(1560,6110)
-(1558,6112)
-(1560,6119)
-(1559,6124)
-(1561,6126)
-(1566,6127)
-(1570,6131)
-(1572,6134)
-(1573,6135)
-(1575,6140)
-(1579,6144)
-(1579,6147)
-(1581,6152)
-(1582,6154)
-(1580,6158)
-(1575,6156)
-(1573,6161)
-(1574,6163)
-(1577,6165)
-(1579,6171)
-(1582,6173)
-(1581,6173)
-(1581,6176)
-(1582,6179)
-(1583,6180)
-(1589,6180)
-(1590,6183)
-(1593,6184)
-(1595,6182)
-(1600,6182)
-(1602,6180)
-(1603,6181)
-(1609,6178)
-(1615,6174)
-(1620,6174)
-(1622,6172)
-(1627,6175)
-(1634,6174)
-(1637,6173)
-(1645,6177)
-(1642,6180)
-(1644,6183)
-(1645,6188)
-(1646,6189)
-(1649,6189)
-(1654,6193)
-(1655,6198)
-(1659,6197)
-(1659,6199)
-(1665,6205)
-(1666,6207)
-(1671,6210)
-(1676,6211)
-(1679,6214)
-(1679,6210)
-(1682,6209)
-(1682,6207)
-(1684,6206)
-(1686,6207)
-(1688,6207)
-(1688,6209)
-(1691,6212)
-(1694,6214)
-(1696,6218)
-(1695,6221)
-(1692,6223)
-(1695,6225)
-(1695,6227)
-(1699,6233)
-(1709,6229)
-(1712,6227)
-(1715,6229)
-(1716,6230)
-(1720,6231)
-(1720,6232)
-(1718,6233)
-(1718,6235)
-(1716,6237)
-(1718,6243)
-(1716,6246)
-(1718,6248)
-(1718,6254)
-(1720,6255)
-(1718,6256)
-(1717,6258)
-(1719,6262)
-(1718,6267)
-(1720,6269)
-(1722,6274)
-(1727,6277)
-(1728,6282)
-(1727,6285)
-(1729,6287)
-(1730,6289)
-(1727,6295)
-(1727,6296)
-(1730,6299)
-(1730,6300)
-(1728,6302)
-(1725,6301)
-(1723,6307)
-(1724,6309)
-(1727,6309)
-(1725,6315)
-(1727,6320)
-(1728,6321)
-(1731,6322)
-(1733,6326)
-(1735,6328)
-(1733,6330)
-(1733,6332)
-(1735,6334)
-(1737,6333)
-(1738,6334)
-(1738,6336)
-(1736,6338)
-(1733,6338)
-(1733,6343)
-(1735,6346)
-(1732,6347)
-(1729,6350)
-(1729,6351)
-(1733,6354)
-(1735,6352)
-(1737,6352)
-(1737,6350)
-(1738,6349)
-(1743,6352)
-(1744,6355)
-(1744,6360)
-(1746,6361)
-(1745,6365)
-(1745,6368)
-(1746,6368)
-(1750,6367)
-(1751,6369)
-(1754,6370)
-(1754,6373)
-(1755,6375)
-(1758,6375)
-(1756,6378)
-(1757,6382)
-(1760,6384)
-(1763,6387)
-(1764,6391)
-(1769,6390)
-(1769,6392)
-(1773,6392)
-(1774,6395)
-(1776,6395)
-(1777,6396)
-(1777,6397)
-(1774,6401)
-(1777,6405)
-(1775,6410)
-(1777,6412)
-(1786,6418)
-(1789,6423)
-(1789,6425)
-(1784,6427)
-(1781,6430)
-(1781,6432)
-(1785,6439)
-(1784,6444)
-(1787,6446)
-(1790,6449)
-(1793,6447)
-(1794,6449)
-(1794,6450)
-(1792,6452)
-(1791,6457)
-(1793,6463)
-(1800,6470)
-(1803,6472)
-(1806,6472)
-(1809,6476)
-(1812,6477)
-(1814,6480)
-(1817,6481)
-(1819,6484)
-(1818,6487)
-(1820,6487)
-(1822,6485)
-(1823,6488)
-(1824,6489)
-(1826,6493)
-(1834,6498)
-(1844,6505)
-(1845,6505)
-(1849,6504)
-(1850,6505)
-(1851,6509)
-(1855,6512)
-(1855,6515)
-(1857,6518)
-(1855,6525)
-(1857,6533)
-(1856,6539)
-(1858,6548)
-(1858,6557)
-(1860,6567)
-(1862,6570)
-(1863,6574)
-(1860,6578)
-(1860,6581)
-(1863,6587)
-(1864,6597)
-(1861,6603)
-(1862,6609)
-(1861,6618)
-(1863,6621)
-(1861,6626)
-(1862,6633)
-(1860,6635)
-(1859,6641)
-(1856,6648)
-(1853,6651)
-(1852,6657)
-(1849,6661)
-(1851,6665)
-(1851,6668)
-(1849,6670)
-(1847,6669)
-(1845,6676)
-(1842,6676)
-(1836,6683)
-(1829,6686)
-(1825,6687)
-(1824,6691)
-(1819,6690)
-(1816,6693)
-(1817,6696)
-(1821,6698)
-(1823,6700)
-(1825,6704)
-(1825,6708)
-(1825,6713)
-(1817,6720)
-(1818,6731)
-(1817,6735)
-(1813,6736)
-(1809,6732)
-(1807,6731)
-(1805,6732)
-(1804,6733)
-(1804,6741)
-(1801,6744)
-(1799,6745)
-(1797,6745)
-(1791,6743)
-(1784,6742)
-(1786,6748)
-(1786,6752)
-(1790,6753)
-(1791,6755)
-(1790,6756)
-(1785,6755)
-(1782,6757)
-(1783,6758)
-(1788,6758)
-(1789,6760)
-(1788,6766)
-(1786,6765)
-(1786,6761)
-(1784,6762)
-(1784,6767)
-(1787,6772)
-(1787,6774)
-(1782,6776)
-(1786,6781)
-(1782,6780)
-(1779,6775)
-(1776,6774)
-(1768,6776)
-(1771,6782)
-(1770,6783)
-(1768,6783)
-(1767,6783)
-(1766,6784)
-(1770,6785)
-(1769,6786)
-(1767,6787)
-(1770,6790)
-(1782,6801)
-(1790,6811)
-(1793,6816)
-(1797,6820)
-(1797,6822)
-(1796,6822)
-(1795,6824)
-(1796,6828)
-(1797,6830)
-(1801,6834)
-(1805,6844)
-(1807,6844)
-(1811,6839)
-(1812,6836)
-(1811,6832)
-(1813,6831)
-(1817,6834)
-(1817,6836)
-(1816,6839)
-(1813,6842)
-(1815,6843)
-(1820,6846)
-(1831,6856)
-(1839,6860)
-(1842,6864)
-(1841,6871)
-(1836,6875)
-(1835,6877)
-(1835,6882)
-(1838,6887)
-(1837,6892)
-(1836,6894)
-(1833,6894)
-(1832,6892)
-(1833,6890)
-(1829,6889)
-(1827,6890)
-(1825,6894)
-(1825,6901)
-(1822,6905)
-(1820,6906)
-(1815,6904)
-(1813,6906)
-(1813,6911)
-(1809,6916)
-(1805,6919)
-(1802,6919)
-(1798,6924)
-(1793,6926)
-(1792,6930)
-(1792,6937)
-(1793,6941)
-(1792,6945)
-(1791,6947)
-(1789,6945)
-(1787,6947)
-(1784,6955)
-(1785,6959)
-(1790,6969)
-(1790,6972)
-(1788,6975)
-(1790,6978)
-(1794,6981)
-(1795,6991)
-(1804,6994)
-(1805,6998)
-(1804,7004)
-(1811,7011)
-(1818,7014)
-(1826,7011)
-(1828,7012)
-(1828,7014)
-(1827,7016)
-(1828,7017)
-(1830,7021)
-(1832,7033)
-(1835,7033)
-(1837,7032)
-(1840,7031)
-(1842,7033)
-(1840,7035)
-(1842,7039)
-(1846,7047)
-(1846,7053)
-(1849,7062)
-(1855,7063)
-(1861,7063)
-(1867,7065)
-(1871,7070)
-(1870,7073)
-(1865,7075)
-(1865,7077)
-(1867,7078)
-(1872,7078)
-(1877,7079)
-(1878,7082)
-(1877,7083)
-(1875,7084)
-(1874,7085)
-(1878,7091)
-(1879,7099)
-(1890,7098)
-(1891,7098)
-(1891,7100)
-(1892,7101)
-(1904,7104)
-(1904,7104)
-(1904,7105)
-(1903,7105)
-(1904,7105)
-(1914,7111)
-(1919,7116)
-(1923,7119)
-(1928,7124)
-(1933,7124)
-(1934,7128)
-(1933,7130)
-(1931,7131)
-(1931,7134)
-(1932,7139)
-(1935,7144)
-(1934,7152)
-(1934,7163)
-(1936,7168)
-(1935,7170)
-(1936,7171)
-(1934,7172)
-(1936,7173)
-(1934,7176)
-(1932,7177)
-258
-(1931,7177)
-(1931,7172)
-(1933,7169)
-(1934,7164)
-(1931,7160)
-(1931,7157)
-(1934,7147)
-(1934,7145)
-(1931,7139)
-(1929,7135)
-(1929,7129)
-(1928,7125)
-(1920,7120)
-(1914,7114)
-(1907,7110)
-(1904,7107)
-(1901,7106)
-(1896,7107)
-(1892,7103)
-(1888,7100)
-(1879,7100)
-(1876,7099)
-(1877,7097)
-(1876,7095)
-(1876,7091)
-(1875,7088)
-(1871,7082)
-(1871,7080)
-(1867,7079)
-(1864,7077)
-(1865,7072)
-(1867,7070)
-(1867,7067)
-(1863,7066)
-(1857,7067)
-(1853,7064)
-(1848,7063)
-(1844,7052)
-(1841,7048)
-(1841,7042)
-(1841,7039)
-(1839,7038)
-(1839,7035)
-(1831,7034)
-(1828,7032)
-(1829,7024)
-(1828,7019)
-(1826,7017)
-(1823,7017)
-(1822,7015)
-(1816,7016)
-(1806,7009)
-(1804,7006)
-(1801,6999)
-(1798,6998)
-(1797,6994)
-(1793,6991)
-(1792,6988)
-(1790,6980)
-(1783,6971)
-(1782,6972)
-(1782,6975)
-(1782,6976)
-(1781,6974)
-(1779,6975)
-(1780,6973)
-(1780,6972)
-(1777,6972)
-(1776,6971)
-(1773,6973)
-(1773,6971)
-(1775,6970)
-(1773,6969)
-(1771,6969)
-(1770,6970)
-(1769,6969)
-(1766,6969)
-(1767,6968)
-(1766,6966)
-(1762,6964)
-(1762,6966)
-(1763,6968)
-(1762,6970)
-(1765,6973)
-(1762,6974)
-(1761,6973)
-(1760,6967)
-(1758,6967)
-(1756,6970)
-(1755,6967)
-(1755,6967)
-(1754,6969)
-(1756,6974)
-(1755,6974)
-(1754,6975)
-(1752,6978)
-(1754,6978)
-(1753,6979)
-(1754,6980)
-(1754,6981)
-(1753,6981)
-(1754,6983)
-(1752,6982)
-(1750,6980)
-(1748,6980)
-(1750,6981)
-(1749,6982)
-(1749,6984)
-(1751,6984)
-(1750,6985)
-(1750,6986)
-(1753,6987)
-(1757,6986)
-(1756,6988)
-(1751,6989)
-(1752,6990)
-(1755,6990)
-(1752,6991)
-(1754,6993)
-(1755,6992)
-(1754,6994)
-(1755,6997)
-(1754,6997)
-(1754,6996)
-(1752,6997)
-(1753,6998)
-(1756,6998)
-(1755,6999)
-(1753,7000)
-(1753,7001)
-(1752,6999)
-(1749,6997)
-(1749,6999)
-(1751,7001)
-(1749,7001)
-(1748,7003)
-(1745,7002)
-(1745,7001)
-(1747,7001)
-(1748,7000)
-(1744,6998)
-(1748,6997)
-(1747,6995)
-(1748,6994)
-(1747,6992)
-(1749,6990)
-(1749,6988)
-(1749,6988)
-(1748,6989)
-(1747,6989)
-(1744,6992)
-(1744,6991)
-(1742,6989)
-(1743,6987)
-(1741,6988)
-(1741,6989)
-(1740,6989)
-(1737,6991)
-(1734,6991)
-(1733,6993)
-(1732,6993)
-(1731,6992)
-(1729,6993)
-(1726,6991)
-(1727,6991)
-(1727,6988)
-(1731,6985)
-(1732,6985)
-(1734,6987)
-(1733,6984)
-(1730,6983)
-(1729,6982)
-(1735,6985)
-(1738,6985)
-(1736,6984)
-(1736,6983)
-(1734,6984)
-(1730,6982)
-(1731,6980)
-(1734,6981)
-(1735,6979)
-(1739,6981)
-(1739,6976)
-(1740,6976)
-(1742,6975)
-(1742,6973)
-(1742,6972)
-(1743,6971)
-(1742,6971)
-(1742,6969)
-(1745,6969)
-(1744,6967)
-(1745,6966)
-(1748,6965)
-(1748,6964)
-(1751,6962)
-(1751,6965)
-(1752,6965)
-(1751,6969)
-(1752,6970)
-(1754,6961)
-(1756,6960)
-(1756,6958)
-(1752,6959)
-(1752,6955)
-(1756,6956)
-(1758,6960)
-(1760,6962)
-(1765,6960)
-(1765,6958)
-(1768,6964)
-(1769,6964)
-(1770,6965)
-(1771,6964)
-(1772,6966)
-(1774,6965)
-(1775,6967)
-(1779,6968)
-(1780,6968)
-(1781,6966)
-(1782,6966)
-(1782,6963)
-(1783,6966)
-(1783,6969)
-(1785,6971)
-(1785,6962)
-(1784,6959)
-(1783,6950)
-(1785,6946)
-(1784,6951)
-(1787,6945)
-(1790,6940)
-(1791,6927)
-(1794,6924)
-(1797,6923)
-(1802,6918)
-(1805,6917)
-(1809,6915)
-(1812,6910)
-(1812,6905)
-(1813,6903)
-(1820,6904)
-(1822,6903)
-(1824,6899)
-(1824,6892)
-(1826,6889)
-(1828,6889)
-(1834,6889)
-(1836,6887)
-(1836,6885)
-(1834,6881)
-(1833,6876)
-(1834,6874)
-(1836,6873)
-(1839,6872)
-(1840,6868)
-(1838,6862)
-(1835,6858)
-226
-(1553,6235)
-(1552,6235)
-(1550,6232)
-(1546,6232)
-(1546,6230)
-(1543,6229)
-(1540,6231)
-(1538,6229)
-(1532,6232)
-(1528,6232)
-(1525,6231)
-(1518,6231)
-(1516,6233)
-(1513,6233)
-(1511,6232)
-(1510,6228)
-(1507,6226)
-(1505,6227)
-(1501,6221)
-(1500,6218)
-(1499,6216)
-(1499,6214)
-(1496,6211)
-(1495,6206)
-(1496,6205)
-(1499,6206)
-(1501,6203)
-(1500,6201)
-(1501,6195)
-(1499,6192)
-(1499,6190)
-(1497,6189)
-(1496,6191)
-(1492,6190)
-(1490,6190)
-(1488,6189)
-(1488,6188)
-(1487,6188)
-(1485,6184)
-(1480,6182)
-(1474,6183)
-(1473,6184)
-(1474,6186)
-(1474,6187)
-(1473,6187)
-(1468,6186)
-(1466,6184)
-(1465,6184)
-(1464,6185)
-(1460,6185)
-(1458,6187)
-(1454,6186)
-(1449,6188)
-(1442,6187)
-(1438,6190)
-(1429,6191)
-(1429,6193)
-(1428,6194)
-(1429,6196)
-(1431,6198)
-(1431,6203)
-(1433,6207)
-(1432,6212)
-(1433,6216)
-(1436,6216)
-(1440,6218)
-(1443,6215)
-(1446,6215)
-(1451,6219)
-(1453,6227)
-(1461,6231)
-(1463,6235)
-(1466,6237)
-(1467,6240)
-(1466,6244)
-(1467,6246)
-(1471,6254)
-(1472,6257)
-(1474,6262)
-(1478,6265)
-(1480,6269)
-(1485,6272)
-(1484,6274)
-(1481,6278)
-(1480,6281)
-(1478,6283)
-(1478,6284)
-(1481,6287)
-(1481,6291)
-(1485,6293)
-(1488,6301)
-(1494,6304)
-(1497,6307)
-(1498,6310)
-(1500,6311)
-(1498,6315)
-(1496,6317)
-(1496,6319)
-(1497,6322)
-(1496,6325)
-(1491,6328)
-(1489,6330)
-(1489,6336)
-(1487,6338)
-(1487,6341)
-(1482,6348)
-(1484,6352)
-(1484,6355)
-(1479,6360)
-(1478,6361)
-(1482,6364)
-(1486,6370)
-(1489,6372)
-(1492,6372)
-(1497,6369)
-(1498,6370)
-(1498,6372)
-(1499,6373)
-(1499,6379)
-(1502,6387)
-(1505,6392)
-(1506,6395)
-(1510,6399)
-(1511,6401)
-(1510,6404)
-(1511,6413)
-(1514,6415)
-(1515,6416)
-(1514,6418)
-(1509,6419)
-(1502,6422)
-(1500,6426)
-(1500,6430)
-(1496,6432)
-(1495,6435)
-(1490,6439)
-(1485,6440)
-(1482,6439)
-(1478,6440)
-(1474,6444)
-(1469,6448)
-(1463,6451)
-(1459,6451)
-(1461,6453)
-(1459,6456)
-(1456,6457)
-(1454,6456)
-(1452,6456)
-(1449,6454)
-(1450,6452)
-(1449,6451)
-(1447,6449)
-(1445,6451)
-(1443,6450)
-(1440,6451)
-(1437,6454)
-(1436,6458)
-(1438,6462)
-(1436,6462)
-(1430,6467)
-(1423,6472)
-(1423,6474)
-(1425,6474)
-(1425,6481)
-(1428,6482)
-(1430,6486)
-(1431,6487)
-(1430,6490)
-(1433,6492)
-(1435,6496)
-(1438,6497)
-(1438,6498)
-(1440,6499)
-(1440,6501)
-(1441,6502)
-(1442,6504)
-(1441,6507)
-(1441,6509)
-(1440,6510)
-(1440,6514)
-(1439,6517)
-(1438,6517)
-(1437,6519)
-(1431,6523)
-(1433,6525)
-(1430,6527)
-(1429,6532)
-(1428,6531)
-(1426,6533)
-(1425,6531)
-(1424,6531)
-(1422,6533)
-(1419,6535)
-(1418,6538)
-(1420,6540)
-(1421,6544)
-(1424,6550)
-(1424,6552)
-(1422,6553)
-(1421,6556)
-(1423,6563)
-(1426,6566)
-(1431,6566)
-(1431,6568)
-(1428,6569)
-(1428,6573)
-(1427,6574)
-(1425,6574)
-(1422,6573)
-(1423,6576)
-(1422,6576)
-(1421,6576)
-(1421,6579)
-(1420,6580)
-(1416,6578)
-(1415,6581)
-(1408,6585)
-(1408,6586)
-(1409,6589)
-(1408,6590)
-(1405,6591)
-(1405,6597)
-(1408,6599)
-(1408,6601)
-(1404,6604)
-(1404,6605)
-112
-(1354,6790)
-(1355,6789)
-(1356,6787)
-(1358,6785)
-(1367,6783)
-(1367,6782)
-(1367,6778)
-(1371,6774)
-(1375,6772)
-(1389,6766)
-(1390,6760)
-(1389,6755)
-(1384,6751)
-(1383,6747)
-(1384,6744)
-(1387,6742)
-(1390,6739)
-(1384,6731)
-(1385,6727)
-(1384,6722)
-(1387,6716)
-(1387,6711)
-(1387,6708)
-(1389,6698)
-(1393,6691)
-(1397,6692)
-(1402,6689)
-(1406,6688)
-(1409,6683)
-(1409,6675)
-(1406,6671)
-(1408,6666)
-(1408,6663)
-(1406,6661)
-(1406,6659)
-(1404,6656)
-(1402,6652)
-(1406,6651)
-(1409,6647)
-(1407,6642)
-(1408,6639)
-(1407,6637)
-(1408,6636)
-(1406,6632)
-(1408,6632)
-(1409,6630)
-(1413,6622)
-(1413,6618)
-(1415,6617)
-(1415,6613)
-(1413,6612)
-(1412,6610)
-(1409,6609)
-(1408,6607)
-(1404,6605)
-(1405,6607)
-(1407,6608)
-(1408,6610)
-(1411,6610)
-(1412,6612)
-(1415,6613)
-(1414,6617)
-(1412,6618)
-(1412,6623)
-(1409,6626)
-(1409,6629)
-(1407,6631)
-(1405,6632)
-(1407,6635)
-(1406,6641)
-(1407,6646)
-(1405,6650)
-(1402,6651)
-(1401,6651)
-(1403,6655)
-(1407,6663)
-(1407,6666)
-(1405,6671)
-(1406,6675)
-(1408,6677)
-(1408,6686)
-(1406,6689)
-(1401,6691)
-(1396,6694)
-(1393,6692)
-(1391,6694)
-(1391,6697)
-(1390,6699)
-(1388,6708)
-(1388,6718)
-(1386,6719)
-(1385,6723)
-(1386,6727)
-(1385,6731)
-(1390,6739)
-(1388,6744)
-(1384,6745)
-(1384,6747)
-(1384,6751)
-(1387,6752)
-(1391,6757)
-(1390,6767)
-(1389,6768)
-(1380,6771)
-(1374,6775)
-(1371,6775)
-(1369,6779)
-(1369,6783)
-(1367,6785)
-(1363,6785)
-(1361,6786)
-(1354,6790)
-10
-(1389,6768)
-(1389,6773)
-(1387,6776)
-(1383,6779)
-(1378,6779)
-(1375,6783)
-(1373,6786)
-(1374,6788)
-(1374,6790)
-(1374,6793)
-10
-(1382,6779)
-(1382,6782)
-(1383,6784)
-(1382,6787)
-(1384,6787)
-(1384,6789)
-(1382,6793)
-(1382,6803)
-(1382,6804)
-(1383,6805)
-550
-(1996,5633)
-(1994,5633)
-(1993,5635)
-(1992,5639)
-(1989,5644)
-(1991,5652)
-(1989,5659)
-(1989,5664)
-(1990,5667)
-(1992,5669)
-(1993,5671)
-(1992,5675)
-(1991,5679)
-(1991,5686)
-(1991,5689)
-(1990,5692)
-(1987,5694)
-(1986,5696)
-(1985,5697)
-(1986,5697)
-(1984,5705)
-(1979,5706)
-(1977,5705)
-(1976,5706)
-(1976,5709)
-(1974,5713)
-(1972,5721)
-(1971,5725)
-(1971,5733)
-(1968,5737)
-(1963,5739)
-(1961,5745)
-(1959,5747)
-(1959,5750)
-(1957,5750)
-(1953,5756)
-(1954,5771)
-(1950,5775)
-(1949,5779)
-(1946,5781)
-(1945,5786)
-(1943,5785)
-(1941,5786)
-(1935,5790)
-(1929,5792)
-(1927,5801)
-(1927,5803)
-(1927,5805)
-(1923,5806)
-(1922,5811)
-(1919,5811)
-(1917,5813)
-(1917,5817)
-(1915,5820)
-(1912,5819)
-(1909,5821)
-(1906,5821)
-(1901,5825)
-(1897,5825)
-(1892,5831)
-(1889,5832)
-(1886,5831)
-(1884,5832)
-(1880,5833)
-(1877,5829)
-(1871,5832)
-(1867,5831)
-(1862,5834)
-(1860,5839)
-(1857,5842)
-(1855,5843)
-(1849,5841)
-(1843,5842)
-(1841,5845)
-(1839,5849)
-(1835,5852)
-(1834,5854)
-(1827,5857)
-(1824,5860)
-(1823,5864)
-(1819,5867)
-(1816,5872)
-(1814,5873)
-(1813,5876)
-(1810,5877)
-(1807,5880)
-(1804,5880)
-(1800,5883)
-(1798,5883)
-(1794,5886)
-(1789,5889)
-(1788,5893)
-(1783,5895)
-(1778,5900)
-(1773,5900)
-(1765,5905)
-(1764,5906)
-(1761,5906)
-(1760,5908)
-(1749,5918)
-(1742,5915)
-(1736,5919)
-(1733,5918)
-(1722,5921)
-(1718,5923)
-(1713,5927)
-(1710,5927)
-(1704,5931)
-(1700,5932)
-(1695,5931)
-(1689,5933)
-(1687,5935)
-(1680,5934)
-(1676,5937)
-(1672,5942)
-(1670,5942)
-(1669,5942)
-(1668,5943)
-(1663,5943)
-(1660,5940)
-(1656,5941)
-(1655,5942)
-(1653,5941)
-(1640,5946)
-(1638,5946)
-(1635,5945)
-(1633,5946)
-(1632,5949)
-(1628,5950)
-(1621,5949)
-(1619,5950)
-(1613,5951)
-(1605,5948)
-(1603,5950)
-(1596,5948)
-(1593,5946)
-(1592,5946)
-(1589,5949)
-(1587,5948)
-(1584,5949)
-(1583,5948)
-(1580,5949)
-(1579,5948)
-(1572,5948)
-(1570,5948)
-(1568,5948)
-(1564,5948)
-(1559,5949)
-(1553,5949)
-(1549,5952)
-(1545,5955)
-(1537,5957)
-(1534,5961)
-(1531,5960)
-(1528,5961)
-(1525,5961)
-(1526,5958)
-(1525,5957)
-(1523,5957)
-(1519,5960)
-(1517,5962)
-(1513,5964)
-(1508,5970)
-(1508,5973)
-(1505,5979)
-(1498,5985)
-(1493,5985)
-(1491,5990)
-(1489,5991)
-(1486,5993)
-(1483,6006)
-(1480,6008)
-(1483,6009)
-(1485,6013)
-(1486,6019)
-(1485,6022)
-(1483,6025)
-(1479,6026)
-(1476,6030)
-(1474,6031)
-(1471,6031)
-(1471,6032)
-(1468,6033)
-(1468,6033)
-(1467,6031)
-(1463,6031)
-(1455,6031)
-(1451,6032)
-(1446,6031)
-(1445,6029)
-(1444,6024)
-(1443,6023)
-(1434,6025)
-(1430,6020)
-(1425,6017)
-(1424,6015)
-(1419,6011)
-(1409,6009)
-(1406,6006)
-(1404,6006)
-(1401,6004)
-(1396,6005)
-(1393,6003)
-(1390,6007)
-(1384,6008)
-(1383,6011)
-(1380,6013)
-(1380,6015)
-(1377,6016)
-(1377,6018)
-(1374,6017)
-(1367,6022)
-(1360,6022)
-(1359,6024)
-(1355,6028)
-(1351,6034)
-(1349,6035)
-(1345,6034)
-(1342,6038)
-(1339,6039)
-(1338,6037)
-(1336,6037)
-(1336,6037)
-(1335,6040)
-(1334,6042)
-(1328,6044)
-(1327,6043)
-(1326,6046)
-(1323,6046)
-(1321,6048)
-(1319,6052)
-(1317,6052)
-(1315,6054)
-(1311,6056)
-(1311,6063)
-(1310,6064)
-(1308,6064)
-(1307,6065)
-(1308,6071)
-(1307,6070)
-(1306,6067)
-(1302,6067)
-(1298,6070)
-(1296,6070)
-(1294,6069)
-(1292,6070)
-(1288,6066)
-(1284,6060)
-(1282,6054)
-(1278,6051)
-(1278,6043)
-(1271,6042)
-(1268,6040)
-(1263,6037)
-(1261,6033)
-(1259,6033)
-(1257,6031)
-(1252,6031)
-(1253,6038)
-(1252,6039)
-(1251,6037)
-(1248,6031)
-(1250,6022)
-(1247,6021)
-(1245,6015)
-(1242,6013)
-(1237,6010)
-(1224,6008)
-(1221,6005)
-(1219,6006)
-(1215,6006)
-(1214,6010)
-(1215,6010)
-(1218,6010)
-(1219,6013)
-(1221,6014)
-(1223,6016)
-(1223,6020)
-(1222,6021)
-(1214,6025)
-(1214,6026)
-(1211,6028)
-(1209,6031)
-(1210,6033)
-(1209,6035)
-(1206,6036)
-(1202,6035)
-(1190,6035)
-(1188,6036)
-(1189,6041)
-(1194,6048)
-(1193,6050)
-(1193,6055)
-(1190,6061)
-(1191,6061)
-(1191,6064)
-(1193,6067)
-(1189,6075)
-(1190,6079)
-(1189,6094)
-(1190,6097)
-(1192,6096)
-(1196,6103)
-(1197,6111)
-(1199,6115)
-(1203,6119)
-(1203,6123)
-(1205,6129)
-(1203,6133)
-(1197,6135)
-(1192,6127)
-(1190,6122)
-(1186,6118)
-(1178,6109)
-(1175,6108)
-(1171,6110)
-(1169,6109)
-(1165,6111)
-(1164,6114)
-(1162,6112)
-(1156,6109)
-(1152,6110)
-(1141,6108)
-(1137,6109)
-(1133,6108)
-(1129,6111)
-(1127,6112)
-(1121,6109)
-(1117,6108)
-(1109,6104)
-(1108,6099)
-(1098,6092)
-(1098,6089)
-(1091,6085)
-(1089,6084)
-(1084,6086)
-(1079,6086)
-(1075,6085)
-(1072,6088)
-(1072,6091)
-(1072,6093)
-(1069,6093)
-(1069,6094)
-(1072,6095)
-(1071,6096)
-(1072,6097)
-(1073,6098)
-(1075,6104)
-(1082,6106)
-(1084,6107)
-(1082,6113)
-(1082,6115)
-(1084,6116)
-(1089,6121)
-(1092,6123)
-(1093,6126)
-(1092,6131)
-(1089,6131)
-(1084,6137)
-(1083,6138)
-(1082,6142)
-(1079,6145)
-(1078,6149)
-(1078,6152)
-(1077,6156)
-(1074,6157)
-(1070,6155)
-(1068,6160)
-(1069,6161)
-(1072,6160)
-(1073,6165)
-(1076,6167)
-(1078,6172)
-(1080,6177)
-(1079,6181)
-(1079,6183)
-(1082,6184)
-(1087,6184)
-(1090,6188)
-(1094,6189)
-(1098,6197)
-(1098,6197)
-(1100,6194)
-(1102,6194)
-(1106,6198)
-(1107,6204)
-(1106,6207)
-(1106,6210)
-(1104,6217)
-(1100,6222)
-(1101,6228)
-(1100,6230)
-(1097,6232)
-(1100,6236)
-(1100,6239)
-(1092,6245)
-(1086,6247)
-(1080,6253)
-(1072,6257)
-(1069,6262)
-(1059,6267)
-(1055,6276)
-(1053,6281)
-(1044,6288)
-(1034,6289)
-(1029,6289)
-(1021,6285)
-(1019,6285)
-(1011,6286)
-(1008,6285)
-(1002,6287)
-(994,6285)
-(992,6285)
-(990,6287)
-(988,6291)
-(981,6295)
-(978,6300)
-(974,6302)
-(968,6303)
-(966,6305)
-(963,6312)
-(961,6325)
-(959,6326)
-(959,6323)
-(956,6321)
-(948,6324)
-(946,6327)
-(946,6330)
-(946,6331)
-(944,6336)
-(941,6338)
-(935,6338)
-(932,6337)
-(926,6336)
-(924,6334)
-(923,6330)
-(921,6329)
-(920,6332)
-(921,6336)
-(918,6339)
-(917,6340)
-(914,6340)
-(913,6341)
-(907,6347)
-(906,6350)
-(899,6354)
-(896,6354)
-(893,6355)
-(889,6355)
-(885,6357)
-(880,6353)
-(876,6352)
-(867,6352)
-(866,6353)
-(864,6352)
-(859,6353)
-(857,6353)
-(853,6351)
-(848,6352)
-(845,6351)
-(844,6354)
-(840,6355)
-(840,6357)
-(837,6360)
-(834,6359)
-(834,6360)
-(831,6361)
-(830,6359)
-(828,6359)
-(819,6364)
-(816,6362)
-(813,6359)
-(814,6362)
-(813,6363)
-(815,6370)
-(814,6374)
-(814,6370)
-(812,6363)
-(813,6361)
-(812,6358)
-(810,6357)
-(806,6358)
-(804,6357)
-(800,6359)
-(795,6359)
-(789,6365)
-(786,6364)
-(784,6365)
-(780,6365)
-(776,6362)
-(767,6359)
-(762,6361)
-(755,6362)
-(752,6360)
-(742,6364)
-(737,6362)
-(735,6359)
-(735,6357)
-(735,6347)
-(736,6341)
-(736,6340)
-(737,6337)
-(737,6335)
-(736,6334)
-(734,6333)
-(728,6334)
-(727,6333)
-(725,6333)
-(725,6333)
-(723,6333)
-(720,6329)
-(716,6329)
-(714,6327)
-(714,6324)
-(715,6319)
-(715,6314)
-(716,6312)
-(715,6310)
-(714,6309)
-(710,6307)
-(710,6301)
-(709,6300)
-(706,6301)
-(702,6299)
-(697,6297)
-(694,6297)
-(693,6299)
-(692,6304)
-(686,6314)
-(680,6317)
-(674,6317)
-(666,6313)
-(657,6312)
-(649,6314)
-(648,6315)
-(649,6318)
-(649,6320)
-(634,6327)
-(632,6333)
-(627,6335)
-(625,6338)
-(625,6341)
-(620,6347)
-(618,6352)
-(617,6354)
-(618,6355)
-(620,6358)
-(618,6368)
-(621,6382)
-(619,6386)
-214
-(600,6349)
-(614,6335)
-(626,6324)
-(627,6321)
-(632,6319)
-(633,6316)
-(636,6313)
-(640,6312)
-(642,6308)
-(644,6308)
-(650,6305)
-(652,6306)
-(654,6305)
-(657,6307)
-(657,6305)
-(658,6304)
-(670,6304)
-(675,6302)
-(680,6302)
-(682,6300)
-(686,6303)
-(687,6301)
-(688,6298)
-(689,6296)
-(697,6295)
-(701,6291)
-(706,6290)
-(714,6286)
-(715,6286)
-(716,6288)
-(723,6286)
-(731,6290)
-(735,6286)
-(735,6283)
-(733,6285)
-(733,6284)
-(737,6280)
-(740,6279)
-(742,6274)
-(744,6274)
-(742,6276)
-(742,6278)
-(742,6278)
-(748,6278)
-(751,6277)
-(752,6274)
-(753,6273)
-(751,6277)
-(749,6279)
-(748,6279)
-(743,6279)
-(737,6282)
-(736,6284)
-(735,6287)
-(731,6291)
-(722,6287)
-(721,6288)
-(719,6290)
-(718,6291)
-(714,6290)
-(712,6288)
-(701,6292)
-(698,6295)
-(694,6296)
-(700,6295)
-(706,6300)
-(707,6300)
-(709,6299)
-(711,6300)
-(712,6307)
-(715,6309)
-(717,6312)
-(716,6325)
-(719,6328)
-(723,6329)
-(724,6330)
-(728,6332)
-(731,6331)
-(735,6332)
-(738,6335)
-(736,6347)
-(736,6356)
-(737,6361)
-(740,6363)
-(747,6362)
-(750,6359)
-(753,6360)
-(755,6361)
-(757,6360)
-(760,6360)
-(767,6356)
-(770,6356)
-(777,6359)
-(780,6358)
-(784,6360)
-(787,6360)
-(789,6361)
-(795,6356)
-(801,6355)
-(802,6353)
-(804,6352)
-(811,6355)
-(817,6360)
-(821,6360)
-(822,6361)
-(826,6357)
-(831,6359)
-(835,6358)
-(836,6356)
-(837,6358)
-(838,6357)
-(839,6354)
-(839,6351)
-(841,6348)
-(842,6347)
-(845,6347)
-(849,6346)
-(847,6344)
-(849,6345)
-(851,6345)
-(853,6348)
-(858,6352)
-(862,6352)
-(865,6350)
-(868,6351)
-(871,6349)
-(881,6352)
-(881,6353)
-(883,6355)
-(883,6354)
-(886,6356)
-(890,6353)
-(896,6354)
-(901,6352)
-(906,6349)
-(906,6347)
-(912,6340)
-(914,6339)
-(917,6339)
-(920,6336)
-(919,6331)
-(916,6328)
-(916,6326)
-(918,6324)
-(916,6319)
-(914,6317)
-(914,6315)
-(919,6323)
-(917,6327)
-(918,6328)
-(919,6330)
-(921,6328)
-(923,6329)
-(924,6334)
-(926,6336)
-(932,6336)
-(935,6338)
-(940,6338)
-(943,6336)
-(945,6334)
-(946,6330)
-(945,6329)
-(945,6326)
-(949,6323)
-(956,6320)
-(960,6323)
-(960,6325)
-(960,6326)
-(963,6314)
-(966,6303)
-(971,6301)
-(974,6301)
-(976,6300)
-(981,6293)
-(986,6291)
-(991,6285)
-(994,6284)
-(1003,6286)
-(1008,6284)
-(1012,6286)
-(1014,6284)
-(1020,6284)
-(1028,6288)
-(1032,6288)
-(1043,6288)
-(1047,6284)
-(1050,6283)
-(1052,6281)
-(1059,6268)
-(1063,6264)
-(1068,6261)
-(1071,6256)
-(1079,6253)
-(1086,6247)
-(1092,6244)
-(1098,6240)
-(1100,6238)
-(1099,6236)
-(1097,6233)
-(1097,6232)
-(1098,6231)
-(1100,6229)
-(1100,6221)
-(1103,6216)
-(1106,6203)
-(1105,6198)
-(1102,6195)
-(1100,6195)
-(1098,6198)
-(1096,6197)
-(1094,6190)
-(1090,6189)
-(1088,6187)
-(1088,6185)
-73
-(619,6385)
-(618,6375)
-(617,6371)
-(616,6370)
-(616,6370)
-(615,6374)
-(616,6376)
-(615,6378)
-(614,6374)
-(613,6374)
-(616,6368)
-(617,6364)
-(619,6360)
-(618,6358)
-(617,6359)
-(616,6365)
-(614,6367)
-(616,6355)
-(616,6352)
-(617,6351)
-(617,6353)
-(619,6346)
-(623,6342)
-(625,6334)
-(632,6328)
-(634,6323)
-(633,6320)
-(635,6315)
-(637,6313)
-(640,6313)
-(642,6308)
-(646,6309)
-(650,6306)
-(651,6307)
-(654,6306)
-(657,6308)
-(658,6307)
-(658,6304)
-(671,6305)
-(673,6303)
-(675,6303)
-(679,6304)
-(683,6301)
-(685,6303)
-(687,6303)
-(688,6302)
-(688,6298)
-(691,6296)
-(692,6296)
-(693,6298)
-(691,6303)
-(686,6312)
-(683,6315)
-(680,6315)
-(674,6317)
-(671,6315)
-(667,6314)
-(665,6312)
-(653,6311)
-(648,6313)
-(646,6320)
-(645,6321)
-(639,6320)
-(635,6322)
-(632,6320)
-(630,6321)
-(627,6323)
-(626,6327)
-(620,6329)
-(616,6335)
-(609,6340)
-(604,6348)
-(600,6350)
-412
-(1960,5521)
-(1960,5515)
-(1962,5513)
-(1962,5510)
-(1964,5504)
-(1963,5495)
-(1964,5492)
-(1960,5489)
-(1956,5488)
-(1955,5485)
-(1954,5488)
-(1951,5492)
-(1949,5495)
-(1944,5497)
-(1943,5501)
-(1939,5503)
-(1938,5503)
-(1936,5501)
-(1932,5499)
-(1928,5490)
-(1910,5492)
-(1910,5493)
-(1909,5493)
-(1906,5493)
-(1903,5500)
-(1901,5501)
-(1899,5504)
-(1896,5503)
-(1892,5508)
-(1890,5509)
-(1889,5508)
-(1887,5507)
-(1884,5509)
-(1884,5511)
-(1884,5513)
-(1886,5516)
-(1885,5522)
-(1884,5523)
-(1881,5522)
-(1877,5526)
-(1878,5528)
-(1878,5535)
-(1883,5539)
-(1888,5540)
-(1888,5542)
-(1887,5542)
-(1888,5544)
-(1887,5546)
-(1889,5548)
-(1888,5548)
-(1890,5553)
-(1891,5558)
-(1891,5561)
-(1893,5564)
-(1893,5570)
-(1894,5571)
-(1893,5572)
-(1895,5574)
-(1894,5575)
-(1894,5576)
-(1893,5577)
-(1894,5580)
-(1892,5583)
-(1892,5587)
-(1891,5589)
-(1892,5592)
-(1891,5595)
-(1892,5597)
-(1891,5599)
-(1891,5601)
-(1889,5605)
-(1888,5609)
-(1889,5614)
-(1887,5616)
-(1888,5626)
-(1889,5628)
-(1889,5631)
-(1888,5633)
-(1891,5638)
-(1890,5640)
-(1890,5642)
-(1889,5643)
-(1888,5646)
-(1887,5649)
-(1888,5653)
-(1890,5655)
-(1887,5657)
-(1886,5659)
-(1887,5660)
-(1886,5661)
-(1887,5664)
-(1886,5667)
-(1888,5668)
-(1887,5668)
-(1887,5672)
-(1884,5675)
-(1882,5675)
-(1881,5673)
-(1878,5673)
-(1877,5670)
-(1875,5668)
-(1874,5670)
-(1875,5672)
-(1873,5676)
-(1869,5677)
-(1868,5678)
-(1866,5678)
-(1866,5680)
-(1863,5681)
-(1864,5684)
-(1863,5684)
-(1864,5686)
-(1864,5689)
-(1866,5690)
-(1867,5695)
-(1868,5696)
-(1868,5697)
-(1867,5698)
-(1868,5700)
-(1869,5707)
-(1868,5709)
-(1867,5723)
-(1866,5724)
-(1865,5724)
-(1865,5726)
-(1863,5728)
-(1858,5729)
-(1854,5735)
-(1855,5738)
-(1855,5740)
-(1857,5742)
-(1855,5745)
-(1855,5746)
-(1859,5750)
-(1858,5753)
-(1857,5753)
-(1855,5763)
-(1853,5767)
-(1853,5771)
-(1851,5777)
-(1849,5780)
-(1848,5780)
-(1848,5782)
-(1844,5784)
-(1834,5786)
-(1828,5790)
-(1827,5792)
-(1825,5792)
-(1827,5799)
-(1827,5801)
-(1825,5802)
-(1822,5801)
-(1815,5804)
-(1814,5813)
-(1813,5815)
-(1811,5815)
-(1811,5825)
-(1805,5832)
-(1803,5838)
-(1798,5840)
-(1794,5841)
-(1791,5846)
-(1788,5845)
-(1784,5847)
-(1781,5846)
-(1778,5849)
-(1778,5850)
-(1775,5851)
-(1773,5854)
-(1769,5854)
-(1767,5859)
-(1768,5861)
-(1765,5863)
-(1763,5870)
-(1759,5874)
-(1757,5874)
-(1756,5875)
-(1755,5876)
-(1753,5877)
-(1751,5876)
-(1748,5879)
-(1745,5882)
-(1742,5883)
-(1741,5885)
-(1737,5885)
-(1732,5889)
-(1729,5891)
-(1728,5895)
-(1722,5901)
-(1712,5902)
-(1710,5903)
-(1709,5907)
-(1703,5906)
-(1701,5907)
-(1700,5907)
-(1697,5908)
-(1696,5908)
-(1689,5909)
-(1687,5910)
-(1685,5914)
-(1683,5915)
-(1682,5917)
-(1679,5920)
-(1677,5919)
-(1677,5921)
-(1676,5920)
-(1672,5921)
-(1665,5920)
-(1664,5922)
-(1659,5924)
-(1658,5926)
-(1654,5930)
-(1650,5930)
-(1647,5929)
-(1635,5933)
-(1632,5933)
-(1630,5932)
-(1624,5932)
-(1618,5932)
-(1596,5934)
-(1584,5934)
-(1580,5932)
-(1578,5932)
-(1570,5931)
-(1569,5932)
-(1568,5932)
-(1565,5932)
-(1565,5930)
-(1564,5931)
-(1556,5930)
-(1550,5931)
-(1539,5933)
-(1534,5933)
-(1531,5934)
-(1525,5933)
-(1523,5932)
-(1520,5933)
-(1517,5931)
-(1513,5931)
-(1512,5932)
-(1511,5931)
-(1508,5931)
-(1503,5931)
-(1499,5933)
-(1495,5934)
-(1492,5934)
-(1488,5937)
-(1485,5937)
-(1481,5943)
-(1476,5944)
-(1468,5941)
-(1464,5938)
-(1464,5941)
-(1460,5946)
-(1457,5946)
-(1459,5950)
-(1459,5951)
-(1454,5945)
-(1454,5942)
-(1453,5940)
-(1451,5935)
-(1448,5931)
-(1447,5923)
-(1446,5921)
-(1446,5918)
-(1443,5912)
-(1443,5910)
-(1439,5905)
-(1438,5904)
-(1430,5907)
-(1427,5910)
-(1425,5914)
-(1417,5919)
-(1416,5919)
-(1410,5915)
-(1407,5917)
-(1405,5917)
-(1405,5920)
-(1402,5923)
-(1395,5923)
-(1395,5921)
-(1393,5918)
-(1395,5915)
-(1392,5911)
-(1392,5906)
-(1389,5911)
-(1385,5914)
-(1384,5913)
-(1383,5910)
-(1382,5909)
-(1378,5911)
-(1378,5913)
-(1376,5916)
-(1374,5920)
-(1370,5919)
-(1370,5913)
-(1367,5911)
-(1364,5913)
-(1362,5913)
-(1360,5914)
-(1358,5913)
-(1358,5915)
-(1348,5919)
-(1343,5917)
-(1338,5914)
-(1336,5914)
-(1327,5919)
-(1325,5922)
-(1323,5926)
-(1322,5926)
-(1322,5924)
-(1320,5924)
-(1317,5922)
-(1315,5917)
-(1313,5913)
-(1312,5913)
-(1303,5915)
-(1297,5919)
-(1294,5918)
-(1293,5914)
-(1290,5914)
-(1285,5918)
-(1283,5920)
-(1279,5920)
-(1274,5923)
-(1269,5923)
-(1267,5924)
-(1266,5927)
-(1264,5928)
-(1259,5924)
-(1259,5918)
-(1257,5916)
-(1257,5911)
-(1254,5909)
-(1245,5911)
-(1236,5916)
-(1232,5917)
-(1228,5919)
-(1222,5919)
-(1220,5919)
-(1217,5922)
-(1212,5922)
-(1209,5917)
-(1209,5914)
-(1205,5910)
-(1204,5902)
-(1200,5894)
-(1200,5890)
-(1197,5880)
-(1198,5877)
-(1197,5873)
-(1196,5871)
-(1191,5869)
-(1191,5865)
-(1186,5864)
-(1181,5859)
-(1176,5858)
-(1173,5858)
-(1165,5855)
-(1162,5851)
-(1159,5852)
-(1149,5852)
-(1147,5850)
-(1132,5848)
-(1129,5845)
-(1129,5843)
-(1131,5843)
-(1131,5841)
-(1132,5840)
-(1130,5839)
-(1122,5840)
-(1117,5842)
-(1112,5841)
-(1110,5843)
-(1103,5847)
-(1100,5847)
-(1097,5850)
-(1096,5851)
-(1097,5853)
-(1100,5854)
-(1099,5857)
-(1097,5859)
-(1096,5859)
-(1095,5857)
-(1094,5857)
-(1089,5861)
-(1087,5861)
-(1085,5862)
-(1083,5861)
-(1083,5863)
-(1078,5865)
-(1075,5862)
-(1072,5861)
-(1070,5862)
-(1070,5861)
-(1069,5860)
-(1062,5862)
-(1056,5863)
-(1049,5866)
-(1044,5866)
-(1043,5862)
-(1041,5861)
-(1032,5861)
-(1029,5859)
-(1027,5859)
-(1026,5858)
-(1021,5856)
-(1015,5859)
-(1011,5857)
-(1008,5858)
-(1002,5856)
-(994,5860)
-239
-(1725,5866)
-(1724,5865)
-(1721,5865)
-(1717,5870)
-(1709,5873)
-(1708,5876)
-(1705,5879)
-(1705,5881)
-(1703,5883)
-(1698,5885)
-(1695,5889)
-(1694,5892)
-(1690,5895)
-(1690,5897)
-(1688,5899)
-(1685,5900)
-(1683,5899)
-(1675,5900)
-(1670,5899)
-(1666,5901)
-(1662,5899)
-(1662,5898)
-(1662,5896)
-(1660,5895)
-(1659,5892)
-(1660,5889)
-(1662,5888)
-(1664,5886)
-(1663,5882)
-(1663,5881)
-(1654,5884)
-(1652,5885)
-(1646,5886)
-(1638,5891)
-(1634,5893)
-(1628,5899)
-(1621,5902)
-(1613,5901)
-(1610,5903)
-(1606,5903)
-(1602,5900)
-(1600,5901)
-(1596,5900)
-(1595,5899)
-(1594,5899)
-(1592,5898)
-(1586,5897)
-(1582,5897)
-(1580,5896)
-(1570,5894)
-(1561,5889)
-(1553,5887)
-(1546,5881)
-(1543,5876)
-(1535,5869)
-(1538,5864)
-(1540,5864)
-(1543,5861)
-(1542,5850)
-(1542,5849)
-(1541,5852)
-(1540,5852)
-(1539,5851)
-(1533,5850)
-(1524,5845)
-(1520,5845)
-(1520,5843)
-(1522,5841)
-(1522,5840)
-(1521,5839)
-(1520,5839)
-(1518,5836)
-(1513,5836)
-(1510,5834)
-(1509,5834)
-(1507,5835)
-(1508,5839)
-(1506,5839)
-(1505,5838)
-(1505,5836)
-(1505,5833)
-(1501,5834)
-(1500,5833)
-(1497,5829)
-(1496,5826)
-(1492,5826)
-(1489,5822)
-(1483,5824)
-(1477,5827)
-(1470,5827)
-(1469,5828)
-(1467,5827)
-(1461,5828)
-(1459,5830)
-(1456,5832)
-(1452,5830)
-(1448,5825)
-(1448,5818)
-(1447,5816)
-(1452,5811)
-(1454,5808)
-(1457,5807)
-(1460,5801)
-(1461,5796)
-(1458,5793)
-(1458,5787)
-(1455,5786)
-(1451,5782)
-(1446,5778)
-(1439,5778)
-(1426,5772)
-(1425,5769)
-(1421,5768)
-(1414,5762)
-(1394,5758)
-(1379,5759)
-(1376,5758)
-(1366,5758)
-(1365,5757)
-(1363,5754)
-(1360,5755)
-(1351,5760)
-(1348,5757)
-(1344,5757)
-(1342,5758)
-(1339,5761)
-(1337,5759)
-(1334,5759)
-(1325,5760)
-(1319,5763)
-(1314,5762)
-(1313,5761)
-(1311,5755)
-(1316,5748)
-(1315,5732)
-(1314,5730)
-(1311,5728)
-(1308,5728)
-(1302,5723)
-(1293,5719)
-(1287,5720)
-(1286,5716)
-(1285,5715)
-(1283,5711)
-(1279,5709)
-(1278,5704)
-(1279,5704)
-(1279,5702)
-(1277,5699)
-(1275,5699)
-(1273,5695)
-(1274,5691)
-(1272,5689)
-(1269,5688)
-(1259,5689)
-(1256,5689)
-(1253,5686)
-(1251,5684)
-(1249,5683)
-(1242,5684)
-(1238,5688)
-(1230,5690)
-(1228,5692)
-(1221,5694)
-(1215,5694)
-(1212,5695)
-(1211,5694)
-(1206,5695)
-(1204,5697)
-(1203,5701)
-(1202,5701)
-(1200,5701)
-(1198,5703)
-(1195,5703)
-(1193,5707)
-(1189,5710)
-(1186,5709)
-(1184,5708)
-(1179,5710)
-(1168,5710)
-(1161,5712)
-(1158,5711)
-(1149,5710)
-(1147,5709)
-(1146,5707)
-(1141,5706)
-(1135,5708)
-(1131,5712)
-(1128,5713)
-(1124,5711)
-(1121,5706)
-(1120,5705)
-(1113,5704)
-(1111,5705)
-(1107,5711)
-(1100,5713)
-(1100,5715)
-(1097,5719)
-(1093,5723)
-(1087,5725)
-(1082,5727)
-(1078,5727)
-(1076,5725)
-(1073,5726)
-(1070,5728)
-(1065,5727)
-(1059,5729)
-(1056,5734)
-(1053,5732)
-(1050,5733)
-(1046,5737)
-(1046,5741)
-(1045,5741)
-(1042,5737)
-(1037,5735)
-(1027,5739)
-(1023,5737)
-(1020,5733)
-(1015,5735)
-(1013,5737)
-(1011,5736)
-(1011,5732)
-(1008,5729)
-(1008,5726)
-(1006,5725)
-(1005,5719)
-(1000,5721)
-(1000,5719)
-(998,5719)
-(996,5719)
-(995,5716)
-(991,5715)
-(990,5711)
-(987,5710)
-(983,5704)
-(981,5703)
-(979,5703)
-(977,5702)
-(974,5700)
-17
-(1011,5736)
-(1009,5740)
-(1006,5739)
-(1004,5740)
-(1003,5745)
-(1001,5746)
-(998,5747)
-(998,5749)
-(1000,5751)
-(997,5753)
-(993,5753)
-(989,5750)
-(988,5752)
-(985,5752)
-(984,5755)
-(984,5759)
-(983,5761)
-462
-(1826,4939)
-(1824,4943)
-(1826,4948)
-(1825,4949)
-(1824,4953)
-(1822,4955)
-(1823,4959)
-(1822,4961)
-(1821,4965)
-(1822,4972)
-(1819,4975)
-(1815,4975)
-(1811,4982)
-(1810,4985)
-(1809,4986)
-(1807,4989)
-(1808,4991)
-(1803,4994)
-(1801,4998)
-(1798,4998)
-(1795,5002)
-(1795,5006)
-(1792,5008)
-(1790,5026)
-(1785,5037)
-(1784,5039)
-(1782,5037)
-(1778,5039)
-(1774,5046)
-(1775,5048)
-(1775,5052)
-(1774,5053)
-(1773,5053)
-(1772,5058)
-(1772,5062)
-(1770,5070)
-(1767,5070)
-(1761,5069)
-(1759,5070)
-(1757,5070)
-(1756,5071)
-(1755,5075)
-(1756,5076)
-(1757,5077)
-(1756,5080)
-(1755,5085)
-(1753,5087)
-(1754,5090)
-(1752,5093)
-(1751,5097)
-(1752,5100)
-(1753,5102)
-(1755,5102)
-(1759,5109)
-(1759,5115)
-(1756,5120)
-(1755,5134)
-(1752,5136)
-(1751,5139)
-(1751,5144)
-(1753,5147)
-(1750,5160)
-(1750,5171)
-(1751,5173)
-(1752,5183)
-(1752,5187)
-(1754,5191)
-(1752,5193)
-(1752,5196)
-(1751,5197)
-(1752,5200)
-(1750,5217)
-(1750,5221)
-(1748,5224)
-(1750,5227)
-(1748,5229)
-(1749,5234)
-(1748,5234)
-(1746,5246)
-(1747,5248)
-(1747,5253)
-(1748,5256)
-(1748,5261)
-(1749,5261)
-(1752,5260)
-(1755,5263)
-(1758,5265)
-(1760,5268)
-(1760,5272)
-(1761,5275)
-(1763,5279)
-(1762,5282)
-(1762,5286)
-(1759,5290)
-(1759,5291)
-(1761,5293)
-(1762,5294)
-(1761,5295)
-(1761,5298)
-(1759,5301)
-(1759,5305)
-(1760,5306)
-(1761,5310)
-(1760,5316)
-(1760,5329)
-(1759,5331)
-(1759,5334)
-(1760,5337)
-(1762,5339)
-(1762,5340)
-(1761,5342)
-(1760,5346)
-(1760,5348)
-(1761,5350)
-(1760,5354)
-(1762,5357)
-(1761,5361)
-(1760,5364)
-(1760,5366)
-(1761,5373)
-(1762,5381)
-(1759,5383)
-(1758,5386)
-(1759,5395)
-(1761,5400)
-(1761,5404)
-(1761,5408)
-(1758,5421)
-(1754,5426)
-(1755,5434)
-(1760,5442)
-(1760,5444)
-(1757,5446)
-(1760,5452)
-(1758,5457)
-(1759,5460)
-(1758,5463)
-(1759,5466)
-(1758,5469)
-(1756,5475)
-(1757,5482)
-(1756,5484)
-(1757,5492)
-(1756,5497)
-(1755,5503)
-(1757,5507)
-(1756,5515)
-(1754,5520)
-(1757,5524)
-(1758,5529)
-(1756,5531)
-(1754,5538)
-(1754,5542)
-(1756,5545)
-(1756,5548)
-(1751,5551)
-(1749,5551)
-(1749,5555)
-(1748,5555)
-(1747,5556)
-(1748,5557)
-(1749,5561)
-(1747,5560)
-(1747,5562)
-(1745,5564)
-(1746,5565)
-(1745,5567)
-(1745,5568)
-(1745,5569)
-(1745,5572)
-(1744,5579)
-(1744,5583)
-(1745,5584)
-(1747,5585)
-(1749,5588)
-(1744,5589)
-(1742,5589)
-(1742,5592)
-(1740,5594)
-(1740,5598)
-(1742,5599)
-(1744,5602)
-(1746,5603)
-(1747,5606)
-(1749,5606)
-(1751,5608)
-(1751,5617)
-(1749,5618)
-(1750,5621)
-(1749,5623)
-(1750,5626)
-(1748,5629)
-(1750,5631)
-(1750,5635)
-(1751,5635)
-(1752,5636)
-(1753,5646)
-(1754,5651)
-(1756,5655)
-(1758,5658)
-(1766,5669)
-(1767,5673)
-(1769,5675)
-(1768,5683)
-(1769,5685)
-(1768,5689)
-(1770,5689)
-(1771,5692)
-(1773,5693)
-(1776,5696)
-(1777,5695)
-(1778,5693)
-(1780,5695)
-(1782,5693)
-(1786,5698)
-(1786,5703)
-(1786,5704)
-(1784,5704)
-(1785,5706)
-(1784,5706)
-(1786,5710)
-(1788,5711)
-(1788,5708)
-(1790,5707)
-(1793,5709)
-(1793,5711)
-(1791,5712)
-(1790,5714)
-(1788,5714)
-(1786,5716)
-(1788,5718)
-(1786,5722)
-(1785,5723)
-(1783,5722)
-(1782,5723)
-(1779,5722)
-(1777,5723)
-(1774,5723)
-(1773,5725)
-(1770,5725)
-(1769,5727)
-(1768,5727)
-(1766,5724)
-(1765,5724)
-(1764,5722)
-(1760,5719)
-(1760,5717)
-(1757,5715)
-(1757,5712)
-(1751,5705)
-(1751,5699)
-(1750,5699)
-(1748,5701)
-(1747,5697)
-(1743,5694)
-(1739,5694)
-(1736,5689)
-(1736,5687)
-(1733,5685)
-(1732,5688)
-(1730,5686)
-(1729,5688)
-(1730,5689)
-(1729,5695)
-(1728,5695)
-(1727,5692)
-(1726,5692)
-(1726,5694)
-(1723,5698)
-(1721,5698)
-(1720,5700)
-(1717,5701)
-(1715,5704)
-(1711,5705)
-(1710,5706)
-(1703,5704)
-(1700,5701)
-(1701,5700)
-(1700,5700)
-(1699,5699)
-(1699,5698)
-(1698,5697)
-(1697,5697)
-(1697,5699)
-(1692,5700)
-(1690,5703)
-(1688,5706)
-(1690,5711)
-(1691,5712)
-(1690,5715)
-(1688,5717)
-(1687,5717)
-(1683,5723)
-(1678,5724)
-(1673,5729)
-(1669,5726)
-(1669,5725)
-(1664,5717)
-(1661,5706)
-(1658,5705)
-(1661,5707)
-(1661,5709)
-(1657,5708)
-(1656,5703)
-(1656,5701)
-(1655,5698)
-(1654,5694)
-(1650,5692)
-(1649,5688)
-(1647,5685)
-(1645,5685)
-(1642,5680)
-(1641,5679)
-(1639,5680)
-(1638,5677)
-(1637,5677)
-(1638,5679)
-(1639,5681)
-(1637,5681)
-(1635,5677)
-(1632,5676)
-(1632,5675)
-(1633,5675)
-(1633,5674)
-(1627,5674)
-(1626,5672)
-(1626,5670)
-(1624,5667)
-(1621,5666)
-(1619,5664)
-(1618,5661)
-(1615,5658)
-(1615,5652)
-(1611,5647)
-(1612,5646)
-(1613,5648)
-(1615,5648)
-(1611,5640)
-(1611,5637)
-(1609,5635)
-(1606,5633)
-(1605,5631)
-(1603,5620)
-(1606,5608)
-(1605,5604)
-(1603,5602)
-(1605,5599)
-(1605,5597)
-(1604,5595)
-(1601,5593)
-(1599,5587)
-(1598,5582)
-(1599,5581)
-(1598,5580)
-(1599,5577)
-(1599,5573)
-(1596,5570)
-(1596,5560)
-(1591,5556)
-(1591,5548)
-(1593,5544)
-(1589,5536)
-(1586,5534)
-(1587,5531)
-(1585,5529)
-(1582,5523)
-(1580,5524)
-(1579,5523)
-(1576,5518)
-(1577,5517)
-(1574,5513)
-(1574,5511)
-(1571,5503)
-(1571,5496)
-(1568,5492)
-(1569,5487)
-(1568,5481)
-(1568,5478)
-(1570,5475)
-(1571,5464)
-(1570,5461)
-(1570,5459)
-(1568,5457)
-(1566,5452)
-(1568,5443)
-(1568,5440)
-(1572,5436)
-(1572,5434)
-(1571,5429)
-(1572,5425)
-(1570,5423)
-(1571,5420)
-(1570,5418)
-(1568,5418)
-(1566,5416)
-(1563,5408)
-(1562,5402)
-(1559,5399)
-(1557,5399)
-(1555,5399)
-(1553,5397)
-(1550,5397)
-(1548,5395)
-(1547,5393)
-(1546,5392)
-(1541,5385)
-(1536,5386)
-(1534,5388)
-(1531,5387)
-(1531,5386)
-(1530,5383)
-(1528,5381)
-(1520,5383)
-(1519,5381)
-(1518,5382)
-(1515,5381)
-(1514,5382)
-(1515,5383)
-(1513,5384)
-(1508,5382)
-(1509,5381)
-(1507,5379)
-(1504,5380)
-(1502,5380)
-(1499,5384)
-(1498,5381)
-(1496,5380)
-(1491,5382)
-(1489,5387)
-(1489,5384)
-(1487,5384)
-(1486,5386)
-(1486,5388)
-(1485,5389)
-(1480,5389)
-(1475,5387)
-(1474,5388)
-(1471,5387)
-(1471,5388)
-(1469,5389)
-(1466,5388)
-(1464,5389)
-(1462,5391)
-(1453,5392)
-(1452,5391)
-(1454,5391)
-(1456,5390)
-(1454,5388)
-(1455,5388)
-(1460,5390)
-(1462,5388)
-(1457,5386)
-(1454,5387)
-(1453,5389)
-(1451,5389)
-(1452,5388)
-(1451,5387)
-(1449,5388)
-(1446,5386)
-(1442,5386)
-(1442,5383)
-(1440,5381)
-58
-(1440,5380)
-(1443,5380)
-(1447,5383)
-(1451,5385)
-(1467,5383)
-(1475,5383)
-(1478,5381)
-(1485,5381)
-(1487,5379)
-(1489,5379)
-(1492,5376)
-(1494,5377)
-(1494,5376)
-(1499,5374)
-(1507,5377)
-(1516,5379)
-(1518,5379)
-(1515,5376)
-(1517,5377)
-(1519,5378)
-(1528,5379)
-(1530,5381)
-(1531,5380)
-(1531,5383)
-(1533,5385)
-(1537,5383)
-(1543,5382)
-(1544,5385)
-(1550,5385)
-(1552,5388)
-(1554,5389)
-(1557,5396)
-(1558,5396)
-(1558,5394)
-(1558,5394)
-(1560,5399)
-(1563,5400)
-(1565,5402)
-(1565,5403)
-(1565,5405)
-(1567,5407)
-(1566,5411)
-(1569,5414)
-(1571,5415)
-(1570,5417)
-(1572,5418)
-(1572,5421)
-(1573,5425)
-(1572,5429)
-(1573,5431)
-(1574,5435)
-(1571,5442)
-(1572,5438)
-(1570,5440)
-(1570,5445)
-(1569,5446)
-(1569,5445)
-(1567,5448)
-330
-(1857,4792)
-(1849,4789)
-(1846,4790)
-(1843,4790)
-(1842,4793)
-(1840,4790)
-(1838,4789)
-(1836,4788)
-(1830,4783)
-(1830,4780)
-(1830,4778)
-(1833,4776)
-(1834,4773)
-(1830,4768)
-(1828,4766)
-(1825,4764)
-(1824,4759)
-(1818,4757)
-(1817,4754)
-(1817,4750)
-(1818,4749)
-(1819,4742)
-(1817,4736)
-(1815,4734)
-(1815,4729)
-(1814,4728)
-(1814,4721)
-(1812,4718)
-(1809,4716)
-(1806,4715)
-(1804,4715)
-(1804,4715)
-(1804,4709)
-(1805,4706)
-(1808,4705)
-(1808,4699)
-(1806,4697)
-(1804,4697)
-(1803,4695)
-(1795,4689)
-(1792,4689)
-(1786,4692)
-(1782,4692)
-(1778,4685)
-(1778,4682)
-(1774,4679)
-(1771,4680)
-(1766,4683)
-(1762,4683)
-(1761,4685)
-(1759,4685)
-(1754,4687)
-(1751,4687)
-(1748,4685)
-(1744,4684)
-(1742,4685)
-(1739,4684)
-(1734,4687)
-(1729,4686)
-(1728,4688)
-(1724,4688)
-(1721,4691)
-(1718,4690)
-(1715,4691)
-(1708,4697)
-(1702,4696)
-(1698,4697)
-(1695,4700)
-(1694,4703)
-(1691,4704)
-(1689,4707)
-(1685,4708)
-(1682,4715)
-(1679,4717)
-(1674,4734)
-(1673,4736)
-(1670,4737)
-(1669,4738)
-(1669,4743)
-(1669,4744)
-(1669,4748)
-(1668,4750)
-(1661,4752)
-(1658,4760)
-(1658,4765)
-(1655,4768)
-(1653,4771)
-(1652,4773)
-(1648,4774)
-(1646,4777)
-(1640,4778)
-(1634,4782)
-(1629,4789)
-(1628,4792)
-(1629,4795)
-(1627,4797)
-(1625,4797)
-(1621,4801)
-(1618,4801)
-(1612,4807)
-(1605,4808)
-(1602,4811)
-(1601,4815)
-(1595,4817)
-(1592,4818)
-(1592,4820)
-(1589,4821)
-(1586,4824)
-(1582,4831)
-(1574,4833)
-(1573,4836)
-(1570,4836)
-(1569,4838)
-(1566,4841)
-(1566,4845)
-(1564,4848)
-(1562,4848)
-(1563,4851)
-(1565,4857)
-(1563,4862)
-(1560,4864)
-(1558,4866)
-(1558,4870)
-(1557,4872)
-(1552,4873)
-(1551,4878)
-(1547,4882)
-(1546,4884)
-(1545,4884)
-(1542,4882)
-(1540,4884)
-(1539,4886)
-(1538,4888)
-(1538,4891)
-(1535,4892)
-(1536,4898)
-(1532,4899)
-(1529,4903)
-(1529,4905)
-(1528,4907)
-(1530,4912)
-(1530,4915)
-(1529,4915)
-(1527,4914)
-(1525,4914)
-(1521,4916)
-(1520,4917)
-(1519,4924)
-(1516,4926)
-(1517,4927)
-(1519,4929)
-(1518,4932)
-(1517,4933)
-(1513,4932)
-(1511,4932)
-(1512,4937)
-(1513,4934)
-(1514,4935)
-(1516,4935)
-(1516,4937)
-(1516,4939)
-(1513,4940)
-(1513,4941)
-(1515,4942)
-(1515,4944)
-(1513,4947)
-(1510,4949)
-(1509,4952)
-(1509,4955)
-(1510,4956)
-(1512,4954)
-(1513,4954)
-(1513,4958)
-(1509,4964)
-(1507,4969)
-(1507,4972)
-(1512,4975)
-(1512,4980)
-(1515,4982)
-(1517,4980)
-(1519,4981)
-(1520,4984)
-(1520,4990)
-(1524,4991)
-(1527,4987)
-(1532,4991)
-(1531,4994)
-(1528,4999)
-(1529,5004)
-(1524,5010)
-(1524,5012)
-(1524,5013)
-(1525,5013)
-(1529,5010)
-(1531,5010)
-(1532,5013)
-(1536,5018)
-(1536,5023)
-(1531,5026)
-(1532,5035)
-(1534,5036)
-(1534,5038)
-(1537,5041)
-(1540,5043)
-(1542,5046)
-(1544,5048)
-(1544,5052)
-(1541,5053)
-(1540,5054)
-(1545,5059)
-(1545,5063)
-(1541,5070)
-(1542,5073)
-(1542,5076)
-(1542,5079)
-(1545,5085)
-(1542,5091)
-(1544,5098)
-(1544,5102)
-(1542,5106)
-(1538,5108)
-(1537,5113)
-(1539,5118)
-(1538,5120)
-(1536,5122)
-(1535,5124)
-(1537,5129)
-(1532,5134)
-(1531,5139)
-(1530,5142)
-(1531,5148)
-(1530,5151)
-(1521,5162)
-(1521,5167)
-(1521,5169)
-(1515,5173)
-(1519,5184)
-(1523,5188)
-(1524,5189)
-(1523,5193)
-(1521,5195)
-(1520,5197)
-(1516,5197)
-(1515,5199)
-(1515,5203)
-(1516,5206)
-(1520,5211)
-(1521,5212)
-(1519,5217)
-(1516,5219)
-(1515,5227)
-(1514,5230)
-(1514,5232)
-(1515,5234)
-(1519,5235)
-(1522,5237)
-(1524,5240)
-(1524,5246)
-(1521,5250)
-(1520,5256)
-(1513,5266)
-(1509,5267)
-(1506,5267)
-(1503,5271)
-(1501,5272)
-(1495,5274)
-(1491,5274)
-(1484,5277)
-(1479,5281)
-(1477,5283)
-(1473,5285)
-(1472,5290)
-(1469,5296)
-(1467,5296)
-(1467,5293)
-(1466,5296)
-(1464,5298)
-(1463,5304)
-(1461,5306)
-(1458,5306)
-(1456,5308)
-(1457,5315)
-(1459,5318)
-(1459,5320)
-(1457,5322)
-(1455,5324)
-(1451,5324)
-(1447,5323)
-(1445,5323)
-(1444,5326)
-(1445,5332)
-(1447,5337)
-(1446,5339)
-(1445,5340)
-(1443,5341)
-(1439,5341)
-(1438,5344)
-(1435,5346)
-(1437,5347)
-(1435,5353)
-(1439,5349)
-(1442,5343)
-(1448,5341)
-(1447,5341)
-(1449,5339)
-(1449,5340)
-(1449,5338)
-(1448,5335)
-(1450,5330)
-(1451,5327)
-(1452,5325)
-(1455,5325)
-(1458,5323)
-(1461,5319)
-(1462,5308)
-(1464,5302)
-(1465,5301)
-(1464,5299)
-(1465,5298)
-(1471,5295)
-(1473,5290)
-(1478,5289)
-(1479,5287)
-(1479,5282)
-(1483,5282)
-(1489,5276)
-(1496,5276)
-(1498,5274)
-(1500,5274)
-(1504,5271)
-652
-(1888,4903)
-(1887,4899)
-(1885,4897)
-(1883,4893)
-(1883,4890)
-(1888,4880)
-(1893,4877)
-(1896,4873)
-(1904,4870)
-(1911,4872)
-(1915,4877)
-(1917,4882)
-(1919,4883)
-(1921,4882)
-(1922,4878)
-(1924,4876)
-(1930,4877)
-(1932,4875)
-(1937,4874)
-(1942,4870)
-(1943,4867)
-(1944,4864)
-(1946,4859)
-(1947,4854)
-(1951,4846)
-(1952,4840)
-(1952,4835)
-(1953,4829)
-(1952,4816)
-(1952,4812)
-(1951,4809)
-(1948,4801)
-(1948,4792)
-(1946,4785)
-(1947,4784)
-(1954,4778)
-(1963,4767)
-(1970,4762)
-(1972,4759)
-(1975,4759)
-(1978,4755)
-(1979,4751)
-(1988,4743)
-(1989,4740)
-(1993,4736)
-(1989,4729)
-(1989,4725)
-(1992,4716)
-(1995,4712)
-(1997,4704)
-(2001,4702)
-(2002,4697)
-(2008,4689)
-(2013,4689)
-(2014,4685)
-(2017,4685)
-(2019,4681)
-(2023,4678)
-(2027,4672)
-(2032,4667)
-(2033,4665)
-(2040,4661)
-(2046,4655)
-(2048,4650)
-(2048,4645)
-(2049,4641)
-(2051,4640)
-(2052,4638)
-(2051,4636)
-(2052,4633)
-(2053,4630)
-(2054,4630)
-(2054,4627)
-(2056,4622)
-(2057,4622)
-(2058,4619)
-(2058,4615)
-(2059,4611)
-(2063,4606)
-(2065,4605)
-(2066,4601)
-(2073,4596)
-(2074,4592)
-(2077,4587)
-(2080,4579)
-(2087,4572)
-(2091,4571)
-(2097,4574)
-(2098,4570)
-(2101,4567)
-(2102,4565)
-(2105,4562)
-(2106,4559)
-(2110,4555)
-(2114,4555)
-(2115,4553)
-(2119,4552)
-(2120,4551)
-(2120,4547)
-(2118,4544)
-(2119,4541)
-(2118,4540)
-(2120,4535)
-(2124,4530)
-(2127,4527)
-(2129,4522)
-(2134,4520)
-(2135,4519)
-(2136,4505)
-(2138,4503)
-(2139,4497)
-(2142,4494)
-(2143,4490)
-(2143,4484)
-(2146,4485)
-(2147,4483)
-(2150,4484)
-(2151,4483)
-(2150,4479)
-(2148,4477)
-(2146,4479)
-(2144,4477)
-(2142,4479)
-(2140,4477)
-(2135,4478)
-(2130,4477)
-(2129,4474)
-(2128,4470)
-(2125,4464)
-(2125,4458)
-(2126,4456)
-(2124,4451)
-(2126,4446)
-(2126,4443)
-(2129,4436)
-(2130,4430)
-(2131,4427)
-(2133,4417)
-(2132,4413)
-(2131,4399)
-(2126,4392)
-(2119,4391)
-(2117,4392)
-(2115,4393)
-(2112,4387)
-(2109,4385)
-(2106,4380)
-(2102,4377)
-(2102,4373)
-(2099,4374)
-(2094,4372)
-(2092,4376)
-(2090,4380)
-(2088,4377)
-(2086,4375)
-(2086,4371)
-(2085,4370)
-(2083,4368)
-(2080,4369)
-(2077,4367)
-(2074,4369)
-(2071,4366)
-(2070,4371)
-(2066,4368)
-(2061,4369)
-(2059,4372)
-(2056,4369)
-(2053,4370)
-(2051,4369)
-(2046,4365)
-(2043,4359)
-(2041,4358)
-(2041,4346)
-(2038,4341)
-(2036,4335)
-(2035,4334)
-(2026,4334)
-(2026,4329)
-(2027,4325)
-(2026,4324)
-(2025,4322)
-(2021,4320)
-(2020,4319)
-(2015,4318)
-(2014,4317)
-(2012,4317)
-(2009,4314)
-(2005,4312)
-(2004,4311)
-(2003,4306)
-(2001,4303)
-(1999,4303)
-(1996,4302)
-(1993,4305)
-(1990,4305)
-(1987,4302)
-(1981,4303)
-(1979,4301)
-(1977,4294)
-(1974,4291)
-(1974,4289)
-(1973,4287)
-(1969,4288)
-(1966,4285)
-(1963,4286)
-(1960,4282)
-(1957,4280)
-(1949,4282)
-(1941,4281)
-(1928,4274)
-(1926,4269)
-(1922,4269)
-(1920,4268)
-(1918,4264)
-(1915,4263)
-(1910,4262)
-(1898,4253)
-(1891,4251)
-(1887,4249)
-(1883,4250)
-(1880,4248)
-(1874,4247)
-(1867,4251)
-(1861,4252)
-(1853,4251)
-(1849,4248)
-(1843,4246)
-(1836,4251)
-(1834,4251)
-(1824,4251)
-(1823,4249)
-(1818,4247)
-(1816,4248)
-(1815,4250)
-(1813,4249)
-(1812,4251)
-(1810,4252)
-(1808,4251)
-(1810,4250)
-(1809,4249)
-(1805,4252)
-(1804,4252)
-(1800,4250)
-(1797,4252)
-(1795,4252)
-(1790,4251)
-(1787,4246)
-(1783,4244)
-(1781,4241)
-(1777,4241)
-(1778,4240)
-(1776,4238)
-(1773,4238)
-(1774,4240)
-(1774,4240)
-(1772,4240)
-(1770,4242)
-(1766,4242)
-(1763,4244)
-(1761,4242)
-(1757,4242)
-(1752,4239)
-(1748,4241)
-(1742,4240)
-(1742,4242)
-(1741,4241)
-(1741,4237)
-(1740,4234)
-(1734,4229)
-(1734,4222)
-(1728,4219)
-(1723,4209)
-(1720,4206)
-(1719,4203)
-(1717,4204)
-(1715,4203)
-(1714,4195)
-(1712,4194)
-(1711,4191)
-(1709,4186)
-(1701,4182)
-(1695,4176)
-(1692,4171)
-(1693,4165)
-(1691,4165)
-(1688,4163)
-(1690,4158)
-(1688,4157)
-(1687,4155)
-(1686,4151)
-(1683,4150)
-(1682,4149)
-(1683,4144)
-(1681,4143)
-(1679,4143)
-(1677,4141)
-(1678,4136)
-(1675,4138)
-(1672,4138)
-(1669,4132)
-(1667,4133)
-(1666,4137)
-(1663,4137)
-(1659,4127)
-(1660,4125)
-(1663,4124)
-(1666,4123)
-(1666,4121)
-(1666,4120)
-(1661,4118)
-(1662,4115)
-(1661,4114)
-(1660,4112)
-(1660,4111)
-(1661,4107)
-(1657,4106)
-(1657,4102)
-(1655,4100)
-(1654,4098)
-(1652,4098)
-(1649,4101)
-(1646,4098)
-(1644,4099)
-(1643,4101)
-(1643,4101)
-(1641,4098)
-(1641,4093)
-(1637,4093)
-(1638,4091)
-(1638,4090)
-(1636,4090)
-(1635,4093)
-(1634,4093)
-(1632,4090)
-(1631,4086)
-(1628,4088)
-(1625,4087)
-(1624,4086)
-(1621,4084)
-(1621,4082)
-(1617,4078)
-(1617,4075)
-(1615,4076)
-(1610,4074)
-(1608,4075)
-(1600,4072)
-(1596,4074)
-(1595,4076)
-(1590,4075)
-(1588,4076)
-(1585,4073)
-(1582,4074)
-(1580,4076)
-(1576,4076)
-(1575,4080)
-(1573,4082)
-(1572,4082)
-(1569,4088)
-(1567,4088)
-(1565,4088)
-(1559,4094)
-(1556,4095)
-(1551,4101)
-(1550,4104)
-(1549,4104)
-(1543,4100)
-(1542,4103)
-(1541,4106)
-(1539,4106)
-(1537,4103)
-(1532,4104)
-(1530,4100)
-(1529,4100)
-(1526,4100)
-(1523,4099)
-(1521,4101)
-(1518,4101)
-(1513,4098)
-(1510,4102)
-(1508,4102)
-(1507,4102)
-(1508,4098)
-(1503,4096)
-(1499,4097)
-(1498,4093)
-(1499,4091)
-(1496,4088)
-(1492,4089)
-(1492,4083)
-(1487,4083)
-(1479,4078)
-(1475,4081)
-(1471,4078)
-(1468,4079)
-(1466,4078)
-(1465,4077)
-(1466,4075)
-(1465,4071)
-(1463,4072)
-(1460,4072)
-(1460,4067)
-(1455,4070)
-(1456,4066)
-(1455,4065)
-(1451,4064)
-(1449,4063)
-(1450,4060)
-(1447,4059)
-(1445,4059)
-(1445,4061)
-(1443,4064)
-(1445,4065)
-(1444,4075)
-(1441,4078)
-(1440,4082)
-(1436,4081)
-(1440,4081)
-(1441,4080)
-(1437,4073)
-(1434,4072)
-(1435,4071)
-(1437,4072)
-(1439,4074)
-(1439,4072)
-(1439,4068)
-(1441,4065)
-(1441,4064)
-(1439,4064)
-(1438,4065)
-(1435,4059)
-(1436,4059)
-(1436,4060)
-(1438,4064)
-(1439,4063)
-(1442,4064)
-(1445,4060)
-(1444,4057)
-(1444,4052)
-(1445,4058)
-(1447,4058)
-(1450,4059)
-(1451,4061)
-(1450,4062)
-(1451,4063)
-(1453,4064)
-(1456,4065)
-(1456,4069)
-(1461,4066)
-(1461,4067)
-(1461,4071)
-(1466,4070)
-(1467,4074)
-(1466,4077)
-(1468,4078)
-(1471,4077)
-(1475,4081)
-(1479,4078)
-(1488,4083)
-(1492,4083)
-(1493,4084)
-(1492,4088)
-(1495,4087)
-(1497,4087)
-(1500,4092)
-(1499,4093)
-(1500,4096)
-(1508,4097)
-(1509,4098)
-(1508,4101)
-(1510,4101)
-(1513,4097)
-(1518,4100)
-(1521,4100)
-(1523,4099)
-(1530,4099)
-(1533,4103)
-(1537,4102)
-(1538,4103)
-(1539,4105)
-(1541,4104)
-(1542,4101)
-(1544,4099)
-(1549,4103)
-(1550,4100)
-(1555,4094)
-(1558,4093)
-(1565,4087)
-(1569,4087)
-(1571,4082)
-(1573,4081)
-(1576,4075)
-(1580,4075)
-(1582,4073)
-(1585,4073)
-(1588,4075)
-(1593,4075)
-(1600,4072)
-(1608,4074)
-(1610,4073)
-(1613,4075)
-(1618,4074)
-(1619,4075)
-(1618,4077)
-(1618,4078)
-(1622,4081)
-(1622,4084)
-(1625,4085)
-(1626,4086)
-(1627,4087)
-(1629,4085)
-(1632,4085)
-(1632,4088)
-(1634,4092)
-(1635,4090)
-(1638,4089)
-(1641,4090)
-(1643,4099)
-(1646,4097)
-(1647,4097)
-(1649,4100)
-(1652,4097)
-(1654,4098)
-(1655,4099)
-(1655,4100)
-(1658,4102)
-(1657,4105)
-(1661,4107)
-(1661,4111)
-(1661,4113)
-(1663,4116)
-(1662,4118)
-(1665,4118)
-(1667,4120)
-(1667,4123)
-(1663,4125)
-(1661,4129)
-(1663,4136)
-(1665,4136)
-(1666,4133)
-(1669,4131)
-(1673,4137)
-(1675,4137)
-(1677,4135)
-(1679,4135)
-(1678,4139)
-(1679,4142)
-(1684,4141)
-(1683,4148)
-(1684,4149)
-(1687,4150)
-(1688,4155)
-(1690,4157)
-(1690,4160)
-(1689,4162)
-(1690,4164)
-(1692,4165)
-(1693,4164)
-(1694,4165)
-(1694,4167)
-(1693,4169)
-(1694,4170)
-(1696,4171)
-(1696,4175)
-(1698,4177)
-(1700,4177)
-(1703,4178)
-(1705,4182)
-(1709,4185)
-(1712,4188)
-(1713,4193)
-(1715,4195)
-(1716,4202)
-(1717,4203)
-(1720,4202)
-(1721,4205)
-(1723,4207)
-(1728,4218)
-(1731,4220)
-(1735,4221)
-(1735,4223)
-(1735,4229)
-(1742,4234)
-(1743,4239)
-(1748,4240)
-(1755,4237)
-(1757,4238)
-(1754,4238)
-(1756,4240)
-(1762,4241)
-(1760,4239)
-(1760,4238)
-(1762,4239)
-(1764,4242)
-(1766,4240)
-(1770,4241)
-(1771,4239)
-(1775,4237)
-(1781,4240)
-(1782,4242)
-(1787,4244)
-(1790,4249)
-(1791,4249)
-(1796,4248)
-(1801,4249)
-(1804,4246)
-(1807,4248)
-(1811,4248)
-(1817,4245)
-(1820,4245)
-(1821,4244)
-(1826,4244)
-(1830,4247)
-(1826,4247)
-(1824,4246)
-(1822,4247)
-(1826,4249)
-(1831,4250)
-(1834,4248)
-(1840,4246)
-(1833,4245)
-(1841,4244)
-(1845,4242)
-(1849,4244)
-(1851,4247)
-(1853,4248)
-(1859,4249)
-(1867,4246)
-(1870,4246)
-(1873,4244)
-(1877,4244)
-(1880,4243)
-(1890,4247)
-(1892,4249)
-(1894,4250)
-(1896,4251)
-(1898,4252)
-(1903,4252)
-(1904,4254)
-(1911,4256)
-(1914,4256)
-(1919,4262)
-(1922,4263)
-(1934,4273)
-(1939,4275)
-(1945,4279)
-(1950,4280)
-(1958,4278)
-(1961,4279)
-(1965,4284)
-(1969,4283)
-(1973,4286)
-(1977,4293)
-31
-(2152,4365)
-(2160,4362)
-(2164,4364)
-(2171,4368)
-(2171,4376)
-(2172,4377)
-(2172,4382)
-(2170,4385)
-(2171,4390)
-(2175,4401)
-(2174,4408)
-(2174,4411)
-(2176,4413)
-(2176,4417)
-(2176,4421)
-(2171,4427)
-(2171,4429)
-(2167,4434)
-(2166,4441)
-(2164,4446)
-(2163,4449)
-(2160,4452)
-(2157,4453)
-(2156,4457)
-(2156,4462)
-(2154,4465)
-(2154,4468)
-(2152,4472)
-(2150,4475)
-(2147,4476)
-(2145,4478)
-27
-(2211,4454)
-(2211,4456)
-(2210,4462)
-(2211,4469)
-(2211,4471)
-(2209,4481)
-(2201,4492)
-(2198,4493)
-(2196,4491)
-(2195,4489)
-(2192,4491)
-(2192,4494)
-(2188,4496)
-(2185,4494)
-(2180,4494)
-(2179,4492)
-(2178,4478)
-(2176,4475)
-(2175,4471)
-(2175,4466)
-(2176,4462)
-(2175,4459)
-(2171,4458)
-(2164,4458)
-(2160,4460)
-(2158,4463)
-(2155,4463)
-279
-(2246,4427)
-(2246,4417)
-(2248,4411)
-(2249,4407)
-(2247,4402)
-(2248,4398)
-(2244,4392)
-(2244,4389)
-(2239,4384)
-(2238,4379)
-(2235,4373)
-(2234,4368)
-(2221,4360)
-(2221,4356)
-(2220,4348)
-(2220,4345)
-(2219,4338)
-(2216,4333)
-(2202,4311)
-(2200,4302)
-(2202,4297)
-(2204,4295)
-(2207,4293)
-(2211,4292)
-(2217,4287)
-(2219,4288)
-(2225,4286)
-(2232,4287)
-(2237,4289)
-(2242,4290)
-(2245,4289)
-(2248,4291)
-(2253,4290)
-(2263,4292)
-(2266,4292)
-(2269,4295)
-(2274,4296)
-(2277,4293)
-(2277,4291)
-(2273,4280)
-(2275,4278)
-(2275,4275)
-(2279,4276)
-(2290,4282)
-(2295,4282)
-(2298,4279)
-(2299,4272)
-(2303,4269)
-(2305,4265)
-(2304,4263)
-(2307,4261)
-(2308,4258)
-(2308,4256)
-(2307,4257)
-(2306,4256)
-(2307,4253)
-(2306,4250)
-(2307,4246)
-(2305,4244)
-(2305,4240)
-(2304,4240)
-(2303,4241)
-(2301,4236)
-(2297,4235)
-(2295,4233)
-(2287,4228)
-(2286,4225)
-(2283,4221)
-(2281,4221)
-(2278,4215)
-(2276,4215)
-(2275,4212)
-(2276,4210)
-(2276,4210)
-(2272,4210)
-(2269,4215)
-(2262,4217)
-(2259,4215)
-(2257,4215)
-(2257,4213)
-(2254,4212)
-(2254,4210)
-(2252,4209)
-(2253,4201)
-(2254,4199)
-(2254,4198)
-(2256,4196)
-(2257,4194)
-(2255,4188)
-(2256,4184)
-(2254,4179)
-(2255,4172)
-(2252,4169)
-(2247,4163)
-(2245,4163)
-(2241,4163)
-(2238,4165)
-(2234,4165)
-(2233,4167)
-(2230,4164)
-(2226,4156)
-(2226,4154)
-(2230,4148)
-(2232,4146)
-(2235,4142)
-(2238,4140)
-(2240,4134)
-(2239,4133)
-(2237,4135)
-(2237,4135)
-(2237,4133)
-(2239,4132)
-(2240,4130)
-(2239,4128)
-(2235,4129)
-(2235,4128)
-(2237,4126)
-(2236,4122)
-(2236,4120)
-(2235,4120)
-(2234,4118)
-(2232,4118)
-(2231,4113)
-(2230,4111)
-(2229,4105)
-(2226,4104)
-(2226,4098)
-(2225,4097)
-(2221,4096)
-(2221,4090)
-(2215,4082)
-(2216,4081)
-(2219,4079)
-(2221,4075)
-(2224,4073)
-(2226,4067)
-(2232,4067)
-(2233,4065)
-(2234,4061)
-(2235,4057)
-(2235,4056)
-(2233,4054)
-(2233,4053)
-(2236,4052)
-(2237,4050)
-(2233,4044)
-(2233,4039)
-(2231,4036)
-(2231,4034)
-(2234,4033)
-(2236,4031)
-(2237,4027)
-(2241,4026)
-(2243,4020)
-(2242,4006)
-(2240,4000)
-(2242,3997)
-(2242,3991)
-(2239,3987)
-(2241,3985)
-(2239,3977)
-(2242,3973)
-(2242,3970)
-(2246,3965)
-(2250,3951)
-(2254,3948)
-(2256,3943)
-(2256,3938)
-(2260,3933)
-(2260,3930)
-(2262,3925)
-(2263,3917)
-(2278,3908)
-(2282,3901)
-(2285,3898)
-(2287,3895)
-(2288,3887)
-(2290,3884)
-(2293,3875)
-(2295,3872)
-(2296,3868)
-(2299,3862)
-(2307,3857)
-(2311,3849)
-(2321,3845)
-(2323,3841)
-(2325,3839)
-(2330,3838)
-(2336,3834)
-(2340,3825)
-(2346,3820)
-(2348,3813)
-(2353,3808)
-(2355,3803)
-(2359,3795)
-(2359,3784)
-(2361,3781)
-(2364,3779)
-(2373,3780)
-(2375,3775)
-(2379,3773)
-(2380,3766)
-(2385,3762)
-(2386,3758)
-(2389,3756)
-(2392,3753)
-(2396,3752)
-(2401,3747)
-(2406,3745)
-(2411,3746)
-(2414,3744)
-(2419,3744)
-(2422,3741)
-(2425,3741)
-(2428,3736)
-(2429,3732)
-(2435,3727)
-(2439,3726)
-(2443,3723)
-(2450,3720)
-(2460,3718)
-(2467,3713)
-(2473,3703)
-(2476,3696)
-(2478,3686)
-(2478,3684)
-(2476,3684)
-(2474,3683)
-(2474,3682)
-(2476,3678)
-(2480,3675)
-(2482,3672)
-(2484,3666)
-(2487,3662)
-(2489,3658)
-(2498,3644)
-(2501,3641)
-(2505,3639)
-(2506,3634)
-(2507,3633)
-(2512,3628)
-(2518,3627)
-(2519,3621)
-(2520,3618)
-(2523,3616)
-(2527,3616)
-(2533,3608)
-(2539,3596)
-(2539,3585)
-(2541,3581)
-(2542,3577)
-(2547,3573)
-(2551,3566)
-(2554,3565)
-(2554,3561)
-(2555,3560)
-(2556,3557)
-(2560,3560)
-(2563,3560)
-(2565,3558)
-(2566,3553)
-(2567,3552)
-(2573,3554)
-(2580,3547)
-(2584,3550)
-(2585,3550)
-(2592,3548)
-(2596,3545)
-(2599,3548)
-(2609,3542)
-(2611,3544)
-(2613,3543)
-(2612,3549)
-(2613,3551)
-(2616,3556)
-(2618,3556)
-(2622,3555)
-(2625,3556)
-(2628,3553)
-456
-(2397,2467)
-(2397,2463)
-(2395,2452)
-(2396,2446)
-(2395,2441)
-(2396,2437)
-(2397,2430)
-(2396,2424)
-(2396,2416)
-(2394,2411)
-(2393,2409)
-(2391,2408)
-(2387,2413)
-(2383,2415)
-(2379,2411)
-(2376,2412)
-(2374,2407)
-(2374,2401)
-(2375,2394)
-(2379,2385)
-(2379,2381)
-(2381,2375)
-(2382,2371)
-(2382,2364)
-(2378,2360)
-(2377,2358)
-(2376,2352)
-(2377,2343)
-(2375,2340)
-(2375,2332)
-(2373,2329)
-(2373,2326)
-(2369,2323)
-(2370,2318)
-(2369,2314)
-(2367,2311)
-(2367,2307)
-(2365,2304)
-(2364,2302)
-(2362,2302)
-(2362,2301)
-(2362,2302)
-(2360,2304)
-(2357,2309)
-(2355,2310)
-(2354,2314)
-(2350,2317)
-(2350,2323)
-(2347,2323)
-(2346,2324)
-(2342,2325)
-(2339,2328)
-(2334,2324)
-(2332,2327)
-(2330,2325)
-(2329,2326)
-(2326,2320)
-(2327,2318)
-(2325,2318)
-(2325,2309)
-(2322,2308)
-(2319,2303)
-(2316,2301)
-(2311,2303)
-(2311,2306)
-(2308,2308)
-(2308,2314)
-(2307,2315)
-(2305,2323)
-(2306,2329)
-(2302,2333)
-(2301,2336)
-(2299,2338)
-(2300,2347)
-(2298,2349)
-(2291,2347)
-(2291,2349)
-(2291,2351)
-(2292,2352)
-(2291,2354)
-(2290,2355)
-(2289,2355)
-(2286,2354)
-(2284,2354)
-(2281,2350)
-(2280,2344)
-(2276,2343)
-(2274,2339)
-(2272,2340)
-(2271,2339)
-(2269,2339)
-(2269,2335)
-(2268,2334)
-(2267,2334)
-(2268,2337)
-(2266,2338)
-(2265,2334)
-(2262,2335)
-(2262,2332)
-(2261,2331)
-(2262,2328)
-(2261,2328)
-(2259,2332)
-(2258,2324)
-(2257,2319)
-(2250,2310)
-(2248,2297)
-(2247,2296)
-(2247,2292)
-(2245,2291)
-(2247,2285)
-(2246,2284)
-(2247,2282)
-(2246,2279)
-(2241,2273)
-(2240,2272)
-(2239,2273)
-(2238,2271)
-(2236,2271)
-(2233,2273)
-(2233,2270)
-(2228,2273)
-(2224,2272)
-(2222,2275)
-(2223,2278)
-(2220,2278)
-(2217,2280)
-(2214,2281)
-(2213,2282)
-(2211,2281)
-(2204,2283)
-(2204,2284)
-(2203,2284)
-(2200,2286)
-(2199,2293)
-(2192,2298)
-(2190,2295)
-(2188,2296)
-(2186,2292)
-(2183,2291)
-(2176,2291)
-(2175,2289)
-(2173,2288)
-(2171,2286)
-(2168,2285)
-(2165,2286)
-(2165,2283)
-(2164,2285)
-(2161,2286)
-(2161,2288)
-(2157,2291)
-(2156,2293)
-(2157,2294)
-(2157,2296)
-(2155,2298)
-(2154,2301)
-(2153,2302)
-(2152,2311)
-(2151,2312)
-(2151,2315)
-(2152,2317)
-(2151,2320)
-(2151,2325)
-(2153,2325)
-(2154,2324)
-(2155,2326)
-(2155,2328)
-(2156,2329)
-(2155,2332)
-(2156,2336)
-(2156,2342)
-(2155,2343)
-(2155,2345)
-(2153,2345)
-(2153,2349)
-(2151,2352)
-(2152,2354)
-(2149,2357)
-(2149,2360)
-(2150,2361)
-(2151,2364)
-(2149,2364)
-(2148,2364)
-(2148,2370)
-(2147,2373)
-(2147,2375)
-(2147,2376)
-(2146,2375)
-(2145,2376)
-(2147,2378)
-(2146,2381)
-(2143,2384)
-(2145,2386)
-(2144,2388)
-(2140,2390)
-(2138,2389)
-(2135,2392)
-(2135,2393)
-(2134,2392)
-(2133,2394)
-(2132,2395)
-(2132,2397)
-(2129,2401)
-(2129,2403)
-(2128,2402)
-(2127,2404)
-(2125,2404)
-(2124,2406)
-(2122,2406)
-(2121,2408)
-(2119,2411)
-(2118,2414)
-(2117,2414)
-(2118,2416)
-(2116,2416)
-(2116,2418)
-(2116,2420)
-(2114,2420)
-(2112,2425)
-(2110,2424)
-(2108,2426)
-(2104,2426)
-(2104,2428)
-(2102,2426)
-(2102,2428)
-(2099,2429)
-(2099,2432)
-(2097,2434)
-(2092,2435)
-(2093,2437)
-(2090,2437)
-(2088,2438)
-(2086,2443)
-(2084,2445)
-(2082,2446)
-(2083,2448)
-(2081,2449)
-(2079,2448)
-(2079,2450)
-(2078,2450)
-(2079,2451)
-(2079,2453)
-(2077,2453)
-(2077,2456)
-(2074,2455)
-(2071,2456)
-(2071,2455)
-(2070,2455)
-(2066,2456)
-(2066,2458)
-(2065,2459)
-(2066,2460)
-(2061,2467)
-(2063,2472)
-(2064,2473)
-(2065,2471)
-(2067,2474)
-(2065,2476)
-(2065,2477)
-(2067,2477)
-(2067,2478)
-(2066,2482)
-(2066,2483)
-(2065,2485)
-(2066,2486)
-(2067,2484)
-(2068,2485)
-(2068,2486)
-(2065,2488)
-(2066,2490)
-(2065,2492)
-(2066,2495)
-(2068,2495)
-(2067,2502)
-(2069,2506)
-(2071,2507)
-(2068,2510)
-(2069,2513)
-(2068,2515)
-(2068,2519)
-(2066,2519)
-(2062,2522)
-(2059,2528)
-(2057,2528)
-(2057,2530)
-(2059,2534)
-(2059,2535)
-(2056,2535)
-(2056,2536)
-(2056,2537)
-(2060,2538)
-(2061,2540)
-(2059,2543)
-(2056,2542)
-(2055,2538)
-(2052,2541)
-(2051,2543)
-(2045,2542)
-(2044,2544)
-(2041,2546)
-(2041,2547)
-(2042,2549)
-(2041,2551)
-(2038,2554)
-(2034,2553)
-(2034,2551)
-(2031,2552)
-(2031,2555)
-(2031,2556)
-(2034,2558)
-(2033,2561)
-(2031,2566)
-(2030,2566)
-(2028,2563)
-(2024,2565)
-(2023,2563)
-(2022,2567)
-(2019,2568)
-(2018,2571)
-(2012,2576)
-(2012,2582)
-(2009,2584)
-(2011,2585)
-(2012,2589)
-(2008,2595)
-(2007,2595)
-(2007,2599)
-(2008,2601)
-(2007,2603)
-(2007,2606)
-(2005,2607)
-(2005,2609)
-(2004,2609)
-(2004,2612)
-(2005,2613)
-(2004,2614)
-(2003,2616)
-(2002,2617)
-(2003,2619)
-(2000,2624)
-(2001,2625)
-(1998,2626)
-(1998,2628)
-(1995,2628)
-(1996,2629)
-(1995,2631)
-(1993,2630)
-(1991,2632)
-(1991,2634)
-(1992,2633)
-(1992,2635)
-(1989,2637)
-(1990,2639)
-(1989,2641)
-(1988,2644)
-(1988,2642)
-(1986,2644)
-(1985,2647)
-(1985,2646)
-(1982,2648)
-(1982,2650)
-(1980,2651)
-(1976,2651)
-(1976,2652)
-(1973,2653)
-(1972,2655)
-(1968,2657)
-(1954,2653)
-(1947,2658)
-(1944,2657)
-(1935,2661)
-(1927,2661)
-(1915,2669)
-(1909,2669)
-(1905,2670)
-(1902,2668)
-(1899,2670)
-(1896,2677)
-(1891,2681)
-(1890,2685)
-(1888,2687)
-(1887,2689)
-(1884,2691)
-(1882,2701)
-(1879,2704)
-(1878,2707)
-(1879,2708)
-(1877,2710)
-(1877,2711)
-(1879,2712)
-(1880,2715)
-(1880,2720)
-(1878,2723)
-(1879,2725)
-(1878,2726)
-(1878,2729)
-(1877,2732)
-(1875,2732)
-(1872,2733)
-(1873,2736)
-(1872,2738)
-(1870,2741)
-(1870,2745)
-(1869,2747)
-(1869,2751)
-(1867,2756)
-(1868,2763)
-(1864,2766)
-(1863,2769)
-(1863,2775)
-(1860,2778)
-(1857,2786)
-(1853,2789)
-(1853,2791)
-(1857,2806)
-(1857,2818)
-(1859,2821)
-(1858,2826)
-(1858,2835)
-(1857,2838)
-(1859,2840)
-(1861,2847)
-(1857,2848)
-(1849,2855)
-(1846,2858)
-(1844,2864)
-(1835,2865)
-(1830,2871)
-(1828,2875)
-(1827,2880)
-(1825,2888)
-(1824,2890)
-(1819,2892)
-(1819,2896)
-(1819,2897)
-(1812,2904)
-(1811,2904)
-(1808,2902)
-(1804,2906)
-(1799,2907)
-(1798,2909)
-(1798,2913)
-(1800,2907)
-(1804,2906)
-(1808,2903)
-(1810,2905)
-(1812,2905)
-(1820,2897)
-(1820,2896)
-(1819,2893)
-(1820,2892)
-(1824,2891)
-(1827,2887)
-(1828,2876)
-(1830,2872)
-(1837,2865)
-47
-(2319,2518)
-(2317,2513)
-(2319,2507)
-(2324,2501)
-(2326,2495)
-(2326,2491)
-(2328,2488)
-(2328,2487)
-(2330,2485)
-(2329,2484)
-(2330,2483)
-(2330,2481)
-(2331,2481)
-(2329,2473)
-(2325,2470)
-(2325,2469)
-(2328,2463)
-(2334,2456)
-(2332,2454)
-(2330,2446)
-(2330,2442)
-(2329,2438)
-(2326,2436)
-(2323,2426)
-(2325,2409)
-(2324,2406)
-(2325,2403)
-(2323,2403)
-(2323,2400)
-(2321,2394)
-(2321,2392)
-(2317,2389)
-(2317,2387)
-(2320,2382)
-(2319,2372)
-(2322,2369)
-(2326,2368)
-(2327,2366)
-(2326,2364)
-(2328,2362)
-(2328,2358)
-(2331,2356)
-(2332,2348)
-(2334,2337)
-(2331,2332)
-(2332,2328)
-(2332,2327)
-57
-(2284,2400)
-(2283,2406)
-(2284,2409)
-(2285,2412)
-(2286,2413)
-(2285,2416)
-(2284,2415)
-(2282,2416)
-(2279,2414)
-(2274,2416)
-(2273,2414)
-(2270,2415)
-(2269,2423)
-(2268,2424)
-(2270,2433)
-(2270,2444)
-(2268,2446)
-(2269,2449)
-(2270,2451)
-(2269,2452)
-(2268,2459)
-(2267,2461)
-(2267,2462)
-(2266,2462)
-(2267,2466)
-(2266,2467)
-(2265,2467)
-(2265,2470)
-(2265,2470)
-(2264,2471)
-(2264,2474)
-(2263,2475)
-(2264,2475)
-(2262,2484)
-(2264,2489)
-(2264,2497)
-(2265,2498)
-(2266,2498)
-(2263,2503)
-(2264,2506)
-(2263,2507)
-(2263,2510)
-(2259,2510)
-(2254,2514)
-(2253,2513)
-(2253,2512)
-(2251,2511)
-(2247,2512)
-(2246,2511)
-(2245,2512)
-(2244,2514)
-(2245,2517)
-(2246,2517)
-(2245,2523)
-(2243,2529)
-(2239,2533)
-(2237,2533)
-221
-(2237,2537)
-(2234,2541)
-(2230,2540)
-(2228,2541)
-(2226,2541)
-(2225,2543)
-(2222,2543)
-(2220,2544)
-(2216,2549)
-(2218,2550)
-(2218,2551)
-(2215,2550)
-(2215,2551)
-(2213,2550)
-(2212,2552)
-(2212,2550)
-(2211,2550)
-(2210,2554)
-(2207,2556)
-(2208,2562)
-(2205,2564)
-(2205,2567)
-(2203,2565)
-(2204,2568)
-(2203,2570)
-(2202,2571)
-(2203,2572)
-(2202,2574)
-(2200,2573)
-(2199,2575)
-(2198,2574)
-(2198,2570)
-(2196,2569)
-(2194,2565)
-(2190,2565)
-(2189,2576)
-(2188,2579)
-(2186,2578)
-(2184,2580)
-(2184,2587)
-(2182,2587)
-(2180,2590)
-(2177,2590)
-(2174,2593)
-(2171,2596)
-(2169,2597)
-(2168,2598)
-(2165,2598)
-(2161,2601)
-(2159,2600)
-(2158,2601)
-(2155,2600)
-(2153,2602)
-(2152,2601)
-(2151,2599)
-(2148,2599)
-(2147,2597)
-(2144,2597)
-(2142,2599)
-(2140,2596)
-(2138,2595)
-(2136,2596)
-(2135,2596)
-(2134,2594)
-(2128,2596)
-(2124,2596)
-(2122,2599)
-(2120,2602)
-(2117,2601)
-(2116,2606)
-(2114,2603)
-(2112,2603)
-(2106,2610)
-(2105,2612)
-(2104,2612)
-(2102,2615)
-(2100,2615)
-(2096,2611)
-(2095,2612)
-(2092,2613)
-(2091,2614)
-(2087,2615)
-(2086,2618)
-(2084,2618)
-(2083,2621)
-(2081,2620)
-(2079,2622)
-(2077,2621)
-(2075,2623)
-(2073,2623)
-(2072,2626)
-(2068,2627)
-(2063,2626)
-(2057,2630)
-(2054,2629)
-(2052,2631)
-(2048,2633)
-(2045,2637)
-(2044,2640)
-(2045,2641)
-(2044,2651)
-(2042,2654)
-(2043,2654)
-(2043,2656)
-(2041,2658)
-(2040,2663)
-(2036,2667)
-(2034,2668)
-(2028,2664)
-(2025,2664)
-(2024,2666)
-(2022,2666)
-(2021,2664)
-(2018,2665)
-(2017,2663)
-(2017,2660)
-(2015,2660)
-(2013,2660)
-(2012,2659)
-(2009,2659)
-(2007,2661)
-(2004,2661)
-(1999,2664)
-(1997,2662)
-(1997,2668)
-(1995,2668)
-(1994,2670)
-(1991,2669)
-(1989,2673)
-(1984,2675)
-(1986,2677)
-(1984,2678)
-(1981,2680)
-(1982,2684)
-(1982,2685)
-(1980,2685)
-(1978,2683)
-(1978,2685)
-(1980,2686)
-(1977,2689)
-(1979,2690)
-(1978,2691)
-(1976,2691)
-(1975,2697)
-(1973,2697)
-(1972,2698)
-(1974,2702)
-(1974,2703)
-(1973,2704)
-(1970,2703)
-(1967,2705)
-(1967,2709)
-(1966,2716)
-(1964,2717)
-(1962,2716)
-(1961,2719)
-(1959,2720)
-(1960,2722)
-(1959,2723)
-(1954,2726)
-(1956,2731)
-(1955,2733)
-(1954,2733)
-(1952,2732)
-(1954,2736)
-(1952,2737)
-(1954,2740)
-(1953,2743)
-(1951,2744)
-(1952,2747)
-(1951,2749)
-(1953,2751)
-(1953,2755)
-(1954,2756)
-(1957,2758)
-(1957,2761)
-(1959,2763)
-(1959,2767)
-(1959,2769)
-(1954,2774)
-(1954,2776)
-(1953,2778)
-(1952,2781)
-(1952,2788)
-(1952,2791)
-(1949,2800)
-(1947,2802)
-(1946,2802)
-(1941,2805)
-(1940,2804)
-(1940,2803)
-(1935,2804)
-(1933,2802)
-(1931,2803)
-(1928,2803)
-(1926,2806)
-(1925,2807)
-(1925,2812)
-(1916,2814)
-(1912,2818)
-(1913,2826)
-(1912,2828)
-(1908,2828)
-(1904,2828)
-(1900,2832)
-(1899,2831)
-(1896,2834)
-(1892,2836)
-(1890,2841)
-(1888,2843)
-(1885,2843)
-(1883,2845)
-(1882,2846)
-(1880,2846)
-(1879,2845)
-(1872,2847)
-(1870,2846)
-(1869,2848)
-(1866,2845)
-(1865,2846)
-(1861,2846)
-102
-(2044,2642)
-(2043,2648)
-(2043,2652)
-(2040,2654)
-(2042,2655)
-(2040,2658)
-(2040,2662)
-(2037,2664)
-(2036,2666)
-(2035,2667)
-(2027,2662)
-(2026,2663)
-(2023,2665)
-(2022,2664)
-(2019,2664)
-(2018,2663)
-(2017,2659)
-(2014,2659)
-(2013,2658)
-(2009,2658)
-(2007,2660)
-(2004,2660)
-(2000,2663)
-(1997,2662)
-(1996,2663)
-(1997,2667)
-(1995,2667)
-(1994,2669)
-(1990,2669)
-(1989,2672)
-(1987,2672)
-(1983,2674)
-(1984,2677)
-(1984,2677)
-(1980,2679)
-(1981,2684)
-(1979,2682)
-(1977,2683)
-(1978,2685)
-(1979,2686)
-(1977,2689)
-(1977,2690)
-(1976,2691)
-(1975,2695)
-(1972,2697)
-(1972,2699)
-(1974,2703)
-(1971,2701)
-(1967,2704)
-(1965,2716)
-(1962,2714)
-(1961,2716)
-(1961,2719)
-(1959,2719)
-(1958,2720)
-(1959,2722)
-(1953,2725)
-(1955,2730)
-(1955,2732)
-(1953,2731)
-(1952,2731)
-(1951,2732)
-(1954,2735)
-(1952,2735)
-(1951,2738)
-(1953,2739)
-(1953,2741)
-(1950,2745)
-(1951,2747)
-(1951,2748)
-(1947,2748)
-(1946,2749)
-(1947,2752)
-(1947,2750)
-(1948,2749)
-(1950,2749)
-(1950,2750)
-(1951,2751)
-(1952,2753)
-(1952,2755)
-(1956,2758)
-(1959,2767)
-(1953,2775)
-(1953,2778)
-(1951,2780)
-(1951,2790)
-(1949,2797)
-(1949,2799)
-(1947,2801)
-(1946,2801)
-(1944,2803)
-(1941,2804)
-(1940,2802)
-(1935,2803)
-(1933,2801)
-(1931,2802)
-(1928,2802)
-(1927,2803)
-(1926,2806)
-(1924,2807)
-(1924,2811)
-(1920,2813)
-31
-(1947,2752)
-(1944,2756)
-(1942,2757)
-(1940,2755)
-(1938,2756)
-(1937,2755)
-(1934,2757)
-(1933,2760)
-(1930,2761)
-(1927,2761)
-(1923,2758)
-(1920,2759)
-(1916,2757)
-(1914,2759)
-(1913,2763)
-(1910,2765)
-(1905,2766)
-(1900,2766)
-(1890,2768)
-(1888,2770)
-(1883,2771)
-(1878,2774)
-(1875,2777)
-(1875,2780)
-(1872,2782)
-(1870,2782)
-(1869,2785)
-(1865,2784)
-(1863,2782)
-(1861,2784)
-(1858,2782)
-114
-(2690,253)
-(2687,251)
-(2686,250)
-(2687,245)
-(2690,242)
-(2691,241)
-(2692,235)
-(2696,234)
-(2698,235)
-(2700,234)
-(2700,235)
-(2702,236)
-(2707,233)
-(2709,236)
-(2712,236)
-(2712,242)
-(2714,243)
-(2715,248)
-(2718,247)
-(2721,251)
-(2727,255)
-(2732,254)
-(2734,256)
-(2735,254)
-(2739,253)
-(2740,251)
-(2744,252)
-(2747,250)
-(2749,250)
-(2749,249)
-(2752,248)
-(2752,245)
-(2753,245)
-(2758,240)
-(2758,242)
-(2760,242)
-(2763,245)
-(2766,245)
-(2770,244)
-(2773,242)
-(2777,240)
-(2784,238)
-(2786,239)
-(2788,239)
-(2793,224)
-(2797,225)
-(2797,223)
-(2804,218)
-(2805,215)
-(2807,213)
-(2810,206)
-(2811,202)
-(2813,197)
-(2819,191)
-(2819,184)
-(2822,184)
-(2824,182)
-(2827,182)
-(2836,179)
-(2840,172)
-(2847,176)
-(2851,173)
-(2856,165)
-(2860,162)
-(2864,151)
-(2866,148)
-(2866,142)
-(2867,140)
-(2867,138)
-(2869,138)
-(2870,135)
-(2871,135)
-(2871,130)
-(2872,126)
-(2871,122)
-(2873,122)
-(2874,118)
-(2874,112)
-(2872,109)
-(2871,104)
-(2867,99)
-(2865,97)
-(2863,95)
-(2862,95)
-(2860,91)
-(2859,86)
-(2854,79)
-(2850,75)
-(2848,65)
-(2845,59)
-(2844,51)
-(2845,47)
-(2844,40)
-(2842,31)
-(2840,28)
-(2839,24)
-(2836,19)
-(2834,12)
-(2833,4)
-(2835,0)
-(2835,-4)
-(2841,-15)
-(2844,-18)
-(2845,-32)
-(2845,-36)
-(2843,-40)
-(2842,-43)
-(2844,-54)
-(2842,-61)
-(2842,-69)
-(2840,-78)
-(2833,-90)
-(2832,-97)
-(2833,-104)
-436
-(25,1991)
-(28,1991)
-(33,1986)
-(36,1984)
-(39,1983)
-(42,1983)
-(47,1982)
-(57,1977)
-(65,1976)
-(68,1978)
-(70,1978)
-(78,1973)
-(91,1953)
-(91,1950)
-(93,1948)
-(100,1934)
-(101,1932)
-(100,1928)
-(99,1926)
-(104,1927)
-(106,1930)
-(108,1936)
-(110,1937)
-(112,1940)
-(116,1941)
-(117,1942)
-(118,1940)
-(123,1941)
-(131,1939)
-(135,1937)
-(135,1935)
-(135,1933)
-(133,1930)
-(135,1927)
-(137,1924)
-(137,1921)
-(141,1916)
-(142,1913)
-(141,1909)
-(138,1905)
-(136,1901)
-(136,1892)
-(132,1882)
-(144,1888)
-(147,1889)
-(148,1891)
-(150,1892)
-(150,1891)
-(150,1889)
-(154,1888)
-(157,1885)
-(160,1885)
-(161,1887)
-(165,1886)
-(168,1883)
-(172,1882)
-(178,1885)
-(179,1884)
-(182,1888)
-(192,1893)
-(196,1894)
-(201,1897)
-(204,1899)
-(209,1901)
-(210,1905)
-(212,1909)
-(211,1909)
-(211,1911)
-(210,1913)
-(210,1915)
-(211,1916)
-(214,1918)
-(215,1922)
-(220,1917)
-(225,1915)
-(243,1896)
-(255,1891)
-(256,1891)
-(260,1890)
-(270,1892)
-(274,1890)
-(276,1891)
-(278,1891)
-(282,1894)
-(289,1895)
-(294,1898)
-(297,1898)
-(302,1900)
-(314,1906)
-(322,1906)
-(324,1905)
-(329,1907)
-(333,1908)
-(342,1907)
-(348,1905)
-(350,1903)
-(356,1900)
-(356,1899)
-(358,1898)
-(364,1895)
-(368,1892)
-(380,1889)
-(386,1884)
-(390,1883)
-(391,1880)
-(397,1879)
-(403,1875)
-(406,1872)
-(408,1871)
-(413,1865)
-(415,1864)
-(417,1858)
-(420,1856)
-(421,1854)
-(422,1851)
-(427,1848)
-(428,1846)
-(431,1843)
-(433,1843)
-(439,1839)
-(443,1839)
-(445,1837)
-(447,1836)
-(447,1835)
-(448,1835)
-(450,1833)
-(450,1833)
-(451,1834)
-(453,1834)
-(455,1833)
-(456,1831)
-(458,1831)
-(459,1829)
-(460,1830)
-(465,1830)
-(466,1832)
-(467,1832)
-(468,1833)
-(468,1831)
-(469,1832)
-(470,1831)
-(474,1830)
-(479,1826)
-(480,1826)
-(483,1824)
-(486,1823)
-(486,1821)
-(488,1821)
-(487,1819)
-(490,1818)
-(492,1818)
-(493,1820)
-(494,1819)
-(496,1820)
-(497,1819)
-(499,1820)
-(503,1819)
-(504,1821)
-(508,1822)
-(509,1820)
-(510,1820)
-(511,1818)
-(513,1816)
-(515,1817)
-(516,1816)
-(520,1819)
-(524,1814)
-(526,1814)
-(528,1815)
-(529,1814)
-(532,1814)
-(534,1812)
-(536,1813)
-(540,1811)
-(541,1812)
-(542,1814)
-(545,1816)
-(546,1819)
-(551,1819)
-(551,1821)
-(553,1821)
-(554,1822)
-(558,1822)
-(559,1820)
-(561,1819)
-(562,1821)
-(564,1822)
-(566,1824)
-(568,1825)
-(569,1828)
-(572,1830)
-(572,1841)
-(570,1845)
-(570,1849)
-(571,1857)
-(569,1862)
-(568,1863)
-(566,1867)
-(563,1875)
-(563,1881)
-(561,1885)
-(561,1889)
-(563,1893)
-(570,1899)
-(571,1899)
-(573,1898)
-(577,1900)
-(577,1902)
-(580,1904)
-(581,1910)
-(585,1915)
-(586,1918)
-(591,1921)
-(594,1926)
-(599,1930)
-(601,1931)
-(602,1934)
-(605,1934)
-(610,1937)
-(616,1935)
-(625,1934)
-(627,1933)
-(627,1926)
-(629,1926)
-(632,1926)
-(636,1929)
-(640,1934)
-(642,1935)
-(647,1941)
-(648,1945)
-(653,1950)
-(656,1951)
-(659,1957)
-(662,1959)
-(672,1960)
-(678,1958)
-(686,1961)
-(692,1961)
-(697,1964)
-(699,1966)
-(704,1966)
-(715,1963)
-(722,1965)
-(728,1964)
-(732,1964)
-(734,1963)
-(740,1965)
-(742,1966)
-(753,1968)
-(761,1967)
-(767,1965)
-(771,1966)
-(775,1965)
-(779,1968)
-(782,1969)
-(784,1967)
-(789,1965)
-(794,1959)
-(802,1954)
-(807,1955)
-(815,1957)
-(817,1957)
-(819,1952)
-(824,1948)
-(828,1948)
-(831,1944)
-(835,1940)
-(842,1939)
-(846,1938)
-(853,1933)
-(860,1930)
-(865,1929)
-(870,1931)
-(879,1930)
-(887,1933)
-(890,1936)
-(895,1939)
-(899,1944)
-(906,1945)
-(914,1949)
-(923,1949)
-(926,1948)
-(929,1947)
-(931,1948)
-(937,1949)
-(946,1952)
-(950,1951)
-(954,1953)
-(958,1952)
-(970,1953)
-(975,1957)
-(976,1961)
-(980,1961)
-(980,1963)
-(983,1964)
-(984,1966)
-(986,1968)
-(990,1973)
-(993,1980)
-(991,1983)
-(992,1988)
-(999,1996)
-(1002,2006)
-(1004,2009)
-(1005,2015)
-(1006,2017)
-(1017,2024)
-(1021,2024)
-(1027,2022)
-(1031,2025)
-(1037,2025)
-(1046,2032)
-(1053,2034)
-(1055,2038)
-(1058,2039)
-(1063,2039)
-(1069,2040)
-(1077,2038)
-(1083,2039)
-(1096,2035)
-(1099,2033)
-(1099,2029)
-(1100,2028)
-(1101,2027)
-(1108,2025)
-(1109,2021)
-(1111,2021)
-(1116,2022)
-(1121,2021)
-(1123,2020)
-(1125,2014)
-(1133,2013)
-(1139,2015)
-(1142,2014)
-(1148,2015)
-(1151,2014)
-(1156,2005)
-(1159,2005)
-(1161,2003)
-(1163,2003)
-(1166,2002)
-(1168,1998)
-(1171,1984)
-(1171,1981)
-(1168,1978)
-(1167,1974)
-(1167,1973)
-(1161,1969)
-(1159,1965)
-(1155,1962)
-(1152,1962)
-(1149,1960)
-(1149,1956)
-(1149,1950)
-(1145,1950)
-(1144,1948)
-(1141,1947)
-(1138,1944)
-(1133,1941)
-(1133,1939)
-(1135,1937)
-(1133,1932)
-(1127,1922)
-(1125,1922)
-(1121,1924)
-(1118,1923)
-(1114,1919)
-(1114,1914)
-(1113,1913)
-(1107,1908)
-(1101,1906)
-(1098,1902)
-(1094,1900)
-(1085,1892)
-(1082,1885)
-(1083,1880)
-(1079,1872)
-(1081,1867)
-(1083,1862)
-(1083,1859)
-(1085,1856)
-(1087,1855)
-(1088,1849)
-(1090,1846)
-(1099,1842)
-(1103,1843)
-(1107,1842)
-(1116,1835)
-(1127,1832)
-(1132,1829)
-(1138,1828)
-(1145,1829)
-(1154,1829)
-(1156,1828)
-(1162,1829)
-(1167,1828)
-(1172,1827)
-(1175,1824)
-(1181,1824)
-(1186,1822)
-(1187,1819)
-(1190,1818)
-(1193,1820)
-(1194,1824)
-(1196,1827)
-(1196,1834)
-(1197,1834)
-(1201,1836)
-(1209,1834)
-(1217,1835)
-(1220,1833)
-(1221,1831)
-(1221,1824)
-(1226,1821)
-(1236,1818)
-(1243,1822)
-(1246,1820)
-(1248,1821)
-(1249,1830)
-(1251,1834)
-(1255,1835)
-(1258,1834)
-(1261,1836)
-(1265,1843)
-(1267,1843)
-(1271,1840)
-(1274,1843)
-(1276,1847)
-(1277,1851)
-(1280,1856)
-(1282,1857)
-(1283,1859)
-(1285,1859)
-(1286,1858)
-(1289,1859)
-(1290,1862)
-164
-(1439,1973)
-(1443,1972)
-(1448,1973)
-(1453,1972)
-(1458,1974)
-(1464,1974)
-(1467,1975)
-(1468,1973)
-(1470,1972)
-(1474,1975)
-(1481,1976)
-(1487,1975)
-(1495,1972)
-(1499,1973)
-(1503,1972)
-(1506,1970)
-(1508,1965)
-(1511,1963)
-(1516,1954)
-(1518,1953)
-(1525,1953)
-(1533,1949)
-(1536,1950)
-(1538,1956)
-(1546,1960)
-(1548,1966)
-(1550,1966)
-(1553,1964)
-(1560,1967)
-(1566,1966)
-(1568,1964)
-(1571,1959)
-(1570,1957)
-(1568,1956)
-(1567,1953)
-(1567,1946)
-(1564,1943)
-(1565,1939)
-(1562,1937)
-(1561,1936)
-(1563,1934)
-(1566,1934)
-(1569,1930)
-(1573,1927)
-(1573,1923)
-(1571,1923)
-(1571,1921)
-(1576,1920)
-(1585,1909)
-(1593,1908)
-(1594,1907)
-(1593,1905)
-(1592,1903)
-(1593,1902)
-(1598,1903)
-(1598,1901)
-(1599,1898)
-(1602,1898)
-(1607,1892)
-(1615,1888)
-(1620,1882)
-(1625,1879)
-(1629,1878)
-(1630,1876)
-(1630,1872)
-(1633,1870)
-(1632,1867)
-(1636,1867)
-(1637,1862)
-(1639,1860)
-(1640,1858)
-(1642,1858)
-(1645,1853)
-(1647,1851)
-(1650,1852)
-(1655,1851)
-(1660,1854)
-(1665,1853)
-(1667,1854)
-(1672,1850)
-(1676,1852)
-(1682,1850)
-(1688,1845)
-(1690,1845)
-(1692,1845)
-(1696,1844)
-(1699,1844)
-(1703,1846)
-(1706,1850)
-(1708,1850)
-(1710,1849)
-(1718,1850)
-(1720,1852)
-(1722,1852)
-(1724,1853)
-(1727,1855)
-(1729,1854)
-(1731,1855)
-(1735,1860)
-(1741,1863)
-(1745,1868)
-(1754,1873)
-(1760,1873)
-(1763,1874)
-(1766,1872)
-(1767,1874)
-(1773,1877)
-(1777,1876)
-(1780,1878)
-(1783,1876)
-(1787,1878)
-(1790,1878)
-(1795,1877)
-(1799,1873)
-(1808,1874)
-(1809,1870)
-(1813,1864)
-(1813,1859)
-(1817,1858)
-(1817,1855)
-(1820,1855)
-(1819,1851)
-(1820,1850)
-(1821,1850)
-(1823,1853)
-(1824,1851)
-(1827,1851)
-(1830,1850)
-(1832,1851)
-(1833,1849)
-(1833,1849)
-(1835,1850)
-(1836,1848)
-(1838,1848)
-(1841,1848)
-(1843,1846)
-(1845,1848)
-(1846,1845)
-(1848,1846)
-(1849,1849)
-(1850,1848)
-(1849,1846)
-(1851,1848)
-(1852,1847)
-(1853,1845)
-(1856,1847)
-(1858,1845)
-(1859,1846)
-(1861,1843)
-(1865,1843)
-(1867,1839)
-(1870,1837)
-(1872,1834)
-(1871,1832)
-(1873,1831)
-(1874,1830)
-(1877,1831)
-(1879,1831)
-(1881,1829)
-(1880,1828)
-(1882,1827)
-(1883,1825)
-(1886,1825)
-(1886,1824)
-47
-(1810,1868)
-(1814,1866)
-(1816,1867)
-(1817,1866)
-(1819,1867)
-(1822,1863)
-(1822,1866)
-(1825,1866)
-(1824,1868)
-(1826,1868)
-(1828,1871)
-(1829,1871)
-(1831,1873)
-(1833,1873)
-(1833,1875)
-(1834,1875)
-(1839,1876)
-(1844,1875)
-(1845,1874)
-(1848,1874)
-(1850,1873)
-(1851,1875)
-(1853,1874)
-(1853,1875)
-(1854,1874)
-(1855,1876)
-(1857,1875)
-(1859,1878)
-(1863,1880)
-(1863,1884)
-(1870,1888)
-(1870,1890)
-(1870,1891)
-(1871,1891)
-(1871,1895)
-(1873,1898)
-(1874,1897)
-(1875,1901)
-(1877,1899)
-(1877,1902)
-(1883,1903)
-(1883,1904)
-(1884,1905)
-(1885,1909)
-(1887,1908)
-(1888,1910)
-(1891,1911)
-28
-(466,1832)
-(466,1834)
-(472,1834)
-(479,1835)
-(487,1839)
-(495,1838)
-(502,1840)
-(509,1838)
-(511,1839)
-(513,1840)
-(513,1843)
-(515,1846)
-(526,1850)
-(528,1850)
-(530,1851)
-(531,1850)
-(532,1851)
-(535,1851)
-(538,1847)
-(542,1848)
-(543,1849)
-(544,1851)
-(545,1852)
-(546,1854)
-(550,1854)
-(560,1866)
-(564,1867)
-(565,1868)
-259
-(698,2243)
-(693,2243)
-(693,2245)
-(692,2247)
-(692,2248)
-(690,2252)
-(689,2257)
-(680,2262)
-(676,2268)
-(675,2271)
-(673,2272)
-(673,2275)
-(672,2277)
-(672,2279)
-(670,2281)
-(670,2286)
-(670,2289)
-(669,2292)
-(670,2293)
-(669,2298)
-(665,2303)
-(665,2306)
-(661,2309)
-(658,2309)
-(654,2311)
-(650,2310)
-(648,2311)
-(646,2310)
-(643,2311)
-(636,2307)
-(629,2309)
-(621,2309)
-(618,2307)
-(616,2307)
-(615,2305)
-(611,2304)
-(609,2302)
-(610,2300)
-(607,2298)
-(606,2293)
-(603,2290)
-(603,2288)
-(602,2287)
-(602,2285)
-(600,2283)
-(597,2278)
-(597,2276)
-(595,2276)
-(596,2274)
-(595,2273)
-(595,2271)
-(593,2269)
-(593,2265)
-(592,2264)
-(591,2262)
-(595,2256)
-(601,2252)
-(602,2247)
-(604,2243)
-(604,2241)
-(601,2241)
-(601,2239)
-(605,2237)
-(606,2233)
-(608,2231)
-(610,2230)
-(614,2232)
-(615,2231)
-(616,2225)
-(617,2224)
-(618,2221)
-(619,2218)
-(620,2214)
-(621,2211)
-(620,2208)
-(623,2205)
-(622,2204)
-(622,2202)
-(620,2201)
-(620,2199)
-(622,2196)
-(623,2192)
-(626,2191)
-(628,2192)
-(629,2191)
-(629,2187)
-(627,2185)
-(623,2185)
-(621,2183)
-(618,2181)
-(616,2179)
-(613,2178)
-(612,2176)
-(608,2173)
-(607,2169)
-(608,2167)
-(609,2162)
-(608,2161)
-(609,2159)
-(608,2158)
-(607,2157)
-(605,2154)
-(602,2153)
-(601,2152)
-(601,2149)
-(603,2147)
-(603,2144)
-(601,2143)
-(599,2144)
-(597,2141)
-(597,2138)
-(600,2137)
-(603,2135)
-(607,2129)
-(607,2126)
-(607,2124)
-(608,2121)
-(613,2119)
-(616,2119)
-(618,2120)
-(625,2118)
-(627,2117)
-(629,2114)
-(633,2111)
-(635,2109)
-(638,2108)
-(639,2109)
-(642,2109)
-(643,2110)
-(647,2111)
-(649,2110)
-(654,2112)
-(660,2111)
-(663,2112)
-(668,2111)
-(669,2108)
-(672,2106)
-(673,2105)
-(674,2101)
-(673,2099)
-(675,2094)
-(675,2092)
-(675,2089)
-(678,2086)
-(679,2083)
-(708,2063)
-(711,2062)
-(719,2062)
-(725,2058)
-(727,2059)
-(730,2059)
-(733,2061)
-(735,2060)
-(742,2061)
-(745,2056)
-(747,2056)
-(748,2052)
-(750,2050)
-(753,2049)
-(754,2051)
-(756,2051)
-(757,2051)
-(759,2048)
-(762,2049)
-(764,2048)
-(767,2049)
-(770,2044)
-(773,2042)
-(771,2040)
-(772,2039)
-(776,2041)
-(778,2039)
-(781,2039)
-(783,2037)
-(784,2036)
-(786,2038)
-(789,2038)
-(790,2038)
-(789,2036)
-(790,2035)
-(792,2037)
-(794,2037)
-(795,2036)
-(797,2034)
-(797,2033)
-(799,2032)
-(798,2030)
-(800,2027)
-(799,2023)
-(802,2022)
-(805,2019)
-(808,2021)
-(811,2019)
-(813,2017)
-(815,2017)
-(815,2015)
-(816,2014)
-(819,2015)
-(821,2017)
-(823,2016)
-(823,2014)
-(824,2013)
-(825,2014)
-(825,2017)
-(826,2018)
-(827,2017)
-(828,2013)
-(830,2013)
-(831,2013)
-(831,2016)
-(832,2017)
-(835,2017)
-(838,2015)
-(838,2018)
-(842,2017)
-(843,2020)
-(847,2020)
-(850,2021)
-(850,2019)
-(852,2019)
-(853,2016)
-(855,2018)
-(857,2017)
-(860,2014)
-(861,2013)
-(866,2013)
-(865,2011)
-(866,2010)
-(868,2010)
-(870,2007)
-(872,2007)
-(881,2002)
-(884,2001)
-(885,2001)
-(884,1999)
-(884,1998)
-(887,1998)
-(888,1997)
-(893,1995)
-(894,1993)
-(898,1993)
-(901,1993)
-(903,1991)
-(908,1990)
-(909,1988)
-(914,1985)
-(915,1982)
-(917,1981)
-(917,1975)
-(920,1970)
-(921,1967)
-(926,1962)
-(929,1962)
-(930,1960)
-(931,1960)
-(932,1957)
-(935,1955)
-(937,1955)
-(938,1949)
-22
-(659,2235)
-(661,2233)
-(662,2230)
-(664,2229)
-(665,2227)
-(671,2223)
-(672,2220)
-(676,2218)
-(681,2219)
-(683,2221)
-(686,2221)
-(689,2219)
-(696,2225)
-(698,2223)
-(698,2226)
-(701,2227)
-(703,2230)
-(703,2232)
-(707,2230)
-(707,2228)
-(709,2227)
-(711,2227)
-202
-(556,903)
-(549,907)
-(550,913)
-(549,918)
-(549,924)
-(551,926)
-(556,929)
-(559,931)
-(562,934)
-(569,936)
-(570,936)
-(572,933)
-(575,931)
-(580,931)
-(581,930)
-(581,928)
-(585,928)
-(589,925)
-(591,920)
-(591,918)
-(588,917)
-(590,912)
-(589,910)
-(588,908)
-(587,907)
-(589,905)
-(591,904)
-(593,902)
-(594,900)
-(594,897)
-(592,895)
-(592,891)
-(590,889)
-(589,884)
-(588,882)
-(585,879)
-(583,877)
-(584,875)
-(583,874)
-(581,872)
-(580,870)
-(579,862)
-(579,859)
-(576,845)
-(577,842)
-(576,839)
-(578,837)
-(577,834)
-(577,832)
-(574,831)
-(570,830)
-(569,832)
-(565,832)
-(564,831)
-(562,829)
-(561,828)
-(561,826)
-(558,824)
-(557,819)
-(558,812)
-(559,812)
-(560,809)
-(554,803)
-(554,800)
-(553,799)
-(552,796)
-(553,795)
-(552,791)
-(553,790)
-(551,788)
-(552,787)
-(553,786)
-(558,780)
-(557,778)
-(558,778)
-(559,778)
-(560,775)
-(561,775)
-(561,771)
-(563,768)
-(561,763)
-(558,760)
-(556,757)
-(554,753)
-(554,751)
-(562,743)
-(565,742)
-(570,738)
-(571,735)
-(571,733)
-(571,730)
-(568,723)
-(569,719)
-(569,715)
-(570,711)
-(568,701)
-(565,697)
-(563,691)
-(559,684)
-(555,680)
-(554,678)
-(552,676)
-(551,671)
-(547,664)
-(541,659)
-(540,659)
-(536,651)
-(533,649)
-(531,647)
-(527,645)
-(522,641)
-(520,636)
-(521,634)
-(523,631)
-(520,623)
-(521,617)
-(519,616)
-(516,615)
-(514,612)
-(511,611)
-(510,607)
-(508,607)
-(506,603)
-(501,600)
-(499,594)
-(495,589)
-(494,584)
-(486,571)
-(486,568)
-(484,565)
-(480,562)
-(479,560)
-(477,558)
-(473,547)
-(472,539)
-(469,536)
-(468,530)
-(464,518)
-(465,510)
-(469,502)
-(472,498)
-(473,493)
-(479,478)
-(480,468)
-(482,463)
-(482,458)
-(481,447)
-(482,444)
-(482,438)
-(478,426)
-(474,420)
-(471,414)
-(470,409)
-(468,406)
-(470,407)
-(475,408)
-(484,407)
-(490,403)
-(493,402)
-(501,395)
-(506,388)
-(516,385)
-(521,382)
-(524,376)
-(523,369)
-(525,367)
-(526,364)
-(525,359)
-(525,357)
-(525,356)
-(525,349)
-(527,347)
-(528,349)
-(531,349)
-(527,347)
-(525,347)
-(526,346)
-(528,345)
-(530,343)
-(531,337)
-(533,336)
-(537,331)
-(537,329)
-(540,323)
-(540,313)
-(545,312)
-(547,310)
-(549,305)
-(553,301)
-(552,298)
-(548,290)
-(549,287)
-(551,286)
-(555,286)
-(557,285)
-(559,279)
-(562,277)
-(567,277)
-(572,274)
-(581,277)
-(583,279)
-(591,277)
-21
-(562,277)
-(561,277)
-(558,279)
-(556,285)
-(550,285)
-(548,287)
-(548,292)
-(551,300)
-(548,305)
-(547,308)
-(539,313)
-(539,325)
-(536,328)
-(536,331)
-(533,335)
-(530,337)
-(528,344)
-(525,346)
-(524,348)
-(524,359)
-(525,366)
-59
-(520,383)
-(506,387)
-(501,393)
-(494,400)
-(483,406)
-(471,406)
-(469,405)
-(461,405)
-(457,403)
-(451,402)
-(447,402)
-(439,402)
-(436,401)
-(428,402)
-(422,400)
-(414,400)
-(409,397)
-(398,397)
-(394,399)
-(380,402)
-(377,402)
-(374,403)
-(371,405)
-(369,405)
-(367,404)
-(365,402)
-(361,402)
-(356,401)
-(353,398)
-(349,395)
-(337,394)
-(331,391)
-(329,391)
-(326,389)
-(323,390)
-(322,389)
-(320,380)
-(318,378)
-(315,378)
-(315,373)
-(313,372)
-(311,373)
-(309,369)
-(309,366)
-(306,364)
-(308,358)
-(312,355)
-(311,351)
-(312,350)
-(313,348)
-(310,345)
-(311,343)
-(309,343)
-(310,342)
-(310,338)
-(308,336)
-(310,334)
-(309,333)
-(308,330)
-86
-(265,363)
-(267,364)
-(270,363)
-(272,364)
-(276,365)
-(277,365)
-(279,366)
-(285,366)
-(286,364)
-(287,366)
-(289,365)
-(291,367)
-(291,369)
-(293,370)
-(292,372)
-(297,373)
-(295,374)
-(297,376)
-(299,376)
-(300,375)
-(301,377)
-(302,375)
-(305,375)
-(306,376)
-(306,378)
-(307,379)
-(309,379)
-(309,382)
-(310,382)
-(312,382)
-(311,381)
-(312,379)
-(316,381)
-(317,384)
-(320,386)
-(321,390)
-(326,389)
-(327,389)
-(328,393)
-(329,393)
-(335,395)
-(339,395)
-(347,398)
-(350,398)
-(356,402)
-(359,403)
-(361,404)
-(364,403)
-(368,406)
-(371,406)
-(374,404)
-(383,403)
-(386,402)
-(395,401)
-(401,399)
-(405,400)
-(409,400)
-(417,402)
-(421,401)
-(428,404)
-(435,402)
-(447,403)
-(455,403)
-(461,406)
-(465,406)
-(467,406)
-(470,411)
-(472,418)
-(478,427)
-(481,440)
-(481,445)
-(479,448)
-(481,453)
-(481,461)
-(479,468)
-(478,477)
-(472,493)
-(471,498)
-(467,502)
-(465,508)
-(463,516)
-(463,519)
-(468,532)
-(468,536)
-(471,539)
-(472,542)
-17
-(482,563)
-(486,573)
-(489,578)
-(490,580)
-(492,584)
-(492,588)
-(494,589)
-(499,596)
-(499,600)
-(496,602)
-(493,603)
-(496,604)
-(500,600)
-(502,603)
-(505,604)
-(507,608)
-(511,608)
-178
-(545,-644)
-(547,-642)
-(549,-642)
-(549,-639)
-(550,-639)
-(565,-633)
-(570,-636)
-(573,-639)
-(576,-640)
-(579,-639)
-(582,-640)
-(585,-639)
-(587,-638)
-(590,-638)
-(592,-641)
-(596,-643)
-(598,-642)
-(600,-644)
-(600,-646)
-(601,-645)
-(606,-647)
-(608,-646)
-(610,-647)
-(610,-648)
-(614,-650)
-(616,-649)
-(617,-647)
-(619,-647)
-(618,-643)
-(620,-641)
-(619,-640)
-(620,-639)
-(620,-638)
-(623,-637)
-(625,-639)
-(626,-639)
-(624,-635)
-(626,-630)
-(627,-630)
-(628,-628)
-(632,-624)
-(632,-622)
-(631,-621)
-(632,-618)
-(631,-616)
-(631,-614)
-(629,-614)
-(628,-613)
-(626,-612)
-(627,-611)
-(629,-609)
-(632,-609)
-(632,-605)
-(637,-601)
-(635,-597)
-(637,-595)
-(636,-592)
-(637,-591)
-(639,-592)
-(639,-592)
-(640,-586)
-(639,-585)
-(638,-584)
-(639,-582)
-(642,-580)
-(640,-577)
-(641,-576)
-(648,-569)
-(657,-568)
-(658,-564)
-(659,-563)
-(664,-563)
-(664,-557)
-(665,-554)
-(671,-547)
-(674,-547)
-(676,-548)
-(679,-549)
-(682,-550)
-(685,-550)
-(686,-548)
-(685,-539)
-(686,-536)
-(687,-534)
-(690,-531)
-(692,-528)
-(699,-524)
-(700,-522)
-(706,-516)
-(710,-510)
-(713,-506)
-(719,-503)
-(721,-500)
-(725,-501)
-(727,-500)
-(730,-493)
-(734,-489)
-(740,-487)
-(746,-487)
-(748,-485)
-(757,-482)
-(758,-478)
-(758,-475)
-(760,-473)
-(759,-469)
-(760,-466)
-(763,-465)
-(765,-462)
-(767,-461)
-(770,-454)
-(776,-449)
-(777,-446)
-(779,-444)
-(784,-441)
-(784,-439)
-(788,-434)
-(791,-428)
-(794,-424)
-(796,-420)
-(800,-418)
-(802,-415)
-(801,-411)
-(802,-408)
-(803,-406)
-(802,-403)
-(804,-395)
-(803,-393)
-(804,-392)
-(802,-387)
-(802,-386)
-(807,-377)
-(810,-375)
-(811,-371)
-(825,-364)
-(824,-362)
-(821,-357)
-(822,-350)
-(824,-346)
-(830,-341)
-(832,-335)
-(836,-332)
-(838,-330)
-(838,-328)
-(838,-320)
-(839,-315)
-(842,-313)
-(847,-310)
-(848,-304)
-(848,-300)
-(850,-296)
-(850,-293)
-(852,-290)
-(853,-284)
-(855,-280)
-(855,-277)
-(857,-274)
-(856,-272)
-(854,-271)
-(855,-269)
-(858,-268)
-(861,-262)
-(864,-262)
-(865,-262)
-(866,-257)
-(870,-253)
-(876,-251)
-(882,-250)
-(885,-246)
-(890,-245)
-(897,-236)
-(900,-234)
-(904,-234)
-(905,-236)
-(906,-236)
-(908,-239)
-(910,-238)
-(914,-239)
-(917,-239)
-10
-(685,-539)
-(685,-541)
-(685,-546)
-(684,-548)
-(682,-549)
-(674,-546)
-(672,-546)
-(668,-549)
-(665,-553)
-(664,-557)
-20
-(696,-526)
-(706,-515)
-(710,-508)
-(715,-504)
-(720,-498)
-(724,-500)
-(725,-499)
-(729,-496)
-(730,-491)
-(734,-488)
-(746,-485)
-(748,-483)
-(756,-482)
-(757,-480)
-(758,-475)
-(759,-473)
-(758,-469)
-(759,-466)
-(761,-464)
-(763,-465)
-40
-(786,-437)
-(789,-428)
-(795,-420)
-(799,-418)
-(801,-413)
-(800,-410)
-(801,-407)
-(801,-402)
-(803,-396)
-(801,-386)
-(806,-378)
-(807,-374)
-(810,-371)
-(813,-368)
-(823,-364)
-(823,-362)
-(820,-358)
-(821,-351)
-(823,-346)
-(829,-341)
-(832,-333)
-(837,-330)
-(837,-328)
-(836,-324)
-(837,-321)
-(838,-314)
-(845,-310)
-(847,-307)
-(848,-304)
-(847,-301)
-(849,-296)
-(850,-294)
-(852,-289)
-(852,-286)
-(854,-280)
-(854,-277)
-(856,-275)
-(856,-273)
-(854,-271)
-(855,-269)
-8
-(879,-250)
-(881,-249)
-(884,-245)
-(888,-245)
-(890,-245)
-(896,-235)
-(900,-233)
-(901,-234)
-188
-(958,-233)
-(960,-231)
-(961,-231)
-(963,-228)
-(967,-225)
-(967,-219)
-(967,-217)
-(969,-213)
-(968,-209)
-(972,-204)
-(976,-203)
-(977,-202)
-(976,-198)
-(977,-198)
-(979,-200)
-(982,-199)
-(983,-197)
-(983,-195)
-(986,-191)
-(988,-190)
-(987,-187)
-(991,-187)
-(993,-186)
-(994,-187)
-(998,-183)
-(999,-181)
-(998,-181)
-(999,-177)
-(998,-174)
-(999,-173)
-(1004,-159)
-(1003,-158)
-(1003,-155)
-(1004,-150)
-(1006,-149)
-(1006,-144)
-(1008,-139)
-(1007,-137)
-(1008,-136)
-(1010,-135)
-(1010,-130)
-(1008,-128)
-(1010,-127)
-(1010,-125)
-(1008,-124)
-(1008,-123)
-(1011,-121)
-(1014,-112)
-(1015,-109)
-(1015,-107)
-(1018,-104)
-(1018,-101)
-(1016,-102)
-(1016,-101)
-(1020,-98)
-(1021,-93)
-(1020,-92)
-(1021,-88)
-(1020,-86)
-(1021,-83)
-(1020,-80)
-(1021,-79)
-(1021,-74)
-(1023,-72)
-(1024,-68)
-(1019,-62)
-(1019,-56)
-(1019,-51)
-(1020,-48)
-(1019,-46)
-(1015,-40)
-(1015,-35)
-(1018,-32)
-(1017,-30)
-(1018,-27)
-(1017,-22)
-(1013,-19)
-(1010,-20)
-(1005,-15)
-(1002,-15)
-(1000,-14)
-(995,-13)
-(990,-5)
-(985,-7)
-(982,-4)
-(976,-3)
-(973,-2)
-(972,0)
-(967,5)
-(960,8)
-(958,10)
-(954,13)
-(952,16)
-(949,17)
-(948,20)
-(945,23)
-(944,28)
-(942,29)
-(938,30)
-(932,29)
-(927,43)
-(925,44)
-(921,46)
-(921,44)
-(919,42)
-(916,42)
-(913,42)
-(909,39)
-(903,38)
-(903,39)
-(900,40)
-(897,41)
-(897,46)
-(894,51)
-(890,52)
-(883,54)
-(882,53)
-(883,52)
-(880,53)
-(878,56)
-(876,59)
-(868,66)
-(864,69)
-(862,73)
-(857,78)
-(855,81)
-(854,86)
-(848,90)
-(842,91)
-(839,91)
-(833,92)
-(832,95)
-(829,97)
-(827,99)
-(821,103)
-(820,109)
-(816,115)
-(815,119)
-(812,122)
-(811,126)
-(809,127)
-(807,128)
-(804,131)
-(801,133)
-(799,137)
-(796,141)
-(794,142)
-(788,141)
-(781,142)
-(778,142)
-(773,143)
-(768,146)
-(767,148)
-(763,149)
-(762,148)
-(760,148)
-(759,152)
-(754,150)
-(753,152)
-(750,153)
-(754,157)
-(754,158)
-(751,158)
-(751,161)
-(753,162)
-(750,164)
-(746,165)
-(743,172)
-(737,177)
-(736,181)
-(731,183)
-(727,190)
-(723,193)
-(721,195)
-(717,196)
-(713,199)
-(713,203)
-(711,206)
-(711,208)
-(698,220)
-(696,224)
-(696,227)
-(694,231)
-(691,234)
-(690,238)
-(689,240)
-(688,244)
-(685,247)
-6
-(870,65)
-(872,65)
-(875,61)
-(877,60)
-(880,56)
-(885,53)
-7
-(903,39)
-(909,40)
-(911,43)
-(915,43)
-(916,44)
-(918,43)
-(921,45)
-11
-(949,18)
-(949,16)
-(952,15)
-(953,13)
-(957,10)
-(959,8)
-(966,4)
-(969,1)
-(971,0)
-(972,-2)
-(976,-3)
-11
-(985,-7)
-(990,-8)
-(994,-13)
-(996,-14)
-(1000,-15)
-(1002,-16)
-(1005,-16)
-(1009,-20)
-(1013,-21)
-(1016,-22)
-(1018,-23)
-11
-(1018,-33)
-(1016,-37)
-(1016,-41)
-(1018,-42)
-(1019,-44)
-(1021,-46)
-(1022,-48)
-(1020,-51)
-(1020,-61)
-(1023,-64)
-(1024,-67)
-41
-(1023,-73)
-(1022,-74)
-(1021,-81)
-(1022,-92)
-(1022,-95)
-(1022,-95)
-(1021,-96)
-(1021,-100)
-(1019,-102)
-(1019,-105)
-(1016,-107)
-(1016,-110)
-(1015,-111)
-(1012,-122)
-(1011,-123)
-(1010,-123)
-(1009,-124)
-(1011,-126)
-(1010,-129)
-(1011,-130)
-(1011,-136)
-(1010,-137)
-(1008,-137)
-(1009,-139)
-(1007,-144)
-(1007,-149)
-(1006,-150)
-(1005,-154)
-(1004,-155)
-(1005,-160)
-(1003,-163)
-(1003,-169)
-(1002,-169)
-(1001,-173)
-(999,-174)
-(1001,-175)
-(1000,-180)
-(1000,-181)
-(999,-185)
-(996,-187)
-(994,-187)
-17
-(986,-191)
-(983,-193)
-(982,-197)
-(981,-198)
-(979,-198)
-(978,-197)
-(976,-198)
-(974,-200)
-(976,-202)
-(976,-203)
-(972,-203)
-(970,-206)
-(968,-209)
-(968,-214)
-(966,-220)
-(967,-223)
-(965,-227)
-145
-(639,88)
-(643,92)
-(646,95)
-(649,95)
-(650,94)
-(652,95)
-(654,99)
-(656,100)
-(658,102)
-(665,105)
-(667,104)
-(671,105)
-(672,106)
-(673,109)
-(675,109)
-(678,112)
-(679,112)
-(682,113)
-(683,114)
-(686,114)
-(687,112)
-(686,108)
-(685,105)
-(685,103)
-(683,97)
-(684,95)
-(686,95)
-(686,94)
-(687,94)
-(687,93)
-(688,86)
-(687,86)
-(687,85)
-(686,83)
-(684,84)
-(681,80)
-(678,81)
-(677,80)
-(678,79)
-(677,78)
-(679,77)
-(678,76)
-(676,77)
-(675,76)
-(676,74)
-(676,71)
-(677,70)
-(676,69)
-(675,68)
-(673,69)
-(670,69)
-(670,68)
-(670,67)
-(668,63)
-(667,65)
-(662,67)
-(663,66)
-(663,62)
-(665,59)
-(662,57)
-(659,58)
-(658,57)
-(659,56)
-(657,55)
-(655,56)
-(654,56)
-(655,54)
-(657,52)
-(657,51)
-(654,50)
-(653,52)
-(651,51)
-(646,45)
-(640,46)
-(638,41)
-(636,40)
-(633,41)
-(633,36)
-(634,35)
-(633,34)
-(630,34)
-(630,32)
-(629,32)
-(627,30)
-(625,30)
-(623,32)
-(623,33)
-(622,33)
-(621,29)
-(620,29)
-(619,31)
-(618,30)
-(619,26)
-(618,25)
-(615,22)
-(607,21)
-(605,21)
-(604,24)
-(602,24)
-(601,24)
-(602,21)
-(599,21)
-(596,23)
-(594,20)
-(590,21)
-(588,20)
-(584,19)
-(583,21)
-(580,21)
-(579,20)
-(581,17)
-(579,15)
-(575,17)
-(577,21)
-(575,23)
-(574,21)
-(575,19)
-(574,14)
-(574,13)
-(571,14)
-(570,18)
-(569,17)
-(569,14)
-(568,13)
-(567,14)
-(566,13)
-(563,12)
-(560,15)
-(558,15)
-(557,14)
-(557,11)
-(556,10)
-(552,12)
-(546,12)
-(545,13)
-(544,17)
-(543,16)
-(544,14)
-(543,11)
-(542,12)
-(541,15)
-(542,18)
-(540,18)
-(540,16)
-(539,16)
-187
-(840,-125)
-(838,-125)
-(831,-124)
-(822,-124)
-(821,-123)
-(818,-125)
-(815,-125)
-(812,-128)
-(807,-125)
-(806,-124)
-(803,-124)
-(801,-123)
-(798,-123)
-(793,-126)
-(789,-126)
-(786,-129)
-(784,-129)
-(781,-123)
-(782,-120)
-(783,-120)
-(784,-118)
-(783,-113)
-(784,-111)
-(784,-105)
-(784,-104)
-(783,-103)
-(784,-101)
-(782,-99)
-(781,-95)
-(779,-93)
-(780,-90)
-(779,-88)
-(776,-87)
-(777,-84)
-(779,-82)
-(779,-77)
-(777,-74)
-(775,-73)
-(774,-71)
-(770,-71)
-(768,-69)
-(762,-69)
-(761,-68)
-(758,-69)
-(758,-67)
-(760,-66)
-(760,-65)
-(758,-66)
-(756,-64)
-(755,-65)
-(750,-64)
-(750,-66)
-(748,-64)
-(746,-63)
-(743,-65)
-(742,-66)
-(740,-67)
-(736,-65)
-(733,-65)
-(733,-64)
-(730,-64)
-(728,-62)
-(725,-62)
-(724,-60)
-(719,-57)
-(719,-55)
-(717,-54)
-(715,-53)
-(713,-54)
-(712,-52)
-(713,-51)
-(711,-50)
-(708,-46)
-(702,-45)
-(702,-47)
-(701,-47)
-(699,-46)
-(697,-45)
-(694,-47)
-(692,-43)
-(692,-39)
-(689,-33)
-(687,-32)
-(685,-31)
-(683,-29)
-(682,-29)
-(681,-31)
-(680,-31)
-(678,-29)
-(676,-29)
-(675,-27)
-(671,-26)
-(670,-25)
-(670,-22)
-(669,-22)
-(667,-22)
-(664,-21)
-(661,-23)
-(657,-22)
-(653,-23)
-(650,-23)
-(647,-20)
-(646,-21)
-(645,-22)
-(641,-22)
-(640,-20)
-(638,-20)
-(636,-26)
-(637,-29)
-(633,-31)
-(634,-33)
-(633,-34)
-(632,-35)
-(633,-38)
-(631,-40)
-(632,-41)
-(631,-42)
-(631,-42)
-(634,-41)
-(636,-42)
-(638,-42)
-(639,-43)
-(639,-47)
-(637,-48)
-(636,-48)
-(635,-50)
-(632,-51)
-(629,-55)
-(629,-56)
-(631,-55)
-(632,-60)
-(631,-63)
-(629,-64)
-(628,-63)
-(626,-64)
-(623,-63)
-(622,-63)
-(620,-65)
-(618,-61)
-(617,-62)
-(615,-60)
-(613,-62)
-(612,-60)
-(611,-61)
-(608,-65)
-(607,-63)
-(605,-64)
-(604,-61)
-(603,-61)
-(599,-60)
-(598,-60)
-(596,-59)
-(595,-60)
-(593,-60)
-(593,-61)
-(591,-60)
-(591,-59)
-(588,-58)
-(588,-57)
-(585,-56)
-(583,-59)
-(581,-58)
-(581,-62)
-(582,-62)
-(580,-64)
-(583,-67)
-(583,-70)
-(583,-73)
-(581,-73)
-(581,-75)
-(580,-76)
-(580,-79)
-(577,-82)
-(576,-82)
-(575,-83)
-(573,-84)
-(570,-81)
-(567,-82)
-(565,-81)
-(564,-81)
-(564,-82)
-(557,-76)
-(557,-75)
-(555,-75)
-(555,-74)
-(550,-75)
-(547,-69)
-205
-(663,-319)
-(668,-316)
-(667,-310)
-(668,-308)
-(670,-307)
-(676,-302)
-(676,-298)
-(676,-297)
-(676,-296)
-(676,-294)
-(678,-291)
-(680,-289)
-(681,-286)
-(684,-283)
-(687,-280)
-(683,-275)
-(685,-270)
-(689,-266)
-(691,-261)
-(691,-258)
-(690,-256)
-(691,-255)
-(693,-253)
-(697,-251)
-(698,-252)
-(704,-248)
-(705,-245)
-(709,-243)
-(710,-241)
-(713,-241)
-(715,-239)
-(716,-239)
-(716,-237)
-(719,-237)
-(720,-236)
-(721,-236)
-(723,-236)
-(723,-234)
-(725,-234)
-(725,-233)
-(727,-232)
-(728,-230)
-(730,-229)
-(734,-230)
-(736,-229)
-(736,-226)
-(741,-224)
-(745,-221)
-(746,-218)
-(744,-216)
-(745,-214)
-(745,-215)
-(748,-214)
-(750,-214)
-(751,-213)
-(753,-213)
-(754,-212)
-(755,-213)
-(755,-212)
-(756,-212)
-(757,-211)
-(759,-211)
-(761,-211)
-(762,-213)
-(764,-211)
-(763,-209)
-(764,-208)
-(765,-207)
-(765,-204)
-(761,-203)
-(760,-201)
-(758,-202)
-(758,-200)
-(759,-200)
-(761,-198)
-(761,-195)
-(751,-195)
-(751,-191)
-(744,-185)
-(742,-178)
-(741,-178)
-(743,-173)
-(743,-171)
-(742,-170)
-(740,-170)
-(739,-172)
-(736,-173)
-(733,-170)
-(729,-169)
-(726,-167)
-(724,-168)
-(724,-170)
-(726,-173)
-(725,-174)
-(723,-175)
-(721,-173)
-(720,-172)
-(718,-172)
-(716,-173)
-(714,-171)
-(713,-169)
-(709,-172)
-(709,-175)
-(707,-175)
-(706,-173)
-(706,-168)
-(703,-166)
-(701,-167)
-(699,-166)
-(696,-169)
-(692,-170)
-(690,-170)
-(688,-171)
-(687,-170)
-(681,-171)
-(679,-170)
-(675,-173)
-(673,-168)
-(667,-167)
-(666,-170)
-(662,-170)
-(661,-169)
-(658,-170)
-(655,-169)
-(653,-170)
-(653,-172)
-(645,-174)
-(643,-176)
-(641,-174)
-(637,-176)
-(627,-171)
-(625,-169)
-(625,-166)
-(624,-167)
-(623,-169)
-(619,-171)
-(616,-167)
-(616,-165)
-(614,-166)
-(611,-168)
-(609,-167)
-(603,-168)
-(598,-165)
-(593,-166)
-(589,-164)
-(588,-166)
-(584,-168)
-(581,-167)
-(581,-166)
-(579,-165)
-(577,-166)
-(574,-166)
-(568,-161)
-(565,-161)
-(563,-160)
-(559,-163)
-(555,-160)
-(552,-163)
-(549,-164)
-(548,-166)
-(546,-166)
-(543,-166)
-(542,-165)
-(541,-161)
-(541,-159)
-(539,-159)
-(536,-159)
-(535,-157)
-(532,-157)
-(531,-156)
-(529,-156)
-(527,-157)
-(527,-154)
-(525,-153)
-(524,-152)
-(523,-150)
-(519,-148)
-(518,-146)
-(515,-145)
-(514,-143)
-(508,-141)
-(507,-139)
-(497,-137)
-(497,-134)
-(494,-132)
-(493,-130)
-(491,-130)
-(489,-128)
-(490,-117)
-(495,-114)
-(495,-110)
-(494,-107)
-(495,-105)
-(496,-105)
-(499,-106)
-(500,-109)
-(500,-113)
-(502,-114)
-(505,-115)
-(507,-113)
-(516,-112)
-(518,-110)
-(518,-107)
-(517,-105)
-(518,-103)
-189
-(686,-739)
-(686,-738)
-(685,-737)
-(686,-735)
-(685,-734)
-(686,-733)
-(688,-729)
-(688,-727)
-(690,-724)
-(693,-723)
-(696,-719)
-(700,-717)
-(700,-715)
-(700,-714)
-(701,-713)
-(702,-713)
-(704,-711)
-(705,-711)
-(706,-710)
-(712,-710)
-(716,-705)
-(718,-706)
-(718,-707)
-(721,-710)
-(720,-712)
-(722,-716)
-(725,-720)
-(728,-721)
-(729,-724)
-(732,-725)
-(732,-724)
-(733,-724)
-(734,-723)
-(734,-726)
-(736,-725)
-(736,-727)
-(738,-727)
-(738,-728)
-(742,-730)
-(742,-732)
-(746,-734)
-(746,-735)
-(747,-735)
-(751,-734)
-(753,-733)
-(753,-731)
-(754,-730)
-(754,-728)
-(756,-727)
-(757,-728)
-(759,-727)
-(759,-726)
-(761,-728)
-(762,-729)
-(762,-731)
-(761,-731)
-(762,-732)
-(764,-731)
-(764,-734)
-(766,-733)
-(766,-734)
-(769,-736)
-(768,-737)
-(769,-738)
-(770,-741)
-(769,-748)
-(763,-750)
-(762,-753)
-(763,-757)
-(764,-757)
-(765,-758)
-(764,-761)
-(762,-762)
-(762,-766)
-(765,-771)
-(765,-772)
-(767,-772)
-(767,-774)
-(766,-776)
-(767,-777)
-(768,-779)
-(770,-779)
-(770,-780)
-(769,-782)
-(768,-782)
-(767,-784)
-(768,-786)
-(769,-786)
-(769,-789)
-(771,-789)
-(772,-790)
-(773,-791)
-(775,-789)
-(777,-790)
-(781,-795)
-(781,-795)
-(780,-797)
-(782,-800)
-(784,-800)
-(787,-800)
-(788,-801)
-(789,-799)
-(790,-800)
-(792,-799)
-(793,-800)
-(794,-800)
-(795,-802)
-(797,-803)
-(799,-802)
-(800,-802)
-(800,-803)
-(799,-804)
-(800,-806)
-(800,-808)
-(798,-810)
-(800,-810)
-(800,-812)
-(798,-813)
-(798,-815)
-(799,-815)
-(796,-816)
-(794,-819)
-(796,-819)
-(797,-821)
-(800,-821)
-(800,-822)
-(802,-822)
-(802,-826)
-(806,-825)
-(808,-824)
-(809,-826)
-(808,-829)
-(812,-828)
-(812,-830)
-(811,-831)
-(811,-832)
-(809,-833)
-(809,-834)
-(807,-833)
-(805,-834)
-(805,-835)
-(808,-837)
-(807,-841)
-(805,-841)
-(803,-842)
-(804,-844)
-(807,-845)
-(805,-847)
-(802,-848)
-(803,-849)
-(806,-849)
-(805,-850)
-(803,-852)
-(801,-852)
-(801,-853)
-(799,-853)
-(801,-857)
-(800,-859)
-(800,-863)
-(804,-867)
-(803,-869)
-(807,-871)
-(810,-875)
-(813,-875)
-(813,-876)
-(812,-878)
-(808,-878)
-(806,-879)
-(807,-880)
-(812,-884)
-(812,-887)
-(814,-890)
-(812,-893)
-(814,-895)
-(815,-898)
-(816,-899)
-(818,-899)
-(819,-895)
-(821,-894)
-(822,-897)
-(821,-908)
-(819,-913)
-(820,-916)
-(821,-918)
-(821,-920)
-(818,-922)
-(814,-922)
-(811,-921)
-(809,-918)
-255
-(628,-732)
-(629,-730)
-(631,-729)
-(634,-730)
-(636,-728)
-(636,-726)
-(634,-723)
-(631,-722)
-(630,-719)
-(633,-710)
-(633,-708)
-(635,-707)
-(635,-706)
-(637,-704)
-(640,-706)
-(642,-705)
-(647,-704)
-(648,-701)
-(650,-700)
-(649,-696)
-(653,-695)
-(660,-697)
-(662,-695)
-(668,-694)
-(668,-692)
-(670,-690)
-(674,-689)
-(675,-686)
-(676,-685)
-(676,-681)
-(683,-676)
-(688,-669)
-(690,-667)
-(691,-666)
-(696,-665)
-(696,-663)
-(693,-660)
-(696,-658)
-(696,-655)
-(694,-653)
-(696,-653)
-(695,-651)
-(696,-649)
-(699,-648)
-(700,-647)
-(702,-646)
-(704,-647)
-(704,-643)
-(711,-641)
-(712,-639)
-(714,-639)
-(718,-637)
-(720,-634)
-(722,-634)
-(723,-631)
-(724,-631)
-(725,-630)
-(727,-631)
-(727,-627)
-(730,-624)
-(730,-621)
-(731,-621)
-(731,-620)
-(739,-620)
-(739,-623)
-(740,-623)
-(741,-621)
-(744,-621)
-(751,-616)
-(754,-616)
-(757,-613)
-(761,-614)
-(762,-616)
-(763,-616)
-(764,-614)
-(767,-612)
-(767,-614)
-(770,-615)
-(771,-618)
-(778,-617)
-(777,-620)
-(778,-620)
-(780,-621)
-(783,-620)
-(786,-623)
-(787,-621)
-(789,-621)
-(789,-623)
-(792,-623)
-(792,-628)
-(794,-630)
-(795,-633)
-(794,-634)
-(795,-637)
-(795,-640)
-(793,-644)
-(793,-646)
-(794,-648)
-(798,-649)
-(802,-648)
-(804,-646)
-(805,-648)
-(805,-643)
-(806,-643)
-(809,-646)
-(813,-645)
-(815,-649)
-(817,-649)
-(822,-652)
-(828,-650)
-(829,-655)
-(828,-656)
-(827,-659)
-(828,-659)
-(831,-661)
-(831,-663)
-(834,-663)
-(835,-664)
-(838,-664)
-(841,-665)
-(842,-667)
-(842,-669)
-(844,-671)
-(845,-675)
-(848,-675)
-(849,-673)
-(850,-675)
-(853,-674)
-(858,-676)
-(861,-679)
-(862,-682)
-(864,-682)
-(867,-684)
-(869,-691)
-(870,-695)
-(873,-697)
-(874,-700)
-(875,-701)
-(875,-705)
-(877,-715)
-(887,-728)
-(886,-735)
-(890,-740)
-(891,-744)
-(894,-747)
-(897,-747)
-(901,-749)
-(903,-753)
-(906,-758)
-(905,-762)
-(909,-767)
-(913,-767)
-(913,-771)
-(915,-773)
-(916,-773)
-(915,-770)
-(918,-770)
-(920,-772)
-(923,-776)
-(925,-776)
-(927,-775)
-(928,-777)
-(930,-777)
-(930,-780)
-(929,-783)
-(930,-786)
-(933,-785)
-(935,-785)
-(938,-791)
-(938,-794)
-(941,-795)
-(941,-793)
-(942,-793)
-(946,-797)
-(948,-796)
-(950,-797)
-(956,-799)
-(959,-802)
-(964,-804)
-(966,-807)
-(967,-808)
-(966,-810)
-(967,-810)
-(968,-809)
-(969,-809)
-(968,-812)
-(968,-816)
-(966,-820)
-(968,-822)
-(971,-821)
-(972,-822)
-(969,-826)
-(969,-829)
-(967,-831)
-(969,-832)
-(972,-832)
-(974,-836)
-(975,-838)
-(977,-837)
-(978,-839)
-(979,-837)
-(980,-837)
-(982,-840)
-(982,-842)
-(993,-852)
-(993,-854)
-(993,-856)
-(996,-856)
-(995,-860)
-(997,-859)
-(999,-860)
-(999,-864)
-(1000,-866)
-(998,-869)
-(998,-872)
-(999,-873)
-(998,-877)
-(999,-878)
-(998,-885)
-(999,-886)
-(999,-887)
-(1000,-889)
-(999,-891)
-(1000,-893)
-(999,-894)
-(999,-895)
-(999,-897)
-(1001,-897)
-(1002,-899)
-(1001,-900)
-(999,-902)
-(999,-904)
-(1001,-906)
-(999,-907)
-(998,-908)
-(997,-906)
-(995,-907)
-(995,-911)
-(994,-915)
-(995,-919)
-(993,-925)
-(995,-926)
-(995,-928)
-(994,-931)
-(991,-932)
-(992,-938)
-(990,-938)
-(989,-941)
-(991,-949)
-(990,-951)
-(991,-954)
-(990,-958)
-(963,-991)
-(955,-991)
-(948,-992)
-123
-(961,-991)
-(964,-988)
-(964,-988)
-(965,-988)
-(970,-988)
-(973,-983)
-(978,-981)
-(983,-980)
-(984,-979)
-(987,-979)
-(991,-977)
-(990,-973)
-(991,-970)
-(992,-969)
-(993,-968)
-(993,-967)
-(991,-966)
-(988,-963)
-(989,-960)
-(989,-958)
-(990,-954)
-(989,-951)
-(990,-949)
-(988,-940)
-(989,-938)
-(991,-937)
-(991,-931)
-(994,-930)
-(994,-927)
-(992,-924)
-(994,-918)
-(993,-914)
-(995,-909)
-(995,-907)
-(996,-905)
-(998,-905)
-(999,-906)
-(1000,-906)
-(997,-903)
-(998,-901)
-(1000,-900)
-(1001,-898)
-(998,-897)
-(998,-895)
-(999,-893)
-(998,-892)
-(997,-888)
-(998,-886)
-(997,-884)
-(998,-883)
-(998,-879)
-(997,-879)
-(997,-874)
-(998,-873)
-(997,-870)
-(998,-867)
-(999,-866)
-(998,-861)
-(994,-860)
-(994,-857)
-(993,-857)
-(991,-856)
-(993,-855)
-(992,-854)
-(991,-853)
-(988,-849)
-(987,-849)
-(985,-847)
-(983,-843)
-(981,-842)
-(981,-840)
-(980,-838)
-(978,-840)
-(976,-838)
-(974,-838)
-(973,-836)
-(972,-834)
-(972,-833)
-(969,-833)
-(967,-831)
-(968,-826)
-(970,-823)
-(968,-823)
-(965,-820)
-(968,-815)
-(968,-811)
-(968,-810)
-(966,-811)
-(964,-811)
-(965,-809)
-(966,-808)
-(964,-807)
-(963,-804)
-(959,-803)
-(957,-802)
-(956,-800)
-(954,-800)
-(953,-799)
-(950,-798)
-(948,-797)
-(947,-798)
-(946,-798)
-(942,-793)
-(940,-795)
-(937,-795)
-(937,-793)
-(937,-791)
-(935,-786)
-(933,-786)
-(931,-787)
-(929,-785)
-(930,-778)
-(927,-778)
-(926,-777)
-(922,-776)
-(918,-771)
-(916,-771)
-(916,-774)
-(915,-774)
-(912,-771)
-(913,-768)
-(910,-768)
-(909,-767)
-168
-(134,1826)
-(138,1823)
-(140,1822)
-(147,1824)
-(149,1824)
-(151,1825)
-(156,1827)
-(162,1826)
-(172,1822)
-(173,1818)
-(172,1814)
-(173,1812)
-(173,1807)
-(172,1806)
-(175,1802)
-(177,1798)
-(180,1793)
-(181,1788)
-(184,1785)
-(185,1774)
-(186,1773)
-(186,1771)
-(188,1771)
-(190,1770)
-(194,1770)
-(196,1771)
-(198,1769)
-(197,1768)
-(197,1761)
-(198,1758)
-(201,1757)
-(204,1753)
-(205,1753)
-(210,1748)
-(212,1749)
-(215,1745)
-(217,1745)
-(215,1740)
-(216,1739)
-(215,1738)
-(215,1736)
-(213,1734)
-(213,1731)
-(215,1730)
-(215,1728)
-(214,1726)
-(216,1720)
-(216,1717)
-(216,1715)
-(220,1702)
-(219,1701)
-(217,1699)
-(216,1697)
-(217,1695)
-(221,1693)
-(223,1690)
-(223,1686)
-(225,1682)
-(222,1678)
-(222,1672)
-(218,1667)
-(218,1661)
-(220,1659)
-(220,1654)
-(219,1652)
-(218,1651)
-(218,1650)
-(219,1647)
-(222,1646)
-(224,1643)
-(224,1640)
-(229,1638)
-(232,1635)
-(230,1633)
-(230,1630)
-(228,1631)
-(222,1631)
-(218,1631)
-(217,1628)
-(216,1626)
-(214,1624)
-(211,1624)
-(210,1623)
-(212,1621)
-(212,1619)
-(210,1610)
-(214,1608)
-(216,1608)
-(219,1608)
-(229,1608)
-(231,1605)
-(237,1603)
-(240,1603)
-(241,1598)
-(240,1596)
-(238,1594)
-(234,1590)
-(231,1586)
-(226,1584)
-(226,1581)
-(223,1577)
-(222,1574)
-(219,1573)
-(219,1566)
-(220,1563)
-(223,1561)
-(222,1559)
-(222,1553)
-(221,1551)
-(217,1551)
-(216,1551)
-(213,1550)
-(211,1548)
-(216,1541)
-(215,1537)
-(213,1535)
-(212,1532)
-(211,1530)
-(212,1524)
-(210,1518)
-(212,1516)
-(211,1514)
-(207,1511)
-(207,1510)
-(205,1509)
-(206,1503)
-(205,1502)
-(204,1500)
-(205,1498)
-(208,1498)
-(209,1495)
-(209,1493)
-(210,1490)
-(209,1485)
-(208,1482)
-(210,1478)
-(208,1474)
-(209,1472)
-(212,1467)
-(213,1461)
-(216,1459)
-(223,1452)
-(223,1439)
-(223,1436)
-(221,1434)
-(222,1427)
-(227,1424)
-(231,1416)
-(231,1413)
-(229,1409)
-(230,1404)
-(229,1402)
-(230,1396)
-(233,1392)
-(234,1389)
-(233,1385)
-(232,1382)
-(233,1379)
-(231,1374)
-(232,1370)
-(230,1367)
-(230,1365)
-(234,1360)
-(235,1356)
-(238,1355)
-(240,1352)
-(247,1350)
-(248,1345)
-215
-(277,1364)
-(274,1363)
-(272,1362)
-(269,1361)
-(269,1357)
-(268,1356)
-(265,1355)
-(262,1357)
-(260,1354)
-(257,1352)
-(253,1352)
-(249,1347)
-(248,1343)
-(248,1336)
-(250,1330)
-(253,1326)
-(255,1320)
-(254,1317)
-(254,1312)
-(256,1310)
-(256,1306)
-(258,1305)
-(258,1298)
-(255,1292)
-(256,1288)
-(257,1281)
-(260,1277)
-(259,1275)
-(257,1274)
-(257,1273)
-(260,1267)
-(264,1264)
-(266,1258)
-(267,1250)
-(266,1249)
-(265,1247)
-(265,1235)
-(271,1227)
-(273,1226)
-(277,1227)
-(280,1224)
-(286,1221)
-(288,1214)
-(292,1211)
-(295,1205)
-(299,1200)
-(300,1194)
-(305,1190)
-(308,1182)
-(308,1177)
-(309,1173)
-(308,1170)
-(308,1165)
-(305,1162)
-(300,1154)
-(297,1151)
-(296,1146)
-(293,1144)
-(290,1143)
-(288,1141)
-(285,1140)
-(283,1137)
-(280,1136)
-(279,1134)
-(277,1133)
-(274,1130)
-(265,1127)
-(264,1125)
-(262,1122)
-(261,1119)
-(262,1115)
-(261,1113)
-(258,1112)
-(253,1116)
-(248,1118)
-(241,1119)
-(238,1119)
-(233,1117)
-(224,1115)
-(207,1118)
-(192,1118)
-(188,1117)
-(184,1112)
-(180,1110)
-(177,1107)
-(169,1104)
-(164,1104)
-(157,1101)
-(141,1090)
-(139,1086)
-(135,1085)
-(128,1085)
-(122,1083)
-(116,1084)
-(111,1083)
-(93,1084)
-(89,1082)
-(85,1080)
-(71,1076)
-(63,1071)
-(61,1071)
-(58,1071)
-(50,1073)
-(40,1072)
-(36,1073)
-(29,1076)
-(24,1076)
-(21,1075)
-(13,1068)
-(-6,1062)
-(-10,1060)
-(-19,1063)
-(-27,1062)
-(-30,1061)
-(-33,1058)
-(-39,1057)
-(-43,1053)
-(-44,1052)
-(-44,1050)
-(-46,1048)
-(-53,1045)
-(-55,1041)
-(-59,1038)
-(-59,1035)
-(-62,1030)
-(-63,1021)
-(-68,1016)
-(-69,1014)
-(-68,1014)
-(-68,1012)
-(-71,1010)
-(-71,1009)
-(-85,1001)
-(-91,998)
-(-95,997)
-(-99,995)
-(-102,994)
-(-104,992)
-(-108,991)
-(-112,984)
-(-119,980)
-(-124,975)
-(-128,972)
-(-130,969)
-(-132,967)
-(-144,968)
-(-149,970)
-(-153,970)
-(-155,973)
-(-158,973)
-(-163,971)
-(-175,970)
-(-186,972)
-(-189,971)
-(-192,972)
-(-196,972)
-(-197,973)
-(-199,974)
-(-205,971)
-(-207,969)
-(-210,968)
-(-215,966)
-(-217,963)
-(-221,962)
-(-231,956)
-(-236,954)
-(-238,950)
-(-239,942)
-(-243,933)
-(-246,931)
-(-259,916)
-(-261,912)
-(-270,906)
-(-273,901)
-(-279,895)
-(-290,890)
-(-290,887)
-(-295,880)
-(-293,875)
-(-291,873)
-(-290,869)
-(-293,867)
-(-295,859)
-(-296,850)
-(-301,844)
-(-302,842)
-(-301,841)
-(-303,840)
-(-303,839)
-(-308,839)
-(-312,838)
-(-313,836)
-(-313,833)
-(-319,831)
-(-319,829)
-(-316,826)
-(-317,824)
-(-319,823)
-(-317,818)
-(-317,817)
-(-321,812)
-(-322,812)
-(-323,812)
-(-326,814)
-(-328,815)
-(-331,817)
-(-333,812)
-(-335,815)
-(-341,815)
-(-345,811)
-(-347,810)
-(-348,805)
-(-351,805)
-(-353,801)
-(-351,791)
-367
-(-713,1587)
-(-712,1585)
-(-709,1584)
-(-706,1586)
-(-704,1585)
-(-705,1577)
-(-705,1574)
-(-704,1573)
-(-701,1570)
-(-700,1570)
-(-699,1568)
-(-701,1564)
-(-700,1557)
-(-699,1556)
-(-698,1553)
-(-697,1553)
-(-697,1552)
-(-694,1552)
-(-689,1549)
-(-688,1549)
-(-685,1547)
-(-684,1547)
-(-684,1546)
-(-681,1545)
-(-680,1541)
-(-678,1541)
-(-679,1540)
-(-677,1539)
-(-677,1538)
-(-676,1538)
-(-676,1536)
-(-671,1536)
-(-670,1534)
-(-671,1533)
-(-669,1533)
-(-666,1532)
-(-662,1534)
-(-661,1535)
-(-660,1538)
-(-659,1540)
-(-657,1544)
-(-653,1543)
-(-650,1545)
-(-647,1544)
-(-645,1546)
-(-644,1546)
-(-640,1544)
-(-639,1544)
-(-637,1541)
-(-637,1541)
-(-636,1541)
-(-633,1541)
-(-633,1540)
-(-630,1538)
-(-630,1535)
-(-627,1534)
-(-629,1533)
-(-630,1528)
-(-628,1525)
-(-626,1524)
-(-625,1526)
-(-624,1527)
-(-622,1525)
-(-620,1525)
-(-616,1527)
-(-615,1526)
-(-613,1524)
-(-609,1525)
-(-606,1524)
-(-603,1526)
-(-601,1525)
-(-594,1533)
-(-592,1534)
-(-587,1533)
-(-584,1533)
-(-583,1531)
-(-581,1532)
-(-581,1531)
-(-579,1531)
-(-578,1529)
-(-578,1531)
-(-575,1529)
-(-569,1530)
-(-564,1531)
-(-564,1532)
-(-563,1531)
-(-560,1533)
-(-559,1532)
-(-559,1533)
-(-557,1532)
-(-554,1534)
-(-552,1535)
-(-554,1536)
-(-554,1538)
-(-555,1540)
-(-558,1541)
-(-558,1542)
-(-558,1543)
-(-556,1544)
-(-556,1546)
-(-552,1548)
-(-552,1556)
-(-550,1556)
-(-549,1557)
-(-547,1557)
-(-545,1560)
-(-543,1560)
-(-542,1561)
-(-540,1562)
-(-535,1565)
-(-532,1562)
-(-528,1561)
-(-525,1561)
-(-524,1563)
-(-522,1565)
-(-521,1568)
-(-519,1570)
-(-519,1571)
-(-517,1572)
-(-516,1577)
-(-515,1577)
-(-513,1577)
-(-511,1579)
-(-509,1575)
-(-508,1575)
-(-505,1576)
-(-505,1578)
-(-503,1579)
-(-503,1581)
-(-501,1581)
-(-498,1580)
-(-497,1583)
-(-496,1589)
-(-497,1593)
-(-494,1597)
-(-495,1598)
-(-495,1599)
-(-492,1602)
-(-493,1603)
-(-492,1604)
-(-491,1605)
-(-490,1606)
-(-490,1607)
-(-488,1607)
-(-487,1606)
-(-485,1607)
-(-484,1607)
-(-484,1608)
-(-483,1608)
-(-483,1609)
-(-481,1610)
-(-481,1611)
-(-479,1612)
-(-478,1614)
-(-477,1614)
-(-477,1617)
-(-475,1618)
-(-474,1617)
-(-473,1618)
-(-471,1618)
-(-469,1615)
-(-466,1613)
-(-464,1609)
-(-461,1608)
-(-455,1610)
-(-454,1612)
-(-449,1611)
-(-447,1612)
-(-447,1613)
-(-447,1616)
-(-447,1617)
-(-442,1617)
-(-436,1621)
-(-432,1622)
-(-430,1622)
-(-429,1624)
-(-425,1624)
-(-425,1625)
-(-418,1623)
-(-416,1621)
-(-411,1621)
-(-407,1618)
-(-405,1617)
-(-388,1619)
-(-386,1619)
-(-380,1618)
-(-376,1615)
-(-372,1616)
-(-367,1615)
-(-361,1614)
-(-359,1615)
-(-354,1613)
-(-345,1615)
-(-339,1615)
-(-333,1618)
-(-328,1618)
-(-324,1621)
-(-318,1621)
-(-315,1619)
-(-309,1620)
-(-307,1618)
-(-303,1618)
-(-302,1616)
-(-299,1617)
-(-294,1615)
-(-289,1616)
-(-286,1615)
-(-285,1611)
-(-280,1609)
-(-276,1604)
-(-272,1594)
-(-265,1588)
-(-263,1582)
-(-260,1576)
-(-255,1574)
-(-249,1565)
-(-243,1560)
-(-239,1559)
-(-231,1562)
-(-223,1563)
-(-217,1561)
-(-210,1554)
-(-207,1553)
-(-203,1553)
-(-198,1553)
-(-191,1556)
-(-188,1556)
-(-186,1557)
-(-182,1555)
-(-170,1557)
-(-165,1553)
-(-160,1549)
-(-145,1547)
-(-142,1545)
-(-135,1546)
-(-122,1546)
-(-119,1548)
-(-112,1549)
-(-108,1550)
-(-102,1551)
-(-98,1552)
-(-90,1551)
-(-83,1552)
-(-74,1547)
-(-67,1542)
-(-60,1540)
-(-57,1538)
-(-52,1535)
-(-47,1530)
-(-37,1526)
-(-31,1524)
-(-24,1525)
-(-19,1528)
-(-15,1532)
-(-8,1534)
-(-4,1533)
-(0,1531)
-(10,1531)
-(16,1529)
-(21,1524)
-(22,1521)
-(25,1519)
-(26,1517)
-(30,1512)
-(33,1502)
-(32,1496)
-(34,1490)
-(34,1485)
-(41,1475)
-(44,1474)
-(46,1471)
-(46,1459)
-(48,1457)
-(55,1454)
-(58,1450)
-(64,1436)
-(66,1427)
-(70,1418)
-(85,1407)
-(94,1397)
-(100,1394)
-(107,1389)
-(111,1383)
-(115,1379)
-(117,1375)
-(116,1369)
-(121,1363)
-(126,1360)
-(130,1349)
-(132,1341)
-(133,1326)
-(131,1314)
-(129,1297)
-(130,1293)
-(128,1290)
-(128,1285)
-(126,1283)
-(126,1277)
-(125,1278)
-(125,1277)
-(124,1267)
-(123,1262)
-(124,1259)
-(124,1254)
-(121,1246)
-(122,1236)
-(122,1227)
-(120,1221)
-(120,1213)
-(119,1210)
-(119,1208)
-(116,1202)
-(115,1194)
-(110,1180)
-(110,1175)
-(104,1160)
-(101,1154)
-(97,1151)
-(96,1147)
-(85,1135)
-(83,1131)
-(70,1115)
-(64,1110)
-(63,1107)
-(52,1100)
-(48,1099)
-(44,1098)
-(46,1099)
-(46,1099)
-(34,1098)
-(33,1097)
-(33,1097)
-(40,1097)
-(34,1096)
-(19,1094)
-(1,1088)
-(-4,1088)
-(-8,1085)
-(-11,1083)
-(-20,1074)
-(-25,1070)
-(-25,1067)
-(-24,1066)
-(-20,1066)
-(-15,1064)
-(-12,1064)
-(8,1069)
-(12,1071)
-(16,1075)
-(20,1078)
-(28,1078)
-(32,1077)
-(36,1074)
-(40,1074)
-(47,1075)
-(61,1073)
-(75,1080)
-(81,1080)
-(92,1085)
-(102,1086)
-(112,1084)
-(118,1086)
-(125,1085)
-(137,1088)
-(139,1090)
-(144,1093)
-(146,1093)
-116
-(41,1475)
-(43,1473)
-(44,1469)
-(44,1459)
-(45,1457)
-(48,1456)
-(52,1452)
-(55,1450)
-(58,1447)
-(59,1443)
-(64,1433)
-(64,1431)
-(64,1428)
-(66,1420)
-(74,1411)
-(85,1402)
-(97,1390)
-(106,1383)
-(110,1381)
-(113,1374)
-(113,1371)
-(115,1367)
-(116,1362)
-(118,1358)
-(125,1353)
-(128,1347)
-(129,1342)
-(130,1332)
-(127,1310)
-(128,1307)
-(127,1295)
-(124,1287)
-(125,1283)
-(116,1273)
-(115,1267)
-(115,1257)
-(118,1252)
-(119,1245)
-(118,1242)
-(117,1235)
-(119,1228)
-(116,1222)
-(116,1212)
-(115,1209)
-(114,1203)
-(110,1192)
-(105,1184)
-(102,1181)
-(101,1175)
-(97,1170)
-(96,1165)
-(94,1153)
-(90,1146)
-(70,1124)
-(68,1119)
-(64,1113)
-(60,1111)
-(51,1104)
-(47,1102)
-(43,1102)
-(41,1103)
-(38,1101)
-(34,1101)
-(26,1099)
-(19,1099)
-(7,1097)
-(6,1097)
-(7,1099)
-(8,1100)
-(7,1100)
-(5,1099)
-(3,1102)
-(0,1103)
-(-1,1107)
-(-2,1104)
-(-1,1102)
-(2,1101)
-(4,1098)
-(3,1095)
-(-1,1093)
-(-4,1091)
-(-9,1089)
-(-14,1085)
-(-17,1081)
-(-21,1079)
-(-23,1075)
-(-27,1072)
-(-36,1067)
-(-40,1061)
-(-42,1060)
-(-42,1057)
-(-45,1055)
-(-47,1056)
-(-50,1054)
-(-54,1048)
-(-63,1040)
-(-64,1037)
-(-64,1030)
-(-67,1028)
-(-68,1024)
-(-73,1017)
-(-86,1007)
-(-91,1006)
-(-97,1001)
-(-100,1001)
-(-109,997)
-(-118,991)
-(-127,978)
-(-128,974)
-(-135,975)
-(-140,973)
-(-158,975)
-(-164,973)
-(-172,971)
-(-181,973)
-(-184,971)
-36
-(-355,1751)
-(-353,1748)
-(-355,1744)
-(-353,1736)
-(-352,1733)
-(-351,1724)
-(-352,1719)
-(-354,1715)
-(-354,1710)
-(-357,1705)
-(-355,1702)
-(-355,1697)
-(-354,1696)
-(-352,1693)
-(-352,1691)
-(-352,1690)
-(-340,1679)
-(-342,1674)
-(-344,1673)
-(-345,1670)
-(-349,1666)
-(-352,1665)
-(-353,1661)
-(-352,1660)
-(-352,1659)
-(-355,1655)
-(-355,1652)
-(-361,1638)
-(-361,1633)
-(-359,1630)
-(-357,1627)
-(-355,1627)
-(-350,1621)
-(-345,1617)
-(-342,1617)
-(-340,1615)
-188
-(-683,1456)
-(-681,1459)
-(-676,1461)
-(-668,1460)
-(-665,1457)
-(-668,1448)
-(-668,1439)
-(-672,1435)
-(-674,1431)
-(-685,1420)
-(-690,1404)
-(-696,1400)
-(-698,1396)
-(-698,1393)
-(-700,1389)
-(-703,1387)
-(-704,1385)
-(-705,1384)
-(-708,1378)
-(-711,1376)
-(-713,1369)
-(-716,1365)
-(-719,1363)
-(-727,1362)
-(-730,1360)
-(-736,1353)
-(-740,1351)
-(-745,1352)
-(-747,1354)
-(-755,1352)
-(-760,1353)
-(-764,1355)
-(-768,1358)
-(-770,1359)
-(-771,1360)
-(-773,1361)
-(-776,1362)
-(-777,1362)
-(-781,1362)
-(-783,1360)
-(-787,1362)
-(-788,1363)
-(-788,1365)
-(-790,1367)
-(-791,1370)
-(-795,1374)
-(-797,1377)
-(-800,1378)
-(-800,1379)
-(-801,1382)
-(-807,1384)
-(-810,1384)
-(-815,1387)
-(-819,1388)
-(-821,1391)
-(-823,1390)
-(-824,1392)
-(-826,1394)
-(-827,1393)
-(-832,1392)
-(-835,1394)
-(-837,1393)
-(-839,1394)
-(-843,1394)
-(-849,1391)
-(-855,1391)
-(-862,1394)
-(-867,1390)
-(-870,1389)
-(-872,1387)
-(-876,1386)
-(-878,1384)
-(-882,1384)
-(-884,1382)
-(-888,1381)
-(-892,1381)
-(-894,1379)
-(-902,1376)
-(-907,1378)
-(-911,1376)
-(-914,1376)
-(-915,1378)
-(-918,1380)
-(-919,1378)
-(-920,1379)
-(-922,1382)
-(-924,1382)
-(-926,1385)
-(-926,1386)
-(-927,1387)
-(-931,1386)
-(-933,1388)
-(-935,1387)
-(-936,1388)
-(-937,1387)
-(-939,1387)
-(-941,1385)
-(-942,1386)
-(-941,1387)
-(-941,1387)
-(-950,1391)
-(-953,1391)
-(-955,1390)
-(-959,1392)
-(-961,1391)
-(-963,1391)
-(-965,1394)
-(-966,1393)
-(-968,1393)
-(-969,1392)
-(-970,1393)
-(-975,1391)
-(-983,1398)
-(-984,1400)
-(-987,1404)
-(-995,1409)
-(-997,1412)
-(-1000,1415)
-(-1001,1418)
-(-1008,1426)
-(-1012,1429)
-(-1012,1431)
-(-1016,1434)
-(-1018,1438)
-(-1020,1439)
-(-1023,1442)
-(-1031,1445)
-(-1036,1449)
-(-1043,1450)
-(-1046,1454)
-(-1049,1454)
-(-1049,1455)
-(-1049,1461)
-(-1048,1462)
-(-1049,1467)
-(-1052,1474)
-(-1052,1475)
-(-1050,1478)
-(-1050,1480)
-(-1051,1486)
-(-1051,1487)
-(-1051,1489)
-(-1051,1492)
-(-1052,1496)
-(-1053,1496)
-(-1053,1498)
-(-1055,1499)
-(-1055,1502)
-(-1057,1502)
-(-1057,1504)
-(-1059,1506)
-(-1061,1506)
-(-1062,1507)
-(-1061,1508)
-(-1066,1511)
-(-1066,1514)
-(-1070,1520)
-(-1072,1531)
-(-1071,1533)
-(-1070,1537)
-(-1068,1541)
-(-1070,1542)
-(-1071,1545)
-(-1073,1548)
-(-1075,1551)
-(-1076,1550)
-(-1078,1552)
-(-1080,1555)
-(-1080,1559)
-(-1079,1560)
-(-1079,1562)
-(-1078,1562)
-(-1078,1566)
-(-1076,1566)
-(-1075,1570)
-(-1073,1573)
-(-1075,1574)
-(-1076,1579)
-(-1076,1584)
-(-1080,1590)
-(-1080,1594)
-(-1083,1596)
-(-1085,1602)
-(-1082,1606)
-(-1081,1610)
-(-1080,1610)
-(-1079,1613)
-(-1078,1621)
-128
-(-992,1726)
-(-989,1729)
-(-983,1731)
-(-978,1730)
-(-974,1732)
-(-970,1731)
-(-967,1732)
-(-964,1731)
-(-962,1732)
-(-957,1737)
-(-957,1743)
-(-953,1745)
-(-952,1748)
-(-947,1754)
-(-942,1766)
-(-942,1771)
-(-940,1774)
-(-940,1778)
-(-940,1780)
-(-937,1790)
-(-938,1797)
-(-939,1800)
-(-938,1805)
-(-938,1810)
-(-940,1813)
-(-938,1815)
-(-940,1821)
-(-938,1826)
-(-939,1835)
-(-937,1840)
-(-938,1842)
-(-940,1851)
-(-940,1852)
-(-941,1858)
-(-945,1866)
-(-944,1875)
-(-942,1877)
-(-940,1884)
-(-940,1892)
-(-941,1894)
-(-942,1898)
-(-942,1900)
-(-940,1903)
-(-939,1913)
-(-939,1927)
-(-937,1928)
-(-938,1935)
-(-938,1937)
-(-937,1940)
-(-934,1941)
-(-934,1941)
-(-935,1943)
-(-935,1947)
-(-936,1949)
-(-934,1959)
-(-936,1962)
-(-934,1966)
-(-935,1973)
-(-936,1975)
-(-936,1980)
-(-941,1983)
-(-944,1986)
-(-946,1987)
-(-949,1990)
-(-949,1994)
-(-955,1998)
-(-957,2002)
-(-960,2003)
-(-961,2007)
-(-964,2008)
-(-966,2009)
-(-968,2011)
-(-970,2015)
-(-973,2017)
-(-975,2020)
-(-983,2026)
-(-985,2029)
-(-988,2031)
-(-994,2036)
-(-995,2037)
-(-995,2040)
-(-998,2041)
-(-998,2047)
-(-1002,2054)
-(-1002,2060)
-(-1006,2070)
-(-1006,2072)
-(-1011,2079)
-(-1012,2085)
-(-1017,2091)
-(-1025,2094)
-(-1037,2101)
-(-1047,2104)
-(-1056,2109)
-(-1060,2113)
-(-1064,2121)
-(-1068,2124)
-(-1069,2126)
-(-1073,2128)
-(-1075,2130)
-(-1079,2132)
-(-1081,2134)
-(-1082,2137)
-(-1082,2140)
-(-1083,2144)
-(-1085,2146)
-(-1086,2149)
-(-1088,2151)
-(-1089,2151)
-(-1090,2152)
-(-1095,2154)
-(-1096,2157)
-(-1098,2158)
-(-1099,2161)
-(-1102,2165)
-(-1111,2169)
-(-1115,2169)
-(-1116,2170)
-(-1118,2167)
-(-1120,2167)
-(-1121,2167)
-(-1122,2168)
-(-1123,2166)
-(-1124,2168)
-(-1123,2170)
-(-1126,2172)
-(-1128,2170)
-(-1129,2168)
-26
-(-999,2049)
-(-1004,2052)
-(-1004,2057)
-(-1006,2066)
-(-1008,2069)
-(-1010,2075)
-(-1014,2079)
-(-1015,2085)
-(-1019,2089)
-(-1020,2092)
-(-1022,2093)
-(-1027,2093)
-(-1032,2097)
-(-1037,2098)
-(-1042,2101)
-(-1053,2105)
-(-1059,2110)
-(-1065,2119)
-(-1070,2124)
-(-1069,2124)
-(-1069,2125)
-(-1071,2126)
-(-1072,2125)
-(-1074,2126)
-(-1076,2129)
-(-1079,2132)
-47
-(-864,2114)
-(-867,2114)
-(-868,2116)
-(-870,2115)
-(-885,2117)
-(-887,2118)
-(-893,2119)
-(-899,2118)
-(-900,2116)
-(-904,2114)
-(-913,2111)
-(-916,2108)
-(-918,2107)
-(-920,2102)
-(-922,2101)
-(-922,2097)
-(-924,2095)
-(-933,2091)
-(-936,2086)
-(-940,2086)
-(-943,2084)
-(-956,2086)
-(-960,2088)
-(-965,2089)
-(-967,2093)
-(-973,2096)
-(-975,2096)
-(-977,2095)
-(-982,2096)
-(-988,2105)
-(-997,2110)
-(-999,2114)
-(-1002,2117)
-(-1007,2117)
-(-1009,2118)
-(-1017,2116)
-(-1019,2119)
-(-1022,2118)
-(-1024,2118)
-(-1028,2117)
-(-1036,2118)
-(-1042,2120)
-(-1045,2119)
-(-1047,2120)
-(-1049,2120)
-(-1050,2121)
-(-1062,2119)
-317
-(-1736,1741)
-(-1741,1742)
-(-1746,1744)
-(-1751,1741)
-(-1756,1741)
-(-1758,1739)
-(-1759,1737)
-(-1757,1732)
-(-1759,1729)
-(-1761,1728)
-(-1768,1727)
-(-1770,1724)
-(-1772,1724)
-(-1773,1722)
-(-1776,1722)
-(-1776,1724)
-(-1778,1727)
-(-1779,1725)
-(-1781,1726)
-(-1781,1724)
-(-1783,1724)
-(-1785,1726)
-(-1786,1726)
-(-1787,1727)
-(-1789,1726)
-(-1791,1728)
-(-1793,1723)
-(-1794,1719)
-(-1797,1720)
-(-1799,1722)
-(-1801,1717)
-(-1802,1718)
-(-1804,1716)
-(-1804,1711)
-(-1803,1709)
-(-1804,1706)
-(-1804,1703)
-(-1802,1702)
-(-1800,1699)
-(-1800,1696)
-(-1802,1696)
-(-1802,1693)
-(-1803,1691)
-(-1802,1689)
-(-1804,1687)
-(-1805,1683)
-(-1804,1679)
-(-1807,1677)
-(-1805,1675)
-(-1806,1675)
-(-1808,1673)
-(-1811,1673)
-(-1812,1674)
-(-1812,1673)
-(-1814,1672)
-(-1817,1668)
-(-1816,1663)
-(-1818,1664)
-(-1822,1662)
-(-1821,1659)
-(-1822,1654)
-(-1824,1654)
-(-1822,1649)
-(-1819,1647)
-(-1820,1644)
-(-1819,1641)
-(-1822,1642)
-(-1822,1644)
-(-1824,1643)
-(-1824,1639)
-(-1826,1641)
-(-1826,1637)
-(-1827,1637)
-(-1828,1639)
-(-1829,1638)
-(-1829,1635)
-(-1829,1632)
-(-1830,1631)
-(-1830,1628)
-(-1832,1628)
-(-1833,1627)
-(-1832,1625)
-(-1832,1620)
-(-1833,1620)
-(-1834,1622)
-(-1836,1622)
-(-1836,1617)
-(-1839,1616)
-(-1839,1612)
-(-1841,1611)
-(-1839,1609)
-(-1839,1605)
-(-1841,1602)
-(-1840,1600)
-(-1841,1598)
-(-1840,1598)
-(-1840,1593)
-(-1838,1589)
-(-1835,1589)
-(-1834,1586)
-(-1835,1580)
-(-1835,1577)
-(-1834,1576)
-(-1833,1575)
-(-1832,1572)
-(-1830,1571)
-(-1829,1569)
-(-1830,1568)
-(-1831,1569)
-(-1832,1568)
-(-1831,1564)
-(-1832,1559)
-(-1834,1557)
-(-1832,1554)
-(-1833,1552)
-(-1837,1552)
-(-1837,1551)
-(-1837,1528)
-(-1833,1523)
-(-1833,1518)
-(-1830,1515)
-(-1827,1511)
-(-1824,1508)
-(-1820,1503)
-(-1817,1502)
-(-1816,1499)
-(-1799,1483)
-(-1798,1480)
-(-1794,1479)
-(-1793,1475)
-(-1789,1472)
-(-1789,1469)
-(-1787,1468)
-(-1787,1465)
-(-1782,1461)
-(-1779,1460)
-(-1779,1458)
-(-1777,1455)
-(-1778,1452)
-(-1778,1450)
-(-1775,1445)
-(-1770,1440)
-(-1768,1435)
-(-1763,1435)
-(-1761,1433)
-(-1758,1431)
-(-1758,1427)
-(-1753,1426)
-(-1751,1422)
-(-1750,1421)
-(-1747,1422)
-(-1744,1418)
-(-1745,1417)
-(-1747,1417)
-(-1752,1414)
-(-1753,1410)
-(-1754,1409)
-(-1752,1404)
-(-1752,1401)
-(-1756,1400)
-(-1756,1398)
-(-1758,1393)
-(-1761,1391)
-(-1761,1386)
-(-1765,1386)
-(-1765,1381)
-(-1766,1380)
-(-1768,1381)
-(-1772,1380)
-(-1770,1377)
-(-1772,1375)
-(-1775,1374)
-(-1772,1371)
-(-1773,1371)
-(-1776,1373)
-(-1780,1372)
-(-1781,1369)
-(-1780,1367)
-(-1779,1364)
-(-1776,1362)
-(-1774,1362)
-(-1773,1360)
-(-1770,1359)
-(-1766,1355)
-(-1766,1352)
-(-1763,1348)
-(-1764,1344)
-(-1760,1341)
-(-1760,1337)
-(-1748,1335)
-(-1745,1332)
-(-1742,1332)
-(-1740,1330)
-(-1738,1330)
-(-1731,1325)
-(-1730,1323)
-(-1731,1323)
-(-1733,1321)
-(-1732,1319)
-(-1729,1317)
-(-1729,1313)
-(-1727,1313)
-(-1720,1309)
-(-1718,1306)
-(-1712,1305)
-(-1710,1302)
-(-1707,1302)
-(-1703,1292)
-(-1704,1290)
-(-1703,1288)
-(-1706,1285)
-(-1705,1279)
-(-1708,1276)
-(-1709,1272)
-(-1713,1271)
-(-1717,1268)
-(-1723,1260)
-(-1724,1258)
-(-1723,1255)
-(-1725,1251)
-(-1726,1242)
-(-1724,1232)
-(-1721,1230)
-(-1719,1226)
-(-1718,1223)
-(-1716,1221)
-(-1715,1218)
-(-1713,1217)
-(-1712,1215)
-(-1707,1204)
-(-1705,1200)
-(-1706,1193)
-(-1709,1189)
-(-1709,1183)
-(-1711,1182)
-(-1712,1174)
-(-1715,1172)
-(-1716,1171)
-(-1720,1170)
-(-1722,1168)
-(-1724,1162)
-(-1725,1156)
-(-1728,1154)
-(-1731,1156)
-(-1733,1158)
-(-1734,1157)
-(-1734,1154)
-(-1736,1151)
-(-1738,1147)
-(-1736,1143)
-(-1736,1141)
-(-1732,1137)
-(-1730,1123)
-(-1732,1113)
-(-1733,1110)
-(-1733,1108)
-(-1734,1103)
-(-1733,1100)
-(-1733,1093)
-(-1735,1091)
-(-1732,1083)
-(-1728,1078)
-(-1727,1075)
-(-1725,1065)
-(-1726,1063)
-(-1725,1062)
-(-1726,1060)
-(-1726,1058)
-(-1725,1056)
-(-1722,1056)
-(-1721,1055)
-(-1722,1053)
-(-1723,1045)
-(-1721,1044)
-(-1715,1045)
-(-1714,1044)
-(-1713,1042)
-(-1710,1041)
-(-1708,1039)
-(-1706,1043)
-(-1704,1044)
-(-1701,1044)
-(-1698,1042)
-(-1694,1041)
-(-1693,1039)
-(-1695,1034)
-(-1694,1033)
-(-1692,1031)
-(-1686,1031)
-(-1686,1028)
-(-1683,1026)
-(-1682,1024)
-(-1682,1022)
-(-1684,1020)
-(-1683,1019)
-(-1684,1017)
-(-1684,1015)
-(-1686,1013)
-(-1691,1013)
-(-1690,1011)
-(-1691,1010)
-(-1692,1011)
-(-1693,1011)
-(-1693,1008)
-(-1696,1009)
-(-1695,1007)
-(-1696,1006)
-(-1697,1006)
-(-1702,1008)
-(-1704,1006)
-(-1707,1007)
-(-1710,1004)
-(-1710,1002)
-(-1708,1001)
-(-1710,997)
-(-1712,996)
-(-1715,989)
-198
-(116,-4595)
-(117,-4588)
-(116,-4578)
-(112,-4572)
-(113,-4569)
-(116,-4565)
-(118,-4562)
-(122,-4560)
-(123,-4552)
-(124,-4551)
-(127,-4549)
-(127,-4546)
-(131,-4541)
-(134,-4541)
-(138,-4540)
-(142,-4540)
-(143,-4537)
-(149,-4538)
-(151,-4535)
-(154,-4530)
-(158,-4529)
-(163,-4526)
-(165,-4522)
-(170,-4519)
-(173,-4518)
-(177,-4519)
-(185,-4515)
-(186,-4517)
-(190,-4517)
-(195,-4514)
-(198,-4515)
-(200,-4514)
-(201,-4514)
-(203,-4512)
-(205,-4511)
-(206,-4509)
-(207,-4508)
-(210,-4508)
-(212,-4505)
-(213,-4506)
-(217,-4506)
-(221,-4502)
-(223,-4499)
-(225,-4499)
-(230,-4497)
-(232,-4496)
-(234,-4495)
-(235,-4493)
-(242,-4492)
-(243,-4491)
-(245,-4490)
-(247,-4489)
-(251,-4489)
-(257,-4487)
-(257,-4494)
-(271,-4488)
-(275,-4489)
-(275,-4488)
-(277,-4489)
-(279,-4487)
-(280,-4489)
-(282,-4488)
-(283,-4490)
-(285,-4487)
-(288,-4485)
-(290,-4486)
-(293,-4486)
-(293,-4485)
-(296,-4485)
-(297,-4486)
-(299,-4484)
-(301,-4485)
-(307,-4484)
-(309,-4484)
-(311,-4484)
-(317,-4485)
-(321,-4482)
-(323,-4482)
-(323,-4481)
-(324,-4481)
-(325,-4480)
-(327,-4481)
-(328,-4480)
-(331,-4480)
-(333,-4481)
-(333,-4479)
-(334,-4478)
-(334,-4479)
-(337,-4478)
-(339,-4478)
-(340,-4479)
-(342,-4478)
-(343,-4479)
-(345,-4478)
-(346,-4480)
-(352,-4478)
-(355,-4475)
-(357,-4477)
-(360,-4474)
-(365,-4474)
-(366,-4476)
-(367,-4476)
-(374,-4474)
-(376,-4473)
-(378,-4469)
-(384,-4465)
-(385,-4463)
-(388,-4464)
-(391,-4464)
-(393,-4465)
-(397,-4463)
-(400,-4456)
-(402,-4454)
-(407,-4447)
-(412,-4444)
-(416,-4440)
-(418,-4435)
-(421,-4433)
-(424,-4433)
-(427,-4436)
-(433,-4436)
-(445,-4434)
-(448,-4435)
-(451,-4434)
-(453,-4432)
-(457,-4429)
-(458,-4430)
-(460,-4429)
-(462,-4430)
-(466,-4428)
-(471,-4429)
-(474,-4431)
-(483,-4432)
-(487,-4431)
-(489,-4427)
-(492,-4428)
-(496,-4426)
-(498,-4426)
-(499,-4425)
-(501,-4426)
-(503,-4425)
-(509,-4426)
-(511,-4428)
-(514,-4427)
-(519,-4430)
-(529,-4428)
-(533,-4433)
-(539,-4433)
-(540,-4441)
-(541,-4440)
-(543,-4443)
-(542,-4444)
-(542,-4449)
-(543,-4449)
-(544,-4448)
-(546,-4452)
-(549,-4455)
-(550,-4458)
-(552,-4458)
-(552,-4459)
-(554,-4461)
-(553,-4465)
-(556,-4466)
-(556,-4467)
-(554,-4472)
-(559,-4474)
-(560,-4477)
-(563,-4478)
-(563,-4480)
-(566,-4483)
-(567,-4488)
-(578,-4486)
-(581,-4490)
-(587,-4489)
-(590,-4492)
-(596,-4493)
-(597,-4492)
-(599,-4489)
-(601,-4488)
-(606,-4492)
-(607,-4496)
-(609,-4497)
-(617,-4495)
-(619,-4493)
-(622,-4492)
-(623,-4491)
-(626,-4490)
-(629,-4489)
-(634,-4484)
-(639,-4484)
-(646,-4483)
-(648,-4484)
-(651,-4484)
-(654,-4483)
-(656,-4485)
-(662,-4487)
-(664,-4491)
-(667,-4492)
-249
-(143,-3802)
-(142,-3812)
-(138,-3816)
-(137,-3822)
-(135,-3823)
-(134,-3825)
-(130,-3826)
-(128,-3828)
-(128,-3840)
-(128,-3842)
-(130,-3843)
-(133,-3848)
-(133,-3852)
-(135,-3856)
-(135,-3858)
-(137,-3862)
-(134,-3870)
-(138,-3873)
-(139,-3877)
-(140,-3879)
-(143,-3886)
-(143,-3888)
-(144,-3888)
-(144,-3892)
-(146,-3896)
-(146,-3901)
-(149,-3904)
-(149,-3906)
-(151,-3908)
-(151,-3912)
-(158,-3912)
-(162,-3911)
-(165,-3913)
-(167,-3912)
-(168,-3914)
-(172,-3915)
-(174,-3920)
-(175,-3921)
-(175,-3922)
-(179,-3923)
-(183,-3927)
-(187,-3928)
-(187,-3931)
-(189,-3932)
-(188,-3947)
-(188,-3950)
-(189,-3951)
-(190,-3952)
-(188,-3955)
-(190,-3960)
-(189,-3961)
-(187,-3962)
-(182,-3960)
-(180,-3964)
-(182,-3969)
-(182,-3981)
-(188,-3987)
-(189,-3990)
-(192,-3993)
-(200,-3994)
-(203,-3997)
-(205,-4000)
-(216,-4007)
-(220,-4016)
-(225,-4020)
-(228,-4021)
-(231,-4021)
-(234,-4019)
-(235,-4019)
-(238,-4023)
-(237,-4025)
-(236,-4029)
-(237,-4037)
-(237,-4045)
-(241,-4050)
-(241,-4056)
-(243,-4062)
-(245,-4064)
-(248,-4065)
-(250,-4067)
-(254,-4068)
-(258,-4068)
-(261,-4067)
-(264,-4068)
-(265,-4067)
-(267,-4069)
-(269,-4069)
-(271,-4072)
-(273,-4073)
-(273,-4072)
-(280,-4071)
-(284,-4069)
-(290,-4069)
-(293,-4070)
-(296,-4069)
-(298,-4068)
-(302,-4068)
-(303,-4067)
-(307,-4070)
-(313,-4069)
-(318,-4071)
-(324,-4067)
-(325,-4065)
-(329,-4059)
-(331,-4058)
-(332,-4057)
-(335,-4058)
-(341,-4059)
-(347,-4057)
-(356,-4049)
-(359,-4045)
-(362,-4046)
-(364,-4048)
-(367,-4050)
-(369,-4049)
-(372,-4047)
-(374,-4047)
-(375,-4045)
-(375,-4044)
-(377,-4041)
-(377,-4040)
-(383,-4037)
-(385,-4032)
-(388,-4030)
-(392,-4030)
-(396,-4028)
-(402,-4027)
-(405,-4026)
-(407,-4024)
-(409,-4023)
-(416,-4023)
-(422,-4025)
-(421,-4027)
-(423,-4028)
-(426,-4028)
-(429,-4026)
-(429,-4025)
-(430,-4024)
-(430,-4022)
-(433,-4019)
-(432,-4015)
-(436,-4011)
-(439,-4003)
-(440,-4000)
-(440,-3997)
-(445,-3995)
-(447,-3991)
-(450,-3991)
-(454,-3989)
-(458,-3984)
-(460,-3979)
-(459,-3974)
-(461,-3970)
-(463,-3967)
-(462,-3962)
-(462,-3955)
-(465,-3951)
-(472,-3944)
-(475,-3940)
-(476,-3933)
-(475,-3931)
-(472,-3926)
-(474,-3919)
-(472,-3915)
-(471,-3908)
-(470,-3905)
-(469,-3902)
-(463,-3896)
-(461,-3890)
-(463,-3884)
-(467,-3880)
-(467,-3871)
-(469,-3869)
-(472,-3875)
-(476,-3875)
-(479,-3875)
-(481,-3873)
-(482,-3869)
-(482,-3867)
-(480,-3865)
-(480,-3864)
-(482,-3862)
-(485,-3859)
-(486,-3853)
-(485,-3852)
-(482,-3850)
-(480,-3848)
-(480,-3844)
-(478,-3842)
-(478,-3840)
-(480,-3835)
-(485,-3833)
-(489,-3829)
-(489,-3824)
-(491,-3821)
-(489,-3815)
-(490,-3809)
-(491,-3807)
-(494,-3803)
-(496,-3797)
-(499,-3795)
-(500,-3790)
-(499,-3784)
-(500,-3778)
-(496,-3776)
-(496,-3775)
-(499,-3770)
-(505,-3766)
-(503,-3763)
-(505,-3759)
-(511,-3753)
-(511,-3750)
-(513,-3748)
-(512,-3745)
-(517,-3738)
-(516,-3735)
-(520,-3734)
-(522,-3731)
-(526,-3724)
-(529,-3724)
-(533,-3720)
-(532,-3723)
-(533,-3724)
-(537,-3726)
-(543,-3724)
-(543,-3729)
-(546,-3729)
-(544,-3731)
-(543,-3733)
-(547,-3737)
-(547,-3740)
-(548,-3740)
-(551,-3739)
-(554,-3739)
-(555,-3740)
-(559,-3741)
-(562,-3740)
-(563,-3742)
-(562,-3742)
-(563,-3743)
-(564,-3745)
-(568,-3745)
-(569,-3747)
-(572,-3747)
-(576,-3747)
-(581,-3742)
-(584,-3742)
-(583,-3741)
-(584,-3740)
-137
-(372,-4048)
-(372,-4046)
-(373,-4045)
-(373,-4042)
-(375,-4041)
-(375,-4039)
-(382,-4035)
-(383,-4032)
-(388,-4027)
-(396,-4027)
-(405,-4021)
-(411,-4021)
-(414,-4020)
-(417,-4021)
-(421,-4024)
-(423,-4024)
-(424,-4020)
-(427,-4019)
-(429,-4018)
-(429,-4014)
-(431,-4012)
-(433,-4008)
-(435,-4006)
-(436,-3999)
-(438,-3997)
-(440,-3993)
-(441,-3991)
-(448,-3989)
-(451,-3987)
-(454,-3985)
-(455,-3984)
-(456,-3980)
-(458,-3979)
-(458,-3976)
-(457,-3974)
-(458,-3970)
-(460,-3970)
-(460,-3969)
-(459,-3960)
-(460,-3955)
-(465,-3948)
-(471,-3942)
-(473,-3940)
-(473,-3935)
-(472,-3931)
-(471,-3928)
-(471,-3915)
-(469,-3912)
-(469,-3907)
-(468,-3903)
-(461,-3897)
-(459,-3894)
-(458,-3891)
-(461,-3884)
-(463,-3881)
-(465,-3878)
-(465,-3872)
-(469,-3867)
-(472,-3869)
-(479,-3869)
-(479,-3868)
-(478,-3864)
-(479,-3862)
-(481,-3860)
-(480,-3858)
-(483,-3856)
-(482,-3854)
-(479,-3850)
-(477,-3847)
-(476,-3838)
-(479,-3832)
-(483,-3831)
-(485,-3830)
-(486,-3828)
-(487,-3819)
-(488,-3817)
-(488,-3815)
-(489,-3812)
-(489,-3808)
-(492,-3803)
-(492,-3799)
-(496,-3796)
-(499,-3789)
-(498,-3783)
-(495,-3777)
-(495,-3774)
-(500,-3767)
-(500,-3764)
-(502,-3760)
-(507,-3756)
-(508,-3752)
-(510,-3750)
-(510,-3746)
-(513,-3741)
-(514,-3737)
-(515,-3735)
-(514,-3730)
-(515,-3727)
-(515,-3723)
-(512,-3722)
-(512,-3714)
-(512,-3713)
-(516,-3708)
-(515,-3700)
-(517,-3699)
-(518,-3700)
-(518,-3712)
-(519,-3717)
-(521,-3720)
-(520,-3722)
-(523,-3727)
-(525,-3724)
-(528,-3723)
-(530,-3722)
-(531,-3720)
-(534,-3719)
-(534,-3720)
-(534,-3723)
-(538,-3724)
-(542,-3722)
-(544,-3723)
-(545,-3725)
-(548,-3726)
-(549,-3728)
-(551,-3730)
-(556,-3734)
-(559,-3734)
-(558,-3737)
-(559,-3739)
-(562,-3739)
-(565,-3743)
-(569,-3743)
-(570,-3745)
-(573,-3746)
-(578,-3740)
-(580,-3740)
-(582,-3739)
-782
-(-927,-4313)
-(-924,-4310)
-(-923,-4306)
-(-920,-4304)
-(-921,-4301)
-(-921,-4300)
-(-914,-4298)
-(-911,-4299)
-(-910,-4298)
-(-911,-4296)
-(-909,-4295)
-(-905,-4298)
-(-899,-4298)
-(-897,-4297)
-(-892,-4291)
-(-885,-4289)
-(-883,-4288)
-(-882,-4289)
-(-880,-4287)
-(-873,-4288)
-(-866,-4288)
-(-863,-4290)
-(-857,-4290)
-(-852,-4293)
-(-850,-4294)
-(-849,-4299)
-(-848,-4302)
-(-840,-4304)
-(-833,-4309)
-(-829,-4310)
-(-830,-4315)
-(-830,-4319)
-(-829,-4319)
-(-827,-4320)
-(-826,-4324)
-(-827,-4330)
-(-822,-4336)
-(-822,-4340)
-(-820,-4344)
-(-816,-4346)
-(-816,-4350)
-(-814,-4354)
-(-814,-4356)
-(-811,-4362)
-(-806,-4368)
-(-806,-4373)
-(-804,-4374)
-(-804,-4379)
-(-806,-4381)
-(-805,-4383)
-(-806,-4384)
-(-808,-4386)
-(-808,-4387)
-(-806,-4388)
-(-806,-4391)
-(-802,-4398)
-(-793,-4404)
-(-790,-4408)
-(-788,-4410)
-(-786,-4414)
-(-784,-4413)
-(-779,-4414)
-(-778,-4413)
-(-776,-4415)
-(-771,-4417)
-(-766,-4418)
-(-762,-4420)
-(-757,-4424)
-(-758,-4425)
-(-755,-4428)
-(-751,-4430)
-(-750,-4432)
-(-746,-4431)
-(-745,-4433)
-(-743,-4433)
-(-738,-4437)
-(-727,-4441)
-(-726,-4444)
-(-724,-4445)
-(-717,-4443)
-(-715,-4441)
-(-713,-4437)
-(-712,-4437)
-(-700,-4444)
-(-697,-4444)
-(-695,-4447)
-(-689,-4448)
-(-681,-4454)
-(-676,-4456)
-(-672,-4455)
-(-669,-4455)
-(-668,-4454)
-(-672,-4445)
-(-670,-4443)
-(-672,-4436)
-(-678,-4427)
-(-678,-4425)
-(-676,-4421)
-(-674,-4423)
-(-671,-4423)
-(-668,-4425)
-(-665,-4424)
-(-659,-4427)
-(-656,-4427)
-(-651,-4425)
-(-648,-4427)
-(-643,-4425)
-(-638,-4433)
-(-636,-4434)
-(-634,-4439)
-(-628,-4442)
-(-620,-4443)
-(-618,-4440)
-(-615,-4441)
-(-612,-4440)
-(-612,-4443)
-(-610,-4442)
-(-607,-4442)
-(-606,-4439)
-(-605,-4437)
-(-604,-4438)
-(-604,-4441)
-(-602,-4443)
-(-596,-4444)
-(-594,-4443)
-(-597,-4441)
-(-596,-4439)
-(-591,-4437)
-(-590,-4438)
-(-589,-4440)
-(-591,-4447)
-(-589,-4449)
-(-584,-4449)
-(-582,-4451)
-(-579,-4449)
-(-574,-4450)
-(-573,-4453)
-(-568,-4453)
-(-570,-4457)
-(-568,-4457)
-(-567,-4457)
-(-563,-4460)
-(-561,-4465)
-(-557,-4465)
-(-554,-4463)
-(-550,-4462)
-(-546,-4465)
-(-547,-4467)
-(-546,-4468)
-(-544,-4468)
-(-542,-4466)
-(-541,-4470)
-(-538,-4469)
-(-536,-4470)
-(-533,-4470)
-(-529,-4474)
-(-527,-4474)
-(-525,-4470)
-(-522,-4466)
-(-519,-4465)
-(-519,-4463)
-(-514,-4461)
-(-514,-4460)
-(-516,-4458)
-(-516,-4456)
-(-514,-4456)
-(-511,-4457)
-(-506,-4456)
-(-507,-4461)
-(-511,-4463)
-(-507,-4467)
-(-509,-4470)
-(-506,-4471)
-(-502,-4471)
-(-499,-4470)
-(-497,-4470)
-(-495,-4472)
-(-494,-4476)
-(-490,-4474)
-(-491,-4478)
-(-490,-4479)
-(-483,-4477)
-(-482,-4481)
-(-479,-4480)
-(-480,-4485)
-(-479,-4487)
-(-478,-4486)
-(-477,-4484)
-(-478,-4482)
-(-476,-4482)
-(-472,-4486)
-(-472,-4487)
-(-475,-4488)
-(-475,-4489)
-(-472,-4491)
-(-473,-4492)
-(-477,-4492)
-(-476,-4494)
-(-472,-4496)
-(-471,-4499)
-(-470,-4498)
-(-467,-4496)
-(-465,-4500)
-(-459,-4503)
-(-458,-4501)
-(-460,-4498)
-(-459,-4497)
-(-452,-4502)
-(-450,-4501)
-(-447,-4498)
-(-443,-4499)
-(-440,-4505)
-(-437,-4507)
-(-437,-4509)
-(-435,-4509)
-(-434,-4510)
-(-434,-4514)
-(-435,-4516)
-(-434,-4516)
-(-431,-4515)
-(-431,-4518)
-(-430,-4519)
-(-428,-4515)
-(-424,-4513)
-(-424,-4509)
-(-423,-4508)
-(-420,-4507)
-(-418,-4510)
-(-416,-4511)
-(-410,-4508)
-(-409,-4506)
-(-409,-4505)
-(-408,-4504)
-(-401,-4505)
-(-398,-4509)
-(-397,-4508)
-(-396,-4505)
-(-394,-4504)
-(-393,-4507)
-(-393,-4511)
-(-388,-4513)
-(-387,-4512)
-(-386,-4509)
-(-383,-4508)
-(-381,-4509)
-(-379,-4509)
-(-376,-4510)
-(-373,-4510)
-(-372,-4512)
-(-371,-4512)
-(-369,-4509)
-(-365,-4507)
-(-366,-4505)
-(-369,-4506)
-(-368,-4504)
-(-367,-4503)
-(-364,-4504)
-(-363,-4504)
-(-363,-4499)
-(-366,-4496)
-(-363,-4492)
-(-359,-4491)
-(-360,-4488)
-(-360,-4487)
-(-359,-4487)
-(-357,-4485)
-(-358,-4484)
-(-361,-4483)
-(-362,-4481)
-(-360,-4481)
-(-357,-4482)
-(-355,-4481)
-(-350,-4477)
-(-350,-4475)
-(-346,-4474)
-(-343,-4471)
-(-343,-4470)
-(-346,-4469)
-(-346,-4466)
-(-348,-4464)
-(-344,-4462)
-(-347,-4460)
-(-344,-4457)
-(-343,-4457)
-(-342,-4456)
-(-340,-4457)
-(-339,-4456)
-(-338,-4453)
-(-336,-4449)
-(-335,-4449)
-(-333,-4453)
-(-332,-4452)
-(-331,-4449)
-(-330,-4449)
-(-329,-4450)
-(-329,-4452)
-(-327,-4451)
-(-326,-4449)
-(-323,-4451)
-(-323,-4450)
-(-324,-4449)
-(-323,-4448)
-(-321,-4445)
-(-319,-4446)
-(-316,-4445)
-(-311,-4447)
-(-308,-4444)
-(-304,-4444)
-(-303,-4441)
-(-299,-4442)
-(-299,-4440)
-(-300,-4439)
-(-305,-4437)
-(-303,-4434)
-(-303,-4431)
-(-299,-4429)
-(-298,-4426)
-(-292,-4426)
-(-292,-4425)
-(-295,-4422)
-(-294,-4421)
-(-293,-4421)
-(-288,-4424)
-(-287,-4423)
-(-286,-4418)
-(-281,-4416)
-(-282,-4413)
-(-278,-4415)
-(-277,-4413)
-(-271,-4408)
-(-270,-4408)
-(-271,-4411)
-(-269,-4411)
-(-265,-4406)
-(-259,-4407)
-(-253,-4402)
-(-248,-4403)
-(-247,-4402)
-(-247,-4399)
-(-252,-4394)
-(-252,-4392)
-(-247,-4382)
-(-245,-4382)
-(-243,-4383)
-(-238,-4387)
-(-229,-4386)
-(-227,-4387)
-(-226,-4391)
-(-223,-4391)
-(-218,-4389)
-(-210,-4381)
-(-207,-4380)
-(-206,-4377)
-(-205,-4367)
-(-203,-4365)
-(-204,-4362)
-(-204,-4360)
-(-202,-4356)
-(-204,-4347)
-(-204,-4343)
-(-205,-4341)
-(-204,-4337)
-(-205,-4333)
-(-201,-4327)
-(-199,-4320)
-(-195,-4313)
-(-191,-4310)
-(-192,-4308)
-(-196,-4305)
-(-201,-4306)
-(-203,-4304)
-(-207,-4304)
-(-212,-4302)
-(-217,-4296)
-(-218,-4294)
-(-222,-4290)
-(-225,-4287)
-(-226,-4281)
-(-225,-4276)
-(-225,-4273)
-(-224,-4272)
-(-225,-4270)
-(-232,-4266)
-(-233,-4263)
-(-234,-4249)
-(-234,-4244)
-(-232,-4241)
-(-232,-4233)
-(-232,-4232)
-(-233,-4232)
-(-236,-4233)
-(-237,-4231)
-(-236,-4230)
-(-234,-4230)
-(-235,-4224)
-(-234,-4222)
-(-232,-4221)
-(-232,-4217)
-(-233,-4216)
-(-238,-4212)
-(-242,-4212)
-(-244,-4210)
-(-244,-4208)
-(-246,-4207)
-(-248,-4203)
-(-253,-4198)
-(-254,-4198)
-(-257,-4198)
-(-261,-4202)
-(-263,-4197)
-(-263,-4193)
-(-258,-4180)
-(-255,-4177)
-(-254,-4174)
-(-251,-4172)
-(-249,-4167)
-(-245,-4162)
-(-243,-4162)
-(-241,-4163)
-(-240,-4167)
-(-239,-4173)
-(-238,-4175)
-(-236,-4175)
-(-235,-4174)
-(-234,-4171)
-(-223,-4164)
-(-221,-4159)
-(-218,-4159)
-(-215,-4162)
-(-211,-4156)
-(-207,-4155)
-(-207,-4127)
-(-209,-4123)
-(-211,-4115)
-(-209,-4109)
-(-210,-4103)
-(-209,-4096)
-(-210,-4090)
-(-207,-4082)
-(-203,-4073)
-(-199,-4071)
-(-192,-4071)
-(-187,-4075)
-(-179,-4073)
-(-169,-4063)
-(-165,-4054)
-(-161,-4049)
-(-159,-4044)
-(-154,-4042)
-(-153,-4042)
-(-157,-4038)
-(-156,-4033)
-(-157,-4031)
-(-160,-4027)
-(-161,-4021)
-(-163,-4019)
-(-164,-4019)
-(-161,-4006)
-(-158,-4003)
-(-155,-4003)
-(-153,-4000)
-(-152,-3995)
-(-152,-3989)
-(-156,-3982)
-(-157,-3978)
-(-156,-3972)
-(-150,-3971)
-(-148,-3970)
-(-149,-3967)
-(-151,-3963)
-(-151,-3962)
-(-149,-3960)
-(-150,-3957)
-(-150,-3954)
-(-151,-3951)
-(-153,-3949)
-(-158,-3944)
-(-157,-3937)
-(-160,-3932)
-(-163,-3931)
-(-163,-3924)
-(-166,-3921)
-(-165,-3917)
-(-169,-3913)
-(-172,-3911)
-(-177,-3906)
-(-179,-3905)
-(-184,-3900)
-(-186,-3895)
-(-190,-3891)
-(-196,-3887)
-(-198,-3883)
-(-200,-3883)
-(-201,-3887)
-(-203,-3888)
-(-215,-3887)
-(-209,-3885)
-(-205,-3885)
-(-202,-3881)
-(-205,-3877)
-(-206,-3870)
-(-213,-3866)
-(-215,-3864)
-(-216,-3860)
-(-221,-3854)
-(-224,-3850)
-(-225,-3844)
-(-228,-3841)
-(-229,-3838)
-(-230,-3830)
-(-232,-3827)
-(-233,-3823)
-(-234,-3821)
-(-234,-3819)
-(-232,-3815)
-(-232,-3812)
-(-233,-3808)
-(-235,-3804)
-(-238,-3790)
-(-241,-3790)
-(-240,-3796)
-(-241,-3800)
-(-243,-3802)
-(-244,-3815)
-(-245,-3817)
-(-246,-3810)
-(-250,-3816)
-(-254,-3819)
-(-252,-3816)
-(-252,-3814)
-(-250,-3810)
-(-246,-3806)
-(-247,-3805)
-(-248,-3804)
-(-252,-3804)
-(-255,-3803)
-(-260,-3806)
-(-263,-3810)
-(-269,-3811)
-(-264,-3807)
-(-263,-3807)
-(-262,-3805)
-(-258,-3801)
-(-254,-3801)
-(-252,-3799)
-(-250,-3800)
-(-245,-3799)
-(-245,-3796)
-(-244,-3795)
-(-244,-3790)
-(-245,-3790)
-(-245,-3784)
-(-243,-3780)
-(-241,-3774)
-(-237,-3767)
-(-235,-3765)
-(-235,-3756)
-(-235,-3755)
-(-231,-3747)
-(-229,-3743)
-(-230,-3740)
-(-224,-3744)
-(-222,-3743)
-(-226,-3739)
-(-232,-3724)
-(-238,-3718)
-(-239,-3711)
-(-238,-3707)
-(-234,-3705)
-(-233,-3698)
-(-227,-3695)
-(-223,-3692)
-(-217,-3683)
-(-217,-3677)
-(-218,-3673)
-(-216,-3668)
-(-218,-3658)
-(-218,-3653)
-(-216,-3650)
-(-212,-3649)
-(-201,-3640)
-(-201,-3629)
-(-199,-3622)
-(-201,-3614)
-(-201,-3609)
-(-197,-3597)
-(-192,-3592)
-(-189,-3594)
-(-188,-3593)
-(-185,-3586)
-(-185,-3583)
-(-185,-3581)
-(-186,-3580)
-(-186,-3584)
-(-189,-3587)
-(-190,-3588)
-(-191,-3587)
-(-191,-3582)
-(-192,-3581)
-(-191,-3580)
-(-189,-3581)
-(-188,-3581)
-(-188,-3576)
-(-192,-3573)
-(-192,-3571)
-(-189,-3573)
-(-188,-3571)
-(-191,-3565)
-(-191,-3562)
-(-197,-3548)
-(-195,-3543)
-(-195,-3541)
-(-197,-3538)
-(-203,-3534)
-(-204,-3532)
-(-204,-3528)
-(-202,-3526)
-(-203,-3521)
-(-202,-3518)
-(-198,-3514)
-(-194,-3513)
-(-190,-3509)
-(-194,-3498)
-(-194,-3494)
-(-192,-3492)
-(-190,-3490)
-(-178,-3488)
-(-173,-3486)
-(-170,-3480)
-(-168,-3470)
-(-165,-3466)
-(-161,-3461)
-(-154,-3457)
-(-147,-3454)
-(-145,-3452)
-(-144,-3448)
-(-145,-3445)
-(-148,-3441)
-(-156,-3437)
-(-158,-3430)
-(-157,-3428)
-(-153,-3424)
-(-152,-3422)
-(-154,-3412)
-(-157,-3407)
-(-156,-3400)
-(-154,-3397)
-(-151,-3390)
-(-145,-3386)
-(-143,-3385)
-(-139,-3380)
-(-134,-3377)
-(-130,-3369)
-(-126,-3366)
-(-125,-3359)
-(-121,-3355)
-(-121,-3350)
-(-120,-3344)
-(-115,-3337)
-(-115,-3334)
-(-117,-3332)
-(-122,-3326)
-(-128,-3319)
-(-131,-3308)
-(-133,-3306)
-(-134,-3308)
-(-133,-3309)
-(-131,-3313)
-(-130,-3315)
-(-132,-3319)
-(-127,-3324)
-(-128,-3328)
-(-129,-3331)
-(-126,-3332)
-(-127,-3334)
-(-129,-3336)
-(-128,-3336)
-(-127,-3336)
-(-125,-3338)
-(-127,-3340)
-(-126,-3342)
-(-128,-3344)
-(-129,-3343)
-(-130,-3338)
-(-131,-3341)
-(-130,-3331)
-(-130,-3327)
-(-129,-3326)
-(-131,-3322)
-(-133,-3323)
-(-134,-3325)
-(-132,-3329)
-(-132,-3331)
-(-133,-3331)
-(-134,-3332)
-(-133,-3339)
-(-135,-3338)
-(-135,-3333)
-(-134,-3330)
-(-135,-3329)
-(-136,-3329)
-(-137,-3328)
-(-137,-3325)
-(-138,-3322)
-(-136,-3320)
-(-135,-3314)
-(-135,-3309)
-(-135,-3304)
-(-134,-3302)
-(-130,-3295)
-(-130,-3292)
-(-131,-3291)
-(-137,-3285)
-(-144,-3283)
-(-142,-3286)
-(-139,-3286)
-(-136,-3290)
-(-136,-3291)
-(-140,-3290)
-(-143,-3295)
-(-142,-3295)
-(-139,-3293)
-(-138,-3295)
-(-135,-3294)
-(-135,-3296)
-(-136,-3305)
-(-139,-3308)
-(-139,-3310)
-(-141,-3312)
-(-147,-3312)
-(-150,-3313)
-(-148,-3312)
-(-143,-3311)
-(-142,-3306)
-(-139,-3302)
-(-140,-3302)
-(-144,-3303)
-(-144,-3303)
-(-147,-3305)
-(-151,-3307)
-(-156,-3310)
-(-169,-3310)
-(-171,-3312)
-(-173,-3312)
-(-176,-3314)
-(-180,-3314)
-(-183,-3311)
-(-186,-3311)
-(-194,-3316)
-(-198,-3319)
-(-207,-3321)
-(-212,-3321)
-(-217,-3324)
-(-214,-3320)
-(-207,-3316)
-(-193,-3311)
-(-189,-3309)
-(-177,-3306)
-(-169,-3302)
-(-166,-3303)
-(-156,-3299)
-(-149,-3299)
-(-146,-3293)
-(-145,-3290)
-(-146,-3282)
-(-148,-3278)
-(-148,-3272)
-(-143,-3246)
-(-141,-3243)
-(-132,-3242)
-(-126,-3239)
-(-123,-3236)
-(-116,-3226)
-(-114,-3217)
-(-114,-3206)
-(-112,-3199)
-(-110,-3197)
-(-109,-3189)
-(-107,-3182)
-(-106,-3179)
-(-101,-3176)
-(-96,-3162)
-290
-(123,-4220)
-(123,-4215)
-(126,-4208)
-(125,-4203)
-(126,-4200)
-(127,-4195)
-(128,-4193)
-(127,-4189)
-(127,-4187)
-(131,-4182)
-(131,-4177)
-(130,-4175)
-(131,-4174)
-(136,-4165)
-(138,-4159)
-(137,-4156)
-(137,-4154)
-(135,-4148)
-(135,-4145)
-(132,-4138)
-(134,-4132)
-(132,-4126)
-(135,-4122)
-(138,-4121)
-(141,-4119)
-(142,-4116)
-(143,-4116)
-(144,-4112)
-(143,-4108)
-(140,-4106)
-(137,-4101)
-(137,-4099)
-(141,-4095)
-(149,-4095)
-(150,-4093)
-(153,-4091)
-(155,-4088)
-(156,-4088)
-(155,-4085)
-(156,-4083)
-(160,-4083)
-(160,-4082)
-(162,-4081)
-(162,-4079)
-(163,-4077)
-(167,-4075)
-(168,-4071)
-(170,-4069)
-(170,-4065)
-(168,-4062)
-(168,-4058)
-(168,-4056)
-(161,-4054)
-(161,-4050)
-(158,-4049)
-(151,-4040)
-(148,-4039)
-(144,-4032)
-(140,-4030)
-(137,-4033)
-(134,-4033)
-(128,-4030)
-(127,-4027)
-(123,-4027)
-(119,-4028)
-(116,-4025)
-(110,-4022)
-(99,-4019)
-(95,-4019)
-(89,-4016)
-(86,-4016)
-(82,-4013)
-(80,-4013)
-(77,-4014)
-(73,-4011)
-(70,-4011)
-(66,-4012)
-(60,-4010)
-(57,-4011)
-(53,-4016)
-(54,-4019)
-(55,-4021)
-(54,-4023)
-(53,-4025)
-(55,-4028)
-(55,-4029)
-(52,-4033)
-(48,-4034)
-(39,-4034)
-(32,-4036)
-(25,-4039)
-(17,-4037)
-(5,-4036)
-(3,-4035)
-(0,-4033)
-(-2,-4029)
-(-6,-4027)
-(-12,-4021)
-(-11,-4018)
-(-9,-4015)
-(-12,-4009)
-(-14,-4004)
-(-20,-3998)
-(-22,-3993)
-(-24,-3987)
-(-24,-3981)
-(-19,-3975)
-(-19,-3971)
-(-18,-3968)
-(-20,-3965)
-(-19,-3959)
-(-19,-3957)
-(-16,-3956)
-(-14,-3951)
-(-15,-3949)
-(-18,-3947)
-(-18,-3945)
-(-17,-3942)
-(-18,-3937)
-(-16,-3932)
-(-18,-3927)
-(-24,-3913)
-(-24,-3903)
-(-25,-3901)
-(-24,-3896)
-(-24,-3893)
-(-26,-3891)
-(-25,-3887)
-(-23,-3879)
-(-24,-3874)
-(-22,-3869)
-(-21,-3868)
-(-20,-3866)
-(-19,-3860)
-(-19,-3855)
-(-17,-3847)
-(-15,-3844)
-(-17,-3831)
-(-17,-3822)
-(-23,-3814)
-(-28,-3809)
-(-29,-3806)
-(-33,-3802)
-(-33,-3800)
-(-38,-3790)
-(-39,-3780)
-(-46,-3776)
-(-49,-3772)
-(-52,-3769)
-(-55,-3764)
-(-55,-3761)
-(-59,-3758)
-(-60,-3752)
-(-67,-3743)
-(-69,-3737)
-(-68,-3731)
-(-73,-3724)
-(-74,-3718)
-(-75,-3716)
-(-82,-3713)
-(-83,-3712)
-(-81,-3705)
-(-83,-3704)
-(-86,-3696)
-(-88,-3693)
-(-94,-3691)
-(-99,-3686)
-(-106,-3685)
-(-109,-3683)
-(-113,-3682)
-(-117,-3676)
-(-120,-3673)
-(-123,-3672)
-(-126,-3668)
-(-135,-3662)
-(-140,-3662)
-(-143,-3659)
-(-147,-3654)
-(-152,-3651)
-(-157,-3642)
-(-160,-3640)
-(-160,-3638)
-(-163,-3636)
-(-167,-3634)
-(-170,-3631)
-(-177,-3629)
-(-181,-3624)
-(-183,-3619)
-(-182,-3608)
-(-188,-3602)
-(-189,-3600)
-(-189,-3597)
-(-185,-3592)
-(-183,-3587)
-(-184,-3576)
-(-187,-3572)
-(-187,-3568)
-(-189,-3561)
-(-192,-3558)
-(-192,-3548)
-(-194,-3546)
-(-193,-3543)
-(-194,-3537)
-(-199,-3529)
-(-199,-3527)
-(-196,-3520)
-(-195,-3517)
-(-191,-3513)
-(-188,-3509)
-(-192,-3496)
-(-191,-3493)
-(-189,-3492)
-(-178,-3490)
-(-172,-3488)
-(-170,-3485)
-(-168,-3479)
-(-166,-3475)
-(-165,-3472)
-(-164,-3468)
-(-156,-3460)
-(-144,-3454)
-(-142,-3451)
-(-142,-3448)
-(-144,-3442)
-(-149,-3438)
-(-148,-3434)
-(-149,-3432)
-(-151,-3428)
-(-151,-3420)
-(-151,-3416)
-(-153,-3414)
-(-155,-3405)
-(-154,-3400)
-(-152,-3396)
-(-148,-3390)
-(-144,-3387)
-(-136,-3384)
-(-134,-3378)
-(-129,-3372)
-(-123,-3367)
-(-118,-3365)
-(-116,-3362)
-(-117,-3358)
-(-119,-3354)
-(-118,-3346)
-(-116,-3343)
-(-114,-3340)
-(-113,-3335)
-(-115,-3331)
-(-117,-3326)
-(-120,-3321)
-(-127,-3316)
-(-129,-3310)
-(-128,-3306)
-(-124,-3303)
-(-121,-3301)
-(-120,-3297)
-(-119,-3295)
-(-119,-3293)
-(-123,-3286)
-(-123,-3278)
-(-127,-3272)
-(-130,-3272)
-(-142,-3278)
-(-144,-3278)
-(-146,-3276)
-(-144,-3270)
-(-143,-3255)
-(-141,-3251)
-(-137,-3246)
-(-134,-3245)
-(-124,-3244)
-(-118,-3237)
-(-117,-3232)
-(-115,-3231)
-(-112,-3225)
-(-112,-3220)
-(-109,-3213)
-(-106,-3200)
-(-106,-3199)
-(-106,-3201)
-(-105,-3201)
-(-105,-3191)
-(-103,-3185)
-(-99,-3181)
-(-95,-3175)
-(-94,-3172)
-(-93,-3169)
-(-94,-3166)
-(-94,-3162)
-336
-(-208,-4381)
-(-205,-4378)
-(-202,-4371)
-(-201,-4366)
-(-200,-4365)
-(-199,-4364)
-(-199,-4363)
-(-197,-4360)
-(-197,-4362)
-(-195,-4364)
-(-197,-4368)
-(-195,-4369)
-(-192,-4373)
-(-193,-4375)
-(-191,-4373)
-(-194,-4367)
-(-196,-4367)
-(-194,-4364)
-(-195,-4361)
-(-195,-4358)
-(-198,-4358)
-(-199,-4361)
-(-200,-4361)
-(-201,-4350)
-(-204,-4340)
-(-203,-4337)
-(-204,-4333)
-(-203,-4330)
-(-200,-4327)
-(-198,-4325)
-(-195,-4317)
-(-189,-4311)
-(-191,-4306)
-(-196,-4303)
-(-198,-4301)
-(-201,-4301)
-(-203,-4303)
-(-212,-4299)
-(-215,-4295)
-(-218,-4289)
-(-219,-4288)
-(-223,-4288)
-(-225,-4285)
-(-223,-4277)
-(-221,-4274)
-(-222,-4271)
-(-225,-4269)
-(-230,-4264)
-(-232,-4263)
-(-233,-4257)
-(-232,-4256)
-(-230,-4256)
-(-229,-4254)
-(-229,-4253)
-(-230,-4254)
-(-231,-4254)
-(-232,-4252)
-(-231,-4250)
-(-231,-4249)
-(-233,-4249)
-(-233,-4248)
-(-230,-4243)
-(-230,-4234)
-(-231,-4231)
-(-229,-4227)
-(-227,-4225)
-(-226,-4221)
-(-228,-4217)
-(-230,-4213)
-(-243,-4206)
-(-247,-4201)
-(-249,-4199)
-(-253,-4197)
-(-257,-4196)
-(-260,-4189)
-(-257,-4182)
-(-254,-4180)
-(-253,-4177)
-(-247,-4170)
-(-245,-4164)
-(-243,-4164)
-(-241,-4167)
-(-242,-4173)
-(-241,-4175)
-(-239,-4178)
-(-237,-4178)
-(-234,-4177)
-(-231,-4172)
-(-226,-4170)
-(-223,-4167)
-(-215,-4165)
-(-212,-4162)
-(-209,-4161)
-(-208,-4158)
-(-205,-4156)
-(-204,-4146)
-(-205,-4141)
-(-204,-4137)
-(-204,-4130)
-(-205,-4128)
-(-206,-4126)
-(-206,-4119)
-(-208,-4113)
-(-207,-4110)
-(-204,-4106)
-(-205,-4103)
-(-207,-4100)
-(-208,-4098)
-(-205,-4093)
-(-205,-4091)
-(-207,-4089)
-(-207,-4087)
-(-205,-4083)
-(-203,-4077)
-(-200,-4073)
-(-195,-4073)
-(-192,-4076)
-(-189,-4077)
-(-187,-4082)
-(-187,-4080)
-(-184,-4076)
-(-175,-4073)
-(-169,-4066)
-(-164,-4054)
-(-161,-4051)
-(-159,-4048)
-(-155,-4043)
-(-151,-4043)
-(-152,-4041)
-(-154,-4037)
-(-155,-4029)
-(-159,-4024)
-(-159,-4019)
-(-161,-4015)
-(-160,-4009)
-(-158,-4006)
-(-156,-4005)
-(-153,-4005)
-(-149,-4003)
-(-148,-4001)
-(-147,-3992)
-(-148,-3988)
-(-152,-3984)
-(-153,-3979)
-(-155,-3976)
-(-155,-3974)
-(-154,-3974)
-(-150,-3974)
-(-148,-3973)
-(-145,-3971)
-(-144,-3969)
-(-145,-3967)
-(-148,-3964)
-(-147,-3962)
-(-146,-3956)
-(-150,-3952)
-(-151,-3948)
-(-154,-3946)
-(-157,-3941)
-(-156,-3938)
-(-148,-3931)
-(-145,-3927)
-(-145,-3923)
-(-147,-3920)
-(-152,-3919)
-(-154,-3920)
-(-158,-3924)
-(-161,-3924)
-(-163,-3923)
-(-164,-3920)
-(-163,-3916)
-(-164,-3913)
-(-172,-3909)
-(-174,-3907)
-(-176,-3904)
-(-180,-3903)
-(-183,-3898)
-(-189,-3887)
-(-191,-3885)
-(-196,-3880)
-(-200,-3872)
-(-205,-3868)
-(-210,-3866)
-(-213,-3862)
-(-222,-3849)
-(-223,-3837)
-(-227,-3836)
-(-228,-3834)
-(-229,-3825)
-(-232,-3821)
-(-230,-3815)
-(-230,-3810)
-(-232,-3806)
-(-232,-3801)
-(-235,-3796)
-(-236,-3790)
-(-237,-3789)
-(-241,-3789)
-(-242,-3788)
-(-243,-3784)
-(-242,-3781)
-(-236,-3777)
-(-235,-3775)
-(-231,-3764)
-(-231,-3752)
-(-226,-3747)
-(-221,-3745)
-(-220,-3743)
-(-221,-3741)
-(-223,-3739)
-(-227,-3732)
-(-231,-3722)
-(-236,-3715)
-(-231,-3700)
-(-228,-3698)
-(-225,-3695)
-(-219,-3690)
-(-216,-3684)
-(-216,-3679)
-(-215,-3672)
-(-215,-3663)
-(-216,-3660)
-(-216,-3658)
-(-212,-3650)
-(-207,-3647)
-(-202,-3645)
-(-199,-3641)
-(-200,-3647)
-(-204,-3650)
-(-202,-3653)
-(-200,-3652)
-(-200,-3654)
-(-199,-3654)
-(-197,-3650)
-(-196,-3643)
-(-195,-3644)
-(-196,-3646)
-(-194,-3646)
-(-192,-3648)
-(-190,-3650)
-(-190,-3647)
-(-195,-3641)
-(-199,-3635)
-(-198,-3627)
-(-196,-3616)
-(-196,-3614)
-(-198,-3612)
-(-199,-3610)
-(-197,-3604)
-(-193,-3596)
-(-190,-3595)
-(-190,-3596)
-(-192,-3599)
-(-190,-3602)
-(-190,-3607)
-(-186,-3615)
-(-187,-3624)
-(-185,-3630)
-(-181,-3635)
-(-166,-3648)
-(-156,-3659)
-(-150,-3664)
-(-144,-3665)
-(-138,-3665)
-(-132,-3667)
-(-126,-3673)
-(-121,-3675)
-(-118,-3678)
-(-112,-3690)
-(-111,-3690)
-(-108,-3688)
-(-104,-3688)
-(-98,-3692)
-(-92,-3694)
-(-88,-3697)
-(-87,-3703)
-(-84,-3705)
-(-86,-3712)
-(-84,-3716)
-(-84,-3722)
-(-82,-3728)
-(-79,-3731)
-(-79,-3734)
-(-75,-3738)
-(-72,-3749)
-(-68,-3756)
-(-65,-3764)
-(-63,-3766)
-(-62,-3770)
-(-58,-3776)
-(-54,-3779)
-(-52,-3780)
-(-48,-3779)
-(-45,-3782)
-(-41,-3788)
-(-37,-3801)
-(-32,-3810)
-(-25,-3818)
-(-21,-3825)
-(-21,-3828)
-(-22,-3836)
-(-23,-3840)
-(-22,-3843)
-(-21,-3850)
-(-23,-3854)
-(-24,-3860)
-(-24,-3864)
-(-24,-3869)
-(-25,-3870)
-(-26,-3872)
-(-29,-3882)
-(-28,-3888)
-(-32,-3893)
-(-33,-3896)
-(-31,-3901)
-(-28,-3901)
-(-26,-3904)
-(-26,-3909)
-(-27,-3913)
-(-27,-3914)
-(-25,-3916)
-(-25,-3920)
-(-22,-3924)
-(-20,-3927)
-(-18,-3932)
-(-20,-3940)
-(-19,-3947)
-(-18,-3949)
-(-16,-3952)
-(-17,-3954)
-(-20,-3957)
-(-21,-3966)
-(-20,-3970)
-(-20,-3975)
-(-24,-3978)
-(-24,-3981)
-201
-(-625,-4606)
-(-620,-4606)
-(-615,-4598)
-(-612,-4598)
-(-610,-4596)
-(-601,-4595)
-(-596,-4596)
-(-593,-4598)
-(-586,-4599)
-(-576,-4601)
-(-571,-4601)
-(-563,-4603)
-(-560,-4604)
-(-554,-4602)
-(-547,-4607)
-(-544,-4613)
-(-542,-4616)
-(-540,-4620)
-(-537,-4621)
-(-531,-4626)
-(-528,-4627)
-(-525,-4630)
-(-522,-4632)
-(-519,-4634)
-(-511,-4637)
-(-510,-4639)
-(-507,-4641)
-(-501,-4645)
-(-494,-4649)
-(-493,-4652)
-(-488,-4657)
-(-485,-4657)
-(-482,-4659)
-(-476,-4657)
-(-470,-4657)
-(-467,-4659)
-(-459,-4661)
-(-450,-4665)
-(-447,-4665)
-(-443,-4670)
-(-438,-4671)
-(-436,-4673)
-(-434,-4672)
-(-433,-4674)
-(-430,-4676)
-(-422,-4679)
-(-419,-4680)
-(-416,-4681)
-(-413,-4680)
-(-411,-4682)
-(-410,-4681)
-(-406,-4681)
-(-401,-4684)
-(-395,-4686)
-(-391,-4688)
-(-390,-4690)
-(-388,-4690)
-(-387,-4693)
-(-384,-4696)
-(-383,-4700)
-(-375,-4703)
-(-373,-4706)
-(-369,-4707)
-(-365,-4713)
-(-365,-4716)
-(-364,-4717)
-(-361,-4718)
-(-357,-4722)
-(-350,-4726)
-(-346,-4726)
-(-344,-4723)
-(-341,-4725)
-(-340,-4723)
-(-333,-4719)
-(-332,-4717)
-(-328,-4716)
-(-325,-4711)
-(-322,-4711)
-(-318,-4709)
-(-312,-4704)
-(-311,-4701)
-(-310,-4701)
-(-309,-4704)
-(-307,-4705)
-(-304,-4703)
-(-302,-4704)
-(-299,-4702)
-(-297,-4703)
-(-294,-4701)
-(-292,-4702)
-(-289,-4699)
-(-286,-4700)
-(-286,-4699)
-(-287,-4697)
-(-285,-4695)
-(-285,-4693)
-(-283,-4692)
-(-281,-4693)
-(-279,-4691)
-(-280,-4687)
-(-282,-4686)
-(-282,-4685)
-(-279,-4683)
-(-279,-4681)
-(-276,-4680)
-(-276,-4677)
-(-274,-4674)
-(-275,-4671)
-(-273,-4668)
-(-270,-4667)
-(-269,-4661)
-(-266,-4658)
-(-268,-4654)
-(-266,-4650)
-(-269,-4646)
-(-270,-4644)
-(-271,-4644)
-(-273,-4646)
-(-275,-4644)
-(-277,-4645)
-(-277,-4639)
-(-279,-4641)
-(-282,-4640)
-(-283,-4638)
-(-284,-4638)
-(-285,-4638)
-(-283,-4636)
-(-281,-4636)
-(-280,-4635)
-(-282,-4633)
-(-285,-4622)
-(-288,-4618)
-(-290,-4614)
-(-288,-4610)
-(-291,-4597)
-(-290,-4594)
-(-294,-4593)
-(-294,-4587)
-(-296,-4585)
-(-296,-4578)
-(-295,-4576)
-(-296,-4574)
-(-296,-4570)
-(-299,-4570)
-(-303,-4563)
-(-302,-4561)
-(-301,-4558)
-(-302,-4554)
-(-301,-4550)
-(-301,-4549)
-(-303,-4545)
-(-303,-4543)
-(-301,-4541)
-(-301,-4539)
-(-303,-4539)
-(-305,-4537)
-(-304,-4536)
-(-299,-4532)
-(-296,-4531)
-(-296,-4526)
-(-291,-4525)
-(-288,-4523)
-(-287,-4519)
-(-287,-4515)
-(-288,-4512)
-(-288,-4509)
-(-284,-4504)
-(-286,-4504)
-(-287,-4503)
-(-283,-4497)
-(-284,-4492)
-(-282,-4493)
-(-280,-4488)
-(-277,-4488)
-(-273,-4486)
-(-274,-4482)
-(-273,-4482)
-(-271,-4481)
-(-272,-4479)
-(-267,-4475)
-(-268,-4474)
-(-271,-4473)
-(-272,-4469)
-(-275,-4468)
-(-276,-4464)
-(-281,-4455)
-(-279,-4454)
-(-276,-4454)
-(-271,-4452)
-(-270,-4447)
-(-268,-4446)
-(-269,-4443)
-(-270,-4436)
-(-273,-4431)
-(-277,-4430)
-(-278,-4428)
-(-277,-4427)
-(-274,-4425)
-(-273,-4417)
-(-268,-4413)
-(-267,-4410)
-204
-(-907,-3296)
-(-906,-3294)
-(-904,-3292)
-(-904,-3285)
-(-898,-3275)
-(-895,-3266)
-(-894,-3259)
-(-891,-3255)
-(-886,-3253)
-(-885,-3252)
-(-886,-3240)
-(-883,-3237)
-(-881,-3232)
-(-876,-3226)
-(-874,-3221)
-(-865,-3213)
-(-863,-3212)
-(-856,-3212)
-(-849,-3207)
-(-841,-3206)
-(-840,-3204)
-(-837,-3204)
-(-833,-3200)
-(-827,-3199)
-(-823,-3196)
-(-821,-3193)
-(-818,-3191)
-(-816,-3189)
-(-814,-3189)
-(-813,-3188)
-(-810,-3189)
-(-809,-3188)
-(-806,-3187)
-(-801,-3184)
-(-799,-3184)
-(-796,-3181)
-(-792,-3180)
-(-791,-3178)
-(-789,-3176)
-(-783,-3176)
-(-783,-3175)
-(-776,-3171)
-(-774,-3172)
-(-771,-3171)
-(-766,-3176)
-(-765,-3175)
-(-763,-3177)
-(-760,-3179)
-(-757,-3176)
-(-756,-3177)
-(-755,-3179)
-(-751,-3181)
-(-752,-3182)
-(-749,-3183)
-(-746,-3187)
-(-743,-3187)
-(-741,-3188)
-(-739,-3191)
-(-737,-3191)
-(-737,-3193)
-(-734,-3195)
-(-733,-3198)
-(-732,-3198)
-(-731,-3199)
-(-730,-3198)
-(-728,-3201)
-(-723,-3202)
-(-720,-3204)
-(-718,-3208)
-(-718,-3209)
-(-716,-3210)
-(-715,-3213)
-(-710,-3216)
-(-703,-3217)
-(-700,-3215)
-(-696,-3214)
-(-695,-3212)
-(-693,-3212)
-(-690,-3209)
-(-691,-3209)
-(-690,-3208)
-(-687,-3206)
-(-686,-3207)
-(-685,-3204)
-(-680,-3201)
-(-677,-3198)
-(-676,-3196)
-(-673,-3196)
-(-672,-3195)
-(-669,-3195)
-(-664,-3198)
-(-662,-3197)
-(-657,-3199)
-(-652,-3194)
-(-651,-3188)
-(-647,-3186)
-(-637,-3185)
-(-636,-3184)
-(-631,-3185)
-(-623,-3184)
-(-620,-3182)
-(-618,-3179)
-(-616,-3177)
-(-611,-3181)
-(-604,-3180)
-(-600,-3175)
-(-595,-3172)
-(-593,-3169)
-(-590,-3167)
-(-586,-3160)
-(-584,-3158)
-(-579,-3157)
-(-578,-3155)
-(-575,-3154)
-(-576,-3148)
-(-578,-3144)
-(-578,-3138)
-(-580,-3136)
-(-579,-3134)
-(-576,-3131)
-(-566,-3130)
-(-565,-3127)
-(-563,-3126)
-(-561,-3126)
-(-556,-3121)
-(-553,-3123)
-(-551,-3122)
-(-551,-3125)
-(-550,-3126)
-(-548,-3126)
-(-547,-3124)
-(-544,-3124)
-(-535,-3128)
-(-527,-3140)
-(-526,-3141)
-(-522,-3141)
-(-519,-3143)
-(-515,-3149)
-(-515,-3154)
-(-516,-3156)
-(-516,-3158)
-(-514,-3161)
-(-511,-3163)
-(-508,-3168)
-(-497,-3168)
-(-494,-3171)
-(-490,-3172)
-(-475,-3173)
-(-469,-3169)
-(-460,-3167)
-(-455,-3162)
-(-452,-3162)
-(-450,-3164)
-(-447,-3163)
-(-440,-3156)
-(-435,-3156)
-(-430,-3156)
-(-427,-3152)
-(-427,-3150)
-(-425,-3148)
-(-421,-3147)
-(-419,-3144)
-(-418,-3140)
-(-417,-3131)
-(-415,-3124)
-(-409,-3120)
-(-402,-3119)
-(-398,-3123)
-(-393,-3125)
-(-393,-3128)
-(-395,-3132)
-(-394,-3133)
-(-393,-3135)
-(-383,-3142)
-(-380,-3146)
-(-372,-3146)
-(-367,-3151)
-(-362,-3152)
-(-356,-3153)
-(-352,-3152)
-(-350,-3153)
-(-347,-3156)
-(-341,-3159)
-(-336,-3161)
-(-328,-3162)
-(-324,-3170)
-(-322,-3172)
-(-313,-3172)
-(-309,-3173)
-(-305,-3175)
-(-300,-3176)
-(-294,-3170)
-(-287,-3169)
-(-279,-3163)
-(-275,-3162)
-(-269,-3160)
-(-266,-3160)
-(-263,-3164)
-(-260,-3164)
-(-256,-3163)
-(-252,-3158)
-(-249,-3158)
-(-236,-3156)
-(-232,-3156)
-30
-(-240,-3182)
-(-238,-3180)
-(-236,-3178)
-(-238,-3174)
-(-238,-3168)
-(-237,-3165)
-(-231,-3156)
-(-228,-3153)
-(-226,-3148)
-(-221,-3144)
-(-214,-3140)
-(-205,-3133)
-(-202,-3132)
-(-193,-3131)
-(-193,-3126)
-(-196,-3123)
-(-199,-3122)
-(-205,-3120)
-(-207,-3119)
-(-207,-3115)
-(-205,-3113)
-(-204,-3110)
-(-202,-3109)
-(-197,-3110)
-(-194,-3108)
-(-191,-3106)
-(-189,-3105)
-(-186,-3107)
-(-185,-3111)
-(-181,-3113)
-46
-(-101,-3136)
-(-101,-3138)
-(-98,-3139)
-(-101,-3141)
-(-103,-3141)
-(-106,-3138)
-(-109,-3136)
-(-114,-3139)
-(-118,-3139)
-(-122,-3136)
-(-130,-3136)
-(-136,-3131)
-(-141,-3129)
-(-144,-3127)
-(-150,-3126)
-(-153,-3123)
-(-156,-3122)
-(-159,-3122)
-(-162,-3124)
-(-164,-3124)
-(-170,-3122)
-(-173,-3120)
-(-174,-3117)
-(-182,-3113)
-(-177,-3112)
-(-174,-3114)
-(-170,-3113)
-(-164,-3117)
-(-164,-3120)
-(-161,-3120)
-(-161,-3117)
-(-151,-3117)
-(-143,-3121)
-(-139,-3122)
-(-137,-3124)
-(-132,-3127)
-(-130,-3129)
-(-124,-3131)
-(-120,-3131)
-(-119,-3132)
-(-116,-3131)
-(-113,-3133)
-(-112,-3132)
-(-106,-3134)
-(-104,-3136)
-(-102,-3135)
-140
-(-107,-3043)
-(-109,-3044)
-(-110,-3046)
-(-113,-3047)
-(-114,-3049)
-(-112,-3053)
-(-113,-3055)
-(-110,-3059)
-(-110,-3062)
-(-109,-3064)
-(-109,-3068)
-(-108,-3068)
-(-107,-3067)
-(-106,-3068)
-(-104,-3066)
-(-104,-3068)
-(-106,-3068)
-(-105,-3069)
-(-107,-3070)
-(-107,-3071)
-(-105,-3073)
-(-102,-3071)
-(-104,-3073)
-(-102,-3073)
-(-102,-3074)
-(-104,-3074)
-(-105,-3075)
-(-103,-3077)
-(-102,-3077)
-(-101,-3077)
-(-99,-3080)
-(-101,-3081)
-(-103,-3082)
-(-104,-3083)
-(-107,-3085)
-(-107,-3086)
-(-105,-3087)
-(-107,-3087)
-(-106,-3090)
-(-108,-3093)
-(-108,-3096)
-(-109,-3095)
-(-108,-3091)
-(-107,-3090)
-(-108,-3088)
-(-108,-3087)
-(-110,-3085)
-(-112,-3086)
-(-114,-3089)
-(-115,-3089)
-(-116,-3090)
-(-118,-3090)
-(-120,-3090)
-(-120,-3088)
-(-121,-3088)
-(-121,-3091)
-(-123,-3091)
-(-128,-3089)
-(-134,-3089)
-(-139,-3084)
-(-140,-3083)
-(-135,-3087)
-(-133,-3087)
-(-131,-3086)
-(-129,-3087)
-(-126,-3087)
-(-124,-3089)
-(-122,-3088)
-(-121,-3087)
-(-119,-3087)
-(-116,-3085)
-(-115,-3083)
-(-110,-3082)
-(-110,-3081)
-(-106,-3079)
-(-106,-3077)
-(-107,-3078)
-(-109,-3076)
-(-107,-3075)
-(-109,-3075)
-(-109,-3073)
-(-109,-3072)
-(-110,-3073)
-(-109,-3071)
-(-111,-3071)
-(-111,-3070)
-(-113,-3069)
-(-113,-3069)
-(-115,-3067)
-(-117,-3068)
-(-116,-3065)
-(-117,-3064)
-(-120,-3062)
-(-120,-3061)
-(-122,-3059)
-(-126,-3060)
-(-130,-3061)
-(-132,-3064)
-(-133,-3064)
-(-133,-3062)
-(-135,-3063)
-(-138,-3061)
-(-141,-3062)
-(-145,-3060)
-(-145,-3058)
-(-147,-3058)
-(-148,-3056)
-(-150,-3055)
-(-148,-3053)
-(-151,-3051)
-(-150,-3050)
-(-148,-3052)
-(-147,-3055)
-(-142,-3060)
-(-136,-3060)
-(-134,-3061)
-(-130,-3059)
-(-124,-3059)
-(-123,-3057)
-(-121,-3057)
-(-119,-3055)
-(-121,-3055)
-(-121,-3051)
-(-124,-3051)
-(-127,-3047)
-(-130,-3047)
-(-131,-3048)
-(-132,-3046)
-(-124,-3046)
-(-124,-3048)
-(-122,-3048)
-(-120,-3048)
-(-119,-3049)
-(-117,-3049)
-(-116,-3047)
-(-116,-3043)
-(-119,-3041)
-(-119,-3040)
-(-112,-3043)
-(-109,-3041)
-268
-(-1081,-3183)
-(-1073,-3187)
-(-1060,-3188)
-(-1052,-3193)
-(-1050,-3194)
-(-1046,-3193)
-(-1042,-3191)
-(-1037,-3192)
-(-1035,-3191)
-(-1033,-3189)
-(-1031,-3188)
-(-1023,-3182)
-(-1012,-3181)
-(-1009,-3178)
-(-1006,-3170)
-(-1000,-3163)
-(-995,-3161)
-(-992,-3158)
-(-985,-3157)
-(-981,-3155)
-(-978,-3152)
-(-976,-3146)
-(-974,-3146)
-(-970,-3147)
-(-966,-3147)
-(-964,-3144)
-(-963,-3140)
-(-956,-3136)
-(-953,-3135)
-(-953,-3122)
-(-950,-3118)
-(-948,-3118)
-(-949,-3114)
-(-948,-3113)
-(-937,-3107)
-(-932,-3107)
-(-932,-3105)
-(-930,-3104)
-(-929,-3102)
-(-922,-3100)
-(-919,-3101)
-(-916,-3099)
-(-914,-3100)
-(-911,-3098)
-(-909,-3095)
-(-904,-3091)
-(-903,-3088)
-(-900,-3085)
-(-899,-3081)
-(-898,-3079)
-(-901,-3077)
-(-901,-3075)
-(-900,-3073)
-(-899,-3070)
-(-895,-3068)
-(-893,-3066)
-(-890,-3066)
-(-887,-3064)
-(-884,-3064)
-(-872,-3058)
-(-869,-3058)
-(-864,-3060)
-(-861,-3059)
-(-859,-3058)
-(-854,-3058)
-(-850,-3055)
-(-847,-3056)
-(-847,-3052)
-(-845,-3051)
-(-838,-3052)
-(-832,-3051)
-(-823,-3052)
-(-822,-3049)
-(-820,-3047)
-(-812,-3045)
-(-807,-3040)
-(-803,-3040)
-(-798,-3035)
-(-794,-3034)
-(-792,-3035)
-(-787,-3034)
-(-785,-3035)
-(-783,-3033)
-(-781,-3034)
-(-778,-3030)
-(-773,-3029)
-(-770,-3029)
-(-770,-3034)
-(-769,-3034)
-(-768,-3034)
-(-769,-3036)
-(-759,-3038)
-(-759,-3040)
-(-757,-3040)
-(-756,-3040)
-(-756,-3039)
-(-747,-3038)
-(-747,-3037)
-(-743,-3037)
-(-739,-3038)
-(-737,-3037)
-(-734,-3038)
-(-733,-3040)
-(-732,-3040)
-(-725,-3040)
-(-723,-3041)
-(-720,-3041)
-(-718,-3039)
-(-716,-3040)
-(-715,-3039)
-(-713,-3039)
-(-712,-3041)
-(-707,-3042)
-(-705,-3043)
-(-703,-3043)
-(-700,-3039)
-(-696,-3039)
-(-693,-3043)
-(-691,-3045)
-(-684,-3044)
-(-678,-3042)
-(-675,-3040)
-(-669,-3040)
-(-664,-3037)
-(-656,-3038)
-(-653,-3037)
-(-650,-3038)
-(-647,-3035)
-(-644,-3035)
-(-639,-3036)
-(-637,-3035)
-(-636,-3033)
-(-634,-3031)
-(-624,-3029)
-(-621,-3026)
-(-619,-3025)
-(-607,-3023)
-(-602,-3019)
-(-595,-3016)
-(-589,-3013)
-(-585,-3011)
-(-582,-3009)
-(-580,-3009)
-(-574,-3006)
-(-568,-3006)
-(-563,-3004)
-(-560,-3003)
-(-554,-2999)
-(-549,-2994)
-(-544,-2991)
-(-543,-2990)
-(-536,-2986)
-(-532,-2981)
-(-531,-2976)
-(-523,-2970)
-(-520,-2970)
-(-514,-2966)
-(-506,-2963)
-(-503,-2958)
-(-494,-2956)
-(-490,-2954)
-(-486,-2954)
-(-483,-2952)
-(-479,-2952)
-(-476,-2950)
-(-470,-2950)
-(-468,-2949)
-(-467,-2950)
-(-465,-2953)
-(-459,-2959)
-(-455,-2961)
-(-452,-2962)
-(-449,-2961)
-(-442,-2955)
-(-435,-2951)
-(-432,-2951)
-(-425,-2951)
-(-417,-2953)
-(-416,-2953)
-(-408,-2942)
-(-405,-2935)
-(-404,-2931)
-(-399,-2920)
-(-397,-2919)
-(-391,-2920)
-(-386,-2916)
-(-384,-2912)
-(-381,-2910)
-(-382,-2903)
-(-380,-2903)
-(-378,-2905)
-(-371,-2906)
-(-369,-2904)
-(-368,-2899)
-(-366,-2897)
-(-363,-2897)
-(-362,-2900)
-(-359,-2900)
-(-358,-2899)
-(-357,-2894)
-(-355,-2893)
-(-350,-2897)
-(-345,-2898)
-(-343,-2896)
-(-343,-2893)
-(-342,-2890)
-(-339,-2889)
-(-337,-2889)
-(-332,-2893)
-(-332,-2896)
-(-331,-2898)
-(-324,-2902)
-(-325,-2913)
-(-324,-2918)
-(-322,-2922)
-(-320,-2932)
-(-317,-2937)
-(-320,-2941)
-(-319,-2946)
-(-320,-2947)
-(-321,-2948)
-(-321,-2951)
-(-320,-2953)
-(-313,-2958)
-(-310,-2959)
-(-299,-2961)
-(-296,-2964)
-(-295,-2966)
-(-294,-2967)
-(-282,-2968)
-(-277,-2967)
-(-272,-2971)
-(-263,-2972)
-(-257,-2975)
-(-249,-2978)
-(-241,-2978)
-(-239,-2977)
-(-233,-2981)
-(-222,-2981)
-(-215,-2978)
-(-213,-2977)
-(-207,-2978)
-(-206,-2976)
-(-196,-2974)
-(-191,-2975)
-(-186,-2979)
-(-182,-2980)
-(-177,-2979)
-(-172,-2981)
-(-165,-2980)
-(-161,-2981)
-(-161,-2982)
-(-164,-2984)
-(-166,-2986)
-(-170,-2986)
-(-174,-2984)
-(-180,-2984)
-(-182,-2980)
-(-185,-2980)
-(-189,-2982)
-(-198,-2982)
-(-203,-2981)
-(-206,-2980)
-(-213,-2979)
-(-216,-2980)
-(-219,-2982)
-(-227,-2983)
-(-229,-2982)
-240
-(-960,-2947)
-(-955,-2952)
-(-944,-2956)
-(-943,-2959)
-(-944,-2959)
-(-943,-2960)
-(-943,-2962)
-(-943,-2963)
-(-941,-2963)
-(-941,-2962)
-(-937,-2966)
-(-933,-2967)
-(-930,-2971)
-(-928,-2973)
-(-927,-2973)
-(-926,-2975)
-(-924,-2976)
-(-923,-2975)
-(-919,-2975)
-(-915,-2973)
-(-911,-2973)
-(-910,-2969)
-(-909,-2969)
-(-908,-2970)
-(-907,-2970)
-(-906,-2964)
-(-903,-2963)
-(-902,-2961)
-(-898,-2959)
-(-894,-2958)
-(-892,-2956)
-(-890,-2957)
-(-890,-2953)
-(-889,-2953)
-(-888,-2951)
-(-886,-2952)
-(-885,-2950)
-(-884,-2950)
-(-884,-2945)
-(-883,-2943)
-(-883,-2941)
-(-877,-2942)
-(-877,-2940)
-(-875,-2941)
-(-874,-2941)
-(-873,-2940)
-(-871,-2942)
-(-865,-2939)
-(-860,-2940)
-(-858,-2942)
-(-856,-2939)
-(-854,-2938)
-(-852,-2935)
-(-849,-2932)
-(-848,-2931)
-(-849,-2929)
-(-846,-2925)
-(-847,-2923)
-(-849,-2922)
-(-850,-2916)
-(-847,-2913)
-(-847,-2911)
-(-844,-2909)
-(-841,-2908)
-(-838,-2902)
-(-838,-2900)
-(-834,-2900)
-(-831,-2902)
-(-829,-2901)
-(-829,-2898)
-(-831,-2895)
-(-829,-2893)
-(-827,-2891)
-(-826,-2888)
-(-825,-2888)
-(-819,-2888)
-(-817,-2886)
-(-813,-2885)
-(-812,-2886)
-(-813,-2888)
-(-811,-2889)
-(-809,-2892)
-(-808,-2893)
-(-806,-2892)
-(-807,-2892)
-(-805,-2890)
-(-798,-2891)
-(-796,-2891)
-(-794,-2891)
-(-792,-2890)
-(-791,-2891)
-(-785,-2888)
-(-783,-2889)
-(-779,-2889)
-(-777,-2890)
-(-773,-2891)
-(-767,-2894)
-(-764,-2893)
-(-763,-2895)
-(-761,-2894)
-(-761,-2897)
-(-760,-2897)
-(-757,-2897)
-(-756,-2896)
-(-754,-2897)
-(-753,-2897)
-(-753,-2895)
-(-750,-2895)
-(-749,-2893)
-(-747,-2894)
-(-746,-2896)
-(-743,-2895)
-(-739,-2896)
-(-737,-2897)
-(-735,-2900)
-(-734,-2906)
-(-732,-2909)
-(-723,-2911)
-(-720,-2911)
-(-713,-2913)
-(-711,-2915)
-(-705,-2917)
-(-702,-2919)
-(-697,-2919)
-(-693,-2920)
-(-690,-2916)
-(-688,-2915)
-(-684,-2915)
-(-683,-2913)
-(-683,-2910)
-(-680,-2908)
-(-676,-2907)
-(-673,-2910)
-(-665,-2912)
-(-662,-2914)
-(-658,-2911)
-(-654,-2906)
-(-649,-2904)
-(-641,-2906)
-(-638,-2905)
-(-636,-2905)
-(-630,-2908)
-(-627,-2906)
-(-623,-2906)
-(-615,-2904)
-(-613,-2906)
-(-611,-2906)
-(-605,-2903)
-(-604,-2901)
-(-602,-2900)
-(-596,-2903)
-(-595,-2902)
-(-594,-2901)
-(-591,-2900)
-(-588,-2903)
-(-584,-2902)
-(-578,-2904)
-(-572,-2903)
-(-560,-2902)
-(-551,-2899)
-(-542,-2892)
-(-534,-2890)
-(-527,-2887)
-(-524,-2888)
-(-520,-2888)
-(-513,-2889)
-(-510,-2886)
-(-505,-2886)
-(-502,-2888)
-(-495,-2889)
-(-491,-2891)
-(-485,-2888)
-(-485,-2882)
-(-484,-2878)
-(-483,-2877)
-(-477,-2878)
-(-473,-2876)
-(-472,-2875)
-(-469,-2874)
-(-466,-2867)
-(-461,-2860)
-(-458,-2857)
-(-450,-2858)
-(-446,-2855)
-(-444,-2850)
-(-442,-2849)
-(-439,-2849)
-(-437,-2850)
-(-436,-2854)
-(-437,-2857)
-(-439,-2858)
-(-437,-2859)
-(-435,-2860)
-(-433,-2864)
-(-432,-2864)
-(-430,-2864)
-(-429,-2862)
-(-429,-2858)
-(-424,-2854)
-(-419,-2850)
-(-414,-2849)
-(-410,-2850)
-(-405,-2849)
-(-400,-2849)
-(-397,-2847)
-(-394,-2847)
-(-389,-2845)
-(-386,-2845)
-(-384,-2844)
-(-380,-2844)
-(-376,-2842)
-(-373,-2843)
-(-370,-2845)
-(-366,-2846)
-(-361,-2846)
-(-352,-2845)
-(-347,-2847)
-(-345,-2849)
-(-340,-2848)
-(-335,-2848)
-(-333,-2849)
-(-329,-2853)
-(-329,-2856)
-(-323,-2865)
-(-323,-2870)
-(-322,-2871)
-(-318,-2871)
-(-316,-2873)
-(-315,-2875)
-(-314,-2880)
-(-315,-2881)
-(-316,-2883)
-(-316,-2885)
-(-316,-2889)
-(-315,-2892)
-(-310,-2901)
-(-310,-2906)
-(-312,-2911)
-(-314,-2913)
-(-318,-2915)
-3
-(-318,-2919)
-(-320,-2922)
-(-322,-2923)
-253
-(-1092,-2716)
-(-1090,-2714)
-(-1087,-2714)
-(-1087,-2711)
-(-1087,-2711)
-(-1083,-2712)
-(-1081,-2710)
-(-1079,-2711)
-(-1076,-2707)
-(-1071,-2706)
-(-1069,-2707)
-(-1066,-2704)
-(-1066,-2701)
-(-1065,-2700)
-(-1061,-2700)
-(-1058,-2702)
-(-1056,-2702)
-(-1053,-2699)
-(-1050,-2699)
-(-1048,-2697)
-(-1042,-2696)
-(-1039,-2697)
-(-1036,-2695)
-(-1034,-2691)
-(-1032,-2690)
-(-1031,-2691)
-(-1029,-2691)
-(-1027,-2689)
-(-1026,-2687)
-(-1021,-2688)
-(-1018,-2692)
-(-1015,-2693)
-(-1014,-2695)
-(-1008,-2695)
-(-1005,-2701)
-(-1002,-2700)
-(-1001,-2703)
-(-997,-2704)
-(-994,-2706)
-(-989,-2706)
-(-988,-2704)
-(-985,-2702)
-(-983,-2703)
-(-980,-2702)
-(-978,-2703)
-(-974,-2702)
-(-968,-2704)
-(-959,-2703)
-(-959,-2702)
-(-958,-2694)
-(-957,-2693)
-(-949,-2687)
-(-947,-2683)
-(-946,-2680)
-(-944,-2678)
-(-943,-2675)
-(-942,-2673)
-(-939,-2670)
-(-936,-2664)
-(-934,-2662)
-(-930,-2662)
-(-928,-2657)
-(-924,-2654)
-(-923,-2651)
-(-918,-2649)
-(-913,-2646)
-(-907,-2645)
-(-904,-2641)
-(-900,-2641)
-(-891,-2635)
-(-885,-2636)
-(-871,-2632)
-(-864,-2629)
-(-853,-2621)
-(-841,-2619)
-(-835,-2617)
-(-832,-2617)
-(-827,-2615)
-(-824,-2613)
-(-819,-2614)
-(-815,-2611)
-(-813,-2608)
-(-811,-2607)
-(-806,-2607)
-(-800,-2608)
-(-793,-2606)
-(-788,-2608)
-(-783,-2607)
-(-779,-2604)
-(-773,-2604)
-(-772,-2601)
-(-767,-2599)
-(-762,-2595)
-(-760,-2592)
-(-758,-2591)
-(-755,-2593)
-(-743,-2595)
-(-740,-2597)
-(-738,-2596)
-(-731,-2593)
-(-729,-2596)
-(-726,-2596)
-(-717,-2602)
-(-714,-2601)
-(-713,-2599)
-(-711,-2599)
-(-709,-2600)
-(-704,-2601)
-(-701,-2603)
-(-697,-2603)
-(-695,-2602)
-(-695,-2599)
-(-693,-2597)
-(-688,-2595)
-(-681,-2593)
-(-679,-2591)
-(-674,-2592)
-(-666,-2588)
-(-660,-2583)
-(-658,-2582)
-(-657,-2580)
-(-651,-2576)
-(-649,-2572)
-(-648,-2566)
-(-647,-2564)
-(-643,-2562)
-(-637,-2561)
-(-632,-2554)
-(-626,-2552)
-(-622,-2547)
-(-618,-2547)
-(-614,-2544)
-(-609,-2545)
-(-608,-2547)
-(-606,-2547)
-(-604,-2545)
-(-603,-2543)
-(-603,-2536)
-(-603,-2534)
-(-592,-2526)
-(-588,-2525)
-(-583,-2525)
-(-581,-2523)
-(-580,-2521)
-(-581,-2519)
-(-582,-2518)
-(-587,-2502)
-(-586,-2500)
-(-581,-2497)
-(-580,-2494)
-(-579,-2487)
-(-580,-2479)
-(-578,-2474)
-(-572,-2469)
-(-566,-2467)
-(-564,-2465)
-(-563,-2458)
-(-564,-2455)
-(-564,-2451)
-(-568,-2446)
-(-567,-2444)
-(-568,-2441)
-(-569,-2438)
-(-568,-2434)
-(-565,-2431)
-(-564,-2427)
-(-562,-2425)
-(-563,-2422)
-(-562,-2420)
-(-547,-2417)
-(-544,-2414)
-(-544,-2412)
-(-546,-2409)
-(-546,-2407)
-(-544,-2404)
-(-543,-2398)
-(-537,-2393)
-(-535,-2393)
-(-532,-2394)
-(-530,-2393)
-(-527,-2381)
-(-526,-2381)
-(-519,-2381)
-(-518,-2375)
-(-512,-2364)
-(-512,-2362)
-(-514,-2357)
-(-516,-2356)
-(-521,-2352)
-(-521,-2351)
-(-521,-2350)
-(-523,-2348)
-(-524,-2343)
-(-528,-2337)
-(-526,-2331)
-(-527,-2328)
-(-529,-2326)
-(-531,-2322)
-(-538,-2320)
-(-539,-2318)
-(-539,-2317)
-(-538,-2316)
-(-532,-2316)
-(-530,-2315)
-(-529,-2312)
-(-530,-2309)
-(-531,-2308)
-(-533,-2308)
-(-537,-2311)
-(-540,-2308)
-(-542,-2305)
-(-539,-2299)
-(-541,-2297)
-(-542,-2297)
-(-545,-2299)
-(-549,-2299)
-(-552,-2297)
-(-561,-2294)
-(-563,-2292)
-(-565,-2292)
-(-566,-2289)
-(-566,-2286)
-(-568,-2284)
-(-569,-2281)
-(-572,-2280)
-(-573,-2274)
-(-576,-2269)
-(-578,-2268)
-(-578,-2262)
-(-584,-2254)
-(-584,-2248)
-(-588,-2239)
-(-590,-2236)
-(-594,-2233)
-(-594,-2228)
-(-599,-2223)
-(-599,-2218)
-(-601,-2216)
-(-605,-2216)
-(-608,-2215)
-(-609,-2212)
-(-613,-2209)
-(-613,-2206)
-(-616,-2202)
-(-616,-2200)
-(-615,-2198)
-(-616,-2196)
-(-620,-2194)
-(-624,-2194)
-(-625,-2193)
-(-625,-2188)
-(-625,-2186)
-(-630,-2184)
-66
-(-1215,-2786)
-(-1215,-2788)
-(-1216,-2791)
-(-1219,-2791)
-(-1220,-2786)
-(-1219,-2783)
-(-1221,-2780)
-(-1220,-2776)
-(-1221,-2775)
-(-1220,-2774)
-(-1221,-2769)
-(-1220,-2767)
-(-1221,-2764)
-(-1221,-2762)
-(-1219,-2756)
-(-1217,-2758)
-(-1216,-2758)
-(-1213,-2754)
-(-1209,-2752)
-(-1208,-2748)
-(-1209,-2747)
-(-1209,-2742)
-(-1208,-2742)
-(-1208,-2739)
-(-1205,-2739)
-(-1203,-2737)
-(-1202,-2737)
-(-1201,-2736)
-(-1200,-2737)
-(-1199,-2735)
-(-1197,-2735)
-(-1197,-2734)
-(-1194,-2735)
-(-1193,-2734)
-(-1190,-2730)
-(-1190,-2728)
-(-1187,-2729)
-(-1185,-2728)
-(-1183,-2730)
-(-1183,-2731)
-(-1182,-2729)
-(-1179,-2729)
-(-1179,-2727)
-(-1177,-2727)
-(-1177,-2725)
-(-1174,-2724)
-(-1171,-2724)
-(-1170,-2723)
-(-1168,-2724)
-(-1165,-2721)
-(-1164,-2722)
-(-1162,-2719)
-(-1160,-2720)
-(-1160,-2719)
-(-1159,-2720)
-(-1157,-2717)
-(-1156,-2714)
-(-1154,-2713)
-(-1154,-2711)
-(-1154,-2710)
-(-1152,-2709)
-(-1152,-2707)
-(-1148,-2705)
-(-1146,-2705)
-(-1144,-2704)
-(-1143,-2705)
-351
-(-1217,-2824)
-(-1217,-2827)
-(-1214,-2828)
-(-1213,-2833)
-(-1210,-2835)
-(-1207,-2839)
-(-1205,-2842)
-(-1205,-2844)
-(-1202,-2846)
-(-1200,-2846)
-(-1198,-2848)
-(-1199,-2850)
-(-1199,-2855)
-(-1202,-2857)
-(-1202,-2859)
-(-1199,-2861)
-(-1199,-2863)
-(-1199,-2871)
-(-1201,-2873)
-(-1203,-2872)
-(-1207,-2873)
-(-1206,-2876)
-(-1203,-2877)
-(-1202,-2879)
-(-1202,-2879)
-(-1204,-2879)
-(-1207,-2880)
-(-1209,-2884)
-(-1207,-2889)
-(-1202,-2892)
-(-1201,-2893)
-(-1202,-2894)
-(-1204,-2894)
-(-1207,-2893)
-(-1209,-2895)
-(-1207,-2898)
-(-1207,-2905)
-(-1208,-2909)
-(-1208,-2914)
-(-1210,-2918)
-(-1209,-2924)
-(-1210,-2927)
-(-1209,-2930)
-(-1211,-2931)
-(-1214,-2932)
-(-1216,-2933)
-(-1224,-2932)
-(-1226,-2933)
-(-1226,-2934)
-(-1224,-2939)
-(-1215,-2938)
-(-1212,-2939)
-(-1209,-2940)
-(-1209,-2944)
-(-1215,-2946)
-(-1219,-2950)
-(-1218,-2952)
-(-1216,-2954)
-(-1211,-2957)
-(-1206,-2958)
-(-1202,-2958)
-(-1200,-2954)
-(-1199,-2955)
-(-1199,-2964)
-(-1199,-2967)
-(-1195,-2970)
-(-1194,-2972)
-(-1195,-2976)
-(-1196,-2980)
-(-1196,-2987)
-(-1197,-2992)
-(-1195,-3000)
-(-1195,-3003)
-(-1193,-3006)
-(-1193,-3019)
-(-1192,-3021)
-(-1188,-3025)
-(-1187,-3028)
-(-1189,-3035)
-(-1195,-3040)
-(-1196,-3044)
-(-1197,-3048)
-(-1201,-3056)
-(-1205,-3060)
-(-1213,-3062)
-(-1215,-3063)
-(-1218,-3070)
-(-1219,-3076)
-(-1223,-3081)
-(-1233,-3088)
-(-1235,-3091)
-(-1236,-3095)
-(-1242,-3097)
-(-1253,-3098)
-(-1259,-3104)
-(-1266,-3108)
-(-1267,-3111)
-(-1269,-3112)
-(-1276,-3111)
-(-1280,-3112)
-(-1284,-3115)
-(-1287,-3116)
-(-1290,-3118)
-(-1291,-3119)
-(-1290,-3123)
-(-1293,-3126)
-(-1299,-3122)
-(-1303,-3123)
-(-1307,-3129)
-(-1311,-3130)
-(-1318,-3137)
-(-1327,-3142)
-(-1332,-3149)
-(-1338,-3161)
-(-1346,-3171)
-(-1349,-3178)
-(-1352,-3180)
-(-1353,-3183)
-(-1358,-3186)
-(-1363,-3190)
-(-1370,-3210)
-(-1373,-3214)
-(-1380,-3218)
-(-1387,-3218)
-(-1391,-3221)
-(-1395,-3222)
-(-1398,-3223)
-(-1401,-3226)
-(-1405,-3233)
-(-1405,-3236)
-(-1407,-3238)
-(-1413,-3239)
-(-1415,-3240)
-(-1417,-3240)
-(-1427,-3244)
-(-1437,-3245)
-(-1438,-3246)
-(-1444,-3257)
-(-1448,-3260)
-(-1454,-3259)
-(-1457,-3256)
-(-1462,-3255)
-(-1470,-3260)
-(-1477,-3259)
-(-1485,-3262)
-(-1488,-3264)
-(-1496,-3265)
-(-1501,-3267)
-(-1505,-3267)
-(-1509,-3265)
-(-1512,-3268)
-(-1516,-3270)
-(-1522,-3275)
-(-1526,-3277)
-(-1531,-3276)
-(-1535,-3276)
-(-1538,-3275)
-(-1539,-3276)
-(-1539,-3278)
-(-1540,-3279)
-(-1546,-3277)
-(-1550,-3275)
-(-1554,-3277)
-(-1557,-3276)
-(-1559,-3280)
-(-1564,-3278)
-(-1570,-3280)
-(-1572,-3278)
-(-1575,-3280)
-(-1577,-3279)
-(-1586,-3282)
-(-1591,-3288)
-(-1597,-3287)
-(-1600,-3288)
-(-1599,-3292)
-(-1600,-3294)
-(-1601,-3295)
-(-1607,-3297)
-(-1608,-3303)
-(-1612,-3308)
-(-1617,-3308)
-(-1618,-3311)
-(-1616,-3315)
-(-1617,-3318)
-(-1619,-3325)
-(-1622,-3327)
-(-1626,-3327)
-(-1626,-3332)
-(-1630,-3333)
-(-1630,-3336)
-(-1635,-3334)
-(-1636,-3335)
-(-1640,-3336)
-(-1642,-3341)
-(-1646,-3344)
-(-1646,-3351)
-(-1644,-3352)
-(-1641,-3353)
-(-1641,-3359)
-(-1639,-3364)
-(-1640,-3369)
-(-1643,-3371)
-(-1644,-3376)
-(-1646,-3375)
-(-1649,-3374)
-(-1651,-3378)
-(-1652,-3379)
-(-1654,-3379)
-(-1657,-3382)
-(-1655,-3388)
-(-1648,-3392)
-(-1649,-3402)
-(-1650,-3402)
-(-1652,-3400)
-(-1654,-3400)
-(-1657,-3403)
-(-1656,-3408)
-(-1657,-3412)
-(-1651,-3422)
-(-1650,-3425)
-(-1651,-3431)
-(-1648,-3438)
-(-1646,-3439)
-(-1646,-3445)
-(-1648,-3449)
-(-1648,-3451)
-(-1643,-3459)
-(-1642,-3467)
-(-1637,-3480)
-(-1637,-3484)
-(-1637,-3495)
-(-1637,-3499)
-(-1638,-3501)
-(-1638,-3507)
-(-1639,-3509)
-(-1638,-3512)
-(-1643,-3522)
-(-1646,-3525)
-(-1648,-3530)
-(-1651,-3530)
-(-1657,-3528)
-(-1661,-3529)
-(-1664,-3528)
-(-1678,-3529)
-(-1687,-3534)
-(-1689,-3537)
-(-1688,-3538)
-(-1688,-3539)
-(-1692,-3542)
-(-1708,-3541)
-(-1712,-3543)
-(-1719,-3543)
-(-1723,-3546)
-(-1728,-3546)
-(-1734,-3550)
-(-1740,-3550)
-(-1745,-3552)
-(-1745,-3554)
-(-1750,-3560)
-(-1752,-3560)
-(-1753,-3567)
-(-1755,-3568)
-(-1762,-3572)
-(-1761,-3570)
-(-1758,-3569)
-(-1760,-3568)
-(-1763,-3570)
-(-1764,-3572)
-(-1766,-3572)
-(-1767,-3574)
-(-1770,-3572)
-(-1774,-3573)
-(-1781,-3572)
-(-1780,-3574)
-(-1781,-3575)
-(-1785,-3575)
-(-1790,-3579)
-(-1800,-3573)
-(-1809,-3577)
-(-1819,-3578)
-(-1821,-3578)
-(-1825,-3574)
-(-1830,-3574)
-(-1834,-3573)
-(-1836,-3574)
-(-1839,-3574)
-(-1840,-3576)
-(-1853,-3583)
-(-1863,-3592)
-(-1867,-3593)
-(-1876,-3601)
-(-1878,-3604)
-(-1886,-3607)
-(-1891,-3613)
-(-1893,-3616)
-(-1901,-3624)
-(-1903,-3634)
-(-1905,-3636)
-(-1909,-3636)
-(-1912,-3639)
-(-1916,-3639)
-(-1917,-3641)
-(-1923,-3638)
-(-1925,-3639)
-(-1928,-3640)
-(-1929,-3642)
-(-1931,-3641)
-(-1933,-3641)
-(-1934,-3640)
-(-1936,-3640)
-(-1939,-3640)
-(-1940,-3640)
-(-1941,-3643)
-(-1944,-3642)
-(-1952,-3645)
-(-1959,-3643)
-(-1962,-3640)
-(-1964,-3641)
-(-1970,-3641)
-(-1978,-3633)
-(-1985,-3632)
-(-1986,-3628)
-(-1988,-3625)
-(-1988,-3621)
-(-1992,-3618)
-(-1995,-3618)
-(-1998,-3613)
-(-2005,-3604)
-(-2010,-3597)
-(-2011,-3592)
-(-2017,-3586)
-(-2021,-3577)
-(-2021,-3575)
-(-2019,-3571)
-(-2021,-3569)
-(-2024,-3566)
-(-2025,-3564)
-(-2025,-3559)
-(-2023,-3556)
-(-2027,-3555)
-(-2028,-3554)
-(-2028,-3551)
-(-2030,-3550)
-(-2030,-3541)
-(-2033,-3536)
-(-2036,-3532)
-(-2037,-3527)
-(-2043,-3519)
-(-2043,-3515)
-(-2041,-3511)
-(-2041,-3507)
-126
-(-1995,-3618)
-(-1992,-3621)
-(-1991,-3627)
-(-1988,-3631)
-(-1971,-3642)
-(-1960,-3644)
-(-1955,-3647)
-(-1952,-3648)
-(-1950,-3648)
-(-1949,-3645)
-(-1944,-3646)
-(-1938,-3645)
-(-1935,-3643)
-(-1930,-3644)
-(-1929,-3644)
-(-1928,-3642)
-(-1926,-3641)
-(-1920,-3644)
-(-1913,-3645)
-(-1911,-3645)
-(-1907,-3641)
-(-1901,-3640)
-(-1900,-3637)
-(-1902,-3631)
-(-1901,-3627)
-(-1898,-3625)
-(-1896,-3620)
-(-1894,-3621)
-(-1892,-3620)
-(-1891,-3618)
-(-1889,-3616)
-(-1888,-3612)
-(-1884,-3610)
-(-1882,-3607)
-(-1880,-3607)
-(-1873,-3604)
-(-1871,-3600)
-(-1864,-3596)
-(-1862,-3593)
-(-1859,-3592)
-(-1856,-3588)
-(-1852,-3587)
-(-1846,-3581)
-(-1842,-3580)
-(-1838,-3582)
-(-1832,-3580)
-(-1825,-3583)
-(-1821,-3581)
-(-1818,-3583)
-(-1814,-3579)
-(-1807,-3579)
-(-1803,-3577)
-(-1800,-3580)
-(-1797,-3581)
-(-1796,-3580)
-(-1796,-3582)
-(-1793,-3583)
-(-1779,-3578)
-(-1776,-3578)
-(-1772,-3578)
-(-1766,-3576)
-(-1755,-3576)
-(-1752,-3574)
-(-1746,-3567)
-(-1744,-3558)
-(-1741,-3553)
-(-1734,-3552)
-(-1732,-3550)
-(-1729,-3551)
-(-1724,-3550)
-(-1722,-3547)
-(-1719,-3546)
-(-1712,-3548)
-(-1704,-3545)
-(-1705,-3546)
-(-1704,-3547)
-(-1690,-3546)
-(-1686,-3544)
-(-1686,-3542)
-(-1687,-3538)
-(-1686,-3538)
-(-1682,-3534)
-(-1679,-3533)
-(-1677,-3532)
-(-1673,-3532)
-(-1671,-3530)
-(-1668,-3531)
-(-1662,-3530)
-(-1659,-3531)
-(-1656,-3534)
-(-1648,-3534)
-(-1647,-3531)
-(-1643,-3527)
-(-1642,-3523)
-(-1638,-3518)
-(-1635,-3506)
-(-1635,-3503)
-(-1634,-3501)
-(-1635,-3496)
-(-1634,-3484)
-(-1636,-3479)
-(-1637,-3468)
-(-1638,-3465)
-(-1638,-3462)
-(-1642,-3456)
-(-1643,-3447)
-(-1642,-3445)
-(-1642,-3442)
-(-1645,-3438)
-(-1648,-3428)
-(-1646,-3422)
-(-1646,-3420)
-(-1644,-3416)
-(-1644,-3411)
-(-1642,-3404)
-(-1642,-3393)
-(-1640,-3387)
-(-1640,-3381)
-(-1635,-3371)
-(-1637,-3364)
-(-1639,-3360)
-(-1638,-3355)
-(-1639,-3353)
-(-1640,-3351)
-(-1643,-3351)
-(-1646,-3347)
-89
-(-1455,-3578)
-(-1457,-3577)
-(-1459,-3572)
-(-1461,-3568)
-(-1469,-3560)
-(-1471,-3555)
-(-1476,-3547)
-(-1476,-3544)
-(-1478,-3542)
-(-1481,-3536)
-(-1487,-3528)
-(-1487,-3523)
-(-1489,-3520)
-(-1490,-3512)
-(-1491,-3507)
-(-1498,-3501)
-(-1500,-3500)
-(-1499,-3498)
-(-1496,-3494)
-(-1500,-3488)
-(-1501,-3487)
-(-1501,-3485)
-(-1503,-3483)
-(-1503,-3480)
-(-1505,-3479)
-(-1505,-3472)
-(-1508,-3470)
-(-1511,-3465)
-(-1514,-3464)
-(-1517,-3461)
-(-1520,-3459)
-(-1523,-3458)
-(-1526,-3453)
-(-1535,-3455)
-(-1535,-3457)
-(-1537,-3457)
-(-1536,-3459)
-(-1539,-3461)
-(-1540,-3465)
-(-1542,-3466)
-(-1544,-3464)
-(-1547,-3469)
-(-1550,-3468)
-(-1551,-3469)
-(-1553,-3472)
-(-1555,-3471)
-(-1558,-3474)
-(-1559,-3471)
-(-1560,-3471)
-(-1564,-3478)
-(-1566,-3481)
-(-1567,-3485)
-(-1569,-3486)
-(-1572,-3487)
-(-1571,-3489)
-(-1574,-3486)
-(-1576,-3490)
-(-1579,-3490)
-(-1586,-3493)
-(-1587,-3491)
-(-1589,-3492)
-(-1592,-3493)
-(-1596,-3490)
-(-1597,-3492)
-(-1599,-3491)
-(-1599,-3494)
-(-1606,-3495)
-(-1606,-3497)
-(-1609,-3497)
-(-1609,-3500)
-(-1609,-3501)
-(-1611,-3501)
-(-1612,-3499)
-(-1613,-3499)
-(-1613,-3502)
-(-1615,-3505)
-(-1616,-3509)
-(-1618,-3509)
-(-1619,-3508)
-(-1621,-3510)
-(-1624,-3511)
-(-1623,-3512)
-(-1624,-3513)
-(-1627,-3514)
-(-1628,-3517)
-(-1629,-3519)
-(-1631,-3519)
-(-1635,-3516)
-(-1638,-3516)
-239
-(-1005,-3221)
-(-1009,-3220)
-(-1010,-3221)
-(-1010,-3224)
-(-1005,-3229)
-(-999,-3240)
-(-997,-3242)
-(-997,-3248)
-(-991,-3262)
-(-990,-3269)
-(-989,-3272)
-(-990,-3274)
-(-989,-3279)
-(-993,-3286)
-(-989,-3291)
-(-988,-3295)
-(-989,-3299)
-(-994,-3304)
-(-996,-3308)
-(-996,-3312)
-(-1000,-3317)
-(-1001,-3322)
-(-1004,-3324)
-(-1005,-3328)
-(-1005,-3328)
-(-1005,-3332)
-(-1007,-3335)
-(-1006,-3341)
-(-1007,-3343)
-(-1005,-3346)
-(-1002,-3348)
-(-1003,-3352)
-(-1002,-3354)
-(-1004,-3357)
-(-1002,-3359)
-(-1002,-3361)
-(-1004,-3362)
-(-1015,-3372)
-(-1016,-3377)
-(-1024,-3395)
-(-1029,-3397)
-(-1030,-3400)
-(-1033,-3401)
-(-1035,-3404)
-(-1038,-3404)
-(-1040,-3407)
-(-1043,-3408)
-(-1044,-3411)
-(-1049,-3411)
-(-1052,-3414)
-(-1055,-3419)
-(-1059,-3419)
-(-1066,-3425)
-(-1067,-3427)
-(-1068,-3433)
-(-1069,-3435)
-(-1072,-3446)
-(-1077,-3448)
-(-1079,-3448)
-(-1083,-3449)
-(-1087,-3448)
-(-1092,-3443)
-(-1097,-3444)
-(-1099,-3443)
-(-1102,-3443)
-(-1103,-3442)
-(-1106,-3443)
-(-1108,-3442)
-(-1110,-3444)
-(-1111,-3448)
-(-1114,-3447)
-(-1114,-3450)
-(-1115,-3450)
-(-1117,-3452)
-(-1121,-3453)
-(-1123,-3452)
-(-1128,-3456)
-(-1130,-3454)
-(-1131,-3458)
-(-1133,-3459)
-(-1133,-3461)
-(-1135,-3462)
-(-1138,-3461)
-(-1139,-3459)
-(-1140,-3460)
-(-1140,-3455)
-(-1142,-3451)
-(-1144,-3442)
-(-1147,-3443)
-(-1147,-3440)
-(-1155,-3438)
-(-1161,-3439)
-(-1163,-3439)
-(-1168,-3445)
-(-1172,-3446)
-(-1173,-3443)
-(-1177,-3446)
-(-1179,-3449)
-(-1181,-3449)
-(-1180,-3452)
-(-1181,-3452)
-(-1183,-3454)
-(-1184,-3456)
-(-1184,-3459)
-(-1186,-3458)
-(-1188,-3459)
-(-1192,-3464)
-(-1195,-3465)
-(-1196,-3468)
-(-1202,-3474)
-(-1202,-3478)
-(-1203,-3479)
-(-1204,-3482)
-(-1206,-3483)
-(-1209,-3486)
-(-1210,-3489)
-(-1211,-3489)
-(-1212,-3487)
-(-1212,-3487)
-(-1215,-3490)
-(-1217,-3489)
-(-1216,-3487)
-(-1216,-3486)
-(-1222,-3485)
-(-1226,-3479)
-(-1231,-3481)
-(-1237,-3480)
-(-1239,-3478)
-(-1242,-3479)
-(-1243,-3478)
-(-1242,-3477)
-(-1240,-3476)
-(-1241,-3474)
-(-1244,-3471)
-(-1248,-3477)
-(-1249,-3473)
-(-1250,-3471)
-(-1254,-3475)
-(-1255,-3473)
-(-1258,-3471)
-(-1257,-3470)
-(-1258,-3469)
-(-1263,-3471)
-(-1265,-3470)
-(-1273,-3470)
-(-1277,-3474)
-(-1279,-3473)
-(-1279,-3471)
-(-1280,-3471)
-(-1286,-3475)
-(-1291,-3477)
-(-1292,-3477)
-(-1295,-3475)
-(-1297,-3476)
-(-1299,-3476)
-(-1301,-3473)
-(-1305,-3476)
-(-1308,-3476)
-(-1311,-3477)
-(-1314,-3475)
-(-1321,-3479)
-(-1325,-3479)
-(-1326,-3480)
-(-1329,-3478)
-(-1332,-3479)
-(-1336,-3478)
-(-1337,-3474)
-(-1341,-3472)
-(-1343,-3469)
-(-1345,-3471)
-(-1347,-3470)
-(-1351,-3470)
-(-1355,-3469)
-(-1359,-3467)
-(-1360,-3468)
-(-1360,-3471)
-(-1360,-3474)
-(-1363,-3477)
-(-1365,-3475)
-(-1366,-3473)
-(-1368,-3472)
-(-1369,-3468)
-(-1373,-3467)
-(-1375,-3469)
-(-1378,-3466)
-(-1382,-3467)
-(-1384,-3464)
-(-1386,-3462)
-(-1386,-3458)
-(-1389,-3458)
-(-1391,-3456)
-(-1392,-3453)
-(-1397,-3449)
-(-1399,-3448)
-(-1401,-3450)
-(-1405,-3447)
-(-1408,-3446)
-(-1412,-3447)
-(-1415,-3447)
-(-1419,-3444)
-(-1421,-3439)
-(-1424,-3436)
-(-1425,-3436)
-(-1426,-3438)
-(-1428,-3437)
-(-1432,-3437)
-(-1435,-3441)
-(-1437,-3437)
-(-1442,-3436)
-(-1442,-3434)
-(-1446,-3434)
-(-1447,-3430)
-(-1451,-3432)
-(-1452,-3430)
-(-1456,-3427)
-(-1459,-3426)
-(-1462,-3425)
-(-1467,-3426)
-(-1471,-3424)
-(-1472,-3426)
-(-1475,-3425)
-(-1477,-3427)
-(-1478,-3428)
-(-1481,-3425)
-(-1486,-3427)
-(-1486,-3431)
-(-1491,-3432)
-(-1493,-3435)
-(-1494,-3435)
-(-1494,-3433)
-(-1496,-3433)
-(-1499,-3432)
-(-1499,-3437)
-(-1504,-3440)
-(-1507,-3446)
-(-1507,-3451)
-(-1513,-3454)
-(-1516,-3459)
-(-1518,-3460)
-27
-(-1334,-2675)
-(-1332,-2670)
-(-1327,-2664)
-(-1323,-2660)
-(-1321,-2659)
-(-1321,-2656)
-(-1319,-2655)
-(-1317,-2652)
-(-1313,-2652)
-(-1312,-2649)
-(-1311,-2649)
-(-1310,-2645)
-(-1308,-2646)
-(-1306,-2644)
-(-1303,-2644)
-(-1299,-2644)
-(-1299,-2646)
-(-1296,-2646)
-(-1295,-2649)
-(-1288,-2652)
-(-1290,-2654)
-(-1289,-2656)
-(-1290,-2657)
-(-1289,-2658)
-(-1290,-2661)
-(-1290,-2663)
-(-1288,-2663)
-22
-(-1279,-2677)
-(-1277,-2677)
-(-1277,-2679)
-(-1273,-2682)
-(-1272,-2685)
-(-1273,-2686)
-(-1272,-2687)
-(-1273,-2689)
-(-1271,-2691)
-(-1270,-2691)
-(-1269,-2693)
-(-1270,-2695)
-(-1269,-2695)
-(-1268,-2696)
-(-1266,-2697)
-(-1268,-2701)
-(-1271,-2704)
-(-1269,-2705)
-(-1270,-2708)
-(-1267,-2709)
-(-1264,-2712)
-(-1264,-2713)
-9
-(-1240,-2779)
-(-1241,-2782)
-(-1240,-2783)
-(-1241,-2785)
-(-1241,-2787)
-(-1239,-2788)
-(-1239,-2791)
-(-1239,-2795)
-(-1237,-2796)
-182
-(-1146,-2774)
-(-1150,-2777)
-(-1151,-2780)
-(-1146,-2784)
-(-1143,-2784)
-(-1142,-2786)
-(-1141,-2786)
-(-1137,-2788)
-(-1134,-2792)
-(-1131,-2792)
-(-1131,-2794)
-(-1130,-2793)
-(-1128,-2791)
-(-1127,-2791)
-(-1127,-2790)
-(-1125,-2793)
-(-1122,-2791)
-(-1119,-2791)
-(-1119,-2791)
-(-1117,-2791)
-(-1114,-2793)
-(-1110,-2793)
-(-1110,-2793)
-(-1107,-2794)
-(-1106,-2794)
-(-1105,-2796)
-(-1104,-2796)
-(-1103,-2798)
-(-1104,-2799)
-(-1101,-2800)
-(-1100,-2803)
-(-1101,-2804)
-(-1099,-2804)
-(-1100,-2805)
-(-1098,-2806)
-(-1098,-2811)
-(-1096,-2812)
-(-1097,-2814)
-(-1095,-2815)
-(-1095,-2819)
-(-1097,-2819)
-(-1096,-2820)
-(-1098,-2820)
-(-1097,-2821)
-(-1098,-2822)
-(-1097,-2824)
-(-1098,-2825)
-(-1098,-2826)
-(-1097,-2827)
-(-1096,-2826)
-(-1095,-2828)
-(-1094,-2828)
-(-1093,-2831)
-(-1091,-2830)
-(-1091,-2831)
-(-1090,-2831)
-(-1089,-2833)
-(-1088,-2832)
-(-1087,-2835)
-(-1084,-2837)
-(-1084,-2839)
-(-1085,-2841)
-(-1087,-2841)
-(-1087,-2843)
-(-1089,-2844)
-(-1088,-2845)
-(-1090,-2845)
-(-1090,-2847)
-(-1092,-2849)
-(-1092,-2850)
-(-1093,-2851)
-(-1092,-2852)
-(-1092,-2853)
-(-1095,-2856)
-(-1095,-2857)
-(-1097,-2858)
-(-1098,-2857)
-(-1099,-2858)
-(-1099,-2860)
-(-1102,-2862)
-(-1101,-2864)
-(-1105,-2866)
-(-1105,-2869)
-(-1107,-2870)
-(-1106,-2871)
-(-1108,-2872)
-(-1108,-2875)
-(-1109,-2877)
-(-1107,-2879)
-(-1106,-2879)
-(-1106,-2882)
-(-1104,-2883)
-(-1105,-2885)
-(-1105,-2888)
-(-1102,-2890)
-(-1100,-2896)
-(-1101,-2898)
-(-1103,-2899)
-(-1102,-2902)
-(-1102,-2904)
-(-1101,-2905)
-(-1102,-2908)
-(-1101,-2909)
-(-1101,-2913)
-(-1099,-2914)
-(-1100,-2916)
-(-1100,-2917)
-(-1101,-2920)
-(-1101,-2927)
-(-1102,-2929)
-(-1101,-2930)
-(-1099,-2935)
-(-1098,-2935)
-(-1099,-2938)
-(-1102,-2940)
-(-1102,-2941)
-(-1104,-2942)
-(-1104,-2944)
-(-1104,-2946)
-(-1103,-2947)
-(-1105,-2949)
-(-1105,-2952)
-(-1108,-2952)
-(-1111,-2954)
-(-1112,-2957)
-(-1114,-2958)
-(-1114,-2960)
-(-1116,-2961)
-(-1119,-2963)
-(-1118,-2964)
-(-1115,-2966)
-(-1113,-2969)
-(-1110,-2969)
-(-1109,-2970)
-(-1109,-2972)
-(-1112,-2973)
-(-1113,-2978)
-(-1114,-2979)
-(-1116,-2978)
-(-1115,-2980)
-(-1116,-2982)
-(-1117,-2984)
-(-1116,-2986)
-(-1118,-2987)
-(-1117,-2992)
-(-1116,-2993)
-(-1117,-2995)
-(-1116,-3002)
-(-1120,-3005)
-(-1120,-3014)
-(-1122,-3020)
-(-1128,-3023)
-(-1130,-3026)
-(-1134,-3027)
-(-1136,-3030)
-(-1137,-3031)
-(-1138,-3030)
-(-1143,-3030)
-(-1147,-3033)
-(-1147,-3041)
-(-1149,-3041)
-(-1150,-3044)
-(-1153,-3045)
-(-1157,-3050)
-(-1164,-3053)
-(-1167,-3051)
-(-1168,-3051)
-(-1169,-3052)
-(-1169,-3054)
-(-1167,-3056)
-(-1168,-3058)
-(-1170,-3058)
-(-1173,-3056)
-(-1174,-3057)
-(-1174,-3059)
-(-1179,-3059)
-(-1184,-3061)
-(-1194,-3059)
-(-1198,-3060)
-(-1200,-3059)
-(-1203,-3061)
-(-1205,-3060)
-188
-(2805,-4278)
-(2800,-4295)
-(2798,-4301)
-(2798,-4307)
-(2800,-4311)
-(2800,-4312)
-(2794,-4320)
-(2793,-4327)
-(2791,-4332)
-(2787,-4334)
-(2785,-4336)
-(2784,-4344)
-(2782,-4349)
-(2775,-4358)
-(2772,-4360)
-(2769,-4368)
-(2768,-4375)
-(2766,-4375)
-(2765,-4374)
-(2765,-4377)
-(2764,-4380)
-(2763,-4389)
-(2758,-4392)
-(2754,-4393)
-(2743,-4406)
-(2737,-4407)
-(2732,-4411)
-(2727,-4410)
-(2725,-4411)
-(2725,-4424)
-(2721,-4429)
-(2720,-4434)
-(2714,-4440)
-(2713,-4444)
-(2714,-4449)
-(2712,-4452)
-(2710,-4460)
-(2708,-4464)
-(2707,-4464)
-(2703,-4468)
-(2699,-4481)
-(2700,-4488)
-(2700,-4491)
-(2698,-4492)
-(2697,-4499)
-(2695,-4501)
-(2694,-4507)
-(2693,-4510)
-(2691,-4517)
-(2686,-4523)
-(2684,-4528)
-(2677,-4538)
-(2668,-4547)
-(2670,-4549)
-(2671,-4548)
-(2687,-4526)
-(2696,-4508)
-(2697,-4502)
-(2699,-4501)
-(2700,-4497)
-(2701,-4497)
-(2702,-4491)
-(2701,-4485)
-(2702,-4481)
-(2704,-4475)
-(2706,-4471)
-(2710,-4468)
-(2711,-4463)
-(2713,-4461)
-(2716,-4453)
-(2719,-4450)
-(2719,-4442)
-(2721,-4438)
-(2725,-4441)
-(2727,-4441)
-(2726,-4442)
-(2727,-4443)
-(2730,-4456)
-(2730,-4459)
-(2734,-4463)
-(2736,-4475)
-(2738,-4478)
-(2737,-4486)
-(2738,-4491)
-(2738,-4497)
-(2736,-4499)
-(2734,-4506)
-(2734,-4515)
-(2732,-4519)
-(2731,-4526)
-(2727,-4541)
-(2722,-4550)
-(2723,-4555)
-(2724,-4555)
-(2728,-4559)
-(2730,-4566)
-(2730,-4572)
-(2729,-4573)
-(2727,-4578)
-(2727,-4582)
-(2731,-4589)
-(2733,-4597)
-(2734,-4601)
-(2738,-4601)
-(2740,-4603)
-(2742,-4603)
-(2746,-4608)
-(2750,-4607)
-(2752,-4609)
-(2753,-4613)
-(2753,-4615)
-(2752,-4614)
-(2747,-4614)
-(2747,-4618)
-(2747,-4623)
-(2749,-4625)
-(2752,-4633)
-(2754,-4635)
-(2755,-4638)
-(2758,-4639)
-(2762,-4647)
-(2759,-4638)
-(2759,-4638)
-(2760,-4638)
-(2769,-4655)
-(2771,-4661)
-(2770,-4654)
-(2763,-4639)
-(2761,-4636)
-(2756,-4635)
-(2755,-4622)
-(2755,-4617)
-(2753,-4608)
-(2750,-4605)
-(2746,-4606)
-(2743,-4602)
-(2740,-4601)
-(2734,-4597)
-(2731,-4584)
-(2728,-4581)
-(2729,-4577)
-(2732,-4572)
-(2732,-4565)
-(2728,-4558)
-(2723,-4550)
-(2725,-4546)
-(2728,-4542)
-(2730,-4531)
-(2732,-4527)
-(2735,-4515)
-(2736,-4507)
-(2739,-4497)
-(2738,-4483)
-(2739,-4478)
-(2736,-4474)
-(2736,-4469)
-(2734,-4462)
-(2731,-4459)
-(2731,-4450)
-(2730,-4450)
-(2729,-4448)
-(2729,-4442)
-(2732,-4434)
-(2735,-4433)
-(2742,-4424)
-(2743,-4411)
-(2745,-4406)
-(2754,-4396)
-(2761,-4391)
-(2766,-4390)
-(2769,-4385)
-(2770,-4380)
-(2772,-4379)
-(2776,-4368)
-(2777,-4358)
-(2784,-4347)
-(2785,-4343)
-(2786,-4341)
-(2787,-4336)
-(2793,-4333)
-(2796,-4321)
-(2801,-4312)
-(2800,-4306)
-(2800,-4302)
-(2801,-4298)
-(2804,-4288)
-(2804,-4281)
-(2805,-4278)
-45
-(2649,-4444)
-(2645,-4444)
-(2644,-4443)
-(2639,-4443)
-(2638,-4444)
-(2639,-4448)
-(2630,-4452)
-(2628,-4444)
-(2625,-4443)
-(2623,-4441)
-(2623,-4437)
-(2622,-4435)
-(2618,-4434)
-(2611,-4429)
-(2606,-4433)
-(2600,-4432)
-(2597,-4430)
-(2596,-4430)
-(2595,-4426)
-(2596,-4425)
-(2597,-4422)
-(2597,-4420)
-(2598,-4419)
-(2599,-4417)
-(2596,-4416)
-(2592,-4415)
-(2584,-4415)
-(2578,-4418)
-(2575,-4421)
-(2568,-4420)
-(2562,-4423)
-(2556,-4426)
-(2544,-4428)
-(2539,-4427)
-(2534,-4431)
-(2525,-4437)
-(2515,-4437)
-(2512,-4436)
-(2507,-4437)
-(2503,-4436)
-(2496,-4437)
-(2489,-4440)
-(2485,-4437)
-(2480,-4438)
-(2478,-4437)
-3
-(2596,-4744)
-(2590,-4743)
-(2586,-4744)
-8
-(2581,-4945)
-(2578,-4945)
-(2574,-4948)
-(2569,-4949)
-(2566,-4948)
-(2557,-4951)
-(2554,-4955)
-(2553,-4959)
-63
-(2305,-4774)
-(2312,-4768)
-(2318,-4761)
-(2326,-4756)
-(2330,-4757)
-(2335,-4754)
-(2338,-4753)
-(2340,-4750)
-(2340,-4747)
-(2341,-4744)
-(2340,-4741)
-(2343,-4740)
-(2345,-4738)
-(2351,-4734)
-(2355,-4730)
-(2362,-4725)
-(2365,-4725)
-(2366,-4720)
-(2368,-4719)
-(2370,-4715)
-(2372,-4714)
-(2372,-4708)
-(2373,-4706)
-(2374,-4706)
-(2375,-4707)
-(2376,-4704)
-(2377,-4706)
-(2377,-4706)
-(2379,-4701)
-(2378,-4697)
-(2382,-4691)
-(2381,-4687)
-(2378,-4682)
-(2376,-4680)
-(2376,-4677)
-(2376,-4675)
-(2376,-4673)
-(2377,-4672)
-(2376,-4670)
-(2374,-4670)
-(2373,-4673)
-(2371,-4671)
-(2372,-4670)
-(2372,-4669)
-(2370,-4670)
-(2370,-4666)
-(2367,-4668)
-(2365,-4664)
-(2360,-4664)
-(2359,-4660)
-(2358,-4657)
-(2358,-4653)
-(2356,-4652)
-(2354,-4647)
-(2352,-4648)
-(2350,-4650)
-(2348,-4651)
-(2344,-4647)
-(2344,-4640)
-(2343,-4636)
-(2339,-4633)
-(2338,-4628)
-(2334,-4624)
-88
-(2087,-5027)
-(2083,-5025)
-(2080,-5020)
-(2074,-5017)
-(2072,-5018)
-(2069,-5021)
-(2066,-5021)
-(2062,-5027)
-(2062,-5029)
-(2049,-5045)
-(2047,-5047)
-(2043,-5047)
-(2042,-5050)
-(2040,-5052)
-(2040,-5054)
-(2038,-5056)
-(2040,-5060)
-(2040,-5063)
-(2038,-5063)
-(2035,-5066)
-(2030,-5067)
-(2026,-5074)
-(2020,-5079)
-(2018,-5085)
-(2014,-5089)
-(2011,-5089)
-(2007,-5096)
-(2007,-5099)
-(2006,-5101)
-(2003,-5103)
-(2001,-5103)
-(1996,-5106)
-(1993,-5105)
-(1992,-5103)
-(1989,-5104)
-(1987,-5106)
-(1984,-5107)
-(1983,-5109)
-(1978,-5112)
-(1975,-5112)
-(1971,-5110)
-(1969,-5110)
-(1967,-5108)
-(1965,-5108)
-(1964,-5107)
-(1959,-5106)
-(1958,-5105)
-(1955,-5104)
-(1951,-5100)
-(1948,-5099)
-(1945,-5098)
-(1943,-5099)
-(1943,-5098)
-(1940,-5100)
-(1936,-5094)
-(1933,-5096)
-(1933,-5099)
-(1932,-5098)
-(1931,-5101)
-(1928,-5103)
-(1898,-5104)
-(1892,-5102)
-(1889,-5104)
-(1887,-5103)
-(1876,-5107)
-(1870,-5106)
-(1870,-5104)
-(1864,-5100)
-(1861,-5100)
-(1859,-5100)
-(1858,-5099)
-(1842,-5092)
-(1831,-5100)
-(1829,-5101)
-(1827,-5100)
-(1825,-5102)
-(1823,-5102)
-(1820,-5103)
-(1819,-5103)
-(1815,-5105)
-(1811,-5108)
-(1807,-5109)
-(1803,-5108)
-(1799,-5102)
-(1797,-5101)
-(1792,-5101)
-(1787,-5102)
-(1785,-5098)
-411
-(2829,-5701)
-(2833,-5701)
-(2836,-5699)
-(2839,-5699)
-(2839,-5697)
-(2847,-5694)
-(2849,-5691)
-(2850,-5689)
-(2849,-5685)
-(2846,-5682)
-(2847,-5669)
-(2846,-5663)
-(2844,-5660)
-(2846,-5644)
-(2845,-5643)
-(2841,-5642)
-(2838,-5636)
-(2839,-5633)
-(2838,-5630)
-(2838,-5627)
-(2834,-5629)
-(2833,-5628)
-(2835,-5620)
-(2833,-5610)
-(2829,-5605)
-(2823,-5603)
-(2820,-5597)
-(2816,-5599)
-(2813,-5603)
-(2807,-5602)
-(2802,-5610)
-(2801,-5617)
-(2797,-5619)
-(2795,-5619)
-(2793,-5622)
-(2794,-5626)
-(2793,-5627)
-(2795,-5628)
-(2795,-5630)
-(2793,-5638)
-(2794,-5643)
-(2793,-5643)
-(2792,-5645)
-(2789,-5646)
-(2787,-5646)
-(2786,-5649)
-(2780,-5654)
-(2777,-5661)
-(2773,-5665)
-(2768,-5663)
-(2765,-5661)
-(2759,-5662)
-(2756,-5664)
-(2753,-5662)
-(2750,-5662)
-(2747,-5657)
-(2744,-5656)
-(2744,-5654)
-(2741,-5653)
-(2740,-5652)
-(2737,-5653)
-(2733,-5649)
-(2730,-5649)
-(2724,-5642)
-(2723,-5636)
-(2719,-5628)
-(2718,-5616)
-(2714,-5610)
-(2713,-5607)
-(2708,-5598)
-(2706,-5597)
-(2701,-5597)
-(2697,-5593)
-(2694,-5592)
-(2694,-5591)
-(2697,-5586)
-(2694,-5583)
-(2692,-5582)
-(2688,-5581)
-(2687,-5580)
-(2687,-5574)
-(2685,-5572)
-(2685,-5569)
-(2680,-5560)
-(2677,-5557)
-(2662,-5520)
-(2660,-5516)
-(2651,-5511)
-(2649,-5508)
-(2642,-5495)
-(2642,-5490)
-(2637,-5483)
-(2627,-5475)
-(2625,-5476)
-(2614,-5475)
-(2610,-5473)
-(2607,-5474)
-(2605,-5473)
-(2602,-5473)
-(2601,-5471)
-(2577,-5469)
-(2574,-5468)
-(2572,-5465)
-(2565,-5464)
-(2563,-5462)
-(2562,-5457)
-(2560,-5448)
-(2559,-5441)
-(2553,-5438)
-(2548,-5438)
-(2542,-5427)
-(2540,-5425)
-(2535,-5424)
-(2527,-5410)
-(2522,-5409)
-(2520,-5408)
-(2509,-5412)
-(2505,-5418)
-(2495,-5421)
-(2494,-5424)
-(2492,-5428)
-(2491,-5435)
-(2487,-5441)
-(2487,-5450)
-(2486,-5453)
-(2486,-5460)
-(2484,-5463)
-(2474,-5466)
-(2471,-5464)
-(2466,-5458)
-(2459,-5457)
-(2456,-5459)
-(2450,-5465)
-(2445,-5466)
-(2440,-5469)
-(2437,-5479)
-(2434,-5485)
-(2433,-5485)
-(2430,-5482)
-(2427,-5483)
-(2424,-5482)
-(2422,-5488)
-(2417,-5490)
-(2408,-5491)
-(2401,-5490)
-(2396,-5486)
-(2392,-5487)
-(2388,-5484)
-(2382,-5482)
-(2377,-5474)
-(2373,-5469)
-(2372,-5466)
-(2367,-5462)
-(2361,-5452)
-(2358,-5448)
-(2356,-5446)
-(2352,-5444)
-(2348,-5444)
-(2346,-5442)
-(2344,-5443)
-(2339,-5442)
-(2334,-5438)
-(2333,-5435)
-(2334,-5432)
-(2337,-5429)
-(2338,-5427)
-(2335,-5416)
-(2331,-5408)
-(2328,-5408)
-(2323,-5412)
-(2318,-5411)
-(2313,-5415)
-(2306,-5419)
-(2301,-5423)
-(2294,-5422)
-(2286,-5414)
-(2284,-5409)
-(2281,-5407)
-(2278,-5401)
-(2277,-5395)
-(2272,-5389)
-(2270,-5384)
-(2264,-5380)
-(2261,-5372)
-(2253,-5372)
-(2245,-5366)
-(2241,-5367)
-(2239,-5371)
-(2236,-5371)
-(2235,-5368)
-(2232,-5368)
-(2226,-5363)
-(2223,-5363)
-(2220,-5357)
-(2221,-5356)
-(2223,-5358)
-(2224,-5358)
-(2225,-5357)
-(2225,-5355)
-(2223,-5355)
-(2221,-5353)
-(2219,-5351)
-(2219,-5347)
-(2213,-5347)
-(2210,-5349)
-(2206,-5348)
-(2202,-5349)
-(2194,-5353)
-(2194,-5355)
-(2195,-5357)
-(2198,-5362)
-(2197,-5363)
-(2194,-5364)
-(2190,-5366)
-(2187,-5368)
-(2187,-5370)
-(2191,-5369)
-(2193,-5370)
-(2194,-5372)
-(2193,-5374)
-(2192,-5375)
-(2189,-5373)
-(2187,-5373)
-(2182,-5372)
-(2181,-5373)
-(2181,-5377)
-(2179,-5378)
-(2176,-5373)
-(2175,-5375)
-(2174,-5381)
-(2168,-5376)
-(2166,-5380)
-(2160,-5384)
-(2154,-5380)
-(2155,-5384)
-(2154,-5386)
-(2152,-5387)
-(2151,-5384)
-(2149,-5384)
-(2146,-5390)
-(2143,-5397)
-(2142,-5397)
-(2138,-5394)
-(2136,-5397)
-(2132,-5395)
-(2131,-5401)
-(2127,-5402)
-(2122,-5407)
-(2117,-5407)
-(2114,-5405)
-(2112,-5406)
-(2110,-5405)
-(2108,-5406)
-(2107,-5411)
-(2103,-5413)
-(2101,-5419)
-(2097,-5416)
-(2095,-5416)
-(2092,-5421)
-(2089,-5428)
-(2088,-5428)
-(2086,-5427)
-(2084,-5428)
-(2084,-5434)
-(2078,-5436)
-(2074,-5434)
-(2070,-5435)
-(2065,-5435)
-(2062,-5441)
-(2062,-5446)
-(2060,-5445)
-(2057,-5446)
-(2057,-5450)
-(2052,-5452)
-(2049,-5458)
-(2047,-5456)
-(2046,-5452)
-(2043,-5453)
-(2042,-5455)
-(2042,-5458)
-(2039,-5465)
-(2038,-5465)
-(2036,-5462)
-(2032,-5464)
-(2028,-5463)
-(2026,-5468)
-(2022,-5471)
-(2021,-5474)
-(2020,-5473)
-(2018,-5469)
-(2015,-5469)
-(2014,-5473)
-(2013,-5474)
-(2008,-5468)
-(2003,-5468)
-(1999,-5471)
-(1996,-5467)
-(1990,-5466)
-(1988,-5466)
-(1987,-5469)
-(1978,-5470)
-(1977,-5466)
-(1975,-5464)
-(1974,-5465)
-(1971,-5468)
-(1966,-5469)
-(1965,-5469)
-(1964,-5465)
-(1962,-5464)
-(1961,-5469)
-(1959,-5470)
-(1956,-5469)
-(1953,-5466)
-(1948,-5466)
-(1945,-5461)
-(1941,-5459)
-(1940,-5455)
-(1939,-5454)
-(1935,-5458)
-(1928,-5462)
-(1928,-5466)
-(1924,-5464)
-(1921,-5465)
-(1918,-5470)
-(1913,-5474)
-(1911,-5480)
-(1909,-5481)
-(1903,-5484)
-(1895,-5486)
-(1891,-5492)
-(1888,-5492)
-(1884,-5489)
-(1877,-5492)
-(1876,-5493)
-(1877,-5498)
-(1876,-5499)
-(1872,-5496)
-(1869,-5498)
-(1868,-5498)
-(1864,-5494)
-(1863,-5495)
-(1861,-5499)
-(1858,-5500)
-(1856,-5498)
-(1855,-5493)
-(1853,-5491)
-(1849,-5491)
-(1847,-5495)
-(1845,-5495)
-(1844,-5489)
-(1845,-5483)
-(1845,-5482)
-(1841,-5480)
-(1839,-5478)
-(1834,-5475)
-(1833,-5475)
-(1831,-5477)
-(1830,-5477)
-(1831,-5472)
-(1826,-5471)
-(1822,-5475)
-(1821,-5474)
-(1820,-5469)
-(1819,-5469)
-(1819,-5472)
-(1818,-5473)
-(1816,-5467)
-(1813,-5469)
-(1812,-5469)
-(1813,-5465)
-(1812,-5462)
-(1810,-5460)
-(1808,-5461)
-(1807,-5457)
-(1808,-5456)
-(1807,-5455)
-(1805,-5453)
-(1804,-5451)
-(1800,-5449)
-(1801,-5444)
-(1803,-5440)
-(1804,-5435)
-(1803,-5429)
-(1800,-5428)
-(1800,-5424)
-(1798,-5423)
-(1797,-5421)
-(1797,-5418)
-(1798,-5415)
-(1798,-5414)
-(1796,-5412)
-(1797,-5409)
-(1795,-5407)
-(1796,-5404)
-(1797,-5402)
-(1795,-5396)
-(1793,-5395)
-(1793,-5399)
-(1786,-5401)
-(1783,-5398)
-(1779,-5397)
-(1775,-5388)
-(1769,-5381)
-(1768,-5377)
-(1764,-5375)
-(1761,-5369)
-(1762,-5366)
-(1761,-5364)
-(1752,-5356)
-(1748,-5355)
-(1736,-5365)
-131
-(2222,-4879)
-(2217,-4887)
-(2218,-4890)
-(2215,-4895)
-(2216,-4898)
-(2215,-4903)
-(2209,-4917)
-(2206,-4928)
-(2201,-4940)
-(2202,-4942)
-(2200,-4944)
-(2196,-4956)
-(2192,-4957)
-(2191,-4961)
-(2190,-4961)
-(2190,-4964)
-(2190,-4966)
-(2188,-4967)
-(2189,-4968)
-(2187,-4968)
-(2188,-4971)
-(2186,-4972)
-(2184,-4976)
-(2182,-4978)
-(2182,-4982)
-(2182,-4986)
-(2181,-4990)
-(2178,-4992)
-(2178,-4995)
-(2178,-4997)
-(2176,-5001)
-(2173,-5006)
-(2170,-5008)
-(2170,-5015)
-(2168,-5016)
-(2168,-5018)
-(2166,-5018)
-(2166,-5018)
-(2167,-5019)
-(2167,-5021)
-(2165,-5020)
-(2165,-5022)
-(2163,-5022)
-(2163,-5026)
-(2162,-5029)
-(2160,-5031)
-(2157,-5032)
-(2156,-5038)
-(2154,-5039)
-(2153,-5037)
-(2152,-5038)
-(2153,-5040)
-(2152,-5042)
-(2150,-5043)
-(2151,-5044)
-(2150,-5048)
-(2148,-5048)
-(2148,-5050)
-(2146,-5051)
-(2147,-5055)
-(2146,-5057)
-(2146,-5058)
-(2144,-5059)
-(2146,-5061)
-(2145,-5062)
-(2146,-5065)
-(2145,-5065)
-(2146,-5066)
-(2151,-5072)
-(2150,-5073)
-(2150,-5076)
-(2147,-5077)
-(2148,-5080)
-(2145,-5080)
-(2144,-5083)
-(2142,-5083)
-(2141,-5086)
-(2136,-5087)
-(2133,-5088)
-(2133,-5093)
-(2130,-5091)
-(2129,-5094)
-(2126,-5095)
-(2126,-5097)
-(2128,-5098)
-(2126,-5099)
-(2125,-5099)
-(2124,-5101)
-(2119,-5104)
-(2117,-5106)
-(2114,-5105)
-(2112,-5107)
-(2109,-5108)
-(2107,-5112)
-(2106,-5116)
-(2104,-5117)
-(2102,-5120)
-(2102,-5121)
-(2105,-5121)
-(2107,-5123)
-(2106,-5124)
-(2104,-5123)
-(2103,-5125)
-(2102,-5126)
-(2102,-5128)
-(2105,-5129)
-(2105,-5130)
-(2104,-5132)
-(2101,-5134)
-(2101,-5137)
-(2102,-5139)
-(2102,-5141)
-(2095,-5142)
-(2092,-5146)
-(2075,-5162)
-(2073,-5167)
-(2066,-5174)
-(2064,-5174)
-(2063,-5175)
-(2063,-5179)
-(2066,-5180)
-(2066,-5185)
-(2069,-5187)
-(2071,-5192)
-(2074,-5193)
-(2075,-5194)
-(2075,-5196)
-(2073,-5198)
-(2075,-5202)
-(2073,-5206)
-(2074,-5214)
-33
-(2086,-5262)
-(2084,-5268)
-(2086,-5273)
-(2094,-5279)
-(2095,-5280)
-(2095,-5287)
-(2098,-5290)
-(2104,-5293)
-(2105,-5294)
-(2104,-5297)
-(2108,-5299)
-(2113,-5299)
-(2114,-5296)
-(2115,-5295)
-(2117,-5297)
-(2117,-5295)
-(2119,-5291)
-(2121,-5292)
-(2123,-5291)
-(2123,-5285)
-(2125,-5283)
-(2123,-5280)
-(2125,-5278)
-(2127,-5282)
-(2131,-5278)
-(2133,-5279)
-(2137,-5282)
-(2141,-5281)
-(2143,-5282)
-(2147,-5279)
-(2155,-5276)
-(2157,-5277)
-(2156,-5279)
-5
-(2221,-5297)
-(2224,-5302)
-(2222,-5311)
-(2223,-5313)
-(2225,-5315)
-275
-(2510,-4672)
-(2510,-4678)
-(2507,-4681)
-(2506,-4684)
-(2507,-4689)
-(2507,-4694)
-(2510,-4698)
-(2515,-4703)
-(2519,-4703)
-(2521,-4700)
-(2523,-4700)
-(2525,-4705)
-(2525,-4710)
-(2526,-4712)
-(2525,-4719)
-(2529,-4720)
-(2530,-4724)
-(2529,-4726)
-(2527,-4728)
-(2526,-4732)
-(2523,-4733)
-(2522,-4737)
-(2515,-4736)
-(2511,-4739)
-(2510,-4747)
-(2511,-4755)
-(2509,-4756)
-(2506,-4758)
-(2502,-4761)
-(2500,-4765)
-(2495,-4765)
-(2489,-4768)
-(2488,-4774)
-(2487,-4775)
-(2488,-4779)
-(2486,-4779)
-(2485,-4780)
-(2484,-4789)
-(2483,-4789)
-(2480,-4787)
-(2478,-4791)
-(2476,-4791)
-(2476,-4788)
-(2473,-4786)
-(2472,-4783)
-(2469,-4780)
-(2463,-4780)
-(2461,-4776)
-(2459,-4777)
-(2458,-4774)
-(2455,-4771)
-(2456,-4769)
-(2455,-4768)
-(2452,-4769)
-(2450,-4771)
-(2447,-4772)
-(2444,-4775)
-(2442,-4776)
-(2440,-4781)
-(2437,-4783)
-(2435,-4786)
-(2432,-4786)
-(2432,-4790)
-(2429,-4793)
-(2429,-4798)
-(2426,-4800)
-(2426,-4801)
-(2430,-4805)
-(2433,-4813)
-(2440,-4815)
-(2442,-4818)
-(2438,-4828)
-(2439,-4831)
-(2437,-4834)
-(2437,-4837)
-(2436,-4840)
-(2434,-4840)
-(2428,-4836)
-(2424,-4838)
-(2422,-4836)
-(2419,-4836)
-(2417,-4837)
-(2415,-4839)
-(2407,-4843)
-(2405,-4844)
-(2400,-4844)
-(2397,-4846)
-(2395,-4845)
-(2395,-4848)
-(2392,-4848)
-(2387,-4850)
-(2386,-4852)
-(2383,-4850)
-(2377,-4853)
-(2376,-4856)
-(2373,-4861)
-(2367,-4867)
-(2364,-4874)
-(2363,-4877)
-(2361,-4882)
-(2362,-4884)
-(2364,-4886)
-(2364,-4888)
-(2363,-4889)
-(2360,-4893)
-(2357,-4894)
-(2356,-4901)
-(2354,-4902)
-(2353,-4904)
-(2350,-4905)
-(2346,-4905)
-(2344,-4909)
-(2341,-4906)
-(2338,-4907)
-(2336,-4906)
-(2337,-4909)
-(2336,-4910)
-(2334,-4912)
-(2332,-4914)
-(2333,-4916)
-(2336,-4914)
-(2339,-4916)
-(2341,-4921)
-(2340,-4923)
-(2336,-4927)
-(2330,-4929)
-(2326,-4933)
-(2323,-4931)
-(2317,-4931)
-(2315,-4932)
-(2315,-4936)
-(2307,-4939)
-(2304,-4953)
-(2305,-4955)
-(2307,-4956)
-(2308,-4957)
-(2310,-4960)
-(2313,-4962)
-(2315,-4970)
-(2325,-4973)
-(2323,-4982)
-(2321,-4983)
-(2320,-4987)
-(2317,-4989)
-(2317,-4996)
-(2316,-4998)
-(2319,-5002)
-(2320,-5008)
-(2322,-5010)
-(2321,-5017)
-(2318,-5019)
-(2318,-5022)
-(2320,-5026)
-(2326,-5032)
-(2327,-5037)
-(2327,-5045)
-(2329,-5052)
-(2330,-5054)
-(2334,-5054)
-(2337,-5057)
-(2340,-5058)
-(2343,-5064)
-(2346,-5067)
-(2344,-5076)
-(2346,-5081)
-(2348,-5084)
-(2343,-5093)
-(2338,-5089)
-(2335,-5092)
-(2334,-5092)
-(2334,-5088)
-(2333,-5087)
-(2330,-5089)
-(2327,-5088)
-(2328,-5091)
-(2327,-5099)
-(2321,-5111)
-(2325,-5116)
-(2324,-5126)
-(2322,-5127)
-(2319,-5126)
-(2312,-5125)
-(2311,-5128)
-(2308,-5131)
-(2307,-5136)
-(2300,-5139)
-(2298,-5141)
-(2296,-5145)
-(2297,-5148)
-(2297,-5150)
-(2291,-5154)
-(2282,-5155)
-(2280,-5157)
-(2280,-5161)
-(2278,-5163)
-(2281,-5167)
-(2281,-5171)
-(2284,-5176)
-(2285,-5177)
-(2288,-5177)
-(2292,-5182)
-(2291,-5183)
-(2289,-5180)
-(2288,-5180)
-(2286,-5184)
-(2288,-5188)
-(2284,-5186)
-(2282,-5191)
-(2276,-5191)
-(2275,-5195)
-(2272,-5196)
-(2271,-5198)
-(2271,-5200)
-(2274,-5199)
-(2274,-5203)
-(2274,-5205)
-(2278,-5208)
-(2279,-5210)
-(2276,-5215)
-(2275,-5221)
-(2273,-5223)
-(2269,-5224)
-(2267,-5227)
-(2268,-5229)
-(2270,-5230)
-(2271,-5232)
-(2276,-5244)
-(2276,-5248)
-(2275,-5251)
-(2275,-5254)
-(2276,-5255)
-(2278,-5255)
-(2278,-5257)
-(2277,-5257)
-(2273,-5255)
-(2272,-5256)
-(2269,-5259)
-(2270,-5261)
-(2273,-5260)
-(2274,-5261)
-(2272,-5267)
-(2273,-5270)
-(2275,-5273)
-(2276,-5275)
-(2274,-5276)
-(2269,-5274)
-(2267,-5277)
-(2269,-5283)
-(2265,-5284)
-(2262,-5287)
-(2260,-5289)
-(2256,-5289)
-(2252,-5285)
-(2249,-5285)
-(2248,-5287)
-(2247,-5296)
-(2246,-5300)
-(2244,-5302)
-(2244,-5308)
-(2243,-5309)
-(2240,-5311)
-(2237,-5311)
-(2229,-5305)
-(2224,-5309)
-(2224,-5311)
-(2224,-5314)
-(2227,-5319)
-(2233,-5334)
-(2233,-5338)
-(2233,-5341)
-(2231,-5344)
-(2227,-5347)
-(2224,-5350)
-(2221,-5350)
-(2219,-5348)
-228
-(2362,-6383)
-(2361,-6380)
-(2353,-6381)
-(2345,-6375)
-(2342,-6375)
-(2340,-6372)
-(2334,-6368)
-(2331,-6365)
-(2326,-6365)
-(2324,-6361)
-(2315,-6363)
-(2308,-6351)
-(2302,-6344)
-(2304,-6335)
-(2307,-6331)
-(2310,-6321)
-(2306,-6315)
-(2306,-6310)
-(2305,-6307)
-(2304,-6300)
-(2302,-6296)
-(2298,-6291)
-(2296,-6285)
-(2296,-6266)
-(2295,-6255)
-(2291,-6248)
-(2288,-6236)
-(2287,-6227)
-(2285,-6222)
-(2281,-6215)
-(2280,-6212)
-(2280,-6207)
-(2285,-6196)
-(2284,-6193)
-(2285,-6191)
-(2284,-6188)
-(2284,-6174)
-(2285,-6172)
-(2286,-6154)
-(2286,-6149)
-(2286,-6141)
-(2285,-6134)
-(2282,-6130)
-(2282,-6118)
-(2277,-6098)
-(2276,-6092)
-(2274,-6086)
-(2273,-6081)
-(2276,-6073)
-(2278,-6071)
-(2280,-6062)
-(2278,-6054)
-(2277,-6048)
-(2272,-6037)
-(2271,-6030)
-(2269,-6023)
-(2268,-6011)
-(2264,-5995)
-(2260,-5986)
-(2260,-5981)
-(2260,-5976)
-(2261,-5974)
-(2275,-5963)
-(2290,-5946)
-(2292,-5941)
-(2300,-5930)
-(2301,-5922)
-(2301,-5917)
-(2299,-5911)
-(2294,-5901)
-(2292,-5895)
-(2290,-5892)
-(2290,-5888)
-(2281,-5874)
-(2267,-5844)
-(2264,-5843)
-(2261,-5840)
-(2259,-5839)
-(2257,-5838)
-(2248,-5835)
-(2243,-5831)
-(2236,-5829)
-(2230,-5826)
-(2228,-5828)
-(2227,-5827)
-(2223,-5821)
-(2222,-5816)
-(2215,-5817)
-(2211,-5815)
-(2209,-5815)
-(2207,-5812)
-(2207,-5808)
-(2206,-5808)
-(2205,-5812)
-(2201,-5816)
-(2202,-5822)
-(2201,-5823)
-(2196,-5822)
-(2195,-5813)
-(2193,-5815)
-(2191,-5820)
-(2190,-5820)
-(2188,-5818)
-(2187,-5816)
-(2188,-5813)
-(2194,-5806)
-(2193,-5804)
-(2188,-5802)
-(2186,-5802)
-(2185,-5796)
-(2183,-5795)
-(2184,-5792)
-(2183,-5791)
-(2180,-5793)
-(2178,-5792)
-(2180,-5788)
-(2178,-5785)
-(2175,-5782)
-(2173,-5775)
-(2169,-5775)
-(2168,-5760)
-(2159,-5756)
-(2156,-5751)
-(2157,-5748)
-(2156,-5746)
-(2155,-5744)
-(2155,-5739)
-(2153,-5738)
-(2151,-5739)
-(2148,-5738)
-(2147,-5737)
-(2149,-5722)
-(2148,-5718)
-(2145,-5717)
-(2145,-5715)
-(2144,-5714)
-(2140,-5716)
-(2136,-5715)
-(2136,-5710)
-(2133,-5709)
-(2128,-5704)
-(2125,-5697)
-(2121,-5691)
-(2121,-5683)
-(2119,-5680)
-(2117,-5680)
-(2117,-5678)
-(2120,-5676)
-(2118,-5670)
-(2122,-5670)
-(2123,-5666)
-(2127,-5664)
-(2125,-5662)
-(2122,-5659)
-(2121,-5657)
-(2122,-5648)
-(2124,-5648)
-(2126,-5649)
-(2127,-5648)
-(2127,-5645)
-(2128,-5639)
-(2127,-5635)
-(2129,-5631)
-(2128,-5629)
-(2125,-5628)
-(2123,-5626)
-(2123,-5618)
-(2125,-5609)
-(2125,-5606)
-(2123,-5605)
-(2121,-5604)
-(2120,-5599)
-(2117,-5592)
-(2110,-5586)
-(2110,-5582)
-(2110,-5572)
-(2107,-5569)
-(2108,-5565)
-(2105,-5563)
-(2105,-5557)
-(2106,-5554)
-(2104,-5553)
-(2099,-5556)
-(2098,-5554)
-(2097,-5549)
-(2096,-5548)
-(2092,-5547)
-(2088,-5542)
-(2087,-5539)
-(2086,-5538)
-(2084,-5531)
-(2083,-5529)
-(2079,-5531)
-(2075,-5530)
-(2073,-5528)
-(2071,-5529)
-(2068,-5527)
-(2066,-5527)
-(2064,-5525)
-(2060,-5524)
-(2059,-5523)
-(2059,-5521)
-(2057,-5519)
-(2055,-5519)
-(2055,-5517)
-(2058,-5516)
-(2057,-5515)
-(2055,-5514)
-(2053,-5509)
-(2051,-5506)
-(2051,-5502)
-(2048,-5498)
-(2046,-5496)
-(2045,-5487)
-(2039,-5483)
-(2040,-5480)
-(2040,-5479)
-(2038,-5481)
-(2038,-5481)
-(2037,-5476)
-(2038,-5474)
-(2037,-5470)
-(2035,-5469)
-(2030,-5468)
-(2030,-5467)
-(2028,-5466)
-(2028,-5464)
-(2027,-5464)
-107
-(2686,-6633)
-(2683,-6637)
-(2684,-6640)
-(2684,-6642)
-(2679,-6644)
-(2679,-6652)
-(2680,-6656)
-(2680,-6662)
-(2684,-6665)
-(2692,-6679)
-(2691,-6689)
-(2692,-6692)
-(2697,-6696)
-(2702,-6699)
-(2706,-6698)
-(2714,-6703)
-(2718,-6703)
-(2723,-6699)
-(2725,-6699)
-(2729,-6696)
-(2748,-6686)
-(2752,-6686)
-(2756,-6688)
-(2760,-6686)
-(2761,-6683)
-(2767,-6682)
-(2768,-6685)
-(2769,-6682)
-(2773,-6687)
-(2775,-6687)
-(2779,-6690)
-(2781,-6690)
-(2800,-6702)
-(2800,-6707)
-(2804,-6707)
-(2805,-6711)
-(2809,-6715)
-(2813,-6713)
-(2814,-6715)
-(2818,-6716)
-(2822,-6720)
-(2827,-6715)
-(2829,-6709)
-(2842,-6692)
-(2843,-6689)
-(2845,-6690)
-(2846,-6688)
-(2845,-6685)
-(2846,-6683)
-(2845,-6681)
-(2846,-6680)
-(2844,-6679)
-(2844,-6678)
-(2846,-6676)
-(2849,-6678)
-(2851,-6678)
-(2852,-6673)
-(2852,-6670)
-(2856,-6662)
-(2859,-6660)
-(2866,-6653)
-(2866,-6647)
-(2867,-6642)
-(2871,-6633)
-(2872,-6633)
-(2873,-6628)
-(2874,-6626)
-(2875,-6627)
-(2876,-6627)
-(2877,-6621)
-(2881,-6617)
-(2881,-6613)
-(2882,-6612)
-(2883,-6610)
-(2881,-6606)
-(2875,-6602)
-(2870,-6602)
-(2867,-6596)
-(2866,-6592)
-(2864,-6590)
-(2863,-6582)
-(2864,-6580)
-(2865,-6577)
-(2864,-6574)
-(2865,-6573)
-(2865,-6569)
-(2864,-6564)
-(2866,-6557)
-(2868,-6554)
-(2867,-6548)
-(2869,-6538)
-(2868,-6535)
-(2864,-6535)
-(2864,-6531)
-(2863,-6529)
-(2862,-6525)
-(2859,-6525)
-(2859,-6521)
-(2858,-6519)
-(2858,-6509)
-(2857,-6507)
-(2858,-6505)
-(2856,-6504)
-(2856,-6501)
-(2854,-6498)
-(2856,-6497)
-(2856,-6491)
-46
-(2881,-6385)
-(2883,-6383)
-(2884,-6381)
-(2882,-6370)
-(2882,-6366)
-(2881,-6365)
-(2882,-6362)
-(2881,-6359)
-(2882,-6359)
-(2881,-6353)
-(2883,-6352)
-(2881,-6349)
-(2882,-6343)
-(2884,-6340)
-(2883,-6337)
-(2885,-6336)
-(2885,-6330)
-(2886,-6328)
-(2885,-6316)
-(2886,-6313)
-(2884,-6311)
-(2886,-6308)
-(2884,-6304)
-(2884,-6300)
-(2887,-6294)
-(2889,-6292)
-(2888,-6288)
-(2887,-6282)
-(2887,-6277)
-(2888,-6274)
-(2887,-6273)
-(2888,-6266)
-(2884,-6258)
-(2882,-6253)
-(2885,-6250)
-(2883,-6249)
-(2883,-6246)
-(2881,-6243)
-(2881,-6239)
-(2879,-6237)
-(2880,-6234)
-(2878,-6232)
-(2879,-6230)
-(2881,-6229)
-(2880,-6227)
-(2881,-6226)
-19
-(2850,-6084)
-(2849,-6085)
-(2847,-6086)
-(2837,-6080)
-(2835,-6073)
-(2835,-6072)
-(2837,-6071)
-(2838,-6067)
-(2837,-6062)
-(2835,-6059)
-(2834,-6058)
-(2831,-6060)
-(2823,-6053)
-(2818,-6056)
-(2814,-6055)
-(2809,-6049)
-(2806,-6050)
-(2804,-6047)
-(2803,-6047)
-22
-(2667,-6023)
-(2662,-6022)
-(2660,-6019)
-(2660,-6008)
-(2656,-5999)
-(2656,-5995)
-(2654,-5994)
-(2652,-5996)
-(2651,-5996)
-(2647,-5991)
-(2647,-5984)
-(2646,-5978)
-(2647,-5976)
-(2649,-5977)
-(2652,-5983)
-(2653,-5981)
-(2652,-5976)
-(2650,-5973)
-(2647,-5974)
-(2644,-5973)
-(2643,-5968)
-(2639,-5962)
-193
-(2583,-5913)
-(2576,-5904)
-(2567,-5880)
-(2567,-5876)
-(2571,-5873)
-(2572,-5871)
-(2571,-5866)
-(2572,-5863)
-(2571,-5860)
-(2572,-5856)
-(2571,-5851)
-(2573,-5839)
-(2572,-5835)
-(2569,-5832)
-(2567,-5828)
-(2566,-5819)
-(2564,-5817)
-(2564,-5812)
-(2563,-5809)
-(2561,-5808)
-(2560,-5802)
-(2560,-5801)
-(2558,-5802)
-(2555,-5798)
-(2552,-5797)
-(2551,-5792)
-(2549,-5783)
-(2548,-5783)
-(2542,-5785)
-(2537,-5780)
-(2533,-5781)
-(2531,-5781)
-(2527,-5776)
-(2523,-5775)
-(2519,-5769)
-(2514,-5769)
-(2508,-5764)
-(2505,-5765)
-(2503,-5764)
-(2501,-5766)
-(2497,-5766)
-(2495,-5764)
-(2492,-5765)
-(2492,-5763)
-(2493,-5761)
-(2492,-5759)
-(2489,-5760)
-(2487,-5755)
-(2480,-5757)
-(2478,-5752)
-(2477,-5753)
-(2476,-5755)
-(2472,-5756)
-(2471,-5755)
-(2471,-5752)
-(2470,-5751)
-(2470,-5752)
-(2466,-5752)
-(2464,-5753)
-(2463,-5752)
-(2460,-5752)
-(2459,-5750)
-(2456,-5750)
-(2453,-5749)
-(2450,-5750)
-(2447,-5750)
-(2443,-5752)
-(2441,-5750)
-(2439,-5746)
-(2432,-5746)
-(2431,-5741)
-(2429,-5742)
-(2427,-5740)
-(2425,-5740)
-(2421,-5738)
-(2419,-5739)
-(2418,-5735)
-(2415,-5732)
-(2414,-5728)
-(2412,-5729)
-(2407,-5724)
-(2402,-5725)
-(2402,-5721)
-(2396,-5713)
-(2394,-5712)
-(2394,-5709)
-(2392,-5706)
-(2392,-5702)
-(2394,-5700)
-(2394,-5697)
-(2391,-5697)
-(2389,-5693)
-(2384,-5692)
-(2384,-5698)
-(2381,-5699)
-(2378,-5703)
-(2375,-5704)
-(2374,-5706)
-(2373,-5707)
-(2368,-5702)
-(2367,-5700)
-(2364,-5697)
-(2363,-5694)
-(2361,-5695)
-(2358,-5694)
-(2356,-5690)
-(2352,-5689)
-(2350,-5683)
-(2349,-5677)
-(2348,-5678)
-(2347,-5676)
-(2349,-5672)
-(2347,-5668)
-(2349,-5665)
-(2350,-5662)
-(2353,-5659)
-(2354,-5658)
-(2353,-5655)
-(2351,-5651)
-(2348,-5645)
-(2349,-5641)
-(2349,-5638)
-(2352,-5631)
-(2352,-5627)
-(2352,-5623)
-(2354,-5621)
-(2354,-5616)
-(2353,-5611)
-(2357,-5609)
-(2356,-5605)
-(2354,-5605)
-(2353,-5603)
-(2355,-5600)
-(2358,-5601)
-(2358,-5598)
-(2360,-5596)
-(2360,-5594)
-(2362,-5592)
-(2364,-5593)
-(2364,-5592)
-(2363,-5590)
-(2363,-5586)
-(2359,-5584)
-(2359,-5579)
-(2357,-5578)
-(2355,-5576)
-(2354,-5576)
-(2353,-5571)
-(2352,-5572)
-(2347,-5577)
-(2346,-5577)
-(2345,-5574)
-(2343,-5576)
-(2341,-5575)
-(2338,-5570)
-(2338,-5555)
-(2337,-5553)
-(2334,-5550)
-(2330,-5547)
-(2328,-5544)
-(2325,-5545)
-(2323,-5542)
-(2320,-5541)
-(2318,-5534)
-(2315,-5531)
-(2313,-5525)
-(2313,-5523)
-(2316,-5517)
-(2320,-5512)
-(2322,-5505)
-(2322,-5498)
-(2320,-5495)
-(2322,-5488)
-(2322,-5481)
-(2320,-5476)
-(2317,-5474)
-(2316,-5468)
-(2316,-5464)
-(2313,-5461)
-(2312,-5459)
-(2313,-5453)
-(2316,-5447)
-(2320,-5443)
-(2322,-5438)
-(2321,-5434)
-(2324,-5433)
-(2326,-5430)
-(2329,-5428)
-(2330,-5423)
-(2333,-5421)
-(2333,-5418)
-(2329,-5413)
-(2329,-5408)
-235
-(3122,-7035)
-(3121,-7028)
-(3123,-7022)
-(3123,-7016)
-(3122,-7014)
-(3119,-7011)
-(3117,-7005)
-(3120,-6999)
-(3119,-6989)
-(3122,-6985)
-(3123,-6985)
-(3128,-6987)
-(3132,-6987)
-(3134,-6984)
-(3138,-6982)
-(3139,-6978)
-(3141,-6976)
-(3143,-6972)
-(3143,-6954)
-(3147,-6947)
-(3146,-6939)
-(3146,-6933)
-(3145,-6929)
-(3143,-6929)
-(3142,-6926)
-(3143,-6917)
-(3144,-6915)
-(3140,-6905)
-(3141,-6900)
-(3143,-6897)
-(3146,-6899)
-(3150,-6899)
-(3156,-6903)
-(3164,-6905)
-(3165,-6910)
-(3168,-6911)
-(3168,-6909)
-(3171,-6909)
-(3174,-6914)
-(3178,-6912)
-(3182,-6913)
-(3184,-6903)
-(3185,-6900)
-(3186,-6898)
-(3188,-6898)
-(3192,-6896)
-(3194,-6895)
-(3195,-6892)
-(3196,-6893)
-(3199,-6888)
-(3198,-6878)
-(3199,-6870)
-(3200,-6868)
-(3201,-6864)
-(3205,-6862)
-(3204,-6858)
-(3203,-6858)
-(3202,-6855)
-(3200,-6848)
-(3201,-6844)
-(3199,-6842)
-(3201,-6830)
-(3201,-6822)
-(3202,-6820)
-(3205,-6820)
-(3210,-6816)
-(3212,-6813)
-(3212,-6809)
-(3213,-6806)
-(3213,-6803)
-(3215,-6802)
-(3216,-6799)
-(3218,-6799)
-(3218,-6797)
-(3220,-6797)
-(3226,-6788)
-(3231,-6784)
-(3234,-6777)
-(3236,-6773)
-(3242,-6771)
-(3243,-6768)
-(3242,-6761)
-(3240,-6756)
-(3239,-6749)
-(3240,-6744)
-(3241,-6742)
-(3243,-6737)
-(3243,-6734)
-(3241,-6730)
-(3239,-6731)
-(3236,-6722)
-(3234,-6718)
-(3235,-6709)
-(3234,-6705)
-(3233,-6704)
-(3229,-6705)
-(3227,-6703)
-(3227,-6686)
-(3224,-6683)
-(3225,-6676)
-(3224,-6669)
-(3227,-6664)
-(3231,-6655)
-(3231,-6652)
-(3231,-6646)
-(3230,-6643)
-(3231,-6638)
-(3227,-6632)
-(3225,-6631)
-(3224,-6626)
-(3219,-6620)
-(3221,-6613)
-(3221,-6611)
-(3219,-6609)
-(3216,-6600)
-(3213,-6590)
-(3213,-6587)
-(3215,-6585)
-(3215,-6579)
-(3211,-6576)
-(3208,-6572)
-(3205,-6573)
-(3204,-6571)
-(3202,-6567)
-(3203,-6561)
-(3203,-6556)
-(3199,-6553)
-(3197,-6545)
-(3192,-6543)
-(3188,-6537)
-(3181,-6530)
-(3175,-6510)
-(3170,-6500)
-(3168,-6500)
-(3166,-6502)
-(3164,-6501)
-(3163,-6496)
-(3159,-6488)
-(3154,-6482)
-(3153,-6470)
-(3140,-6443)
-(3140,-6432)
-(3141,-6430)
-(3143,-6427)
-(3142,-6422)
-(3143,-6419)
-(3148,-6415)
-(3156,-6412)
-(3159,-6410)
-(3173,-6389)
-(3181,-6382)
-(3185,-6375)
-(3188,-6373)
-(3191,-6368)
-(3192,-6364)
-(3191,-6360)
-(3188,-6359)
-(3189,-6354)
-(3192,-6349)
-(3192,-6338)
-(3194,-6336)
-(3193,-6324)
-(3194,-6320)
-(3195,-6313)
-(3194,-6305)
-(3194,-6301)
-(3193,-6299)
-(3193,-6297)
-(3192,-6296)
-(3191,-6296)
-(3188,-6291)
-(3190,-6287)
-(3193,-6284)
-(3193,-6279)
-(3194,-6272)
-(3194,-6268)
-(3195,-6266)
-(3197,-6259)
-(3197,-6256)
-(3198,-6253)
-(3198,-6244)
-(3199,-6241)
-(3202,-6241)
-(3204,-6238)
-(3207,-6237)
-(3208,-6235)
-(3219,-6205)
-(3221,-6204)
-(3221,-6199)
-(3223,-6197)
-(3224,-6189)
-(3227,-6182)
-(3233,-6185)
-(3236,-6182)
-(3239,-6182)
-(3243,-6175)
-(3243,-6170)
-(3244,-6167)
-(3243,-6162)
-(3243,-6158)
-(3238,-6152)
-(3237,-6142)
-(3236,-6139)
-(3236,-6135)
-(3234,-6130)
-(3232,-6122)
-(3233,-6117)
-(3233,-6110)
-(3234,-6103)
-(3236,-6100)
-(3237,-6093)
-(3242,-6090)
-(3239,-6086)
-(3234,-6086)
-(3231,-6080)
-(3230,-6078)
-(3231,-6072)
-(3233,-6065)
-(3233,-6062)
-(3230,-6064)
-(3227,-6064)
-(3225,-6059)
-(3222,-6058)
-(3219,-6055)
-(3219,-6052)
-(3220,-6049)
-(3219,-6042)
-(3219,-6040)
-(3220,-6037)
-(3221,-6031)
-(3220,-6028)
-(3220,-6023)
-(3219,-6020)
-(3217,-6018)
-(3215,-6019)
-3
-(3189,-5960)
-(3189,-5956)
-(3191,-5955)
-45
-(3245,-5864)
-(3247,-5861)
-(3256,-5853)
-(3258,-5853)
-(3259,-5856)
-(3261,-5856)
-(3264,-5858)
-(3268,-5855)
-(3271,-5855)
-(3274,-5867)
-(3282,-5874)
-(3284,-5874)
-(3285,-5877)
-(3288,-5876)
-(3288,-5880)
-(3289,-5882)
-(3291,-5880)
-(3294,-5881)
-(3314,-5835)
-(3314,-5824)
-(3316,-5817)
-(3327,-5806)
-(3333,-5806)
-(3337,-5804)
-(3349,-5796)
-(3356,-5793)
-(3364,-5793)
-(3378,-5748)
-(3380,-5740)
-(3379,-5735)
-(3380,-5727)
-(3383,-5685)
-(3383,-5670)
-(3384,-5662)
-(3385,-5654)
-(3386,-5650)
-(3391,-5645)
-(3394,-5635)
-(3401,-5627)
-(3408,-5611)
-(3412,-5608)
-(3414,-5605)
-(3414,-5595)
-(3415,-5590)
-(3415,-5573)
-326
-(2269,-6447)
-(2268,-6446)
-(2267,-6442)
-(2263,-6434)
-(2266,-6427)
-(2264,-6424)
-(2264,-6420)
-(2266,-6418)
-(2268,-6417)
-(2269,-6414)
-(2268,-6409)
-(2266,-6407)
-(2260,-6397)
-(2260,-6384)
-(2260,-6379)
-(2260,-6376)
-(2256,-6368)
-(2252,-6354)
-(2251,-6351)
-(2246,-6346)
-(2237,-6342)
-(2234,-6344)
-(2231,-6343)
-(2226,-6344)
-(2223,-6345)
-(2220,-6342)
-(2215,-6343)
-(2212,-6341)
-(2205,-6340)
-(2202,-6341)
-(2200,-6340)
-(2195,-6340)
-(2189,-6343)
-(2181,-6343)
-(2175,-6350)
-(2173,-6357)
-(2170,-6358)
-(2167,-6363)
-(2159,-6364)
-(2151,-6369)
-(2146,-6375)
-(2144,-6376)
-(2141,-6378)
-(2138,-6378)
-(2136,-6380)
-(2131,-6383)
-(2118,-6395)
-(2114,-6395)
-(2112,-6398)
-(2108,-6401)
-(2103,-6399)
-(2098,-6400)
-(2095,-6400)
-(2092,-6402)
-(2089,-6401)
-(2085,-6404)
-(2076,-6404)
-(2071,-6407)
-(2065,-6407)
-(2061,-6410)
-(2057,-6409)
-(2054,-6413)
-(2049,-6411)
-(2047,-6412)
-(2042,-6411)
-(2039,-6411)
-(2038,-6410)
-(2030,-6410)
-(2023,-6415)
-(2021,-6419)
-(2017,-6420)
-(2012,-6426)
-(2003,-6429)
-(1989,-6430)
-(1989,-6432)
-(1986,-6436)
-(1974,-6436)
-(1968,-6438)
-(1964,-6436)
-(1961,-6433)
-(1959,-6427)
-(1958,-6423)
-(1956,-6420)
-(1954,-6420)
-(1950,-6415)
-(1948,-6415)
-(1945,-6411)
-(1938,-6410)
-(1930,-6404)
-(1925,-6401)
-(1910,-6396)
-(1909,-6394)
-(1905,-6389)
-(1905,-6383)
-(1901,-6380)
-(1889,-6373)
-(1886,-6369)
-(1884,-6360)
-(1882,-6357)
-(1880,-6356)
-(1875,-6350)
-(1871,-6346)
-(1865,-6336)
-(1861,-6334)
-(1858,-6330)
-(1857,-6329)
-(1854,-6324)
-(1852,-6323)
-(1849,-6317)
-(1848,-6316)
-(1848,-6312)
-(1842,-6304)
-(1841,-6300)
-(1837,-6299)
-(1837,-6296)
-(1834,-6294)
-(1830,-6292)
-(1824,-6291)
-(1823,-6289)
-(1821,-6289)
-(1819,-6286)
-(1817,-6286)
-(1814,-6282)
-(1811,-6281)
-(1807,-6281)
-(1803,-6282)
-(1798,-6280)
-(1797,-6281)
-(1789,-6277)
-(1788,-6274)
-(1782,-6272)
-(1780,-6273)
-(1777,-6268)
-(1774,-6265)
-(1772,-6260)
-(1772,-6257)
-(1769,-6252)
-(1768,-6252)
-(1765,-6250)
-(1760,-6243)
-(1757,-6233)
-(1756,-6227)
-(1755,-6226)
-(1754,-6227)
-(1752,-6224)
-(1749,-6218)
-(1749,-6213)
-(1744,-6209)
-(1744,-6207)
-(1741,-6202)
-(1742,-6201)
-(1741,-6200)
-(1741,-6199)
-(1740,-6199)
-(1740,-6198)
-(1739,-6189)
-(1740,-6186)
-(1744,-6186)
-(1743,-6185)
-(1745,-6185)
-(1746,-6182)
-(1751,-6179)
-(1752,-6176)
-(1753,-6174)
-(1753,-6172)
-(1755,-6174)
-(1759,-6173)
-(1761,-6173)
-(1761,-6171)
-(1764,-6169)
-(1767,-6169)
-(1771,-6168)
-(1773,-6166)
-(1776,-6166)
-(1776,-6164)
-(1778,-6164)
-(1780,-6161)
-(1785,-6160)
-(1785,-6155)
-(1786,-6154)
-(1785,-6152)
-(1787,-6150)
-(1786,-6143)
-(1788,-6142)
-(1791,-6141)
-(1793,-6138)
-(1792,-6135)
-(1792,-6135)
-(1791,-6134)
-(1791,-6131)
-(1789,-6129)
-(1788,-6125)
-(1788,-6119)
-(1789,-6118)
-(1788,-6115)
-(1788,-6113)
-(1788,-6110)
-(1789,-6109)
-(1787,-6108)
-(1788,-6106)
-(1786,-6098)
-(1786,-6094)
-(1789,-6092)
-(1788,-6092)
-(1786,-6092)
-(1787,-6088)
-(1786,-6086)
-(1786,-6084)
-(1785,-6085)
-(1780,-6081)
-(1779,-6078)
-(1778,-6078)
-(1767,-6062)
-(1763,-6060)
-(1761,-6056)
-(1757,-6052)
-(1757,-6050)
-(1754,-6046)
-(1750,-6046)
-(1747,-6040)
-(1740,-6038)
-(1735,-6037)
-(1732,-6034)
-(1730,-6034)
-(1730,-6032)
-(1721,-6029)
-(1718,-6026)
-(1717,-6026)
-(1716,-6024)
-(1714,-6024)
-(1712,-6023)
-(1710,-6019)
-(1709,-6021)
-(1706,-6020)
-(1704,-6020)
-(1699,-6017)
-(1697,-6017)
-(1695,-6014)
-(1694,-6012)
-(1692,-6011)
-(1689,-6004)
-(1685,-6003)
-(1684,-6001)
-(1680,-6000)
-(1679,-5996)
-(1676,-5996)
-(1674,-5993)
-(1672,-5993)
-(1671,-5992)
-(1668,-5992)
-(1667,-5990)
-(1666,-5988)
-(1664,-5987)
-(1663,-5985)
-(1660,-5982)
-(1659,-5979)
-(1658,-5978)
-(1658,-5975)
-(1654,-5970)
-(1650,-5971)
-(1649,-5968)
-(1644,-5968)
-(1638,-5971)
-(1638,-5969)
-(1636,-5969)
-(1636,-5967)
-(1635,-5966)
-(1626,-5966)
-(1623,-5967)
-(1592,-5950)
-(1590,-5945)
-(1585,-5946)
-(1584,-5945)
-(1584,-5941)
-(1583,-5940)
-(1584,-5939)
-(1584,-5938)
-(1583,-5937)
-(1584,-5936)
-(1582,-5933)
-(1582,-5928)
-(1579,-5924)
-(1578,-5925)
-(1578,-5922)
-(1576,-5922)
-(1574,-5919)
-(1575,-5915)
-(1574,-5913)
-(1575,-5912)
-(1572,-5908)
-(1574,-5907)
-(1572,-5904)
-(1572,-5902)
-(1569,-5903)
-(1569,-5901)
-(1567,-5898)
-(1565,-5892)
-(1563,-5892)
-(1564,-5890)
-(1564,-5888)
-(1564,-5887)
-(1564,-5885)
-(1563,-5885)
-(1562,-5884)
-(1564,-5881)
-(1563,-5880)
-(1563,-5868)
-(1563,-5867)
-(1562,-5866)
-(1562,-5859)
-(1560,-5857)
-(1558,-5855)
-(1557,-5854)
-(1554,-5851)
-(1553,-5847)
-(1551,-5846)
-(1551,-5845)
-(1552,-5844)
-(1550,-5842)
-(1551,-5841)
-(1555,-5841)
-(1556,-5840)
-(1556,-5837)
-(1558,-5836)
-(1557,-5833)
-(1558,-5828)
-69
-(2426,-6349)
-(2415,-6350)
-(2410,-6347)
-(2407,-6351)
-(2407,-6354)
-(2406,-6356)
-(2405,-6361)
-(2403,-6368)
-(2402,-6384)
-(2396,-6394)
-(2391,-6397)
-(2391,-6399)
-(2395,-6402)
-(2393,-6410)
-(2390,-6415)
-(2386,-6419)
-(2383,-6420)
-(2381,-6423)
-(2378,-6423)
-(2374,-6433)
-(2373,-6439)
-(2374,-6449)
-(2372,-6455)
-(2371,-6468)
-(2368,-6478)
-(2360,-6491)
-(2356,-6494)
-(2352,-6494)
-(2351,-6496)
-(2347,-6499)
-(2343,-6505)
-(2343,-6510)
-(2344,-6514)
-(2349,-6525)
-(2352,-6534)
-(2347,-6540)
-(2347,-6543)
-(2339,-6549)
-(2339,-6553)
-(2334,-6553)
-(2331,-6555)
-(2329,-6556)
-(2328,-6559)
-(2326,-6558)
-(2325,-6560)
-(2321,-6566)
-(2321,-6568)
-(2319,-6568)
-(2316,-6573)
-(2313,-6574)
-(2313,-6575)
-(2315,-6576)
-(2315,-6578)
-(2309,-6578)
-(2306,-6580)
-(2307,-6583)
-(2301,-6583)
-(2301,-6585)
-(2299,-6585)
-(2292,-6589)
-(2285,-6601)
-(2280,-6603)
-(2280,-6608)
-(2277,-6611)
-(2274,-6611)
-(2274,-6615)
-(2273,-6616)
-(2274,-6618)
-(2274,-6622)
-58
-(2216,-6688)
-(2212,-6693)
-(2211,-6693)
-(2212,-6695)
-(2211,-6697)
-(2206,-6700)
-(2199,-6705)
-(2196,-6706)
-(2191,-6710)
-(2188,-6710)
-(2186,-6712)
-(2185,-6712)
-(2184,-6710)
-(2183,-6713)
-(2181,-6711)
-(2179,-6711)
-(2176,-6709)
-(2172,-6707)
-(2167,-6709)
-(2164,-6714)
-(2164,-6719)
-(2166,-6724)
-(2166,-6733)
-(2169,-6734)
-(2170,-6738)
-(2172,-6738)
-(2175,-6741)
-(2175,-6744)
-(2173,-6745)
-(2172,-6747)
-(2174,-6747)
-(2177,-6751)
-(2177,-6750)
-(2182,-6747)
-(2184,-6753)
-(2184,-6758)
-(2181,-6760)
-(2181,-6763)
-(2179,-6763)
-(2179,-6765)
-(2177,-6769)
-(2177,-6772)
-(2174,-6776)
-(2174,-6781)
-(2173,-6783)
-(2169,-6791)
-(2166,-6793)
-(2166,-6798)
-(2162,-6801)
-(2160,-6800)
-(2158,-6799)
-(2155,-6799)
-(2153,-6798)
-(2149,-6799)
-(2146,-6802)
-(2147,-6809)
-(2151,-6816)
-(2150,-6818)
-71
-(2160,-6884)
-(2157,-6884)
-(2153,-6880)
-(2150,-6881)
-(2144,-6881)
-(2138,-6879)
-(2113,-6874)
-(2109,-6875)
-(2108,-6877)
-(2107,-6878)
-(2105,-6876)
-(2102,-6878)
-(2097,-6877)
-(2093,-6877)
-(2090,-6874)
-(2086,-6873)
-(2085,-6870)
-(2082,-6867)
-(2078,-6865)
-(2075,-6865)
-(2072,-6863)
-(2059,-6848)
-(2057,-6847)
-(2051,-6854)
-(2047,-6863)
-(2042,-6865)
-(2037,-6871)
-(2034,-6869)
-(2032,-6871)
-(2029,-6871)
-(2023,-6869)
-(2021,-6871)
-(2018,-6871)
-(2016,-6872)
-(2014,-6872)
-(2011,-6875)
-(2005,-6878)
-(2004,-6884)
-(2002,-6882)
-(1998,-6884)
-(1996,-6881)
-(1994,-6881)
-(1993,-6880)
-(1985,-6882)
-(1982,-6880)
-(1981,-6871)
-(1978,-6868)
-(1976,-6868)
-(1972,-6867)
-(1968,-6872)
-(1965,-6871)
-(1964,-6872)
-(1964,-6882)
-(1959,-6885)
-(1957,-6888)
-(1953,-6888)
-(1950,-6889)
-(1949,-6891)
-(1948,-6896)
-(1945,-6898)
-(1942,-6898)
-(1937,-6902)
-(1934,-6903)
-(1932,-6910)
-(1930,-6911)
-(1926,-6913)
-(1922,-6912)
-(1923,-6910)
-(1922,-6907)
-(1918,-6907)
-(1918,-6902)
-189
-(3017,-6952)
-(3023,-6954)
-(3028,-6960)
-(3041,-6968)
-(3047,-6975)
-(3051,-6981)
-(3059,-6988)
-(3071,-7013)
-(3075,-7015)
-(3081,-7022)
-(3087,-7026)
-(3089,-7032)
-(3091,-7044)
-(3099,-7051)
-(3113,-7073)
-(3115,-7079)
-(3118,-7084)
-(3121,-7094)
-(3125,-7102)
-(3126,-7112)
-(3122,-7116)
-(3120,-7115)
-(3113,-7115)
-(3110,-7119)
-(3107,-7121)
-(3100,-7120)
-(3099,-7118)
-(3095,-7117)
-(3093,-7113)
-(3088,-7109)
-(3083,-7107)
-(3080,-7104)
-(3078,-7098)
-(3074,-7094)
-(3071,-7093)
-(3064,-7091)
-(3061,-7093)
-(3057,-7092)
-(3053,-7089)
-(3053,-7086)
-(3051,-7087)
-(3050,-7084)
-(3049,-7083)
-(3048,-7081)
-(3044,-7079)
-(3041,-7074)
-(3006,-7072)
-(3006,-7076)
-(3004,-7076)
-(3000,-7074)
-(2998,-7076)
-(2997,-7081)
-(2993,-7085)
-(2988,-7086)
-(2959,-7073)
-(2959,-7064)
-(2958,-7059)
-(2954,-7059)
-(2947,-7064)
-(2945,-7062)
-(2944,-7058)
-(2940,-7058)
-(2937,-7060)
-(2935,-7066)
-(2930,-7075)
-(2928,-7077)
-(2928,-7080)
-(2925,-7083)
-(2921,-7082)
-(2919,-7084)
-(2889,-7091)
-(2886,-7094)
-(2884,-7094)
-(2882,-7095)
-(2881,-7098)
-(2882,-7102)
-(2881,-7103)
-(2878,-7101)
-(2873,-7100)
-(2871,-7101)
-(2870,-7103)
-(2871,-7105)
-(2872,-7108)
-(2872,-7111)
-(2875,-7112)
-(2876,-7116)
-(2876,-7122)
-(2874,-7124)
-(2876,-7131)
-(2876,-7138)
-(2881,-7138)
-(2882,-7142)
-(2887,-7144)
-(2888,-7148)
-(2886,-7156)
-(2886,-7159)
-(2882,-7161)
-(2882,-7165)
-(2884,-7168)
-(2884,-7171)
-(2882,-7174)
-(2880,-7179)
-(2881,-7182)
-(2885,-7182)
-(2886,-7185)
-(2884,-7188)
-(2884,-7191)
-(2882,-7194)
-(2880,-7192)
-(2876,-7191)
-(2874,-7194)
-(2872,-7194)
-(2871,-7196)
-(2868,-7198)
-(2867,-7203)
-(2867,-7207)
-(2865,-7211)
-(2862,-7210)
-(2856,-7213)
-(2851,-7217)
-(2848,-7217)
-(2844,-7215)
-(2841,-7204)
-(2835,-7204)
-(2833,-7199)
-(2829,-7199)
-(2825,-7201)
-(2816,-7197)
-(2813,-7197)
-(2809,-7195)
-(2804,-7197)
-(2801,-7196)
-(2798,-7191)
-(2800,-7182)
-(2800,-7177)
-(2804,-7170)
-(2803,-7166)
-(2800,-7164)
-(2796,-7161)
-(2790,-7155)
-(2777,-7155)
-(2776,-7153)
-(2773,-7143)
-(2764,-7135)
-(2762,-7137)
-(2758,-7142)
-(2756,-7148)
-(2756,-7161)
-(2755,-7170)
-(2756,-7174)
-(2752,-7180)
-(2752,-7187)
-(2750,-7197)
-(2747,-7208)
-(2744,-7213)
-(2743,-7221)
-(2743,-7229)
-(2745,-7233)
-(2745,-7236)
-(2743,-7244)
-(2739,-7254)
-(2740,-7263)
-(2737,-7269)
-(2738,-7271)
-(2741,-7272)
-(2743,-7278)
-(2743,-7286)
-(2744,-7292)
-(2742,-7302)
-(2743,-7309)
-(2742,-7311)
-(2738,-7318)
-(2734,-7335)
-(2735,-7342)
-(2735,-7345)
-(2737,-7351)
-(2737,-7359)
-(2738,-7362)
-(2741,-7365)
-(2747,-7365)
-(2749,-7367)
-(2755,-7367)
-(2759,-7368)
-(2761,-7371)
-(2764,-7372)
-(2766,-7374)
-(2769,-7382)
-(2771,-7385)
-(2772,-7390)
-189
-(2662,-6639)
-(2661,-6638)
-(2658,-6637)
-(2648,-6637)
-(2646,-6640)
-(2643,-6642)
-(2632,-6635)
-(2632,-6632)
-(2631,-6630)
-(2627,-6635)
-(2625,-6638)
-(2621,-6641)
-(2619,-6644)
-(2614,-6646)
-(2611,-6649)
-(2608,-6650)
-(2605,-6649)
-(2603,-6644)
-(2601,-6642)
-(2598,-6643)
-(2598,-6647)
-(2594,-6645)
-(2593,-6646)
-(2590,-6659)
-(2590,-6662)
-(2604,-6675)
-(2609,-6684)
-(2612,-6685)
-(2613,-6685)
-(2615,-6686)
-(2617,-6690)
-(2616,-6697)
-(2620,-6702)
-(2623,-6711)
-(2625,-6712)
-(2626,-6714)
-(2625,-6717)
-(2627,-6722)
-(2625,-6725)
-(2625,-6723)
-(2622,-6725)
-(2620,-6723)
-(2610,-6721)
-(2605,-6727)
-(2597,-6732)
-(2596,-6737)
-(2593,-6741)
-(2589,-6748)
-(2586,-6751)
-(2583,-6755)
-(2582,-6758)
-(2568,-6772)
-(2566,-6773)
-(2559,-6782)
-(2558,-6788)
-(2558,-6794)
-(2560,-6810)
-(2559,-6813)
-(2554,-6818)
-(2552,-6820)
-(2552,-6823)
-(2554,-6825)
-(2553,-6829)
-(2553,-6833)
-(2552,-6835)
-(2552,-6838)
-(2550,-6847)
-(2551,-6849)
-(2553,-6851)
-(2553,-6855)
-(2559,-6875)
-(2561,-6887)
-(2563,-6890)
-(2565,-6890)
-(2568,-6895)
-(2570,-6895)
-(2572,-6893)
-(2574,-6894)
-(2575,-6897)
-(2575,-6908)
-(2580,-6911)
-(2577,-6918)
-(2577,-6923)
-(2576,-6926)
-(2577,-6931)
-(2577,-6935)
-(2578,-6937)
-(2577,-6944)
-(2578,-6945)
-(2580,-6946)
-(2580,-6953)
-(2581,-6955)
-(2580,-6957)
-(2578,-6958)
-(2578,-6959)
-(2580,-6964)
-(2581,-6966)
-(2582,-6968)
-(2583,-6968)
-(2584,-6971)
-(2586,-6971)
-(2589,-6979)
-(2592,-6981)
-(2595,-6982)
-(2598,-6984)
-(2598,-6992)
-(2606,-7001)
-(2610,-7006)
-(2614,-7007)
-(2615,-7008)
-(2617,-7013)
-(2621,-7018)
-(2622,-7024)
-(2624,-7024)
-(2627,-7021)
-(2630,-7021)
-(2633,-7018)
-(2638,-7017)
-(2641,-7016)
-(2643,-7016)
-(2646,-7018)
-(2647,-7014)
-(2650,-7013)
-(2652,-7016)
-(2653,-7018)
-(2655,-7018)
-(2656,-7019)
-(2655,-7023)
-(2656,-7024)
-(2657,-7026)
-(2656,-7028)
-(2656,-7029)
-(2657,-7031)
-(2664,-7033)
-(2667,-7032)
-(2669,-7033)
-(2673,-7028)
-(2685,-7022)
-(2687,-7016)
-(2690,-7014)
-(2695,-7010)
-(2702,-7010)
-(2710,-7003)
-(2721,-6999)
-(2728,-6993)
-(2731,-6992)
-(2735,-6988)
-(2737,-6987)
-(2746,-6993)
-(2747,-6997)
-(2750,-7002)
-(2750,-7005)
-(2755,-7010)
-(2762,-7014)
-(2766,-7018)
-(2770,-7015)
-(2773,-7017)
-(2776,-7017)
-(2782,-7023)
-(2787,-7021)
-(2786,-7024)
-(2787,-7032)
-(2789,-7034)
-(2792,-7034)
-(2798,-7044)
-(2800,-7044)
-(2803,-7048)
-(2801,-7051)
-(2801,-7056)
-(2803,-7060)
-(2802,-7062)
-(2798,-7067)
-(2798,-7071)
-(2796,-7073)
-(2796,-7080)
-(2794,-7087)
-(2794,-7090)
-(2796,-7094)
-(2797,-7100)
-(2796,-7103)
-(2796,-7108)
-(2791,-7115)
-(2786,-7117)
-(2783,-7121)
-(2782,-7124)
-(2779,-7126)
-(2776,-7131)
-(2774,-7139)
-(2773,-7141)
-116
-(2502,-7226)
-(2497,-7225)
-(2491,-7228)
-(2488,-7232)
-(2489,-7233)
-(2490,-7234)
-(2488,-7240)
-(2486,-7244)
-(2487,-7250)
-(2484,-7256)
-(2485,-7259)
-(2482,-7261)
-(2482,-7265)
-(2481,-7267)
-(2475,-7267)
-(2471,-7268)
-(2467,-7268)
-(2464,-7266)
-(2457,-7271)
-(2457,-7273)
-(2463,-7277)
-(2463,-7281)
-(2461,-7286)
-(2459,-7286)
-(2460,-7289)
-(2459,-7293)
-(2462,-7298)
-(2460,-7305)
-(2458,-7308)
-(2459,-7310)
-(2462,-7313)
-(2462,-7315)
-(2459,-7318)
-(2456,-7319)
-(2455,-7318)
-(2453,-7316)
-(2452,-7317)
-(2451,-7319)
-(2449,-7321)
-(2449,-7324)
-(2447,-7325)
-(2443,-7345)
-(2441,-7347)
-(2436,-7346)
-(2435,-7342)
-(2430,-7341)
-(2429,-7338)
-(2428,-7333)
-(2426,-7331)
-(2421,-7330)
-(2420,-7331)
-(2419,-7328)
-(2419,-7328)
-(2415,-7332)
-(2415,-7329)
-(2411,-7332)
-(2410,-7331)
-(2408,-7327)
-(2401,-7326)
-(2398,-7324)
-(2395,-7325)
-(2393,-7323)
-(2393,-7321)
-(2391,-7323)
-(2389,-7323)
-(2388,-7320)
-(2385,-7319)
-(2385,-7317)
-(2384,-7316)
-(2382,-7316)
-(2381,-7318)
-(2380,-7318)
-(2374,-7319)
-(2372,-7318)
-(2366,-7320)
-(2362,-7319)
-(2361,-7321)
-(2354,-7319)
-(2352,-7318)
-(2352,-7315)
-(2349,-7314)
-(2348,-7315)
-(2348,-7314)
-(2345,-7312)
-(2344,-7310)
-(2340,-7307)
-(2337,-7309)
-(2336,-7309)
-(2335,-7307)
-(2333,-7308)
-(2332,-7307)
-(2332,-7304)
-(2331,-7303)
-(2329,-7302)
-(2328,-7301)
-(2326,-7300)
-(2327,-7296)
-(2326,-7295)
-(2325,-7294)
-(2321,-7297)
-(2319,-7293)
-(2317,-7292)
-(2316,-7289)
-(2312,-7290)
-(2310,-7292)
-(2308,-7289)
-(2307,-7290)
-(2306,-7291)
-(2302,-7290)
-(2300,-7293)
-(2295,-7290)
-(2295,-7292)
-(2292,-7292)
-(2291,-7294)
-(2291,-7300)
-(2289,-7300)
-35
-(3403,-7645)
-(3405,-7645)
-(3408,-7632)
-(3414,-7614)
-(3420,-7612)
-(3426,-7615)
-(3436,-7601)
-(3437,-7596)
-(3439,-7593)
-(3453,-7594)
-(3456,-7589)
-(3458,-7584)
-(3457,-7574)
-(3456,-7569)
-(3451,-7564)
-(3449,-7559)
-(3446,-7554)
-(3445,-7546)
-(3445,-7541)
-(3445,-7537)
-(3442,-7532)
-(3438,-7528)
-(3438,-7527)
-(3436,-7528)
-(3435,-7524)
-(3434,-7525)
-(3434,-7523)
-(3431,-7521)
-(3429,-7516)
-(3426,-7515)
-(3425,-7511)
-(3420,-7507)
-(3416,-7498)
-(3411,-7496)
-(3405,-7490)
-243
-(3361,-7333)
-(3359,-7334)
-(3357,-7329)
-(3358,-7321)
-(3361,-7314)
-(3366,-7308)
-(3367,-7301)
-(3372,-7290)
-(3374,-7281)
-(3374,-7276)
-(3376,-7274)
-(3373,-7265)
-(3374,-7260)
-(3373,-7257)
-(3371,-7253)
-(3372,-7248)
-(3369,-7244)
-(3368,-7238)
-(3366,-7222)
-(3366,-7216)
-(3366,-7209)
-(3368,-7200)
-(3368,-7197)
-(3368,-7191)
-(3370,-7190)
-(3370,-7185)
-(3370,-7180)
-(3374,-7168)
-(3374,-7165)
-(3374,-7163)
-(3379,-7151)
-(3376,-7144)
-(3376,-7137)
-(3373,-7138)
-(3371,-7138)
-(3366,-7133)
-(3364,-7136)
-(3363,-7136)
-(3362,-7134)
-(3362,-7131)
-(3360,-7129)
-(3357,-7125)
-(3355,-7118)
-(3354,-7106)
-(3355,-7098)
-(3355,-7095)
-(3355,-7078)
-(3357,-7072)
-(3359,-7068)
-(3361,-7067)
-(3362,-7063)
-(3372,-7040)
-(3380,-7037)
-(3382,-7032)
-(3384,-7031)
-(3389,-7027)
-(3395,-7026)
-(3396,-7030)
-(3399,-7029)
-(3402,-7035)
-(3405,-7031)
-(3405,-7033)
-(3405,-7037)
-(3410,-7037)
-(3412,-7040)
-(3414,-7036)
-(3423,-7034)
-(3425,-7031)
-(3426,-7032)
-(3426,-7037)
-(3427,-7037)
-(3429,-7028)
-(3433,-7027)
-(3435,-7025)
-(3437,-7026)
-(3438,-7030)
-(3443,-7028)
-(3447,-7023)
-(3448,-7023)
-(3451,-7028)
-(3453,-7023)
-(3453,-7018)
-(3454,-7017)
-(3456,-7019)
-(3457,-7024)
-(3458,-7027)
-(3461,-7024)
-(3465,-7028)
-(3466,-7026)
-(3465,-7022)
-(3466,-7020)
-(3467,-7023)
-(3468,-7028)
-(3469,-7027)
-(3470,-7023)
-(3471,-7022)
-(3474,-7028)
-(3477,-7030)
-(3483,-7025)
-(3484,-7019)
-(3487,-7015)
-(3487,-7004)
-(3486,-7000)
-(3487,-6995)
-(3489,-6993)
-(3492,-6997)
-(3495,-6995)
-(3495,-6997)
-(3495,-7002)
-(3496,-7003)
-(3496,-7002)
-(3497,-6994)
-(3498,-6993)
-(3499,-6990)
-(3498,-6989)
-(3496,-6989)
-(3496,-6986)
-(3496,-6985)
-(3499,-6983)
-(3501,-6975)
-(3504,-6972)
-(3505,-6960)
-(3505,-6957)
-(3507,-6957)
-(3508,-6953)
-(3508,-6949)
-(3503,-6941)
-(3504,-6938)
-(3506,-6933)
-(3501,-6916)
-(3503,-6904)
-(3502,-6892)
-(3505,-6886)
-(3507,-6878)
-(3512,-6870)
-(3513,-6864)
-(3514,-6859)
-(3519,-6849)
-(3520,-6838)
-(3522,-6829)
-(3520,-6823)
-(3522,-6819)
-(3523,-6804)
-(3526,-6803)
-(3526,-6797)
-(3528,-6792)
-(3529,-6787)
-(3530,-6786)
-(3532,-6788)
-(3533,-6788)
-(3534,-6786)
-(3533,-6782)
-(3535,-6778)
-(3540,-6773)
-(3546,-6769)
-(3548,-6762)
-(3550,-6759)
-(3550,-6752)
-(3547,-6747)
-(3547,-6737)
-(3546,-6733)
-(3544,-6729)
-(3545,-6724)
-(3546,-6720)
-(3546,-6717)
-(3545,-6715)
-(3543,-6716)
-(3540,-6722)
-(3538,-6724)
-(3537,-6724)
-(3536,-6717)
-(3537,-6712)
-(3538,-6709)
-(3537,-6706)
-(3537,-6702)
-(3537,-6700)
-(3534,-6696)
-(3534,-6694)
-(3537,-6693)
-(3540,-6685)
-(3542,-6685)
-(3545,-6684)
-(3548,-6685)
-(3552,-6682)
-(3553,-6683)
-(3554,-6690)
-(3556,-6688)
-(3559,-6682)
-(3561,-6685)
-(3566,-6688)
-(3577,-6685)
-(3580,-6686)
-(3582,-6691)
-(3592,-6694)
-(3594,-6698)
-(3596,-6698)
-(3597,-6702)
-(3598,-6702)
-(3599,-6705)
-(3601,-6711)
-(3603,-6719)
-(3601,-6727)
-(3613,-6737)
-(3618,-6744)
-(3619,-6748)
-(3620,-6754)
-(3622,-6761)
-(3623,-6759)
-(3621,-6749)
-(3622,-6747)
-(3625,-6747)
-(3628,-6751)
-(3630,-6748)
-(3632,-6748)
-(3634,-6763)
-(3637,-6770)
-(3640,-6772)
-(3644,-6772)
-(3646,-6780)
-(3648,-6776)
-(3649,-6776)
-(3649,-6782)
-(3646,-6783)
-(3646,-6784)
-(3650,-6795)
-(3657,-6795)
-(3663,-6786)
-(3664,-6787)
-(3666,-6792)
-(3670,-6789)
-(3671,-6789)
-(3671,-6794)
-(3673,-6794)
-(3673,-6790)
-(3675,-6790)
-(3675,-6794)
-(3673,-6796)
-(3675,-6803)
-(3676,-6804)
-(3676,-6808)
-(3676,-6813)
-(3675,-6818)
-(3675,-6822)
-2
-(3678,-7056)
-(3681,-7059)
-10
-(3681,-7200)
-(3685,-7210)
-(3687,-7214)
-(3687,-7226)
-(3693,-7240)
-(3697,-7244)
-(3700,-7241)
-(3707,-7241)
-(3709,-7246)
-(3710,-7253)
-57
-(3777,-7394)
-(3773,-7396)
-(3768,-7393)
-(3762,-7394)
-(3760,-7396)
-(3755,-7396)
-(3752,-7398)
-(3747,-7398)
-(3739,-7406)
-(3737,-7404)
-(3731,-7388)
-(3729,-7383)
-(3729,-7377)
-(3728,-7369)
-(3729,-7355)
-(3728,-7351)
-(3728,-7342)
-(3726,-7337)
-(3724,-7328)
-(3723,-7318)
-(3720,-7312)
-(3717,-7297)
-(3715,-7292)
-(3713,-7281)
-(3708,-7273)
-(3708,-7271)
-(3709,-7275)
-(3710,-7276)
-(3710,-7253)
-(3711,-7257)
-(3711,-7266)
-(3712,-7276)
-(3716,-7291)
-(3718,-7297)
-(3719,-7302)
-(3721,-7306)
-(3722,-7313)
-(3724,-7316)
-(3725,-7330)
-(3729,-7340)
-(3729,-7350)
-(3731,-7354)
-(3731,-7357)
-(3729,-7371)
-(3731,-7384)
-(3734,-7390)
-(3735,-7399)
-(3737,-7402)
-(3740,-7402)
-(3748,-7394)
-(3751,-7394)
-(3752,-7392)
-(3756,-7388)
-(3763,-7387)
-(3765,-7387)
-(3770,-7393)
-(3777,-7394)
-212
-(3777,-7394)
-(3789,-7400)
-(3798,-7419)
-(3813,-7426)
-(3823,-7433)
-(3826,-7440)
-(3833,-7443)
-(3835,-7448)
-(3838,-7453)
-(3838,-7461)
-(3843,-7467)
-(3848,-7467)
-(3852,-7465)
-(3856,-7468)
-(3859,-7475)
-(3860,-7484)
-(3867,-7490)
-(3869,-7495)
-(3871,-7498)
-(3880,-7502)
-(3880,-7499)
-(3880,-7493)
-(3881,-7494)
-(3881,-7503)
-(3882,-7506)
-(3887,-7508)
-(3890,-7512)
-(3892,-7519)
-(3893,-7525)
-(3892,-7543)
-(3895,-7549)
-(3896,-7559)
-(3899,-7571)
-(3905,-7573)
-(3909,-7583)
-(3910,-7588)
-(3911,-7590)
-(3913,-7597)
-(3913,-7599)
-(3912,-7598)
-(3915,-7612)
-(3916,-7624)
-(3918,-7632)
-(3921,-7641)
-(3924,-7646)
-(3927,-7656)
-(3931,-7664)
-(3932,-7670)
-(3936,-7683)
-(3937,-7717)
-(3938,-7723)
-(3941,-7729)
-(3942,-7730)
-(3945,-7726)
-(3950,-7737)
-(3951,-7743)
-(3956,-7747)
-(3959,-7746)
-(3964,-7750)
-(3968,-7748)
-(3969,-7744)
-(3972,-7741)
-(3975,-7721)
-(3978,-7720)
-(3982,-7728)
-(3984,-7738)
-(3992,-7746)
-(3993,-7755)
-(3996,-7760)
-(4000,-7771)
-(4004,-7778)
-(4005,-7782)
-(4004,-7792)
-(4009,-7809)
-(4019,-7815)
-(4033,-7816)
-(4037,-7824)
-(4040,-7835)
-(4041,-7849)
-(4048,-7855)
-(4049,-7861)
-(4047,-7869)
-(4048,-7880)
-(4047,-7893)
-(4043,-7904)
-(4039,-7930)
-(4039,-7939)
-(4032,-7968)
-(4033,-7981)
-(4035,-7987)
-(4037,-7991)
-(4041,-8007)
-(4044,-8012)
-(4048,-8014)
-(4047,-8021)
-(4047,-8025)
-(4048,-8027)
-(4054,-8035)
-(4059,-8057)
-(4065,-8059)
-(4066,-8056)
-(4070,-8054)
-(4072,-8057)
-(4071,-8065)
-(4074,-8061)
-(4083,-8072)
-(4087,-8067)
-(4093,-8068)
-(4095,-8064)
-(4098,-8066)
-(4099,-8056)
-(4102,-8053)
-(4104,-8046)
-(4107,-8050)
-(4110,-8045)
-(4111,-8054)
-(4117,-8050)
-(4122,-8054)
-(4120,-8050)
-(4118,-8049)
-(4116,-8044)
-(4111,-8039)
-(4109,-8040)
-(4109,-8044)
-(4107,-8049)
-(4105,-8042)
-(4101,-8052)
-(4098,-8052)
-(4097,-8063)
-(4094,-8054)
-(4093,-8056)
-(4094,-8063)
-(4093,-8064)
-(4086,-8060)
-(4082,-8065)
-(4074,-8057)
-(4071,-8051)
-(4068,-8048)
-(4063,-8048)
-(4058,-8044)
-(4051,-8026)
-(4048,-8024)
-(4049,-8015)
-(4048,-8011)
-(4045,-8011)
-(4041,-8003)
-(4037,-7988)
-(4034,-7979)
-(4033,-7971)
-(4035,-7960)
-(4038,-7954)
-(4040,-7941)
-(4040,-7933)
-(4043,-7914)
-(4048,-7894)
-(4049,-7878)
-(4048,-7870)
-(4050,-7860)
-(4049,-7856)
-(4048,-7852)
-(4042,-7846)
-(4041,-7838)
-(4041,-7829)
-(4039,-7821)
-(4034,-7815)
-(4025,-7812)
-(4021,-7813)
-(4012,-7806)
-(4009,-7800)
-(4006,-7792)
-(4005,-7776)
-(4003,-7769)
-(4000,-7765)
-(3997,-7756)
-(3994,-7752)
-(3992,-7743)
-(3985,-7737)
-(3983,-7721)
-(3981,-7718)
-(3975,-7718)
-(3972,-7732)
-(3968,-7742)
-(3965,-7744)
-(3959,-7741)
-(3955,-7741)
-(3944,-7721)
-(3941,-7727)
-(3940,-7715)
-(3937,-7710)
-(3938,-7685)
-(3932,-7661)
-(3929,-7655)
-(3928,-7655)
-(3926,-7649)
-(3923,-7641)
-(3920,-7627)
-(3918,-7611)
-(3914,-7594)
-(3907,-7574)
-(3904,-7570)
-(3900,-7564)
-(3898,-7564)
-(3896,-7559)
-(3896,-7548)
-(3894,-7539)
-(3894,-7523)
-(3892,-7508)
-(3883,-7503)
-(3881,-7492)
-(3871,-7493)
-(3868,-7488)
-(3865,-7487)
-161
-(3679,-7878)
-(3678,-7878)
-(3677,-7882)
-(3675,-7884)
-(3669,-7880)
-(3663,-7880)
-(3662,-7878)
-(3660,-7874)
-(3661,-7870)
-(3664,-7862)
-(3661,-7854)
-(3652,-7834)
-(3648,-7831)
-(3644,-7817)
-(3643,-7806)
-(3639,-7797)
-(3637,-7795)
-(3636,-7796)
-(3634,-7786)
-(3630,-7785)
-(3625,-7773)
-(3622,-7771)
-(3620,-7768)
-(3616,-7749)
-(3614,-7748)
-(3614,-7745)
-(3612,-7745)
-(3610,-7742)
-(3609,-7738)
-(3608,-7739)
-(3608,-7736)
-(3606,-7737)
-(3603,-7734)
-(3602,-7730)
-(3601,-7718)
-(3597,-7712)
-(3596,-7712)
-(3595,-7709)
-(3596,-7707)
-(3595,-7704)
-(3595,-7700)
-(3591,-7698)
-(3591,-7692)
-(3590,-7688)
-(3591,-7686)
-(3590,-7683)
-(3591,-7683)
-(3597,-7672)
-(3600,-7670)
-(3599,-7663)
-(3598,-7659)
-(3598,-7655)
-(3596,-7652)
-(3596,-7647)
-(3593,-7645)
-(3589,-7650)
-(3586,-7649)
-(3584,-7650)
-(3583,-7647)
-(3582,-7633)
-(3581,-7629)
-(3578,-7628)
-(3577,-7625)
-(3579,-7618)
-(3576,-7606)
-(3575,-7593)
-(3571,-7582)
-(3566,-7572)
-(3566,-7568)
-(3564,-7561)
-(3564,-7560)
-(3565,-7560)
-(3566,-7556)
-(3567,-7548)
-(3564,-7547)
-(3563,-7537)
-(3561,-7534)
-(3560,-7527)
-(3558,-7526)
-(3557,-7521)
-(3557,-7514)
-(3559,-7510)
-(3559,-7502)
-(3560,-7500)
-(3562,-7501)
-(3562,-7495)
-(3564,-7490)
-(3567,-7488)
-(3570,-7488)
-(3573,-7484)
-(3573,-7479)
-(3575,-7481)
-(3578,-7480)
-(3580,-7475)
-(3585,-7469)
-(3584,-7464)
-(3584,-7459)
-(3580,-7457)
-(3579,-7451)
-(3576,-7451)
-(3577,-7447)
-(3576,-7446)
-(3572,-7447)
-(3571,-7443)
-(3574,-7439)
-(3577,-7439)
-(3579,-7436)
-(3582,-7435)
-(3586,-7430)
-(3590,-7430)
-(3600,-7427)
-(3603,-7429)
-(3609,-7424)
-(3611,-7419)
-(3613,-7411)
-(3619,-7401)
-(3627,-7407)
-(3629,-7409)
-(3630,-7409)
-(3633,-7411)
-(3636,-7410)
-(3638,-7412)
-(3642,-7412)
-(3645,-7408)
-(3644,-7401)
-(3647,-7399)
-(3648,-7401)
-(3648,-7410)
-(3650,-7414)
-(3651,-7415)
-(3652,-7411)
-(3654,-7410)
-(3653,-7405)
-(3654,-7400)
-(3655,-7398)
-(3658,-7401)
-(3659,-7396)
-(3660,-7395)
-(3662,-7400)
-(3663,-7400)
-(3664,-7397)
-(3665,-7388)
-(3667,-7389)
-(3666,-7383)
-(3666,-7374)
-(3668,-7371)
-(3670,-7371)
-(3675,-7362)
-(3676,-7353)
-(3680,-7335)
-(3680,-7329)
-(3682,-7322)
-(3683,-7310)
-(3686,-7300)
-(3687,-7293)
-(3694,-7284)
-(3698,-7287)
-(3699,-7287)
-(3701,-7284)
-(3703,-7273)
-(3708,-7271)
-15
-(3551,-7866)
-(3547,-7865)
-(3544,-7878)
-(3544,-7888)
-(3548,-7901)
-(3547,-7907)
-(3549,-7910)
-(3551,-7910)
-(3557,-7918)
-(3561,-7920)
-(3563,-7918)
-(3567,-7924)
-(3571,-7925)
-(3574,-7924)
-(3576,-7925)
-485
-(3627,-7995)
-(3629,-8000)
-(3631,-8002)
-(3638,-8013)
-(3644,-8020)
-(3647,-8028)
-(3651,-8036)
-(3670,-8063)
-(3674,-8070)
-(3675,-8076)
-(3678,-8079)
-(3686,-8079)
-(3688,-8081)
-(3689,-8080)
-(3689,-8088)
-(3691,-8088)
-(3694,-8095)
-(3698,-8090)
-(3702,-8092)
-(3704,-8096)
-(3706,-8095)
-(3706,-8097)
-(3708,-8099)
-(3712,-8095)
-(3715,-8097)
-(3716,-8101)
-(3715,-8107)
-(3716,-8108)
-(3716,-8113)
-(3719,-8119)
-(3720,-8129)
-(3722,-8133)
-(3723,-8134)
-(3723,-8143)
-(3721,-8148)
-(3723,-8155)
-(3724,-8156)
-(3723,-8158)
-(3725,-8162)
-(3725,-8168)
-(3727,-8169)
-(3726,-8171)
-(3728,-8174)
-(3726,-8177)
-(3728,-8178)
-(3729,-8183)
-(3730,-8181)
-(3734,-8180)
-(3736,-8183)
-(3739,-8180)
-(3739,-8183)
-(3741,-8184)
-(3741,-8189)
-(3743,-8191)
-(3744,-8197)
-(3747,-8200)
-(3748,-8204)
-(3750,-8205)
-(3755,-8211)
-(3760,-8224)
-(3763,-8235)
-(3767,-8240)
-(3767,-8245)
-(3769,-8250)
-(3769,-8257)
-(3770,-8260)
-(3769,-8265)
-(3767,-8271)
-(3769,-8281)
-(3768,-8296)
-(3767,-8303)
-(3770,-8307)
-(3770,-8313)
-(3772,-8320)
-(3772,-8328)
-(3775,-8344)
-(3775,-8351)
-(3778,-8356)
-(3780,-8369)
-(3782,-8371)
-(3784,-8370)
-(3786,-8370)
-(3792,-8375)
-(3798,-8365)
-(3808,-8383)
-(3820,-8387)
-(3823,-8383)
-(3830,-8386)
-(3831,-8384)
-(3834,-8384)
-(3838,-8382)
-(3841,-8377)
-(3842,-8369)
-(3845,-8367)
-(3848,-8369)
-(3853,-8376)
-(3855,-8376)
-(3856,-8387)
-(3859,-8392)
-(3858,-8397)
-(3860,-8398)
-(3860,-8409)
-(3862,-8419)
-(3864,-8431)
-(3866,-8432)
-(3870,-8426)
-(3872,-8427)
-(3871,-8434)
-(3872,-8437)
-(3874,-8436)
-(3874,-8437)
-(3873,-8443)
-(3877,-8442)
-(3877,-8451)
-(3881,-8454)
-(3882,-8464)
-(3886,-8464)
-(3888,-8472)
-(3890,-8470)
-(3892,-8466)
-(3894,-8472)
-(3897,-8471)
-(3896,-8480)
-(3896,-8483)
-(3902,-8481)
-(3904,-8484)
-(3906,-8484)
-(3907,-8500)
-(3911,-8503)
-(3912,-8513)
-(3916,-8519)
-(3918,-8520)
-(3918,-8526)
-(3921,-8530)
-(3919,-8541)
-(3921,-8549)
-(3924,-8558)
-(3920,-8563)
-(3919,-8568)
-(3919,-8573)
-(3921,-8580)
-(3922,-8601)
-(3922,-8608)
-(3926,-8614)
-(3927,-8620)
-(3932,-8623)
-(3935,-8628)
-(3936,-8640)
-(3942,-8646)
-(3948,-8640)
-(3950,-8641)
-(3952,-8640)
-(3955,-8643)
-(3958,-8650)
-(3961,-8650)
-(3963,-8661)
-(3966,-8663)
-(3969,-8671)
-(3971,-8673)
-(3973,-8679)
-(3975,-8681)
-(3980,-8690)
-(3982,-8694)
-(3984,-8693)
-(3989,-8710)
-(3995,-8720)
-(3995,-8736)
-(3997,-8748)
-(3996,-8753)
-(3996,-8758)
-(3995,-8760)
-(3994,-8771)
-(3992,-8777)
-(3992,-8788)
-(3990,-8807)
-(3988,-8811)
-(3989,-8817)
-(3985,-8822)
-(3985,-8826)
-(3983,-8828)
-(3983,-8830)
-(3981,-8833)
-(3982,-8843)
-(3980,-8855)
-(3979,-8857)
-(3977,-8854)
-(3976,-8855)
-(3977,-8861)
-(3975,-8865)
-(3976,-8869)
-(3976,-8871)
-(3974,-8872)
-(3974,-8876)
-(3976,-8883)
-(3974,-8887)
-(3975,-8893)
-(3972,-8899)
-(3973,-8908)
-(3971,-8912)
-(3967,-8915)
-(3967,-8924)
-(3963,-8925)
-(3963,-8929)
-(3966,-8931)
-(3964,-8935)
-(3964,-8939)
-(3963,-8941)
-(3961,-8939)
-(3960,-8940)
-(3961,-8947)
-(3960,-8948)
-(3959,-8953)
-(3955,-8954)
-(3953,-8957)
-(3954,-8972)
-(3953,-8981)
-(3953,-8988)
-(3951,-8988)
-(3952,-8992)
-(3951,-8996)
-(3947,-9008)
-(3947,-9006)
-(3947,-8996)
-(3945,-8989)
-(3944,-8988)
-(3943,-8991)
-(3938,-8991)
-(3938,-8995)
-(3941,-9000)
-(3941,-9004)
-(3940,-9008)
-(3938,-9010)
-(3933,-9007)
-(3931,-9011)
-(3929,-9019)
-(3930,-9027)
-(3929,-9040)
-(3927,-9042)
-(3925,-9052)
-(3923,-9056)
-(3921,-9065)
-(3917,-9071)
-(3917,-9080)
-(3916,-9085)
-(3912,-9088)
-(3911,-9092)
-(3912,-9107)
-(3911,-9118)
-(3910,-9122)
-(3910,-9133)
-(3908,-9143)
-(3906,-9147)
-(3908,-9154)
-(3909,-9162)
-(3912,-9167)
-(3911,-9180)
-(3911,-9186)
-(3908,-9192)
-(3906,-9195)
-(3907,-9203)
-(3906,-9208)
-(3908,-9212)
-(3906,-9221)
-(3904,-9228)
-(3902,-9242)
-(3895,-9259)
-(3896,-9268)
-(3895,-9272)
-(3896,-9280)
-(3895,-9287)
-(3894,-9291)
-(3892,-9310)
-(3885,-9331)
-(3886,-9342)
-(3883,-9359)
-(3883,-9371)
-(3880,-9383)
-(3880,-9392)
-(3878,-9403)
-(3878,-9405)
-(3879,-9407)
-(3883,-9406)
-(3884,-9409)
-(3884,-9419)
-(3885,-9421)
-(3888,-9422)
-(3889,-9425)
-(3888,-9435)
-(3890,-9439)
-(3888,-9444)
-(3889,-9447)
-(3892,-9451)
-(3892,-9474)
-(3886,-9478)
-(3881,-9486)
-(3879,-9496)
-(3872,-9501)
-(3871,-9506)
-(3866,-9509)
-(3860,-9522)
-(3856,-9520)
-(3853,-9516)
-(3848,-9515)
-(3845,-9522)
-(3840,-9526)
-(3838,-9533)
-(3834,-9541)
-(3832,-9549)
-(3826,-9553)
-(3824,-9560)
-(3816,-9563)
-(3810,-9568)
-(3804,-9562)
-(3802,-9567)
-(3801,-9575)
-(3798,-9577)
-(3795,-9582)
-(3789,-9582)
-(3783,-9585)
-(3781,-9588)
-(3779,-9597)
-(3776,-9602)
-(3767,-9602)
-(3761,-9606)
-(3759,-9607)
-(3761,-9607)
-(3763,-9607)
-(3761,-9611)
-(3759,-9608)
-(3754,-9609)
-(3751,-9608)
-(3748,-9601)
-(3745,-9598)
-(3736,-9596)
-(3734,-9593)
-(3734,-9587)
-(3732,-9583)
-(3726,-9586)
-(3723,-9602)
-(3719,-9601)
-(3716,-9606)
-(3717,-9615)
-(3715,-9650)
-(3715,-9656)
-(3713,-9665)
-(3712,-9676)
-(3709,-9680)
-(3704,-9677)
-(3699,-9685)
-(3697,-9706)
-(3693,-9718)
-(3694,-9719)
-(3701,-9718)
-(3707,-9724)
-(3714,-9733)
-(3714,-9746)
-(3714,-9749)
-(3716,-9750)
-(3719,-9746)
-(3721,-9748)
-(3720,-9755)
-(3719,-9758)
-(3714,-9761)
-(3714,-9766)
-(3717,-9770)
-(3713,-9779)
-(3717,-9794)
-(3720,-9795)
-(3722,-9798)
-(3724,-9809)
-(3724,-9822)
-(3726,-9834)
-(3728,-9837)
-(3732,-9840)
-(3736,-9836)
-(3743,-9833)
-(3742,-9831)
-(3744,-9830)
-(3746,-9835)
-(3753,-9838)
-(3759,-9846)
-(3762,-9852)
-(3763,-9856)
-(3762,-9860)
-(3765,-9867)
-(3765,-9870)
-(3766,-9867)
-(3765,-9863)
-(3764,-9858)
-(3764,-9850)
-(3755,-9837)
-(3753,-9832)
-(3746,-9828)
-(3735,-9832)
-(3734,-9836)
-(3732,-9837)
-(3730,-9836)
-(3729,-9832)
-(3726,-9829)
-(3725,-9823)
-(3725,-9810)
-(3722,-9794)
-(3718,-9792)
-(3715,-9785)
-(3716,-9779)
-(3716,-9775)
-(3718,-9770)
-(3716,-9766)
-(3715,-9763)
-(3719,-9760)
-(3720,-9756)
-(3721,-9749)
-(3720,-9745)
-(3716,-9743)
-(3719,-9737)
-(3718,-9730)
-(3716,-9727)
-(3713,-9725)
-(3711,-9726)
-(3702,-9716)
-(3698,-9718)
-(3695,-9715)
-(3698,-9708)
-(3698,-9700)
-(3701,-9685)
-(3702,-9682)
-(3706,-9680)
-(3709,-9682)
-(3712,-9680)
-(3713,-9678)
-(3715,-9664)
-(3716,-9658)
-(3716,-9653)
-(3718,-9650)
-(3718,-9633)
-(3718,-9609)
-(3720,-9603)
-(3722,-9603)
-(3724,-9601)
-(3724,-9598)
-(3725,-9595)
-(3726,-9588)
-(3732,-9584)
-(3733,-9586)
-(3734,-9596)
-(3735,-9599)
-(3741,-9598)
-(3744,-9603)
-(3747,-9605)
-(3752,-9613)
-(3756,-9611)
-(3761,-9612)
-(3767,-9604)
-(3771,-9605)
-(3778,-9601)
-(3781,-9597)
-(3784,-9586)
-(3796,-9583)
-(3798,-9578)
-(3800,-9577)
-(3804,-9573)
-(3806,-9567)
-(3812,-9572)
-(3816,-9569)
-(3819,-9564)
-(3825,-9561)
-(3828,-9553)
-(3831,-9553)
-(3833,-9551)
-(3834,-9543)
-(3837,-9537)
-(3839,-9537)
-(3842,-9525)
-(3846,-9523)
-(3850,-9525)
-(3853,-9519)
-(3858,-9524)
-(3862,-9523)
-(3868,-9509)
-(3872,-9506)
-(3877,-9498)
-(3879,-9498)
-(3885,-9483)
-(3889,-9479)
-(3891,-9475)
-156
-(-2215,8880)
-(-2200,8890)
-(-2198,8890)
-(-2196,8890)
-(-2192,8886)
-(-2188,8884)
-(-2182,8881)
-(-2169,8880)
-(-2165,8878)
-(-2159,8870)
-(-2157,8861)
-(-2159,8853)
-(-2158,8846)
-(-2159,8842)
-(-2163,8836)
-(-2166,8820)
-(-2165,8818)
-(-2166,8812)
-(-2162,8798)
-(-2158,8793)
-(-2159,8786)
-(-2161,8782)
-(-2162,8778)
-(-2162,8770)
-(-2159,8760)
-(-2159,8757)
-(-2157,8753)
-(-2158,8750)
-(-2159,8748)
-(-2158,8744)
-(-2153,8736)
-(-2150,8733)
-(-2149,8728)
-(-2152,8718)
-(-2150,8703)
-(-2152,8697)
-(-2157,8695)
-(-2160,8693)
-(-2163,8695)
-(-2165,8695)
-(-2165,8689)
-(-2168,8683)
-(-2168,8680)
-(-2166,8677)
-(-2156,8665)
-(-2150,8660)
-(-2135,8646)
-(-2133,8643)
-(-2132,8639)
-(-2130,8637)
-(-2130,8632)
-(-2123,8623)
-(-2123,8617)
-(-2122,8616)
-(-2120,8614)
-(-2114,8614)
-(-2113,8608)
-(-2111,8604)
-(-2100,8599)
-(-2097,8599)
-(-2091,8601)
-(-2089,8600)
-(-2087,8596)
-(-2083,8591)
-(-2079,8570)
-(-2076,8566)
-(-2077,8562)
-(-2083,8561)
-(-2084,8556)
-(-2086,8555)
-(-2086,8553)
-(-2084,8551)
-(-2077,8547)
-(-2074,8548)
-(-2073,8545)
-(-2069,8541)
-(-2061,8540)
-(-2057,8534)
-(-2053,8533)
-(-2051,8530)
-(-2050,8528)
-(-2050,8524)
-(-2047,8520)
-(-2048,8497)
-(-2048,8496)
-(-2054,8491)
-(-2049,8488)
-(-2048,8478)
-(-2045,8473)
-(-2046,8469)
-(-2043,8467)
-(-2043,8463)
-(-2038,8456)
-(-2040,8451)
-(-2042,8449)
-(-2043,8446)
-(-2044,8446)
-(-2047,8448)
-(-2049,8446)
-(-2054,8444)
-(-2055,8439)
-(-2057,8437)
-(-2058,8435)
-(-2061,8435)
-(-2062,8434)
-(-2065,8435)
-(-2066,8434)
-(-2066,8432)
-(-2061,8425)
-(-2051,8422)
-(-2049,8420)
-(-2050,8413)
-(-2049,8402)
-(-2047,8397)
-(-2044,8396)
-(-2044,8391)
-(-2042,8391)
-(-2042,8390)
-(-2043,8386)
-(-2042,8383)
-(-2046,8381)
-(-2059,8376)
-(-2066,8376)
-(-2075,8375)
-(-2080,8377)
-(-2083,8373)
-(-2086,8373)
-(-2088,8373)
-(-2092,8375)
-(-2093,8373)
-(-2092,8366)
-(-2094,8360)
-(-2097,8357)
-(-2100,8360)
-(-2106,8358)
-(-2108,8358)
-(-2115,8366)
-(-2121,8361)
-(-2124,8361)
-(-2128,8362)
-(-2130,8360)
-(-2130,8353)
-(-2136,8361)
-(-2139,8361)
-(-2141,8359)
-(-2143,8356)
-(-2142,8354)
-(-2139,8353)
-(-2138,8355)
-(-2136,8352)
-(-2135,8354)
-(-2133,8353)
-(-2130,8349)
-(-2131,8346)
-(-2135,8345)
-(-2135,8343)
-134
-(-1727,9103)
-(-1730,9100)
-(-1731,9098)
-(-1735,9095)
-(-1739,9090)
-(-1747,9086)
-(-1749,9081)
-(-1749,9079)
-(-1747,9078)
-(-1736,9076)
-(-1730,9063)
-(-1724,9059)
-(-1718,9046)
-(-1721,9034)
-(-1721,9029)
-(-1719,9025)
-(-1714,9021)
-(-1713,9016)
-(-1714,9011)
-(-1713,9006)
-(-1715,9002)
-(-1717,8983)
-(-1718,8979)
-(-1718,8978)
-(-1715,8975)
-(-1715,8970)
-(-1718,8964)
-(-1721,8961)
-(-1722,8956)
-(-1726,8952)
-(-1734,8941)
-(-1740,8938)
-(-1742,8932)
-(-1746,8927)
-(-1754,8923)
-(-1760,8919)
-(-1765,8919)
-(-1771,8918)
-(-1772,8916)
-(-1774,8912)
-(-1776,8908)
-(-1785,8901)
-(-1789,8896)
-(-1793,8894)
-(-1800,8885)
-(-1803,8872)
-(-1803,8864)
-(-1808,8840)
-(-1807,8834)
-(-1804,8828)
-(-1801,8819)
-(-1795,8812)
-(-1796,8793)
-(-1795,8785)
-(-1797,8776)
-(-1797,8770)
-(-1798,8764)
-(-1799,8762)
-(-1803,8761)
-(-1807,8749)
-(-1814,8741)
-(-1817,8734)
-(-1821,8732)
-(-1823,8730)
-(-1825,8719)
-(-1829,8714)
-(-1828,8708)
-(-1835,8704)
-(-1838,8700)
-(-1838,8694)
-(-1840,8692)
-(-1841,8689)
-(-1843,8688)
-(-1843,8685)
-(-1848,8682)
-(-1850,8683)
-(-1852,8680)
-(-1855,8674)
-(-1854,8669)
-(-1858,8661)
-(-1864,8658)
-(-1865,8657)
-(-1865,8653)
-(-1868,8651)
-(-1870,8647)
-(-1873,8643)
-(-1881,8640)
-(-1883,8637)
-(-1883,8635)
-(-1883,8632)
-(-1885,8628)
-(-1885,8622)
-(-1887,8614)
-(-1892,8608)
-(-1894,8603)
-(-1902,8598)
-(-1905,8591)
-(-1911,8587)
-(-1914,8579)
-(-1920,8577)
-(-1924,8577)
-(-1927,8570)
-(-1930,8567)
-(-1930,8563)
-(-1933,8559)
-(-1937,8557)
-(-1938,8551)
-(-1944,8544)
-(-1948,8542)
-(-1953,8543)
-(-1966,8543)
-(-1969,8541)
-(-1972,8541)
-(-1974,8540)
-(-1979,8542)
-(-1985,8537)
-(-1988,8536)
-(-1991,8538)
-(-1993,8541)
-(-1995,8543)
-(-2004,8553)
-(-2006,8553)
-(-2012,8549)
-(-2014,8546)
-(-2020,8543)
-(-2024,8536)
-(-2025,8530)
-(-2026,8527)
-(-2028,8521)
-(-2029,8519)
-(-2036,8517)
-(-2040,8513)
-(-2045,8512)
-(-2047,8511)
-35
-(-2121,8362)
-(-2122,8359)
-(-2124,8359)
-(-2120,8355)
-(-2119,8352)
-(-2120,8347)
-(-2122,8347)
-(-2123,8346)
-(-2124,8339)
-(-2125,8338)
-(-2128,8337)
-(-2129,8337)
-(-2129,8340)
-(-2131,8340)
-(-2131,8338)
-(-2128,8333)
-(-2125,8331)
-(-2125,8330)
-(-2125,8329)
-(-2128,8330)
-(-2128,8327)
-(-2131,8328)
-(-2132,8330)
-(-2131,8329)
-(-2131,8329)
-(-2130,8330)
-(-2130,8333)
-(-2120,8347)
-(-2122,8347)
-(-2123,8346)
-(-2124,8339)
-(-2125,8338)
-(-2128,8337)
-(-2129,8337)
-(-2129,8340)
+196
+115
+(2849,283)
+(2860,281)
+(2862,277)
+(2865,276)
+(2868,273)
+(2872,275)
+(2873,272)
+(2874,273)
+(2876,271)
+(2879,270)
+(2884,263)
+(2887,263)
+(2889,260)
+(2889,256)
+(2892,252)
+(2893,249)
+(2899,245)
+(2902,240)
+(2911,233)
+(2912,226)
+(2914,223)
+(2911,217)
+(2911,212)
+(2911,212)
+(2909,208)
+(2910,207)
+(2908,206)
+(2907,204)
+(2908,200)
+(2906,199)
+(2905,196)
+(2906,192)
+(2905,190)
+(2904,185)
+(2904,179)
+(2903,174)
+(2904,168)
+(2905,168)
+(2905,165)
+(2908,166)
+(2909,161)
+(2912,160)
+(2911,156)
+(2913,152)
+(2914,153)
+(2914,149)
+(2917,149)
+(2921,144)
+(2924,147)
+(2926,145)
+(2927,146)
+(2929,144)
+(2932,139)
+(2930,135)
+(2930,134)
+(2932,134)
+(2933,135)
+(2936,140)
+(2937,140)
+(2937,136)
+(2934,131)
+(2933,129)
+(2934,127)
+(2938,131)
+(2939,130)
+(2939,124)
+(2936,122)
+(2937,120)
+(2939,120)
+(2940,118)
+(2938,108)
+(2939,105)
+(2941,103)
+(2941,98)
+(2942,97)
+(2943,102)
+(2944,102)
+(2945,99)
+(2944,97)
+(2942,94)
+(2944,91)
+(2950,85)
+(2951,81)
+(2954,83)
+(2955,83)
+(2955,81)
+(2953,76)
+(2954,74)
+(2955,76)
+(2958,76)
+(2959,73)
+(2958,60)
+(2959,60)
+(2961,67)
+(2965,67)
+(2966,66)
+(2967,63)
+(2966,61)
+(2962,60)
+(2961,58)
+(2962,55)
+(2967,56)
+(2969,55)
+(2968,52)
+(2965,52)
+(2964,51)
+(2965,48)
+(2968,49)
+(2969,47)
+(2971,46)
+(2971,41)
+(2968,40)
+(2966,36)
+(2969,31)
+(2969,30)
+162
+(2798,519)
+(2800,526)
+(2801,530)
+(2803,534)
+(2807,548)
+(2807,555)
+(2809,559)
+(2809,560)
+(2811,569)
+(2812,571)
+(2815,573)
+(2819,573)
+(2824,568)
+(2826,571)
+(2832,569)
+(2844,579)
+(2847,579)
+(2848,575)
+(2850,573)
+(2862,525)
+(2862,518)
+(2860,517)
+(2859,518)
+(2859,516)
+(2857,516)
+(2853,513)
+(2855,510)
+(2854,500)
+(2857,497)
+(2857,492)
+(2854,485)
+(2854,474)
+(2855,474)
+(2855,473)
+(2855,469)
+(2854,467)
+(2853,465)
+(2853,458)
+(2854,455)
+(2858,454)
+(2860,451)
+(2862,451)
+(2864,453)
+(2867,452)
+(2871,454)
+(2873,453)
+(2874,455)
+(2876,455)
+(2879,457)
+(2883,454)
+(2887,455)
+(2895,461)
+(2898,462)
+(2900,465)
+(2904,464)
+(2909,466)
+(2911,468)
+(2915,468)
+(2919,470)
+(2922,477)
+(2925,478)
+(2925,481)
+(2927,482)
+(2928,486)
+(2937,491)
+(2938,495)
+(2940,497)
+(2946,501)
+(2954,503)
+(2957,509)
+(2959,507)
+(2962,509)
+(2966,510)
+(2967,507)
+(2968,508)
+(2973,505)
+(2975,505)
+(2981,501)
+(2982,503)
+(2983,506)
+(2986,509)
+(2986,505)
+(2989,503)
+(2991,503)
+(2993,501)
+(2998,500)
+(3001,495)
+(3002,492)
+(2999,478)
+(2998,473)
+(3001,471)
+(3003,466)
+(3007,463)
+(3009,463)
+(3010,459)
+(3012,458)
+(3014,455)
+(3015,459)
+(3019,455)
+(3023,457)
+(3025,454)
+(3025,448)
+(3028,442)
+(3034,436)
+(3035,433)
+(3038,433)
+(3041,431)
+(3047,422)
+(3049,421)
+(3050,419)
+(3051,419)
+(3053,423)
+(3055,418)
+(3057,418)
+(3058,420)
+(3060,418)
+(3062,418)
+(3065,411)
+(3066,413)
+(3068,411)
+(3070,411)
+(3069,409)
+(3070,408)
+(3071,407)
+(3071,404)
+(3074,403)
+(3074,406)
+(3076,402)
+(3079,404)
+(3081,399)
+(3084,404)
+(3086,403)
+(3088,403)
+(3088,401)
+(3090,403)
+(3092,401)
+(3094,401)
+(3095,400)
+(3094,396)
+(3099,396)
+(3100,389)
+(3103,385)
+(3105,385)
+(3105,381)
+(3109,378)
+(3111,365)
+(3113,361)
+(3111,358)
+(3112,355)
+(3111,352)
+(3111,351)
+(3113,345)
+(3114,335)
+(3113,327)
+(3108,321)
+(3110,318)
+(3109,313)
+(3110,306)
+(3109,303)
+(3109,296)
+(3108,291)
+(3108,288)
+13
+(3103,290)
+(3104,286)
+(3105,288)
+(3104,283)
+(3108,287)
+(3104,281)
+(3105,281)
+(3104,279)
+(3102,273)
+(3103,266)
+(3106,256)
+(3109,250)
+(3110,245)
+9
+(3099,247)
+(3098,256)
+(3099,261)
+(3102,266)
+(3101,270)
+(3102,277)
+(3103,278)
+(3103,284)
+(3103,290)
+27
+(3112,362)
+(3114,361)
+(3119,353)
+(3117,347)
+(3118,345)
+(3116,337)
+(3119,329)
+(3119,326)
+(3118,324)
+(3118,322)
+(3117,319)
+(3119,315)
+(3118,313)
+(3118,310)
+(3120,306)
+(3118,302)
+(3119,300)
+(3117,295)
+(3117,290)
+(3114,284)
+(3113,278)
+(3114,272)
+(3115,271)
+(3114,269)
+(3114,259)
+(3115,255)
+(3119,246)
+97
+(2682,424)
+(2681,437)
+(2678,441)
+(2678,445)
+(2680,447)
+(2682,447)
+(2685,447)
+(2689,454)
+(2690,458)
+(2692,461)
+(2695,460)
+(2697,461)
+(2697,462)
+(2700,460)
+(2704,461)
+(2705,463)
+(2705,463)
+(2706,465)
+(2708,466)
+(2711,473)
+(2710,478)
+(2711,484)
+(2710,487)
+(2711,492)
+(2710,494)
+(2711,497)
+(2709,499)
+(2709,503)
+(2708,505)
+(2709,511)
+(2708,514)
+(2702,519)
+(2702,522)
+(2701,524)
+(2701,527)
+(2703,529)
+(2704,537)
+(2705,538)
+(2705,543)
+(2706,544)
+(2707,548)
+(2708,551)
+(2707,559)
+(2706,564)
+(2706,570)
+(2705,572)
+(2708,573)
+(2706,575)
+(2708,578)
+(2705,578)
+(2704,583)
+(2706,586)
+(2704,590)
+(2706,590)
+(2705,594)
+(2708,593)
+(2708,594)
+(2707,595)
+(2706,595)
+(2708,598)
+(2707,600)
+(2702,604)
+(2702,610)
+(2702,614)
+(2698,621)
+(2699,624)
+(2696,626)
+(2695,633)
+(2695,637)
+(2698,640)
+(2700,642)
+(2703,641)
+(2703,654)
+(2705,655)
+(2704,660)
+(2703,663)
+(2704,667)
+(2703,670)
+(2704,672)
+(2703,674)
+(2704,676)
+(2701,676)
+(2698,685)
+(2696,685)
+(2696,693)
+(2693,697)
+(2696,704)
+(2697,705)
+(2699,708)
+(2699,719)
+(2699,724)
+(2699,725)
+(2701,724)
+(2702,729)
+(2701,734)
+(2697,738)
+(2698,752)
+163
+(3046,933)
+(3044,936)
+(3041,935)
+(3038,937)
+(3035,937)
+(3032,944)
+(3027,945)
+(3023,955)
+(3022,956)
+(3022,955)
+(3021,956)
+(3020,955)
+(3016,950)
+(3007,948)
+(3005,950)
+(3003,949)
+(3003,947)
+(3002,946)
+(3002,938)
+(3003,932)
+(3002,926)
+(3003,923)
+(3002,920)
+(3001,915)
+(3002,911)
+(3003,911)
+(3007,910)
+(3010,904)
+(3010,898)
+(3011,891)
+(3010,883)
+(3014,876)
+(3014,874)
+(3017,872)
+(3018,869)
+(3020,869)
+(3022,867)
+(3024,867)
+(3025,863)
+(3028,862)
+(3027,858)
+(3026,856)
+(3026,854)
+(3028,854)
+(3030,854)
+(3031,851)
+(3031,844)
+(3035,842)
+(3036,844)
+(3037,845)
+(3039,843)
+(3040,848)
+(3040,849)
+(3042,852)
+(3044,851)
+(3048,854)
+(3051,853)
+(3053,854)
+(3056,847)
+(3055,844)
+(3057,845)
+(3057,844)
+(3057,841)
+(3058,834)
+(3060,833)
+(3064,829)
+(3063,825)
+(3065,823)
+(3064,821)
+(3066,819)
+(3066,816)
+(3068,811)
+(3070,808)
+(3071,805)
+(3073,804)
+(3074,806)
+(3078,803)
+(3078,798)
+(3081,797)
+(3082,794)
+(3083,795)
+(3084,793)
+(3089,791)
+(3089,789)
+(3088,789)
+(3089,788)
+(3090,784)
+(3092,784)
+(3093,780)
+(3095,782)
+(3097,780)
+(3099,774)
+(3100,773)
+(3100,771)
+(3102,770)
+(3104,768)
+(3105,769)
+(3108,768)
+(3109,770)
+(3110,766)
+(3112,761)
+(3112,750)
+(3113,750)
+(3111,748)
+(3112,747)
+(3113,747)
+(3111,742)
+(3113,738)
+(3113,734)
+(3112,733)
+(3113,731)
+(3112,722)
+(3118,713)
+(3121,713)
+(3121,710)
+(3122,707)
+(3122,704)
+(3124,701)
+(3127,699)
+(3131,701)
+(3133,703)
+(3135,702)
+(3136,704)
+(3140,708)
+(3140,711)
+(3143,717)
+(3144,716)
+(3144,718)
+(3147,720)
+(3151,718)
+(3164,722)
+(3172,721)
+(3175,710)
+(3177,711)
+(3178,707)
+(3180,705)
+(3179,702)
+(3181,701)
+(3181,698)
+(3183,698)
+(3183,690)
+(3185,687)
+(3184,681)
+(3189,674)
+(3188,671)
+(3189,671)
+(3190,669)
+(3189,666)
+(3189,664)
+(3194,655)
+(3196,649)
+(3198,647)
+(3198,645)
+(3202,643)
+(3202,631)
+(3205,623)
+(3206,619)
+(3205,616)
+(3204,614)
+(3204,611)
+(3208,602)
+(3209,599)
+(3212,589)
+122
+(2977,1052)
+(2980,1052)
+(2984,1057)
+(2983,1065)
+(2978,1072)
+(2977,1076)
+(2979,1079)
+(2982,1087)
+(2985,1092)
+(2987,1093)
+(2991,1094)
+(2992,1098)
+(2996,1101)
+(3004,1094)
+(3006,1093)
+(3010,1096)
+(3012,1095)
+(3013,1096)
+(3015,1096)
+(3016,1094)
+(3019,1092)
+(3020,1090)
+(3024,1086)
+(3026,1082)
+(3028,1081)
+(3029,1077)
+(3033,1077)
+(3034,1079)
+(3037,1078)
+(3037,1077)
+(3039,1076)
+(3045,1072)
+(3047,1062)
+(3049,1060)
+(3049,1058)
+(3051,1056)
+(3052,1049)
+(3054,1047)
+(3057,1039)
+(3060,1039)
+(3062,1036)
+(3063,1033)
+(3062,1032)
+(3063,1030)
+(3065,1030)
+(3066,1028)
+(3067,1022)
+(3075,1011)
+(3076,1004)
+(3074,1002)
+(3075,994)
+(3074,991)
+(3074,989)
+(3076,988)
+(3078,986)
+(3079,988)
+(3081,987)
+(3082,989)
+(3086,987)
+(3089,987)
+(3091,989)
+(3091,988)
+(3094,988)
+(3094,985)
+(3096,984)
+(3097,981)
+(3098,980)
+(3101,974)
+(3100,967)
+(3101,960)
+(3102,958)
+(3102,956)
+(3104,954)
+(3103,953)
+(3104,951)
+(3106,948)
+(3106,946)
+(3108,944)
+(3113,948)
+(3113,946)
+(3116,948)
+(3119,946)
+(3119,941)
+(3120,939)
+(3122,938)
+(3122,928)
+(3123,925)
+(3123,922)
+(3123,917)
+(3124,913)
+(3123,907)
+(3124,902)
+(3123,896)
+(3123,893)
+(3125,890)
+(3124,886)
+(3126,882)
+(3128,881)
+(3130,883)
+(3132,882)
+(3134,883)
+(3137,875)
+(3143,872)
+(3146,873)
+(3146,875)
+(3149,878)
+(3152,877)
+(3154,878)
+(3157,875)
+(3159,869)
+(3165,861)
+(3171,848)
+(3173,850)
+(3178,849)
+(3183,861)
+(3189,863)
+(3192,863)
+(3195,867)
+(3199,869)
+(3202,872)
+(3210,878)
+(3216,876)
+139
+(2976,1141)
+(2975,1138)
+(2976,1135)
+(2980,1131)
+(2983,1129)
+(2989,1128)
+(2992,1125)
+(2994,1125)
+(2995,1127)
+(2996,1136)
+(2995,1138)
+(2997,1147)
+(3002,1149)
+(3004,1151)
+(3004,1154)
+(3003,1156)
+(3003,1161)
+(3002,1165)
+(3002,1171)
+(2999,1176)
+(2998,1181)
+(2999,1187)
+(3002,1190)
+(3003,1195)
+(3003,1213)
+(3005,1217)
+(3005,1220)
+(3006,1220)
+(3008,1224)
+(3008,1235)
+(3009,1235)
+(3011,1240)
+(3013,1241)
+(3014,1244)
+(3017,1247)
+(3016,1250)
+(3017,1251)
+(3018,1256)
+(3019,1257)
+(3019,1263)
+(3021,1268)
+(3020,1270)
+(3021,1271)
+(3023,1275)
+(3023,1275)
+(3023,1276)
+(3024,1277)
+(3026,1281)
+(3027,1286)
+(3029,1287)
+(3031,1296)
+(3034,1300)
+(3036,1300)
+(3040,1304)
+(3042,1309)
+(3044,1310)
+(3048,1311)
+(3056,1308)
+(3060,1309)
+(3061,1307)
+(3063,1309)
+(3069,1306)
+(3076,1309)
+(3076,1312)
+(3078,1313)
+(3081,1319)
+(3088,1315)
+(3089,1310)
+(3091,1311)
+(3094,1309)
+(3094,1301)
+(3096,1299)
+(3098,1294)
+(3099,1293)
+(3100,1288)
+(3104,1284)
+(3107,1285)
+(3110,1281)
+(3111,1278)
+(3114,1274)
+(3117,1277)
+(3120,1273)
+(3122,1273)
+(3124,1272)
+(3126,1272)
+(3132,1266)
+(3133,1262)
+(3137,1259)
+(3139,1256)
+(3142,1253)
+(3142,1250)
+(3146,1240)
+(3145,1237)
+(3145,1229)
+(3143,1222)
+(3143,1217)
+(3142,1209)
+(3143,1201)
+(3148,1190)
+(3149,1185)
+(3150,1185)
+(3152,1181)
+(3154,1173)
+(3158,1163)
+(3158,1157)
+(3160,1143)
+(3167,1136)
+(3171,1134)
+(3172,1131)
+(3174,1129)
+(3176,1123)
+(3181,1121)
+(3180,1115)
+(3180,1109)
+(3185,1097)
+(3186,1089)
+(3188,1089)
+(3190,1092)
+(3193,1092)
+(3195,1098)
+(3201,1102)
+(3202,1107)
+(3204,1110)
+(3206,1121)
+(3209,1125)
+(3215,1126)
+(3219,1125)
+(3222,1128)
+(3224,1132)
+(3230,1131)
+(3234,1134)
+(3236,1132)
+(3238,1132)
+(3242,1129)
+(3246,1129)
+(3251,1132)
+(3252,1135)
+(3255,1137)
+(3261,1137)
+381
+(2885,491)
+(2883,493)
+(2883,498)
+(2880,499)
+(2878,506)
+(2876,507)
+(2876,510)
+(2877,511)
+(2875,514)
+(2875,517)
+(2876,525)
+(2879,528)
+(2882,534)
+(2882,536)
+(2881,535)
+(2881,537)
+(2883,538)
+(2883,540)
+(2886,543)
+(2885,550)
+(2885,553)
+(2884,556)
+(2885,558)
+(2884,561)
+(2884,564)
+(2890,569)
+(2893,570)
+(2893,571)
+(2894,572)
+(2894,577)
+(2894,578)
+(2894,582)
+(2897,585)
+(2897,589)
+(2900,595)
+(2906,602)
+(2907,609)
+(2907,611)
+(2910,622)
+(2911,624)
+(2913,624)
+(2914,626)
+(2915,632)
+(2919,642)
+(2920,643)
+(2923,647)
+(2924,654)
+(2924,669)
+(2925,676)
+(2924,682)
+(2926,686)
+(2927,698)
+(2930,706)
+(2933,707)
+(2933,709)
+(2935,712)
+(2935,718)
+(2936,719)
+(2936,722)
+(2937,722)
+(2938,719)
+(2939,723)
+(2941,722)
+(2942,724)
+(2940,731)
+(2941,734)
+(2941,740)
+(2940,741)
+(2938,740)
+(2938,746)
+(2937,750)
+(2936,752)
+(2935,750)
+(2935,751)
+(2935,752)
+(2935,753)
+(2934,752)
+(2933,754)
+(2934,756)
+(2934,761)
+(2933,765)
+(2930,766)
+(2930,767)
+(2931,774)
+(2930,777)
+(2926,782)
+(2923,781)
+(2924,783)
+(2923,785)
+(2921,785)
+(2917,794)
+(2916,802)
+(2915,806)
+(2915,812)
+(2914,814)
+(2913,819)
+(2906,832)
+(2907,831)
+(2907,834)
+(2904,837)
+(2905,840)
+(2903,842)
+(2901,842)
+(2899,844)
+(2900,851)
+(2899,852)
+(2899,856)
+(2899,859)
+(2897,861)
+(2896,864)
+(2895,867)
+(2894,874)
+(2890,879)
+(2892,889)
+(2894,892)
+(2894,896)
+(2892,898)
+(2892,903)
+(2891,906)
+(2893,907)
+(2894,919)
+(2897,924)
+(2902,925)
+(2905,930)
+(2903,932)
+(2904,936)
+(2904,939)
+(2903,940)
+(2903,943)
+(2903,945)
+(2903,952)
+(2901,954)
+(2901,957)
+(2901,969)
+(2901,975)
+(2901,979)
+(2894,984)
+(2890,990)
+(2889,994)
+(2887,1006)
+(2889,1014)
+(2890,1019)
+(2889,1022)
+(2888,1028)
+(2880,1036)
+(2880,1040)
+(2873,1048)
+(2872,1052)
+(2870,1054)
+(2870,1057)
+(2866,1063)
+(2865,1067)
+(2866,1079)
+(2864,1098)
+(2866,1107)
+(2865,1110)
+(2866,1114)
+(2866,1119)
+(2869,1125)
+(2869,1127)
+(2869,1133)
+(2866,1136)
+(2869,1140)
+(2869,1144)
+(2865,1148)
+(2859,1147)
+(2854,1144)
+(2851,1143)
+(2849,1144)
+(2845,1143)
+(2842,1137)
+(2830,1133)
+(2825,1134)
+(2822,1138)
+(2815,1138)
+(2812,1136)
+(2809,1135)
+(2807,1138)
+(2803,1140)
+(2799,1137)
+(2798,1133)
+(2797,1132)
+(2788,1135)
+(2784,1133)
+(2779,1135)
+(2771,1135)
+(2770,1132)
+(2761,1121)
+(2760,1122)
+(2754,1129)
+(2751,1132)
+(2748,1131)
+(2746,1134)
+(2742,1135)
+(2740,1138)
+(2738,1136)
+(2737,1135)
+(2734,1134)
+(2732,1137)
+(2734,1141)
+(2733,1142)
+(2731,1146)
+(2729,1145)
+(2730,1141)
+(2729,1140)
+(2727,1140)
+(2725,1142)
+(2724,1139)
+(2723,1139)
+(2721,1142)
+(2721,1145)
+(2718,1147)
+(2715,1156)
+(2714,1161)
+(2714,1169)
+(2715,1171)
+(2715,1173)
+(2713,1176)
+(2714,1184)
+(2713,1189)
+(2716,1193)
+(2715,1196)
+(2712,1198)
+(2710,1201)
+(2711,1210)
+(2710,1213)
+(2708,1217)
+(2703,1222)
+(2701,1221)
+(2700,1218)
+(2698,1218)
+(2692,1222)
+(2690,1229)
+(2691,1238)
+(2690,1238)
+(2686,1238)
+(2680,1246)
+(2680,1254)
+(2683,1261)
+(2684,1269)
+(2687,1272)
+(2689,1281)
+(2689,1283)
+(2687,1284)
+(2687,1292)
+(2686,1295)
+(2681,1297)
+(2679,1299)
+(2680,1301)
+(2679,1303)
+(2680,1306)
+(2679,1311)
+(2678,1320)
+(2675,1322)
+(2673,1322)
+(2672,1325)
+(2670,1325)
+(2669,1328)
+(2669,1331)
+(2680,1339)
+(2681,1343)
+(2683,1346)
+(2683,1349)
+(2678,1356)
+(2676,1363)
+(2673,1366)
+(2671,1362)
+(2673,1358)
+(2673,1355)
+(2669,1353)
+(2669,1348)
+(2667,1348)
+(2665,1350)
+(2660,1352)
+(2658,1354)
+(2657,1361)
+(2653,1362)
+(2652,1366)
+(2647,1374)
+(2646,1380)
+(2645,1383)
+(2641,1380)
+(2639,1373)
+(2634,1371)
+(2631,1372)
+(2629,1378)
+(2628,1384)
+(2629,1390)
+(2631,1396)
+(2631,1405)
+(2630,1411)
+(2628,1417)
+(2628,1425)
+(2626,1432)
+(2625,1440)
+(2621,1451)
+(2622,1461)
+(2626,1470)
+(2625,1476)
+(2623,1483)
+(2623,1493)
+(2624,1499)
+(2621,1505)
+(2621,1514)
+(2617,1523)
+(2619,1529)
+(2619,1534)
+(2621,1538)
+(2622,1546)
+(2623,1548)
+(2625,1549)
+(2627,1553)
+(2631,1557)
+(2635,1564)
+(2639,1568)
+(2639,1572)
+(2642,1578)
+(2643,1596)
+(2645,1602)
+(2645,1607)
+(2648,1614)
+(2649,1621)
+(2647,1633)
+(2649,1638)
+(2648,1647)
+(2652,1656)
+(2652,1664)
+(2654,1668)
+(2655,1676)
+(2658,1679)
+(2663,1682)
+(2667,1687)
+(2670,1685)
+(2672,1680)
+(2678,1682)
+(2681,1678)
+(2681,1676)
+(2683,1673)
+(2685,1673)
+(2686,1670)
+(2689,1669)
+(2693,1673)
+(2698,1674)
+(2701,1673)
+(2707,1677)
+(2713,1677)
+(2721,1681)
+(2724,1682)
+(2726,1687)
+(2725,1691)
+(2727,1693)
+(2726,1697)
+(2721,1699)
+(2718,1703)
+(2716,1711)
+(2715,1714)
+(2714,1718)
+(2713,1721)
+(2713,1725)
+(2712,1727)
+(2711,1728)
+(2712,1730)
+(2711,1733)
+(2710,1734)
+(2704,1748)
+(2705,1750)
+(2705,1748)
+(2706,1748)
+(2706,1751)
+(2704,1753)
+(2703,1752)
+(2702,1757)
+(2698,1759)
+(2699,1763)
+(2698,1763)
+(2697,1763)
+(2697,1763)
+(2698,1766)
+(2698,1767)
+(2698,1769)
+(2693,1777)
+9
+(2711,1733)
+(2712,1737)
+(2710,1741)
+(2711,1751)
+(2710,1768)
+(2711,1772)
+(2711,1773)
+(2709,1775)
+(2709,1781)
+196
+(3352,2024)
+(3349,2031)
+(3348,2027)
+(3346,2026)
+(3344,2030)
+(3344,2034)
+(3343,2035)
+(3339,2030)
+(3338,2027)
+(3334,2027)
+(3332,2025)
+(3334,2019)
+(3334,2015)
+(3333,2014)
+(3328,2013)
+(3319,2016)
+(3314,2013)
+(3313,2010)
+(3311,2010)
+(3306,2007)
+(3304,2007)
+(3301,2004)
+(3297,2005)
+(3295,2004)
+(3295,1996)
+(3298,1990)
+(3299,1983)
+(3301,1980)
+(3298,1975)
+(3299,1972)
+(3297,1969)
+(3295,1968)
+(3295,1963)
+(3293,1961)
+(3292,1961)
+(3291,1959)
+(3288,1960)
+(3285,1952)
+(3282,1953)
+(3282,1951)
+(3280,1950)
+(3279,1948)
+(3280,1948)
+(3281,1944)
+(3280,1940)
+(3284,1937)
+(3284,1934)
+(3288,1927)
+(3286,1910)
+(3286,1903)
+(3279,1889)
+(3280,1885)
+(3282,1883)
+(3283,1881)
+(3281,1873)
+(3280,1872)
+(3280,1855)
+(3279,1852)
+(3278,1846)
+(3275,1842)
+(3275,1838)
+(3272,1835)
+(3272,1831)
+(3274,1830)
+(3273,1828)
+(3268,1823)
+(3266,1824)
+(3264,1823)
+(3259,1817)
+(3256,1817)
+(3254,1819)
+(3252,1818)
+(3251,1820)
+(3246,1822)
+(3245,1822)
+(3244,1823)
+(3238,1823)
+(3237,1826)
+(3235,1827)
+(3234,1826)
+(3234,1819)
+(3232,1817)
+(3226,1816)
+(3223,1818)
+(3216,1817)
+(3215,1815)
+(3214,1816)
+(3212,1815)
+(3209,1819)
+(3208,1818)
+(3206,1820)
+(3204,1819)
+(3202,1821)
+(3201,1822)
+(3199,1821)
+(3196,1823)
+(3194,1815)
+(3187,1816)
+(3187,1818)
+(3186,1817)
+(3185,1813)
+(3187,1807)
+(3186,1804)
+(3182,1801)
+(3181,1801)
+(3180,1803)
+(3178,1802)
+(3177,1803)
+(3175,1803)
+(3171,1805)
+(3171,1803)
+(3165,1808)
+(3164,1807)
+(3165,1806)
+(3164,1806)
+(3162,1808)
+(3163,1810)
+(3160,1811)
+(3158,1816)
+(3156,1815)
+(3156,1817)
+(3154,1816)
+(3153,1817)
+(3153,1815)
+(3153,1815)
+(3152,1814)
+(3146,1822)
+(3144,1821)
+(3142,1824)
+(3143,1826)
+(3141,1826)
+(3139,1829)
+(3139,1833)
+(3138,1832)
+(3136,1832)
+(3135,1831)
+(3134,1833)
+(3134,1835)
+(3132,1835)
+(3130,1837)
+(3128,1842)
+(3127,1842)
+(3125,1844)
+(3121,1844)
+(3121,1847)
+(3120,1847)
+(3115,1848)
+(3114,1848)
+(3114,1845)
+(3109,1840)
+(3106,1839)
+(3106,1837)
+(3105,1839)
+(3103,1838)
+(3102,1834)
+(3097,1833)
+(3096,1831)
+(3095,1833)
+(3094,1831)
+(3093,1832)
+(3092,1835)
+(3091,1834)
+(3087,1837)
+(3087,1835)
+(3086,1835)
+(3085,1837)
+(3080,1839)
+(3078,1834)
+(3074,1833)
+(3073,1831)
+(3035,1831)
+(3033,1830)
+(3032,1832)
+(3030,1831)
+(3025,1835)
+(3022,1835)
+(3017,1840)
+(3015,1840)
+(3015,1842)
+(3013,1843)
+(3012,1844)
+(3009,1846)
+(3009,1848)
+(3007,1849)
+(3007,1852)
+(3001,1859)
+(2998,1864)
+(2998,1868)
+(2997,1871)
+(2996,1876)
+(2999,1878)
+(2999,1886)
+(2995,1885)
+(2991,1887)
+(2989,1889)
+(2986,1889)
+64
+(4136,1253)
+(4133,1254)
+(4132,1265)
+(4129,1273)
+(4125,1278)
+(4125,1284)
+(4121,1288)
+(4119,1297)
+(4115,1305)
+(4114,1314)
+(4109,1323)
+(4108,1330)
+(4108,1339)
+(4108,1342)
+(4107,1343)
+(4107,1348)
+(4105,1358)
+(4105,1360)
+(4103,1366)
+(4103,1369)
+(4100,1374)
+(4097,1384)
+(4094,1389)
+(4087,1389)
+(4089,1397)
+(4087,1400)
+(4083,1404)
+(4076,1420)
+(4074,1416)
+(4073,1411)
+(4072,1409)
+(4064,1409)
+(4055,1413)
+(4053,1408)
+(4048,1406)
+(4046,1409)
+(4047,1413)
+(4046,1418)
+(4045,1426)
+(4042,1425)
+(4039,1426)
+(4037,1425)
+(4036,1416)
+(4033,1415)
+(4032,1417)
+(4029,1414)
+(4026,1420)
+(4020,1424)
+(4018,1430)
+(4013,1436)
+(4008,1440)
+(4007,1436)
+(4005,1433)
+(3993,1433)
+(3992,1428)
+(3991,1428)
+(3990,1424)
+(3989,1424)
+(3987,1419)
+(3982,1421)
+(3979,1420)
+(3972,1424)
+(3968,1436)
+(3949,1450)
+8
+(3597,1862)
+(3596,1860)
+(3591,1858)
+(3588,1846)
+(3589,1838)
+(3598,1822)
+(3597,1820)
+(3595,1814)
+20
+(3628,1967)
+(3631,1984)
+(3634,1985)
+(3636,1989)
+(3638,1990)
+(3639,1993)
+(3638,1996)
+(3644,2002)
+(3645,2020)
+(3648,2022)
+(3651,2027)
+(3653,2027)
+(3658,2033)
+(3657,2041)
+(3655,2046)
+(3655,2054)
+(3658,2069)
+(3658,2081)
+(3660,2089)
+(3661,2091)
+13
+(3615,2232)
+(3623,2227)
+(3631,2225)
+(3635,2228)
+(3637,2227)
+(3639,2229)
+(3647,2227)
+(3650,2220)
+(3652,2214)
+(3655,2205)
+(3657,2189)
+(3664,2181)
+(3663,2176)
+16
+(3553,2309)
+(3556,2308)
+(3558,2310)
+(3565,2307)
+(3570,2309)
+(3574,2307)
+(3576,2311)
+(3580,2314)
+(3581,2304)
+(3585,2300)
+(3587,2295)
+(3591,2295)
+(3596,2284)
+(3598,2285)
+(3599,2289)
+(3602,2288)
+102
+(3435,1956)
+(3429,1956)
+(3424,1962)
+(3420,1960)
+(3416,1962)
+(3415,1969)
+(3417,1974)
+(3415,1979)
+(3416,1983)
+(3415,1987)
+(3416,1989)
+(3413,1994)
+(3414,2000)
+(3411,2004)
+(3411,2009)
+(3408,2015)
+(3407,2019)
+(3405,2022)
+(3400,2024)
+(3400,2030)
+(3395,2035)
+(3391,2042)
+(3389,2041)
+(3390,2038)
+(3387,2030)
+(3385,2030)
+(3381,2037)
+(3381,2042)
+(3379,2045)
+(3378,2048)
+(3378,2055)
+(3375,2061)
+(3374,2068)
+(3372,2071)
+(3372,2075)
+(3371,2076)
+(3374,2087)
+(3375,2087)
+(3376,2091)
+(3378,2089)
+(3379,2092)
+(3382,2096)
+(3383,2095)
+(3383,2092)
+(3384,2092)
+(3389,2098)
+(3393,2095)
+(3394,2095)
+(3395,2101)
+(3394,2105)
+(3395,2111)
+(3401,2119)
+(3402,2121)
+(3404,2122)
+(3404,2128)
+(3407,2136)
+(3409,2136)
+(3410,2138)
+(3411,2143)
+(3410,2145)
+(3412,2157)
+(3410,2162)
+(3408,2166)
+(3406,2180)
+(3405,2181)
+(3402,2181)
+(3400,2193)
+(3397,2195)
+(3403,2205)
+(3406,2204)
+(3406,2201)
+(3408,2205)
+(3409,2212)
+(3411,2216)
+(3410,2220)
+(3408,2221)
+(3409,2224)
+(3407,2225)
+(3405,2228)
+(3410,2240)
+(3412,2243)
+(3414,2248)
+(3417,2250)
+(3420,2248)
+(3421,2249)
+(3425,2252)
+(3429,2259)
+(3431,2259)
+(3433,2263)
+(3437,2265)
+(3437,2267)
+(3436,2271)
+(3437,2272)
+(3439,2279)
+(3445,2286)
+(3450,2295)
+(3455,2299)
+(3457,2301)
+(3461,2303)
+(3469,2310)
+(3475,2310)
+(3481,2306)
+7
+(3437,2265)
+(3434,2271)
+(3436,2274)
+(3438,2280)
+(3445,2288)
+(3449,2296)
+(3454,2298)
+24
+(3402,2182)
+(3398,2190)
+(3397,2190)
+(3396,2185)
+(3396,2181)
+(3395,2178)
+(3395,2174)
+(3394,2170)
+(3390,2167)
+(3396,2194)
+(3401,2201)
+(3402,2206)
+(3406,2206)
+(3406,2208)
+(3407,2209)
+(3406,2217)
+(3403,2219)
+(3406,2221)
+(3402,2222)
+(3402,2224)
+(3404,2224)
+(3403,2227)
+(3404,2228)
+(3405,2229)
+53
+(3487,2322)
+(3484,2330)
+(3482,2350)
+(3481,2354)
+(3477,2360)
+(3476,2367)
+(3472,2376)
+(3468,2380)
+(3468,2384)
+(3468,2386)
+(3462,2388)
+(3459,2394)
+(3455,2396)
+(3453,2402)
+(3454,2410)
+(3458,2412)
+(3461,2419)
+(3460,2421)
+(3463,2422)
+(3465,2431)
+(3462,2433)
+(3463,2433)
+(3466,2436)
+(3468,2446)
+(3467,2449)
+(3467,2446)
+(3466,2452)
+(3465,2456)
+(3461,2458)
+(3458,2463)
+(3455,2464)
+(3451,2468)
+(3453,2462)
+(3449,2466)
+(3449,2471)
+(3447,2471)
+(3446,2473)
+(3448,2472)
+(3449,2475)
+(3445,2497)
+(3446,2505)
+(3445,2507)
+(3444,2505)
+(3442,2505)
+(3444,2508)
+(3449,2519)
+(3449,2523)
+(3446,2531)
+(3447,2538)
+(3446,2545)
+(3446,2548)
+(3444,2550)
+(3445,2554)
+57
+(3454,2401)
+(3455,2407)
+(3460,2411)
+(3463,2419)
+(3465,2422)
+(3466,2434)
+(3468,2436)
+(3468,2440)
+(3469,2438)
+(3470,2439)
+(3473,2436)
+(3473,2433)
+(3475,2433)
+(3475,2430)
+(3476,2428)
+(3476,2434)
+(3476,2435)
+(3476,2436)
+(3475,2438)
+(3476,2440)
+(3478,2437)
+(3478,2438)
+(3479,2438)
+(3480,2443)
+(3480,2444)
+(3477,2444)
+(3477,2450)
+(3481,2449)
+(3482,2453)
+(3481,2454)
+(3475,2452)
+(3474,2454)
+(3474,2443)
+(3472,2444)
+(3472,2440)
+(3471,2439)
+(3469,2443)
+(3469,2450)
+(3467,2455)
+(3460,2463)
+(3461,2469)
+(3457,2466)
+(3454,2468)
+(3451,2472)
+(3449,2490)
+(3446,2499)
+(3448,2503)
+(3446,2509)
+(3446,2511)
+(3451,2518)
+(3450,2525)
+(3448,2531)
+(3448,2535)
+(3450,2535)
+(3450,2537)
+(3449,2538)
+(3445,2554)
+60
+(3400,2606)
+(3394,2615)
+(3386,2624)
+(3385,2633)
+(3381,2639)
+(3381,2646)
+(3377,2652)
+(3371,2654)
+(3372,2660)
+(3371,2663)
+(3367,2668)
+(3367,2672)
+(3365,2675)
+(3364,2680)
+(3364,2684)
+(3366,2692)
+(3366,2705)
+(3368,2710)
+(3370,2715)
+(3366,2722)
+(3365,2725)
+(3370,2730)
+(3370,2734)
+(3369,2737)
+(3370,2746)
+(3372,2748)
+(3373,2750)
+(3373,2753)
+(3371,2757)
+(3369,2758)
+(3371,2765)
+(3376,2770)
+(3377,2781)
+(3380,2785)
+(3380,2788)
+(3382,2791)
+(3382,2794)
+(3380,2804)
+(3372,2810)
+(3370,2818)
+(3371,2836)
+(3369,2852)
+(3370,2858)
+(3369,2873)
+(3369,2876)
+(3361,2876)
+(3357,2880)
+(3358,2881)
+(3355,2885)
+(3355,2888)
+(3355,2893)
+(3356,2895)
+(3353,2894)
+(3350,2903)
+(3349,2928)
+(3347,2932)
+(3347,2938)
+(3348,2945)
+(3338,2941)
+(3329,2945)
+74
+(3400,2605)
+(3386,2622)
+(3384,2632)
+(3379,2638)
+(3380,2641)
+(3379,2645)
+(3377,2649)
+(3373,2653)
+(3371,2652)
+(3370,2654)
+(3370,2662)
+(3366,2667)
+(3366,2671)
+(3364,2675)
+(3363,2680)
+(3364,2686)
+(3365,2691)
+(3365,2705)
+(3368,2710)
+(3369,2715)
+(3365,2721)
+(3365,2725)
+(3366,2728)
+(3369,2731)
+(3368,2736)
+(3369,2746)
+(3371,2749)
+(3372,2751)
+(3371,2755)
+(3368,2757)
+(3368,2758)
+(3371,2767)
+(3375,2771)
+(3377,2782)
+(3381,2795)
+(3379,2803)
+(3372,2808)
+(3369,2815)
+(3368,2819)
+(3370,2827)
+(3368,2850)
+(3367,2855)
+(3365,2855)
+(3364,2853)
+(3362,2855)
+(3368,2858)
+(3367,2871)
+(3366,2874)
+(3361,2875)
+(3356,2878)
+(3354,2884)
+(3353,2889)
+(3352,2885)
+(3352,2887)
+(3352,2890)
+(3349,2895)
+(3348,2917)
+(3346,2915)
+(3345,2919)
+(3343,2914)
+(3337,2906)
+(3342,2915)
+(3343,2921)
+(3342,2923)
+(3344,2923)
+(3345,2922)
+(3346,2924)
+(3346,2929)
+(3345,2931)
+(3346,2933)
+(3345,2938)
+(3343,2939)
+(3336,2937)
+(3329,2943)
+172
+(3244,2298)
+(3241,2302)
+(3238,2306)
+(3234,2308)
+(3231,2313)
+(3226,2310)
+(3223,2311)
+(3223,2316)
+(3220,2319)
+(3219,2327)
+(3215,2331)
+(3215,2338)
+(3213,2342)
+(3208,2339)
+(3208,2345)
+(3206,2349)
+(3205,2347)
+(3203,2349)
+(3196,2348)
+(3193,2350)
+(3191,2347)
+(3188,2347)
+(3187,2350)
+(3186,2351)
+(3181,2350)
+(3179,2349)
+(3178,2345)
+(3176,2347)
+(3173,2340)
+(3171,2342)
+(3171,2338)
+(3168,2341)
+(3167,2338)
+(3165,2337)
+(3163,2334)
+(3160,2334)
+(3159,2337)
+(3152,2333)
+(3148,2336)
+(3146,2334)
+(3143,2334)
+(3141,2332)
+(3143,2327)
+(3142,2326)
+(3140,2329)
+(3139,2339)
+(3139,2341)
+(3138,2341)
+(3137,2337)
+(3136,2337)
+(3131,2343)
+(3129,2348)
+(3127,2348)
+(3124,2351)
+(3123,2346)
+(3117,2346)
+(3114,2349)
+(3106,2344)
+(3104,2344)
+(3102,2342)
+(3099,2344)
+(3095,2340)
+(3093,2341)
+(3091,2345)
+(3087,2341)
+(3084,2342)
+(3083,2345)
+(3081,2345)
+(3079,2351)
+(3077,2349)
+(3077,2352)
+(3075,2350)
+(3073,2350)
+(3071,2356)
+(3069,2357)
+(3068,2357)
+(3065,2348)
+(3063,2347)
+(3059,2349)
+(3058,2355)
+(3060,2357)
+(3059,2360)
+(3057,2379)
+(3058,2388)
+(3056,2385)
+(3055,2387)
+(3053,2386)
+(3048,2391)
+(3047,2386)
+(3044,2385)
+(3042,2386)
+(3038,2391)
+(3037,2392)
+(3037,2395)
+(3036,2395)
+(3035,2392)
+(3034,2392)
+(3030,2402)
+(3028,2401)
+(3026,2406)
+(3025,2403)
+(3022,2402)
+(3019,2398)
+(3015,2399)
+(3013,2403)
+(3005,2399)
+(3004,2406)
+(3006,2414)
+(3005,2417)
+(3003,2421)
+(3004,2425)
+(3005,2425)
+(3008,2423)
+(3010,2425)
+(3009,2428)
+(3006,2430)
+(3005,2433)
+(3003,2432)
+(3001,2437)
+(2998,2439)
+(2996,2437)
+(2995,2441)
+(2996,2444)
+(2998,2447)
+(2999,2449)
+(2998,2450)
+(2996,2449)
+(2994,2454)
+(2990,2457)
+(2987,2456)
+(2987,2466)
+(2986,2469)
+(2985,2473)
+(2982,2474)
+(2982,2476)
+(2980,2478)
+(2979,2475)
+(2978,2474)
+(2974,2478)
+(2975,2485)
+(2977,2490)
+(2976,2499)
+(2977,2502)
+(2975,2505)
+(2975,2510)
+(2975,2513)
+(2975,2516)
+(2977,2520)
+(2976,2523)
+(2976,2534)
+(2976,2538)
+(2974,2550)
+(2975,2556)
+(2974,2560)
+(2975,2565)
+(2975,2567)
+(2974,2567)
+(2971,2568)
+(2969,2566)
+(2965,2575)
+(2965,2581)
+(2964,2582)
+(2962,2580)
+(2962,2584)
+(2958,2588)
+(2961,2592)
+(2962,2598)
+(2969,2600)
+(2969,2603)
+(2969,2607)
+(2970,2610)
+(2970,2613)
+35
+(2856,2527)
+(2852,2518)
+(2853,2516)
+(2853,2512)
+(2855,2510)
+(2855,2507)
+(2856,2505)
+(2855,2500)
+(2856,2490)
+(2857,2486)
+(2856,2485)
+(2853,2481)
+(2853,2474)
+(2855,2471)
+(2853,2461)
+(2856,2461)
+(2857,2460)
+(2855,2456)
+(2851,2446)
+(2851,2436)
+(2847,2428)
+(2843,2427)
+(2832,2412)
+(2833,2409)
+(2834,2408)
+(2833,2404)
+(2833,2400)
+(2832,2397)
+(2832,2391)
+(2831,2383)
+(2830,2375)
+(2828,2373)
+(2827,2370)
+(2826,2367)
+(2826,2363)
+10
+(2835,2414)
+(2833,2411)
+(2835,2410)
+(2834,2405)
+(2835,2400)
+(2833,2397)
+(2832,2383)
+(2831,2374)
+(2828,2372)
+(2827,2363)
+69
+(2911,2674)
+(2912,2678)
+(2911,2680)
+(2909,2685)
+(2905,2699)
+(2905,2703)
+(2907,2710)
+(2907,2713)
+(2905,2716)
+(2904,2723)
+(2905,2725)
+(2907,2726)
+(2909,2727)
+(2906,2731)
+(2906,2736)
+(2903,2743)
+(2902,2750)
+(2900,2752)
+(2899,2758)
+(2895,2760)
+(2894,2765)
+(2889,2770)
+(2885,2768)
+(2882,2767)
+(2877,2768)
+(2875,2769)
+(2873,2774)
+(2872,2781)
+(2868,2782)
+(2866,2784)
+(2865,2792)
+(2862,2795)
+(2859,2797)
+(2854,2805)
+(2847,2810)
+(2845,2820)
+(2839,2826)
+(2836,2826)
+(2833,2824)
+(2832,2825)
+(2831,2832)
+(2826,2839)
+(2821,2845)
+(2821,2844)
+(2822,2849)
+(2821,2852)
+(2816,2857)
+(2811,2855)
+(2811,2857)
+(2812,2862)
+(2811,2865)
+(2806,2867)
+(2805,2870)
+(2803,2873)
+(2795,2876)
+(2792,2882)
+(2789,2882)
+(2786,2879)
+(2782,2882)
+(2779,2878)
+(2772,2874)
+(2770,2870)
+(2766,2867)
+(2765,2864)
+(2760,2864)
+(2757,2858)
+(2750,2858)
+(2749,2853)
+(2746,2853)
+16
+(2821,2844)
+(2820,2849)
+(2817,2855)
+(2812,2853)
+(2810,2854)
+(2810,2856)
+(2811,2862)
+(2810,2864)
+(2806,2866)
+(2803,2870)
+(2793,2875)
+(2791,2880)
+(2787,2877)
+(2785,2878)
+(2783,2881)
+(2781,2880)
+7
+(3123,2864)
+(3122,2861)
+(3123,2857)
+(3124,2851)
+(3123,2845)
+(3116,2826)
+(3112,2822)
+24
+(3206,2997)
+(3204,3007)
+(3197,3011)
+(3195,3010)
+(3193,3005)
+(3190,3002)
+(3190,2997)
+(3192,2994)
+(3193,2988)
+(3192,2983)
+(3189,2977)
+(3188,2969)
+(3189,2965)
+(3193,2960)
+(3194,2945)
+(3193,2939)
+(3191,2933)
+(3189,2923)
+(3187,2913)
+(3185,2910)
+(3182,2908)
+(3180,2909)
+(3175,2915)
+(3172,2915)
+38
+(3406,3245)
+(3404,3240)
+(3404,3237)
+(3406,3235)
+(3408,3235)
+(3410,3231)
+(3409,3226)
+(3407,3224)
+(3402,3225)
+(3398,3227)
+(3391,3228)
+(3384,3232)
+(3380,3242)
+(3372,3251)
+(3371,3251)
+(3368,3246)
+(3362,3241)
+(3362,3235)
+(3363,3227)
+(3361,3223)
+(3359,3219)
+(3357,3213)
+(3354,3211)
+(3351,3197)
+(3352,3185)
+(3355,3177)
+(3355,3171)
+(3357,3165)
+(3358,3160)
+(3351,3151)
+(3352,3142)
+(3351,3139)
+(3349,3139)
+(3344,3141)
+(3342,3139)
+(3341,3130)
+(3342,3125)
+(3343,3120)
+15
+(3483,3378)
+(3482,3374)
+(3481,3359)
+(3476,3352)
+(3477,3348)
+(3482,3348)
+(3483,3347)
+(3484,3342)
+(3483,3339)
+(3480,3338)
+(3474,3329)
+(3469,3327)
+(3469,3322)
+(3472,3318)
+(3472,3314)
+100
+(3491,3226)
+(3493,3222)
+(3498,3218)
+(3501,3217)
+(3502,3220)
+(3505,3220)
+(3505,3215)
+(3504,3212)
+(3505,3208)
+(3506,3205)
+(3508,3206)
+(3512,3209)
+(3513,3211)
+(3515,3211)
+(3515,3209)
+(3517,3208)
+(3521,3202)
+(3524,3201)
+(3527,3196)
+(3529,3196)
+(3531,3192)
+(3536,3192)
+(3539,3195)
+(3542,3191)
+(3543,3192)
+(3544,3193)
+(3545,3194)
+(3546,3192)
+(3545,3190)
+(3547,3190)
+(3548,3186)
+(3550,3185)
+(3553,3179)
+(3559,3175)
+(3563,3175)
+(3563,3171)
+(3568,3174)
+(3571,3166)
+(3572,3165)
+(3573,3162)
+(3574,3162)
+(3575,3157)
+(3579,3155)
+(3582,3156)
+(3582,3159)
+(3584,3160)
+(3583,3167)
+(3586,3169)
+(3588,3173)
+(3592,3176)
+(3595,3175)
+(3595,3178)
+(3597,3178)
+(3598,3180)
+(3598,3185)
+(3601,3198)
+(3603,3200)
+(3603,3205)
+(3605,3208)
+(3607,3208)
+(3608,3212)
+(3608,3216)
+(3609,3218)
+(3609,3222)
+(3610,3221)
+(3612,3228)
+(3612,3231)
+(3614,3231)
+(3620,3240)
+(3620,3247)
+(3621,3249)
+(3621,3256)
+(3620,3259)
+(3616,3264)
+(3614,3271)
+(3614,3288)
+(3614,3291)
+(3614,3300)
+(3613,3306)
+(3611,3305)
+(3611,3307)
+(3613,3315)
+(3614,3317)
+(3615,3322)
+(3619,3336)
+(3621,3338)
+(3628,3341)
+(3630,3352)
+(3629,3355)
+(3627,3359)
+(3625,3368)
+(3615,3370)
+(3613,3369)
+(3610,3369)
+(3609,3370)
+(3609,3376)
+(3608,3377)
+(3603,3378)
+(3598,3377)
+(3595,3382)
+109
+(3571,2388)
+(3571,2400)
+(3568,2407)
+(3567,2412)
+(3564,2416)
+(3557,2415)
+(3559,2422)
+(3560,2423)
+(3559,2433)
+(3559,2437)
+(3563,2442)
+(3565,2451)
+(3565,2457)
+(3563,2464)
+(3564,2477)
+(3565,2492)
+(3568,2499)
+(3569,2511)
+(3570,2515)
+(3574,2514)
+(3579,2525)
+(3579,2528)
+(3579,2534)
+(3580,2543)
+(3585,2555)
+(3587,2558)
+(3597,2564)
+(3597,2571)
+(3598,2577)
+(3602,2581)
+(3606,2609)
+(3610,2615)
+(3611,2624)
+(3614,2635)
+(3619,2643)
+(3621,2645)
+(3622,2648)
+(3624,2651)
+(3626,2662)
+(3628,2665)
+(3627,2667)
+(3629,2683)
+(3636,2702)
+(3636,2733)
+(3638,2739)
+(3642,2747)
+(3641,2752)
+(3640,2759)
+(3642,2763)
+(3642,2768)
+(3646,2774)
+(3644,2779)
+(3647,2784)
+(3651,2787)
+(3652,2790)
+(3656,2790)
+(3662,2794)
+(3667,2794)
+(3669,2797)
+(3678,2794)
+(3684,2783)
+(3686,2776)
+(3692,2768)
+(3693,2757)
+(3695,2751)
+(3702,2731)
+(3705,2727)
+(3706,2721)
+(3710,2720)
+(3720,2707)
+(3725,2708)
+(3734,2700)
+(3735,2692)
+(3739,2686)
+(3741,2680)
+(3741,2657)
+(3743,2650)
+(3744,2637)
+(3749,2633)
+(3756,2618)
+(3769,2583)
+(3774,2561)
+(3776,2559)
+(3781,2558)
+(3783,2553)
+(3784,2548)
+(3784,2538)
+(3786,2526)
+(3793,2522)
+(3797,2525)
+(3807,2513)
+(3815,2515)
+(3820,2503)
+(3819,2494)
+(3825,2486)
+(3827,2487)
+(3831,2498)
+(3834,2498)
+(3841,2507)
+(3844,2505)
+(3848,2506)
+(3849,2516)
+(3857,2511)
+(3861,2491)
+(3863,2467)
+(3869,2452)
+(3871,2443)
+(3874,2436)
+(3874,2432)
+47
+(3720,2708)
+(3722,2704)
+(3726,2706)
+(3732,2700)
+(3734,2690)
+(3738,2685)
+(3739,2682)
+(3741,2676)
+(3740,2667)
+(3740,2658)
+(3742,2648)
+(3744,2635)
+(3750,2628)
+(3755,2618)
+(3766,2585)
+(3774,2558)
+(3776,2556)
+(3781,2555)
+(3783,2549)
+(3783,2536)
+(3786,2522)
+(3794,2520)
+(3798,2523)
+(3807,2510)
+(3814,2513)
+(3816,2505)
+(3818,2503)
+(3819,2491)
+(3822,2489)
+(3825,2483)
+(3828,2486)
+(3832,2497)
+(3835,2496)
+(3837,2500)
+(3841,2504)
+(3843,2501)
+(3848,2503)
+(3850,2505)
+(3850,2512)
+(3856,2510)
+(3858,2505)
+(3858,2495)
+(3860,2487)
+(3861,2471)
+(3862,2463)
+(3867,2453)
+(3872,2432)
+195
+(3732,3566)
+(3734,3564)
+(3732,3562)
+(3721,3556)
+(3720,3554)
+(3720,3548)
+(3722,3537)
+(3722,3533)
+(3718,3525)
+(3720,3522)
+(3724,3508)
+(3725,3499)
+(3722,3492)
+(3720,3490)
+(3719,3482)
+(3716,3475)
+(3713,3476)
+(3708,3472)
+(3708,3466)
+(3709,3464)
+(3708,3462)
+(3702,3447)
+(3702,3442)
+(3701,3439)
+(3703,3435)
+(3701,3430)
+(3704,3425)
+(3703,3421)
+(3704,3418)
+(3705,3417)
+(3707,3423)
+(3709,3417)
+(3707,3412)
+(3708,3410)
+(3712,3411)
+(3714,3409)
+(3716,3409)
+(3721,3407)
+(3722,3405)
+(3725,3404)
+(3726,3397)
+(3727,3395)
+(3730,3400)
+(3733,3400)
+(3736,3405)
+(3738,3403)
+(3747,3404)
+(3755,3401)
+(3756,3399)
+(3758,3389)
+(3762,3384)
+(3762,3376)
+(3764,3371)
+(3770,3374)
+(3774,3372)
+(3778,3367)
+(3782,3366)
+(3784,3357)
+(3787,3359)
+(3790,3353)
+(3793,3352)
+(3794,3355)
+(3793,3360)
+(3791,3366)
+(3792,3370)
+(3795,3372)
+(3796,3379)
+(3799,3381)
+(3799,3384)
+(3798,3386)
+(3798,3387)
+(3805,3386)
+(3806,3388)
+(3805,3390)
+(3804,3392)
+(3806,3395)
+(3808,3393)
+(3810,3385)
+(3811,3385)
+(3816,3396)
+(3820,3401)
+(3828,3404)
+(3831,3411)
+(3833,3421)
+(3831,3428)
+(3831,3435)
+(3835,3439)
+(3835,3452)
+(3837,3452)
+(3840,3449)
+(3843,3458)
+(3845,3460)
+(3847,3457)
+(3848,3451)
+(3849,3460)
+(3851,3457)
+(3852,3449)
+(3853,3448)
+(3856,3458)
+(3860,3458)
+(3859,3464)
+(3860,3465)
+(3863,3462)
+(3864,3467)
+(3865,3468)
+(3869,3462)
+(3870,3470)
+(3875,3467)
+(3881,3473)
+(3886,3474)
+(3888,3474)
+(3889,3472)
+(3892,3459)
+(3896,3457)
+(3898,3450)
+(3901,3448)
+(3902,3435)
+(3906,3437)
+(3908,3436)
+(3906,3428)
+(3908,3422)
+(3909,3420)
+(3913,3423)
+(3916,3421)
+(3924,3421)
+(3931,3424)
+(3934,3421)
+(3938,3411)
+(3941,3410)
+(3943,3403)
+(3945,3402)
+(3958,3415)
+(3963,3404)
+(3969,3399)
+(3973,3392)
+(3979,3386)
+(3980,3381)
+(3980,3372)
+(3979,3348)
+(3975,3332)
+(3970,3320)
+(3968,3310)
+(3965,3308)
+(3955,3306)
+(3949,3293)
+(3944,3288)
+(3942,3283)
+(3941,3271)
+(3929,3258)
+(3928,3244)
+(3927,3235)
+(3927,3222)
+(3920,3201)
+(3922,3182)
+(3921,3173)
+(3924,3158)
+(3925,3138)
+(3926,3130)
+(3928,3129)
+(3945,3135)
+(3950,3140)
+(3959,3157)
+(3965,3152)
+(3977,3151)
+(3982,3148)
+(3984,3148)
+(3988,3154)
+(3993,3150)
+(3997,3151)
+(4004,3142)
+(4007,3144)
+(4011,3143)
+(4026,3147)
+(4027,3145)
+(4030,3136)
+(4032,3133)
+(4035,3135)
+(4037,3130)
+(4040,3129)
+(4046,3137)
+(4048,3135)
+(4048,3130)
+(4051,3130)
+(4054,3128)
+(4061,3154)
+(4059,3161)
+(4059,3178)
+(4061,3188)
+(4065,3193)
+(4067,3199)
+(4072,3202)
+(4074,3221)
+(4081,3243)
+(4089,3251)
+(4092,3253)
+66
+(3923,3421)
+(3932,3422)
+(3937,3409)
+(3940,3408)
+(3943,3401)
+(3944,3400)
+(3958,3410)
+(3964,3398)
+(3967,3397)
+(3972,3389)
+(3978,3385)
+(3979,3378)
+(3978,3348)
+(3974,3332)
+(3970,3325)
+(3967,3313)
+(3964,3310)
+(3958,3309)
+(3954,3307)
+(3949,3297)
+(3943,3290)
+(3940,3272)
+(3929,3260)
+(3927,3257)
+(3926,3223)
+(3919,3203)
+(3921,3187)
+(3920,3180)
+(3919,3173)
+(3922,3160)
+(3925,3130)
+(3926,3126)
+(3934,3127)
+(3949,3134)
+(3952,3137)
+(3957,3151)
+(3959,3153)
+(3964,3148)
+(3970,3150)
+(3983,3145)
+(3985,3146)
+(3988,3150)
+(3992,3146)
+(3997,3148)
+(4004,3138)
+(4017,3142)
+(4023,3140)
+(4026,3143)
+(4027,3141)
+(4029,3134)
+(4035,3131)
+(4037,3127)
+(4042,3126)
+(4046,3135)
+(4048,3126)
+(4051,3128)
+(4055,3126)
+(4057,3132)
+(4062,3154)
+(4061,3162)
+(4061,3180)
+(4062,3187)
+(4072,3200)
+(4077,3225)
+(4082,3238)
+(4093,3251)
+11
+(4062,3155)
+(4065,3165)
+(4069,3185)
+(4075,3197)
+(4077,3195)
+(4077,3185)
+(4079,3181)
+(4082,3183)
+(4085,3182)
+(4090,3193)
+(4095,3194)
+143
+(2987,5196)
+(2986,5195)
+(2982,5189)
+(2980,5188)
+(2978,5185)
+(2977,5181)
+(2978,5171)
+(2975,5162)
+(2976,5144)
+(2980,5142)
+(2982,5138)
+(2984,5137)
+(2987,5133)
+(2989,5130)
+(2993,5129)
+(2995,5130)
+(2997,5126)
+(3011,5129)
+(3016,5137)
+(3016,5143)
+(3012,5155)
+(3011,5161)
+(3007,5165)
+(3008,5170)
+(3008,5175)
+(3010,5179)
+(3009,5183)
+(3010,5186)
+(3009,5190)
+(3009,5196)
+(3011,5199)
+(3016,5204)
+(3024,5201)
+(3025,5198)
+(3029,5200)
+(3030,5196)
+(3033,5196)
+(3036,5192)
+(3039,5193)
+(3042,5190)
+(3046,5193)
+(3046,5189)
+(3048,5190)
+(3050,5186)
+(3052,5185)
+(3053,5180)
+(3060,5176)
+(3062,5173)
+(3064,5173)
+(3065,5171)
+(3069,5172)
+(3069,5169)
+(3071,5166)
+(3073,5166)
+(3079,5163)
+(3082,5163)
+(3083,5160)
+(3089,5160)
+(3092,5155)
+(3094,5155)
+(3094,5152)
+(3097,5148)
+(3100,5146)
+(3101,5148)
+(3105,5144)
+(3108,5146)
+(3109,5147)
+(3111,5145)
+(3114,5152)
+(3118,5150)
+(3121,5154)
+(3123,5156)
+(3135,5150)
+(3139,5150)
+(3144,5146)
+(3145,5141)
+(3145,5130)
+(3147,5126)
+(3148,5119)
+(3147,5110)
+(3145,5108)
+(3145,5102)
+(3146,5104)
+(3147,5094)
+(3145,5089)
+(3145,5066)
+(3143,5061)
+(3142,5055)
+(3139,5046)
+(3140,5044)
+(3141,5032)
+(3142,5029)
+(3142,5025)
+(3143,5024)
+(3150,5021)
+(3163,5020)
+(3167,5022)
+(3173,5018)
+(3179,5018)
+(3186,5022)
+(3185,5024)
+(3186,5026)
+(3186,5031)
+(3190,5029)
+(3191,5032)
+(3192,5029)
+(3195,5027)
+(3200,5029)
+(3204,5030)
+(3205,5025)
+(3207,5023)
+(3205,5018)
+(3206,5014)
+(3206,5009)
+(3206,5003)
+(3212,4991)
+(3211,4989)
+(3208,4987)
+(3208,4982)
+(3206,4978)
+(3206,4972)
+(3205,4967)
+(3205,4964)
+(3205,4958)
+(3208,4949)
+(3211,4945)
+(3212,4943)
+(3216,4943)
+(3218,4940)
+(3218,4937)
+(3219,4936)
+(3219,4933)
+(3221,4933)
+(3223,4931)
+(3222,4926)
+(3223,4926)
+(3224,4926)
+(3224,4913)
+(3228,4909)
+(3227,4907)
+(3226,4887)
+(3229,4882)
+(3233,4880)
+361
+(3291,4981)
+(3297,4983)
+(3303,4970)
+(3305,4969)
+(3308,4970)
+(3312,4974)
+(3315,4973)
+(3317,4974)
+(3321,4971)
+(3324,4972)
+(3326,4974)
+(3327,4978)
+(3325,4987)
+(3326,4993)
+(3330,4999)
+(3330,5005)
+(3333,5012)
+(3337,5019)
+(3342,5019)
+(3345,5022)
+(3347,5027)
+(3352,5032)
+(3358,5031)
+(3362,5034)
+(3365,5033)
+(3367,5037)
+(3372,5042)
+(3377,5041)
+(3380,5045)
+(3383,5043)
+(3389,5045)
+(3391,5049)
+(3399,5055)
+(3403,5062)
+(3406,5065)
+(3414,5067)
+(3420,5064)
+(3424,5066)
+(3427,5069)
+(3429,5067)
+(3429,5062)
+(3433,5064)
+(3435,5062)
+(3436,5057)
+(3436,5051)
+(3438,5046)
+(3437,5042)
+(3439,5042)
+(3441,5038)
+(3448,5037)
+(3450,5033)
+(3454,5033)
+(3457,5028)
+(3462,5032)
+(3464,5032)
+(3465,5028)
+(3464,5025)
+(3462,5021)
+(3464,5009)
+(3470,5004)
+(3471,4999)
+(3475,5001)
+(3482,4994)
+(3487,4994)
+(3488,4990)
+(3488,4985)
+(3490,4977)
+(3494,4975)
+(3496,4980)
+(3498,4980)
+(3499,4971)
+(3499,4965)
+(3498,4961)
+(3498,4959)
+(3500,4958)
+(3503,4954)
+(3501,4947)
+(3503,4946)
+(3505,4948)
+(3507,4939)
+(3510,4936)
+(3511,4932)
+(3513,4933)
+(3515,4930)
+(3516,4915)
+(3521,4915)
+(3522,4908)
+(3525,4904)
+(3525,4902)
+(3522,4901)
+(3524,4897)
+(3524,4892)
+(3526,4899)
+(3529,4899)
+(3530,4897)
+(3532,4891)
+(3534,4892)
+(3536,4892)
+(3537,4889)
+(3537,4886)
+(3540,4886)
+(3543,4879)
+(3547,4875)
+(3548,4864)
+(3547,4861)
+(3545,4861)
+(3545,4859)
+(3545,4852)
+(3547,4850)
+(3548,4845)
+(3550,4843)
+(3550,4837)
+(3554,4836)
+(3554,4832)
+(3556,4834)
+(3560,4831)
+(3561,4826)
+(3560,4821)
+(3559,4818)
+(3557,4815)
+(3559,4808)
+(3560,4807)
+(3561,4813)
+(3563,4813)
+(3565,4806)
+(3567,4804)
+(3565,4798)
+(3567,4790)
+(3566,4785)
+(3564,4781)
+(3567,4780)
+(3572,4771)
+(3572,4768)
+(3571,4765)
+(3571,4761)
+(3575,4758)
+(3577,4754)
+(3582,4749)
+(3587,4752)
+(3592,4742)
+(3598,4737)
+(3600,4742)
+(3602,4743)
+(3604,4737)
+(3605,4731)
+(3607,4735)
+(3608,4735)
+(3609,4724)
+(3613,4715)
+(3613,4710)
+(3615,4711)
+(3618,4708)
+(3618,4704)
+(3617,4699)
+(3621,4705)
+(3624,4702)
+(3626,4694)
+(3624,4685)
+(3624,4683)
+(3626,4676)
+(3629,4671)
+(3631,4666)
+(3637,4664)
+(3642,4654)
+(3642,4650)
+(3639,4644)
+(3639,4641)
+(3644,4630)
+(3644,4621)
+(3647,4614)
+(3647,4610)
+(3651,4608)
+(3651,4602)
+(3656,4597)
+(3656,4592)
+(3653,4586)
+(3657,4578)
+(3657,4572)
+(3660,4571)
+(3662,4562)
+(3662,4555)
+(3664,4551)
+(3661,4543)
+(3660,4539)
+(3664,4531)
+(3667,4529)
+(3667,4518)
+(3670,4512)
+(3667,4508)
+(3667,4505)
+(3670,4498)
+(3670,4488)
+(3673,4483)
+(3672,4476)
+(3673,4473)
+(3674,4467)
+(3673,4465)
+(3669,4465)
+(3670,4463)
+(3673,4461)
+(3674,4458)
+(3672,4452)
+(3671,4445)
+(3672,4434)
+(3675,4429)
+(3671,4420)
+(3674,4415)
+(3675,4412)
+(3673,4403)
+(3675,4395)
+(3675,4383)
+(3674,4377)
+(3676,4370)
+(3673,4356)
+(3678,4350)
+(3679,4338)
+(3678,4334)
+(3675,4328)
+(3677,4302)
+(3674,4294)
+(3675,4286)
+(3672,4275)
+(3672,4273)
+(3676,4270)
+(3677,4260)
+(3679,4257)
+(3676,4249)
+(3677,4234)
+(3679,4227)
+(3677,4221)
+(3677,4214)
+(3674,4209)
+(3674,4197)
+(3676,4193)
+(3677,4186)
+(3677,4180)
+(3676,4176)
+(3678,4170)
+(3677,4165)
+(3675,4163)
+(3674,4157)
+(3672,4155)
+(3674,4148)
+(3672,4141)
+(3673,4137)
+(3672,4135)
+(3670,4131)
+(3666,4127)
+(3666,4114)
+(3671,4106)
+(3672,4099)
+(3673,4098)
+(3676,4099)
+(3681,4104)
+(3687,4102)
+(3690,4094)
+(3695,4086)
+(3699,4070)
+(3699,4063)
+(3700,4059)
+(3703,4055)
+(3710,4055)
+(3714,4047)
+(3723,4043)
+(3727,4040)
+(3732,4031)
+(3734,4025)
+(3736,4013)
+(3737,3994)
+(3738,3992)
+(3742,3990)
+(3746,3983)
+(3749,3965)
+(3749,3957)
+(3755,3945)
+(3761,3939)
+(3766,3927)
+(3768,3924)
+(3772,3923)
+(3775,3917)
+(3778,3907)
+(3780,3905)
+(3781,3906)
+(3785,3912)
+(3792,3914)
+(3794,3916)
+(3796,3920)
+(3799,3930)
+(3802,3934)
+(3804,3935)
+(3807,3929)
+(3809,3941)
+(3812,3949)
+(3815,3948)
+(3817,3946)
+(3822,3948)
+(3825,3943)
+(3825,3952)
+(3826,3955)
+(3832,3947)
+(3835,3950)
+(3837,3948)
+(3840,3950)
+(3843,3948)
+(3844,3953)
+(3846,3954)
+(3847,3961)
+(3849,3965)
+(3851,3961)
+(3855,3961)
+(3856,3954)
+(3860,3959)
+(3862,3955)
+(3869,3951)
+(3874,3939)
+(3875,3940)
+(3877,3947)
+(3878,3947)
+(3882,3933)
+(3884,3930)
+(3889,3934)
+(3893,3932)
+(3897,3940)
+(3901,3941)
+(3902,3940)
+(3903,3934)
+(3902,3921)
+(3905,3916)
+(3914,3920)
+(3920,3927)
+(3925,3937)
+(3935,3940)
+(3939,3944)
+(3942,3943)
+(3951,3953)
+(3957,3953)
+(3964,3955)
+(3966,3954)
+(3968,3946)
+(3972,3953)
+(3976,3969)
+(3980,3976)
+(3986,3982)
+(3990,3991)
+(3996,3990)
+(3997,3992)
+(3997,4000)
+(3991,4025)
+(3992,4030)
+(3998,4040)
+(3997,4047)
+(3994,4057)
+(3993,4071)
+(3990,4078)
+(3989,4083)
+(3991,4096)
+(3996,4110)
+(4003,4119)
+(4006,4125)
+(4006,4128)
+(4007,4140)
+722
+(3377,5041)
+(3378,5040)
+(3380,5044)
+(3384,5041)
+(3391,5044)
+(3392,5047)
+(3401,5054)
+(3404,5061)
+(3408,5064)
+(3414,5065)
+(3419,5062)
+(3425,5064)
+(3427,5067)
+(3428,5060)
+(3432,5062)
+(3434,5061)
+(3435,5055)
+(3435,5050)
+(3437,5047)
+(3436,5040)
+(3439,5039)
+(3440,5035)
+(3447,5036)
+(3450,5030)
+(3453,5031)
+(3456,5026)
+(3463,5030)
+(3464,5028)
+(3463,5025)
+(3461,5022)
+(3464,5005)
+(3469,5002)
+(3471,4997)
+(3475,4999)
+(3482,4991)
+(3486,4990)
+(3489,4977)
+(3492,4973)
+(3495,4973)
+(3496,4977)
+(3498,4977)
+(3498,4964)
+(3496,4960)
+(3498,4957)
+(3500,4956)
+(3502,4953)
+(3500,4945)
+(3503,4944)
+(3505,4945)
+(3506,4938)
+(3509,4935)
+(3510,4930)
+(3513,4929)
+(3514,4927)
+(3514,4914)
+(3517,4912)
+(3520,4913)
+(3520,4907)
+(3524,4904)
+(3523,4902)
+(3520,4901)
+(3523,4889)
+(3525,4889)
+(3526,4892)
+(3527,4898)
+(3528,4898)
+(3531,4889)
+(3535,4890)
+(3535,4886)
+(3537,4884)
+(3540,4884)
+(3541,4878)
+(3546,4873)
+(3547,4865)
+(3547,4864)
+(3544,4863)
+(3544,4861)
+(3544,4851)
+(3545,4849)
+(3546,4848)
+(3547,4843)
+(3548,4841)
+(3549,4842)
+(3549,4835)
+(3552,4835)
+(3552,4831)
+(3554,4828)
+(3556,4831)
+(3559,4829)
+(3559,4822)
+(3555,4816)
+(3559,4804)
+(3561,4804)
+(3562,4809)
+(3565,4803)
+(3564,4798)
+(3566,4788)
+(3565,4785)
+(3563,4782)
+(3563,4779)
+(3566,4777)
+(3570,4771)
+(3570,4768)
+(3569,4767)
+(3570,4759)
+(3574,4756)
+(3576,4752)
+(3581,4746)
+(3587,4749)
+(3591,4739)
+(3598,4734)
+(3599,4734)
+(3602,4739)
+(3603,4731)
+(3605,4728)
+(3607,4732)
+(3607,4724)
+(3612,4714)
+(3612,4708)
+(3613,4707)
+(3616,4709)
+(3617,4706)
+(3615,4698)
+(3618,4697)
+(3621,4702)
+(3623,4702)
+(3625,4693)
+(3623,4686)
+(3623,4683)
+(3626,4673)
+(3628,4670)
+(3629,4664)
+(3634,4661)
+(3636,4661)
+(3640,4653)
+(3640,4650)
+(3637,4644)
+(3639,4636)
+(3643,4630)
+(3642,4620)
+(3645,4615)
+(3646,4609)
+(3649,4607)
+(3650,4600)
+(3655,4595)
+(3652,4584)
+(3655,4577)
+(3656,4571)
+(3656,4569)
+(3658,4569)
+(3659,4567)
+(3661,4560)
+(3660,4555)
+(3662,4551)
+(3659,4543)
+(3659,4539)
+(3662,4531)
+(3665,4527)
+(3666,4518)
+(3668,4513)
+(3666,4508)
+(3666,4505)
+(3668,4498)
+(3669,4487)
+(3671,4481)
+(3670,4476)
+(3672,4468)
+(3671,4467)
+(3669,4468)
+(3668,4466)
+(3669,4461)
+(3672,4457)
+(3670,4450)
+(3669,4445)
+(3671,4434)
+(3673,4429)
+(3670,4423)
+(3670,4420)
+(3673,4411)
+(3672,4402)
+(3673,4394)
+(3673,4388)
+(3674,4383)
+(3673,4377)
+(3674,4369)
+(3672,4358)
+(3673,4353)
+(3676,4348)
+(3678,4338)
+(3674,4331)
+(3674,4318)
+(3675,4314)
+(3674,4309)
+(3675,4303)
+(3674,4300)
+(3673,4292)
+(3673,4286)
+(3670,4276)
+(3671,4271)
+(3674,4270)
+(3675,4266)
+(3677,4256)
+(3675,4250)
+(3675,4230)
+(3677,4227)
+(3676,4222)
+(3675,4215)
+(3673,4213)
+(3673,4208)
+(3673,4194)
+(3675,4191)
+(3676,4184)
+(3674,4176)
+(3677,4169)
+(3674,4165)
+(3673,4160)
+(3671,4158)
+(3670,4155)
+(3673,4147)
+(3671,4137)
+(3667,4134)
+(3666,4138)
+(3664,4139)
+(3661,4140)
+(3660,4143)
+(3658,4159)
+(3657,4163)
+(3657,4168)
+(3653,4171)
+(3651,4175)
+(3642,4181)
+(3641,4191)
+(3639,4193)
+(3635,4190)
+(3631,4186)
+(3626,4190)
+(3621,4186)
+(3621,4191)
+(3614,4194)
+(3613,4192)
+(3613,4189)
+(3612,4189)
+(3607,4182)
+(3606,4183)
+(3608,4186)
+(3607,4189)
+(3604,4192)
+(3601,4196)
+(3598,4195)
+(3596,4196)
+(3594,4192)
+(3589,4197)
+(3588,4195)
+(3590,4189)
+(3589,4187)
+(3586,4187)
+(3584,4186)
+(3585,4174)
+(3579,4168)
+(3578,4159)
+(3573,4159)
+(3572,4154)
+(3573,4146)
+(3570,4147)
+(3566,4143)
+(3566,4140)
+(3566,4134)
+(3565,4137)
+(3563,4138)
+(3560,4134)
+(3557,4132)
+(3555,4129)
+(3550,4130)
+(3551,4134)
+(3550,4136)
+(3550,4137)
+(3548,4136)
+(3546,4131)
+(3541,4135)
+(3539,4132)
+(3541,4127)
+(3541,4126)
+(3537,4133)
+(3536,4133)
+(3535,4131)
+(3535,4126)
+(3534,4125)
+(3533,4128)
+(3532,4128)
+(3531,4122)
+(3529,4127)
+(3526,4126)
+(3524,4121)
+(3526,4116)
+(3518,4114)
+(3517,4118)
+(3514,4116)
+(3511,4119)
+(3510,4119)
+(3509,4112)
+(3510,4105)
+(3508,4105)
+(3507,4101)
+(3504,4102)
+(3501,4100)
+(3500,4098)
+(3499,4090)
+(3497,4094)
+(3494,4095)
+(3490,4093)
+(3489,4096)
+(3490,4099)
+(3489,4103)
+(3487,4107)
+(3489,4109)
+(3489,4112)
+(3485,4120)
+(3485,4124)
+(3484,4124)
+(3483,4126)
+(3481,4125)
+(3480,4127)
+(3483,4134)
+(3482,4136)
+(3480,4135)
+(3480,4140)
+(3479,4141)
+(3481,4145)
+(3483,4150)
+(3479,4155)
+(3480,4159)
+(3479,4162)
+(3482,4163)
+(3482,4169)
+(3479,4169)
+(3478,4177)
+(3477,4182)
+(3477,4184)
+(3479,4184)
+(3479,4193)
+(3481,4196)
+(3479,4200)
+(3480,4203)
+(3479,4207)
+(3477,4208)
+(3479,4215)
+(3476,4218)
+(3477,4224)
+(3477,4226)
+(3476,4226)
+(3475,4223)
+(3475,4223)
+(3472,4225)
+(3470,4225)
+(3470,4227)
+(3472,4230)
+(3470,4235)
+(3468,4236)
+(3471,4238)
+(3470,4240)
+(3469,4242)
+(3467,4243)
+(3467,4247)
+(3465,4249)
+(3465,4252)
+(3467,4253)
+(3467,4258)
+(3467,4260)
+(3465,4257)
+(3464,4260)
+(3465,4266)
+(3462,4268)
+(3461,4272)
+(3464,4279)
+(3464,4282)
+(3462,4284)
+(3461,4291)
+(3458,4290)
+(3458,4291)
+(3460,4300)
+(3459,4302)
+(3457,4301)
+(3457,4302)
+(3458,4306)
+(3458,4309)
+(3457,4310)
+(3456,4307)
+(3455,4308)
+(3454,4318)
+(3455,4321)
+(3453,4323)
+(3453,4330)
+(3454,4332)
+(3455,4342)
+(3452,4342)
+(3450,4345)
+(3451,4347)
+(3453,4346)
+(3452,4350)
+(3449,4353)
+(3450,4356)
+(3448,4362)
+(3448,4365)
+(3447,4369)
+(3445,4371)
+(3449,4376)
+(3445,4377)
+(3446,4380)
+(3445,4386)
+(3443,4387)
+(3444,4390)
+(3441,4391)
+(3441,4395)
+(3441,4398)
+(3438,4401)
+(3439,4406)
+(3436,4405)
+(3437,4410)
+(3436,4414)
+(3436,4421)
+(3434,4422)
+(3434,4417)
+(3433,4424)
+(3430,4429)
+(3430,4435)
+(3431,4439)
+(3430,4443)
+(3428,4448)
+(3427,4450)
+(3423,4446)
+(3422,4446)
+(3421,4452)
+(3418,4454)
+(3419,4457)
+(3418,4460)
+(3418,4464)
+(3417,4465)
+(3416,4461)
+(3415,4461)
+(3415,4468)
+(3414,4471)
+(3409,4474)
+(3407,4473)
+(3404,4477)
+(3403,4476)
+(3404,4473)
+(3404,4471)
+(3402,4473)
+(3401,4477)
+(3397,4475)
+(3396,4476)
+(3396,4481)
+(3393,4479)
+(3392,4483)
+(3386,4481)
+(3384,4482)
+(3384,4487)
+(3384,4487)
+(3381,4482)
+(3379,4487)
+(3376,4487)
+(3375,4485)
+(3376,4484)
+(3379,4482)
+(3378,4479)
+(3375,4481)
+(3373,4480)
+(3372,4482)
+(3370,4483)
+(3369,4482)
+(3369,4478)
+(3368,4477)
+(3367,4479)
+(3367,4485)
+(3366,4487)
+(3357,4479)
+(3354,4475)
+(3350,4467)
+(3344,4461)
+(3343,4452)
+(3344,4444)
+(3343,4439)
+(3342,4434)
+(3339,4431)
+(3336,4418)
+(3334,4410)
+(3332,4408)
+(3329,4407)
+(3327,4398)
+(3321,4390)
+(3320,4384)
+(3319,4381)
+(3314,4379)
+(3315,4387)
+(3315,4389)
+(3314,4391)
+(3311,4392)
+(3308,4388)
+(3304,4388)
+(3301,4392)
+(3301,4399)
+(3299,4402)
+(3297,4402)
+(3292,4398)
+(3290,4399)
+(3291,4407)
+(3290,4410)
+(3287,4414)
+(3283,4418)
+(3279,4434)
+(3274,4444)
+(3273,4456)
+(3269,4463)
+(3266,4465)
+(3264,4474)
+(3263,4477)
+(3254,4482)
+(3248,4489)
+(3246,4495)
+(3242,4495)
+(3241,4496)
+(3240,4494)
+(3239,4497)
+(3239,4502)
+(3236,4505)
+(3232,4503)
+(3228,4503)
+(3225,4501)
+(3221,4507)
+(3218,4509)
+(3217,4508)
+(3217,4511)
+(3216,4510)
+(3215,4515)
+(3212,4517)
+(3211,4521)
+(3208,4526)
+(3205,4530)
+(3203,4528)
+(3202,4532)
+(3200,4529)
+(3199,4529)
+(3199,4534)
+(3197,4533)
+(3196,4534)
+(3195,4539)
+(3192,4542)
+(3190,4547)
+(3187,4547)
+(3184,4552)
+(3183,4552)
+(3181,4559)
+(3182,4560)
+(3182,4562)
+(3183,4563)
+(3183,4566)
+(3182,4566)
+(3181,4567)
+(3180,4574)
+(3174,4576)
+(3175,4580)
+(3174,4581)
+(3172,4583)
+(3174,4584)
+(3174,4587)
+(3172,4587)
+(3172,4590)
+(3170,4587)
+(3169,4588)
+(3170,4591)
+(3169,4593)
+(3166,4596)
+(3165,4599)
+(3163,4599)
+(3160,4602)
+(3157,4599)
+(3157,4602)
+(3155,4601)
+(3155,4606)
+(3152,4607)
+(3150,4606)
+(3149,4608)
+(3146,4608)
+(3146,4605)
+(3144,4607)
+(3143,4606)
+(3142,4608)
+(3141,4609)
+(3140,4613)
+(3137,4616)
+(3134,4615)
+(3133,4617)
+(3132,4616)
+(3131,4617)
+(3129,4617)
+(3128,4619)
+(3127,4617)
+(3123,4617)
+(3123,4622)
+(3119,4624)
+(3118,4626)
+(3118,4628)
+(3116,4631)
+(3116,4633)
+(3114,4641)
+(3111,4644)
+(3110,4647)
+(3106,4648)
+(3105,4646)
+(3103,4647)
+(3100,4645)
+(3096,4646)
+(3094,4649)
+(3093,4649)
+(3092,4655)
+(3090,4657)
+(3091,4660)
+(3089,4662)
+(3088,4666)
+(3081,4674)
+(3076,4684)
+(3073,4684)
+(3071,4682)
+(3070,4683)
+(3070,4685)
+(3069,4686)
+(3067,4684)
+(3067,4688)
+(3066,4688)
+(3065,4686)
+(3063,4688)
+(3061,4688)
+(3060,4692)
+(3058,4693)
+(3053,4697)
+(3052,4700)
+(3051,4703)
+(3050,4709)
+(3046,4713)
+(3045,4715)
+(3045,4718)
+(3041,4723)
+(3038,4729)
+(3038,4738)
+(3036,4742)
+(3037,4744)
+(3037,4743)
+(3038,4744)
+(3038,4748)
+(3041,4747)
+(3041,4748)
+(3040,4754)
+(3038,4755)
+(3038,4760)
+(3039,4761)
+(3038,4763)
+(3036,4767)
+(3036,4770)
+(3034,4772)
+(3033,4777)
+(3031,4777)
+(3032,4780)
+(3030,4782)
+(3031,4785)
+(3028,4788)
+(3028,4795)
+(3029,4798)
+(3028,4800)
+(3030,4805)
+(3028,4807)
+(3027,4813)
+(3025,4814)
+(3022,4817)
+(3021,4829)
+(3022,4833)
+(3023,4838)
+(3022,4842)
+(3022,4845)
+(3021,4846)
+(3022,4856)
+(3024,4860)
+(3023,4862)
+(3024,4865)
+(3022,4870)
+(3020,4874)
+(3020,4877)
+(3019,4880)
+(3020,4889)
+(3019,4893)
+(3014,4902)
+(3016,4905)
+(3012,4909)
+(3011,4912)
+(3013,4914)
+(3013,4917)
+(3013,4921)
+(3012,4925)
+(3013,4928)
+(3012,4929)
+(3014,4933)
+(3013,4935)
+(3009,4936)
+(3007,4939)
+(3005,4939)
+(3003,4941)
+(3002,4948)
+(2997,4955)
+(2996,4961)
+(2994,4962)
+(2995,4965)
+(2994,4968)
+(2992,4974)
+(2988,4978)
+(2986,4978)
+(2986,4979)
+(2983,4978)
+(2983,4982)
+(2981,4983)
+(2981,4987)
+(2980,4995)
+(2981,5001)
+(2979,5002)
+81
+(2889,5319)
+(2880,5318)
+(2877,5321)
+(2874,5319)
+(2871,5319)
+(2870,5318)
+(2870,5316)
+(2867,5315)
+(2866,5319)
+(2863,5321)
+(2857,5322)
+(2855,5324)
+(2849,5337)
+(2850,5338)
+(2841,5343)
+(2839,5342)
+(2836,5342)
+(2827,5334)
+(2828,5333)
+(2828,5330)
+(2832,5320)
+(2836,5295)
+(2838,5286)
+(2838,5279)
+(2841,5273)
+(2841,5270)
+(2846,5260)
+(2848,5243)
+(2850,5241)
+(2851,5241)
+(2855,5238)
+(2854,5235)
+(2855,5230)
+(2854,5229)
+(2855,5223)
+(2856,5219)
+(2858,5217)
+(2860,5217)
+(2863,5208)
+(2869,5202)
+(2870,5195)
+(2872,5194)
+(2873,5190)
+(2871,5187)
+(2872,5184)
+(2870,5183)
+(2872,5180)
+(2871,5179)
+(2872,5176)
+(2870,5176)
+(2873,5167)
+(2875,5166)
+(2875,5161)
+(2878,5158)
+(2877,5153)
+(2878,5152)
+(2878,5150)
+(2879,5146)
+(2878,5143)
+(2880,5142)
+(2880,5140)
+(2878,5133)
+(2881,5132)
+(2881,5130)
+(2880,5129)
+(2881,5126)
+(2879,5122)
+(2880,5120)
+(2879,5119)
+(2880,5114)
+(2880,5111)
+(2878,5109)
+(2877,5105)
+(2877,5103)
+(2875,5100)
+(2874,5093)
+(2868,5087)
+(2865,5075)
+(2863,5072)
+(2863,5066)
+(2864,5061)
+210
+(3490,4093)
+(3491,4092)
+(3496,4093)
+(3499,4088)
+(3500,4088)
+(3502,4098)
+(3504,4100)
+(3508,4100)
+(3511,4103)
+(3510,4112)
+(3511,4117)
+(3513,4113)
+(3516,4116)
+(3518,4113)
+(3525,4115)
+(3528,4113)
+(3528,4118)
+(3525,4122)
+(3528,4125)
+(3529,4125)
+(3530,4120)
+(3531,4120)
+(3532,4126)
+(3533,4122)
+(3534,4121)
+(3537,4126)
+(3536,4131)
+(3537,4132)
+(3539,4124)
+(3541,4123)
+(3543,4124)
+(3542,4128)
+(3540,4131)
+(3541,4133)
+(3546,4129)
+(3550,4134)
+(3549,4129)
+(3550,4128)
+(3554,4129)
+(3556,4127)
+(3558,4131)
+(3561,4132)
+(3563,4136)
+(3564,4136)
+(3567,4132)
+(3568,4142)
+(3570,4145)
+(3573,4144)
+(3574,4145)
+(3574,4157)
+(3578,4156)
+(3581,4167)
+(3586,4173)
+(3585,4185)
+(3591,4186)
+(3590,4195)
+(3595,4189)
+(3597,4194)
+(3602,4194)
+(3606,4187)
+(3605,4183)
+(3605,4180)
+(3606,4179)
+(3609,4180)
+(3613,4186)
+(3614,4186)
+(3615,4192)
+(3619,4190)
+(3620,4185)
+(3622,4184)
+(3623,4184)
+(3626,4187)
+(3632,4184)
+(3639,4190)
+(3640,4183)
+(3641,4178)
+(3645,4177)
+(3648,4173)
+(3650,4173)
+(3652,4168)
+(3656,4166)
+(3655,4164)
+(3656,4161)
+(3657,4159)
+(3656,4153)
+(3659,4148)
+(3659,4142)
+(3661,4138)
+(3664,4137)
+(3665,4136)
+(3664,4129)
+(3664,4112)
+(3668,4106)
+(3670,4098)
+(3674,4094)
+(3678,4095)
+(3683,4101)
+(3685,4100)
+(3689,4093)
+(3692,4080)
+(3696,4073)
+(3697,4067)
+(3697,4061)
+(3701,4053)
+(3704,4051)
+(3709,4052)
+(3714,4044)
+(3723,4039)
+(3729,4032)
+(3731,4027)
+(3734,4014)
+(3734,4004)
+(3736,3999)
+(3736,3991)
+(3742,3987)
+(3745,3981)
+(3748,3954)
+(3752,3947)
+(3761,3935)
+(3765,3924)
+(3772,3918)
+(3774,3914)
+(3775,3909)
+(3780,3901)
+(3782,3903)
+(3785,3909)
+(3792,3910)
+(3796,3913)
+(3799,3924)
+(3801,3929)
+(3805,3930)
+(3808,3925)
+(3809,3933)
+(3811,3936)
+(3811,3941)
+(3813,3945)
+(3818,3942)
+(3822,3944)
+(3826,3939)
+(3827,3941)
+(3827,3951)
+(3832,3944)
+(3835,3948)
+(3837,3945)
+(3839,3947)
+(3844,3946)
+(3845,3948)
+(3845,3951)
+(3847,3950)
+(3848,3953)
+(3848,3961)
+(3853,3958)
+(3855,3949)
+(3860,3955)
+(3862,3951)
+(3867,3949)
+(3869,3944)
+(3875,3935)
+(3876,3937)
+(3877,3943)
+(3878,3944)
+(3882,3930)
+(3884,3927)
+(3889,3931)
+(3894,3928)
+(3898,3938)
+(3901,3938)
+(3901,3935)
+(3900,3927)
+(3901,3918)
+(3905,3912)
+(3915,3916)
+(3918,3922)
+(3921,3925)
+(3925,3934)
+(3935,3935)
+(3942,3939)
+(3951,3949)
+(3963,3952)
+(3965,3948)
+(3967,3940)
+(3968,3939)
+(3973,3951)
+(3981,3971)
+(3985,3974)
+(3990,3983)
+(3997,3987)
+(3999,3991)
+(3999,4000)
+(3994,4024)
+(3995,4031)
+(3998,4035)
+(3999,4038)
+(3999,4048)
+(3996,4055)
+(3995,4074)
+(3992,4084)
+(3992,4091)
+(3998,4107)
+(4001,4112)
+(3999,4100)
+(4000,4096)
+(4001,4097)
+(4003,4105)
+(4005,4105)
+(4005,4114)
+(4006,4112)
+(4006,4118)
+(4008,4124)
+(4008,4138)
+54
+(3781,3902)
+(3785,3895)
+(3788,3894)
+(3792,3900)
+(3799,3898)
+(3803,3903)
+(3805,3912)
+(3807,3915)
+(3811,3911)
+(3814,3912)
+(3818,3909)
+(3821,3910)
+(3822,3913)
+(3822,3920)
+(3824,3920)
+(3826,3918)
+(3831,3919)
+(3832,3924)
+(3835,3931)
+(3842,3936)
+(3848,3933)
+(3850,3933)
+(3853,3927)
+(3857,3930)
+(3859,3924)
+(3863,3925)
+(3865,3920)
+(3868,3924)
+(3872,3924)
+(3874,3921)
+(3877,3915)
+(3879,3913)
+(3885,3914)
+(3890,3910)
+(3893,3914)
+(3896,3908)
+(3897,3903)
+(3899,3898)
+(3903,3899)
+(3905,3893)
+(3913,3889)
+(3916,3884)
+(3921,3883)
+(3925,3884)
+(3930,3879)
+(3934,3887)
+(3939,3890)
+(3944,3900)
+(3950,3906)
+(3952,3911)
+(3955,3927)
+(3958,3927)
+(3964,3936)
+(3967,3939)
+142
+(3151,5924)
+(3148,5920)
+(3147,5917)
+(3140,5916)
+(3138,5899)
+(3134,5890)
+(3132,5878)
+(3128,5875)
+(3127,5869)
+(3128,5860)
+(3130,5855)
+(3130,5848)
+(3128,5831)
+(3130,5829)
+(3130,5825)
+(3130,5816)
+(3129,5812)
+(3130,5797)
+(3132,5792)
+(3134,5793)
+(3134,5792)
+(3135,5791)
+(3136,5789)
+(3136,5782)
+(3135,5780)
+(3136,5776)
+(3135,5771)
+(3135,5765)
+(3137,5762)
+(3138,5766)
+(3145,5769)
+(3150,5765)
+(3152,5765)
+(3155,5760)
+(3157,5760)
+(3162,5750)
+(3162,5741)
+(3158,5727)
+(3152,5723)
+(3151,5720)
+(3152,5707)
+(3151,5702)
+(3150,5700)
+(3149,5694)
+(3147,5686)
+(3144,5686)
+(3143,5683)
+(3141,5683)
+(3139,5679)
+(3140,5676)
+(3140,5673)
+(3139,5673)
+(3139,5676)
+(3137,5676)
+(3132,5671)
+(3128,5662)
+(3126,5663)
+(3124,5662)
+(3123,5664)
+(3121,5664)
+(3121,5670)
+(3118,5669)
+(3115,5664)
+(3114,5666)
+(3112,5666)
+(3109,5670)
+(3104,5668)
+(3101,5658)
+(3099,5655)
+(3095,5648)
+(3094,5638)
+(3094,5634)
+(3096,5628)
+(3096,5619)
+(3094,5614)
+(3094,5609)
+(3096,5599)
+(3095,5594)
+(3096,5582)
+(3096,5579)
+(3094,5575)
+(3095,5572)
+(3094,5568)
+(3094,5564)
+(3096,5559)
+(3097,5558)
+(3098,5550)
+(3103,5541)
+(3103,5535)
+(3104,5533)
+(3106,5532)
+(3107,5529)
+(3110,5529)
+(3114,5522)
+(3116,5519)
+(3118,5519)
+(3120,5520)
+(3123,5528)
+(3129,5540)
+(3141,5548)
+(3142,5548)
+(3149,5538)
+(3151,5538)
+(3154,5540)
+(3156,5538)
+(3157,5533)
+(3156,5531)
+(3154,5526)
+(3157,5516)
+(3155,5511)
+(3155,5507)
+(3156,5504)
+(3158,5503)
+(3159,5507)
+(3161,5504)
+(3162,5500)
+(3161,5498)
+(3159,5488)
+(3161,5484)
+(3164,5479)
+(3167,5480)
+(3170,5482)
+(3171,5486)
+(3173,5486)
+(3174,5489)
+(3178,5491)
+(3180,5490)
+(3186,5486)
+(3189,5488)
+(3189,5490)
+(3189,5497)
+(3191,5504)
+(3198,5511)
+(3203,5518)
+(3207,5514)
+(3208,5509)
+(3212,5506)
+(3213,5499)
+(3217,5497)
+(3218,5493)
+(3222,5496)
+(3223,5491)
+236
+(3330,5545)
+(3338,5550)
+(3344,5548)
+(3346,5540)
+(3350,5535)
+(3353,5535)
+(3357,5539)
+(3358,5544)
+(3357,5549)
+(3359,5567)
+(3362,5579)
+(3365,5584)
+(3363,5589)
+(3366,5591)
+(3369,5590)
+(3372,5605)
+(3377,5605)
+(3379,5610)
+(3379,5615)
+(3383,5616)
+(3385,5622)
+(3389,5621)
+(3392,5627)
+(3396,5626)
+(3398,5625)
+(3400,5620)
+(3405,5616)
+(3407,5617)
+(3409,5610)
+(3410,5608)
+(3413,5607)
+(3420,5603)
+(3422,5603)
+(3425,5608)
+(3430,5606)
+(3433,5607)
+(3436,5605)
+(3438,5597)
+(3442,5594)
+(3446,5595)
+(3449,5594)
+(3452,5599)
+(3454,5599)
+(3458,5596)
+(3472,5594)
+(3477,5589)
+(3481,5590)
+(3481,5588)
+(3481,5582)
+(3482,5579)
+(3483,5578)
+(3486,5579)
+(3488,5575)
+(3489,5570)
+(3488,5566)
+(3488,5562)
+(3490,5554)
+(3494,5551)
+(3496,5546)
+(3500,5546)
+(3504,5536)
+(3507,5538)
+(3508,5534)
+(3508,5529)
+(3509,5528)
+(3511,5525)
+(3517,5523)
+(3522,5524)
+(3524,5517)
+(3525,5518)
+(3527,5525)
+(3529,5524)
+(3534,5516)
+(3533,5503)
+(3534,5502)
+(3538,5505)
+(3544,5500)
+(3546,5491)
+(3550,5486)
+(3551,5481)
+(3556,5480)
+(3558,5479)
+(3563,5467)
+(3568,5462)
+(3574,5452)
+(3577,5451)
+(3581,5453)
+(3585,5447)
+(3587,5447)
+(3589,5449)
+(3593,5442)
+(3602,5437)
+(3614,5421)
+(3620,5403)
+(3621,5404)
+(3621,5410)
+(3622,5411)
+(3628,5402)
+(3632,5402)
+(3637,5399)
+(3642,5400)
+(3647,5395)
+(3649,5389)
+(3654,5385)
+(3672,5377)
+(3683,5382)
+(3687,5396)
+(3688,5407)
+(3692,5412)
+(3694,5412)
+(3697,5402)
+(3694,5391)
+(3695,5386)
+(3698,5386)
+(3703,5388)
+(3706,5382)
+(3709,5373)
+(3709,5367)
+(3714,5357)
+(3731,5347)
+(3737,5340)
+(3745,5340)
+(3749,5328)
+(3757,5314)
+(3764,5306)
+(3767,5308)
+(3770,5306)
+(3775,5291)
+(3785,5282)
+(3790,5271)
+(3793,5261)
+(3796,5252)
+(3800,5238)
+(3802,5233)
+(3805,5233)
+(3810,5240)
+(3815,5241)
+(3823,5239)
+(3837,5256)
+(3839,5256)
+(3845,5250)
+(3862,5254)
+(3870,5248)
+(3878,5250)
+(3882,5256)
+(3884,5261)
+(3891,5266)
+(3898,5266)
+(3905,5272)
+(3912,5271)
+(3920,5276)
+(3929,5276)
+(3936,5281)
+(3942,5281)
+(3945,5278)
+(3946,5266)
+(3956,5261)
+(3957,5264)
+(3958,5274)
+(3961,5275)
+(3964,5273)
+(3967,5238)
+(3970,5233)
+(3973,5231)
+(3976,5232)
+(3979,5247)
+(3981,5249)
+(3982,5249)
+(3984,5237)
+(3995,5212)
+(3996,5204)
+(3995,5199)
+(3992,5185)
+(3993,5175)
+(3995,5173)
+(4003,5181)
+(4005,5196)
+(4007,5201)
+(4009,5202)
+(4017,5196)
+(4026,5197)
+(4034,5189)
+(4040,5192)
+(4044,5191)
+(4045,5190)
+(4045,5185)
+(4046,5182)
+(4052,5178)
+(4056,5172)
+(4068,5180)
+(4072,5190)
+(4073,5191)
+(4075,5191)
+(4077,5184)
+(4082,5177)
+(4087,5182)
+(4093,5193)
+(4095,5194)
+(4098,5191)
+(4099,5185)
+(4101,5181)
+(4105,5177)
+(4108,5175)
+(4113,5178)
+(4122,5172)
+(4124,5164)
+(4130,5151)
+(4133,5149)
+(4136,5149)
+(4142,5161)
+(4146,5164)
+(4149,5162)
+(4153,5145)
+(4157,5143)
+(4160,5147)
+(4164,5161)
+(4167,5163)
+(4176,5143)
+(4179,5126)
+(4184,5119)
+(4186,5108)
+(4185,5097)
+(4181,5083)
+(4174,5065)
+(4174,5053)
+(4176,5048)
+(4182,5042)
+(4184,5036)
+(4184,5015)
+(4185,5009)
+(4192,4999)
+(4191,5003)
+(4193,5006)
+(4201,5000)
+(4203,4993)
+(4204,4985)
+115
+(4205,4991)
+(4204,5005)
+(4201,5010)
+(4198,5013)
+(4196,5019)
+(4192,5023)
+(4190,5034)
+(4187,5035)
+(4183,5047)
+(4182,5062)
+(4179,5067)
+(4187,5088)
+(4189,5119)
+(4188,5128)
+(4184,5141)
+(4177,5148)
+(4172,5157)
+(4167,5172)
+(4163,5169)
+(4160,5162)
+(4157,5161)
+(4154,5156)
+(4149,5167)
+(4147,5169)
+(4143,5168)
+(4132,5159)
+(4127,5164)
+(4122,5176)
+(4119,5181)
+(4114,5184)
+(4106,5182)
+(4102,5186)
+(4099,5195)
+(4095,5198)
+(4090,5193)
+(4086,5187)
+(4084,5186)
+(4077,5191)
+(4072,5198)
+(4070,5194)
+(4067,5185)
+(4061,5179)
+(4056,5177)
+(4051,5184)
+(4048,5184)
+(4049,5196)
+(4048,5200)
+(4046,5201)
+(4044,5200)
+(4037,5203)
+(4032,5200)
+(4029,5205)
+(4026,5206)
+(4022,5204)
+(4019,5206)
+(4014,5203)
+(4007,5207)
+(4004,5205)
+(3997,5180)
+(3995,5180)
+(3994,5185)
+(3995,5190)
+(3998,5200)
+(3998,5209)
+(3996,5218)
+(3994,5221)
+(3990,5231)
+(3989,5234)
+(3986,5237)
+(3983,5252)
+(3981,5254)
+(3977,5254)
+(3975,5251)
+(3972,5240)
+(3970,5239)
+(3968,5244)
+(3967,5254)
+(3967,5272)
+(3965,5279)
+(3959,5280)
+(3951,5270)
+(3948,5273)
+(3948,5281)
+(3951,5289)
+(3950,5295)
+(3949,5299)
+(3956,5309)
+(3957,5314)
+(3958,5332)
+(3958,5342)
+(3955,5350)
+(3954,5355)
+(3948,5366)
+(3946,5379)
+(3940,5399)
+(3936,5403)
+(3927,5399)
+(3917,5400)
+(3913,5403)
+(3907,5401)
+(3903,5413)
+(3897,5419)
+(3894,5419)
+(3888,5427)
+(3887,5435)
+(3884,5449)
+(3875,5457)
+(3873,5470)
+(3870,5477)
+(3868,5483)
+(3869,5491)
+(3868,5504)
+(3866,5510)
+(3865,5518)
+(3863,5524)
+74
+(3863,5525)
+(3864,5520)
+(3865,5511)
+(3867,5504)
+(3868,5484)
+(3869,5476)
+(3873,5463)
+(3875,5455)
+(3882,5448)
+(3884,5444)
+(3886,5435)
+(3886,5424)
+(3892,5416)
+(3898,5415)
+(3902,5410)
+(3904,5408)
+(3905,5401)
+(3907,5398)
+(3910,5399)
+(3917,5396)
+(3926,5396)
+(3932,5399)
+(3937,5399)
+(3941,5390)
+(3941,5384)
+(3944,5379)
+(3945,5369)
+(3947,5363)
+(3952,5355)
+(3954,5347)
+(3956,5342)
+(3957,5333)
+(3955,5315)
+(3952,5307)
+(3948,5302)
+(3950,5293)
+(3948,5289)
+(3947,5281)
+(3946,5284)
+(3940,5286)
+(3933,5284)
+(3925,5280)
+(3918,5280)
+(3913,5275)
+(3908,5277)
+(3898,5270)
+(3888,5270)
+(3883,5266)
+(3880,5258)
+(3866,5254)
+(3862,5257)
+(3858,5257)
+(3845,5253)
+(3839,5259)
+(3836,5258)
+(3830,5252)
+(3822,5242)
+(3821,5241)
+(3817,5245)
+(3809,5242)
+(3804,5236)
+(3802,5236)
+(3797,5258)
+(3792,5273)
+(3785,5287)
+(3776,5292)
+(3772,5306)
+(3768,5310)
+(3765,5309)
+(3757,5317)
+(3750,5328)
+(3747,5341)
+(3744,5343)
+(3742,5341)
+111
+(3377,6108)
+(3379,6110)
+(3385,6108)
+(3392,6109)
+(3399,6109)
+(3401,6107)
+(3402,6103)
+(3404,6102)
+(3408,6095)
+(3409,6091)
+(3408,6085)
+(3408,6083)
+(3410,6082)
+(3416,6083)
+(3418,6084)
+(3419,6093)
+(3421,6101)
+(3420,6104)
+(3417,6107)
+(3417,6114)
+(3414,6123)
+(3414,6140)
+(3416,6140)
+(3418,6139)
+(3420,6142)
+(3424,6141)
+(3430,6142)
+(3433,6141)
+(3441,6140)
+(3445,6143)
+(3451,6143)
+(3455,6146)
+(3460,6155)
+(3465,6158)
+(3468,6162)
+(3476,6160)
+(3479,6161)
+(3486,6167)
+(3492,6171)
+(3505,6171)
+(3524,6157)
+(3527,6154)
+(3536,6131)
+(3537,6101)
+(3536,6083)
+(3536,6069)
+(3535,6060)
+(3533,6058)
+(3527,6058)
+(3524,6051)
+(3521,6037)
+(3517,6027)
+(3514,6025)
+(3506,6028)
+(3504,6025)
+(3500,6023)
+(3499,6018)
+(3500,6011)
+(3501,6001)
+(3505,6001)
+(3506,5996)
+(3510,5990)
+(3511,5984)
+(3512,5971)
+(3520,5957)
+(3522,5944)
+(3519,5936)
+(3518,5928)
+(3516,5922)
+(3514,5920)
+(3510,5920)
+(3508,5917)
+(3506,5910)
+(3506,5901)
+(3504,5895)
+(3504,5871)
+(3502,5863)
+(3503,5842)
+(3505,5835)
+(3504,5826)
+(3502,5823)
+(3502,5820)
+(3502,5814)
+(3504,5811)
+(3507,5811)
+(3508,5808)
+(3512,5787)
+(3510,5776)
+(3509,5770)
+(3511,5765)
+(3511,5753)
+(3509,5747)
+(3510,5742)
+(3506,5732)
+(3504,5724)
+(3502,5723)
+(3500,5723)
+(3499,5717)
+(3497,5714)
+(3495,5707)
+(3488,5692)
+(3487,5688)
+(3488,5678)
+(3485,5667)
+(3488,5647)
+(3485,5636)
+(3485,5633)
+(3490,5600)
+(3487,5591)
+(3484,5587)
+(3485,5579)
+20
+(3134,6260)
+(3136,6257)
+(3138,6258)
+(3141,6257)
+(3144,6248)
+(3149,6243)
+(3150,6239)
+(3153,6239)
+(3155,6237)
+(3158,6236)
+(3161,6232)
+(3162,6228)
+(3166,6223)
+(3169,6224)
+(3175,6221)
+(3178,6214)
+(3179,6206)
+(3180,6204)
+(3183,6202)
+(3186,6202)
+30
+(4287,5974)
+(4289,5972)
+(4291,5965)
+(4293,5965)
+(4294,5968)
+(4295,5980)
+(4299,5991)
+(4302,6006)
+(4303,6031)
+(4306,6042)
+(4307,6088)
+(4309,6093)
+(4311,6095)
+(4313,6113)
+(4316,6122)
+(4319,6128)
+(4320,6144)
+(4324,6155)
+(4329,6158)
+(4337,6179)
+(4343,6183)
+(4346,6202)
+(4346,6220)
+(4349,6246)
+(4351,6250)
+(4353,6249)
+(4356,6252)
+(4359,6273)
+(4365,6285)
+(4367,6304)
+47
+(4366,6304)
+(4364,6288)
+(4359,6278)
+(4356,6267)
+(4355,6255)
+(4350,6254)
+(4348,6247)
+(4347,6235)
+(4345,6225)
+(4345,6203)
+(4342,6188)
+(4337,6185)
+(4328,6162)
+(4324,6158)
+(4320,6151)
+(4319,6147)
+(4318,6131)
+(4317,6128)
+(4309,6133)
+(4306,6145)
+(4303,6144)
+(4301,6150)
+(4298,6155)
+(4294,6174)
+(4292,6179)
+(4293,6169)
+(4295,6164)
+(4297,6154)
+(4300,6149)
+(4302,6142)
+(4306,6141)
+(4308,6129)
+(4312,6126)
+(4314,6122)
+(4312,6117)
+(4311,6097)
+(4307,6091)
+(4306,6084)
+(4305,6045)
+(4303,6034)
+(4301,6006)
+(4295,5982)
+(4294,5971)
+(4293,5967)
+(4292,5967)
+(4289,5974)
+(4287,5973)
+33
+(4373,7234)
+(4373,7247)
+(4372,7253)
+(4368,7259)
+(4367,7263)
+(4369,7281)
+(4368,7292)
+(4362,7304)
+(4360,7312)
+(4355,7315)
+(4350,7338)
+(4344,7352)
+(4339,7372)
+(4335,7390)
+(4329,7406)
+(4326,7422)
+(4323,7426)
+(4314,7417)
+(4313,7421)
+(4310,7422)
+(4308,7428)
+(4306,7429)
+(4302,7418)
+(4299,7417)
+(4297,7410)
+(4294,7401)
+(4292,7387)
+(4282,7369)
+(4278,7358)
+(4274,7361)
+(4271,7351)
+(4264,7352)
+(4262,7349)
+33
+(4262,7349)
+(4271,7349)
+(4272,7351)
+(4274,7358)
+(4276,7357)
+(4277,7353)
+(4278,7354)
+(4283,7367)
+(4294,7387)
+(4295,7400)
+(4298,7407)
+(4299,7412)
+(4300,7415)
+(4303,7416)
+(4306,7426)
+(4308,7419)
+(4313,7414)
+(4322,7423)
+(4325,7417)
+(4328,7403)
+(4335,7385)
+(4339,7362)
+(4344,7346)
+(4349,7334)
+(4354,7315)
+(4359,7303)
+(4367,7289)
+(4367,7278)
+(4365,7268)
+(4366,7258)
+(4367,7256)
+(4371,7249)
+(4372,7233)
+439
+(3959,6211)
+(3961,6217)
+(3960,6224)
+(3959,6226)
+(3957,6228)
+(3953,6240)
+(3950,6239)
+(3948,6246)
+(3945,6247)
+(3945,6258)
+(3943,6265)
+(3942,6273)
+(3938,6284)
+(3939,6304)
+(3941,6308)
+(3942,6315)
+(3944,6315)
+(3946,6323)
+(3946,6328)
+(3944,6334)
+(3944,6338)
+(3942,6337)
+(3939,6341)
+(3936,6349)
+(3934,6354)
+(3931,6356)
+(3927,6355)
+(3924,6360)
+(3925,6360)
+(3926,6364)
+(3927,6367)
+(3926,6370)
+(3926,6377)
+(3925,6378)
+(3924,6388)
+(3927,6390)
+(3929,6405)
+(3930,6408)
+(3933,6405)
+(3935,6412)
+(3935,6419)
+(3936,6422)
+(3937,6433)
+(3938,6435)
+(3937,6446)
+(3938,6455)
+(3936,6460)
+(3935,6468)
+(3931,6471)
+(3928,6469)
+(3927,6474)
+(3925,6471)
+(3922,6475)
+(3917,6479)
+(3917,6483)
+(3919,6484)
+(3920,6492)
+(3920,6498)
+(3918,6503)
+(3915,6506)
+(3915,6515)
+(3913,6515)
+(3912,6519)
+(3910,6517)
+(3909,6523)
+(3907,6525)
+(3905,6531)
+(3905,6535)
+(3908,6536)
+(3909,6542)
+(3907,6551)
+(3901,6555)
+(3901,6561)
+(3899,6564)
+(3898,6570)
+(3895,6571)
+(3892,6566)
+(3891,6567)
+(3887,6559)
+(3884,6561)
+(3881,6559)
+(3879,6566)
+(3878,6576)
+(3877,6578)
+(3876,6578)
+(3874,6571)
+(3872,6572)
+(3872,6566)
+(3870,6560)
+(3868,6561)
+(3863,6566)
+(3859,6561)
+(3859,6546)
+(3855,6547)
+(3852,6543)
+(3848,6544)
+(3848,6553)
+(3851,6561)
+(3849,6572)
+(3847,6576)
+(3845,6574)
+(3844,6565)
+(3843,6563)
+(3840,6563)
+(3837,6568)
+(3835,6567)
+(3833,6574)
+(3831,6574)
+(3829,6569)
+(3824,6568)
+(3820,6554)
+(3817,6550)
+(3817,6560)
+(3813,6561)
+(3812,6564)
+(3810,6567)
+(3809,6574)
+(3806,6575)
+(3809,6579)
+(3806,6584)
+(3808,6589)
+(3805,6593)
+(3809,6607)
+(3808,6616)
+(3804,6619)
+(3799,6627)
+(3795,6624)
+(3791,6623)
+(3789,6628)
+(3792,6638)
+(3791,6640)
+(3789,6644)
+(3788,6643)
+(3786,6632)
+(3781,6635)
+(3783,6640)
+(3781,6643)
+(3777,6650)
+(3777,6656)
+(3775,6658)
+(3774,6661)
+(3775,6666)
+(3780,6662)
+(3783,6668)
+(3785,6680)
+(3784,6688)
+(3786,6695)
+(3789,6695)
+(3790,6697)
+(3793,6698)
+(3795,6705)
+(3791,6714)
+(3788,6712)
+(3785,6713)
+(3783,6711)
+(3782,6705)
+(3779,6701)
+(3778,6701)
+(3774,6707)
+(3774,6712)
+(3772,6714)
+(3770,6721)
+(3770,6725)
+(3772,6734)
+(3776,6736)
+(3780,6733)
+(3782,6737)
+(3782,6741)
+(3783,6740)
+(3783,6741)
+(3783,6744)
+(3780,6751)
+(3779,6758)
+(3776,6765)
+(3777,6770)
+(3780,6766)
+(3783,6768)
+(3784,6773)
+(3783,6779)
+(3781,6778)
+(3780,6779)
+(3779,6791)
+(3778,6793)
+(3772,6795)
+(3769,6800)
+(3770,6804)
+(3774,6807)
+(3777,6802)
+(3778,6804)
+(3780,6803)
+(3780,6795)
+(3782,6797)
+(3783,6799)
+(3784,6811)
+(3785,6811)
+(3786,6807)
+(3788,6813)
+(3792,6818)
+(3794,6825)
+(3793,6834)
+(3790,6836)
+(3792,6841)
+(3792,6845)
+(3788,6849)
+(3787,6854)
+(3790,6865)
+(3790,6872)
+(3791,6875)
+(3791,6880)
+(3790,6881)
+(3786,6877)
+(3784,6880)
+(3781,6883)
+(3779,6894)
+(3780,6898)
+(3781,6899)
+(3783,6900)
+(3783,6904)
+(3781,6911)
+(3780,6914)
+(3777,6918)
+(3770,6912)
+(3769,6914)
+(3769,6921)
+(3767,6923)
+(3763,6918)
+(3758,6921)
+(3757,6927)
+(3754,6934)
+(3756,6942)
+(3755,6947)
+(3751,6946)
+(3749,6943)
+(3746,6947)
+(3743,6943)
+(3742,6944)
+(3741,6953)
+(3739,6959)
+(3738,6967)
+(3735,6971)
+(3731,6967)
+(3729,6967)
+(3728,6971)
+(3725,6976)
+(3724,6984)
+(3720,6986)
+(3721,6990)
+(3720,6995)
+(3720,6999)
+(3718,6999)
+(3719,7007)
+(3718,7018)
+(3717,7023)
+(3716,7032)
+(3716,7035)
+(3718,7037)
+(3720,7040)
+(3720,7047)
+(3723,7047)
+(3724,7051)
+(3726,7053)
+(3726,7055)
+(3725,7058)
+(3725,7060)
+(3728,7059)
+(3731,7064)
+(3732,7064)
+(3736,7057)
+(3737,7058)
+(3740,7051)
+(3742,7052)
+(3745,7051)
+(3748,7054)
+(3752,7045)
+(3758,7047)
+(3762,7045)
+(3766,7050)
+(3770,7047)
+(3773,7050)
+(3787,7055)
+(3791,7058)
+(3793,7066)
+(3795,7070)
+(3796,7085)
+(3795,7091)
+(3795,7094)
+(3797,7098)
+(3797,7115)
+(3800,7124)
+(3801,7134)
+(3804,7136)
+(3806,7130)
+(3809,7133)
+(3808,7141)
+(3809,7145)
+(3811,7153)
+(3811,7167)
+(3815,7187)
+(3814,7205)
+(3809,7221)
+(3808,7225)
+(3810,7229)
+(3814,7226)
+(3819,7228)
+(3818,7237)
+(3819,7244)
+(3821,7244)
+(3823,7250)
+(3825,7253)
+(3823,7263)
+(3825,7264)
+(3828,7269)
+(3827,7287)
+(3828,7295)
+(3828,7297)
+(3829,7303)
+(3832,7308)
+(3833,7318)
+(3833,7324)
+(3833,7343)
+(3834,7351)
+(3834,7361)
+(3836,7372)
+(3836,7376)
+(3834,7380)
+(3834,7388)
+(3835,7391)
+(3838,7394)
+(3839,7401)
+(3842,7406)
+(3846,7420)
+(3846,7429)
+(3843,7437)
+(3844,7456)
+(3843,7462)
+(3842,7469)
+(3842,7476)
+(3841,7479)
+(3838,7478)
+(3838,7487)
+(3836,7491)
+(3835,7500)
+(3833,7506)
+(3832,7513)
+(3835,7523)
+(3835,7531)
+(3836,7536)
+(3836,7547)
+(3838,7553)
+(3840,7559)
+(3845,7566)
+(3846,7570)
+(3853,7580)
+(3854,7583)
+(3856,7584)
+(3864,7582)
+(3866,7573)
+(3865,7563)
+(3868,7552)
+(3873,7544)
+(3876,7529)
+(3878,7526)
+(3883,7527)
+(3888,7520)
+(3895,7502)
+(3895,7499)
+(3895,7491)
+(3896,7486)
+(3898,7481)
+(3902,7476)
+(3905,7468)
+(3908,7463)
+(3915,7460)
+(3924,7460)
+(3930,7451)
+(3934,7451)
+(3941,7457)
+(3948,7456)
+(3951,7452)
+(3958,7435)
+(3969,7424)
+(3986,7419)
+(3990,7420)
+(3993,7416)
+(3994,7411)
+(4000,7410)
+(4008,7403)
+(4013,7400)
+(4019,7401)
+(4025,7396)
+(4031,7396)
+(4039,7386)
+(4046,7384)
+(4050,7378)
+(4053,7378)
+(4066,7385)
+(4076,7388)
+(4085,7387)
+(4090,7396)
+(4090,7402)
+(4094,7415)
+(4104,7428)
+(4115,7432)
+(4118,7432)
+(4124,7436)
+(4130,7435)
+(4134,7437)
+(4142,7437)
+(4144,7442)
+(4149,7447)
+(4160,7473)
+(4164,7481)
+(4168,7481)
+(4171,7487)
+(4183,7499)
+(4189,7501)
+(4195,7506)
+(4197,7520)
+(4203,7535)
+(4208,7553)
+(4215,7560)
+(4222,7542)
+(4224,7542)
+(4228,7545)
+(4230,7549)
+(4232,7557)
+(4233,7584)
+(4232,7612)
+(4234,7620)
+(4240,7628)
+(4245,7641)
+(4248,7653)
+(4250,7653)
+(4252,7645)
+(4254,7644)
+(4262,7649)
+(4267,7638)
+(4270,7633)
+(4284,7633)
+40
+(3384,7428)
+(3388,7423)
+(3389,7407)
+(3392,7402)
+(3393,7396)
+(3392,7386)
+(3394,7382)
+(3399,7384)
+(3406,7390)
+(3407,7389)
+(3410,7391)
+(3412,7388)
+(3413,7391)
+(3414,7390)
+(3416,7392)
+(3419,7391)
+(3424,7396)
+(3425,7399)
+(3427,7401)
+(3428,7402)
+(3430,7401)
+(3432,7407)
+(3437,7413)
+(3439,7411)
+(3441,7415)
+(3444,7416)
+(3446,7415)
+(3447,7418)
+(3448,7418)
+(3451,7411)
+(3452,7411)
+(3452,7413)
+(3455,7409)
+(3460,7416)
+(3458,7422)
+(3458,7424)
+(3464,7431)
+(3470,7426)
+(3473,7425)
+(3475,7422)
+347
+(3481,7423)
+(3486,7425)
+(3488,7432)
+(3490,7437)
+(3493,7437)
+(3495,7441)
+(3496,7438)
+(3499,7441)
+(3498,7446)
+(3499,7448)
+(3500,7451)
+(3502,7452)
+(3503,7449)
+(3504,7449)
+(3502,7455)
+(3503,7459)
+(3505,7460)
+(3506,7458)
+(3508,7458)
+(3509,7461)
+(3510,7464)
+(3512,7463)
+(3522,7471)
+(3523,7474)
+(3525,7479)
+(3524,7484)
+(3529,7487)
+(3528,7496)
+(3531,7501)
+(3533,7501)
+(3535,7507)
+(3536,7509)
+(3539,7508)
+(3541,7511)
+(3542,7513)
+(3541,7519)
+(3551,7520)
+(3555,7517)
+(3556,7518)
+(3556,7526)
+(3554,7533)
+(3552,7539)
+(3546,7546)
+(3545,7554)
+(3542,7560)
+(3541,7566)
+(3539,7573)
+(3538,7576)
+(3536,7577)
+(3534,7586)
+(3531,7593)
+(3530,7604)
+(3529,7607)
+(3527,7616)
+(3523,7624)
+(3524,7629)
+(3529,7635)
+(3529,7639)
+(3527,7646)
+(3529,7651)
+(3531,7657)
+(3530,7661)
+(3528,7662)
+(3527,7668)
+(3523,7667)
+(3521,7672)
+(3522,7678)
+(3527,7687)
+(3528,7690)
+(3527,7693)
+(3523,7698)
+(3523,7702)
+(3525,7704)
+(3530,7699)
+(3531,7700)
+(3528,7710)
+(3523,7712)
+(3521,7713)
+(3520,7718)
+(3519,7720)
+(3513,7724)
+(3511,7732)
+(3512,7737)
+(3509,7749)
+(3509,7752)
+(3513,7756)
+(3513,7763)
+(3512,7771)
+(3508,7782)
+(3509,7790)
+(3513,7795)
+(3514,7800)
+(3519,7807)
+(3519,7813)
+(3516,7818)
+(3516,7833)
+(3520,7837)
+(3529,7834)
+(3532,7840)
+(3535,7860)
+(3537,7866)
+(3536,7872)
+(3532,7875)
+(3535,7879)
+(3537,7879)
+(3538,7880)
+(3536,7888)
+(3536,7891)
+(3539,7894)
+(3538,7901)
+(3539,7904)
+(3540,7905)
+(3541,7911)
+(3544,7914)
+(3546,7918)
+(3550,7916)
+(3551,7917)
+(3551,7922)
+(3548,7925)
+(3547,7928)
+(3551,7933)
+(3554,7944)
+(3558,7947)
+(3556,7955)
+(3558,7956)
+(3561,7959)
+(3562,7962)
+(3562,7978)
+(3563,7981)
+(3569,7986)
+(3578,7987)
+(3579,8001)
+(3583,8004)
+(3586,8013)
+(3591,8016)
+(3595,8024)
+(3601,8029)
+(3604,8035)
+(3609,8039)
+(3613,8046)
+(3616,8055)
+(3627,8075)
+(3628,8080)
+(3627,8086)
+(3621,8098)
+(3622,8106)
+(3627,8110)
+(3632,8106)
+(3636,8096)
+(3643,8097)
+(3646,8107)
+(3649,8109)
+(3652,8121)
+(3658,8122)
+(3662,8127)
+(3665,8129)
+(3669,8133)
+(3674,8131)
+(3675,8128)
+(3678,8127)
+(3681,8132)
+(3683,8132)
+(3685,8129)
+(3685,8122)
+(3686,8121)
+(3690,8123)
+(3693,8132)
+(3697,8133)
+(3699,8131)
+(3698,8125)
+(3698,8120)
+(3704,8112)
+(3707,8116)
+(3707,8129)
+(3710,8134)
+(3713,8132)
+(3717,8133)
+(3721,8144)
+(3724,8147)
+(3725,8146)
+(3727,8141)
+(3730,8140)
+(3732,8142)
+(3732,8150)
+(3736,8154)
+(3738,8154)
+(3741,8151)
+(3744,8142)
+(3752,8138)
+(3757,8133)
+(3759,8134)
+(3760,8133)
+(3761,8129)
+(3761,8122)
+(3760,8120)
+(3757,8116)
+(3757,8113)
+(3759,8110)
+(3759,8103)
+(3760,8099)
+(3759,8095)
+(3759,8092)
+(3760,8088)
+(3763,8082)
+(3764,8076)
+(3766,8075)
+(3769,8069)
+(3769,8063)
+(3770,8059)
+(3772,8057)
+(3773,8051)
+(3779,8054)
+(3779,8052)
+(3780,8042)
+(3782,8038)
+(3784,8038)
+(3788,8043)
+(3790,8040)
+(3790,8023)
+(3785,8011)
+(3784,8006)
+(3784,7997)
+(3789,7988)
+(3794,7996)
+(3798,7994)
+(3802,7997)
+(3804,7994)
+(3803,7975)
+(3801,7956)
+(3801,7945)
+(3797,7931)
+(3802,7908)
+(3802,7898)
+(3805,7888)
+(3805,7877)
+(3799,7867)
+(3798,7859)
+(3798,7849)
+(3801,7841)
+(3802,7818)
+(3803,7815)
+(3805,7803)
+(3806,7796)
+(3806,7782)
+(3814,7752)
+(3815,7742)
+(3815,7737)
+(3812,7731)
+(3811,7726)
+(3811,7711)
+(3814,7697)
+(3815,7693)
+(3824,7685)
+(3828,7668)
+(3833,7661)
+(3834,7651)
+(3835,7648)
+(3840,7641)
+(3847,7622)
+(3854,7614)
+(3858,7602)
+(3866,7584)
+(3868,7569)
+(3874,7563)
+(3876,7555)
+(3878,7548)
+(3878,7538)
+(3879,7533)
+(3880,7531)
+(3884,7532)
+(3888,7530)
+(3894,7515)
+(3897,7499)
+(3898,7494)
+(3904,7490)
+(3910,7480)
+(3914,7471)
+(3918,7469)
+(3919,7465)
+(3927,7464)
+(3929,7458)
+(3931,7457)
+(3942,7461)
+(3949,7460)
+(3952,7456)
+(3960,7451)
+(3965,7441)
+(3967,7443)
+(3971,7439)
+(3979,7436)
+(3983,7431)
+(3987,7431)
+(3999,7414)
+(4003,7413)
+(4007,7415)
+(4013,7407)
+(4015,7412)
+(4018,7414)
+(4025,7412)
+(4037,7393)
+(4046,7389)
+(4051,7382)
+(4062,7388)
+(4073,7388)
+(4079,7391)
+(4082,7398)
+(4085,7401)
+(4089,7412)
+(4091,7420)
+(4092,7422)
+(4096,7425)
+(4102,7432)
+(4119,7437)
+(4122,7440)
+(4126,7439)
+(4141,7444)
+(4146,7448)
+(4156,7471)
+(4163,7483)
+(4166,7492)
+(4171,7492)
+(4180,7505)
+(4183,7504)
+(4193,7509)
+(4195,7515)
+(4195,7527)
+(4199,7542)
+(4204,7553)
+(4215,7568)
+(4217,7570)
+(4218,7569)
+(4221,7555)
+(4223,7549)
+(4227,7551)
+(4231,7562)
+(4231,7611)
+(4231,7618)
+(4241,7637)
+(4248,7657)
+(4250,7657)
+(4254,7648)
+(4261,7655)
+(4263,7655)
+(4270,7639)
+(4273,7636)
+(4279,7635)
+(4284,7638)
+368
+(3240,6474)
+(3240,6478)
+(3241,6483)
+(3244,6490)
+(3246,6491)
+(3249,6488)
+(3253,6486)
+(3255,6483)
+(3254,6477)
+(3255,6472)
+(3256,6468)
+(3256,6462)
+(3254,6455)
+(3252,6454)
+(3249,6448)
+(3244,6447)
+(3239,6435)
+(3239,6431)
+(3232,6430)
+(3230,6422)
+(3230,6420)
+(3231,6418)
+(3233,6414)
+(3232,6408)
+(3232,6400)
+(3230,6385)
+(3232,6380)
+(3231,6365)
+(3233,6355)
+(3234,6354)
+(3237,6354)
+(3239,6351)
+(3239,6345)
+(3242,6336)
+(3246,6334)
+(3248,6331)
+(3251,6331)
+(3256,6323)
+(3258,6324)
+(3258,6321)
+(3260,6321)
+(3263,6310)
+(3265,6310)
+(3269,6313)
+(3273,6313)
+(3274,6314)
+(3275,6313)
+(3279,6315)
+(3284,6312)
+(3288,6314)
+(3292,6304)
+(3293,6303)
+(3295,6304)
+(3296,6303)
+(3298,6305)
+(3299,6304)
+(3301,6307)
+(3303,6305)
+(3307,6308)
+(3308,6312)
+(3309,6314)
+(3310,6319)
+(3312,6322)
+(3313,6324)
+(3322,6329)
+(3326,6329)
+(3331,6333)
+(3334,6333)
+(3342,6340)
+(3345,6345)
+(3349,6347)
+(3352,6347)
+(3361,6352)
+(3366,6350)
+(3369,6341)
+(3372,6339)
+(3377,6343)
+(3378,6346)
+(3379,6348)
+(3381,6356)
+(3380,6359)
+(3381,6368)
+(3383,6373)
+(3387,6377)
+(3394,6378)
+(3397,6376)
+(3401,6367)
+(3401,6352)
+(3400,6348)
+(3401,6342)
+(3403,6339)
+(3405,6340)
+(3407,6348)
+(3408,6356)
+(3409,6364)
+(3412,6367)
+(3420,6373)
+(3423,6379)
+(3422,6383)
+(3420,6385)
+(3420,6396)
+(3422,6403)
+(3422,6410)
+(3423,6412)
+(3425,6410)
+(3429,6416)
+(3434,6415)
+(3438,6422)
+(3438,6431)
+(3435,6433)
+(3434,6435)
+(3435,6448)
+(3439,6449)
+(3438,6453)
+(3439,6455)
+(3442,6454)
+(3443,6460)
+(3446,6464)
+(3448,6470)
+(3451,6475)
+(3456,6473)
+(3456,6471)
+(3454,6472)
+(3453,6466)
+(3454,6464)
+(3456,6465)
+(3458,6471)
+(3458,6479)
+(3459,6482)
+(3461,6483)
+(3463,6480)
+(3465,6481)
+(3464,6489)
+(3466,6498)
+(3469,6499)
+(3475,6507)
+(3477,6515)
+(3479,6514)
+(3483,6517)
+(3485,6524)
+(3486,6529)
+(3488,6531)
+(3488,6536)
+(3493,6541)
+(3495,6547)
+(3495,6553)
+(3492,6557)
+(3491,6560)
+(3492,6570)
+(3497,6579)
+(3500,6580)
+(3502,6585)
+(3507,6585)
+(3514,6589)
+(3514,6597)
+(3516,6602)
+(3515,6609)
+(3518,6626)
+(3518,6637)
+(3519,6641)
+(3518,6650)
+(3518,6655)
+(3520,6657)
+(3523,6652)
+(3524,6657)
+(3524,6665)
+(3522,6669)
+(3522,6672)
+(3525,6673)
+(3530,6672)
+(3534,6677)
+(3535,6680)
+(3536,6686)
+(3540,6691)
+(3542,6699)
+(3547,6704)
+(3552,6715)
+(3552,6717)
+(3550,6717)
+(3549,6719)
+(3550,6727)
+(3552,6737)
+(3556,6746)
+(3559,6750)
+(3563,6754)
+(3569,6754)
+(3573,6756)
+(3575,6764)
+(3579,6769)
+(3580,6772)
+(3581,6782)
+(3585,6793)
+(3586,6802)
+(3595,6818)
+(3600,6823)
+(3606,6833)
+(3610,6835)
+(3612,6838)
+(3613,6846)
+(3615,6852)
+(3629,6864)
+(3636,6874)
+(3638,6885)
+(3642,6896)
+(3642,6902)
+(3642,6917)
+(3644,6932)
+(3644,6940)
+(3641,6951)
+(3640,6954)
+(3636,6957)
+(3635,6966)
+(3632,6970)
+(3625,7011)
+(3623,7017)
+(3618,7022)
+(3605,7031)
+(3602,7042)
+(3598,7046)
+(3596,7053)
+(3591,7065)
+(3590,7073)
+(3584,7085)
+(3581,7094)
+(3581,7100)
+(3582,7104)
+(3585,7108)
+(3589,7110)
+(3592,7114)
+(3595,7123)
+(3596,7137)
+(3598,7143)
+(3601,7148)
+(3610,7158)
+(3614,7165)
+(3615,7173)
+(3614,7180)
+(3612,7199)
+(3612,7202)
+(3614,7204)
+(3623,7215)
+(3624,7236)
+(3631,7243)
+(3636,7263)
+(3640,7274)
+(3640,7288)
+(3635,7305)
+(3636,7335)
+(3634,7353)
+(3635,7361)
+(3636,7373)
+(3637,7394)
+(3636,7407)
+(3637,7416)
+(3635,7445)
+(3637,7452)
+(3640,7458)
+(3641,7463)
+(3642,7477)
+(3641,7489)
+(3645,7497)
+(3648,7507)
+(3649,7524)
+(3651,7531)
+(3658,7556)
+(3663,7568)
+(3666,7593)
+(3667,7596)
+(3668,7606)
+(3668,7616)
+(3666,7624)
+(3667,7638)
+(3674,7666)
+(3678,7695)
+(3677,7717)
+(3689,7750)
+(3695,7757)
+(3698,7767)
+(3702,7773)
+(3708,7781)
+(3714,7783)
+(3718,7790)
+(3728,7790)
+(3734,7793)
+(3738,7800)
+(3741,7800)
+(3745,7803)
+(3750,7800)
+(3757,7790)
+(3761,7789)
+(3770,7784)
+(3773,7784)
+(3778,7782)
+(3784,7772)
+(3796,7777)
+(3798,7771)
+(3806,7764)
+(3808,7759)
+(3809,7754)
+(3808,7746)
+(3808,7738)
+(3809,7727)
+(3809,7711)
+(3810,7705)
+(3814,7691)
+(3822,7681)
+(3829,7646)
+(3836,7632)
+(3843,7624)
+(3848,7615)
+(3854,7609)
+(3858,7595)
+(3862,7587)
+(3855,7586)
+(3846,7573)
+(3845,7568)
+(3839,7561)
+(3836,7549)
+(3836,7540)
+(3834,7532)
+(3833,7521)
+(3831,7517)
+(3832,7504)
+(3835,7498)
+(3838,7486)
+(3838,7476)
+(3841,7476)
+(3842,7474)
+(3842,7462)
+(3843,7455)
+(3842,7436)
+(3845,7427)
+(3846,7421)
+(3834,7389)
+(3833,7383)
+(3834,7378)
+(3836,7372)
+(3834,7364)
+(3833,7350)
+(3832,7342)
+(3833,7334)
+(3832,7315)
+(3831,7309)
+(3829,7306)
+(3827,7298)
+(3827,7269)
+(3826,7266)
+(3822,7265)
+(3825,7254)
+(3822,7251)
+(3821,7247)
+(3819,7245)
+(3818,7236)
+(3819,7232)
+(3819,7230)
+(3814,7228)
+(3810,7231)
+(3809,7230)
+(3808,7227)
+(3808,7221)
+(3810,7213)
+(3814,7205)
+(3814,7194)
+(3814,7186)
+(3810,7173)
+(3810,7156)
+(3808,7146)
+(3808,7140)
+249
+(3626,8073)
+(3628,8074)
+(3629,8080)
+(3629,8086)
+(3626,8090)
+(3624,8096)
+(3622,8104)
+(3626,8107)
+(3629,8107)
+(3632,8103)
+(3636,8094)
+(3642,8094)
+(3645,8097)
+(3646,8104)
+(3650,8108)
+(3653,8119)
+(3658,8120)
+(3666,8126)
+(3669,8131)
+(3677,8125)
+(3679,8126)
+(3681,8130)
+(3683,8130)
+(3684,8128)
+(3684,8121)
+(3686,8118)
+(3690,8121)
+(3694,8131)
+(3697,8132)
+(3697,8129)
+(3697,8122)
+(3697,8119)
+(3700,8116)
+(3702,8112)
+(3704,8110)
+(3706,8111)
+(3708,8115)
+(3708,8129)
+(3709,8131)
+(3715,8129)
+(3719,8136)
+(3723,8145)
+(3726,8139)
+(3731,8138)
+(3733,8141)
+(3734,8148)
+(3737,8151)
+(3741,8148)
+(3743,8141)
+(3744,8139)
+(3753,8135)
+(3756,8131)
+(3759,8131)
+(3760,8126)
+(3759,8121)
+(3757,8118)
+(3755,8113)
+(3756,8110)
+(3758,8108)
+(3757,8104)
+(3758,8098)
+(3758,8094)
+(3758,8090)
+(3759,8086)
+(3762,8081)
+(3763,8075)
+(3766,8072)
+(3768,8068)
+(3769,8056)
+(3771,8054)
+(3772,8050)
+(3773,8048)
+(3778,8052)
+(3778,8049)
+(3778,8039)
+(3779,8036)
+(3780,8038)
+(3782,8034)
+(3787,8038)
+(3789,8036)
+(3789,8022)
+(3785,8014)
+(3784,8008)
+(3782,8003)
+(3783,7995)
+(3789,7985)
+(3795,7993)
+(3799,7990)
+(3801,7993)
+(3802,7992)
+(3803,7980)
+(3802,7974)
+(3801,7969)
+(3800,7956)
+(3800,7946)
+(3800,7947)
+(3796,7932)
+(3798,7918)
+(3801,7908)
+(3801,7900)
+(3804,7885)
+(3803,7877)
+(3798,7869)
+(3797,7864)
+(3797,7850)
+(3800,7839)
+(3800,7817)
+(3803,7809)
+(3803,7800)
+(3805,7794)
+(3805,7782)
+(3808,7767)
+(3800,7773)
+(3796,7780)
+(3791,7781)
+(3789,7778)
+(3785,7777)
+(3781,7783)
+(3776,7785)
+(3767,7789)
+(3763,7792)
+(3757,7793)
+(3752,7802)
+(3748,7805)
+(3745,7806)
+(3741,7804)
+(3738,7804)
+(3733,7796)
+(3730,7794)
+(3718,7794)
+(3713,7786)
+(3706,7782)
+(3698,7773)
+(3693,7761)
+(3689,7757)
+(3683,7739)
+(3681,7737)
+(3680,7733)
+(3675,7718)
+(3672,7708)
+(3673,7699)
+(3675,7688)
+(3672,7675)
+(3665,7632)
+(3666,7603)
+(3664,7595)
+(3663,7591)
+(3662,7574)
+(3662,7571)
+(3655,7557)
+(3654,7547)
+(3649,7530)
+(3645,7503)
+(3641,7490)
+(3639,7462)
+(3634,7447)
+(3634,7429)
+(3635,7419)
+(3635,7378)
+(3633,7354)
+(3634,7333)
+(3634,7305)
+(3635,7298)
+(3639,7287)
+(3639,7277)
+(3631,7249)
+(3628,7244)
+(3626,7241)
+(3620,7240)
+(3617,7244)
+(3622,7253)
+(3620,7262)
+(3618,7268)
+(3610,7273)
+(3604,7268)
+(3605,7267)
+(3609,7271)
+(3611,7271)
+(3617,7265)
+(3619,7259)
+(3620,7253)
+(3620,7251)
+(3615,7245)
+(3616,7241)
+(3617,7238)
+(3622,7238)
+(3622,7233)
+(3622,7220)
+(3621,7216)
+(3617,7213)
+(3615,7207)
+(3611,7204)
+(3610,7201)
+(3612,7191)
+(3612,7186)
+(3613,7175)
+(3613,7171)
+(3612,7165)
+(3603,7153)
+(3600,7149)
+(3595,7140)
+(3594,7128)
+(3590,7114)
+(3588,7111)
+(3583,7109)
+(3580,7101)
+(3581,7089)
+(3589,7073)
+(3590,7063)
+(3597,7047)
+(3602,7038)
+(3605,7027)
+(3617,7020)
+(3623,7011)
+(3625,7005)
+(3626,6994)
+(3629,6983)
+(3631,6968)
+(3634,6963)
+(3635,6955)
+(3638,6953)
+(3641,6949)
+(3643,6938)
+(3643,6933)
+(3643,6925)
+(3642,6916)
+(3641,6897)
+(3637,6886)
+(3635,6875)
+(3628,6865)
+(3613,6854)
+(3610,6839)
+(3605,6834)
+(3585,6805)
+(3584,6796)
+(3579,6783)
+(3579,6770)
+(3575,6768)
+(3573,6765)
+(3572,6759)
+(3569,6756)
+(3567,6758)
+(3564,6766)
+(3565,6757)
+(3564,6756)
+(3561,6754)
+(3557,6750)
+(3554,6745)
+(3554,6741)
+353
+(2996,7346)
+(2996,7343)
+(2992,7338)
+(2986,7330)
+(2985,7324)
+(2981,7320)
+(2980,7313)
+(2978,7309)
+(2978,7298)
+(2977,7293)
+(2974,7287)
+(2973,7283)
+(2970,7281)
+(2967,7269)
+(2965,7267)
+(2965,7260)
+(2961,7253)
+(2960,7246)
+(2959,7244)
+(2959,7240)
+(2956,7233)
+(2956,7227)
+(2952,7222)
+(2951,7216)
+(2953,7213)
+(2952,7211)
+(2954,7209)
+(2956,7196)
+(2957,7190)
+(2956,7184)
+(2956,7184)
+(2958,7175)
+(2957,7168)
+(2956,7166)
+(2955,7162)
+(2953,7158)
+(2952,7154)
+(2952,7152)
+(2952,7150)
+(2951,7143)
+(2952,7137)
+(2953,7137)
+(2954,7134)
+(2954,7130)
+(2953,7128)
+(2953,7122)
+(2953,7119)
+(2955,7117)
+(2956,7118)
+(2956,7116)
+(2958,7115)
+(2961,7116)
+(2962,7114)
+(2964,7113)
+(2967,7104)
+(2966,7101)
+(2963,7095)
+(2961,7095)
+(2958,7091)
+(2957,7086)
+(2964,7076)
+(2970,7072)
+(2973,7074)
+(2976,7082)
+(2979,7087)
+(2980,7090)
+(2984,7094)
+(2987,7102)
+(2989,7103)
+(2989,7108)
+(2992,7110)
+(2996,7115)
+(2997,7120)
+(2997,7125)
+(2999,7136)
+(2999,7144)
+(3000,7150)
+(3001,7154)
+(3006,7160)
+(3010,7161)
+(3016,7160)
+(3019,7162)
+(3020,7162)
+(3021,7152)
+(3021,7151)
+(3022,7151)
+(3022,7148)
+(3024,7148)
+(3025,7150)
+(3025,7152)
+(3027,7155)
+(3036,7157)
+(3038,7162)
+(3040,7163)
+(3041,7167)
+(3045,7170)
+(3048,7171)
+(3050,7170)
+(3053,7172)
+(3054,7171)
+(3056,7174)
+(3058,7175)
+(3060,7180)
+(3064,7185)
+(3069,7186)
+(3070,7187)
+(3072,7185)
+(3073,7189)
+(3076,7189)
+(3077,7192)
+(3080,7195)
+(3082,7193)
+(3083,7197)
+(3086,7199)
+(3090,7199)
+(3093,7203)
+(3097,7203)
+(3100,7206)
+(3100,7211)
+(3106,7219)
+(3110,7224)
+(3110,7228)
+(3113,7229)
+(3113,7233)
+(3114,7234)
+(3115,7239)
+(3119,7243)
+(3123,7242)
+(3124,7245)
+(3127,7247)
+(3134,7246)
+(3138,7239)
+(3140,7237)
+(3146,7241)
+(3152,7243)
+(3158,7226)
+(3157,7223)
+(3157,7217)
+(3155,7211)
+(3155,7204)
+(3157,7202)
+(3162,7203)
+(3166,7202)
+(3168,7207)
+(3168,7210)
+(3171,7216)
+(3181,7229)
+(3186,7238)
+(3191,7243)
+(3194,7250)
+(3196,7250)
+(3197,7252)
+(3197,7262)
+(3197,7264)
+(3196,7268)
+(3197,7274)
+(3199,7280)
+(3199,7288)
+(3203,7300)
+(3203,7304)
+(3205,7309)
+(3205,7318)
+(3205,7324)
+(3208,7330)
+(3208,7335)
+(3209,7339)
+(3206,7345)
+(3207,7357)
+(3207,7369)
+(3209,7378)
+(3210,7389)
+(3213,7396)
+(3211,7407)
+(3210,7409)
+(3213,7410)
+(3212,7413)
+(3210,7412)
+(3213,7417)
+(3210,7422)
+(3209,7432)
+(3206,7439)
+(3203,7442)
+(3203,7444)
+(3200,7446)
+(3202,7452)
+(3201,7455)
+(3195,7460)
+(3193,7464)
+(3191,7470)
+(3191,7479)
+(3190,7482)
+(3188,7482)
+(3188,7488)
+(3185,7491)
+(3186,7494)
+(3190,7493)
+(3192,7504)
+(3192,7510)
+(3185,7528)
+(3182,7530)
+(3183,7534)
+(3183,7537)
+(3181,7539)
+(3179,7544)
+(3177,7543)
+(3175,7539)
+(3173,7539)
+(3174,7550)
+(3173,7552)
+(3171,7552)
+(3166,7558)
+(3167,7563)
+(3166,7566)
+(3165,7566)
+(3164,7562)
+(3161,7564)
+(3159,7559)
+(3157,7559)
+(3154,7561)
+(3154,7563)
+(3155,7564)
+(3152,7571)
+(3151,7573)
+(3148,7572)
+(3147,7576)
+(3143,7580)
+(3138,7579)
+(3137,7586)
+(3134,7580)
+(3132,7579)
+(3130,7588)
+(3128,7593)
+(3122,7591)
+(3122,7588)
+(3120,7586)
+(3116,7588)
+(3114,7591)
+(3105,7598)
+(3104,7600)
+(3103,7602)
+(3102,7603)
+(3100,7602)
+(3098,7604)
+(3096,7600)
+(3094,7600)
+(3092,7608)
+(3090,7609)
+(3087,7607)
+(3085,7607)
+(3084,7614)
+(3083,7615)
+(3080,7614)
+(3080,7609)
+(3076,7609)
+(3075,7611)
+(3074,7613)
+(3075,7614)
+(3076,7613)
+(3078,7612)
+(3080,7617)
+(3078,7619)
+(3077,7618)
+(3071,7614)
+(3063,7616)
+(3058,7622)
+(3055,7628)
+(3047,7633)
+(3044,7638)
+(3041,7637)
+(3034,7642)
+(3028,7637)
+(3025,7641)
+(3019,7640)
+(3012,7655)
+(3008,7654)
+(3003,7649)
+(2999,7649)
+(2995,7652)
+(2990,7650)
+(2988,7652)
+(2985,7660)
+(2980,7661)
+(2975,7669)
+(2975,7674)
+(2976,7677)
+(2975,7680)
+(2972,7686)
+(2972,7693)
+(2973,7696)
+(2972,7700)
+(2974,7702)
+(2975,7710)
+(2974,7717)
+(2977,7720)
+(2975,7723)
+(2974,7727)
+(2972,7728)
+(2970,7725)
+(2968,7725)
+(2969,7731)
+(2968,7734)
+(2967,7735)
+(2966,7740)
+(2962,7743)
+(2961,7746)
+(2963,7752)
+(2963,7755)
+(2961,7759)
+(2961,7762)
+(2964,7762)
+(2965,7763)
+(2965,7769)
+(2963,7772)
+(2958,7773)
+(2956,7776)
+(2957,7781)
+(2956,7783)
+(2952,7784)
+(2950,7786)
+(2949,7791)
+(2947,7790)
+(2945,7795)
+(2942,7794)
+(2940,7799)
+(2932,7813)
+(2932,7817)
+(2934,7825)
+(2933,7828)
+(2931,7831)
+(2933,7837)
+(2932,7840)
+(2931,7840)
+(2928,7838)
+(2916,7831)
+(2914,7837)
+(2911,7837)
+(2909,7838)
+(2910,7844)
+(2909,7845)
+(2905,7844)
+(2901,7846)
+(2900,7849)
+(2898,7850)
+(2896,7848)
+(2895,7846)
+(2891,7845)
+(2888,7840)
+(2883,7841)
+(2874,7853)
+(2868,7857)
+(2863,7857)
+(2861,7861)
+(2861,7867)
+210
+(2861,7948)
+(2862,7949)
+(2864,7941)
+(2860,7930)
+(2861,7922)
+(2860,7916)
+(2860,7912)
+(2860,7909)
+(2861,7903)
+(2861,7900)
+(2859,7896)
+(2859,7893)
+(2862,7890)
+(2864,7886)
+(2863,7876)
+(2860,7867)
+(2861,7866)
+(2861,7867)
+(2864,7875)
+(2865,7886)
+(2864,7893)
+(2860,7895)
+(2860,7896)
+(2863,7901)
+(2861,7908)
+(2861,7915)
+(2863,7920)
+(2862,7927)
+(2863,7930)
+(2865,7940)
+(2864,7947)
+(2863,7953)
+(2866,7954)
+(2866,7953)
+(2867,7952)
+(2871,7957)
+(2877,7960)
+(2878,7963)
+(2878,7965)
+(2877,7966)
+(2878,7969)
+(2881,7973)
+(2883,7980)
+(2887,7985)
+(2889,7997)
+(2888,8003)
+(2887,8001)
+(2888,7999)
+(2887,7998)
+(2886,7999)
+(2887,8011)
+(2891,8014)
+(2892,8021)
+(2895,8024)
+(2895,8029)
+(2897,8032)
+(2898,8039)
+(2900,8041)
+(2901,8045)
+(2900,8047)
+(2902,8050)
+(2904,8064)
+(2906,8072)
+(2905,8079)
+(2903,8086)
+(2906,8094)
+(2907,8101)
+(2908,8101)
+(2911,8099)
+(2914,8099)
+(2919,8102)
+(2921,8109)
+(2924,8113)
+(2926,8118)
+(2925,8124)
+(2926,8127)
+(2927,8130)
+(2925,8142)
+(2926,8144)
+(2926,8146)
+(2928,8146)
+(2932,8156)
+(2936,8158)
+(2937,8160)
+(2939,8165)
+(2938,8168)
+(2942,8173)
+(2943,8176)
+(2947,8178)
+(2949,8175)
+(2953,8174)
+(2955,8176)
+(2956,8180)
+(2959,8180)
+(2964,8184)
+(2968,8185)
+(2971,8192)
+(2966,8185)
+(2969,8191)
+(2969,8196)
+(2971,8201)
+(2973,8202)
+(2975,8210)
+(2977,8209)
+(2984,8209)
+(2987,8205)
+(2991,8205)
+(2992,8202)
+(2991,8198)
+(2992,8194)
+(2991,8191)
+(2986,8181)
+(2982,8177)
+(2980,8177)
+(2978,8174)
+(2976,8170)
+(2975,8166)
+(2976,8165)
+(2978,8168)
+(2977,8169)
+(2977,8171)
+(2981,8172)
+(2981,8175)
+(2982,8176)
+(2982,8173)
+(2983,8173)
+(2983,8172)
+(2987,8171)
+(2989,8175)
+(2990,8171)
+(2990,8171)
+(2991,8179)
+(2994,8184)
+(2997,8184)
+(2998,8187)
+(2997,8192)
+(2993,8194)
+(2992,8197)
+(2993,8202)
+(2993,8204)
+(2996,8206)
+(3000,8206)
+(3002,8209)
+(3006,8209)
+(3010,8212)
+(3014,8217)
+(3015,8221)
+(3019,8225)
+(3021,8224)
+(3019,8221)
+(3024,8224)
+(3030,8221)
+(3030,8217)
+(3031,8216)
+(3031,8222)
+(3041,8237)
+(3040,8239)
+(3041,8247)
+(3042,8249)
+(3041,8255)
+(3043,8265)
+(3047,8276)
+(3052,8282)
+(3053,8289)
+(3056,8290)
+(3061,8302)
+(3065,8305)
+(3067,8314)
+(3072,8318)
+(3075,8332)
+(3082,8334)
+(3083,8336)
+(3083,8342)
+(3082,8348)
+(3084,8362)
+(3087,8366)
+(3092,8369)
+(3093,8375)
+(3093,8381)
+(3095,8387)
+(3096,8393)
+(3103,8401)
+(3110,8413)
+(3112,8414)
+(3120,8408)
+(3125,8412)
+(3130,8420)
+(3140,8425)
+(3144,8425)
+(3154,8418)
+(3156,8407)
+(3163,8403)
+(3163,8405)
+(3164,8406)
+(3165,8403)
+(3168,8401)
+(3175,8384)
+(3177,8382)
+(3179,8381)
+(3184,8388)
+(3192,8391)
+(3194,8394)
+(3194,8403)
+(3193,8409)
+(3194,8414)
+(3193,8419)
+(3186,8433)
+(3186,8439)
+(3188,8440)
+(3187,8442)
+256
+(2861,7948)
+(2859,7948)
+(2858,7950)
+(2853,7946)
+(2846,7937)
+(2841,7924)
+(2836,7922)
+(2834,7919)
+(2835,7908)
+(2834,7899)
+(2834,7888)
+(2830,7878)
+(2832,7871)
+(2830,7864)
+(2832,7858)
+(2830,7851)
+(2828,7847)
+(2825,7845)
+(2822,7841)
+(2820,7833)
+(2813,7831)
+(2810,7826)
+(2809,7821)
+(2810,7820)
+(2811,7822)
+(2812,7828)
+(2816,7831)
+(2818,7830)
+(2820,7832)
+(2822,7837)
+(2822,7840)
+(2829,7846)
+(2833,7854)
+(2833,7861)
+(2832,7863)
+(2833,7869)
+(2832,7877)
+(2833,7880)
+(2835,7889)
+(2835,7902)
+(2837,7908)
+(2836,7919)
+(2837,7920)
+(2843,7923)
+(2847,7936)
+(2854,7944)
+(2857,7947)
+(2860,7946)
+(2860,7951)
+(2862,7952)
+(2863,7955)
+(2865,7957)
+(2867,7956)
+(2873,7962)
+(2876,7961)
+(2876,7966)
+(2876,7970)
+(2880,7973)
+(2882,7982)
+(2885,7986)
+(2886,7993)
+(2885,7995)
+(2885,7997)
+(2885,8004)
+(2883,8008)
+(2884,8011)
+(2885,8013)
+(2890,8017)
+(2891,8023)
+(2894,8026)
+(2894,8030)
+(2895,8033)
+(2895,8039)
+(2898,8042)
+(2900,8053)
+(2901,8056)
+(2901,8061)
+(2904,8072)
+(2904,8079)
+(2902,8083)
+(2901,8087)
+(2905,8094)
+(2905,8103)
+(2907,8105)
+(2912,8101)
+(2916,8102)
+(2917,8103)
+(2918,8107)
+(2922,8113)
+(2924,8119)
+(2923,8120)
+(2924,8123)
+(2924,8130)
+(2925,8133)
+(2924,8142)
+(2925,8148)
+(2929,8156)
+(2935,8160)
+(2937,8169)
+(2940,8175)
+(2943,8178)
+(2947,8179)
+(2953,8177)
+(2954,8180)
+(2955,8182)
+(2956,8183)
+(2957,8185)
+(2956,8186)
+(2956,8187)
+(2962,8187)
+(2965,8189)
+(2967,8195)
+(2967,8205)
+(2969,8208)
+(2971,8210)
+(2975,8212)
+(2978,8211)
+(2982,8212)
+(2985,8211)
+(2987,8207)
+(2989,8208)
+(2991,8206)
+(3002,8211)
+(3005,8215)
+(3007,8215)
+(3009,8222)
+(3012,8226)
+(3011,8228)
+(3013,8228)
+(3017,8226)
+(3019,8227)
+(3018,8230)
+(3017,8232)
+(3016,8241)
+(3010,8244)
+(3012,8246)
+(3015,8244)
+(3017,8244)
+(3018,8242)
+(3020,8245)
+(3021,8248)
+(3022,8248)
+(3022,8243)
+(3019,8232)
+(3021,8230)
+(3020,8228)
+(3022,8228)
+(3029,8224)
+(3030,8224)
+(3038,8235)
+(3040,8244)
+(3039,8249)
+(3039,8259)
+(3041,8272)
+(3051,8282)
+(3052,8289)
+(3056,8292)
+(3060,8301)
+(3065,8306)
+(3066,8314)
+(3071,8320)
+(3074,8333)
+(3077,8335)
+(3082,8336)
+(3082,8340)
+(3079,8352)
+(3081,8356)
+(3082,8359)
+(3083,8364)
+(3086,8370)
+(3090,8370)
+(3094,8392)
+(3096,8399)
+(3098,8401)
+(3099,8405)
+(3098,8412)
+(3097,8411)
+(3094,8406)
+(3092,8407)
+(3091,8409)
+(3092,8411)
+(3094,8411)
+(3096,8415)
+(3096,8418)
+(3094,8419)
+(3093,8426)
+(3096,8436)
+(3099,8438)
+(3097,8446)
+(3100,8444)
+(3100,8440)
+(3097,8426)
+(3097,8421)
+(3099,8419)
+(3101,8420)
+(3101,8414)
+(3104,8412)
+(3105,8420)
+(3108,8424)
+(3110,8425)
+(3109,8428)
+(3111,8439)
+(3112,8438)
+(3113,8432)
+(3113,8429)
+(3112,8427)
+(3112,8424)
+(3117,8426)
+(3122,8422)
+(3119,8420)
+(3115,8423)
+(3108,8421)
+(3106,8418)
+(3105,8411)
+(3101,8412)
+(3100,8411)
+(3100,8408)
+(3101,8407)
+(3100,8402)
+(3104,8406)
+(3109,8416)
+(3117,8413)
+(3119,8410)
+(3121,8410)
+(3128,8419)
+(3128,8422)
+(3141,8430)
+(3142,8427)
+(3146,8428)
+(3151,8421)
+(3154,8420)
+(3157,8411)
+(3156,8409)
+(3158,8409)
+(3158,8407)
+(3161,8406)
+(3165,8408)
+(3167,8406)
+(3171,8400)
+(3175,8385)
+(3177,8383)
+(3180,8384)
+(3182,8389)
+(3190,8393)
+(3192,8396)
+(3192,8410)
+(3193,8415)
+(3192,8419)
+(3190,8423)
+(3189,8421)
+(3188,8425)
+(3187,8424)
+(3186,8428)
+(3185,8436)
+(3186,8441)
+(3186,8442)
+288
+(3706,8691)
+(3707,8689)
+(3709,8690)
+(3709,8703)
+(3711,8710)
+(3711,8717)
+(3711,8724)
+(3713,8742)
+(3711,8750)
+(3708,8757)
+(3708,8762)
+(3706,8764)
+(3705,8768)
+(3692,8784)
+(3691,8788)
+(3689,8790)
+(3684,8801)
+(3685,8808)
+(3689,8814)
+(3690,8820)
+(3690,8824)
+(3689,8825)
+(3689,8829)
+(3692,8833)
+(3694,8842)
+(3695,8844)
+(3696,8843)
+(3697,8847)
+(3701,8847)
+(3704,8845)
+(3707,8843)
+(3709,8845)
+(3712,8843)
+(3713,8845)
+(3718,8844)
+(3720,8836)
+(3722,8834)
+(3725,8832)
+(3727,8834)
+(3729,8833)
+(3735,8841)
+(3738,8840)
+(3737,8844)
+(3738,8857)
+(3739,8861)
+(3738,8863)
+(3735,8865)
+(3735,8869)
+(3732,8875)
+(3732,8881)
+(3723,8890)
+(3725,8896)
+(3725,8899)
+(3729,8904)
+(3726,8909)
+(3725,8910)
+(3725,8914)
+(3723,8917)
+(3722,8916)
+(3717,8920)
+(3714,8916)
+(3711,8918)
+(3706,8925)
+(3704,8926)
+(3701,8922)
+(3699,8926)
+(3701,8943)
+(3703,8951)
+(3701,8961)
+(3698,8966)
+(3699,8969)
+(3701,8970)
+(3706,8976)
+(3713,8976)
+(3714,8982)
+(3715,8983)
+(3715,8988)
+(3717,8988)
+(3721,8994)
+(3721,9001)
+(3725,9004)
+(3725,9007)
+(3723,9019)
+(3725,9031)
+(3730,9041)
+(3735,9043)
+(3737,9047)
+(3740,9048)
+(3742,9044)
+(3751,9048)
+(3756,9043)
+(3758,9045)
+(3759,9049)
+(3761,9053)
+(3760,9058)
+(3759,9068)
+(3757,9078)
+(3754,9083)
+(3753,9096)
+(3750,9100)
+(3747,9099)
+(3746,9102)
+(3746,9108)
+(3752,9110)
+(3755,9117)
+(3753,9121)
+(3748,9117)
+(3744,9122)
+(3743,9125)
+(3744,9126)
+(3748,9130)
+(3747,9137)
+(3747,9138)
+(3752,9135)
+(3753,9137)
+(3753,9141)
+(3757,9140)
+(3764,9150)
+(3768,9152)
+(3770,9152)
+(3773,9146)
+(3777,9150)
+(3782,9153)
+(3789,9150)
+(3794,9154)
+(3800,9154)
+(3801,9158)
+(3803,9170)
+(3815,9178)
+(3821,9190)
+(3822,9197)
+(3833,9215)
+(3834,9226)
+(3835,9237)
+(3839,9246)
+(3840,9254)
+(3843,9258)
+(3846,9268)
+(3851,9273)
+(3852,9271)
+(3852,9269)
+(3849,9267)
+(3848,9264)
+(3849,9262)
+(3851,9261)
+(3855,9266)
+(3856,9266)
+(3862,9255)
+(3864,9246)
+(3865,9245)
+(3867,9247)
+(3870,9242)
+(3873,9245)
+(3876,9242)
+(3882,9242)
+(3884,9240)
+(3886,9233)
+(3886,9229)
+(3884,9215)
+(3881,9212)
+(3880,9207)
+(3881,9195)
+(3883,9192)
+(3884,9185)
+(3889,9170)
+(3891,9148)
+(3894,9145)
+(3894,9139)
+(3897,9135)
+(3900,9122)
+(3903,9117)
+(3906,9115)
+(3907,9111)
+(3909,9106)
+(3912,9105)
+(3913,9099)
+(3916,9092)
+(3919,9091)
+(3921,9085)
+(3931,9077)
+(3934,9069)
+(3936,9070)
+(3939,9069)
+(3939,9064)
+(3943,9060)
+(3944,9053)
+(3949,9047)
+(3952,9048)
+(3956,9045)
+(3962,9044)
+(3963,9050)
+(3964,9046)
+(3969,9043)
+(3970,9047)
+(3969,9048)
+(3967,9051)
+(3967,9059)
+(3969,9062)
+(3974,9064)
+(3975,9068)
+(3972,9076)
+(3973,9086)
+(3976,9093)
+(3975,9096)
+(3973,9096)
+(3973,9099)
+(3975,9101)
+(3978,9099)
+(3984,9108)
+(3987,9106)
+(3991,9111)
+(3996,9134)
+(3997,9143)
+(4001,9147)
+(4005,9141)
+(4006,9150)
+(4009,9151)
+(4012,9158)
+(4016,9160)
+(4017,9163)
+(4018,9173)
+(4021,9179)
+(4023,9181)
+(4027,9180)
+(4029,9185)
+(4030,9195)
+(4031,9207)
+(4031,9217)
+(4034,9219)
+(4042,9209)
+(4047,9219)
+(4049,9222)
+(4050,9234)
+(4112,9646)
+(4113,9641)
+(4112,9638)
+(4109,9630)
+(4112,9617)
+(4114,9581)
+(4117,9561)
+(4118,9559)
+(4119,9545)
+(4120,9540)
+(4122,9540)
+(4125,9552)
+(4126,9551)
+(4126,9538)
+(4123,9522)
+(4126,9518)
+(4127,9516)
+(4128,9513)
+(4127,9508)
+(4121,9501)
+(4119,9490)
+(4118,9479)
+(4117,9479)
+(4114,9483)
+(4111,9484)
+(4105,9480)
+(4101,9469)
+(4097,9462)
+(4093,9462)
+(4091,9460)
+(4088,9461)
+(4084,9450)
+(4083,9445)
+(4083,9432)
+(4080,9413)
+(4075,9402)
+(4076,9396)
+(4077,9388)
+(4077,9368)
+(4071,9369)
+(4066,9386)
+(4063,9385)
+(4061,9376)
+(4059,9378)
+(4058,9376)
+(4058,9365)
+(4055,9343)
+(4059,9326)
+(4058,9304)
+(4054,9288)
+(4054,9274)
+(4052,9261)
+(4054,9255)
+(4054,9244)
+(4050,9234)
+54
+(4050,9236)
+(4054,9245)
+(4054,9258)
+(4053,9262)
+(4055,9278)
+(4055,9287)
+(4059,9304)
+(4060,9314)
+(4059,9328)
+(4055,9342)
+(4059,9363)
+(4059,9373)
+(4061,9372)
+(4063,9380)
+(4065,9382)
+(4066,9381)
+(4069,9366)
+(4074,9364)
+(4078,9366)
+(4079,9379)
+(4078,9390)
+(4076,9399)
+(4078,9404)
+(4081,9412)
+(4082,9421)
+(4084,9433)
+(4083,9444)
+(4087,9456)
+(4093,9459)
+(4098,9458)
+(4106,9477)
+(4110,9481)
+(4119,9471)
+(4120,9476)
+(4119,9484)
+(4120,9492)
+(4123,9500)
+(4127,9504)
+(4129,9509)
+(4128,9516)
+(4125,9523)
+(4127,9536)
+(4126,9553)
+(4124,9556)
+(4122,9545)
+(4121,9545)
+(4120,9556)
+(4116,9577)
+(4115,9595)
+(4113,9613)
+(4113,9619)
+(4110,9628)
+(4114,9637)
+(4114,9645)
+100
+(4272,9001)
+(4272,8998)
+(4268,8994)
+(4265,8999)
+(4265,8991)
+(4261,8979)
+(4259,8981)
+(4258,8976)
+(4255,8975)
+(4252,8971)
+(4252,8953)
+(4248,8941)
+(4248,8926)
+(4244,8926)
+(4241,8921)
+(4241,8915)
+(4237,8895)
+(4237,8877)
+(4235,8874)
+(4232,8872)
+(4231,8864)
+(4224,8853)
+(4221,8853)
+(4220,8848)
+(4216,8845)
+(4214,8841)
+(4210,8848)
+(4208,8845)
+(4207,8839)
+(4203,8844)
+(4202,8851)
+(4200,8854)
+(4196,8850)
+(4188,8847)
+(4182,8850)
+(4179,8844)
+(4176,8849)
+(4176,8856)
+(4173,8853)
+(4164,8861)
+(4163,8859)
+(4163,8849)
+(4161,8842)
+(4159,8843)
+(4155,8849)
+(4150,8853)
+(4148,8848)
+(4144,8852)
+(4141,8846)
+(4145,8848)
+(4148,8846)
+(4150,8850)
+(4154,8848)
+(4158,8841)
+(4160,8840)
+(4163,8845)
+(4164,8859)
+(4173,8852)
+(4175,8854)
+(4175,8848)
+(4179,8842)
+(4183,8849)
+(4189,8845)
+(4196,8848)
+(4200,8851)
+(4201,8850)
+(4203,8841)
+(4206,8839)
+(4207,8835)
+(4210,8845)
+(4212,8844)
+(4214,8837)
+(4216,8844)
+(4220,8845)
+(4222,8851)
+(4225,8851)
+(4232,8863)
+(4233,8871)
+(4236,8872)
+(4238,8876)
+(4239,8884)
+(4238,8892)
+(4242,8912)
+(4242,8920)
+(4244,8924)
+(4247,8922)
+(4249,8925)
+(4249,8940)
+(4251,8944)
+(4254,8957)
+(4254,8970)
+(4255,8972)
+(4259,8972)
+(4259,8977)
+(4262,8975)
+(4265,8988)
+(4266,8993)
+(4268,8991)
+(4272,8995)
+(4273,9001)
+695
+(2107,5759)
+(2106,5759)
+(2108,5768)
+(2106,5776)
+(2106,5787)
+(2105,5793)
+(2102,5800)
+(2104,5809)
+(2100,5813)
+(2099,5818)
+(2096,5820)
+(2095,5824)
+(2089,5838)
+(2089,5845)
+(2092,5849)
+(2093,5852)
+(2106,5867)
+(2105,5879)
+(2100,5882)
+(2096,5887)
+(2093,5888)
+(2091,5896)
+(2090,5897)
+(2089,5903)
+(2079,5904)
+(2077,5903)
+(2076,5900)
+(2075,5899)
+(2074,5900)
+(2072,5904)
+(2070,5908)
+(2064,5910)
+(2061,5920)
+(2061,5923)
+(2064,5923)
+(2067,5923)
+(2067,5928)
+(2069,5932)
+(2066,5939)
+(2066,5941)
+(2064,5943)
+(2061,5944)
+(2057,5942)
+(2054,5942)
+(2052,5944)
+(2049,5944)
+(2043,5943)
+(2040,5944)
+(2038,5944)
+(2038,5945)
+(2035,5946)
+(2032,5950)
+(2026,5956)
+(2024,5959)
+(2024,5961)
+(2026,5963)
+(2029,5963)
+(2029,5966)
+(2028,5971)
+(2026,5973)
+(2026,5980)
+(2028,5983)
+(2028,5985)
+(2026,5991)
+(2024,5994)
+(2023,5994)
+(2023,5996)
+(2020,6000)
+(2019,6000)
+(2016,6004)
+(2015,6005)
+(2014,6008)
+(2014,6010)
+(2016,6011)
+(2018,6014)
+(2021,6017)
+(2023,6016)
+(2025,6014)
+(2025,6015)
+(2025,6019)
+(2025,6019)
+(2026,6022)
+(2027,6023)
+(2028,6026)
+(2029,6028)
+(2032,6035)
+(2034,6037)
+(2036,6041)
+(2035,6047)
+(2033,6048)
+(2032,6050)
+(2032,6050)
+(2028,6053)
+(2028,6054)
+(2027,6054)
+(2027,6056)
+(2025,6055)
+(2024,6058)
+(2025,6059)
+(2023,6060)
+(2024,6061)
+(2026,6062)
+(2030,6061)
+(2033,6062)
+(2032,6063)
+(2031,6068)
+(2029,6069)
+(2025,6075)
+(2023,6076)
+(2023,6081)
+(2022,6083)
+(2020,6083)
+(2021,6085)
+(2022,6091)
+(2020,6096)
+(2021,6106)
+(2013,6113)
+(2009,6113)
+(2004,6118)
+(2002,6121)
+(2000,6127)
+(2000,6131)
+(2005,6135)
+(2004,6139)
+(2005,6141)
+(2004,6141)
+(2005,6144)
+(2007,6147)
+(2008,6147)
+(2008,6149)
+(2011,6147)
+(2012,6149)
+(2017,6141)
+(2020,6139)
+(2024,6140)
+(2023,6138)
+(2024,6137)
+(2024,6139)
+(2025,6139)
+(2027,6137)
+(2028,6135)
+(2030,6136)
+(2037,6129)
+(2038,6128)
+(2037,6127)
+(2037,6125)
+(2038,6124)
+(2037,6123)
+(2040,6118)
+(2040,6115)
+(2044,6109)
+(2043,6107)
+(2044,6105)
+(2047,6102)
+(2048,6099)
+(2051,6096)
+(2053,6092)
+(2054,6084)
+(2055,6081)
+(2055,6079)
+(2058,6076)
+(2058,6074)
+(2060,6073)
+(2061,6072)
+(2063,6072)
+(2064,6070)
+(2066,6070)
+(2069,6068)
+(2070,6064)
+(2073,6060)
+(2073,6055)
+(2077,6055)
+(2083,6051)
+(2083,6050)
+(2080,6046)
+(2080,6043)
+(2081,6037)
+(2083,6035)
+(2089,6028)
+(2089,6021)
+(2091,6019)
+(2093,6019)
+(2095,6017)
+(2099,6017)
+(2102,6015)
+(2108,6015)
+(2113,6014)
+(2115,6013)
+(2118,6016)
+(2119,6012)
+(2123,6013)
+(2123,6011)
+(2124,6011)
+(2128,6008)
+(2129,6010)
+(2133,6010)
+(2134,6012)
+(2145,6018)
+(2145,6020)
+(2147,6024)
+(2146,6027)
+(2148,6027)
+(2151,6032)
+(2152,6032)
+(2153,6036)
+(2154,6038)
+(2155,6039)
+(2159,6043)
+(2162,6043)
+(2164,6045)
+(2167,6051)
+(2167,6052)
+(2165,6054)
+(2167,6058)
+(2166,6060)
+(2164,6063)
+(2164,6066)
+(2162,6069)
+(2163,6072)
+(2163,6077)
+(2161,6080)
+(2163,6088)
+(2164,6090)
+(2168,6099)
+(2169,6105)
+(2166,6108)
+(2166,6113)
+(2164,6115)
+(2163,6115)
+(2162,6117)
+(2161,6117)
+(2161,6119)
+(2158,6122)
+(2150,6125)
+(2149,6126)
+(2149,6129)
+(2151,6135)
+(2152,6141)
+(2151,6145)
+(2150,6150)
+(2149,6157)
+(2150,6161)
+(2148,6164)
+(2150,6168)
+(2148,6180)
+(2147,6184)
+(2146,6185)
+(2145,6188)
+(2149,6191)
+(2149,6194)
+(2154,6201)
+(2156,6198)
+(2156,6196)
+(2158,6192)
+(2164,6198)
+(2165,6200)
+(2166,6201)
+(2167,6204)
+(2170,6207)
+(2169,6210)
+(2166,6214)
+(2168,6217)
+(2167,6219)
+(2166,6221)
+(2165,6223)
+(2164,6226)
+(2162,6234)
+(2163,6242)
+(2165,6243)
+(2167,6243)
+(2168,6241)
+(2169,6241)
+(2171,6242)
+(2173,6247)
+(2179,6251)
+(2181,6254)
+(2181,6258)
+(2182,6260)
+(2182,6264)
+(2185,6265)
+(2187,6273)
+(2190,6276)
+(2194,6279)
+(2195,6283)
+(2198,6282)
+(2200,6283)
+(2206,6276)
+(2209,6275)
+(2209,6273)
+(2211,6272)
+(2212,6268)
+(2213,6260)
+(2219,6261)
+(2223,6258)
+(2227,6259)
+(2227,6261)
+(2228,6258)
+(2229,6259)
+(2231,6269)
+(2233,6271)
+(2234,6274)
+(2235,6274)
+(2235,6277)
+(2237,6278)
+(2237,6280)
+(2238,6281)
+(2240,6284)
+(2240,6289)
+(2242,6291)
+(2244,6297)
+(2246,6300)
+(2247,6300)
+(2247,6304)
+(2249,6307)
+(2250,6334)
+(2251,6337)
+(2255,6352)
+(2256,6354)
+(2265,6358)
+(2269,6357)
+(2271,6359)
+(2277,6364)
+(2279,6368)
+(2281,6371)
+(2292,6375)
+(2300,6382)
+(2306,6391)
+(2311,6395)
+(2312,6392)
+(2314,6391)
+(2316,6391)
+(2319,6395)
+(2322,6394)
+(2323,6396)
+(2327,6398)
+(2336,6408)
+(2342,6412)
+(2344,6411)
+(2346,6413)
+(2353,6408)
+(2361,6408)
+(2363,6405)
+(2364,6405)
+(2367,6406)
+(2371,6405)
+(2374,6407)
+(2379,6406)
+(2380,6407)
+(2382,6405)
+(2386,6406)
+(2389,6404)
+(2390,6405)
+(2394,6403)
+(2395,6404)
+(2401,6403)
+(2419,6422)
+(2421,6427)
+(2423,6429)
+(2428,6429)
+(2430,6433)
+(2434,6432)
+(2436,6435)
+(2438,6436)
+(2438,6440)
+(2444,6452)
+(2444,6454)
+(2446,6457)
+(2446,6462)
+(2449,6462)
+(2450,6463)
+(2451,6487)
+(2453,6490)
+(2449,6493)
+(2448,6500)
+(2449,6504)
+(2443,6512)
+(2440,6515)
+(2438,6520)
+(2436,6522)
+(2437,6526)
+(2433,6526)
+(2433,6529)
+(2432,6530)
+(2434,6532)
+(2433,6533)
+(2432,6534)
+(2431,6539)
+(2431,6540)
+(2433,6540)
+(2432,6541)
+(2433,6543)
+(2431,6543)
+(2433,6546)
+(2431,6549)
+(2431,6552)
+(2429,6552)
+(2431,6557)
+(2429,6557)
+(2429,6567)
+(2430,6568)
+(2430,6566)
+(2431,6566)
+(2432,6570)
+(2431,6570)
+(2431,6571)
+(2432,6573)
+(2432,6575)
+(2433,6576)
+(2428,6582)
+(2431,6590)
+(2431,6595)
+(2430,6597)
+(2431,6598)
+(2430,6600)
+(2431,6602)
+(2430,6608)
+(2431,6609)
+(2432,6610)
+(2432,6612)
+(2431,6614)
+(2428,6614)
+(2429,6617)
+(2428,6618)
+(2427,6618)
+(2427,6621)
+(2423,6626)
+(2424,6628)
+(2423,6628)
+(2422,6629)
+(2423,6630)
+(2418,6637)
+(2418,6643)
+(2416,6647)
+(2417,6649)
+(2415,6653)
+(2415,6659)
+(2417,6662)
+(2416,6663)
+(2413,6670)
+(2410,6673)
+(2409,6678)
+(2405,6682)
+(2400,6685)
+(2395,6686)
+(2384,6681)
+(2377,6687)
+(2376,6687)
+(2377,6686)
+(2377,6685)
+(2375,6686)
+(2371,6685)
+(2370,6682)
+(2366,6680)
+(2366,6670)
+(2363,6666)
+(2361,6669)
+(2362,6670)
+(2359,6671)
+(2359,6673)
+(2358,6674)
+(2357,6673)
+(2355,6672)
+(2350,6669)
+(2344,6668)
+(2342,6665)
+(2341,6660)
+(2339,6659)
+(2334,6660)
+(2331,6660)
+(2327,6658)
+(2326,6657)
+(2324,6657)
+(2322,6654)
+(2319,6654)
+(2318,6652)
+(2316,6652)
+(2314,6654)
+(2311,6653)
+(2307,6651)
+(2306,6647)
+(2303,6645)
+(2301,6642)
+(2299,6640)
+(2298,6635)
+(2293,6634)
+(2292,6631)
+(2291,6630)
+(2287,6631)
+(2285,6630)
+(2277,6631)
+(2275,6635)
+(2268,6640)
+(2266,6645)
+(2264,6645)
+(2262,6642)
+(2260,6647)
+(2259,6647)
+(2258,6646)
+(2253,6647)
+(2248,6645)
+(2247,6643)
+(2246,6639)
+(2244,6638)
+(2242,6638)
+(2241,6641)
+(2239,6640)
+(2237,6640)
+(2236,6639)
+(2232,6636)
+(2229,6632)
+(2226,6631)
+(2223,6628)
+(2222,6625)
+(2221,6627)
+(2221,6626)
+(2220,6622)
+(2219,6624)
+(2217,6625)
+(2214,6624)
+(2213,6622)
+(2211,6624)
+(2209,6625)
+(2207,6624)
+(2206,6623)
+(2205,6625)
+(2204,6624)
+(2204,6627)
+(2201,6625)
+(2201,6623)
+(2195,6629)
+(2191,6630)
+(2189,6630)
+(2187,6628)
+(2184,6629)
+(2180,6627)
+(2175,6628)
+(2172,6627)
+(2168,6627)
+(2160,6629)
+(2158,6630)
+(2153,6630)
+(2153,6632)
+(2152,6633)
+(2142,6634)
+(2137,6637)
+(2134,6637)
+(2131,6633)
+(2126,6633)
+(2124,6630)
+(2117,6625)
+(2113,6621)
+(2097,6616)
+(2092,6616)
+(2088,6614)
+(2079,6615)
+(2077,6617)
+(2077,6622)
+(2075,6625)
+(2077,6627)
+(2075,6632)
+(2077,6643)
+(2079,6645)
+(2079,6653)
+(2081,6655)
+(2084,6655)
+(2083,6658)
+(2085,6661)
+(2086,6666)
+(2089,6669)
+(2088,6673)
+(2089,6675)
+(2089,6677)
+(2089,6678)
+(2090,6680)
+(2089,6684)
+(2090,6686)
+(2092,6694)
+(2097,6698)
+(2098,6700)
+(2100,6701)
+(2103,6708)
+(2105,6710)
+(2106,6716)
+(2104,6720)
+(2102,6723)
+(2101,6728)
+(2098,6732)
+(2097,6734)
+(2098,6737)
+(2096,6737)
+(2096,6740)
+(2095,6742)
+(2095,6748)
+(2089,6760)
+(2087,6767)
+(2090,6777)
+(2090,6784)
+(2093,6792)
+(2097,6795)
+(2098,6802)
+(2098,6813)
+(2094,6820)
+(2093,6825)
+(2093,6828)
+(2092,6831)
+(2093,6834)
+(2093,6837)
+(2096,6839)
+(2097,6841)
+(2096,6844)
+(2096,6851)
+(2094,6859)
+(2095,6865)
+(2094,6870)
+(2095,6874)
+(2094,6878)
+(2095,6881)
+(2094,6883)
+(2100,6888)
+(2102,6891)
+(2108,6892)
+(2110,6891)
+(2113,6896)
+(2117,6901)
+(2123,6904)
+(2123,6907)
+(2125,6909)
+(2124,6912)
+(2125,6914)
+(2128,6918)
+(2129,6920)
+(2133,6920)
+(2134,6923)
+(2138,6924)
+(2140,6929)
+(2141,6930)
+(2143,6930)
+(2144,6939)
+(2150,6944)
+(2152,6953)
+(2153,6953)
+(2155,6951)
+(2158,6956)
+(2158,6962)
+(2161,6963)
+(2164,6965)
+(2166,6964)
+(2167,6967)
+(2169,6969)
+(2170,6972)
+(2178,6979)
+(2179,6985)
+(2181,6988)
+(2184,6992)
+(2185,6995)
+(2187,6996)
+(2189,6995)
+(2190,6996)
+(2191,6996)
+(2195,6999)
+(2197,7004)
+(2202,7006)
+(2204,7012)
+(2203,7019)
+(2205,7021)
+(2207,7026)
+(2211,7028)
+(2213,7030)
+(2215,7031)
+(2218,7034)
+(2222,7034)
+(2224,7037)
+(2224,7041)
+(2225,7044)
+(2229,7053)
+(2235,7058)
+(2234,7065)
+(2236,7069)
+(2235,7073)
+(2239,7078)
+(2241,7084)
+(2243,7093)
+(2244,7094)
+(2246,7093)
+(2250,7097)
+(2255,7099)
+(2256,7103)
+(2257,7112)
+(2260,7117)
+(2264,7121)
+(2266,7119)
+(2270,7120)
+(2272,7122)
+(2284,7125)
+(2289,7128)
+750
+(2056,5434)
+(2055,5439)
+(2056,5441)
+(2058,5443)
+(2058,5451)
+(2059,5455)
+(2060,5464)
+(2059,5469)
+(2059,5474)
+(2057,5480)
+(2057,5489)
+(2057,5492)
+(2055,5501)
+(2055,5505)
+(2056,5507)
+(2056,5508)
+(2053,5510)
+(2049,5517)
+(2048,5520)
+(2048,5522)
+(2051,5524)
+(2052,5527)
+(2054,5528)
+(2055,5532)
+(2055,5537)
+(2053,5548)
+(2052,5556)
+(2049,5559)
+(2047,5559)
+(2046,5562)
+(2045,5569)
+(2046,5580)
+(2047,5581)
+(2049,5582)
+(2052,5585)
+(2053,5588)
+(2054,5592)
+(2054,5602)
+(2053,5604)
+(2054,5608)
+(2053,5619)
+(2054,5624)
+(2055,5628)
+(2058,5628)
+(2059,5630)
+(2061,5632)
+(2063,5632)
+(2064,5634)
+(2066,5634)
+(2068,5637)
+(2068,5638)
+(2073,5643)
+(2075,5650)
+(2075,5656)
+(2078,5658)
+(2079,5660)
+(2080,5660)
+(2081,5665)
+(2081,5667)
+(2083,5670)
+(2085,5671)
+(2086,5675)
+(2084,5681)
+(2082,5692)
+(2080,5698)
+(2079,5699)
+(2077,5699)
+(2075,5700)
+(2075,5702)
+(2072,5704)
+(2072,5707)
+(2069,5710)
+(2070,5712)
+(2069,5713)
+(2068,5714)
+(2068,5717)
+(2067,5718)
+(2069,5719)
+(2069,5720)
+(2067,5721)
+(2067,5723)
+(2061,5728)
+(2060,5734)
+(2056,5734)
+(2055,5735)
+(2054,5734)
+(2053,5740)
+(2050,5741)
+(2045,5745)
+(2043,5747)
+(2043,5749)
+(2039,5752)
+(2037,5752)
+(2037,5754)
+(2035,5754)
+(2032,5759)
+(2030,5759)
+(2029,5761)
+(2030,5762)
+(2029,5763)
+(2028,5767)
+(2027,5767)
+(2026,5766)
+(2026,5768)
+(2025,5768)
+(2027,5773)
+(2025,5774)
+(2024,5772)
+(2024,5774)
+(2023,5774)
+(2024,5775)
+(2023,5779)
+(2025,5780)
+(2026,5782)
+(2024,5784)
+(2022,5783)
+(2021,5784)
+(2021,5787)
+(2019,5790)
+(2017,5788)
+(2016,5795)
+(2015,5797)
+(2013,5797)
+(2012,5802)
+(2010,5801)
+(2007,5802)
+(2006,5803)
+(2005,5802)
+(2004,5804)
+(2004,5804)
+(2004,5805)
+(2003,5805)
+(2004,5806)
+(2001,5807)
+(2003,5808)
+(1999,5809)
+(2000,5810)
+(1999,5812)
+(2000,5812)
+(2000,5816)
+(2001,5818)
+(2000,5819)
+(2000,5820)
+(1999,5820)
+(1999,5821)
+(1998,5822)
+(1996,5821)
+(1993,5821)
+(1990,5823)
+(1988,5828)
+(1983,5831)
+(1980,5834)
+(1976,5836)
+(1975,5839)
+(1973,5842)
+(1966,5843)
+(1963,5846)
+(1962,5845)
+(1958,5853)
+(1957,5856)
+(1955,5857)
+(1953,5860)
+(1948,5880)
+(1944,5885)
+(1944,5887)
+(1941,5892)
+(1934,5893)
+(1933,5895)
+(1928,5898)
+(1925,5902)
+(1923,5903)
+(1919,5907)
+(1914,5907)
+(1913,5905)
+(1910,5906)
+(1909,5906)
+(1904,5911)
+(1901,5912)
+(1901,5913)
+(1896,5915)
+(1889,5923)
+(1884,5930)
+(1881,5933)
+(1874,5926)
+(1878,5922)
+(1879,5918)
+(1874,5916)
+(1871,5917)
+(1870,5916)
+(1869,5919)
+(1867,5922)
+(1864,5923)
+(1859,5928)
+(1856,5928)
+(1854,5927)
+(1852,5927)
+(1849,5932)
+(1847,5933)
+(1844,5937)
+(1843,5938)
+(1840,5934)
+(1834,5936)
+(1830,5936)
+(1827,5938)
+(1813,5938)
+(1808,5939)
+(1804,5942)
+(1800,5942)
+(1795,5943)
+(1789,5940)
+(1786,5941)
+(1785,5940)
+(1779,5939)
+(1774,5942)
+(1758,5944)
+(1754,5946)
+(1745,5946)
+(1737,5947)
+(1730,5946)
+(1725,5947)
+(1720,5948)
+(1715,5950)
+(1710,5951)
+(1706,5949)
+(1699,5954)
+(1698,5956)
+(1697,5956)
+(1696,5958)
+(1694,5958)
+(1692,5962)
+(1690,5963)
+(1689,5963)
+(1687,5964)
+(1680,5964)
+(1675,5967)
+(1671,5968)
+(1667,5966)
+(1660,5969)
+(1659,5971)
+(1656,5971)
+(1655,5973)
+(1650,5973)
+(1648,5976)
+(1647,5976)
+(1644,5978)
+(1641,5978)
+(1638,5979)
+(1632,5988)
+(1621,5997)
+(1620,5998)
+(1613,5998)
+(1615,6002)
+(1617,6004)
+(1624,6005)
+(1628,6003)
+(1630,6004)
+(1633,6008)
+(1639,6012)
+(1640,6014)
+(1642,6014)
+(1650,6011)
+(1652,6011)
+(1654,6014)
+(1657,6015)
+(1661,6018)
+(1663,6017)
+(1666,6018)
+(1670,6018)
+(1670,6021)
+(1671,6023)
+(1669,6025)
+(1664,6026)
+(1661,6028)
+(1653,6026)
+(1650,6027)
+(1648,6028)
+(1646,6032)
+(1643,6031)
+(1638,6032)
+(1635,6033)
+(1633,6032)
+(1631,6030)
+(1631,6026)
+(1629,6029)
+(1626,6029)
+(1621,6027)
+(1616,6028)
+(1612,6027)
+(1609,6027)
+(1608,6025)
+(1607,6023)
+(1603,6025)
+(1599,6025)
+(1597,6026)
+(1595,6025)
+(1590,6026)
+(1585,6028)
+(1582,6026)
+(1581,6027)
+(1579,6024)
+(1573,6027)
+(1574,6033)
+(1572,6036)
+(1573,6038)
+(1571,6040)
+(1571,6045)
+(1570,6046)
+(1572,6050)
+(1571,6051)
+(1570,6054)
+(1573,6057)
+(1576,6059)
+(1581,6068)
+(1582,6072)
+(1581,6074)
+(1582,6077)
+(1584,6086)
+(1586,6088)
+(1589,6087)
+(1590,6088)
+(1591,6087)
+(1596,6091)
+(1596,6097)
+(1594,6099)
+(1595,6100)
+(1594,6101)
+(1595,6104)
+(1595,6105)
+(1596,6108)
+(1595,6111)
+(1587,6113)
+(1585,6117)
+(1580,6117)
+(1574,6114)
+(1572,6115)
+(1569,6111)
+(1561,6111)
+(1560,6110)
+(1558,6112)
+(1560,6119)
+(1559,6124)
+(1561,6126)
+(1566,6127)
+(1570,6131)
+(1572,6134)
+(1573,6135)
+(1575,6140)
+(1579,6144)
+(1579,6147)
+(1581,6152)
+(1582,6154)
+(1580,6158)
+(1575,6156)
+(1573,6161)
+(1574,6163)
+(1577,6165)
+(1579,6171)
+(1582,6173)
+(1581,6173)
+(1581,6176)
+(1582,6179)
+(1583,6180)
+(1589,6180)
+(1590,6183)
+(1593,6184)
+(1595,6182)
+(1600,6182)
+(1602,6180)
+(1603,6181)
+(1609,6178)
+(1615,6174)
+(1620,6174)
+(1622,6172)
+(1627,6175)
+(1634,6174)
+(1637,6173)
+(1645,6177)
+(1642,6180)
+(1644,6183)
+(1645,6188)
+(1646,6189)
+(1649,6189)
+(1654,6193)
+(1655,6198)
+(1659,6197)
+(1659,6199)
+(1665,6205)
+(1666,6207)
+(1671,6210)
+(1676,6211)
+(1679,6214)
+(1679,6210)
+(1682,6209)
+(1682,6207)
+(1684,6206)
+(1686,6207)
+(1688,6207)
+(1688,6209)
+(1691,6212)
+(1694,6214)
+(1696,6218)
+(1695,6221)
+(1692,6223)
+(1695,6225)
+(1695,6227)
+(1699,6233)
+(1709,6229)
+(1712,6227)
+(1715,6229)
+(1716,6230)
+(1720,6231)
+(1720,6232)
+(1718,6233)
+(1718,6235)
+(1716,6237)
+(1718,6243)
+(1716,6246)
+(1718,6248)
+(1718,6254)
+(1720,6255)
+(1718,6256)
+(1717,6258)
+(1719,6262)
+(1718,6267)
+(1720,6269)
+(1722,6274)
+(1727,6277)
+(1728,6282)
+(1727,6285)
+(1729,6287)
+(1730,6289)
+(1727,6295)
+(1727,6296)
+(1730,6299)
+(1730,6300)
+(1728,6302)
+(1725,6301)
+(1723,6307)
+(1724,6309)
+(1727,6309)
+(1725,6315)
+(1727,6320)
+(1728,6321)
+(1731,6322)
+(1733,6326)
+(1735,6328)
+(1733,6330)
+(1733,6332)
+(1735,6334)
+(1737,6333)
+(1738,6334)
+(1738,6336)
+(1736,6338)
+(1733,6338)
+(1733,6343)
+(1735,6346)
+(1732,6347)
+(1729,6350)
+(1729,6351)
+(1733,6354)
+(1735,6352)
+(1737,6352)
+(1737,6350)
+(1738,6349)
+(1743,6352)
+(1744,6355)
+(1744,6360)
+(1746,6361)
+(1745,6365)
+(1745,6368)
+(1746,6368)
+(1750,6367)
+(1751,6369)
+(1754,6370)
+(1754,6373)
+(1755,6375)
+(1758,6375)
+(1756,6378)
+(1757,6382)
+(1760,6384)
+(1763,6387)
+(1764,6391)
+(1769,6390)
+(1769,6392)
+(1773,6392)
+(1774,6395)
+(1776,6395)
+(1777,6396)
+(1777,6397)
+(1774,6401)
+(1777,6405)
+(1775,6410)
+(1777,6412)
+(1786,6418)
+(1789,6423)
+(1789,6425)
+(1784,6427)
+(1781,6430)
+(1781,6432)
+(1785,6439)
+(1784,6444)
+(1787,6446)
+(1790,6449)
+(1793,6447)
+(1794,6449)
+(1794,6450)
+(1792,6452)
+(1791,6457)
+(1793,6463)
+(1800,6470)
+(1803,6472)
+(1806,6472)
+(1809,6476)
+(1812,6477)
+(1814,6480)
+(1817,6481)
+(1819,6484)
+(1818,6487)
+(1820,6487)
+(1822,6485)
+(1823,6488)
+(1824,6489)
+(1826,6493)
+(1834,6498)
+(1844,6505)
+(1845,6505)
+(1849,6504)
+(1850,6505)
+(1851,6509)
+(1855,6512)
+(1855,6515)
+(1857,6518)
+(1855,6525)
+(1857,6533)
+(1856,6539)
+(1858,6548)
+(1858,6557)
+(1860,6567)
+(1862,6570)
+(1863,6574)
+(1860,6578)
+(1860,6581)
+(1863,6587)
+(1864,6597)
+(1861,6603)
+(1862,6609)
+(1861,6618)
+(1863,6621)
+(1861,6626)
+(1862,6633)
+(1860,6635)
+(1859,6641)
+(1856,6648)
+(1853,6651)
+(1852,6657)
+(1849,6661)
+(1851,6665)
+(1851,6668)
+(1849,6670)
+(1847,6669)
+(1845,6676)
+(1842,6676)
+(1836,6683)
+(1829,6686)
+(1825,6687)
+(1824,6691)
+(1819,6690)
+(1816,6693)
+(1817,6696)
+(1821,6698)
+(1823,6700)
+(1825,6704)
+(1825,6708)
+(1825,6713)
+(1817,6720)
+(1818,6731)
+(1817,6735)
+(1813,6736)
+(1809,6732)
+(1807,6731)
+(1805,6732)
+(1804,6733)
+(1804,6741)
+(1801,6744)
+(1799,6745)
+(1797,6745)
+(1791,6743)
+(1784,6742)
+(1786,6748)
+(1786,6752)
+(1790,6753)
+(1791,6755)
+(1790,6756)
+(1785,6755)
+(1782,6757)
+(1783,6758)
+(1788,6758)
+(1789,6760)
+(1788,6766)
+(1786,6765)
+(1786,6761)
+(1784,6762)
+(1784,6767)
+(1787,6772)
+(1787,6774)
+(1782,6776)
+(1786,6781)
+(1782,6780)
+(1779,6775)
+(1776,6774)
+(1768,6776)
+(1771,6782)
+(1770,6783)
+(1768,6783)
+(1767,6783)
+(1766,6784)
+(1770,6785)
+(1769,6786)
+(1767,6787)
+(1770,6790)
+(1782,6801)
+(1790,6811)
+(1793,6816)
+(1797,6820)
+(1797,6822)
+(1796,6822)
+(1795,6824)
+(1796,6828)
+(1797,6830)
+(1801,6834)
+(1805,6844)
+(1807,6844)
+(1811,6839)
+(1812,6836)
+(1811,6832)
+(1813,6831)
+(1817,6834)
+(1817,6836)
+(1816,6839)
+(1813,6842)
+(1815,6843)
+(1820,6846)
+(1831,6856)
+(1839,6860)
+(1842,6864)
+(1841,6871)
+(1836,6875)
+(1835,6877)
+(1835,6882)
+(1838,6887)
+(1837,6892)
+(1836,6894)
+(1833,6894)
+(1832,6892)
+(1833,6890)
+(1829,6889)
+(1827,6890)
+(1825,6894)
+(1825,6901)
+(1822,6905)
+(1820,6906)
+(1815,6904)
+(1813,6906)
+(1813,6911)
+(1809,6916)
+(1805,6919)
+(1802,6919)
+(1798,6924)
+(1793,6926)
+(1792,6930)
+(1792,6937)
+(1793,6941)
+(1792,6945)
+(1791,6947)
+(1789,6945)
+(1787,6947)
+(1784,6955)
+(1785,6959)
+(1790,6969)
+(1790,6972)
+(1788,6975)
+(1790,6978)
+(1794,6981)
+(1795,6991)
+(1804,6994)
+(1805,6998)
+(1804,7004)
+(1811,7011)
+(1818,7014)
+(1826,7011)
+(1828,7012)
+(1828,7014)
+(1827,7016)
+(1828,7017)
+(1830,7021)
+(1832,7033)
+(1835,7033)
+(1837,7032)
+(1840,7031)
+(1842,7033)
+(1840,7035)
+(1842,7039)
+(1846,7047)
+(1846,7053)
+(1849,7062)
+(1855,7063)
+(1861,7063)
+(1867,7065)
+(1871,7070)
+(1870,7073)
+(1865,7075)
+(1865,7077)
+(1867,7078)
+(1872,7078)
+(1877,7079)
+(1878,7082)
+(1877,7083)
+(1875,7084)
+(1874,7085)
+(1878,7091)
+(1879,7099)
+(1890,7098)
+(1891,7098)
+(1891,7100)
+(1892,7101)
+(1904,7104)
+(1904,7104)
+(1904,7105)
+(1903,7105)
+(1904,7105)
+(1914,7111)
+(1919,7116)
+(1923,7119)
+(1928,7124)
+(1933,7124)
+(1934,7128)
+(1933,7130)
+(1931,7131)
+(1931,7134)
+(1932,7139)
+(1935,7144)
+(1934,7152)
+(1934,7163)
+(1936,7168)
+(1935,7170)
+(1936,7171)
+(1934,7172)
+(1936,7173)
+(1934,7176)
+(1932,7177)
+258
+(1931,7177)
+(1931,7172)
+(1933,7169)
+(1934,7164)
+(1931,7160)
+(1931,7157)
+(1934,7147)
+(1934,7145)
+(1931,7139)
+(1929,7135)
+(1929,7129)
+(1928,7125)
+(1920,7120)
+(1914,7114)
+(1907,7110)
+(1904,7107)
+(1901,7106)
+(1896,7107)
+(1892,7103)
+(1888,7100)
+(1879,7100)
+(1876,7099)
+(1877,7097)
+(1876,7095)
+(1876,7091)
+(1875,7088)
+(1871,7082)
+(1871,7080)
+(1867,7079)
+(1864,7077)
+(1865,7072)
+(1867,7070)
+(1867,7067)
+(1863,7066)
+(1857,7067)
+(1853,7064)
+(1848,7063)
+(1844,7052)
+(1841,7048)
+(1841,7042)
+(1841,7039)
+(1839,7038)
+(1839,7035)
+(1831,7034)
+(1828,7032)
+(1829,7024)
+(1828,7019)
+(1826,7017)
+(1823,7017)
+(1822,7015)
+(1816,7016)
+(1806,7009)
+(1804,7006)
+(1801,6999)
+(1798,6998)
+(1797,6994)
+(1793,6991)
+(1792,6988)
+(1790,6980)
+(1783,6971)
+(1782,6972)
+(1782,6975)
+(1782,6976)
+(1781,6974)
+(1779,6975)
+(1780,6973)
+(1780,6972)
+(1777,6972)
+(1776,6971)
+(1773,6973)
+(1773,6971)
+(1775,6970)
+(1773,6969)
+(1771,6969)
+(1770,6970)
+(1769,6969)
+(1766,6969)
+(1767,6968)
+(1766,6966)
+(1762,6964)
+(1762,6966)
+(1763,6968)
+(1762,6970)
+(1765,6973)
+(1762,6974)
+(1761,6973)
+(1760,6967)
+(1758,6967)
+(1756,6970)
+(1755,6967)
+(1755,6967)
+(1754,6969)
+(1756,6974)
+(1755,6974)
+(1754,6975)
+(1752,6978)
+(1754,6978)
+(1753,6979)
+(1754,6980)
+(1754,6981)
+(1753,6981)
+(1754,6983)
+(1752,6982)
+(1750,6980)
+(1748,6980)
+(1750,6981)
+(1749,6982)
+(1749,6984)
+(1751,6984)
+(1750,6985)
+(1750,6986)
+(1753,6987)
+(1757,6986)
+(1756,6988)
+(1751,6989)
+(1752,6990)
+(1755,6990)
+(1752,6991)
+(1754,6993)
+(1755,6992)
+(1754,6994)
+(1755,6997)
+(1754,6997)
+(1754,6996)
+(1752,6997)
+(1753,6998)
+(1756,6998)
+(1755,6999)
+(1753,7000)
+(1753,7001)
+(1752,6999)
+(1749,6997)
+(1749,6999)
+(1751,7001)
+(1749,7001)
+(1748,7003)
+(1745,7002)
+(1745,7001)
+(1747,7001)
+(1748,7000)
+(1744,6998)
+(1748,6997)
+(1747,6995)
+(1748,6994)
+(1747,6992)
+(1749,6990)
+(1749,6988)
+(1749,6988)
+(1748,6989)
+(1747,6989)
+(1744,6992)
+(1744,6991)
+(1742,6989)
+(1743,6987)
+(1741,6988)
+(1741,6989)
+(1740,6989)
+(1737,6991)
+(1734,6991)
+(1733,6993)
+(1732,6993)
+(1731,6992)
+(1729,6993)
+(1726,6991)
+(1727,6991)
+(1727,6988)
+(1731,6985)
+(1732,6985)
+(1734,6987)
+(1733,6984)
+(1730,6983)
+(1729,6982)
+(1735,6985)
+(1738,6985)
+(1736,6984)
+(1736,6983)
+(1734,6984)
+(1730,6982)
+(1731,6980)
+(1734,6981)
+(1735,6979)
+(1739,6981)
+(1739,6976)
+(1740,6976)
+(1742,6975)
+(1742,6973)
+(1742,6972)
+(1743,6971)
+(1742,6971)
+(1742,6969)
+(1745,6969)
+(1744,6967)
+(1745,6966)
+(1748,6965)
+(1748,6964)
+(1751,6962)
+(1751,6965)
+(1752,6965)
+(1751,6969)
+(1752,6970)
+(1754,6961)
+(1756,6960)
+(1756,6958)
+(1752,6959)
+(1752,6955)
+(1756,6956)
+(1758,6960)
+(1760,6962)
+(1765,6960)
+(1765,6958)
+(1768,6964)
+(1769,6964)
+(1770,6965)
+(1771,6964)
+(1772,6966)
+(1774,6965)
+(1775,6967)
+(1779,6968)
+(1780,6968)
+(1781,6966)
+(1782,6966)
+(1782,6963)
+(1783,6966)
+(1783,6969)
+(1785,6971)
+(1785,6962)
+(1784,6959)
+(1783,6950)
+(1785,6946)
+(1784,6951)
+(1787,6945)
+(1790,6940)
+(1791,6927)
+(1794,6924)
+(1797,6923)
+(1802,6918)
+(1805,6917)
+(1809,6915)
+(1812,6910)
+(1812,6905)
+(1813,6903)
+(1820,6904)
+(1822,6903)
+(1824,6899)
+(1824,6892)
+(1826,6889)
+(1828,6889)
+(1834,6889)
+(1836,6887)
+(1836,6885)
+(1834,6881)
+(1833,6876)
+(1834,6874)
+(1836,6873)
+(1839,6872)
+(1840,6868)
+(1838,6862)
+(1835,6858)
+226
+(1553,6235)
+(1552,6235)
+(1550,6232)
+(1546,6232)
+(1546,6230)
+(1543,6229)
+(1540,6231)
+(1538,6229)
+(1532,6232)
+(1528,6232)
+(1525,6231)
+(1518,6231)
+(1516,6233)
+(1513,6233)
+(1511,6232)
+(1510,6228)
+(1507,6226)
+(1505,6227)
+(1501,6221)
+(1500,6218)
+(1499,6216)
+(1499,6214)
+(1496,6211)
+(1495,6206)
+(1496,6205)
+(1499,6206)
+(1501,6203)
+(1500,6201)
+(1501,6195)
+(1499,6192)
+(1499,6190)
+(1497,6189)
+(1496,6191)
+(1492,6190)
+(1490,6190)
+(1488,6189)
+(1488,6188)
+(1487,6188)
+(1485,6184)
+(1480,6182)
+(1474,6183)
+(1473,6184)
+(1474,6186)
+(1474,6187)
+(1473,6187)
+(1468,6186)
+(1466,6184)
+(1465,6184)
+(1464,6185)
+(1460,6185)
+(1458,6187)
+(1454,6186)
+(1449,6188)
+(1442,6187)
+(1438,6190)
+(1429,6191)
+(1429,6193)
+(1428,6194)
+(1429,6196)
+(1431,6198)
+(1431,6203)
+(1433,6207)
+(1432,6212)
+(1433,6216)
+(1436,6216)
+(1440,6218)
+(1443,6215)
+(1446,6215)
+(1451,6219)
+(1453,6227)
+(1461,6231)
+(1463,6235)
+(1466,6237)
+(1467,6240)
+(1466,6244)
+(1467,6246)
+(1471,6254)
+(1472,6257)
+(1474,6262)
+(1478,6265)
+(1480,6269)
+(1485,6272)
+(1484,6274)
+(1481,6278)
+(1480,6281)
+(1478,6283)
+(1478,6284)
+(1481,6287)
+(1481,6291)
+(1485,6293)
+(1488,6301)
+(1494,6304)
+(1497,6307)
+(1498,6310)
+(1500,6311)
+(1498,6315)
+(1496,6317)
+(1496,6319)
+(1497,6322)
+(1496,6325)
+(1491,6328)
+(1489,6330)
+(1489,6336)
+(1487,6338)
+(1487,6341)
+(1482,6348)
+(1484,6352)
+(1484,6355)
+(1479,6360)
+(1478,6361)
+(1482,6364)
+(1486,6370)
+(1489,6372)
+(1492,6372)
+(1497,6369)
+(1498,6370)
+(1498,6372)
+(1499,6373)
+(1499,6379)
+(1502,6387)
+(1505,6392)
+(1506,6395)
+(1510,6399)
+(1511,6401)
+(1510,6404)
+(1511,6413)
+(1514,6415)
+(1515,6416)
+(1514,6418)
+(1509,6419)
+(1502,6422)
+(1500,6426)
+(1500,6430)
+(1496,6432)
+(1495,6435)
+(1490,6439)
+(1485,6440)
+(1482,6439)
+(1478,6440)
+(1474,6444)
+(1469,6448)
+(1463,6451)
+(1459,6451)
+(1461,6453)
+(1459,6456)
+(1456,6457)
+(1454,6456)
+(1452,6456)
+(1449,6454)
+(1450,6452)
+(1449,6451)
+(1447,6449)
+(1445,6451)
+(1443,6450)
+(1440,6451)
+(1437,6454)
+(1436,6458)
+(1438,6462)
+(1436,6462)
+(1430,6467)
+(1423,6472)
+(1423,6474)
+(1425,6474)
+(1425,6481)
+(1428,6482)
+(1430,6486)
+(1431,6487)
+(1430,6490)
+(1433,6492)
+(1435,6496)
+(1438,6497)
+(1438,6498)
+(1440,6499)
+(1440,6501)
+(1441,6502)
+(1442,6504)
+(1441,6507)
+(1441,6509)
+(1440,6510)
+(1440,6514)
+(1439,6517)
+(1438,6517)
+(1437,6519)
+(1431,6523)
+(1433,6525)
+(1430,6527)
+(1429,6532)
+(1428,6531)
+(1426,6533)
+(1425,6531)
+(1424,6531)
+(1422,6533)
+(1419,6535)
+(1418,6538)
+(1420,6540)
+(1421,6544)
+(1424,6550)
+(1424,6552)
+(1422,6553)
+(1421,6556)
+(1423,6563)
+(1426,6566)
+(1431,6566)
+(1431,6568)
+(1428,6569)
+(1428,6573)
+(1427,6574)
+(1425,6574)
+(1422,6573)
+(1423,6576)
+(1422,6576)
+(1421,6576)
+(1421,6579)
+(1420,6580)
+(1416,6578)
+(1415,6581)
+(1408,6585)
+(1408,6586)
+(1409,6589)
+(1408,6590)
+(1405,6591)
+(1405,6597)
+(1408,6599)
+(1408,6601)
+(1404,6604)
+(1404,6605)
+112
+(1354,6790)
+(1355,6789)
+(1356,6787)
+(1358,6785)
+(1367,6783)
+(1367,6782)
+(1367,6778)
+(1371,6774)
+(1375,6772)
+(1389,6766)
+(1390,6760)
+(1389,6755)
+(1384,6751)
+(1383,6747)
+(1384,6744)
+(1387,6742)
+(1390,6739)
+(1384,6731)
+(1385,6727)
+(1384,6722)
+(1387,6716)
+(1387,6711)
+(1387,6708)
+(1389,6698)
+(1393,6691)
+(1397,6692)
+(1402,6689)
+(1406,6688)
+(1409,6683)
+(1409,6675)
+(1406,6671)
+(1408,6666)
+(1408,6663)
+(1406,6661)
+(1406,6659)
+(1404,6656)
+(1402,6652)
+(1406,6651)
+(1409,6647)
+(1407,6642)
+(1408,6639)
+(1407,6637)
+(1408,6636)
+(1406,6632)
+(1408,6632)
+(1409,6630)
+(1413,6622)
+(1413,6618)
+(1415,6617)
+(1415,6613)
+(1413,6612)
+(1412,6610)
+(1409,6609)
+(1408,6607)
+(1404,6605)
+(1405,6607)
+(1407,6608)
+(1408,6610)
+(1411,6610)
+(1412,6612)
+(1415,6613)
+(1414,6617)
+(1412,6618)
+(1412,6623)
+(1409,6626)
+(1409,6629)
+(1407,6631)
+(1405,6632)
+(1407,6635)
+(1406,6641)
+(1407,6646)
+(1405,6650)
+(1402,6651)
+(1401,6651)
+(1403,6655)
+(1407,6663)
+(1407,6666)
+(1405,6671)
+(1406,6675)
+(1408,6677)
+(1408,6686)
+(1406,6689)
+(1401,6691)
+(1396,6694)
+(1393,6692)
+(1391,6694)
+(1391,6697)
+(1390,6699)
+(1388,6708)
+(1388,6718)
+(1386,6719)
+(1385,6723)
+(1386,6727)
+(1385,6731)
+(1390,6739)
+(1388,6744)
+(1384,6745)
+(1384,6747)
+(1384,6751)
+(1387,6752)
+(1391,6757)
+(1390,6767)
+(1389,6768)
+(1380,6771)
+(1374,6775)
+(1371,6775)
+(1369,6779)
+(1369,6783)
+(1367,6785)
+(1363,6785)
+(1361,6786)
+(1354,6790)
+10
+(1389,6768)
+(1389,6773)
+(1387,6776)
+(1383,6779)
+(1378,6779)
+(1375,6783)
+(1373,6786)
+(1374,6788)
+(1374,6790)
+(1374,6793)
+10
+(1382,6779)
+(1382,6782)
+(1383,6784)
+(1382,6787)
+(1384,6787)
+(1384,6789)
+(1382,6793)
+(1382,6803)
+(1382,6804)
+(1383,6805)
+550
+(1996,5633)
+(1994,5633)
+(1993,5635)
+(1992,5639)
+(1989,5644)
+(1991,5652)
+(1989,5659)
+(1989,5664)
+(1990,5667)
+(1992,5669)
+(1993,5671)
+(1992,5675)
+(1991,5679)
+(1991,5686)
+(1991,5689)
+(1990,5692)
+(1987,5694)
+(1986,5696)
+(1985,5697)
+(1986,5697)
+(1984,5705)
+(1979,5706)
+(1977,5705)
+(1976,5706)
+(1976,5709)
+(1974,5713)
+(1972,5721)
+(1971,5725)
+(1971,5733)
+(1968,5737)
+(1963,5739)
+(1961,5745)
+(1959,5747)
+(1959,5750)
+(1957,5750)
+(1953,5756)
+(1954,5771)
+(1950,5775)
+(1949,5779)
+(1946,5781)
+(1945,5786)
+(1943,5785)
+(1941,5786)
+(1935,5790)
+(1929,5792)
+(1927,5801)
+(1927,5803)
+(1927,5805)
+(1923,5806)
+(1922,5811)
+(1919,5811)
+(1917,5813)
+(1917,5817)
+(1915,5820)
+(1912,5819)
+(1909,5821)
+(1906,5821)
+(1901,5825)
+(1897,5825)
+(1892,5831)
+(1889,5832)
+(1886,5831)
+(1884,5832)
+(1880,5833)
+(1877,5829)
+(1871,5832)
+(1867,5831)
+(1862,5834)
+(1860,5839)
+(1857,5842)
+(1855,5843)
+(1849,5841)
+(1843,5842)
+(1841,5845)
+(1839,5849)
+(1835,5852)
+(1834,5854)
+(1827,5857)
+(1824,5860)
+(1823,5864)
+(1819,5867)
+(1816,5872)
+(1814,5873)
+(1813,5876)
+(1810,5877)
+(1807,5880)
+(1804,5880)
+(1800,5883)
+(1798,5883)
+(1794,5886)
+(1789,5889)
+(1788,5893)
+(1783,5895)
+(1778,5900)
+(1773,5900)
+(1765,5905)
+(1764,5906)
+(1761,5906)
+(1760,5908)
+(1749,5918)
+(1742,5915)
+(1736,5919)
+(1733,5918)
+(1722,5921)
+(1718,5923)
+(1713,5927)
+(1710,5927)
+(1704,5931)
+(1700,5932)
+(1695,5931)
+(1689,5933)
+(1687,5935)
+(1680,5934)
+(1676,5937)
+(1672,5942)
+(1670,5942)
+(1669,5942)
+(1668,5943)
+(1663,5943)
+(1660,5940)
+(1656,5941)
+(1655,5942)
+(1653,5941)
+(1640,5946)
+(1638,5946)
+(1635,5945)
+(1633,5946)
+(1632,5949)
+(1628,5950)
+(1621,5949)
+(1619,5950)
+(1613,5951)
+(1605,5948)
+(1603,5950)
+(1596,5948)
+(1593,5946)
+(1592,5946)
+(1589,5949)
+(1587,5948)
+(1584,5949)
+(1583,5948)
+(1580,5949)
+(1579,5948)
+(1572,5948)
+(1570,5948)
+(1568,5948)
+(1564,5948)
+(1559,5949)
+(1553,5949)
+(1549,5952)
+(1545,5955)
+(1537,5957)
+(1534,5961)
+(1531,5960)
+(1528,5961)
+(1525,5961)
+(1526,5958)
+(1525,5957)
+(1523,5957)
+(1519,5960)
+(1517,5962)
+(1513,5964)
+(1508,5970)
+(1508,5973)
+(1505,5979)
+(1498,5985)
+(1493,5985)
+(1491,5990)
+(1489,5991)
+(1486,5993)
+(1483,6006)
+(1480,6008)
+(1483,6009)
+(1485,6013)
+(1486,6019)
+(1485,6022)
+(1483,6025)
+(1479,6026)
+(1476,6030)
+(1474,6031)
+(1471,6031)
+(1471,6032)
+(1468,6033)
+(1468,6033)
+(1467,6031)
+(1463,6031)
+(1455,6031)
+(1451,6032)
+(1446,6031)
+(1445,6029)
+(1444,6024)
+(1443,6023)
+(1434,6025)
+(1430,6020)
+(1425,6017)
+(1424,6015)
+(1419,6011)
+(1409,6009)
+(1406,6006)
+(1404,6006)
+(1401,6004)
+(1396,6005)
+(1393,6003)
+(1390,6007)
+(1384,6008)
+(1383,6011)
+(1380,6013)
+(1380,6015)
+(1377,6016)
+(1377,6018)
+(1374,6017)
+(1367,6022)
+(1360,6022)
+(1359,6024)
+(1355,6028)
+(1351,6034)
+(1349,6035)
+(1345,6034)
+(1342,6038)
+(1339,6039)
+(1338,6037)
+(1336,6037)
+(1336,6037)
+(1335,6040)
+(1334,6042)
+(1328,6044)
+(1327,6043)
+(1326,6046)
+(1323,6046)
+(1321,6048)
+(1319,6052)
+(1317,6052)
+(1315,6054)
+(1311,6056)
+(1311,6063)
+(1310,6064)
+(1308,6064)
+(1307,6065)
+(1308,6071)
+(1307,6070)
+(1306,6067)
+(1302,6067)
+(1298,6070)
+(1296,6070)
+(1294,6069)
+(1292,6070)
+(1288,6066)
+(1284,6060)
+(1282,6054)
+(1278,6051)
+(1278,6043)
+(1271,6042)
+(1268,6040)
+(1263,6037)
+(1261,6033)
+(1259,6033)
+(1257,6031)
+(1252,6031)
+(1253,6038)
+(1252,6039)
+(1251,6037)
+(1248,6031)
+(1250,6022)
+(1247,6021)
+(1245,6015)
+(1242,6013)
+(1237,6010)
+(1224,6008)
+(1221,6005)
+(1219,6006)
+(1215,6006)
+(1214,6010)
+(1215,6010)
+(1218,6010)
+(1219,6013)
+(1221,6014)
+(1223,6016)
+(1223,6020)
+(1222,6021)
+(1214,6025)
+(1214,6026)
+(1211,6028)
+(1209,6031)
+(1210,6033)
+(1209,6035)
+(1206,6036)
+(1202,6035)
+(1190,6035)
+(1188,6036)
+(1189,6041)
+(1194,6048)
+(1193,6050)
+(1193,6055)
+(1190,6061)
+(1191,6061)
+(1191,6064)
+(1193,6067)
+(1189,6075)
+(1190,6079)
+(1189,6094)
+(1190,6097)
+(1192,6096)
+(1196,6103)
+(1197,6111)
+(1199,6115)
+(1203,6119)
+(1203,6123)
+(1205,6129)
+(1203,6133)
+(1197,6135)
+(1192,6127)
+(1190,6122)
+(1186,6118)
+(1178,6109)
+(1175,6108)
+(1171,6110)
+(1169,6109)
+(1165,6111)
+(1164,6114)
+(1162,6112)
+(1156,6109)
+(1152,6110)
+(1141,6108)
+(1137,6109)
+(1133,6108)
+(1129,6111)
+(1127,6112)
+(1121,6109)
+(1117,6108)
+(1109,6104)
+(1108,6099)
+(1098,6092)
+(1098,6089)
+(1091,6085)
+(1089,6084)
+(1084,6086)
+(1079,6086)
+(1075,6085)
+(1072,6088)
+(1072,6091)
+(1072,6093)
+(1069,6093)
+(1069,6094)
+(1072,6095)
+(1071,6096)
+(1072,6097)
+(1073,6098)
+(1075,6104)
+(1082,6106)
+(1084,6107)
+(1082,6113)
+(1082,6115)
+(1084,6116)
+(1089,6121)
+(1092,6123)
+(1093,6126)
+(1092,6131)
+(1089,6131)
+(1084,6137)
+(1083,6138)
+(1082,6142)
+(1079,6145)
+(1078,6149)
+(1078,6152)
+(1077,6156)
+(1074,6157)
+(1070,6155)
+(1068,6160)
+(1069,6161)
+(1072,6160)
+(1073,6165)
+(1076,6167)
+(1078,6172)
+(1080,6177)
+(1079,6181)
+(1079,6183)
+(1082,6184)
+(1087,6184)
+(1090,6188)
+(1094,6189)
+(1098,6197)
+(1098,6197)
+(1100,6194)
+(1102,6194)
+(1106,6198)
+(1107,6204)
+(1106,6207)
+(1106,6210)
+(1104,6217)
+(1100,6222)
+(1101,6228)
+(1100,6230)
+(1097,6232)
+(1100,6236)
+(1100,6239)
+(1092,6245)
+(1086,6247)
+(1080,6253)
+(1072,6257)
+(1069,6262)
+(1059,6267)
+(1055,6276)
+(1053,6281)
+(1044,6288)
+(1034,6289)
+(1029,6289)
+(1021,6285)
+(1019,6285)
+(1011,6286)
+(1008,6285)
+(1002,6287)
+(994,6285)
+(992,6285)
+(990,6287)
+(988,6291)
+(981,6295)
+(978,6300)
+(974,6302)
+(968,6303)
+(966,6305)
+(963,6312)
+(961,6325)
+(959,6326)
+(959,6323)
+(956,6321)
+(948,6324)
+(946,6327)
+(946,6330)
+(946,6331)
+(944,6336)
+(941,6338)
+(935,6338)
+(932,6337)
+(926,6336)
+(924,6334)
+(923,6330)
+(921,6329)
+(920,6332)
+(921,6336)
+(918,6339)
+(917,6340)
+(914,6340)
+(913,6341)
+(907,6347)
+(906,6350)
+(899,6354)
+(896,6354)
+(893,6355)
+(889,6355)
+(885,6357)
+(880,6353)
+(876,6352)
+(867,6352)
+(866,6353)
+(864,6352)
+(859,6353)
+(857,6353)
+(853,6351)
+(848,6352)
+(845,6351)
+(844,6354)
+(840,6355)
+(840,6357)
+(837,6360)
+(834,6359)
+(834,6360)
+(831,6361)
+(830,6359)
+(828,6359)
+(819,6364)
+(816,6362)
+(813,6359)
+(814,6362)
+(813,6363)
+(815,6370)
+(814,6374)
+(814,6370)
+(812,6363)
+(813,6361)
+(812,6358)
+(810,6357)
+(806,6358)
+(804,6357)
+(800,6359)
+(795,6359)
+(789,6365)
+(786,6364)
+(784,6365)
+(780,6365)
+(776,6362)
+(767,6359)
+(762,6361)
+(755,6362)
+(752,6360)
+(742,6364)
+(737,6362)
+(735,6359)
+(735,6357)
+(735,6347)
+(736,6341)
+(736,6340)
+(737,6337)
+(737,6335)
+(736,6334)
+(734,6333)
+(728,6334)
+(727,6333)
+(725,6333)
+(725,6333)
+(723,6333)
+(720,6329)
+(716,6329)
+(714,6327)
+(714,6324)
+(715,6319)
+(715,6314)
+(716,6312)
+(715,6310)
+(714,6309)
+(710,6307)
+(710,6301)
+(709,6300)
+(706,6301)
+(702,6299)
+(697,6297)
+(694,6297)
+(693,6299)
+(692,6304)
+(686,6314)
+(680,6317)
+(674,6317)
+(666,6313)
+(657,6312)
+(649,6314)
+(648,6315)
+(649,6318)
+(649,6320)
+(634,6327)
+(632,6333)
+(627,6335)
+(625,6338)
+(625,6341)
+(620,6347)
+(618,6352)
+(617,6354)
+(618,6355)
+(620,6358)
+(618,6368)
+(621,6382)
+(619,6386)
+214
+(600,6349)
+(614,6335)
+(626,6324)
+(627,6321)
+(632,6319)
+(633,6316)
+(636,6313)
+(640,6312)
+(642,6308)
+(644,6308)
+(650,6305)
+(652,6306)
+(654,6305)
+(657,6307)
+(657,6305)
+(658,6304)
+(670,6304)
+(675,6302)
+(680,6302)
+(682,6300)
+(686,6303)
+(687,6301)
+(688,6298)
+(689,6296)
+(697,6295)
+(701,6291)
+(706,6290)
+(714,6286)
+(715,6286)
+(716,6288)
+(723,6286)
+(731,6290)
+(735,6286)
+(735,6283)
+(733,6285)
+(733,6284)
+(737,6280)
+(740,6279)
+(742,6274)
+(744,6274)
+(742,6276)
+(742,6278)
+(742,6278)
+(748,6278)
+(751,6277)
+(752,6274)
+(753,6273)
+(751,6277)
+(749,6279)
+(748,6279)
+(743,6279)
+(737,6282)
+(736,6284)
+(735,6287)
+(731,6291)
+(722,6287)
+(721,6288)
+(719,6290)
+(718,6291)
+(714,6290)
+(712,6288)
+(701,6292)
+(698,6295)
+(694,6296)
+(700,6295)
+(706,6300)
+(707,6300)
+(709,6299)
+(711,6300)
+(712,6307)
+(715,6309)
+(717,6312)
+(716,6325)
+(719,6328)
+(723,6329)
+(724,6330)
+(728,6332)
+(731,6331)
+(735,6332)
+(738,6335)
+(736,6347)
+(736,6356)
+(737,6361)
+(740,6363)
+(747,6362)
+(750,6359)
+(753,6360)
+(755,6361)
+(757,6360)
+(760,6360)
+(767,6356)
+(770,6356)
+(777,6359)
+(780,6358)
+(784,6360)
+(787,6360)
+(789,6361)
+(795,6356)
+(801,6355)
+(802,6353)
+(804,6352)
+(811,6355)
+(817,6360)
+(821,6360)
+(822,6361)
+(826,6357)
+(831,6359)
+(835,6358)
+(836,6356)
+(837,6358)
+(838,6357)
+(839,6354)
+(839,6351)
+(841,6348)
+(842,6347)
+(845,6347)
+(849,6346)
+(847,6344)
+(849,6345)
+(851,6345)
+(853,6348)
+(858,6352)
+(862,6352)
+(865,6350)
+(868,6351)
+(871,6349)
+(881,6352)
+(881,6353)
+(883,6355)
+(883,6354)
+(886,6356)
+(890,6353)
+(896,6354)
+(901,6352)
+(906,6349)
+(906,6347)
+(912,6340)
+(914,6339)
+(917,6339)
+(920,6336)
+(919,6331)
+(916,6328)
+(916,6326)
+(918,6324)
+(916,6319)
+(914,6317)
+(914,6315)
+(919,6323)
+(917,6327)
+(918,6328)
+(919,6330)
+(921,6328)
+(923,6329)
+(924,6334)
+(926,6336)
+(932,6336)
+(935,6338)
+(940,6338)
+(943,6336)
+(945,6334)
+(946,6330)
+(945,6329)
+(945,6326)
+(949,6323)
+(956,6320)
+(960,6323)
+(960,6325)
+(960,6326)
+(963,6314)
+(966,6303)
+(971,6301)
+(974,6301)
+(976,6300)
+(981,6293)
+(986,6291)
+(991,6285)
+(994,6284)
+(1003,6286)
+(1008,6284)
+(1012,6286)
+(1014,6284)
+(1020,6284)
+(1028,6288)
+(1032,6288)
+(1043,6288)
+(1047,6284)
+(1050,6283)
+(1052,6281)
+(1059,6268)
+(1063,6264)
+(1068,6261)
+(1071,6256)
+(1079,6253)
+(1086,6247)
+(1092,6244)
+(1098,6240)
+(1100,6238)
+(1099,6236)
+(1097,6233)
+(1097,6232)
+(1098,6231)
+(1100,6229)
+(1100,6221)
+(1103,6216)
+(1106,6203)
+(1105,6198)
+(1102,6195)
+(1100,6195)
+(1098,6198)
+(1096,6197)
+(1094,6190)
+(1090,6189)
+(1088,6187)
+(1088,6185)
+73
+(619,6385)
+(618,6375)
+(617,6371)
+(616,6370)
+(616,6370)
+(615,6374)
+(616,6376)
+(615,6378)
+(614,6374)
+(613,6374)
+(616,6368)
+(617,6364)
+(619,6360)
+(618,6358)
+(617,6359)
+(616,6365)
+(614,6367)
+(616,6355)
+(616,6352)
+(617,6351)
+(617,6353)
+(619,6346)
+(623,6342)
+(625,6334)
+(632,6328)
+(634,6323)
+(633,6320)
+(635,6315)
+(637,6313)
+(640,6313)
+(642,6308)
+(646,6309)
+(650,6306)
+(651,6307)
+(654,6306)
+(657,6308)
+(658,6307)
+(658,6304)
+(671,6305)
+(673,6303)
+(675,6303)
+(679,6304)
+(683,6301)
+(685,6303)
+(687,6303)
+(688,6302)
+(688,6298)
+(691,6296)
+(692,6296)
+(693,6298)
+(691,6303)
+(686,6312)
+(683,6315)
+(680,6315)
+(674,6317)
+(671,6315)
+(667,6314)
+(665,6312)
+(653,6311)
+(648,6313)
+(646,6320)
+(645,6321)
+(639,6320)
+(635,6322)
+(632,6320)
+(630,6321)
+(627,6323)
+(626,6327)
+(620,6329)
+(616,6335)
+(609,6340)
+(604,6348)
+(600,6350)
+412
+(1960,5521)
+(1960,5515)
+(1962,5513)
+(1962,5510)
+(1964,5504)
+(1963,5495)
+(1964,5492)
+(1960,5489)
+(1956,5488)
+(1955,5485)
+(1954,5488)
+(1951,5492)
+(1949,5495)
+(1944,5497)
+(1943,5501)
+(1939,5503)
+(1938,5503)
+(1936,5501)
+(1932,5499)
+(1928,5490)
+(1910,5492)
+(1910,5493)
+(1909,5493)
+(1906,5493)
+(1903,5500)
+(1901,5501)
+(1899,5504)
+(1896,5503)
+(1892,5508)
+(1890,5509)
+(1889,5508)
+(1887,5507)
+(1884,5509)
+(1884,5511)
+(1884,5513)
+(1886,5516)
+(1885,5522)
+(1884,5523)
+(1881,5522)
+(1877,5526)
+(1878,5528)
+(1878,5535)
+(1883,5539)
+(1888,5540)
+(1888,5542)
+(1887,5542)
+(1888,5544)
+(1887,5546)
+(1889,5548)
+(1888,5548)
+(1890,5553)
+(1891,5558)
+(1891,5561)
+(1893,5564)
+(1893,5570)
+(1894,5571)
+(1893,5572)
+(1895,5574)
+(1894,5575)
+(1894,5576)
+(1893,5577)
+(1894,5580)
+(1892,5583)
+(1892,5587)
+(1891,5589)
+(1892,5592)
+(1891,5595)
+(1892,5597)
+(1891,5599)
+(1891,5601)
+(1889,5605)
+(1888,5609)
+(1889,5614)
+(1887,5616)
+(1888,5626)
+(1889,5628)
+(1889,5631)
+(1888,5633)
+(1891,5638)
+(1890,5640)
+(1890,5642)
+(1889,5643)
+(1888,5646)
+(1887,5649)
+(1888,5653)
+(1890,5655)
+(1887,5657)
+(1886,5659)
+(1887,5660)
+(1886,5661)
+(1887,5664)
+(1886,5667)
+(1888,5668)
+(1887,5668)
+(1887,5672)
+(1884,5675)
+(1882,5675)
+(1881,5673)
+(1878,5673)
+(1877,5670)
+(1875,5668)
+(1874,5670)
+(1875,5672)
+(1873,5676)
+(1869,5677)
+(1868,5678)
+(1866,5678)
+(1866,5680)
+(1863,5681)
+(1864,5684)
+(1863,5684)
+(1864,5686)
+(1864,5689)
+(1866,5690)
+(1867,5695)
+(1868,5696)
+(1868,5697)
+(1867,5698)
+(1868,5700)
+(1869,5707)
+(1868,5709)
+(1867,5723)
+(1866,5724)
+(1865,5724)
+(1865,5726)
+(1863,5728)
+(1858,5729)
+(1854,5735)
+(1855,5738)
+(1855,5740)
+(1857,5742)
+(1855,5745)
+(1855,5746)
+(1859,5750)
+(1858,5753)
+(1857,5753)
+(1855,5763)
+(1853,5767)
+(1853,5771)
+(1851,5777)
+(1849,5780)
+(1848,5780)
+(1848,5782)
+(1844,5784)
+(1834,5786)
+(1828,5790)
+(1827,5792)
+(1825,5792)
+(1827,5799)
+(1827,5801)
+(1825,5802)
+(1822,5801)
+(1815,5804)
+(1814,5813)
+(1813,5815)
+(1811,5815)
+(1811,5825)
+(1805,5832)
+(1803,5838)
+(1798,5840)
+(1794,5841)
+(1791,5846)
+(1788,5845)
+(1784,5847)
+(1781,5846)
+(1778,5849)
+(1778,5850)
+(1775,5851)
+(1773,5854)
+(1769,5854)
+(1767,5859)
+(1768,5861)
+(1765,5863)
+(1763,5870)
+(1759,5874)
+(1757,5874)
+(1756,5875)
+(1755,5876)
+(1753,5877)
+(1751,5876)
+(1748,5879)
+(1745,5882)
+(1742,5883)
+(1741,5885)
+(1737,5885)
+(1732,5889)
+(1729,5891)
+(1728,5895)
+(1722,5901)
+(1712,5902)
+(1710,5903)
+(1709,5907)
+(1703,5906)
+(1701,5907)
+(1700,5907)
+(1697,5908)
+(1696,5908)
+(1689,5909)
+(1687,5910)
+(1685,5914)
+(1683,5915)
+(1682,5917)
+(1679,5920)
+(1677,5919)
+(1677,5921)
+(1676,5920)
+(1672,5921)
+(1665,5920)
+(1664,5922)
+(1659,5924)
+(1658,5926)
+(1654,5930)
+(1650,5930)
+(1647,5929)
+(1635,5933)
+(1632,5933)
+(1630,5932)
+(1624,5932)
+(1618,5932)
+(1596,5934)
+(1584,5934)
+(1580,5932)
+(1578,5932)
+(1570,5931)
+(1569,5932)
+(1568,5932)
+(1565,5932)
+(1565,5930)
+(1564,5931)
+(1556,5930)
+(1550,5931)
+(1539,5933)
+(1534,5933)
+(1531,5934)
+(1525,5933)
+(1523,5932)
+(1520,5933)
+(1517,5931)
+(1513,5931)
+(1512,5932)
+(1511,5931)
+(1508,5931)
+(1503,5931)
+(1499,5933)
+(1495,5934)
+(1492,5934)
+(1488,5937)
+(1485,5937)
+(1481,5943)
+(1476,5944)
+(1468,5941)
+(1464,5938)
+(1464,5941)
+(1460,5946)
+(1457,5946)
+(1459,5950)
+(1459,5951)
+(1454,5945)
+(1454,5942)
+(1453,5940)
+(1451,5935)
+(1448,5931)
+(1447,5923)
+(1446,5921)
+(1446,5918)
+(1443,5912)
+(1443,5910)
+(1439,5905)
+(1438,5904)
+(1430,5907)
+(1427,5910)
+(1425,5914)
+(1417,5919)
+(1416,5919)
+(1410,5915)
+(1407,5917)
+(1405,5917)
+(1405,5920)
+(1402,5923)
+(1395,5923)
+(1395,5921)
+(1393,5918)
+(1395,5915)
+(1392,5911)
+(1392,5906)
+(1389,5911)
+(1385,5914)
+(1384,5913)
+(1383,5910)
+(1382,5909)
+(1378,5911)
+(1378,5913)
+(1376,5916)
+(1374,5920)
+(1370,5919)
+(1370,5913)
+(1367,5911)
+(1364,5913)
+(1362,5913)
+(1360,5914)
+(1358,5913)
+(1358,5915)
+(1348,5919)
+(1343,5917)
+(1338,5914)
+(1336,5914)
+(1327,5919)
+(1325,5922)
+(1323,5926)
+(1322,5926)
+(1322,5924)
+(1320,5924)
+(1317,5922)
+(1315,5917)
+(1313,5913)
+(1312,5913)
+(1303,5915)
+(1297,5919)
+(1294,5918)
+(1293,5914)
+(1290,5914)
+(1285,5918)
+(1283,5920)
+(1279,5920)
+(1274,5923)
+(1269,5923)
+(1267,5924)
+(1266,5927)
+(1264,5928)
+(1259,5924)
+(1259,5918)
+(1257,5916)
+(1257,5911)
+(1254,5909)
+(1245,5911)
+(1236,5916)
+(1232,5917)
+(1228,5919)
+(1222,5919)
+(1220,5919)
+(1217,5922)
+(1212,5922)
+(1209,5917)
+(1209,5914)
+(1205,5910)
+(1204,5902)
+(1200,5894)
+(1200,5890)
+(1197,5880)
+(1198,5877)
+(1197,5873)
+(1196,5871)
+(1191,5869)
+(1191,5865)
+(1186,5864)
+(1181,5859)
+(1176,5858)
+(1173,5858)
+(1165,5855)
+(1162,5851)
+(1159,5852)
+(1149,5852)
+(1147,5850)
+(1132,5848)
+(1129,5845)
+(1129,5843)
+(1131,5843)
+(1131,5841)
+(1132,5840)
+(1130,5839)
+(1122,5840)
+(1117,5842)
+(1112,5841)
+(1110,5843)
+(1103,5847)
+(1100,5847)
+(1097,5850)
+(1096,5851)
+(1097,5853)
+(1100,5854)
+(1099,5857)
+(1097,5859)
+(1096,5859)
+(1095,5857)
+(1094,5857)
+(1089,5861)
+(1087,5861)
+(1085,5862)
+(1083,5861)
+(1083,5863)
+(1078,5865)
+(1075,5862)
+(1072,5861)
+(1070,5862)
+(1070,5861)
+(1069,5860)
+(1062,5862)
+(1056,5863)
+(1049,5866)
+(1044,5866)
+(1043,5862)
+(1041,5861)
+(1032,5861)
+(1029,5859)
+(1027,5859)
+(1026,5858)
+(1021,5856)
+(1015,5859)
+(1011,5857)
+(1008,5858)
+(1002,5856)
+(994,5860)
+239
+(1725,5866)
+(1724,5865)
+(1721,5865)
+(1717,5870)
+(1709,5873)
+(1708,5876)
+(1705,5879)
+(1705,5881)
+(1703,5883)
+(1698,5885)
+(1695,5889)
+(1694,5892)
+(1690,5895)
+(1690,5897)
+(1688,5899)
+(1685,5900)
+(1683,5899)
+(1675,5900)
+(1670,5899)
+(1666,5901)
+(1662,5899)
+(1662,5898)
+(1662,5896)
+(1660,5895)
+(1659,5892)
+(1660,5889)
+(1662,5888)
+(1664,5886)
+(1663,5882)
+(1663,5881)
+(1654,5884)
+(1652,5885)
+(1646,5886)
+(1638,5891)
+(1634,5893)
+(1628,5899)
+(1621,5902)
+(1613,5901)
+(1610,5903)
+(1606,5903)
+(1602,5900)
+(1600,5901)
+(1596,5900)
+(1595,5899)
+(1594,5899)
+(1592,5898)
+(1586,5897)
+(1582,5897)
+(1580,5896)
+(1570,5894)
+(1561,5889)
+(1553,5887)
+(1546,5881)
+(1543,5876)
+(1535,5869)
+(1538,5864)
+(1540,5864)
+(1543,5861)
+(1542,5850)
+(1542,5849)
+(1541,5852)
+(1540,5852)
+(1539,5851)
+(1533,5850)
+(1524,5845)
+(1520,5845)
+(1520,5843)
+(1522,5841)
+(1522,5840)
+(1521,5839)
+(1520,5839)
+(1518,5836)
+(1513,5836)
+(1510,5834)
+(1509,5834)
+(1507,5835)
+(1508,5839)
+(1506,5839)
+(1505,5838)
+(1505,5836)
+(1505,5833)
+(1501,5834)
+(1500,5833)
+(1497,5829)
+(1496,5826)
+(1492,5826)
+(1489,5822)
+(1483,5824)
+(1477,5827)
+(1470,5827)
+(1469,5828)
+(1467,5827)
+(1461,5828)
+(1459,5830)
+(1456,5832)
+(1452,5830)
+(1448,5825)
+(1448,5818)
+(1447,5816)
+(1452,5811)
+(1454,5808)
+(1457,5807)
+(1460,5801)
+(1461,5796)
+(1458,5793)
+(1458,5787)
+(1455,5786)
+(1451,5782)
+(1446,5778)
+(1439,5778)
+(1426,5772)
+(1425,5769)
+(1421,5768)
+(1414,5762)
+(1394,5758)
+(1379,5759)
+(1376,5758)
+(1366,5758)
+(1365,5757)
+(1363,5754)
+(1360,5755)
+(1351,5760)
+(1348,5757)
+(1344,5757)
+(1342,5758)
+(1339,5761)
+(1337,5759)
+(1334,5759)
+(1325,5760)
+(1319,5763)
+(1314,5762)
+(1313,5761)
+(1311,5755)
+(1316,5748)
+(1315,5732)
+(1314,5730)
+(1311,5728)
+(1308,5728)
+(1302,5723)
+(1293,5719)
+(1287,5720)
+(1286,5716)
+(1285,5715)
+(1283,5711)
+(1279,5709)
+(1278,5704)
+(1279,5704)
+(1279,5702)
+(1277,5699)
+(1275,5699)
+(1273,5695)
+(1274,5691)
+(1272,5689)
+(1269,5688)
+(1259,5689)
+(1256,5689)
+(1253,5686)
+(1251,5684)
+(1249,5683)
+(1242,5684)
+(1238,5688)
+(1230,5690)
+(1228,5692)
+(1221,5694)
+(1215,5694)
+(1212,5695)
+(1211,5694)
+(1206,5695)
+(1204,5697)
+(1203,5701)
+(1202,5701)
+(1200,5701)
+(1198,5703)
+(1195,5703)
+(1193,5707)
+(1189,5710)
+(1186,5709)
+(1184,5708)
+(1179,5710)
+(1168,5710)
+(1161,5712)
+(1158,5711)
+(1149,5710)
+(1147,5709)
+(1146,5707)
+(1141,5706)
+(1135,5708)
+(1131,5712)
+(1128,5713)
+(1124,5711)
+(1121,5706)
+(1120,5705)
+(1113,5704)
+(1111,5705)
+(1107,5711)
+(1100,5713)
+(1100,5715)
+(1097,5719)
+(1093,5723)
+(1087,5725)
+(1082,5727)
+(1078,5727)
+(1076,5725)
+(1073,5726)
+(1070,5728)
+(1065,5727)
+(1059,5729)
+(1056,5734)
+(1053,5732)
+(1050,5733)
+(1046,5737)
+(1046,5741)
+(1045,5741)
+(1042,5737)
+(1037,5735)
+(1027,5739)
+(1023,5737)
+(1020,5733)
+(1015,5735)
+(1013,5737)
+(1011,5736)
+(1011,5732)
+(1008,5729)
+(1008,5726)
+(1006,5725)
+(1005,5719)
+(1000,5721)
+(1000,5719)
+(998,5719)
+(996,5719)
+(995,5716)
+(991,5715)
+(990,5711)
+(987,5710)
+(983,5704)
+(981,5703)
+(979,5703)
+(977,5702)
+(974,5700)
+17
+(1011,5736)
+(1009,5740)
+(1006,5739)
+(1004,5740)
+(1003,5745)
+(1001,5746)
+(998,5747)
+(998,5749)
+(1000,5751)
+(997,5753)
+(993,5753)
+(989,5750)
+(988,5752)
+(985,5752)
+(984,5755)
+(984,5759)
+(983,5761)
+462
+(1826,4939)
+(1824,4943)
+(1826,4948)
+(1825,4949)
+(1824,4953)
+(1822,4955)
+(1823,4959)
+(1822,4961)
+(1821,4965)
+(1822,4972)
+(1819,4975)
+(1815,4975)
+(1811,4982)
+(1810,4985)
+(1809,4986)
+(1807,4989)
+(1808,4991)
+(1803,4994)
+(1801,4998)
+(1798,4998)
+(1795,5002)
+(1795,5006)
+(1792,5008)
+(1790,5026)
+(1785,5037)
+(1784,5039)
+(1782,5037)
+(1778,5039)
+(1774,5046)
+(1775,5048)
+(1775,5052)
+(1774,5053)
+(1773,5053)
+(1772,5058)
+(1772,5062)
+(1770,5070)
+(1767,5070)
+(1761,5069)
+(1759,5070)
+(1757,5070)
+(1756,5071)
+(1755,5075)
+(1756,5076)
+(1757,5077)
+(1756,5080)
+(1755,5085)
+(1753,5087)
+(1754,5090)
+(1752,5093)
+(1751,5097)
+(1752,5100)
+(1753,5102)
+(1755,5102)
+(1759,5109)
+(1759,5115)
+(1756,5120)
+(1755,5134)
+(1752,5136)
+(1751,5139)
+(1751,5144)
+(1753,5147)
+(1750,5160)
+(1750,5171)
+(1751,5173)
+(1752,5183)
+(1752,5187)
+(1754,5191)
+(1752,5193)
+(1752,5196)
+(1751,5197)
+(1752,5200)
+(1750,5217)
+(1750,5221)
+(1748,5224)
+(1750,5227)
+(1748,5229)
+(1749,5234)
+(1748,5234)
+(1746,5246)
+(1747,5248)
+(1747,5253)
+(1748,5256)
+(1748,5261)
+(1749,5261)
+(1752,5260)
+(1755,5263)
+(1758,5265)
+(1760,5268)
+(1760,5272)
+(1761,5275)
+(1763,5279)
+(1762,5282)
+(1762,5286)
+(1759,5290)
+(1759,5291)
+(1761,5293)
+(1762,5294)
+(1761,5295)
+(1761,5298)
+(1759,5301)
+(1759,5305)
+(1760,5306)
+(1761,5310)
+(1760,5316)
+(1760,5329)
+(1759,5331)
+(1759,5334)
+(1760,5337)
+(1762,5339)
+(1762,5340)
+(1761,5342)
+(1760,5346)
+(1760,5348)
+(1761,5350)
+(1760,5354)
+(1762,5357)
+(1761,5361)
+(1760,5364)
+(1760,5366)
+(1761,5373)
+(1762,5381)
+(1759,5383)
+(1758,5386)
+(1759,5395)
+(1761,5400)
+(1761,5404)
+(1761,5408)
+(1758,5421)
+(1754,5426)
+(1755,5434)
+(1760,5442)
+(1760,5444)
+(1757,5446)
+(1760,5452)
+(1758,5457)
+(1759,5460)
+(1758,5463)
+(1759,5466)
+(1758,5469)
+(1756,5475)
+(1757,5482)
+(1756,5484)
+(1757,5492)
+(1756,5497)
+(1755,5503)
+(1757,5507)
+(1756,5515)
+(1754,5520)
+(1757,5524)
+(1758,5529)
+(1756,5531)
+(1754,5538)
+(1754,5542)
+(1756,5545)
+(1756,5548)
+(1751,5551)
+(1749,5551)
+(1749,5555)
+(1748,5555)
+(1747,5556)
+(1748,5557)
+(1749,5561)
+(1747,5560)
+(1747,5562)
+(1745,5564)
+(1746,5565)
+(1745,5567)
+(1745,5568)
+(1745,5569)
+(1745,5572)
+(1744,5579)
+(1744,5583)
+(1745,5584)
+(1747,5585)
+(1749,5588)
+(1744,5589)
+(1742,5589)
+(1742,5592)
+(1740,5594)
+(1740,5598)
+(1742,5599)
+(1744,5602)
+(1746,5603)
+(1747,5606)
+(1749,5606)
+(1751,5608)
+(1751,5617)
+(1749,5618)
+(1750,5621)
+(1749,5623)
+(1750,5626)
+(1748,5629)
+(1750,5631)
+(1750,5635)
+(1751,5635)
+(1752,5636)
+(1753,5646)
+(1754,5651)
+(1756,5655)
+(1758,5658)
+(1766,5669)
+(1767,5673)
+(1769,5675)
+(1768,5683)
+(1769,5685)
+(1768,5689)
+(1770,5689)
+(1771,5692)
+(1773,5693)
+(1776,5696)
+(1777,5695)
+(1778,5693)
+(1780,5695)
+(1782,5693)
+(1786,5698)
+(1786,5703)
+(1786,5704)
+(1784,5704)
+(1785,5706)
+(1784,5706)
+(1786,5710)
+(1788,5711)
+(1788,5708)
+(1790,5707)
+(1793,5709)
+(1793,5711)
+(1791,5712)
+(1790,5714)
+(1788,5714)
+(1786,5716)
+(1788,5718)
+(1786,5722)
+(1785,5723)
+(1783,5722)
+(1782,5723)
+(1779,5722)
+(1777,5723)
+(1774,5723)
+(1773,5725)
+(1770,5725)
+(1769,5727)
+(1768,5727)
+(1766,5724)
+(1765,5724)
+(1764,5722)
+(1760,5719)
+(1760,5717)
+(1757,5715)
+(1757,5712)
+(1751,5705)
+(1751,5699)
+(1750,5699)
+(1748,5701)
+(1747,5697)
+(1743,5694)
+(1739,5694)
+(1736,5689)
+(1736,5687)
+(1733,5685)
+(1732,5688)
+(1730,5686)
+(1729,5688)
+(1730,5689)
+(1729,5695)
+(1728,5695)
+(1727,5692)
+(1726,5692)
+(1726,5694)
+(1723,5698)
+(1721,5698)
+(1720,5700)
+(1717,5701)
+(1715,5704)
+(1711,5705)
+(1710,5706)
+(1703,5704)
+(1700,5701)
+(1701,5700)
+(1700,5700)
+(1699,5699)
+(1699,5698)
+(1698,5697)
+(1697,5697)
+(1697,5699)
+(1692,5700)
+(1690,5703)
+(1688,5706)
+(1690,5711)
+(1691,5712)
+(1690,5715)
+(1688,5717)
+(1687,5717)
+(1683,5723)
+(1678,5724)
+(1673,5729)
+(1669,5726)
+(1669,5725)
+(1664,5717)
+(1661,5706)
+(1658,5705)
+(1661,5707)
+(1661,5709)
+(1657,5708)
+(1656,5703)
+(1656,5701)
+(1655,5698)
+(1654,5694)
+(1650,5692)
+(1649,5688)
+(1647,5685)
+(1645,5685)
+(1642,5680)
+(1641,5679)
+(1639,5680)
+(1638,5677)
+(1637,5677)
+(1638,5679)
+(1639,5681)
+(1637,5681)
+(1635,5677)
+(1632,5676)
+(1632,5675)
+(1633,5675)
+(1633,5674)
+(1627,5674)
+(1626,5672)
+(1626,5670)
+(1624,5667)
+(1621,5666)
+(1619,5664)
+(1618,5661)
+(1615,5658)
+(1615,5652)
+(1611,5647)
+(1612,5646)
+(1613,5648)
+(1615,5648)
+(1611,5640)
+(1611,5637)
+(1609,5635)
+(1606,5633)
+(1605,5631)
+(1603,5620)
+(1606,5608)
+(1605,5604)
+(1603,5602)
+(1605,5599)
+(1605,5597)
+(1604,5595)
+(1601,5593)
+(1599,5587)
+(1598,5582)
+(1599,5581)
+(1598,5580)
+(1599,5577)
+(1599,5573)
+(1596,5570)
+(1596,5560)
+(1591,5556)
+(1591,5548)
+(1593,5544)
+(1589,5536)
+(1586,5534)
+(1587,5531)
+(1585,5529)
+(1582,5523)
+(1580,5524)
+(1579,5523)
+(1576,5518)
+(1577,5517)
+(1574,5513)
+(1574,5511)
+(1571,5503)
+(1571,5496)
+(1568,5492)
+(1569,5487)
+(1568,5481)
+(1568,5478)
+(1570,5475)
+(1571,5464)
+(1570,5461)
+(1570,5459)
+(1568,5457)
+(1566,5452)
+(1568,5443)
+(1568,5440)
+(1572,5436)
+(1572,5434)
+(1571,5429)
+(1572,5425)
+(1570,5423)
+(1571,5420)
+(1570,5418)
+(1568,5418)
+(1566,5416)
+(1563,5408)
+(1562,5402)
+(1559,5399)
+(1557,5399)
+(1555,5399)
+(1553,5397)
+(1550,5397)
+(1548,5395)
+(1547,5393)
+(1546,5392)
+(1541,5385)
+(1536,5386)
+(1534,5388)
+(1531,5387)
+(1531,5386)
+(1530,5383)
+(1528,5381)
+(1520,5383)
+(1519,5381)
+(1518,5382)
+(1515,5381)
+(1514,5382)
+(1515,5383)
+(1513,5384)
+(1508,5382)
+(1509,5381)
+(1507,5379)
+(1504,5380)
+(1502,5380)
+(1499,5384)
+(1498,5381)
+(1496,5380)
+(1491,5382)
+(1489,5387)
+(1489,5384)
+(1487,5384)
+(1486,5386)
+(1486,5388)
+(1485,5389)
+(1480,5389)
+(1475,5387)
+(1474,5388)
+(1471,5387)
+(1471,5388)
+(1469,5389)
+(1466,5388)
+(1464,5389)
+(1462,5391)
+(1453,5392)
+(1452,5391)
+(1454,5391)
+(1456,5390)
+(1454,5388)
+(1455,5388)
+(1460,5390)
+(1462,5388)
+(1457,5386)
+(1454,5387)
+(1453,5389)
+(1451,5389)
+(1452,5388)
+(1451,5387)
+(1449,5388)
+(1446,5386)
+(1442,5386)
+(1442,5383)
+(1440,5381)
+58
+(1440,5380)
+(1443,5380)
+(1447,5383)
+(1451,5385)
+(1467,5383)
+(1475,5383)
+(1478,5381)
+(1485,5381)
+(1487,5379)
+(1489,5379)
+(1492,5376)
+(1494,5377)
+(1494,5376)
+(1499,5374)
+(1507,5377)
+(1516,5379)
+(1518,5379)
+(1515,5376)
+(1517,5377)
+(1519,5378)
+(1528,5379)
+(1530,5381)
+(1531,5380)
+(1531,5383)
+(1533,5385)
+(1537,5383)
+(1543,5382)
+(1544,5385)
+(1550,5385)
+(1552,5388)
+(1554,5389)
+(1557,5396)
+(1558,5396)
+(1558,5394)
+(1558,5394)
+(1560,5399)
+(1563,5400)
+(1565,5402)
+(1565,5403)
+(1565,5405)
+(1567,5407)
+(1566,5411)
+(1569,5414)
+(1571,5415)
+(1570,5417)
+(1572,5418)
+(1572,5421)
+(1573,5425)
+(1572,5429)
+(1573,5431)
+(1574,5435)
+(1571,5442)
+(1572,5438)
+(1570,5440)
+(1570,5445)
+(1569,5446)
+(1569,5445)
+(1567,5448)
+330
+(1857,4792)
+(1849,4789)
+(1846,4790)
+(1843,4790)
+(1842,4793)
+(1840,4790)
+(1838,4789)
+(1836,4788)
+(1830,4783)
+(1830,4780)
+(1830,4778)
+(1833,4776)
+(1834,4773)
+(1830,4768)
+(1828,4766)
+(1825,4764)
+(1824,4759)
+(1818,4757)
+(1817,4754)
+(1817,4750)
+(1818,4749)
+(1819,4742)
+(1817,4736)
+(1815,4734)
+(1815,4729)
+(1814,4728)
+(1814,4721)
+(1812,4718)
+(1809,4716)
+(1806,4715)
+(1804,4715)
+(1804,4715)
+(1804,4709)
+(1805,4706)
+(1808,4705)
+(1808,4699)
+(1806,4697)
+(1804,4697)
+(1803,4695)
+(1795,4689)
+(1792,4689)
+(1786,4692)
+(1782,4692)
+(1778,4685)
+(1778,4682)
+(1774,4679)
+(1771,4680)
+(1766,4683)
+(1762,4683)
+(1761,4685)
+(1759,4685)
+(1754,4687)
+(1751,4687)
+(1748,4685)
+(1744,4684)
+(1742,4685)
+(1739,4684)
+(1734,4687)
+(1729,4686)
+(1728,4688)
+(1724,4688)
+(1721,4691)
+(1718,4690)
+(1715,4691)
+(1708,4697)
+(1702,4696)
+(1698,4697)
+(1695,4700)
+(1694,4703)
+(1691,4704)
+(1689,4707)
+(1685,4708)
+(1682,4715)
+(1679,4717)
+(1674,4734)
+(1673,4736)
+(1670,4737)
+(1669,4738)
+(1669,4743)
+(1669,4744)
+(1669,4748)
+(1668,4750)
+(1661,4752)
+(1658,4760)
+(1658,4765)
+(1655,4768)
+(1653,4771)
+(1652,4773)
+(1648,4774)
+(1646,4777)
+(1640,4778)
+(1634,4782)
+(1629,4789)
+(1628,4792)
+(1629,4795)
+(1627,4797)
+(1625,4797)
+(1621,4801)
+(1618,4801)
+(1612,4807)
+(1605,4808)
+(1602,4811)
+(1601,4815)
+(1595,4817)
+(1592,4818)
+(1592,4820)
+(1589,4821)
+(1586,4824)
+(1582,4831)
+(1574,4833)
+(1573,4836)
+(1570,4836)
+(1569,4838)
+(1566,4841)
+(1566,4845)
+(1564,4848)
+(1562,4848)
+(1563,4851)
+(1565,4857)
+(1563,4862)
+(1560,4864)
+(1558,4866)
+(1558,4870)
+(1557,4872)
+(1552,4873)
+(1551,4878)
+(1547,4882)
+(1546,4884)
+(1545,4884)
+(1542,4882)
+(1540,4884)
+(1539,4886)
+(1538,4888)
+(1538,4891)
+(1535,4892)
+(1536,4898)
+(1532,4899)
+(1529,4903)
+(1529,4905)
+(1528,4907)
+(1530,4912)
+(1530,4915)
+(1529,4915)
+(1527,4914)
+(1525,4914)
+(1521,4916)
+(1520,4917)
+(1519,4924)
+(1516,4926)
+(1517,4927)
+(1519,4929)
+(1518,4932)
+(1517,4933)
+(1513,4932)
+(1511,4932)
+(1512,4937)
+(1513,4934)
+(1514,4935)
+(1516,4935)
+(1516,4937)
+(1516,4939)
+(1513,4940)
+(1513,4941)
+(1515,4942)
+(1515,4944)
+(1513,4947)
+(1510,4949)
+(1509,4952)
+(1509,4955)
+(1510,4956)
+(1512,4954)
+(1513,4954)
+(1513,4958)
+(1509,4964)
+(1507,4969)
+(1507,4972)
+(1512,4975)
+(1512,4980)
+(1515,4982)
+(1517,4980)
+(1519,4981)
+(1520,4984)
+(1520,4990)
+(1524,4991)
+(1527,4987)
+(1532,4991)
+(1531,4994)
+(1528,4999)
+(1529,5004)
+(1524,5010)
+(1524,5012)
+(1524,5013)
+(1525,5013)
+(1529,5010)
+(1531,5010)
+(1532,5013)
+(1536,5018)
+(1536,5023)
+(1531,5026)
+(1532,5035)
+(1534,5036)
+(1534,5038)
+(1537,5041)
+(1540,5043)
+(1542,5046)
+(1544,5048)
+(1544,5052)
+(1541,5053)
+(1540,5054)
+(1545,5059)
+(1545,5063)
+(1541,5070)
+(1542,5073)
+(1542,5076)
+(1542,5079)
+(1545,5085)
+(1542,5091)
+(1544,5098)
+(1544,5102)
+(1542,5106)
+(1538,5108)
+(1537,5113)
+(1539,5118)
+(1538,5120)
+(1536,5122)
+(1535,5124)
+(1537,5129)
+(1532,5134)
+(1531,5139)
+(1530,5142)
+(1531,5148)
+(1530,5151)
+(1521,5162)
+(1521,5167)
+(1521,5169)
+(1515,5173)
+(1519,5184)
+(1523,5188)
+(1524,5189)
+(1523,5193)
+(1521,5195)
+(1520,5197)
+(1516,5197)
+(1515,5199)
+(1515,5203)
+(1516,5206)
+(1520,5211)
+(1521,5212)
+(1519,5217)
+(1516,5219)
+(1515,5227)
+(1514,5230)
+(1514,5232)
+(1515,5234)
+(1519,5235)
+(1522,5237)
+(1524,5240)
+(1524,5246)
+(1521,5250)
+(1520,5256)
+(1513,5266)
+(1509,5267)
+(1506,5267)
+(1503,5271)
+(1501,5272)
+(1495,5274)
+(1491,5274)
+(1484,5277)
+(1479,5281)
+(1477,5283)
+(1473,5285)
+(1472,5290)
+(1469,5296)
+(1467,5296)
+(1467,5293)
+(1466,5296)
+(1464,5298)
+(1463,5304)
+(1461,5306)
+(1458,5306)
+(1456,5308)
+(1457,5315)
+(1459,5318)
+(1459,5320)
+(1457,5322)
+(1455,5324)
+(1451,5324)
+(1447,5323)
+(1445,5323)
+(1444,5326)
+(1445,5332)
+(1447,5337)
+(1446,5339)
+(1445,5340)
+(1443,5341)
+(1439,5341)
+(1438,5344)
+(1435,5346)
+(1437,5347)
+(1435,5353)
+(1439,5349)
+(1442,5343)
+(1448,5341)
+(1447,5341)
+(1449,5339)
+(1449,5340)
+(1449,5338)
+(1448,5335)
+(1450,5330)
+(1451,5327)
+(1452,5325)
+(1455,5325)
+(1458,5323)
+(1461,5319)
+(1462,5308)
+(1464,5302)
+(1465,5301)
+(1464,5299)
+(1465,5298)
+(1471,5295)
+(1473,5290)
+(1478,5289)
+(1479,5287)
+(1479,5282)
+(1483,5282)
+(1489,5276)
+(1496,5276)
+(1498,5274)
+(1500,5274)
+(1504,5271)
+652
+(1888,4903)
+(1887,4899)
+(1885,4897)
+(1883,4893)
+(1883,4890)
+(1888,4880)
+(1893,4877)
+(1896,4873)
+(1904,4870)
+(1911,4872)
+(1915,4877)
+(1917,4882)
+(1919,4883)
+(1921,4882)
+(1922,4878)
+(1924,4876)
+(1930,4877)
+(1932,4875)
+(1937,4874)
+(1942,4870)
+(1943,4867)
+(1944,4864)
+(1946,4859)
+(1947,4854)
+(1951,4846)
+(1952,4840)
+(1952,4835)
+(1953,4829)
+(1952,4816)
+(1952,4812)
+(1951,4809)
+(1948,4801)
+(1948,4792)
+(1946,4785)
+(1947,4784)
+(1954,4778)
+(1963,4767)
+(1970,4762)
+(1972,4759)
+(1975,4759)
+(1978,4755)
+(1979,4751)
+(1988,4743)
+(1989,4740)
+(1993,4736)
+(1989,4729)
+(1989,4725)
+(1992,4716)
+(1995,4712)
+(1997,4704)
+(2001,4702)
+(2002,4697)
+(2008,4689)
+(2013,4689)
+(2014,4685)
+(2017,4685)
+(2019,4681)
+(2023,4678)
+(2027,4672)
+(2032,4667)
+(2033,4665)
+(2040,4661)
+(2046,4655)
+(2048,4650)
+(2048,4645)
+(2049,4641)
+(2051,4640)
+(2052,4638)
+(2051,4636)
+(2052,4633)
+(2053,4630)
+(2054,4630)
+(2054,4627)
+(2056,4622)
+(2057,4622)
+(2058,4619)
+(2058,4615)
+(2059,4611)
+(2063,4606)
+(2065,4605)
+(2066,4601)
+(2073,4596)
+(2074,4592)
+(2077,4587)
+(2080,4579)
+(2087,4572)
+(2091,4571)
+(2097,4574)
+(2098,4570)
+(2101,4567)
+(2102,4565)
+(2105,4562)
+(2106,4559)
+(2110,4555)
+(2114,4555)
+(2115,4553)
+(2119,4552)
+(2120,4551)
+(2120,4547)
+(2118,4544)
+(2119,4541)
+(2118,4540)
+(2120,4535)
+(2124,4530)
+(2127,4527)
+(2129,4522)
+(2134,4520)
+(2135,4519)
+(2136,4505)
+(2138,4503)
+(2139,4497)
+(2142,4494)
+(2143,4490)
+(2143,4484)
+(2146,4485)
+(2147,4483)
+(2150,4484)
+(2151,4483)
+(2150,4479)
+(2148,4477)
+(2146,4479)
+(2144,4477)
+(2142,4479)
+(2140,4477)
+(2135,4478)
+(2130,4477)
+(2129,4474)
+(2128,4470)
+(2125,4464)
+(2125,4458)
+(2126,4456)
+(2124,4451)
+(2126,4446)
+(2126,4443)
+(2129,4436)
+(2130,4430)
+(2131,4427)
+(2133,4417)
+(2132,4413)
+(2131,4399)
+(2126,4392)
+(2119,4391)
+(2117,4392)
+(2115,4393)
+(2112,4387)
+(2109,4385)
+(2106,4380)
+(2102,4377)
+(2102,4373)
+(2099,4374)
+(2094,4372)
+(2092,4376)
+(2090,4380)
+(2088,4377)
+(2086,4375)
+(2086,4371)
+(2085,4370)
+(2083,4368)
+(2080,4369)
+(2077,4367)
+(2074,4369)
+(2071,4366)
+(2070,4371)
+(2066,4368)
+(2061,4369)
+(2059,4372)
+(2056,4369)
+(2053,4370)
+(2051,4369)
+(2046,4365)
+(2043,4359)
+(2041,4358)
+(2041,4346)
+(2038,4341)
+(2036,4335)
+(2035,4334)
+(2026,4334)
+(2026,4329)
+(2027,4325)
+(2026,4324)
+(2025,4322)
+(2021,4320)
+(2020,4319)
+(2015,4318)
+(2014,4317)
+(2012,4317)
+(2009,4314)
+(2005,4312)
+(2004,4311)
+(2003,4306)
+(2001,4303)
+(1999,4303)
+(1996,4302)
+(1993,4305)
+(1990,4305)
+(1987,4302)
+(1981,4303)
+(1979,4301)
+(1977,4294)
+(1974,4291)
+(1974,4289)
+(1973,4287)
+(1969,4288)
+(1966,4285)
+(1963,4286)
+(1960,4282)
+(1957,4280)
+(1949,4282)
+(1941,4281)
+(1928,4274)
+(1926,4269)
+(1922,4269)
+(1920,4268)
+(1918,4264)
+(1915,4263)
+(1910,4262)
+(1898,4253)
+(1891,4251)
+(1887,4249)
+(1883,4250)
+(1880,4248)
+(1874,4247)
+(1867,4251)
+(1861,4252)
+(1853,4251)
+(1849,4248)
+(1843,4246)
+(1836,4251)
+(1834,4251)
+(1824,4251)
+(1823,4249)
+(1818,4247)
+(1816,4248)
+(1815,4250)
+(1813,4249)
+(1812,4251)
+(1810,4252)
+(1808,4251)
+(1810,4250)
+(1809,4249)
+(1805,4252)
+(1804,4252)
+(1800,4250)
+(1797,4252)
+(1795,4252)
+(1790,4251)
+(1787,4246)
+(1783,4244)
+(1781,4241)
+(1777,4241)
+(1778,4240)
+(1776,4238)
+(1773,4238)
+(1774,4240)
+(1774,4240)
+(1772,4240)
+(1770,4242)
+(1766,4242)
+(1763,4244)
+(1761,4242)
+(1757,4242)
+(1752,4239)
+(1748,4241)
+(1742,4240)
+(1742,4242)
+(1741,4241)
+(1741,4237)
+(1740,4234)
+(1734,4229)
+(1734,4222)
+(1728,4219)
+(1723,4209)
+(1720,4206)
+(1719,4203)
+(1717,4204)
+(1715,4203)
+(1714,4195)
+(1712,4194)
+(1711,4191)
+(1709,4186)
+(1701,4182)
+(1695,4176)
+(1692,4171)
+(1693,4165)
+(1691,4165)
+(1688,4163)
+(1690,4158)
+(1688,4157)
+(1687,4155)
+(1686,4151)
+(1683,4150)
+(1682,4149)
+(1683,4144)
+(1681,4143)
+(1679,4143)
+(1677,4141)
+(1678,4136)
+(1675,4138)
+(1672,4138)
+(1669,4132)
+(1667,4133)
+(1666,4137)
+(1663,4137)
+(1659,4127)
+(1660,4125)
+(1663,4124)
+(1666,4123)
+(1666,4121)
+(1666,4120)
+(1661,4118)
+(1662,4115)
+(1661,4114)
+(1660,4112)
+(1660,4111)
+(1661,4107)
+(1657,4106)
+(1657,4102)
+(1655,4100)
+(1654,4098)
+(1652,4098)
+(1649,4101)
+(1646,4098)
+(1644,4099)
+(1643,4101)
+(1643,4101)
+(1641,4098)
+(1641,4093)
+(1637,4093)
+(1638,4091)
+(1638,4090)
+(1636,4090)
+(1635,4093)
+(1634,4093)
+(1632,4090)
+(1631,4086)
+(1628,4088)
+(1625,4087)
+(1624,4086)
+(1621,4084)
+(1621,4082)
+(1617,4078)
+(1617,4075)
+(1615,4076)
+(1610,4074)
+(1608,4075)
+(1600,4072)
+(1596,4074)
+(1595,4076)
+(1590,4075)
+(1588,4076)
+(1585,4073)
+(1582,4074)
+(1580,4076)
+(1576,4076)
+(1575,4080)
+(1573,4082)
+(1572,4082)
+(1569,4088)
+(1567,4088)
+(1565,4088)
+(1559,4094)
+(1556,4095)
+(1551,4101)
+(1550,4104)
+(1549,4104)
+(1543,4100)
+(1542,4103)
+(1541,4106)
+(1539,4106)
+(1537,4103)
+(1532,4104)
+(1530,4100)
+(1529,4100)
+(1526,4100)
+(1523,4099)
+(1521,4101)
+(1518,4101)
+(1513,4098)
+(1510,4102)
+(1508,4102)
+(1507,4102)
+(1508,4098)
+(1503,4096)
+(1499,4097)
+(1498,4093)
+(1499,4091)
+(1496,4088)
+(1492,4089)
+(1492,4083)
+(1487,4083)
+(1479,4078)
+(1475,4081)
+(1471,4078)
+(1468,4079)
+(1466,4078)
+(1465,4077)
+(1466,4075)
+(1465,4071)
+(1463,4072)
+(1460,4072)
+(1460,4067)
+(1455,4070)
+(1456,4066)
+(1455,4065)
+(1451,4064)
+(1449,4063)
+(1450,4060)
+(1447,4059)
+(1445,4059)
+(1445,4061)
+(1443,4064)
+(1445,4065)
+(1444,4075)
+(1441,4078)
+(1440,4082)
+(1436,4081)
+(1440,4081)
+(1441,4080)
+(1437,4073)
+(1434,4072)
+(1435,4071)
+(1437,4072)
+(1439,4074)
+(1439,4072)
+(1439,4068)
+(1441,4065)
+(1441,4064)
+(1439,4064)
+(1438,4065)
+(1435,4059)
+(1436,4059)
+(1436,4060)
+(1438,4064)
+(1439,4063)
+(1442,4064)
+(1445,4060)
+(1444,4057)
+(1444,4052)
+(1445,4058)
+(1447,4058)
+(1450,4059)
+(1451,4061)
+(1450,4062)
+(1451,4063)
+(1453,4064)
+(1456,4065)
+(1456,4069)
+(1461,4066)
+(1461,4067)
+(1461,4071)
+(1466,4070)
+(1467,4074)
+(1466,4077)
+(1468,4078)
+(1471,4077)
+(1475,4081)
+(1479,4078)
+(1488,4083)
+(1492,4083)
+(1493,4084)
+(1492,4088)
+(1495,4087)
+(1497,4087)
+(1500,4092)
+(1499,4093)
+(1500,4096)
+(1508,4097)
+(1509,4098)
+(1508,4101)
+(1510,4101)
+(1513,4097)
+(1518,4100)
+(1521,4100)
+(1523,4099)
+(1530,4099)
+(1533,4103)
+(1537,4102)
+(1538,4103)
+(1539,4105)
+(1541,4104)
+(1542,4101)
+(1544,4099)
+(1549,4103)
+(1550,4100)
+(1555,4094)
+(1558,4093)
+(1565,4087)
+(1569,4087)
+(1571,4082)
+(1573,4081)
+(1576,4075)
+(1580,4075)
+(1582,4073)
+(1585,4073)
+(1588,4075)
+(1593,4075)
+(1600,4072)
+(1608,4074)
+(1610,4073)
+(1613,4075)
+(1618,4074)
+(1619,4075)
+(1618,4077)
+(1618,4078)
+(1622,4081)
+(1622,4084)
+(1625,4085)
+(1626,4086)
+(1627,4087)
+(1629,4085)
+(1632,4085)
+(1632,4088)
+(1634,4092)
+(1635,4090)
+(1638,4089)
+(1641,4090)
+(1643,4099)
+(1646,4097)
+(1647,4097)
+(1649,4100)
+(1652,4097)
+(1654,4098)
+(1655,4099)
+(1655,4100)
+(1658,4102)
+(1657,4105)
+(1661,4107)
+(1661,4111)
+(1661,4113)
+(1663,4116)
+(1662,4118)
+(1665,4118)
+(1667,4120)
+(1667,4123)
+(1663,4125)
+(1661,4129)
+(1663,4136)
+(1665,4136)
+(1666,4133)
+(1669,4131)
+(1673,4137)
+(1675,4137)
+(1677,4135)
+(1679,4135)
+(1678,4139)
+(1679,4142)
+(1684,4141)
+(1683,4148)
+(1684,4149)
+(1687,4150)
+(1688,4155)
+(1690,4157)
+(1690,4160)
+(1689,4162)
+(1690,4164)
+(1692,4165)
+(1693,4164)
+(1694,4165)
+(1694,4167)
+(1693,4169)
+(1694,4170)
+(1696,4171)
+(1696,4175)
+(1698,4177)
+(1700,4177)
+(1703,4178)
+(1705,4182)
+(1709,4185)
+(1712,4188)
+(1713,4193)
+(1715,4195)
+(1716,4202)
+(1717,4203)
+(1720,4202)
+(1721,4205)
+(1723,4207)
+(1728,4218)
+(1731,4220)
+(1735,4221)
+(1735,4223)
+(1735,4229)
+(1742,4234)
+(1743,4239)
+(1748,4240)
+(1755,4237)
+(1757,4238)
+(1754,4238)
+(1756,4240)
+(1762,4241)
+(1760,4239)
+(1760,4238)
+(1762,4239)
+(1764,4242)
+(1766,4240)
+(1770,4241)
+(1771,4239)
+(1775,4237)
+(1781,4240)
+(1782,4242)
+(1787,4244)
+(1790,4249)
+(1791,4249)
+(1796,4248)
+(1801,4249)
+(1804,4246)
+(1807,4248)
+(1811,4248)
+(1817,4245)
+(1820,4245)
+(1821,4244)
+(1826,4244)
+(1830,4247)
+(1826,4247)
+(1824,4246)
+(1822,4247)
+(1826,4249)
+(1831,4250)
+(1834,4248)
+(1840,4246)
+(1833,4245)
+(1841,4244)
+(1845,4242)
+(1849,4244)
+(1851,4247)
+(1853,4248)
+(1859,4249)
+(1867,4246)
+(1870,4246)
+(1873,4244)
+(1877,4244)
+(1880,4243)
+(1890,4247)
+(1892,4249)
+(1894,4250)
+(1896,4251)
+(1898,4252)
+(1903,4252)
+(1904,4254)
+(1911,4256)
+(1914,4256)
+(1919,4262)
+(1922,4263)
+(1934,4273)
+(1939,4275)
+(1945,4279)
+(1950,4280)
+(1958,4278)
+(1961,4279)
+(1965,4284)
+(1969,4283)
+(1973,4286)
+(1977,4293)
+31
+(2152,4365)
+(2160,4362)
+(2164,4364)
+(2171,4368)
+(2171,4376)
+(2172,4377)
+(2172,4382)
+(2170,4385)
+(2171,4390)
+(2175,4401)
+(2174,4408)
+(2174,4411)
+(2176,4413)
+(2176,4417)
+(2176,4421)
+(2171,4427)
+(2171,4429)
+(2167,4434)
+(2166,4441)
+(2164,4446)
+(2163,4449)
+(2160,4452)
+(2157,4453)
+(2156,4457)
+(2156,4462)
+(2154,4465)
+(2154,4468)
+(2152,4472)
+(2150,4475)
+(2147,4476)
+(2145,4478)
+27
+(2211,4454)
+(2211,4456)
+(2210,4462)
+(2211,4469)
+(2211,4471)
+(2209,4481)
+(2201,4492)
+(2198,4493)
+(2196,4491)
+(2195,4489)
+(2192,4491)
+(2192,4494)
+(2188,4496)
+(2185,4494)
+(2180,4494)
+(2179,4492)
+(2178,4478)
+(2176,4475)
+(2175,4471)
+(2175,4466)
+(2176,4462)
+(2175,4459)
+(2171,4458)
+(2164,4458)
+(2160,4460)
+(2158,4463)
+(2155,4463)
+279
+(2246,4427)
+(2246,4417)
+(2248,4411)
+(2249,4407)
+(2247,4402)
+(2248,4398)
+(2244,4392)
+(2244,4389)
+(2239,4384)
+(2238,4379)
+(2235,4373)
+(2234,4368)
+(2221,4360)
+(2221,4356)
+(2220,4348)
+(2220,4345)
+(2219,4338)
+(2216,4333)
+(2202,4311)
+(2200,4302)
+(2202,4297)
+(2204,4295)
+(2207,4293)
+(2211,4292)
+(2217,4287)
+(2219,4288)
+(2225,4286)
+(2232,4287)
+(2237,4289)
+(2242,4290)
+(2245,4289)
+(2248,4291)
+(2253,4290)
+(2263,4292)
+(2266,4292)
+(2269,4295)
+(2274,4296)
+(2277,4293)
+(2277,4291)
+(2273,4280)
+(2275,4278)
+(2275,4275)
+(2279,4276)
+(2290,4282)
+(2295,4282)
+(2298,4279)
+(2299,4272)
+(2303,4269)
+(2305,4265)
+(2304,4263)
+(2307,4261)
+(2308,4258)
+(2308,4256)
+(2307,4257)
+(2306,4256)
+(2307,4253)
+(2306,4250)
+(2307,4246)
+(2305,4244)
+(2305,4240)
+(2304,4240)
+(2303,4241)
+(2301,4236)
+(2297,4235)
+(2295,4233)
+(2287,4228)
+(2286,4225)
+(2283,4221)
+(2281,4221)
+(2278,4215)
+(2276,4215)
+(2275,4212)
+(2276,4210)
+(2276,4210)
+(2272,4210)
+(2269,4215)
+(2262,4217)
+(2259,4215)
+(2257,4215)
+(2257,4213)
+(2254,4212)
+(2254,4210)
+(2252,4209)
+(2253,4201)
+(2254,4199)
+(2254,4198)
+(2256,4196)
+(2257,4194)
+(2255,4188)
+(2256,4184)
+(2254,4179)
+(2255,4172)
+(2252,4169)
+(2247,4163)
+(2245,4163)
+(2241,4163)
+(2238,4165)
+(2234,4165)
+(2233,4167)
+(2230,4164)
+(2226,4156)
+(2226,4154)
+(2230,4148)
+(2232,4146)
+(2235,4142)
+(2238,4140)
+(2240,4134)
+(2239,4133)
+(2237,4135)
+(2237,4135)
+(2237,4133)
+(2239,4132)
+(2240,4130)
+(2239,4128)
+(2235,4129)
+(2235,4128)
+(2237,4126)
+(2236,4122)
+(2236,4120)
+(2235,4120)
+(2234,4118)
+(2232,4118)
+(2231,4113)
+(2230,4111)
+(2229,4105)
+(2226,4104)
+(2226,4098)
+(2225,4097)
+(2221,4096)
+(2221,4090)
+(2215,4082)
+(2216,4081)
+(2219,4079)
+(2221,4075)
+(2224,4073)
+(2226,4067)
+(2232,4067)
+(2233,4065)
+(2234,4061)
+(2235,4057)
+(2235,4056)
+(2233,4054)
+(2233,4053)
+(2236,4052)
+(2237,4050)
+(2233,4044)
+(2233,4039)
+(2231,4036)
+(2231,4034)
+(2234,4033)
+(2236,4031)
+(2237,4027)
+(2241,4026)
+(2243,4020)
+(2242,4006)
+(2240,4000)
+(2242,3997)
+(2242,3991)
+(2239,3987)
+(2241,3985)
+(2239,3977)
+(2242,3973)
+(2242,3970)
+(2246,3965)
+(2250,3951)
+(2254,3948)
+(2256,3943)
+(2256,3938)
+(2260,3933)
+(2260,3930)
+(2262,3925)
+(2263,3917)
+(2278,3908)
+(2282,3901)
+(2285,3898)
+(2287,3895)
+(2288,3887)
+(2290,3884)
+(2293,3875)
+(2295,3872)
+(2296,3868)
+(2299,3862)
+(2307,3857)
+(2311,3849)
+(2321,3845)
+(2323,3841)
+(2325,3839)
+(2330,3838)
+(2336,3834)
+(2340,3825)
+(2346,3820)
+(2348,3813)
+(2353,3808)
+(2355,3803)
+(2359,3795)
+(2359,3784)
+(2361,3781)
+(2364,3779)
+(2373,3780)
+(2375,3775)
+(2379,3773)
+(2380,3766)
+(2385,3762)
+(2386,3758)
+(2389,3756)
+(2392,3753)
+(2396,3752)
+(2401,3747)
+(2406,3745)
+(2411,3746)
+(2414,3744)
+(2419,3744)
+(2422,3741)
+(2425,3741)
+(2428,3736)
+(2429,3732)
+(2435,3727)
+(2439,3726)
+(2443,3723)
+(2450,3720)
+(2460,3718)
+(2467,3713)
+(2473,3703)
+(2476,3696)
+(2478,3686)
+(2478,3684)
+(2476,3684)
+(2474,3683)
+(2474,3682)
+(2476,3678)
+(2480,3675)
+(2482,3672)
+(2484,3666)
+(2487,3662)
+(2489,3658)
+(2498,3644)
+(2501,3641)
+(2505,3639)
+(2506,3634)
+(2507,3633)
+(2512,3628)
+(2518,3627)
+(2519,3621)
+(2520,3618)
+(2523,3616)
+(2527,3616)
+(2533,3608)
+(2539,3596)
+(2539,3585)
+(2541,3581)
+(2542,3577)
+(2547,3573)
+(2551,3566)
+(2554,3565)
+(2554,3561)
+(2555,3560)
+(2556,3557)
+(2560,3560)
+(2563,3560)
+(2565,3558)
+(2566,3553)
+(2567,3552)
+(2573,3554)
+(2580,3547)
+(2584,3550)
+(2585,3550)
+(2592,3548)
+(2596,3545)
+(2599,3548)
+(2609,3542)
+(2611,3544)
+(2613,3543)
+(2612,3549)
+(2613,3551)
+(2616,3556)
+(2618,3556)
+(2622,3555)
+(2625,3556)
+(2628,3553)
+456
+(2397,2467)
+(2397,2463)
+(2395,2452)
+(2396,2446)
+(2395,2441)
+(2396,2437)
+(2397,2430)
+(2396,2424)
+(2396,2416)
+(2394,2411)
+(2393,2409)
+(2391,2408)
+(2387,2413)
+(2383,2415)
+(2379,2411)
+(2376,2412)
+(2374,2407)
+(2374,2401)
+(2375,2394)
+(2379,2385)
+(2379,2381)
+(2381,2375)
+(2382,2371)
+(2382,2364)
+(2378,2360)
+(2377,2358)
+(2376,2352)
+(2377,2343)
+(2375,2340)
+(2375,2332)
+(2373,2329)
+(2373,2326)
+(2369,2323)
+(2370,2318)
+(2369,2314)
+(2367,2311)
+(2367,2307)
+(2365,2304)
+(2364,2302)
+(2362,2302)
+(2362,2301)
+(2362,2302)
+(2360,2304)
+(2357,2309)
+(2355,2310)
+(2354,2314)
+(2350,2317)
+(2350,2323)
+(2347,2323)
+(2346,2324)
+(2342,2325)
+(2339,2328)
+(2334,2324)
+(2332,2327)
+(2330,2325)
+(2329,2326)
+(2326,2320)
+(2327,2318)
+(2325,2318)
+(2325,2309)
+(2322,2308)
+(2319,2303)
+(2316,2301)
+(2311,2303)
+(2311,2306)
+(2308,2308)
+(2308,2314)
+(2307,2315)
+(2305,2323)
+(2306,2329)
+(2302,2333)
+(2301,2336)
+(2299,2338)
+(2300,2347)
+(2298,2349)
+(2291,2347)
+(2291,2349)
+(2291,2351)
+(2292,2352)
+(2291,2354)
+(2290,2355)
+(2289,2355)
+(2286,2354)
+(2284,2354)
+(2281,2350)
+(2280,2344)
+(2276,2343)
+(2274,2339)
+(2272,2340)
+(2271,2339)
+(2269,2339)
+(2269,2335)
+(2268,2334)
+(2267,2334)
+(2268,2337)
+(2266,2338)
+(2265,2334)
+(2262,2335)
+(2262,2332)
+(2261,2331)
+(2262,2328)
+(2261,2328)
+(2259,2332)
+(2258,2324)
+(2257,2319)
+(2250,2310)
+(2248,2297)
+(2247,2296)
+(2247,2292)
+(2245,2291)
+(2247,2285)
+(2246,2284)
+(2247,2282)
+(2246,2279)
+(2241,2273)
+(2240,2272)
+(2239,2273)
+(2238,2271)
+(2236,2271)
+(2233,2273)
+(2233,2270)
+(2228,2273)
+(2224,2272)
+(2222,2275)
+(2223,2278)
+(2220,2278)
+(2217,2280)
+(2214,2281)
+(2213,2282)
+(2211,2281)
+(2204,2283)
+(2204,2284)
+(2203,2284)
+(2200,2286)
+(2199,2293)
+(2192,2298)
+(2190,2295)
+(2188,2296)
+(2186,2292)
+(2183,2291)
+(2176,2291)
+(2175,2289)
+(2173,2288)
+(2171,2286)
+(2168,2285)
+(2165,2286)
+(2165,2283)
+(2164,2285)
+(2161,2286)
+(2161,2288)
+(2157,2291)
+(2156,2293)
+(2157,2294)
+(2157,2296)
+(2155,2298)
+(2154,2301)
+(2153,2302)
+(2152,2311)
+(2151,2312)
+(2151,2315)
+(2152,2317)
+(2151,2320)
+(2151,2325)
+(2153,2325)
+(2154,2324)
+(2155,2326)
+(2155,2328)
+(2156,2329)
+(2155,2332)
+(2156,2336)
+(2156,2342)
+(2155,2343)
+(2155,2345)
+(2153,2345)
+(2153,2349)
+(2151,2352)
+(2152,2354)
+(2149,2357)
+(2149,2360)
+(2150,2361)
+(2151,2364)
+(2149,2364)
+(2148,2364)
+(2148,2370)
+(2147,2373)
+(2147,2375)
+(2147,2376)
+(2146,2375)
+(2145,2376)
+(2147,2378)
+(2146,2381)
+(2143,2384)
+(2145,2386)
+(2144,2388)
+(2140,2390)
+(2138,2389)
+(2135,2392)
+(2135,2393)
+(2134,2392)
+(2133,2394)
+(2132,2395)
+(2132,2397)
+(2129,2401)
+(2129,2403)
+(2128,2402)
+(2127,2404)
+(2125,2404)
+(2124,2406)
+(2122,2406)
+(2121,2408)
+(2119,2411)
+(2118,2414)
+(2117,2414)
+(2118,2416)
+(2116,2416)
+(2116,2418)
+(2116,2420)
+(2114,2420)
+(2112,2425)
+(2110,2424)
+(2108,2426)
+(2104,2426)
+(2104,2428)
+(2102,2426)
+(2102,2428)
+(2099,2429)
+(2099,2432)
+(2097,2434)
+(2092,2435)
+(2093,2437)
+(2090,2437)
+(2088,2438)
+(2086,2443)
+(2084,2445)
+(2082,2446)
+(2083,2448)
+(2081,2449)
+(2079,2448)
+(2079,2450)
+(2078,2450)
+(2079,2451)
+(2079,2453)
+(2077,2453)
+(2077,2456)
+(2074,2455)
+(2071,2456)
+(2071,2455)
+(2070,2455)
+(2066,2456)
+(2066,2458)
+(2065,2459)
+(2066,2460)
+(2061,2467)
+(2063,2472)
+(2064,2473)
+(2065,2471)
+(2067,2474)
+(2065,2476)
+(2065,2477)
+(2067,2477)
+(2067,2478)
+(2066,2482)
+(2066,2483)
+(2065,2485)
+(2066,2486)
+(2067,2484)
+(2068,2485)
+(2068,2486)
+(2065,2488)
+(2066,2490)
+(2065,2492)
+(2066,2495)
+(2068,2495)
+(2067,2502)
+(2069,2506)
+(2071,2507)
+(2068,2510)
+(2069,2513)
+(2068,2515)
+(2068,2519)
+(2066,2519)
+(2062,2522)
+(2059,2528)
+(2057,2528)
+(2057,2530)
+(2059,2534)
+(2059,2535)
+(2056,2535)
+(2056,2536)
+(2056,2537)
+(2060,2538)
+(2061,2540)
+(2059,2543)
+(2056,2542)
+(2055,2538)
+(2052,2541)
+(2051,2543)
+(2045,2542)
+(2044,2544)
+(2041,2546)
+(2041,2547)
+(2042,2549)
+(2041,2551)
+(2038,2554)
+(2034,2553)
+(2034,2551)
+(2031,2552)
+(2031,2555)
+(2031,2556)
+(2034,2558)
+(2033,2561)
+(2031,2566)
+(2030,2566)
+(2028,2563)
+(2024,2565)
+(2023,2563)
+(2022,2567)
+(2019,2568)
+(2018,2571)
+(2012,2576)
+(2012,2582)
+(2009,2584)
+(2011,2585)
+(2012,2589)
+(2008,2595)
+(2007,2595)
+(2007,2599)
+(2008,2601)
+(2007,2603)
+(2007,2606)
+(2005,2607)
+(2005,2609)
+(2004,2609)
+(2004,2612)
+(2005,2613)
+(2004,2614)
+(2003,2616)
+(2002,2617)
+(2003,2619)
+(2000,2624)
+(2001,2625)
+(1998,2626)
+(1998,2628)
+(1995,2628)
+(1996,2629)
+(1995,2631)
+(1993,2630)
+(1991,2632)
+(1991,2634)
+(1992,2633)
+(1992,2635)
+(1989,2637)
+(1990,2639)
+(1989,2641)
+(1988,2644)
+(1988,2642)
+(1986,2644)
+(1985,2647)
+(1985,2646)
+(1982,2648)
+(1982,2650)
+(1980,2651)
+(1976,2651)
+(1976,2652)
+(1973,2653)
+(1972,2655)
+(1968,2657)
+(1954,2653)
+(1947,2658)
+(1944,2657)
+(1935,2661)
+(1927,2661)
+(1915,2669)
+(1909,2669)
+(1905,2670)
+(1902,2668)
+(1899,2670)
+(1896,2677)
+(1891,2681)
+(1890,2685)
+(1888,2687)
+(1887,2689)
+(1884,2691)
+(1882,2701)
+(1879,2704)
+(1878,2707)
+(1879,2708)
+(1877,2710)
+(1877,2711)
+(1879,2712)
+(1880,2715)
+(1880,2720)
+(1878,2723)
+(1879,2725)
+(1878,2726)
+(1878,2729)
+(1877,2732)
+(1875,2732)
+(1872,2733)
+(1873,2736)
+(1872,2738)
+(1870,2741)
+(1870,2745)
+(1869,2747)
+(1869,2751)
+(1867,2756)
+(1868,2763)
+(1864,2766)
+(1863,2769)
+(1863,2775)
+(1860,2778)
+(1857,2786)
+(1853,2789)
+(1853,2791)
+(1857,2806)
+(1857,2818)
+(1859,2821)
+(1858,2826)
+(1858,2835)
+(1857,2838)
+(1859,2840)
+(1861,2847)
+(1857,2848)
+(1849,2855)
+(1846,2858)
+(1844,2864)
+(1835,2865)
+(1830,2871)
+(1828,2875)
+(1827,2880)
+(1825,2888)
+(1824,2890)
+(1819,2892)
+(1819,2896)
+(1819,2897)
+(1812,2904)
+(1811,2904)
+(1808,2902)
+(1804,2906)
+(1799,2907)
+(1798,2909)
+(1798,2913)
+(1800,2907)
+(1804,2906)
+(1808,2903)
+(1810,2905)
+(1812,2905)
+(1820,2897)
+(1820,2896)
+(1819,2893)
+(1820,2892)
+(1824,2891)
+(1827,2887)
+(1828,2876)
+(1830,2872)
+(1837,2865)
+47
+(2319,2518)
+(2317,2513)
+(2319,2507)
+(2324,2501)
+(2326,2495)
+(2326,2491)
+(2328,2488)
+(2328,2487)
+(2330,2485)
+(2329,2484)
+(2330,2483)
+(2330,2481)
+(2331,2481)
+(2329,2473)
+(2325,2470)
+(2325,2469)
+(2328,2463)
+(2334,2456)
+(2332,2454)
+(2330,2446)
+(2330,2442)
+(2329,2438)
+(2326,2436)
+(2323,2426)
+(2325,2409)
+(2324,2406)
+(2325,2403)
+(2323,2403)
+(2323,2400)
+(2321,2394)
+(2321,2392)
+(2317,2389)
+(2317,2387)
+(2320,2382)
+(2319,2372)
+(2322,2369)
+(2326,2368)
+(2327,2366)
+(2326,2364)
+(2328,2362)
+(2328,2358)
+(2331,2356)
+(2332,2348)
+(2334,2337)
+(2331,2332)
+(2332,2328)
+(2332,2327)
+57
+(2284,2400)
+(2283,2406)
+(2284,2409)
+(2285,2412)
+(2286,2413)
+(2285,2416)
+(2284,2415)
+(2282,2416)
+(2279,2414)
+(2274,2416)
+(2273,2414)
+(2270,2415)
+(2269,2423)
+(2268,2424)
+(2270,2433)
+(2270,2444)
+(2268,2446)
+(2269,2449)
+(2270,2451)
+(2269,2452)
+(2268,2459)
+(2267,2461)
+(2267,2462)
+(2266,2462)
+(2267,2466)
+(2266,2467)
+(2265,2467)
+(2265,2470)
+(2265,2470)
+(2264,2471)
+(2264,2474)
+(2263,2475)
+(2264,2475)
+(2262,2484)
+(2264,2489)
+(2264,2497)
+(2265,2498)
+(2266,2498)
+(2263,2503)
+(2264,2506)
+(2263,2507)
+(2263,2510)
+(2259,2510)
+(2254,2514)
+(2253,2513)
+(2253,2512)
+(2251,2511)
+(2247,2512)
+(2246,2511)
+(2245,2512)
+(2244,2514)
+(2245,2517)
+(2246,2517)
+(2245,2523)
+(2243,2529)
+(2239,2533)
+(2237,2533)
+221
+(2237,2537)
+(2234,2541)
+(2230,2540)
+(2228,2541)
+(2226,2541)
+(2225,2543)
+(2222,2543)
+(2220,2544)
+(2216,2549)
+(2218,2550)
+(2218,2551)
+(2215,2550)
+(2215,2551)
+(2213,2550)
+(2212,2552)
+(2212,2550)
+(2211,2550)
+(2210,2554)
+(2207,2556)
+(2208,2562)
+(2205,2564)
+(2205,2567)
+(2203,2565)
+(2204,2568)
+(2203,2570)
+(2202,2571)
+(2203,2572)
+(2202,2574)
+(2200,2573)
+(2199,2575)
+(2198,2574)
+(2198,2570)
+(2196,2569)
+(2194,2565)
+(2190,2565)
+(2189,2576)
+(2188,2579)
+(2186,2578)
+(2184,2580)
+(2184,2587)
+(2182,2587)
+(2180,2590)
+(2177,2590)
+(2174,2593)
+(2171,2596)
+(2169,2597)
+(2168,2598)
+(2165,2598)
+(2161,2601)
+(2159,2600)
+(2158,2601)
+(2155,2600)
+(2153,2602)
+(2152,2601)
+(2151,2599)
+(2148,2599)
+(2147,2597)
+(2144,2597)
+(2142,2599)
+(2140,2596)
+(2138,2595)
+(2136,2596)
+(2135,2596)
+(2134,2594)
+(2128,2596)
+(2124,2596)
+(2122,2599)
+(2120,2602)
+(2117,2601)
+(2116,2606)
+(2114,2603)
+(2112,2603)
+(2106,2610)
+(2105,2612)
+(2104,2612)
+(2102,2615)
+(2100,2615)
+(2096,2611)
+(2095,2612)
+(2092,2613)
+(2091,2614)
+(2087,2615)
+(2086,2618)
+(2084,2618)
+(2083,2621)
+(2081,2620)
+(2079,2622)
+(2077,2621)
+(2075,2623)
+(2073,2623)
+(2072,2626)
+(2068,2627)
+(2063,2626)
+(2057,2630)
+(2054,2629)
+(2052,2631)
+(2048,2633)
+(2045,2637)
+(2044,2640)
+(2045,2641)
+(2044,2651)
+(2042,2654)
+(2043,2654)
+(2043,2656)
+(2041,2658)
+(2040,2663)
+(2036,2667)
+(2034,2668)
+(2028,2664)
+(2025,2664)
+(2024,2666)
+(2022,2666)
+(2021,2664)
+(2018,2665)
+(2017,2663)
+(2017,2660)
+(2015,2660)
+(2013,2660)
+(2012,2659)
+(2009,2659)
+(2007,2661)
+(2004,2661)
+(1999,2664)
+(1997,2662)
+(1997,2668)
+(1995,2668)
+(1994,2670)
+(1991,2669)
+(1989,2673)
+(1984,2675)
+(1986,2677)
+(1984,2678)
+(1981,2680)
+(1982,2684)
+(1982,2685)
+(1980,2685)
+(1978,2683)
+(1978,2685)
+(1980,2686)
+(1977,2689)
+(1979,2690)
+(1978,2691)
+(1976,2691)
+(1975,2697)
+(1973,2697)
+(1972,2698)
+(1974,2702)
+(1974,2703)
+(1973,2704)
+(1970,2703)
+(1967,2705)
+(1967,2709)
+(1966,2716)
+(1964,2717)
+(1962,2716)
+(1961,2719)
+(1959,2720)
+(1960,2722)
+(1959,2723)
+(1954,2726)
+(1956,2731)
+(1955,2733)
+(1954,2733)
+(1952,2732)
+(1954,2736)
+(1952,2737)
+(1954,2740)
+(1953,2743)
+(1951,2744)
+(1952,2747)
+(1951,2749)
+(1953,2751)
+(1953,2755)
+(1954,2756)
+(1957,2758)
+(1957,2761)
+(1959,2763)
+(1959,2767)
+(1959,2769)
+(1954,2774)
+(1954,2776)
+(1953,2778)
+(1952,2781)
+(1952,2788)
+(1952,2791)
+(1949,2800)
+(1947,2802)
+(1946,2802)
+(1941,2805)
+(1940,2804)
+(1940,2803)
+(1935,2804)
+(1933,2802)
+(1931,2803)
+(1928,2803)
+(1926,2806)
+(1925,2807)
+(1925,2812)
+(1916,2814)
+(1912,2818)
+(1913,2826)
+(1912,2828)
+(1908,2828)
+(1904,2828)
+(1900,2832)
+(1899,2831)
+(1896,2834)
+(1892,2836)
+(1890,2841)
+(1888,2843)
+(1885,2843)
+(1883,2845)
+(1882,2846)
+(1880,2846)
+(1879,2845)
+(1872,2847)
+(1870,2846)
+(1869,2848)
+(1866,2845)
+(1865,2846)
+(1861,2846)
+102
+(2044,2642)
+(2043,2648)
+(2043,2652)
+(2040,2654)
+(2042,2655)
+(2040,2658)
+(2040,2662)
+(2037,2664)
+(2036,2666)
+(2035,2667)
+(2027,2662)
+(2026,2663)
+(2023,2665)
+(2022,2664)
+(2019,2664)
+(2018,2663)
+(2017,2659)
+(2014,2659)
+(2013,2658)
+(2009,2658)
+(2007,2660)
+(2004,2660)
+(2000,2663)
+(1997,2662)
+(1996,2663)
+(1997,2667)
+(1995,2667)
+(1994,2669)
+(1990,2669)
+(1989,2672)
+(1987,2672)
+(1983,2674)
+(1984,2677)
+(1984,2677)
+(1980,2679)
+(1981,2684)
+(1979,2682)
+(1977,2683)
+(1978,2685)
+(1979,2686)
+(1977,2689)
+(1977,2690)
+(1976,2691)
+(1975,2695)
+(1972,2697)
+(1972,2699)
+(1974,2703)
+(1971,2701)
+(1967,2704)
+(1965,2716)
+(1962,2714)
+(1961,2716)
+(1961,2719)
+(1959,2719)
+(1958,2720)
+(1959,2722)
+(1953,2725)
+(1955,2730)
+(1955,2732)
+(1953,2731)
+(1952,2731)
+(1951,2732)
+(1954,2735)
+(1952,2735)
+(1951,2738)
+(1953,2739)
+(1953,2741)
+(1950,2745)
+(1951,2747)
+(1951,2748)
+(1947,2748)
+(1946,2749)
+(1947,2752)
+(1947,2750)
+(1948,2749)
+(1950,2749)
+(1950,2750)
+(1951,2751)
+(1952,2753)
+(1952,2755)
+(1956,2758)
+(1959,2767)
+(1953,2775)
+(1953,2778)
+(1951,2780)
+(1951,2790)
+(1949,2797)
+(1949,2799)
+(1947,2801)
+(1946,2801)
+(1944,2803)
+(1941,2804)
+(1940,2802)
+(1935,2803)
+(1933,2801)
+(1931,2802)
+(1928,2802)
+(1927,2803)
+(1926,2806)
+(1924,2807)
+(1924,2811)
+(1920,2813)
+31
+(1947,2752)
+(1944,2756)
+(1942,2757)
+(1940,2755)
+(1938,2756)
+(1937,2755)
+(1934,2757)
+(1933,2760)
+(1930,2761)
+(1927,2761)
+(1923,2758)
+(1920,2759)
+(1916,2757)
+(1914,2759)
+(1913,2763)
+(1910,2765)
+(1905,2766)
+(1900,2766)
+(1890,2768)
+(1888,2770)
+(1883,2771)
+(1878,2774)
+(1875,2777)
+(1875,2780)
+(1872,2782)
+(1870,2782)
+(1869,2785)
+(1865,2784)
+(1863,2782)
+(1861,2784)
+(1858,2782)
+114
+(2690,253)
+(2687,251)
+(2686,250)
+(2687,245)
+(2690,242)
+(2691,241)
+(2692,235)
+(2696,234)
+(2698,235)
+(2700,234)
+(2700,235)
+(2702,236)
+(2707,233)
+(2709,236)
+(2712,236)
+(2712,242)
+(2714,243)
+(2715,248)
+(2718,247)
+(2721,251)
+(2727,255)
+(2732,254)
+(2734,256)
+(2735,254)
+(2739,253)
+(2740,251)
+(2744,252)
+(2747,250)
+(2749,250)
+(2749,249)
+(2752,248)
+(2752,245)
+(2753,245)
+(2758,240)
+(2758,242)
+(2760,242)
+(2763,245)
+(2766,245)
+(2770,244)
+(2773,242)
+(2777,240)
+(2784,238)
+(2786,239)
+(2788,239)
+(2793,224)
+(2797,225)
+(2797,223)
+(2804,218)
+(2805,215)
+(2807,213)
+(2810,206)
+(2811,202)
+(2813,197)
+(2819,191)
+(2819,184)
+(2822,184)
+(2824,182)
+(2827,182)
+(2836,179)
+(2840,172)
+(2847,176)
+(2851,173)
+(2856,165)
+(2860,162)
+(2864,151)
+(2866,148)
+(2866,142)
+(2867,140)
+(2867,138)
+(2869,138)
+(2870,135)
+(2871,135)
+(2871,130)
+(2872,126)
+(2871,122)
+(2873,122)
+(2874,118)
+(2874,112)
+(2872,109)
+(2871,104)
+(2867,99)
+(2865,97)
+(2863,95)
+(2862,95)
+(2860,91)
+(2859,86)
+(2854,79)
+(2850,75)
+(2848,65)
+(2845,59)
+(2844,51)
+(2845,47)
+(2844,40)
+(2842,31)
+(2840,28)
+(2839,24)
+(2836,19)
+(2834,12)
+(2833,4)
+(2835,0)
+(2835,-4)
+(2841,-15)
+(2844,-18)
+(2845,-32)
+(2845,-36)
+(2843,-40)
+(2842,-43)
+(2844,-54)
+(2842,-61)
+(2842,-69)
+(2840,-78)
+(2833,-90)
+(2832,-97)
+(2833,-104)
+436
+(25,1991)
+(28,1991)
+(33,1986)
+(36,1984)
+(39,1983)
+(42,1983)
+(47,1982)
+(57,1977)
+(65,1976)
+(68,1978)
+(70,1978)
+(78,1973)
+(91,1953)
+(91,1950)
+(93,1948)
+(100,1934)
+(101,1932)
+(100,1928)
+(99,1926)
+(104,1927)
+(106,1930)
+(108,1936)
+(110,1937)
+(112,1940)
+(116,1941)
+(117,1942)
+(118,1940)
+(123,1941)
+(131,1939)
+(135,1937)
+(135,1935)
+(135,1933)
+(133,1930)
+(135,1927)
+(137,1924)
+(137,1921)
+(141,1916)
+(142,1913)
+(141,1909)
+(138,1905)
+(136,1901)
+(136,1892)
+(132,1882)
+(144,1888)
+(147,1889)
+(148,1891)
+(150,1892)
+(150,1891)
+(150,1889)
+(154,1888)
+(157,1885)
+(160,1885)
+(161,1887)
+(165,1886)
+(168,1883)
+(172,1882)
+(178,1885)
+(179,1884)
+(182,1888)
+(192,1893)
+(196,1894)
+(201,1897)
+(204,1899)
+(209,1901)
+(210,1905)
+(212,1909)
+(211,1909)
+(211,1911)
+(210,1913)
+(210,1915)
+(211,1916)
+(214,1918)
+(215,1922)
+(220,1917)
+(225,1915)
+(243,1896)
+(255,1891)
+(256,1891)
+(260,1890)
+(270,1892)
+(274,1890)
+(276,1891)
+(278,1891)
+(282,1894)
+(289,1895)
+(294,1898)
+(297,1898)
+(302,1900)
+(314,1906)
+(322,1906)
+(324,1905)
+(329,1907)
+(333,1908)
+(342,1907)
+(348,1905)
+(350,1903)
+(356,1900)
+(356,1899)
+(358,1898)
+(364,1895)
+(368,1892)
+(380,1889)
+(386,1884)
+(390,1883)
+(391,1880)
+(397,1879)
+(403,1875)
+(406,1872)
+(408,1871)
+(413,1865)
+(415,1864)
+(417,1858)
+(420,1856)
+(421,1854)
+(422,1851)
+(427,1848)
+(428,1846)
+(431,1843)
+(433,1843)
+(439,1839)
+(443,1839)
+(445,1837)
+(447,1836)
+(447,1835)
+(448,1835)
+(450,1833)
+(450,1833)
+(451,1834)
+(453,1834)
+(455,1833)
+(456,1831)
+(458,1831)
+(459,1829)
+(460,1830)
+(465,1830)
+(466,1832)
+(467,1832)
+(468,1833)
+(468,1831)
+(469,1832)
+(470,1831)
+(474,1830)
+(479,1826)
+(480,1826)
+(483,1824)
+(486,1823)
+(486,1821)
+(488,1821)
+(487,1819)
+(490,1818)
+(492,1818)
+(493,1820)
+(494,1819)
+(496,1820)
+(497,1819)
+(499,1820)
+(503,1819)
+(504,1821)
+(508,1822)
+(509,1820)
+(510,1820)
+(511,1818)
+(513,1816)
+(515,1817)
+(516,1816)
+(520,1819)
+(524,1814)
+(526,1814)
+(528,1815)
+(529,1814)
+(532,1814)
+(534,1812)
+(536,1813)
+(540,1811)
+(541,1812)
+(542,1814)
+(545,1816)
+(546,1819)
+(551,1819)
+(551,1821)
+(553,1821)
+(554,1822)
+(558,1822)
+(559,1820)
+(561,1819)
+(562,1821)
+(564,1822)
+(566,1824)
+(568,1825)
+(569,1828)
+(572,1830)
+(572,1841)
+(570,1845)
+(570,1849)
+(571,1857)
+(569,1862)
+(568,1863)
+(566,1867)
+(563,1875)
+(563,1881)
+(561,1885)
+(561,1889)
+(563,1893)
+(570,1899)
+(571,1899)
+(573,1898)
+(577,1900)
+(577,1902)
+(580,1904)
+(581,1910)
+(585,1915)
+(586,1918)
+(591,1921)
+(594,1926)
+(599,1930)
+(601,1931)
+(602,1934)
+(605,1934)
+(610,1937)
+(616,1935)
+(625,1934)
+(627,1933)
+(627,1926)
+(629,1926)
+(632,1926)
+(636,1929)
+(640,1934)
+(642,1935)
+(647,1941)
+(648,1945)
+(653,1950)
+(656,1951)
+(659,1957)
+(662,1959)
+(672,1960)
+(678,1958)
+(686,1961)
+(692,1961)
+(697,1964)
+(699,1966)
+(704,1966)
+(715,1963)
+(722,1965)
+(728,1964)
+(732,1964)
+(734,1963)
+(740,1965)
+(742,1966)
+(753,1968)
+(761,1967)
+(767,1965)
+(771,1966)
+(775,1965)
+(779,1968)
+(782,1969)
+(784,1967)
+(789,1965)
+(794,1959)
+(802,1954)
+(807,1955)
+(815,1957)
+(817,1957)
+(819,1952)
+(824,1948)
+(828,1948)
+(831,1944)
+(835,1940)
+(842,1939)
+(846,1938)
+(853,1933)
+(860,1930)
+(865,1929)
+(870,1931)
+(879,1930)
+(887,1933)
+(890,1936)
+(895,1939)
+(899,1944)
+(906,1945)
+(914,1949)
+(923,1949)
+(926,1948)
+(929,1947)
+(931,1948)
+(937,1949)
+(946,1952)
+(950,1951)
+(954,1953)
+(958,1952)
+(970,1953)
+(975,1957)
+(976,1961)
+(980,1961)
+(980,1963)
+(983,1964)
+(984,1966)
+(986,1968)
+(990,1973)
+(993,1980)
+(991,1983)
+(992,1988)
+(999,1996)
+(1002,2006)
+(1004,2009)
+(1005,2015)
+(1006,2017)
+(1017,2024)
+(1021,2024)
+(1027,2022)
+(1031,2025)
+(1037,2025)
+(1046,2032)
+(1053,2034)
+(1055,2038)
+(1058,2039)
+(1063,2039)
+(1069,2040)
+(1077,2038)
+(1083,2039)
+(1096,2035)
+(1099,2033)
+(1099,2029)
+(1100,2028)
+(1101,2027)
+(1108,2025)
+(1109,2021)
+(1111,2021)
+(1116,2022)
+(1121,2021)
+(1123,2020)
+(1125,2014)
+(1133,2013)
+(1139,2015)
+(1142,2014)
+(1148,2015)
+(1151,2014)
+(1156,2005)
+(1159,2005)
+(1161,2003)
+(1163,2003)
+(1166,2002)
+(1168,1998)
+(1171,1984)
+(1171,1981)
+(1168,1978)
+(1167,1974)
+(1167,1973)
+(1161,1969)
+(1159,1965)
+(1155,1962)
+(1152,1962)
+(1149,1960)
+(1149,1956)
+(1149,1950)
+(1145,1950)
+(1144,1948)
+(1141,1947)
+(1138,1944)
+(1133,1941)
+(1133,1939)
+(1135,1937)
+(1133,1932)
+(1127,1922)
+(1125,1922)
+(1121,1924)
+(1118,1923)
+(1114,1919)
+(1114,1914)
+(1113,1913)
+(1107,1908)
+(1101,1906)
+(1098,1902)
+(1094,1900)
+(1085,1892)
+(1082,1885)
+(1083,1880)
+(1079,1872)
+(1081,1867)
+(1083,1862)
+(1083,1859)
+(1085,1856)
+(1087,1855)
+(1088,1849)
+(1090,1846)
+(1099,1842)
+(1103,1843)
+(1107,1842)
+(1116,1835)
+(1127,1832)
+(1132,1829)
+(1138,1828)
+(1145,1829)
+(1154,1829)
+(1156,1828)
+(1162,1829)
+(1167,1828)
+(1172,1827)
+(1175,1824)
+(1181,1824)
+(1186,1822)
+(1187,1819)
+(1190,1818)
+(1193,1820)
+(1194,1824)
+(1196,1827)
+(1196,1834)
+(1197,1834)
+(1201,1836)
+(1209,1834)
+(1217,1835)
+(1220,1833)
+(1221,1831)
+(1221,1824)
+(1226,1821)
+(1236,1818)
+(1243,1822)
+(1246,1820)
+(1248,1821)
+(1249,1830)
+(1251,1834)
+(1255,1835)
+(1258,1834)
+(1261,1836)
+(1265,1843)
+(1267,1843)
+(1271,1840)
+(1274,1843)
+(1276,1847)
+(1277,1851)
+(1280,1856)
+(1282,1857)
+(1283,1859)
+(1285,1859)
+(1286,1858)
+(1289,1859)
+(1290,1862)
+164
+(1439,1973)
+(1443,1972)
+(1448,1973)
+(1453,1972)
+(1458,1974)
+(1464,1974)
+(1467,1975)
+(1468,1973)
+(1470,1972)
+(1474,1975)
+(1481,1976)
+(1487,1975)
+(1495,1972)
+(1499,1973)
+(1503,1972)
+(1506,1970)
+(1508,1965)
+(1511,1963)
+(1516,1954)
+(1518,1953)
+(1525,1953)
+(1533,1949)
+(1536,1950)
+(1538,1956)
+(1546,1960)
+(1548,1966)
+(1550,1966)
+(1553,1964)
+(1560,1967)
+(1566,1966)
+(1568,1964)
+(1571,1959)
+(1570,1957)
+(1568,1956)
+(1567,1953)
+(1567,1946)
+(1564,1943)
+(1565,1939)
+(1562,1937)
+(1561,1936)
+(1563,1934)
+(1566,1934)
+(1569,1930)
+(1573,1927)
+(1573,1923)
+(1571,1923)
+(1571,1921)
+(1576,1920)
+(1585,1909)
+(1593,1908)
+(1594,1907)
+(1593,1905)
+(1592,1903)
+(1593,1902)
+(1598,1903)
+(1598,1901)
+(1599,1898)
+(1602,1898)
+(1607,1892)
+(1615,1888)
+(1620,1882)
+(1625,1879)
+(1629,1878)
+(1630,1876)
+(1630,1872)
+(1633,1870)
+(1632,1867)
+(1636,1867)
+(1637,1862)
+(1639,1860)
+(1640,1858)
+(1642,1858)
+(1645,1853)
+(1647,1851)
+(1650,1852)
+(1655,1851)
+(1660,1854)
+(1665,1853)
+(1667,1854)
+(1672,1850)
+(1676,1852)
+(1682,1850)
+(1688,1845)
+(1690,1845)
+(1692,1845)
+(1696,1844)
+(1699,1844)
+(1703,1846)
+(1706,1850)
+(1708,1850)
+(1710,1849)
+(1718,1850)
+(1720,1852)
+(1722,1852)
+(1724,1853)
+(1727,1855)
+(1729,1854)
+(1731,1855)
+(1735,1860)
+(1741,1863)
+(1745,1868)
+(1754,1873)
+(1760,1873)
+(1763,1874)
+(1766,1872)
+(1767,1874)
+(1773,1877)
+(1777,1876)
+(1780,1878)
+(1783,1876)
+(1787,1878)
+(1790,1878)
+(1795,1877)
+(1799,1873)
+(1808,1874)
+(1809,1870)
+(1813,1864)
+(1813,1859)
+(1817,1858)
+(1817,1855)
+(1820,1855)
+(1819,1851)
+(1820,1850)
+(1821,1850)
+(1823,1853)
+(1824,1851)
+(1827,1851)
+(1830,1850)
+(1832,1851)
+(1833,1849)
+(1833,1849)
+(1835,1850)
+(1836,1848)
+(1838,1848)
+(1841,1848)
+(1843,1846)
+(1845,1848)
+(1846,1845)
+(1848,1846)
+(1849,1849)
+(1850,1848)
+(1849,1846)
+(1851,1848)
+(1852,1847)
+(1853,1845)
+(1856,1847)
+(1858,1845)
+(1859,1846)
+(1861,1843)
+(1865,1843)
+(1867,1839)
+(1870,1837)
+(1872,1834)
+(1871,1832)
+(1873,1831)
+(1874,1830)
+(1877,1831)
+(1879,1831)
+(1881,1829)
+(1880,1828)
+(1882,1827)
+(1883,1825)
+(1886,1825)
+(1886,1824)
+47
+(1810,1868)
+(1814,1866)
+(1816,1867)
+(1817,1866)
+(1819,1867)
+(1822,1863)
+(1822,1866)
+(1825,1866)
+(1824,1868)
+(1826,1868)
+(1828,1871)
+(1829,1871)
+(1831,1873)
+(1833,1873)
+(1833,1875)
+(1834,1875)
+(1839,1876)
+(1844,1875)
+(1845,1874)
+(1848,1874)
+(1850,1873)
+(1851,1875)
+(1853,1874)
+(1853,1875)
+(1854,1874)
+(1855,1876)
+(1857,1875)
+(1859,1878)
+(1863,1880)
+(1863,1884)
+(1870,1888)
+(1870,1890)
+(1870,1891)
+(1871,1891)
+(1871,1895)
+(1873,1898)
+(1874,1897)
+(1875,1901)
+(1877,1899)
+(1877,1902)
+(1883,1903)
+(1883,1904)
+(1884,1905)
+(1885,1909)
+(1887,1908)
+(1888,1910)
+(1891,1911)
+28
+(466,1832)
+(466,1834)
+(472,1834)
+(479,1835)
+(487,1839)
+(495,1838)
+(502,1840)
+(509,1838)
+(511,1839)
+(513,1840)
+(513,1843)
+(515,1846)
+(526,1850)
+(528,1850)
+(530,1851)
+(531,1850)
+(532,1851)
+(535,1851)
+(538,1847)
+(542,1848)
+(543,1849)
+(544,1851)
+(545,1852)
+(546,1854)
+(550,1854)
+(560,1866)
+(564,1867)
+(565,1868)
+259
+(698,2243)
+(693,2243)
+(693,2245)
+(692,2247)
+(692,2248)
+(690,2252)
+(689,2257)
+(680,2262)
+(676,2268)
+(675,2271)
+(673,2272)
+(673,2275)
+(672,2277)
+(672,2279)
+(670,2281)
+(670,2286)
+(670,2289)
+(669,2292)
+(670,2293)
+(669,2298)
+(665,2303)
+(665,2306)
+(661,2309)
+(658,2309)
+(654,2311)
+(650,2310)
+(648,2311)
+(646,2310)
+(643,2311)
+(636,2307)
+(629,2309)
+(621,2309)
+(618,2307)
+(616,2307)
+(615,2305)
+(611,2304)
+(609,2302)
+(610,2300)
+(607,2298)
+(606,2293)
+(603,2290)
+(603,2288)
+(602,2287)
+(602,2285)
+(600,2283)
+(597,2278)
+(597,2276)
+(595,2276)
+(596,2274)
+(595,2273)
+(595,2271)
+(593,2269)
+(593,2265)
+(592,2264)
+(591,2262)
+(595,2256)
+(601,2252)
+(602,2247)
+(604,2243)
+(604,2241)
+(601,2241)
+(601,2239)
+(605,2237)
+(606,2233)
+(608,2231)
+(610,2230)
+(614,2232)
+(615,2231)
+(616,2225)
+(617,2224)
+(618,2221)
+(619,2218)
+(620,2214)
+(621,2211)
+(620,2208)
+(623,2205)
+(622,2204)
+(622,2202)
+(620,2201)
+(620,2199)
+(622,2196)
+(623,2192)
+(626,2191)
+(628,2192)
+(629,2191)
+(629,2187)
+(627,2185)
+(623,2185)
+(621,2183)
+(618,2181)
+(616,2179)
+(613,2178)
+(612,2176)
+(608,2173)
+(607,2169)
+(608,2167)
+(609,2162)
+(608,2161)
+(609,2159)
+(608,2158)
+(607,2157)
+(605,2154)
+(602,2153)
+(601,2152)
+(601,2149)
+(603,2147)
+(603,2144)
+(601,2143)
+(599,2144)
+(597,2141)
+(597,2138)
+(600,2137)
+(603,2135)
+(607,2129)
+(607,2126)
+(607,2124)
+(608,2121)
+(613,2119)
+(616,2119)
+(618,2120)
+(625,2118)
+(627,2117)
+(629,2114)
+(633,2111)
+(635,2109)
+(638,2108)
+(639,2109)
+(642,2109)
+(643,2110)
+(647,2111)
+(649,2110)
+(654,2112)
+(660,2111)
+(663,2112)
+(668,2111)
+(669,2108)
+(672,2106)
+(673,2105)
+(674,2101)
+(673,2099)
+(675,2094)
+(675,2092)
+(675,2089)
+(678,2086)
+(679,2083)
+(708,2063)
+(711,2062)
+(719,2062)
+(725,2058)
+(727,2059)
+(730,2059)
+(733,2061)
+(735,2060)
+(742,2061)
+(745,2056)
+(747,2056)
+(748,2052)
+(750,2050)
+(753,2049)
+(754,2051)
+(756,2051)
+(757,2051)
+(759,2048)
+(762,2049)
+(764,2048)
+(767,2049)
+(770,2044)
+(773,2042)
+(771,2040)
+(772,2039)
+(776,2041)
+(778,2039)
+(781,2039)
+(783,2037)
+(784,2036)
+(786,2038)
+(789,2038)
+(790,2038)
+(789,2036)
+(790,2035)
+(792,2037)
+(794,2037)
+(795,2036)
+(797,2034)
+(797,2033)
+(799,2032)
+(798,2030)
+(800,2027)
+(799,2023)
+(802,2022)
+(805,2019)
+(808,2021)
+(811,2019)
+(813,2017)
+(815,2017)
+(815,2015)
+(816,2014)
+(819,2015)
+(821,2017)
+(823,2016)
+(823,2014)
+(824,2013)
+(825,2014)
+(825,2017)
+(826,2018)
+(827,2017)
+(828,2013)
+(830,2013)
+(831,2013)
+(831,2016)
+(832,2017)
+(835,2017)
+(838,2015)
+(838,2018)
+(842,2017)
+(843,2020)
+(847,2020)
+(850,2021)
+(850,2019)
+(852,2019)
+(853,2016)
+(855,2018)
+(857,2017)
+(860,2014)
+(861,2013)
+(866,2013)
+(865,2011)
+(866,2010)
+(868,2010)
+(870,2007)
+(872,2007)
+(881,2002)
+(884,2001)
+(885,2001)
+(884,1999)
+(884,1998)
+(887,1998)
+(888,1997)
+(893,1995)
+(894,1993)
+(898,1993)
+(901,1993)
+(903,1991)
+(908,1990)
+(909,1988)
+(914,1985)
+(915,1982)
+(917,1981)
+(917,1975)
+(920,1970)
+(921,1967)
+(926,1962)
+(929,1962)
+(930,1960)
+(931,1960)
+(932,1957)
+(935,1955)
+(937,1955)
+(938,1949)
+22
+(659,2235)
+(661,2233)
+(662,2230)
+(664,2229)
+(665,2227)
+(671,2223)
+(672,2220)
+(676,2218)
+(681,2219)
+(683,2221)
+(686,2221)
+(689,2219)
+(696,2225)
+(698,2223)
+(698,2226)
+(701,2227)
+(703,2230)
+(703,2232)
+(707,2230)
+(707,2228)
+(709,2227)
+(711,2227)
+202
+(556,903)
+(549,907)
+(550,913)
+(549,918)
+(549,924)
+(551,926)
+(556,929)
+(559,931)
+(562,934)
+(569,936)
+(570,936)
+(572,933)
+(575,931)
+(580,931)
+(581,930)
+(581,928)
+(585,928)
+(589,925)
+(591,920)
+(591,918)
+(588,917)
+(590,912)
+(589,910)
+(588,908)
+(587,907)
+(589,905)
+(591,904)
+(593,902)
+(594,900)
+(594,897)
+(592,895)
+(592,891)
+(590,889)
+(589,884)
+(588,882)
+(585,879)
+(583,877)
+(584,875)
+(583,874)
+(581,872)
+(580,870)
+(579,862)
+(579,859)
+(576,845)
+(577,842)
+(576,839)
+(578,837)
+(577,834)
+(577,832)
+(574,831)
+(570,830)
+(569,832)
+(565,832)
+(564,831)
+(562,829)
+(561,828)
+(561,826)
+(558,824)
+(557,819)
+(558,812)
+(559,812)
+(560,809)
+(554,803)
+(554,800)
+(553,799)
+(552,796)
+(553,795)
+(552,791)
+(553,790)
+(551,788)
+(552,787)
+(553,786)
+(558,780)
+(557,778)
+(558,778)
+(559,778)
+(560,775)
+(561,775)
+(561,771)
+(563,768)
+(561,763)
+(558,760)
+(556,757)
+(554,753)
+(554,751)
+(562,743)
+(565,742)
+(570,738)
+(571,735)
+(571,733)
+(571,730)
+(568,723)
+(569,719)
+(569,715)
+(570,711)
+(568,701)
+(565,697)
+(563,691)
+(559,684)
+(555,680)
+(554,678)
+(552,676)
+(551,671)
+(547,664)
+(541,659)
+(540,659)
+(536,651)
+(533,649)
+(531,647)
+(527,645)
+(522,641)
+(520,636)
+(521,634)
+(523,631)
+(520,623)
+(521,617)
+(519,616)
+(516,615)
+(514,612)
+(511,611)
+(510,607)
+(508,607)
+(506,603)
+(501,600)
+(499,594)
+(495,589)
+(494,584)
+(486,571)
+(486,568)
+(484,565)
+(480,562)
+(479,560)
+(477,558)
+(473,547)
+(472,539)
+(469,536)
+(468,530)
+(464,518)
+(465,510)
+(469,502)
+(472,498)
+(473,493)
+(479,478)
+(480,468)
+(482,463)
+(482,458)
+(481,447)
+(482,444)
+(482,438)
+(478,426)
+(474,420)
+(471,414)
+(470,409)
+(468,406)
+(470,407)
+(475,408)
+(484,407)
+(490,403)
+(493,402)
+(501,395)
+(506,388)
+(516,385)
+(521,382)
+(524,376)
+(523,369)
+(525,367)
+(526,364)
+(525,359)
+(525,357)
+(525,356)
+(525,349)
+(527,347)
+(528,349)
+(531,349)
+(527,347)
+(525,347)
+(526,346)
+(528,345)
+(530,343)
+(531,337)
+(533,336)
+(537,331)
+(537,329)
+(540,323)
+(540,313)
+(545,312)
+(547,310)
+(549,305)
+(553,301)
+(552,298)
+(548,290)
+(549,287)
+(551,286)
+(555,286)
+(557,285)
+(559,279)
+(562,277)
+(567,277)
+(572,274)
+(581,277)
+(583,279)
+(591,277)
+21
+(562,277)
+(561,277)
+(558,279)
+(556,285)
+(550,285)
+(548,287)
+(548,292)
+(551,300)
+(548,305)
+(547,308)
+(539,313)
+(539,325)
+(536,328)
+(536,331)
+(533,335)
+(530,337)
+(528,344)
+(525,346)
+(524,348)
+(524,359)
+(525,366)
+59
+(520,383)
+(506,387)
+(501,393)
+(494,400)
+(483,406)
+(471,406)
+(469,405)
+(461,405)
+(457,403)
+(451,402)
+(447,402)
+(439,402)
+(436,401)
+(428,402)
+(422,400)
+(414,400)
+(409,397)
+(398,397)
+(394,399)
+(380,402)
+(377,402)
+(374,403)
+(371,405)
+(369,405)
+(367,404)
+(365,402)
+(361,402)
+(356,401)
+(353,398)
+(349,395)
+(337,394)
+(331,391)
+(329,391)
+(326,389)
+(323,390)
+(322,389)
+(320,380)
+(318,378)
+(315,378)
+(315,373)
+(313,372)
+(311,373)
+(309,369)
+(309,366)
+(306,364)
+(308,358)
+(312,355)
+(311,351)
+(312,350)
+(313,348)
+(310,345)
+(311,343)
+(309,343)
+(310,342)
+(310,338)
+(308,336)
+(310,334)
+(309,333)
+(308,330)
+86
+(265,363)
+(267,364)
+(270,363)
+(272,364)
+(276,365)
+(277,365)
+(279,366)
+(285,366)
+(286,364)
+(287,366)
+(289,365)
+(291,367)
+(291,369)
+(293,370)
+(292,372)
+(297,373)
+(295,374)
+(297,376)
+(299,376)
+(300,375)
+(301,377)
+(302,375)
+(305,375)
+(306,376)
+(306,378)
+(307,379)
+(309,379)
+(309,382)
+(310,382)
+(312,382)
+(311,381)
+(312,379)
+(316,381)
+(317,384)
+(320,386)
+(321,390)
+(326,389)
+(327,389)
+(328,393)
+(329,393)
+(335,395)
+(339,395)
+(347,398)
+(350,398)
+(356,402)
+(359,403)
+(361,404)
+(364,403)
+(368,406)
+(371,406)
+(374,404)
+(383,403)
+(386,402)
+(395,401)
+(401,399)
+(405,400)
+(409,400)
+(417,402)
+(421,401)
+(428,404)
+(435,402)
+(447,403)
+(455,403)
+(461,406)
+(465,406)
+(467,406)
+(470,411)
+(472,418)
+(478,427)
+(481,440)
+(481,445)
+(479,448)
+(481,453)
+(481,461)
+(479,468)
+(478,477)
+(472,493)
+(471,498)
+(467,502)
+(465,508)
+(463,516)
+(463,519)
+(468,532)
+(468,536)
+(471,539)
+(472,542)
+17
+(482,563)
+(486,573)
+(489,578)
+(490,580)
+(492,584)
+(492,588)
+(494,589)
+(499,596)
+(499,600)
+(496,602)
+(493,603)
+(496,604)
+(500,600)
+(502,603)
+(505,604)
+(507,608)
+(511,608)
+178
+(545,-644)
+(547,-642)
+(549,-642)
+(549,-639)
+(550,-639)
+(565,-633)
+(570,-636)
+(573,-639)
+(576,-640)
+(579,-639)
+(582,-640)
+(585,-639)
+(587,-638)
+(590,-638)
+(592,-641)
+(596,-643)
+(598,-642)
+(600,-644)
+(600,-646)
+(601,-645)
+(606,-647)
+(608,-646)
+(610,-647)
+(610,-648)
+(614,-650)
+(616,-649)
+(617,-647)
+(619,-647)
+(618,-643)
+(620,-641)
+(619,-640)
+(620,-639)
+(620,-638)
+(623,-637)
+(625,-639)
+(626,-639)
+(624,-635)
+(626,-630)
+(627,-630)
+(628,-628)
+(632,-624)
+(632,-622)
+(631,-621)
+(632,-618)
+(631,-616)
+(631,-614)
+(629,-614)
+(628,-613)
+(626,-612)
+(627,-611)
+(629,-609)
+(632,-609)
+(632,-605)
+(637,-601)
+(635,-597)
+(637,-595)
+(636,-592)
+(637,-591)
+(639,-592)
+(639,-592)
+(640,-586)
+(639,-585)
+(638,-584)
+(639,-582)
+(642,-580)
+(640,-577)
+(641,-576)
+(648,-569)
+(657,-568)
+(658,-564)
+(659,-563)
+(664,-563)
+(664,-557)
+(665,-554)
+(671,-547)
+(674,-547)
+(676,-548)
+(679,-549)
+(682,-550)
+(685,-550)
+(686,-548)
+(685,-539)
+(686,-536)
+(687,-534)
+(690,-531)
+(692,-528)
+(699,-524)
+(700,-522)
+(706,-516)
+(710,-510)
+(713,-506)
+(719,-503)
+(721,-500)
+(725,-501)
+(727,-500)
+(730,-493)
+(734,-489)
+(740,-487)
+(746,-487)
+(748,-485)
+(757,-482)
+(758,-478)
+(758,-475)
+(760,-473)
+(759,-469)
+(760,-466)
+(763,-465)
+(765,-462)
+(767,-461)
+(770,-454)
+(776,-449)
+(777,-446)
+(779,-444)
+(784,-441)
+(784,-439)
+(788,-434)
+(791,-428)
+(794,-424)
+(796,-420)
+(800,-418)
+(802,-415)
+(801,-411)
+(802,-408)
+(803,-406)
+(802,-403)
+(804,-395)
+(803,-393)
+(804,-392)
+(802,-387)
+(802,-386)
+(807,-377)
+(810,-375)
+(811,-371)
+(825,-364)
+(824,-362)
+(821,-357)
+(822,-350)
+(824,-346)
+(830,-341)
+(832,-335)
+(836,-332)
+(838,-330)
+(838,-328)
+(838,-320)
+(839,-315)
+(842,-313)
+(847,-310)
+(848,-304)
+(848,-300)
+(850,-296)
+(850,-293)
+(852,-290)
+(853,-284)
+(855,-280)
+(855,-277)
+(857,-274)
+(856,-272)
+(854,-271)
+(855,-269)
+(858,-268)
+(861,-262)
+(864,-262)
+(865,-262)
+(866,-257)
+(870,-253)
+(876,-251)
+(882,-250)
+(885,-246)
+(890,-245)
+(897,-236)
+(900,-234)
+(904,-234)
+(905,-236)
+(906,-236)
+(908,-239)
+(910,-238)
+(914,-239)
+(917,-239)
+10
+(685,-539)
+(685,-541)
+(685,-546)
+(684,-548)
+(682,-549)
+(674,-546)
+(672,-546)
+(668,-549)
+(665,-553)
+(664,-557)
+20
+(696,-526)
+(706,-515)
+(710,-508)
+(715,-504)
+(720,-498)
+(724,-500)
+(725,-499)
+(729,-496)
+(730,-491)
+(734,-488)
+(746,-485)
+(748,-483)
+(756,-482)
+(757,-480)
+(758,-475)
+(759,-473)
+(758,-469)
+(759,-466)
+(761,-464)
+(763,-465)
+40
+(786,-437)
+(789,-428)
+(795,-420)
+(799,-418)
+(801,-413)
+(800,-410)
+(801,-407)
+(801,-402)
+(803,-396)
+(801,-386)
+(806,-378)
+(807,-374)
+(810,-371)
+(813,-368)
+(823,-364)
+(823,-362)
+(820,-358)
+(821,-351)
+(823,-346)
+(829,-341)
+(832,-333)
+(837,-330)
+(837,-328)
+(836,-324)
+(837,-321)
+(838,-314)
+(845,-310)
+(847,-307)
+(848,-304)
+(847,-301)
+(849,-296)
+(850,-294)
+(852,-289)
+(852,-286)
+(854,-280)
+(854,-277)
+(856,-275)
+(856,-273)
+(854,-271)
+(855,-269)
+8
+(879,-250)
+(881,-249)
+(884,-245)
+(888,-245)
+(890,-245)
+(896,-235)
+(900,-233)
+(901,-234)
+188
+(958,-233)
+(960,-231)
+(961,-231)
+(963,-228)
+(967,-225)
+(967,-219)
+(967,-217)
+(969,-213)
+(968,-209)
+(972,-204)
+(976,-203)
+(977,-202)
+(976,-198)
+(977,-198)
+(979,-200)
+(982,-199)
+(983,-197)
+(983,-195)
+(986,-191)
+(988,-190)
+(987,-187)
+(991,-187)
+(993,-186)
+(994,-187)
+(998,-183)
+(999,-181)
+(998,-181)
+(999,-177)
+(998,-174)
+(999,-173)
+(1004,-159)
+(1003,-158)
+(1003,-155)
+(1004,-150)
+(1006,-149)
+(1006,-144)
+(1008,-139)
+(1007,-137)
+(1008,-136)
+(1010,-135)
+(1010,-130)
+(1008,-128)
+(1010,-127)
+(1010,-125)
+(1008,-124)
+(1008,-123)
+(1011,-121)
+(1014,-112)
+(1015,-109)
+(1015,-107)
+(1018,-104)
+(1018,-101)
+(1016,-102)
+(1016,-101)
+(1020,-98)
+(1021,-93)
+(1020,-92)
+(1021,-88)
+(1020,-86)
+(1021,-83)
+(1020,-80)
+(1021,-79)
+(1021,-74)
+(1023,-72)
+(1024,-68)
+(1019,-62)
+(1019,-56)
+(1019,-51)
+(1020,-48)
+(1019,-46)
+(1015,-40)
+(1015,-35)
+(1018,-32)
+(1017,-30)
+(1018,-27)
+(1017,-22)
+(1013,-19)
+(1010,-20)
+(1005,-15)
+(1002,-15)
+(1000,-14)
+(995,-13)
+(990,-5)
+(985,-7)
+(982,-4)
+(976,-3)
+(973,-2)
+(972,0)
+(967,5)
+(960,8)
+(958,10)
+(954,13)
+(952,16)
+(949,17)
+(948,20)
+(945,23)
+(944,28)
+(942,29)
+(938,30)
+(932,29)
+(927,43)
+(925,44)
+(921,46)
+(921,44)
+(919,42)
+(916,42)
+(913,42)
+(909,39)
+(903,38)
+(903,39)
+(900,40)
+(897,41)
+(897,46)
+(894,51)
+(890,52)
+(883,54)
+(882,53)
+(883,52)
+(880,53)
+(878,56)
+(876,59)
+(868,66)
+(864,69)
+(862,73)
+(857,78)
+(855,81)
+(854,86)
+(848,90)
+(842,91)
+(839,91)
+(833,92)
+(832,95)
+(829,97)
+(827,99)
+(821,103)
+(820,109)
+(816,115)
+(815,119)
+(812,122)
+(811,126)
+(809,127)
+(807,128)
+(804,131)
+(801,133)
+(799,137)
+(796,141)
+(794,142)
+(788,141)
+(781,142)
+(778,142)
+(773,143)
+(768,146)
+(767,148)
+(763,149)
+(762,148)
+(760,148)
+(759,152)
+(754,150)
+(753,152)
+(750,153)
+(754,157)
+(754,158)
+(751,158)
+(751,161)
+(753,162)
+(750,164)
+(746,165)
+(743,172)
+(737,177)
+(736,181)
+(731,183)
+(727,190)
+(723,193)
+(721,195)
+(717,196)
+(713,199)
+(713,203)
+(711,206)
+(711,208)
+(698,220)
+(696,224)
+(696,227)
+(694,231)
+(691,234)
+(690,238)
+(689,240)
+(688,244)
+(685,247)
+6
+(870,65)
+(872,65)
+(875,61)
+(877,60)
+(880,56)
+(885,53)
+7
+(903,39)
+(909,40)
+(911,43)
+(915,43)
+(916,44)
+(918,43)
+(921,45)
+11
+(949,18)
+(949,16)
+(952,15)
+(953,13)
+(957,10)
+(959,8)
+(966,4)
+(969,1)
+(971,0)
+(972,-2)
+(976,-3)
+11
+(985,-7)
+(990,-8)
+(994,-13)
+(996,-14)
+(1000,-15)
+(1002,-16)
+(1005,-16)
+(1009,-20)
+(1013,-21)
+(1016,-22)
+(1018,-23)
+11
+(1018,-33)
+(1016,-37)
+(1016,-41)
+(1018,-42)
+(1019,-44)
+(1021,-46)
+(1022,-48)
+(1020,-51)
+(1020,-61)
+(1023,-64)
+(1024,-67)
+41
+(1023,-73)
+(1022,-74)
+(1021,-81)
+(1022,-92)
+(1022,-95)
+(1022,-95)
+(1021,-96)
+(1021,-100)
+(1019,-102)
+(1019,-105)
+(1016,-107)
+(1016,-110)
+(1015,-111)
+(1012,-122)
+(1011,-123)
+(1010,-123)
+(1009,-124)
+(1011,-126)
+(1010,-129)
+(1011,-130)
+(1011,-136)
+(1010,-137)
+(1008,-137)
+(1009,-139)
+(1007,-144)
+(1007,-149)
+(1006,-150)
+(1005,-154)
+(1004,-155)
+(1005,-160)
+(1003,-163)
+(1003,-169)
+(1002,-169)
+(1001,-173)
+(999,-174)
+(1001,-175)
+(1000,-180)
+(1000,-181)
+(999,-185)
+(996,-187)
+(994,-187)
+17
+(986,-191)
+(983,-193)
+(982,-197)
+(981,-198)
+(979,-198)
+(978,-197)
+(976,-198)
+(974,-200)
+(976,-202)
+(976,-203)
+(972,-203)
+(970,-206)
+(968,-209)
+(968,-214)
+(966,-220)
+(967,-223)
+(965,-227)
+145
+(639,88)
+(643,92)
+(646,95)
+(649,95)
+(650,94)
+(652,95)
+(654,99)
+(656,100)
+(658,102)
+(665,105)
+(667,104)
+(671,105)
+(672,106)
+(673,109)
+(675,109)
+(678,112)
+(679,112)
+(682,113)
+(683,114)
+(686,114)
+(687,112)
+(686,108)
+(685,105)
+(685,103)
+(683,97)
+(684,95)
+(686,95)
+(686,94)
+(687,94)
+(687,93)
+(688,86)
+(687,86)
+(687,85)
+(686,83)
+(684,84)
+(681,80)
+(678,81)
+(677,80)
+(678,79)
+(677,78)
+(679,77)
+(678,76)
+(676,77)
+(675,76)
+(676,74)
+(676,71)
+(677,70)
+(676,69)
+(675,68)
+(673,69)
+(670,69)
+(670,68)
+(670,67)
+(668,63)
+(667,65)
+(662,67)
+(663,66)
+(663,62)
+(665,59)
+(662,57)
+(659,58)
+(658,57)
+(659,56)
+(657,55)
+(655,56)
+(654,56)
+(655,54)
+(657,52)
+(657,51)
+(654,50)
+(653,52)
+(651,51)
+(646,45)
+(640,46)
+(638,41)
+(636,40)
+(633,41)
+(633,36)
+(634,35)
+(633,34)
+(630,34)
+(630,32)
+(629,32)
+(627,30)
+(625,30)
+(623,32)
+(623,33)
+(622,33)
+(621,29)
+(620,29)
+(619,31)
+(618,30)
+(619,26)
+(618,25)
+(615,22)
+(607,21)
+(605,21)
+(604,24)
+(602,24)
+(601,24)
+(602,21)
+(599,21)
+(596,23)
+(594,20)
+(590,21)
+(588,20)
+(584,19)
+(583,21)
+(580,21)
+(579,20)
+(581,17)
+(579,15)
+(575,17)
+(577,21)
+(575,23)
+(574,21)
+(575,19)
+(574,14)
+(574,13)
+(571,14)
+(570,18)
+(569,17)
+(569,14)
+(568,13)
+(567,14)
+(566,13)
+(563,12)
+(560,15)
+(558,15)
+(557,14)
+(557,11)
+(556,10)
+(552,12)
+(546,12)
+(545,13)
+(544,17)
+(543,16)
+(544,14)
+(543,11)
+(542,12)
+(541,15)
+(542,18)
+(540,18)
+(540,16)
+(539,16)
+187
+(840,-125)
+(838,-125)
+(831,-124)
+(822,-124)
+(821,-123)
+(818,-125)
+(815,-125)
+(812,-128)
+(807,-125)
+(806,-124)
+(803,-124)
+(801,-123)
+(798,-123)
+(793,-126)
+(789,-126)
+(786,-129)
+(784,-129)
+(781,-123)
+(782,-120)
+(783,-120)
+(784,-118)
+(783,-113)
+(784,-111)
+(784,-105)
+(784,-104)
+(783,-103)
+(784,-101)
+(782,-99)
+(781,-95)
+(779,-93)
+(780,-90)
+(779,-88)
+(776,-87)
+(777,-84)
+(779,-82)
+(779,-77)
+(777,-74)
+(775,-73)
+(774,-71)
+(770,-71)
+(768,-69)
+(762,-69)
+(761,-68)
+(758,-69)
+(758,-67)
+(760,-66)
+(760,-65)
+(758,-66)
+(756,-64)
+(755,-65)
+(750,-64)
+(750,-66)
+(748,-64)
+(746,-63)
+(743,-65)
+(742,-66)
+(740,-67)
+(736,-65)
+(733,-65)
+(733,-64)
+(730,-64)
+(728,-62)
+(725,-62)
+(724,-60)
+(719,-57)
+(719,-55)
+(717,-54)
+(715,-53)
+(713,-54)
+(712,-52)
+(713,-51)
+(711,-50)
+(708,-46)
+(702,-45)
+(702,-47)
+(701,-47)
+(699,-46)
+(697,-45)
+(694,-47)
+(692,-43)
+(692,-39)
+(689,-33)
+(687,-32)
+(685,-31)
+(683,-29)
+(682,-29)
+(681,-31)
+(680,-31)
+(678,-29)
+(676,-29)
+(675,-27)
+(671,-26)
+(670,-25)
+(670,-22)
+(669,-22)
+(667,-22)
+(664,-21)
+(661,-23)
+(657,-22)
+(653,-23)
+(650,-23)
+(647,-20)
+(646,-21)
+(645,-22)
+(641,-22)
+(640,-20)
+(638,-20)
+(636,-26)
+(637,-29)
+(633,-31)
+(634,-33)
+(633,-34)
+(632,-35)
+(633,-38)
+(631,-40)
+(632,-41)
+(631,-42)
+(631,-42)
+(634,-41)
+(636,-42)
+(638,-42)
+(639,-43)
+(639,-47)
+(637,-48)
+(636,-48)
+(635,-50)
+(632,-51)
+(629,-55)
+(629,-56)
+(631,-55)
+(632,-60)
+(631,-63)
+(629,-64)
+(628,-63)
+(626,-64)
+(623,-63)
+(622,-63)
+(620,-65)
+(618,-61)
+(617,-62)
+(615,-60)
+(613,-62)
+(612,-60)
+(611,-61)
+(608,-65)
+(607,-63)
+(605,-64)
+(604,-61)
+(603,-61)
+(599,-60)
+(598,-60)
+(596,-59)
+(595,-60)
+(593,-60)
+(593,-61)
+(591,-60)
+(591,-59)
+(588,-58)
+(588,-57)
+(585,-56)
+(583,-59)
+(581,-58)
+(581,-62)
+(582,-62)
+(580,-64)
+(583,-67)
+(583,-70)
+(583,-73)
+(581,-73)
+(581,-75)
+(580,-76)
+(580,-79)
+(577,-82)
+(576,-82)
+(575,-83)
+(573,-84)
+(570,-81)
+(567,-82)
+(565,-81)
+(564,-81)
+(564,-82)
+(557,-76)
+(557,-75)
+(555,-75)
+(555,-74)
+(550,-75)
+(547,-69)
+205
+(663,-319)
+(668,-316)
+(667,-310)
+(668,-308)
+(670,-307)
+(676,-302)
+(676,-298)
+(676,-297)
+(676,-296)
+(676,-294)
+(678,-291)
+(680,-289)
+(681,-286)
+(684,-283)
+(687,-280)
+(683,-275)
+(685,-270)
+(689,-266)
+(691,-261)
+(691,-258)
+(690,-256)
+(691,-255)
+(693,-253)
+(697,-251)
+(698,-252)
+(704,-248)
+(705,-245)
+(709,-243)
+(710,-241)
+(713,-241)
+(715,-239)
+(716,-239)
+(716,-237)
+(719,-237)
+(720,-236)
+(721,-236)
+(723,-236)
+(723,-234)
+(725,-234)
+(725,-233)
+(727,-232)
+(728,-230)
+(730,-229)
+(734,-230)
+(736,-229)
+(736,-226)
+(741,-224)
+(745,-221)
+(746,-218)
+(744,-216)
+(745,-214)
+(745,-215)
+(748,-214)
+(750,-214)
+(751,-213)
+(753,-213)
+(754,-212)
+(755,-213)
+(755,-212)
+(756,-212)
+(757,-211)
+(759,-211)
+(761,-211)
+(762,-213)
+(764,-211)
+(763,-209)
+(764,-208)
+(765,-207)
+(765,-204)
+(761,-203)
+(760,-201)
+(758,-202)
+(758,-200)
+(759,-200)
+(761,-198)
+(761,-195)
+(751,-195)
+(751,-191)
+(744,-185)
+(742,-178)
+(741,-178)
+(743,-173)
+(743,-171)
+(742,-170)
+(740,-170)
+(739,-172)
+(736,-173)
+(733,-170)
+(729,-169)
+(726,-167)
+(724,-168)
+(724,-170)
+(726,-173)
+(725,-174)
+(723,-175)
+(721,-173)
+(720,-172)
+(718,-172)
+(716,-173)
+(714,-171)
+(713,-169)
+(709,-172)
+(709,-175)
+(707,-175)
+(706,-173)
+(706,-168)
+(703,-166)
+(701,-167)
+(699,-166)
+(696,-169)
+(692,-170)
+(690,-170)
+(688,-171)
+(687,-170)
+(681,-171)
+(679,-170)
+(675,-173)
+(673,-168)
+(667,-167)
+(666,-170)
+(662,-170)
+(661,-169)
+(658,-170)
+(655,-169)
+(653,-170)
+(653,-172)
+(645,-174)
+(643,-176)
+(641,-174)
+(637,-176)
+(627,-171)
+(625,-169)
+(625,-166)
+(624,-167)
+(623,-169)
+(619,-171)
+(616,-167)
+(616,-165)
+(614,-166)
+(611,-168)
+(609,-167)
+(603,-168)
+(598,-165)
+(593,-166)
+(589,-164)
+(588,-166)
+(584,-168)
+(581,-167)
+(581,-166)
+(579,-165)
+(577,-166)
+(574,-166)
+(568,-161)
+(565,-161)
+(563,-160)
+(559,-163)
+(555,-160)
+(552,-163)
+(549,-164)
+(548,-166)
+(546,-166)
+(543,-166)
+(542,-165)
+(541,-161)
+(541,-159)
+(539,-159)
+(536,-159)
+(535,-157)
+(532,-157)
+(531,-156)
+(529,-156)
+(527,-157)
+(527,-154)
+(525,-153)
+(524,-152)
+(523,-150)
+(519,-148)
+(518,-146)
+(515,-145)
+(514,-143)
+(508,-141)
+(507,-139)
+(497,-137)
+(497,-134)
+(494,-132)
+(493,-130)
+(491,-130)
+(489,-128)
+(490,-117)
+(495,-114)
+(495,-110)
+(494,-107)
+(495,-105)
+(496,-105)
+(499,-106)
+(500,-109)
+(500,-113)
+(502,-114)
+(505,-115)
+(507,-113)
+(516,-112)
+(518,-110)
+(518,-107)
+(517,-105)
+(518,-103)
+189
+(686,-739)
+(686,-738)
+(685,-737)
+(686,-735)
+(685,-734)
+(686,-733)
+(688,-729)
+(688,-727)
+(690,-724)
+(693,-723)
+(696,-719)
+(700,-717)
+(700,-715)
+(700,-714)
+(701,-713)
+(702,-713)
+(704,-711)
+(705,-711)
+(706,-710)
+(712,-710)
+(716,-705)
+(718,-706)
+(718,-707)
+(721,-710)
+(720,-712)
+(722,-716)
+(725,-720)
+(728,-721)
+(729,-724)
+(732,-725)
+(732,-724)
+(733,-724)
+(734,-723)
+(734,-726)
+(736,-725)
+(736,-727)
+(738,-727)
+(738,-728)
+(742,-730)
+(742,-732)
+(746,-734)
+(746,-735)
+(747,-735)
+(751,-734)
+(753,-733)
+(753,-731)
+(754,-730)
+(754,-728)
+(756,-727)
+(757,-728)
+(759,-727)
+(759,-726)
+(761,-728)
+(762,-729)
+(762,-731)
+(761,-731)
+(762,-732)
+(764,-731)
+(764,-734)
+(766,-733)
+(766,-734)
+(769,-736)
+(768,-737)
+(769,-738)
+(770,-741)
+(769,-748)
+(763,-750)
+(762,-753)
+(763,-757)
+(764,-757)
+(765,-758)
+(764,-761)
+(762,-762)
+(762,-766)
+(765,-771)
+(765,-772)
+(767,-772)
+(767,-774)
+(766,-776)
+(767,-777)
+(768,-779)
+(770,-779)
+(770,-780)
+(769,-782)
+(768,-782)
+(767,-784)
+(768,-786)
+(769,-786)
+(769,-789)
+(771,-789)
+(772,-790)
+(773,-791)
+(775,-789)
+(777,-790)
+(781,-795)
+(781,-795)
+(780,-797)
+(782,-800)
+(784,-800)
+(787,-800)
+(788,-801)
+(789,-799)
+(790,-800)
+(792,-799)
+(793,-800)
+(794,-800)
+(795,-802)
+(797,-803)
+(799,-802)
+(800,-802)
+(800,-803)
+(799,-804)
+(800,-806)
+(800,-808)
+(798,-810)
+(800,-810)
+(800,-812)
+(798,-813)
+(798,-815)
+(799,-815)
+(796,-816)
+(794,-819)
+(796,-819)
+(797,-821)
+(800,-821)
+(800,-822)
+(802,-822)
+(802,-826)
+(806,-825)
+(808,-824)
+(809,-826)
+(808,-829)
+(812,-828)
+(812,-830)
+(811,-831)
+(811,-832)
+(809,-833)
+(809,-834)
+(807,-833)
+(805,-834)
+(805,-835)
+(808,-837)
+(807,-841)
+(805,-841)
+(803,-842)
+(804,-844)
+(807,-845)
+(805,-847)
+(802,-848)
+(803,-849)
+(806,-849)
+(805,-850)
+(803,-852)
+(801,-852)
+(801,-853)
+(799,-853)
+(801,-857)
+(800,-859)
+(800,-863)
+(804,-867)
+(803,-869)
+(807,-871)
+(810,-875)
+(813,-875)
+(813,-876)
+(812,-878)
+(808,-878)
+(806,-879)
+(807,-880)
+(812,-884)
+(812,-887)
+(814,-890)
+(812,-893)
+(814,-895)
+(815,-898)
+(816,-899)
+(818,-899)
+(819,-895)
+(821,-894)
+(822,-897)
+(821,-908)
+(819,-913)
+(820,-916)
+(821,-918)
+(821,-920)
+(818,-922)
+(814,-922)
+(811,-921)
+(809,-918)
+255
+(628,-732)
+(629,-730)
+(631,-729)
+(634,-730)
+(636,-728)
+(636,-726)
+(634,-723)
+(631,-722)
+(630,-719)
+(633,-710)
+(633,-708)
+(635,-707)
+(635,-706)
+(637,-704)
+(640,-706)
+(642,-705)
+(647,-704)
+(648,-701)
+(650,-700)
+(649,-696)
+(653,-695)
+(660,-697)
+(662,-695)
+(668,-694)
+(668,-692)
+(670,-690)
+(674,-689)
+(675,-686)
+(676,-685)
+(676,-681)
+(683,-676)
+(688,-669)
+(690,-667)
+(691,-666)
+(696,-665)
+(696,-663)
+(693,-660)
+(696,-658)
+(696,-655)
+(694,-653)
+(696,-653)
+(695,-651)
+(696,-649)
+(699,-648)
+(700,-647)
+(702,-646)
+(704,-647)
+(704,-643)
+(711,-641)
+(712,-639)
+(714,-639)
+(718,-637)
+(720,-634)
+(722,-634)
+(723,-631)
+(724,-631)
+(725,-630)
+(727,-631)
+(727,-627)
+(730,-624)
+(730,-621)
+(731,-621)
+(731,-620)
+(739,-620)
+(739,-623)
+(740,-623)
+(741,-621)
+(744,-621)
+(751,-616)
+(754,-616)
+(757,-613)
+(761,-614)
+(762,-616)
+(763,-616)
+(764,-614)
+(767,-612)
+(767,-614)
+(770,-615)
+(771,-618)
+(778,-617)
+(777,-620)
+(778,-620)
+(780,-621)
+(783,-620)
+(786,-623)
+(787,-621)
+(789,-621)
+(789,-623)
+(792,-623)
+(792,-628)
+(794,-630)
+(795,-633)
+(794,-634)
+(795,-637)
+(795,-640)
+(793,-644)
+(793,-646)
+(794,-648)
+(798,-649)
+(802,-648)
+(804,-646)
+(805,-648)
+(805,-643)
+(806,-643)
+(809,-646)
+(813,-645)
+(815,-649)
+(817,-649)
+(822,-652)
+(828,-650)
+(829,-655)
+(828,-656)
+(827,-659)
+(828,-659)
+(831,-661)
+(831,-663)
+(834,-663)
+(835,-664)
+(838,-664)
+(841,-665)
+(842,-667)
+(842,-669)
+(844,-671)
+(845,-675)
+(848,-675)
+(849,-673)
+(850,-675)
+(853,-674)
+(858,-676)
+(861,-679)
+(862,-682)
+(864,-682)
+(867,-684)
+(869,-691)
+(870,-695)
+(873,-697)
+(874,-700)
+(875,-701)
+(875,-705)
+(877,-715)
+(887,-728)
+(886,-735)
+(890,-740)
+(891,-744)
+(894,-747)
+(897,-747)
+(901,-749)
+(903,-753)
+(906,-758)
+(905,-762)
+(909,-767)
+(913,-767)
+(913,-771)
+(915,-773)
+(916,-773)
+(915,-770)
+(918,-770)
+(920,-772)
+(923,-776)
+(925,-776)
+(927,-775)
+(928,-777)
+(930,-777)
+(930,-780)
+(929,-783)
+(930,-786)
+(933,-785)
+(935,-785)
+(938,-791)
+(938,-794)
+(941,-795)
+(941,-793)
+(942,-793)
+(946,-797)
+(948,-796)
+(950,-797)
+(956,-799)
+(959,-802)
+(964,-804)
+(966,-807)
+(967,-808)
+(966,-810)
+(967,-810)
+(968,-809)
+(969,-809)
+(968,-812)
+(968,-816)
+(966,-820)
+(968,-822)
+(971,-821)
+(972,-822)
+(969,-826)
+(969,-829)
+(967,-831)
+(969,-832)
+(972,-832)
+(974,-836)
+(975,-838)
+(977,-837)
+(978,-839)
+(979,-837)
+(980,-837)
+(982,-840)
+(982,-842)
+(993,-852)
+(993,-854)
+(993,-856)
+(996,-856)
+(995,-860)
+(997,-859)
+(999,-860)
+(999,-864)
+(1000,-866)
+(998,-869)
+(998,-872)
+(999,-873)
+(998,-877)
+(999,-878)
+(998,-885)
+(999,-886)
+(999,-887)
+(1000,-889)
+(999,-891)
+(1000,-893)
+(999,-894)
+(999,-895)
+(999,-897)
+(1001,-897)
+(1002,-899)
+(1001,-900)
+(999,-902)
+(999,-904)
+(1001,-906)
+(999,-907)
+(998,-908)
+(997,-906)
+(995,-907)
+(995,-911)
+(994,-915)
+(995,-919)
+(993,-925)
+(995,-926)
+(995,-928)
+(994,-931)
+(991,-932)
+(992,-938)
+(990,-938)
+(989,-941)
+(991,-949)
+(990,-951)
+(991,-954)
+(990,-958)
+(963,-991)
+(955,-991)
+(948,-992)
+123
+(961,-991)
+(964,-988)
+(964,-988)
+(965,-988)
+(970,-988)
+(973,-983)
+(978,-981)
+(983,-980)
+(984,-979)
+(987,-979)
+(991,-977)
+(990,-973)
+(991,-970)
+(992,-969)
+(993,-968)
+(993,-967)
+(991,-966)
+(988,-963)
+(989,-960)
+(989,-958)
+(990,-954)
+(989,-951)
+(990,-949)
+(988,-940)
+(989,-938)
+(991,-937)
+(991,-931)
+(994,-930)
+(994,-927)
+(992,-924)
+(994,-918)
+(993,-914)
+(995,-909)
+(995,-907)
+(996,-905)
+(998,-905)
+(999,-906)
+(1000,-906)
+(997,-903)
+(998,-901)
+(1000,-900)
+(1001,-898)
+(998,-897)
+(998,-895)
+(999,-893)
+(998,-892)
+(997,-888)
+(998,-886)
+(997,-884)
+(998,-883)
+(998,-879)
+(997,-879)
+(997,-874)
+(998,-873)
+(997,-870)
+(998,-867)
+(999,-866)
+(998,-861)
+(994,-860)
+(994,-857)
+(993,-857)
+(991,-856)
+(993,-855)
+(992,-854)
+(991,-853)
+(988,-849)
+(987,-849)
+(985,-847)
+(983,-843)
+(981,-842)
+(981,-840)
+(980,-838)
+(978,-840)
+(976,-838)
+(974,-838)
+(973,-836)
+(972,-834)
+(972,-833)
+(969,-833)
+(967,-831)
+(968,-826)
+(970,-823)
+(968,-823)
+(965,-820)
+(968,-815)
+(968,-811)
+(968,-810)
+(966,-811)
+(964,-811)
+(965,-809)
+(966,-808)
+(964,-807)
+(963,-804)
+(959,-803)
+(957,-802)
+(956,-800)
+(954,-800)
+(953,-799)
+(950,-798)
+(948,-797)
+(947,-798)
+(946,-798)
+(942,-793)
+(940,-795)
+(937,-795)
+(937,-793)
+(937,-791)
+(935,-786)
+(933,-786)
+(931,-787)
+(929,-785)
+(930,-778)
+(927,-778)
+(926,-777)
+(922,-776)
+(918,-771)
+(916,-771)
+(916,-774)
+(915,-774)
+(912,-771)
+(913,-768)
+(910,-768)
+(909,-767)
+168
+(134,1826)
+(138,1823)
+(140,1822)
+(147,1824)
+(149,1824)
+(151,1825)
+(156,1827)
+(162,1826)
+(172,1822)
+(173,1818)
+(172,1814)
+(173,1812)
+(173,1807)
+(172,1806)
+(175,1802)
+(177,1798)
+(180,1793)
+(181,1788)
+(184,1785)
+(185,1774)
+(186,1773)
+(186,1771)
+(188,1771)
+(190,1770)
+(194,1770)
+(196,1771)
+(198,1769)
+(197,1768)
+(197,1761)
+(198,1758)
+(201,1757)
+(204,1753)
+(205,1753)
+(210,1748)
+(212,1749)
+(215,1745)
+(217,1745)
+(215,1740)
+(216,1739)
+(215,1738)
+(215,1736)
+(213,1734)
+(213,1731)
+(215,1730)
+(215,1728)
+(214,1726)
+(216,1720)
+(216,1717)
+(216,1715)
+(220,1702)
+(219,1701)
+(217,1699)
+(216,1697)
+(217,1695)
+(221,1693)
+(223,1690)
+(223,1686)
+(225,1682)
+(222,1678)
+(222,1672)
+(218,1667)
+(218,1661)
+(220,1659)
+(220,1654)
+(219,1652)
+(218,1651)
+(218,1650)
+(219,1647)
+(222,1646)
+(224,1643)
+(224,1640)
+(229,1638)
+(232,1635)
+(230,1633)
+(230,1630)
+(228,1631)
+(222,1631)
+(218,1631)
+(217,1628)
+(216,1626)
+(214,1624)
+(211,1624)
+(210,1623)
+(212,1621)
+(212,1619)
+(210,1610)
+(214,1608)
+(216,1608)
+(219,1608)
+(229,1608)
+(231,1605)
+(237,1603)
+(240,1603)
+(241,1598)
+(240,1596)
+(238,1594)
+(234,1590)
+(231,1586)
+(226,1584)
+(226,1581)
+(223,1577)
+(222,1574)
+(219,1573)
+(219,1566)
+(220,1563)
+(223,1561)
+(222,1559)
+(222,1553)
+(221,1551)
+(217,1551)
+(216,1551)
+(213,1550)
+(211,1548)
+(216,1541)
+(215,1537)
+(213,1535)
+(212,1532)
+(211,1530)
+(212,1524)
+(210,1518)
+(212,1516)
+(211,1514)
+(207,1511)
+(207,1510)
+(205,1509)
+(206,1503)
+(205,1502)
+(204,1500)
+(205,1498)
+(208,1498)
+(209,1495)
+(209,1493)
+(210,1490)
+(209,1485)
+(208,1482)
+(210,1478)
+(208,1474)
+(209,1472)
+(212,1467)
+(213,1461)
+(216,1459)
+(223,1452)
+(223,1439)
+(223,1436)
+(221,1434)
+(222,1427)
+(227,1424)
+(231,1416)
+(231,1413)
+(229,1409)
+(230,1404)
+(229,1402)
+(230,1396)
+(233,1392)
+(234,1389)
+(233,1385)
+(232,1382)
+(233,1379)
+(231,1374)
+(232,1370)
+(230,1367)
+(230,1365)
+(234,1360)
+(235,1356)
+(238,1355)
+(240,1352)
+(247,1350)
+(248,1345)
+215
+(277,1364)
+(274,1363)
+(272,1362)
+(269,1361)
+(269,1357)
+(268,1356)
+(265,1355)
+(262,1357)
+(260,1354)
+(257,1352)
+(253,1352)
+(249,1347)
+(248,1343)
+(248,1336)
+(250,1330)
+(253,1326)
+(255,1320)
+(254,1317)
+(254,1312)
+(256,1310)
+(256,1306)
+(258,1305)
+(258,1298)
+(255,1292)
+(256,1288)
+(257,1281)
+(260,1277)
+(259,1275)
+(257,1274)
+(257,1273)
+(260,1267)
+(264,1264)
+(266,1258)
+(267,1250)
+(266,1249)
+(265,1247)
+(265,1235)
+(271,1227)
+(273,1226)
+(277,1227)
+(280,1224)
+(286,1221)
+(288,1214)
+(292,1211)
+(295,1205)
+(299,1200)
+(300,1194)
+(305,1190)
+(308,1182)
+(308,1177)
+(309,1173)
+(308,1170)
+(308,1165)
+(305,1162)
+(300,1154)
+(297,1151)
+(296,1146)
+(293,1144)
+(290,1143)
+(288,1141)
+(285,1140)
+(283,1137)
+(280,1136)
+(279,1134)
+(277,1133)
+(274,1130)
+(265,1127)
+(264,1125)
+(262,1122)
+(261,1119)
+(262,1115)
+(261,1113)
+(258,1112)
+(253,1116)
+(248,1118)
+(241,1119)
+(238,1119)
+(233,1117)
+(224,1115)
+(207,1118)
+(192,1118)
+(188,1117)
+(184,1112)
+(180,1110)
+(177,1107)
+(169,1104)
+(164,1104)
+(157,1101)
+(141,1090)
+(139,1086)
+(135,1085)
+(128,1085)
+(122,1083)
+(116,1084)
+(111,1083)
+(93,1084)
+(89,1082)
+(85,1080)
+(71,1076)
+(63,1071)
+(61,1071)
+(58,1071)
+(50,1073)
+(40,1072)
+(36,1073)
+(29,1076)
+(24,1076)
+(21,1075)
+(13,1068)
+(-6,1062)
+(-10,1060)
+(-19,1063)
+(-27,1062)
+(-30,1061)
+(-33,1058)
+(-39,1057)
+(-43,1053)
+(-44,1052)
+(-44,1050)
+(-46,1048)
+(-53,1045)
+(-55,1041)
+(-59,1038)
+(-59,1035)
+(-62,1030)
+(-63,1021)
+(-68,1016)
+(-69,1014)
+(-68,1014)
+(-68,1012)
+(-71,1010)
+(-71,1009)
+(-85,1001)
+(-91,998)
+(-95,997)
+(-99,995)
+(-102,994)
+(-104,992)
+(-108,991)
+(-112,984)
+(-119,980)
+(-124,975)
+(-128,972)
+(-130,969)
+(-132,967)
+(-144,968)
+(-149,970)
+(-153,970)
+(-155,973)
+(-158,973)
+(-163,971)
+(-175,970)
+(-186,972)
+(-189,971)
+(-192,972)
+(-196,972)
+(-197,973)
+(-199,974)
+(-205,971)
+(-207,969)
+(-210,968)
+(-215,966)
+(-217,963)
+(-221,962)
+(-231,956)
+(-236,954)
+(-238,950)
+(-239,942)
+(-243,933)
+(-246,931)
+(-259,916)
+(-261,912)
+(-270,906)
+(-273,901)
+(-279,895)
+(-290,890)
+(-290,887)
+(-295,880)
+(-293,875)
+(-291,873)
+(-290,869)
+(-293,867)
+(-295,859)
+(-296,850)
+(-301,844)
+(-302,842)
+(-301,841)
+(-303,840)
+(-303,839)
+(-308,839)
+(-312,838)
+(-313,836)
+(-313,833)
+(-319,831)
+(-319,829)
+(-316,826)
+(-317,824)
+(-319,823)
+(-317,818)
+(-317,817)
+(-321,812)
+(-322,812)
+(-323,812)
+(-326,814)
+(-328,815)
+(-331,817)
+(-333,812)
+(-335,815)
+(-341,815)
+(-345,811)
+(-347,810)
+(-348,805)
+(-351,805)
+(-353,801)
+(-351,791)
+367
+(-713,1587)
+(-712,1585)
+(-709,1584)
+(-706,1586)
+(-704,1585)
+(-705,1577)
+(-705,1574)
+(-704,1573)
+(-701,1570)
+(-700,1570)
+(-699,1568)
+(-701,1564)
+(-700,1557)
+(-699,1556)
+(-698,1553)
+(-697,1553)
+(-697,1552)
+(-694,1552)
+(-689,1549)
+(-688,1549)
+(-685,1547)
+(-684,1547)
+(-684,1546)
+(-681,1545)
+(-680,1541)
+(-678,1541)
+(-679,1540)
+(-677,1539)
+(-677,1538)
+(-676,1538)
+(-676,1536)
+(-671,1536)
+(-670,1534)
+(-671,1533)
+(-669,1533)
+(-666,1532)
+(-662,1534)
+(-661,1535)
+(-660,1538)
+(-659,1540)
+(-657,1544)
+(-653,1543)
+(-650,1545)
+(-647,1544)
+(-645,1546)
+(-644,1546)
+(-640,1544)
+(-639,1544)
+(-637,1541)
+(-637,1541)
+(-636,1541)
+(-633,1541)
+(-633,1540)
+(-630,1538)
+(-630,1535)
+(-627,1534)
+(-629,1533)
+(-630,1528)
+(-628,1525)
+(-626,1524)
+(-625,1526)
+(-624,1527)
+(-622,1525)
+(-620,1525)
+(-616,1527)
+(-615,1526)
+(-613,1524)
+(-609,1525)
+(-606,1524)
+(-603,1526)
+(-601,1525)
+(-594,1533)
+(-592,1534)
+(-587,1533)
+(-584,1533)
+(-583,1531)
+(-581,1532)
+(-581,1531)
+(-579,1531)
+(-578,1529)
+(-578,1531)
+(-575,1529)
+(-569,1530)
+(-564,1531)
+(-564,1532)
+(-563,1531)
+(-560,1533)
+(-559,1532)
+(-559,1533)
+(-557,1532)
+(-554,1534)
+(-552,1535)
+(-554,1536)
+(-554,1538)
+(-555,1540)
+(-558,1541)
+(-558,1542)
+(-558,1543)
+(-556,1544)
+(-556,1546)
+(-552,1548)
+(-552,1556)
+(-550,1556)
+(-549,1557)
+(-547,1557)
+(-545,1560)
+(-543,1560)
+(-542,1561)
+(-540,1562)
+(-535,1565)
+(-532,1562)
+(-528,1561)
+(-525,1561)
+(-524,1563)
+(-522,1565)
+(-521,1568)
+(-519,1570)
+(-519,1571)
+(-517,1572)
+(-516,1577)
+(-515,1577)
+(-513,1577)
+(-511,1579)
+(-509,1575)
+(-508,1575)
+(-505,1576)
+(-505,1578)
+(-503,1579)
+(-503,1581)
+(-501,1581)
+(-498,1580)
+(-497,1583)
+(-496,1589)
+(-497,1593)
+(-494,1597)
+(-495,1598)
+(-495,1599)
+(-492,1602)
+(-493,1603)
+(-492,1604)
+(-491,1605)
+(-490,1606)
+(-490,1607)
+(-488,1607)
+(-487,1606)
+(-485,1607)
+(-484,1607)
+(-484,1608)
+(-483,1608)
+(-483,1609)
+(-481,1610)
+(-481,1611)
+(-479,1612)
+(-478,1614)
+(-477,1614)
+(-477,1617)
+(-475,1618)
+(-474,1617)
+(-473,1618)
+(-471,1618)
+(-469,1615)
+(-466,1613)
+(-464,1609)
+(-461,1608)
+(-455,1610)
+(-454,1612)
+(-449,1611)
+(-447,1612)
+(-447,1613)
+(-447,1616)
+(-447,1617)
+(-442,1617)
+(-436,1621)
+(-432,1622)
+(-430,1622)
+(-429,1624)
+(-425,1624)
+(-425,1625)
+(-418,1623)
+(-416,1621)
+(-411,1621)
+(-407,1618)
+(-405,1617)
+(-388,1619)
+(-386,1619)
+(-380,1618)
+(-376,1615)
+(-372,1616)
+(-367,1615)
+(-361,1614)
+(-359,1615)
+(-354,1613)
+(-345,1615)
+(-339,1615)
+(-333,1618)
+(-328,1618)
+(-324,1621)
+(-318,1621)
+(-315,1619)
+(-309,1620)
+(-307,1618)
+(-303,1618)
+(-302,1616)
+(-299,1617)
+(-294,1615)
+(-289,1616)
+(-286,1615)
+(-285,1611)
+(-280,1609)
+(-276,1604)
+(-272,1594)
+(-265,1588)
+(-263,1582)
+(-260,1576)
+(-255,1574)
+(-249,1565)
+(-243,1560)
+(-239,1559)
+(-231,1562)
+(-223,1563)
+(-217,1561)
+(-210,1554)
+(-207,1553)
+(-203,1553)
+(-198,1553)
+(-191,1556)
+(-188,1556)
+(-186,1557)
+(-182,1555)
+(-170,1557)
+(-165,1553)
+(-160,1549)
+(-145,1547)
+(-142,1545)
+(-135,1546)
+(-122,1546)
+(-119,1548)
+(-112,1549)
+(-108,1550)
+(-102,1551)
+(-98,1552)
+(-90,1551)
+(-83,1552)
+(-74,1547)
+(-67,1542)
+(-60,1540)
+(-57,1538)
+(-52,1535)
+(-47,1530)
+(-37,1526)
+(-31,1524)
+(-24,1525)
+(-19,1528)
+(-15,1532)
+(-8,1534)
+(-4,1533)
+(0,1531)
+(10,1531)
+(16,1529)
+(21,1524)
+(22,1521)
+(25,1519)
+(26,1517)
+(30,1512)
+(33,1502)
+(32,1496)
+(34,1490)
+(34,1485)
+(41,1475)
+(44,1474)
+(46,1471)
+(46,1459)
+(48,1457)
+(55,1454)
+(58,1450)
+(64,1436)
+(66,1427)
+(70,1418)
+(85,1407)
+(94,1397)
+(100,1394)
+(107,1389)
+(111,1383)
+(115,1379)
+(117,1375)
+(116,1369)
+(121,1363)
+(126,1360)
+(130,1349)
+(132,1341)
+(133,1326)
+(131,1314)
+(129,1297)
+(130,1293)
+(128,1290)
+(128,1285)
+(126,1283)
+(126,1277)
+(125,1278)
+(125,1277)
+(124,1267)
+(123,1262)
+(124,1259)
+(124,1254)
+(121,1246)
+(122,1236)
+(122,1227)
+(120,1221)
+(120,1213)
+(119,1210)
+(119,1208)
+(116,1202)
+(115,1194)
+(110,1180)
+(110,1175)
+(104,1160)
+(101,1154)
+(97,1151)
+(96,1147)
+(85,1135)
+(83,1131)
+(70,1115)
+(64,1110)
+(63,1107)
+(52,1100)
+(48,1099)
+(44,1098)
+(46,1099)
+(46,1099)
+(34,1098)
+(33,1097)
+(33,1097)
+(40,1097)
+(34,1096)
+(19,1094)
+(1,1088)
+(-4,1088)
+(-8,1085)
+(-11,1083)
+(-20,1074)
+(-25,1070)
+(-25,1067)
+(-24,1066)
+(-20,1066)
+(-15,1064)
+(-12,1064)
+(8,1069)
+(12,1071)
+(16,1075)
+(20,1078)
+(28,1078)
+(32,1077)
+(36,1074)
+(40,1074)
+(47,1075)
+(61,1073)
+(75,1080)
+(81,1080)
+(92,1085)
+(102,1086)
+(112,1084)
+(118,1086)
+(125,1085)
+(137,1088)
+(139,1090)
+(144,1093)
+(146,1093)
+116
+(41,1475)
+(43,1473)
+(44,1469)
+(44,1459)
+(45,1457)
+(48,1456)
+(52,1452)
+(55,1450)
+(58,1447)
+(59,1443)
+(64,1433)
+(64,1431)
+(64,1428)
+(66,1420)
+(74,1411)
+(85,1402)
+(97,1390)
+(106,1383)
+(110,1381)
+(113,1374)
+(113,1371)
+(115,1367)
+(116,1362)
+(118,1358)
+(125,1353)
+(128,1347)
+(129,1342)
+(130,1332)
+(127,1310)
+(128,1307)
+(127,1295)
+(124,1287)
+(125,1283)
+(116,1273)
+(115,1267)
+(115,1257)
+(118,1252)
+(119,1245)
+(118,1242)
+(117,1235)
+(119,1228)
+(116,1222)
+(116,1212)
+(115,1209)
+(114,1203)
+(110,1192)
+(105,1184)
+(102,1181)
+(101,1175)
+(97,1170)
+(96,1165)
+(94,1153)
+(90,1146)
+(70,1124)
+(68,1119)
+(64,1113)
+(60,1111)
+(51,1104)
+(47,1102)
+(43,1102)
+(41,1103)
+(38,1101)
+(34,1101)
+(26,1099)
+(19,1099)
+(7,1097)
+(6,1097)
+(7,1099)
+(8,1100)
+(7,1100)
+(5,1099)
+(3,1102)
+(0,1103)
+(-1,1107)
+(-2,1104)
+(-1,1102)
+(2,1101)
+(4,1098)
+(3,1095)
+(-1,1093)
+(-4,1091)
+(-9,1089)
+(-14,1085)
+(-17,1081)
+(-21,1079)
+(-23,1075)
+(-27,1072)
+(-36,1067)
+(-40,1061)
+(-42,1060)
+(-42,1057)
+(-45,1055)
+(-47,1056)
+(-50,1054)
+(-54,1048)
+(-63,1040)
+(-64,1037)
+(-64,1030)
+(-67,1028)
+(-68,1024)
+(-73,1017)
+(-86,1007)
+(-91,1006)
+(-97,1001)
+(-100,1001)
+(-109,997)
+(-118,991)
+(-127,978)
+(-128,974)
+(-135,975)
+(-140,973)
+(-158,975)
+(-164,973)
+(-172,971)
+(-181,973)
+(-184,971)
+36
+(-355,1751)
+(-353,1748)
+(-355,1744)
+(-353,1736)
+(-352,1733)
+(-351,1724)
+(-352,1719)
+(-354,1715)
+(-354,1710)
+(-357,1705)
+(-355,1702)
+(-355,1697)
+(-354,1696)
+(-352,1693)
+(-352,1691)
+(-352,1690)
+(-340,1679)
+(-342,1674)
+(-344,1673)
+(-345,1670)
+(-349,1666)
+(-352,1665)
+(-353,1661)
+(-352,1660)
+(-352,1659)
+(-355,1655)
+(-355,1652)
+(-361,1638)
+(-361,1633)
+(-359,1630)
+(-357,1627)
+(-355,1627)
+(-350,1621)
+(-345,1617)
+(-342,1617)
+(-340,1615)
+188
+(-683,1456)
+(-681,1459)
+(-676,1461)
+(-668,1460)
+(-665,1457)
+(-668,1448)
+(-668,1439)
+(-672,1435)
+(-674,1431)
+(-685,1420)
+(-690,1404)
+(-696,1400)
+(-698,1396)
+(-698,1393)
+(-700,1389)
+(-703,1387)
+(-704,1385)
+(-705,1384)
+(-708,1378)
+(-711,1376)
+(-713,1369)
+(-716,1365)
+(-719,1363)
+(-727,1362)
+(-730,1360)
+(-736,1353)
+(-740,1351)
+(-745,1352)
+(-747,1354)
+(-755,1352)
+(-760,1353)
+(-764,1355)
+(-768,1358)
+(-770,1359)
+(-771,1360)
+(-773,1361)
+(-776,1362)
+(-777,1362)
+(-781,1362)
+(-783,1360)
+(-787,1362)
+(-788,1363)
+(-788,1365)
+(-790,1367)
+(-791,1370)
+(-795,1374)
+(-797,1377)
+(-800,1378)
+(-800,1379)
+(-801,1382)
+(-807,1384)
+(-810,1384)
+(-815,1387)
+(-819,1388)
+(-821,1391)
+(-823,1390)
+(-824,1392)
+(-826,1394)
+(-827,1393)
+(-832,1392)
+(-835,1394)
+(-837,1393)
+(-839,1394)
+(-843,1394)
+(-849,1391)
+(-855,1391)
+(-862,1394)
+(-867,1390)
+(-870,1389)
+(-872,1387)
+(-876,1386)
+(-878,1384)
+(-882,1384)
+(-884,1382)
+(-888,1381)
+(-892,1381)
+(-894,1379)
+(-902,1376)
+(-907,1378)
+(-911,1376)
+(-914,1376)
+(-915,1378)
+(-918,1380)
+(-919,1378)
+(-920,1379)
+(-922,1382)
+(-924,1382)
+(-926,1385)
+(-926,1386)
+(-927,1387)
+(-931,1386)
+(-933,1388)
+(-935,1387)
+(-936,1388)
+(-937,1387)
+(-939,1387)
+(-941,1385)
+(-942,1386)
+(-941,1387)
+(-941,1387)
+(-950,1391)
+(-953,1391)
+(-955,1390)
+(-959,1392)
+(-961,1391)
+(-963,1391)
+(-965,1394)
+(-966,1393)
+(-968,1393)
+(-969,1392)
+(-970,1393)
+(-975,1391)
+(-983,1398)
+(-984,1400)
+(-987,1404)
+(-995,1409)
+(-997,1412)
+(-1000,1415)
+(-1001,1418)
+(-1008,1426)
+(-1012,1429)
+(-1012,1431)
+(-1016,1434)
+(-1018,1438)
+(-1020,1439)
+(-1023,1442)
+(-1031,1445)
+(-1036,1449)
+(-1043,1450)
+(-1046,1454)
+(-1049,1454)
+(-1049,1455)
+(-1049,1461)
+(-1048,1462)
+(-1049,1467)
+(-1052,1474)
+(-1052,1475)
+(-1050,1478)
+(-1050,1480)
+(-1051,1486)
+(-1051,1487)
+(-1051,1489)
+(-1051,1492)
+(-1052,1496)
+(-1053,1496)
+(-1053,1498)
+(-1055,1499)
+(-1055,1502)
+(-1057,1502)
+(-1057,1504)
+(-1059,1506)
+(-1061,1506)
+(-1062,1507)
+(-1061,1508)
+(-1066,1511)
+(-1066,1514)
+(-1070,1520)
+(-1072,1531)
+(-1071,1533)
+(-1070,1537)
+(-1068,1541)
+(-1070,1542)
+(-1071,1545)
+(-1073,1548)
+(-1075,1551)
+(-1076,1550)
+(-1078,1552)
+(-1080,1555)
+(-1080,1559)
+(-1079,1560)
+(-1079,1562)
+(-1078,1562)
+(-1078,1566)
+(-1076,1566)
+(-1075,1570)
+(-1073,1573)
+(-1075,1574)
+(-1076,1579)
+(-1076,1584)
+(-1080,1590)
+(-1080,1594)
+(-1083,1596)
+(-1085,1602)
+(-1082,1606)
+(-1081,1610)
+(-1080,1610)
+(-1079,1613)
+(-1078,1621)
+128
+(-992,1726)
+(-989,1729)
+(-983,1731)
+(-978,1730)
+(-974,1732)
+(-970,1731)
+(-967,1732)
+(-964,1731)
+(-962,1732)
+(-957,1737)
+(-957,1743)
+(-953,1745)
+(-952,1748)
+(-947,1754)
+(-942,1766)
+(-942,1771)
+(-940,1774)
+(-940,1778)
+(-940,1780)
+(-937,1790)
+(-938,1797)
+(-939,1800)
+(-938,1805)
+(-938,1810)
+(-940,1813)
+(-938,1815)
+(-940,1821)
+(-938,1826)
+(-939,1835)
+(-937,1840)
+(-938,1842)
+(-940,1851)
+(-940,1852)
+(-941,1858)
+(-945,1866)
+(-944,1875)
+(-942,1877)
+(-940,1884)
+(-940,1892)
+(-941,1894)
+(-942,1898)
+(-942,1900)
+(-940,1903)
+(-939,1913)
+(-939,1927)
+(-937,1928)
+(-938,1935)
+(-938,1937)
+(-937,1940)
+(-934,1941)
+(-934,1941)
+(-935,1943)
+(-935,1947)
+(-936,1949)
+(-934,1959)
+(-936,1962)
+(-934,1966)
+(-935,1973)
+(-936,1975)
+(-936,1980)
+(-941,1983)
+(-944,1986)
+(-946,1987)
+(-949,1990)
+(-949,1994)
+(-955,1998)
+(-957,2002)
+(-960,2003)
+(-961,2007)
+(-964,2008)
+(-966,2009)
+(-968,2011)
+(-970,2015)
+(-973,2017)
+(-975,2020)
+(-983,2026)
+(-985,2029)
+(-988,2031)
+(-994,2036)
+(-995,2037)
+(-995,2040)
+(-998,2041)
+(-998,2047)
+(-1002,2054)
+(-1002,2060)
+(-1006,2070)
+(-1006,2072)
+(-1011,2079)
+(-1012,2085)
+(-1017,2091)
+(-1025,2094)
+(-1037,2101)
+(-1047,2104)
+(-1056,2109)
+(-1060,2113)
+(-1064,2121)
+(-1068,2124)
+(-1069,2126)
+(-1073,2128)
+(-1075,2130)
+(-1079,2132)
+(-1081,2134)
+(-1082,2137)
+(-1082,2140)
+(-1083,2144)
+(-1085,2146)
+(-1086,2149)
+(-1088,2151)
+(-1089,2151)
+(-1090,2152)
+(-1095,2154)
+(-1096,2157)
+(-1098,2158)
+(-1099,2161)
+(-1102,2165)
+(-1111,2169)
+(-1115,2169)
+(-1116,2170)
+(-1118,2167)
+(-1120,2167)
+(-1121,2167)
+(-1122,2168)
+(-1123,2166)
+(-1124,2168)
+(-1123,2170)
+(-1126,2172)
+(-1128,2170)
+(-1129,2168)
+26
+(-999,2049)
+(-1004,2052)
+(-1004,2057)
+(-1006,2066)
+(-1008,2069)
+(-1010,2075)
+(-1014,2079)
+(-1015,2085)
+(-1019,2089)
+(-1020,2092)
+(-1022,2093)
+(-1027,2093)
+(-1032,2097)
+(-1037,2098)
+(-1042,2101)
+(-1053,2105)
+(-1059,2110)
+(-1065,2119)
+(-1070,2124)
+(-1069,2124)
+(-1069,2125)
+(-1071,2126)
+(-1072,2125)
+(-1074,2126)
+(-1076,2129)
+(-1079,2132)
+47
+(-864,2114)
+(-867,2114)
+(-868,2116)
+(-870,2115)
+(-885,2117)
+(-887,2118)
+(-893,2119)
+(-899,2118)
+(-900,2116)
+(-904,2114)
+(-913,2111)
+(-916,2108)
+(-918,2107)
+(-920,2102)
+(-922,2101)
+(-922,2097)
+(-924,2095)
+(-933,2091)
+(-936,2086)
+(-940,2086)
+(-943,2084)
+(-956,2086)
+(-960,2088)
+(-965,2089)
+(-967,2093)
+(-973,2096)
+(-975,2096)
+(-977,2095)
+(-982,2096)
+(-988,2105)
+(-997,2110)
+(-999,2114)
+(-1002,2117)
+(-1007,2117)
+(-1009,2118)
+(-1017,2116)
+(-1019,2119)
+(-1022,2118)
+(-1024,2118)
+(-1028,2117)
+(-1036,2118)
+(-1042,2120)
+(-1045,2119)
+(-1047,2120)
+(-1049,2120)
+(-1050,2121)
+(-1062,2119)
+317
+(-1736,1741)
+(-1741,1742)
+(-1746,1744)
+(-1751,1741)
+(-1756,1741)
+(-1758,1739)
+(-1759,1737)
+(-1757,1732)
+(-1759,1729)
+(-1761,1728)
+(-1768,1727)
+(-1770,1724)
+(-1772,1724)
+(-1773,1722)
+(-1776,1722)
+(-1776,1724)
+(-1778,1727)
+(-1779,1725)
+(-1781,1726)
+(-1781,1724)
+(-1783,1724)
+(-1785,1726)
+(-1786,1726)
+(-1787,1727)
+(-1789,1726)
+(-1791,1728)
+(-1793,1723)
+(-1794,1719)
+(-1797,1720)
+(-1799,1722)
+(-1801,1717)
+(-1802,1718)
+(-1804,1716)
+(-1804,1711)
+(-1803,1709)
+(-1804,1706)
+(-1804,1703)
+(-1802,1702)
+(-1800,1699)
+(-1800,1696)
+(-1802,1696)
+(-1802,1693)
+(-1803,1691)
+(-1802,1689)
+(-1804,1687)
+(-1805,1683)
+(-1804,1679)
+(-1807,1677)
+(-1805,1675)
+(-1806,1675)
+(-1808,1673)
+(-1811,1673)
+(-1812,1674)
+(-1812,1673)
+(-1814,1672)
+(-1817,1668)
+(-1816,1663)
+(-1818,1664)
+(-1822,1662)
+(-1821,1659)
+(-1822,1654)
+(-1824,1654)
+(-1822,1649)
+(-1819,1647)
+(-1820,1644)
+(-1819,1641)
+(-1822,1642)
+(-1822,1644)
+(-1824,1643)
+(-1824,1639)
+(-1826,1641)
+(-1826,1637)
+(-1827,1637)
+(-1828,1639)
+(-1829,1638)
+(-1829,1635)
+(-1829,1632)
+(-1830,1631)
+(-1830,1628)
+(-1832,1628)
+(-1833,1627)
+(-1832,1625)
+(-1832,1620)
+(-1833,1620)
+(-1834,1622)
+(-1836,1622)
+(-1836,1617)
+(-1839,1616)
+(-1839,1612)
+(-1841,1611)
+(-1839,1609)
+(-1839,1605)
+(-1841,1602)
+(-1840,1600)
+(-1841,1598)
+(-1840,1598)
+(-1840,1593)
+(-1838,1589)
+(-1835,1589)
+(-1834,1586)
+(-1835,1580)
+(-1835,1577)
+(-1834,1576)
+(-1833,1575)
+(-1832,1572)
+(-1830,1571)
+(-1829,1569)
+(-1830,1568)
+(-1831,1569)
+(-1832,1568)
+(-1831,1564)
+(-1832,1559)
+(-1834,1557)
+(-1832,1554)
+(-1833,1552)
+(-1837,1552)
+(-1837,1551)
+(-1837,1528)
+(-1833,1523)
+(-1833,1518)
+(-1830,1515)
+(-1827,1511)
+(-1824,1508)
+(-1820,1503)
+(-1817,1502)
+(-1816,1499)
+(-1799,1483)
+(-1798,1480)
+(-1794,1479)
+(-1793,1475)
+(-1789,1472)
+(-1789,1469)
+(-1787,1468)
+(-1787,1465)
+(-1782,1461)
+(-1779,1460)
+(-1779,1458)
+(-1777,1455)
+(-1778,1452)
+(-1778,1450)
+(-1775,1445)
+(-1770,1440)
+(-1768,1435)
+(-1763,1435)
+(-1761,1433)
+(-1758,1431)
+(-1758,1427)
+(-1753,1426)
+(-1751,1422)
+(-1750,1421)
+(-1747,1422)
+(-1744,1418)
+(-1745,1417)
+(-1747,1417)
+(-1752,1414)
+(-1753,1410)
+(-1754,1409)
+(-1752,1404)
+(-1752,1401)
+(-1756,1400)
+(-1756,1398)
+(-1758,1393)
+(-1761,1391)
+(-1761,1386)
+(-1765,1386)
+(-1765,1381)
+(-1766,1380)
+(-1768,1381)
+(-1772,1380)
+(-1770,1377)
+(-1772,1375)
+(-1775,1374)
+(-1772,1371)
+(-1773,1371)
+(-1776,1373)
+(-1780,1372)
+(-1781,1369)
+(-1780,1367)
+(-1779,1364)
+(-1776,1362)
+(-1774,1362)
+(-1773,1360)
+(-1770,1359)
+(-1766,1355)
+(-1766,1352)
+(-1763,1348)
+(-1764,1344)
+(-1760,1341)
+(-1760,1337)
+(-1748,1335)
+(-1745,1332)
+(-1742,1332)
+(-1740,1330)
+(-1738,1330)
+(-1731,1325)
+(-1730,1323)
+(-1731,1323)
+(-1733,1321)
+(-1732,1319)
+(-1729,1317)
+(-1729,1313)
+(-1727,1313)
+(-1720,1309)
+(-1718,1306)
+(-1712,1305)
+(-1710,1302)
+(-1707,1302)
+(-1703,1292)
+(-1704,1290)
+(-1703,1288)
+(-1706,1285)
+(-1705,1279)
+(-1708,1276)
+(-1709,1272)
+(-1713,1271)
+(-1717,1268)
+(-1723,1260)
+(-1724,1258)
+(-1723,1255)
+(-1725,1251)
+(-1726,1242)
+(-1724,1232)
+(-1721,1230)
+(-1719,1226)
+(-1718,1223)
+(-1716,1221)
+(-1715,1218)
+(-1713,1217)
+(-1712,1215)
+(-1707,1204)
+(-1705,1200)
+(-1706,1193)
+(-1709,1189)
+(-1709,1183)
+(-1711,1182)
+(-1712,1174)
+(-1715,1172)
+(-1716,1171)
+(-1720,1170)
+(-1722,1168)
+(-1724,1162)
+(-1725,1156)
+(-1728,1154)
+(-1731,1156)
+(-1733,1158)
+(-1734,1157)
+(-1734,1154)
+(-1736,1151)
+(-1738,1147)
+(-1736,1143)
+(-1736,1141)
+(-1732,1137)
+(-1730,1123)
+(-1732,1113)
+(-1733,1110)
+(-1733,1108)
+(-1734,1103)
+(-1733,1100)
+(-1733,1093)
+(-1735,1091)
+(-1732,1083)
+(-1728,1078)
+(-1727,1075)
+(-1725,1065)
+(-1726,1063)
+(-1725,1062)
+(-1726,1060)
+(-1726,1058)
+(-1725,1056)
+(-1722,1056)
+(-1721,1055)
+(-1722,1053)
+(-1723,1045)
+(-1721,1044)
+(-1715,1045)
+(-1714,1044)
+(-1713,1042)
+(-1710,1041)
+(-1708,1039)
+(-1706,1043)
+(-1704,1044)
+(-1701,1044)
+(-1698,1042)
+(-1694,1041)
+(-1693,1039)
+(-1695,1034)
+(-1694,1033)
+(-1692,1031)
+(-1686,1031)
+(-1686,1028)
+(-1683,1026)
+(-1682,1024)
+(-1682,1022)
+(-1684,1020)
+(-1683,1019)
+(-1684,1017)
+(-1684,1015)
+(-1686,1013)
+(-1691,1013)
+(-1690,1011)
+(-1691,1010)
+(-1692,1011)
+(-1693,1011)
+(-1693,1008)
+(-1696,1009)
+(-1695,1007)
+(-1696,1006)
+(-1697,1006)
+(-1702,1008)
+(-1704,1006)
+(-1707,1007)
+(-1710,1004)
+(-1710,1002)
+(-1708,1001)
+(-1710,997)
+(-1712,996)
+(-1715,989)
+198
+(116,-4595)
+(117,-4588)
+(116,-4578)
+(112,-4572)
+(113,-4569)
+(116,-4565)
+(118,-4562)
+(122,-4560)
+(123,-4552)
+(124,-4551)
+(127,-4549)
+(127,-4546)
+(131,-4541)
+(134,-4541)
+(138,-4540)
+(142,-4540)
+(143,-4537)
+(149,-4538)
+(151,-4535)
+(154,-4530)
+(158,-4529)
+(163,-4526)
+(165,-4522)
+(170,-4519)
+(173,-4518)
+(177,-4519)
+(185,-4515)
+(186,-4517)
+(190,-4517)
+(195,-4514)
+(198,-4515)
+(200,-4514)
+(201,-4514)
+(203,-4512)
+(205,-4511)
+(206,-4509)
+(207,-4508)
+(210,-4508)
+(212,-4505)
+(213,-4506)
+(217,-4506)
+(221,-4502)
+(223,-4499)
+(225,-4499)
+(230,-4497)
+(232,-4496)
+(234,-4495)
+(235,-4493)
+(242,-4492)
+(243,-4491)
+(245,-4490)
+(247,-4489)
+(251,-4489)
+(257,-4487)
+(257,-4494)
+(271,-4488)
+(275,-4489)
+(275,-4488)
+(277,-4489)
+(279,-4487)
+(280,-4489)
+(282,-4488)
+(283,-4490)
+(285,-4487)
+(288,-4485)
+(290,-4486)
+(293,-4486)
+(293,-4485)
+(296,-4485)
+(297,-4486)
+(299,-4484)
+(301,-4485)
+(307,-4484)
+(309,-4484)
+(311,-4484)
+(317,-4485)
+(321,-4482)
+(323,-4482)
+(323,-4481)
+(324,-4481)
+(325,-4480)
+(327,-4481)
+(328,-4480)
+(331,-4480)
+(333,-4481)
+(333,-4479)
+(334,-4478)
+(334,-4479)
+(337,-4478)
+(339,-4478)
+(340,-4479)
+(342,-4478)
+(343,-4479)
+(345,-4478)
+(346,-4480)
+(352,-4478)
+(355,-4475)
+(357,-4477)
+(360,-4474)
+(365,-4474)
+(366,-4476)
+(367,-4476)
+(374,-4474)
+(376,-4473)
+(378,-4469)
+(384,-4465)
+(385,-4463)
+(388,-4464)
+(391,-4464)
+(393,-4465)
+(397,-4463)
+(400,-4456)
+(402,-4454)
+(407,-4447)
+(412,-4444)
+(416,-4440)
+(418,-4435)
+(421,-4433)
+(424,-4433)
+(427,-4436)
+(433,-4436)
+(445,-4434)
+(448,-4435)
+(451,-4434)
+(453,-4432)
+(457,-4429)
+(458,-4430)
+(460,-4429)
+(462,-4430)
+(466,-4428)
+(471,-4429)
+(474,-4431)
+(483,-4432)
+(487,-4431)
+(489,-4427)
+(492,-4428)
+(496,-4426)
+(498,-4426)
+(499,-4425)
+(501,-4426)
+(503,-4425)
+(509,-4426)
+(511,-4428)
+(514,-4427)
+(519,-4430)
+(529,-4428)
+(533,-4433)
+(539,-4433)
+(540,-4441)
+(541,-4440)
+(543,-4443)
+(542,-4444)
+(542,-4449)
+(543,-4449)
+(544,-4448)
+(546,-4452)
+(549,-4455)
+(550,-4458)
+(552,-4458)
+(552,-4459)
+(554,-4461)
+(553,-4465)
+(556,-4466)
+(556,-4467)
+(554,-4472)
+(559,-4474)
+(560,-4477)
+(563,-4478)
+(563,-4480)
+(566,-4483)
+(567,-4488)
+(578,-4486)
+(581,-4490)
+(587,-4489)
+(590,-4492)
+(596,-4493)
+(597,-4492)
+(599,-4489)
+(601,-4488)
+(606,-4492)
+(607,-4496)
+(609,-4497)
+(617,-4495)
+(619,-4493)
+(622,-4492)
+(623,-4491)
+(626,-4490)
+(629,-4489)
+(634,-4484)
+(639,-4484)
+(646,-4483)
+(648,-4484)
+(651,-4484)
+(654,-4483)
+(656,-4485)
+(662,-4487)
+(664,-4491)
+(667,-4492)
+249
+(143,-3802)
+(142,-3812)
+(138,-3816)
+(137,-3822)
+(135,-3823)
+(134,-3825)
+(130,-3826)
+(128,-3828)
+(128,-3840)
+(128,-3842)
+(130,-3843)
+(133,-3848)
+(133,-3852)
+(135,-3856)
+(135,-3858)
+(137,-3862)
+(134,-3870)
+(138,-3873)
+(139,-3877)
+(140,-3879)
+(143,-3886)
+(143,-3888)
+(144,-3888)
+(144,-3892)
+(146,-3896)
+(146,-3901)
+(149,-3904)
+(149,-3906)
+(151,-3908)
+(151,-3912)
+(158,-3912)
+(162,-3911)
+(165,-3913)
+(167,-3912)
+(168,-3914)
+(172,-3915)
+(174,-3920)
+(175,-3921)
+(175,-3922)
+(179,-3923)
+(183,-3927)
+(187,-3928)
+(187,-3931)
+(189,-3932)
+(188,-3947)
+(188,-3950)
+(189,-3951)
+(190,-3952)
+(188,-3955)
+(190,-3960)
+(189,-3961)
+(187,-3962)
+(182,-3960)
+(180,-3964)
+(182,-3969)
+(182,-3981)
+(188,-3987)
+(189,-3990)
+(192,-3993)
+(200,-3994)
+(203,-3997)
+(205,-4000)
+(216,-4007)
+(220,-4016)
+(225,-4020)
+(228,-4021)
+(231,-4021)
+(234,-4019)
+(235,-4019)
+(238,-4023)
+(237,-4025)
+(236,-4029)
+(237,-4037)
+(237,-4045)
+(241,-4050)
+(241,-4056)
+(243,-4062)
+(245,-4064)
+(248,-4065)
+(250,-4067)
+(254,-4068)
+(258,-4068)
+(261,-4067)
+(264,-4068)
+(265,-4067)
+(267,-4069)
+(269,-4069)
+(271,-4072)
+(273,-4073)
+(273,-4072)
+(280,-4071)
+(284,-4069)
+(290,-4069)
+(293,-4070)
+(296,-4069)
+(298,-4068)
+(302,-4068)
+(303,-4067)
+(307,-4070)
+(313,-4069)
+(318,-4071)
+(324,-4067)
+(325,-4065)
+(329,-4059)
+(331,-4058)
+(332,-4057)
+(335,-4058)
+(341,-4059)
+(347,-4057)
+(356,-4049)
+(359,-4045)
+(362,-4046)
+(364,-4048)
+(367,-4050)
+(369,-4049)
+(372,-4047)
+(374,-4047)
+(375,-4045)
+(375,-4044)
+(377,-4041)
+(377,-4040)
+(383,-4037)
+(385,-4032)
+(388,-4030)
+(392,-4030)
+(396,-4028)
+(402,-4027)
+(405,-4026)
+(407,-4024)
+(409,-4023)
+(416,-4023)
+(422,-4025)
+(421,-4027)
+(423,-4028)
+(426,-4028)
+(429,-4026)
+(429,-4025)
+(430,-4024)
+(430,-4022)
+(433,-4019)
+(432,-4015)
+(436,-4011)
+(439,-4003)
+(440,-4000)
+(440,-3997)
+(445,-3995)
+(447,-3991)
+(450,-3991)
+(454,-3989)
+(458,-3984)
+(460,-3979)
+(459,-3974)
+(461,-3970)
+(463,-3967)
+(462,-3962)
+(462,-3955)
+(465,-3951)
+(472,-3944)
+(475,-3940)
+(476,-3933)
+(475,-3931)
+(472,-3926)
+(474,-3919)
+(472,-3915)
+(471,-3908)
+(470,-3905)
+(469,-3902)
+(463,-3896)
+(461,-3890)
+(463,-3884)
+(467,-3880)
+(467,-3871)
+(469,-3869)
+(472,-3875)
+(476,-3875)
+(479,-3875)
+(481,-3873)
+(482,-3869)
+(482,-3867)
+(480,-3865)
+(480,-3864)
+(482,-3862)
+(485,-3859)
+(486,-3853)
+(485,-3852)
+(482,-3850)
+(480,-3848)
+(480,-3844)
+(478,-3842)
+(478,-3840)
+(480,-3835)
+(485,-3833)
+(489,-3829)
+(489,-3824)
+(491,-3821)
+(489,-3815)
+(490,-3809)
+(491,-3807)
+(494,-3803)
+(496,-3797)
+(499,-3795)
+(500,-3790)
+(499,-3784)
+(500,-3778)
+(496,-3776)
+(496,-3775)
+(499,-3770)
+(505,-3766)
+(503,-3763)
+(505,-3759)
+(511,-3753)
+(511,-3750)
+(513,-3748)
+(512,-3745)
+(517,-3738)
+(516,-3735)
+(520,-3734)
+(522,-3731)
+(526,-3724)
+(529,-3724)
+(533,-3720)
+(532,-3723)
+(533,-3724)
+(537,-3726)
+(543,-3724)
+(543,-3729)
+(546,-3729)
+(544,-3731)
+(543,-3733)
+(547,-3737)
+(547,-3740)
+(548,-3740)
+(551,-3739)
+(554,-3739)
+(555,-3740)
+(559,-3741)
+(562,-3740)
+(563,-3742)
+(562,-3742)
+(563,-3743)
+(564,-3745)
+(568,-3745)
+(569,-3747)
+(572,-3747)
+(576,-3747)
+(581,-3742)
+(584,-3742)
+(583,-3741)
+(584,-3740)
+137
+(372,-4048)
+(372,-4046)
+(373,-4045)
+(373,-4042)
+(375,-4041)
+(375,-4039)
+(382,-4035)
+(383,-4032)
+(388,-4027)
+(396,-4027)
+(405,-4021)
+(411,-4021)
+(414,-4020)
+(417,-4021)
+(421,-4024)
+(423,-4024)
+(424,-4020)
+(427,-4019)
+(429,-4018)
+(429,-4014)
+(431,-4012)
+(433,-4008)
+(435,-4006)
+(436,-3999)
+(438,-3997)
+(440,-3993)
+(441,-3991)
+(448,-3989)
+(451,-3987)
+(454,-3985)
+(455,-3984)
+(456,-3980)
+(458,-3979)
+(458,-3976)
+(457,-3974)
+(458,-3970)
+(460,-3970)
+(460,-3969)
+(459,-3960)
+(460,-3955)
+(465,-3948)
+(471,-3942)
+(473,-3940)
+(473,-3935)
+(472,-3931)
+(471,-3928)
+(471,-3915)
+(469,-3912)
+(469,-3907)
+(468,-3903)
+(461,-3897)
+(459,-3894)
+(458,-3891)
+(461,-3884)
+(463,-3881)
+(465,-3878)
+(465,-3872)
+(469,-3867)
+(472,-3869)
+(479,-3869)
+(479,-3868)
+(478,-3864)
+(479,-3862)
+(481,-3860)
+(480,-3858)
+(483,-3856)
+(482,-3854)
+(479,-3850)
+(477,-3847)
+(476,-3838)
+(479,-3832)
+(483,-3831)
+(485,-3830)
+(486,-3828)
+(487,-3819)
+(488,-3817)
+(488,-3815)
+(489,-3812)
+(489,-3808)
+(492,-3803)
+(492,-3799)
+(496,-3796)
+(499,-3789)
+(498,-3783)
+(495,-3777)
+(495,-3774)
+(500,-3767)
+(500,-3764)
+(502,-3760)
+(507,-3756)
+(508,-3752)
+(510,-3750)
+(510,-3746)
+(513,-3741)
+(514,-3737)
+(515,-3735)
+(514,-3730)
+(515,-3727)
+(515,-3723)
+(512,-3722)
+(512,-3714)
+(512,-3713)
+(516,-3708)
+(515,-3700)
+(517,-3699)
+(518,-3700)
+(518,-3712)
+(519,-3717)
+(521,-3720)
+(520,-3722)
+(523,-3727)
+(525,-3724)
+(528,-3723)
+(530,-3722)
+(531,-3720)
+(534,-3719)
+(534,-3720)
+(534,-3723)
+(538,-3724)
+(542,-3722)
+(544,-3723)
+(545,-3725)
+(548,-3726)
+(549,-3728)
+(551,-3730)
+(556,-3734)
+(559,-3734)
+(558,-3737)
+(559,-3739)
+(562,-3739)
+(565,-3743)
+(569,-3743)
+(570,-3745)
+(573,-3746)
+(578,-3740)
+(580,-3740)
+(582,-3739)
+782
+(-927,-4313)
+(-924,-4310)
+(-923,-4306)
+(-920,-4304)
+(-921,-4301)
+(-921,-4300)
+(-914,-4298)
+(-911,-4299)
+(-910,-4298)
+(-911,-4296)
+(-909,-4295)
+(-905,-4298)
+(-899,-4298)
+(-897,-4297)
+(-892,-4291)
+(-885,-4289)
+(-883,-4288)
+(-882,-4289)
+(-880,-4287)
+(-873,-4288)
+(-866,-4288)
+(-863,-4290)
+(-857,-4290)
+(-852,-4293)
+(-850,-4294)
+(-849,-4299)
+(-848,-4302)
+(-840,-4304)
+(-833,-4309)
+(-829,-4310)
+(-830,-4315)
+(-830,-4319)
+(-829,-4319)
+(-827,-4320)
+(-826,-4324)
+(-827,-4330)
+(-822,-4336)
+(-822,-4340)
+(-820,-4344)
+(-816,-4346)
+(-816,-4350)
+(-814,-4354)
+(-814,-4356)
+(-811,-4362)
+(-806,-4368)
+(-806,-4373)
+(-804,-4374)
+(-804,-4379)
+(-806,-4381)
+(-805,-4383)
+(-806,-4384)
+(-808,-4386)
+(-808,-4387)
+(-806,-4388)
+(-806,-4391)
+(-802,-4398)
+(-793,-4404)
+(-790,-4408)
+(-788,-4410)
+(-786,-4414)
+(-784,-4413)
+(-779,-4414)
+(-778,-4413)
+(-776,-4415)
+(-771,-4417)
+(-766,-4418)
+(-762,-4420)
+(-757,-4424)
+(-758,-4425)
+(-755,-4428)
+(-751,-4430)
+(-750,-4432)
+(-746,-4431)
+(-745,-4433)
+(-743,-4433)
+(-738,-4437)
+(-727,-4441)
+(-726,-4444)
+(-724,-4445)
+(-717,-4443)
+(-715,-4441)
+(-713,-4437)
+(-712,-4437)
+(-700,-4444)
+(-697,-4444)
+(-695,-4447)
+(-689,-4448)
+(-681,-4454)
+(-676,-4456)
+(-672,-4455)
+(-669,-4455)
+(-668,-4454)
+(-672,-4445)
+(-670,-4443)
+(-672,-4436)
+(-678,-4427)
+(-678,-4425)
+(-676,-4421)
+(-674,-4423)
+(-671,-4423)
+(-668,-4425)
+(-665,-4424)
+(-659,-4427)
+(-656,-4427)
+(-651,-4425)
+(-648,-4427)
+(-643,-4425)
+(-638,-4433)
+(-636,-4434)
+(-634,-4439)
+(-628,-4442)
+(-620,-4443)
+(-618,-4440)
+(-615,-4441)
+(-612,-4440)
+(-612,-4443)
+(-610,-4442)
+(-607,-4442)
+(-606,-4439)
+(-605,-4437)
+(-604,-4438)
+(-604,-4441)
+(-602,-4443)
+(-596,-4444)
+(-594,-4443)
+(-597,-4441)
+(-596,-4439)
+(-591,-4437)
+(-590,-4438)
+(-589,-4440)
+(-591,-4447)
+(-589,-4449)
+(-584,-4449)
+(-582,-4451)
+(-579,-4449)
+(-574,-4450)
+(-573,-4453)
+(-568,-4453)
+(-570,-4457)
+(-568,-4457)
+(-567,-4457)
+(-563,-4460)
+(-561,-4465)
+(-557,-4465)
+(-554,-4463)
+(-550,-4462)
+(-546,-4465)
+(-547,-4467)
+(-546,-4468)
+(-544,-4468)
+(-542,-4466)
+(-541,-4470)
+(-538,-4469)
+(-536,-4470)
+(-533,-4470)
+(-529,-4474)
+(-527,-4474)
+(-525,-4470)
+(-522,-4466)
+(-519,-4465)
+(-519,-4463)
+(-514,-4461)
+(-514,-4460)
+(-516,-4458)
+(-516,-4456)
+(-514,-4456)
+(-511,-4457)
+(-506,-4456)
+(-507,-4461)
+(-511,-4463)
+(-507,-4467)
+(-509,-4470)
+(-506,-4471)
+(-502,-4471)
+(-499,-4470)
+(-497,-4470)
+(-495,-4472)
+(-494,-4476)
+(-490,-4474)
+(-491,-4478)
+(-490,-4479)
+(-483,-4477)
+(-482,-4481)
+(-479,-4480)
+(-480,-4485)
+(-479,-4487)
+(-478,-4486)
+(-477,-4484)
+(-478,-4482)
+(-476,-4482)
+(-472,-4486)
+(-472,-4487)
+(-475,-4488)
+(-475,-4489)
+(-472,-4491)
+(-473,-4492)
+(-477,-4492)
+(-476,-4494)
+(-472,-4496)
+(-471,-4499)
+(-470,-4498)
+(-467,-4496)
+(-465,-4500)
+(-459,-4503)
+(-458,-4501)
+(-460,-4498)
+(-459,-4497)
+(-452,-4502)
+(-450,-4501)
+(-447,-4498)
+(-443,-4499)
+(-440,-4505)
+(-437,-4507)
+(-437,-4509)
+(-435,-4509)
+(-434,-4510)
+(-434,-4514)
+(-435,-4516)
+(-434,-4516)
+(-431,-4515)
+(-431,-4518)
+(-430,-4519)
+(-428,-4515)
+(-424,-4513)
+(-424,-4509)
+(-423,-4508)
+(-420,-4507)
+(-418,-4510)
+(-416,-4511)
+(-410,-4508)
+(-409,-4506)
+(-409,-4505)
+(-408,-4504)
+(-401,-4505)
+(-398,-4509)
+(-397,-4508)
+(-396,-4505)
+(-394,-4504)
+(-393,-4507)
+(-393,-4511)
+(-388,-4513)
+(-387,-4512)
+(-386,-4509)
+(-383,-4508)
+(-381,-4509)
+(-379,-4509)
+(-376,-4510)
+(-373,-4510)
+(-372,-4512)
+(-371,-4512)
+(-369,-4509)
+(-365,-4507)
+(-366,-4505)
+(-369,-4506)
+(-368,-4504)
+(-367,-4503)
+(-364,-4504)
+(-363,-4504)
+(-363,-4499)
+(-366,-4496)
+(-363,-4492)
+(-359,-4491)
+(-360,-4488)
+(-360,-4487)
+(-359,-4487)
+(-357,-4485)
+(-358,-4484)
+(-361,-4483)
+(-362,-4481)
+(-360,-4481)
+(-357,-4482)
+(-355,-4481)
+(-350,-4477)
+(-350,-4475)
+(-346,-4474)
+(-343,-4471)
+(-343,-4470)
+(-346,-4469)
+(-346,-4466)
+(-348,-4464)
+(-344,-4462)
+(-347,-4460)
+(-344,-4457)
+(-343,-4457)
+(-342,-4456)
+(-340,-4457)
+(-339,-4456)
+(-338,-4453)
+(-336,-4449)
+(-335,-4449)
+(-333,-4453)
+(-332,-4452)
+(-331,-4449)
+(-330,-4449)
+(-329,-4450)
+(-329,-4452)
+(-327,-4451)
+(-326,-4449)
+(-323,-4451)
+(-323,-4450)
+(-324,-4449)
+(-323,-4448)
+(-321,-4445)
+(-319,-4446)
+(-316,-4445)
+(-311,-4447)
+(-308,-4444)
+(-304,-4444)
+(-303,-4441)
+(-299,-4442)
+(-299,-4440)
+(-300,-4439)
+(-305,-4437)
+(-303,-4434)
+(-303,-4431)
+(-299,-4429)
+(-298,-4426)
+(-292,-4426)
+(-292,-4425)
+(-295,-4422)
+(-294,-4421)
+(-293,-4421)
+(-288,-4424)
+(-287,-4423)
+(-286,-4418)
+(-281,-4416)
+(-282,-4413)
+(-278,-4415)
+(-277,-4413)
+(-271,-4408)
+(-270,-4408)
+(-271,-4411)
+(-269,-4411)
+(-265,-4406)
+(-259,-4407)
+(-253,-4402)
+(-248,-4403)
+(-247,-4402)
+(-247,-4399)
+(-252,-4394)
+(-252,-4392)
+(-247,-4382)
+(-245,-4382)
+(-243,-4383)
+(-238,-4387)
+(-229,-4386)
+(-227,-4387)
+(-226,-4391)
+(-223,-4391)
+(-218,-4389)
+(-210,-4381)
+(-207,-4380)
+(-206,-4377)
+(-205,-4367)
+(-203,-4365)
+(-204,-4362)
+(-204,-4360)
+(-202,-4356)
+(-204,-4347)
+(-204,-4343)
+(-205,-4341)
+(-204,-4337)
+(-205,-4333)
+(-201,-4327)
+(-199,-4320)
+(-195,-4313)
+(-191,-4310)
+(-192,-4308)
+(-196,-4305)
+(-201,-4306)
+(-203,-4304)
+(-207,-4304)
+(-212,-4302)
+(-217,-4296)
+(-218,-4294)
+(-222,-4290)
+(-225,-4287)
+(-226,-4281)
+(-225,-4276)
+(-225,-4273)
+(-224,-4272)
+(-225,-4270)
+(-232,-4266)
+(-233,-4263)
+(-234,-4249)
+(-234,-4244)
+(-232,-4241)
+(-232,-4233)
+(-232,-4232)
+(-233,-4232)
+(-236,-4233)
+(-237,-4231)
+(-236,-4230)
+(-234,-4230)
+(-235,-4224)
+(-234,-4222)
+(-232,-4221)
+(-232,-4217)
+(-233,-4216)
+(-238,-4212)
+(-242,-4212)
+(-244,-4210)
+(-244,-4208)
+(-246,-4207)
+(-248,-4203)
+(-253,-4198)
+(-254,-4198)
+(-257,-4198)
+(-261,-4202)
+(-263,-4197)
+(-263,-4193)
+(-258,-4180)
+(-255,-4177)
+(-254,-4174)
+(-251,-4172)
+(-249,-4167)
+(-245,-4162)
+(-243,-4162)
+(-241,-4163)
+(-240,-4167)
+(-239,-4173)
+(-238,-4175)
+(-236,-4175)
+(-235,-4174)
+(-234,-4171)
+(-223,-4164)
+(-221,-4159)
+(-218,-4159)
+(-215,-4162)
+(-211,-4156)
+(-207,-4155)
+(-207,-4127)
+(-209,-4123)
+(-211,-4115)
+(-209,-4109)
+(-210,-4103)
+(-209,-4096)
+(-210,-4090)
+(-207,-4082)
+(-203,-4073)
+(-199,-4071)
+(-192,-4071)
+(-187,-4075)
+(-179,-4073)
+(-169,-4063)
+(-165,-4054)
+(-161,-4049)
+(-159,-4044)
+(-154,-4042)
+(-153,-4042)
+(-157,-4038)
+(-156,-4033)
+(-157,-4031)
+(-160,-4027)
+(-161,-4021)
+(-163,-4019)
+(-164,-4019)
+(-161,-4006)
+(-158,-4003)
+(-155,-4003)
+(-153,-4000)
+(-152,-3995)
+(-152,-3989)
+(-156,-3982)
+(-157,-3978)
+(-156,-3972)
+(-150,-3971)
+(-148,-3970)
+(-149,-3967)
+(-151,-3963)
+(-151,-3962)
+(-149,-3960)
+(-150,-3957)
+(-150,-3954)
+(-151,-3951)
+(-153,-3949)
+(-158,-3944)
+(-157,-3937)
+(-160,-3932)
+(-163,-3931)
+(-163,-3924)
+(-166,-3921)
+(-165,-3917)
+(-169,-3913)
+(-172,-3911)
+(-177,-3906)
+(-179,-3905)
+(-184,-3900)
+(-186,-3895)
+(-190,-3891)
+(-196,-3887)
+(-198,-3883)
+(-200,-3883)
+(-201,-3887)
+(-203,-3888)
+(-215,-3887)
+(-209,-3885)
+(-205,-3885)
+(-202,-3881)
+(-205,-3877)
+(-206,-3870)
+(-213,-3866)
+(-215,-3864)
+(-216,-3860)
+(-221,-3854)
+(-224,-3850)
+(-225,-3844)
+(-228,-3841)
+(-229,-3838)
+(-230,-3830)
+(-232,-3827)
+(-233,-3823)
+(-234,-3821)
+(-234,-3819)
+(-232,-3815)
+(-232,-3812)
+(-233,-3808)
+(-235,-3804)
+(-238,-3790)
+(-241,-3790)
+(-240,-3796)
+(-241,-3800)
+(-243,-3802)
+(-244,-3815)
+(-245,-3817)
+(-246,-3810)
+(-250,-3816)
+(-254,-3819)
+(-252,-3816)
+(-252,-3814)
+(-250,-3810)
+(-246,-3806)
+(-247,-3805)
+(-248,-3804)
+(-252,-3804)
+(-255,-3803)
+(-260,-3806)
+(-263,-3810)
+(-269,-3811)
+(-264,-3807)
+(-263,-3807)
+(-262,-3805)
+(-258,-3801)
+(-254,-3801)
+(-252,-3799)
+(-250,-3800)
+(-245,-3799)
+(-245,-3796)
+(-244,-3795)
+(-244,-3790)
+(-245,-3790)
+(-245,-3784)
+(-243,-3780)
+(-241,-3774)
+(-237,-3767)
+(-235,-3765)
+(-235,-3756)
+(-235,-3755)
+(-231,-3747)
+(-229,-3743)
+(-230,-3740)
+(-224,-3744)
+(-222,-3743)
+(-226,-3739)
+(-232,-3724)
+(-238,-3718)
+(-239,-3711)
+(-238,-3707)
+(-234,-3705)
+(-233,-3698)
+(-227,-3695)
+(-223,-3692)
+(-217,-3683)
+(-217,-3677)
+(-218,-3673)
+(-216,-3668)
+(-218,-3658)
+(-218,-3653)
+(-216,-3650)
+(-212,-3649)
+(-201,-3640)
+(-201,-3629)
+(-199,-3622)
+(-201,-3614)
+(-201,-3609)
+(-197,-3597)
+(-192,-3592)
+(-189,-3594)
+(-188,-3593)
+(-185,-3586)
+(-185,-3583)
+(-185,-3581)
+(-186,-3580)
+(-186,-3584)
+(-189,-3587)
+(-190,-3588)
+(-191,-3587)
+(-191,-3582)
+(-192,-3581)
+(-191,-3580)
+(-189,-3581)
+(-188,-3581)
+(-188,-3576)
+(-192,-3573)
+(-192,-3571)
+(-189,-3573)
+(-188,-3571)
+(-191,-3565)
+(-191,-3562)
+(-197,-3548)
+(-195,-3543)
+(-195,-3541)
+(-197,-3538)
+(-203,-3534)
+(-204,-3532)
+(-204,-3528)
+(-202,-3526)
+(-203,-3521)
+(-202,-3518)
+(-198,-3514)
+(-194,-3513)
+(-190,-3509)
+(-194,-3498)
+(-194,-3494)
+(-192,-3492)
+(-190,-3490)
+(-178,-3488)
+(-173,-3486)
+(-170,-3480)
+(-168,-3470)
+(-165,-3466)
+(-161,-3461)
+(-154,-3457)
+(-147,-3454)
+(-145,-3452)
+(-144,-3448)
+(-145,-3445)
+(-148,-3441)
+(-156,-3437)
+(-158,-3430)
+(-157,-3428)
+(-153,-3424)
+(-152,-3422)
+(-154,-3412)
+(-157,-3407)
+(-156,-3400)
+(-154,-3397)
+(-151,-3390)
+(-145,-3386)
+(-143,-3385)
+(-139,-3380)
+(-134,-3377)
+(-130,-3369)
+(-126,-3366)
+(-125,-3359)
+(-121,-3355)
+(-121,-3350)
+(-120,-3344)
+(-115,-3337)
+(-115,-3334)
+(-117,-3332)
+(-122,-3326)
+(-128,-3319)
+(-131,-3308)
+(-133,-3306)
+(-134,-3308)
+(-133,-3309)
+(-131,-3313)
+(-130,-3315)
+(-132,-3319)
+(-127,-3324)
+(-128,-3328)
+(-129,-3331)
+(-126,-3332)
+(-127,-3334)
+(-129,-3336)
+(-128,-3336)
+(-127,-3336)
+(-125,-3338)
+(-127,-3340)
+(-126,-3342)
+(-128,-3344)
+(-129,-3343)
+(-130,-3338)
+(-131,-3341)
+(-130,-3331)
+(-130,-3327)
+(-129,-3326)
+(-131,-3322)
+(-133,-3323)
+(-134,-3325)
+(-132,-3329)
+(-132,-3331)
+(-133,-3331)
+(-134,-3332)
+(-133,-3339)
+(-135,-3338)
+(-135,-3333)
+(-134,-3330)
+(-135,-3329)
+(-136,-3329)
+(-137,-3328)
+(-137,-3325)
+(-138,-3322)
+(-136,-3320)
+(-135,-3314)
+(-135,-3309)
+(-135,-3304)
+(-134,-3302)
+(-130,-3295)
+(-130,-3292)
+(-131,-3291)
+(-137,-3285)
+(-144,-3283)
+(-142,-3286)
+(-139,-3286)
+(-136,-3290)
+(-136,-3291)
+(-140,-3290)
+(-143,-3295)
+(-142,-3295)
+(-139,-3293)
+(-138,-3295)
+(-135,-3294)
+(-135,-3296)
+(-136,-3305)
+(-139,-3308)
+(-139,-3310)
+(-141,-3312)
+(-147,-3312)
+(-150,-3313)
+(-148,-3312)
+(-143,-3311)
+(-142,-3306)
+(-139,-3302)
+(-140,-3302)
+(-144,-3303)
+(-144,-3303)
+(-147,-3305)
+(-151,-3307)
+(-156,-3310)
+(-169,-3310)
+(-171,-3312)
+(-173,-3312)
+(-176,-3314)
+(-180,-3314)
+(-183,-3311)
+(-186,-3311)
+(-194,-3316)
+(-198,-3319)
+(-207,-3321)
+(-212,-3321)
+(-217,-3324)
+(-214,-3320)
+(-207,-3316)
+(-193,-3311)
+(-189,-3309)
+(-177,-3306)
+(-169,-3302)
+(-166,-3303)
+(-156,-3299)
+(-149,-3299)
+(-146,-3293)
+(-145,-3290)
+(-146,-3282)
+(-148,-3278)
+(-148,-3272)
+(-143,-3246)
+(-141,-3243)
+(-132,-3242)
+(-126,-3239)
+(-123,-3236)
+(-116,-3226)
+(-114,-3217)
+(-114,-3206)
+(-112,-3199)
+(-110,-3197)
+(-109,-3189)
+(-107,-3182)
+(-106,-3179)
+(-101,-3176)
+(-96,-3162)
+290
+(123,-4220)
+(123,-4215)
+(126,-4208)
+(125,-4203)
+(126,-4200)
+(127,-4195)
+(128,-4193)
+(127,-4189)
+(127,-4187)
+(131,-4182)
+(131,-4177)
+(130,-4175)
+(131,-4174)
+(136,-4165)
+(138,-4159)
+(137,-4156)
+(137,-4154)
+(135,-4148)
+(135,-4145)
+(132,-4138)
+(134,-4132)
+(132,-4126)
+(135,-4122)
+(138,-4121)
+(141,-4119)
+(142,-4116)
+(143,-4116)
+(144,-4112)
+(143,-4108)
+(140,-4106)
+(137,-4101)
+(137,-4099)
+(141,-4095)
+(149,-4095)
+(150,-4093)
+(153,-4091)
+(155,-4088)
+(156,-4088)
+(155,-4085)
+(156,-4083)
+(160,-4083)
+(160,-4082)
+(162,-4081)
+(162,-4079)
+(163,-4077)
+(167,-4075)
+(168,-4071)
+(170,-4069)
+(170,-4065)
+(168,-4062)
+(168,-4058)
+(168,-4056)
+(161,-4054)
+(161,-4050)
+(158,-4049)
+(151,-4040)
+(148,-4039)
+(144,-4032)
+(140,-4030)
+(137,-4033)
+(134,-4033)
+(128,-4030)
+(127,-4027)
+(123,-4027)
+(119,-4028)
+(116,-4025)
+(110,-4022)
+(99,-4019)
+(95,-4019)
+(89,-4016)
+(86,-4016)
+(82,-4013)
+(80,-4013)
+(77,-4014)
+(73,-4011)
+(70,-4011)
+(66,-4012)
+(60,-4010)
+(57,-4011)
+(53,-4016)
+(54,-4019)
+(55,-4021)
+(54,-4023)
+(53,-4025)
+(55,-4028)
+(55,-4029)
+(52,-4033)
+(48,-4034)
+(39,-4034)
+(32,-4036)
+(25,-4039)
+(17,-4037)
+(5,-4036)
+(3,-4035)
+(0,-4033)
+(-2,-4029)
+(-6,-4027)
+(-12,-4021)
+(-11,-4018)
+(-9,-4015)
+(-12,-4009)
+(-14,-4004)
+(-20,-3998)
+(-22,-3993)
+(-24,-3987)
+(-24,-3981)
+(-19,-3975)
+(-19,-3971)
+(-18,-3968)
+(-20,-3965)
+(-19,-3959)
+(-19,-3957)
+(-16,-3956)
+(-14,-3951)
+(-15,-3949)
+(-18,-3947)
+(-18,-3945)
+(-17,-3942)
+(-18,-3937)
+(-16,-3932)
+(-18,-3927)
+(-24,-3913)
+(-24,-3903)
+(-25,-3901)
+(-24,-3896)
+(-24,-3893)
+(-26,-3891)
+(-25,-3887)
+(-23,-3879)
+(-24,-3874)
+(-22,-3869)
+(-21,-3868)
+(-20,-3866)
+(-19,-3860)
+(-19,-3855)
+(-17,-3847)
+(-15,-3844)
+(-17,-3831)
+(-17,-3822)
+(-23,-3814)
+(-28,-3809)
+(-29,-3806)
+(-33,-3802)
+(-33,-3800)
+(-38,-3790)
+(-39,-3780)
+(-46,-3776)
+(-49,-3772)
+(-52,-3769)
+(-55,-3764)
+(-55,-3761)
+(-59,-3758)
+(-60,-3752)
+(-67,-3743)
+(-69,-3737)
+(-68,-3731)
+(-73,-3724)
+(-74,-3718)
+(-75,-3716)
+(-82,-3713)
+(-83,-3712)
+(-81,-3705)
+(-83,-3704)
+(-86,-3696)
+(-88,-3693)
+(-94,-3691)
+(-99,-3686)
+(-106,-3685)
+(-109,-3683)
+(-113,-3682)
+(-117,-3676)
+(-120,-3673)
+(-123,-3672)
+(-126,-3668)
+(-135,-3662)
+(-140,-3662)
+(-143,-3659)
+(-147,-3654)
+(-152,-3651)
+(-157,-3642)
+(-160,-3640)
+(-160,-3638)
+(-163,-3636)
+(-167,-3634)
+(-170,-3631)
+(-177,-3629)
+(-181,-3624)
+(-183,-3619)
+(-182,-3608)
+(-188,-3602)
+(-189,-3600)
+(-189,-3597)
+(-185,-3592)
+(-183,-3587)
+(-184,-3576)
+(-187,-3572)
+(-187,-3568)
+(-189,-3561)
+(-192,-3558)
+(-192,-3548)
+(-194,-3546)
+(-193,-3543)
+(-194,-3537)
+(-199,-3529)
+(-199,-3527)
+(-196,-3520)
+(-195,-3517)
+(-191,-3513)
+(-188,-3509)
+(-192,-3496)
+(-191,-3493)
+(-189,-3492)
+(-178,-3490)
+(-172,-3488)
+(-170,-3485)
+(-168,-3479)
+(-166,-3475)
+(-165,-3472)
+(-164,-3468)
+(-156,-3460)
+(-144,-3454)
+(-142,-3451)
+(-142,-3448)
+(-144,-3442)
+(-149,-3438)
+(-148,-3434)
+(-149,-3432)
+(-151,-3428)
+(-151,-3420)
+(-151,-3416)
+(-153,-3414)
+(-155,-3405)
+(-154,-3400)
+(-152,-3396)
+(-148,-3390)
+(-144,-3387)
+(-136,-3384)
+(-134,-3378)
+(-129,-3372)
+(-123,-3367)
+(-118,-3365)
+(-116,-3362)
+(-117,-3358)
+(-119,-3354)
+(-118,-3346)
+(-116,-3343)
+(-114,-3340)
+(-113,-3335)
+(-115,-3331)
+(-117,-3326)
+(-120,-3321)
+(-127,-3316)
+(-129,-3310)
+(-128,-3306)
+(-124,-3303)
+(-121,-3301)
+(-120,-3297)
+(-119,-3295)
+(-119,-3293)
+(-123,-3286)
+(-123,-3278)
+(-127,-3272)
+(-130,-3272)
+(-142,-3278)
+(-144,-3278)
+(-146,-3276)
+(-144,-3270)
+(-143,-3255)
+(-141,-3251)
+(-137,-3246)
+(-134,-3245)
+(-124,-3244)
+(-118,-3237)
+(-117,-3232)
+(-115,-3231)
+(-112,-3225)
+(-112,-3220)
+(-109,-3213)
+(-106,-3200)
+(-106,-3199)
+(-106,-3201)
+(-105,-3201)
+(-105,-3191)
+(-103,-3185)
+(-99,-3181)
+(-95,-3175)
+(-94,-3172)
+(-93,-3169)
+(-94,-3166)
+(-94,-3162)
+336
+(-208,-4381)
+(-205,-4378)
+(-202,-4371)
+(-201,-4366)
+(-200,-4365)
+(-199,-4364)
+(-199,-4363)
+(-197,-4360)
+(-197,-4362)
+(-195,-4364)
+(-197,-4368)
+(-195,-4369)
+(-192,-4373)
+(-193,-4375)
+(-191,-4373)
+(-194,-4367)
+(-196,-4367)
+(-194,-4364)
+(-195,-4361)
+(-195,-4358)
+(-198,-4358)
+(-199,-4361)
+(-200,-4361)
+(-201,-4350)
+(-204,-4340)
+(-203,-4337)
+(-204,-4333)
+(-203,-4330)
+(-200,-4327)
+(-198,-4325)
+(-195,-4317)
+(-189,-4311)
+(-191,-4306)
+(-196,-4303)
+(-198,-4301)
+(-201,-4301)
+(-203,-4303)
+(-212,-4299)
+(-215,-4295)
+(-218,-4289)
+(-219,-4288)
+(-223,-4288)
+(-225,-4285)
+(-223,-4277)
+(-221,-4274)
+(-222,-4271)
+(-225,-4269)
+(-230,-4264)
+(-232,-4263)
+(-233,-4257)
+(-232,-4256)
+(-230,-4256)
+(-229,-4254)
+(-229,-4253)
+(-230,-4254)
+(-231,-4254)
+(-232,-4252)
+(-231,-4250)
+(-231,-4249)
+(-233,-4249)
+(-233,-4248)
+(-230,-4243)
+(-230,-4234)
+(-231,-4231)
+(-229,-4227)
+(-227,-4225)
+(-226,-4221)
+(-228,-4217)
+(-230,-4213)
+(-243,-4206)
+(-247,-4201)
+(-249,-4199)
+(-253,-4197)
+(-257,-4196)
+(-260,-4189)
+(-257,-4182)
+(-254,-4180)
+(-253,-4177)
+(-247,-4170)
+(-245,-4164)
+(-243,-4164)
+(-241,-4167)
+(-242,-4173)
+(-241,-4175)
+(-239,-4178)
+(-237,-4178)
+(-234,-4177)
+(-231,-4172)
+(-226,-4170)
+(-223,-4167)
+(-215,-4165)
+(-212,-4162)
+(-209,-4161)
+(-208,-4158)
+(-205,-4156)
+(-204,-4146)
+(-205,-4141)
+(-204,-4137)
+(-204,-4130)
+(-205,-4128)
+(-206,-4126)
+(-206,-4119)
+(-208,-4113)
+(-207,-4110)
+(-204,-4106)
+(-205,-4103)
+(-207,-4100)
+(-208,-4098)
+(-205,-4093)
+(-205,-4091)
+(-207,-4089)
+(-207,-4087)
+(-205,-4083)
+(-203,-4077)
+(-200,-4073)
+(-195,-4073)
+(-192,-4076)
+(-189,-4077)
+(-187,-4082)
+(-187,-4080)
+(-184,-4076)
+(-175,-4073)
+(-169,-4066)
+(-164,-4054)
+(-161,-4051)
+(-159,-4048)
+(-155,-4043)
+(-151,-4043)
+(-152,-4041)
+(-154,-4037)
+(-155,-4029)
+(-159,-4024)
+(-159,-4019)
+(-161,-4015)
+(-160,-4009)
+(-158,-4006)
+(-156,-4005)
+(-153,-4005)
+(-149,-4003)
+(-148,-4001)
+(-147,-3992)
+(-148,-3988)
+(-152,-3984)
+(-153,-3979)
+(-155,-3976)
+(-155,-3974)
+(-154,-3974)
+(-150,-3974)
+(-148,-3973)
+(-145,-3971)
+(-144,-3969)
+(-145,-3967)
+(-148,-3964)
+(-147,-3962)
+(-146,-3956)
+(-150,-3952)
+(-151,-3948)
+(-154,-3946)
+(-157,-3941)
+(-156,-3938)
+(-148,-3931)
+(-145,-3927)
+(-145,-3923)
+(-147,-3920)
+(-152,-3919)
+(-154,-3920)
+(-158,-3924)
+(-161,-3924)
+(-163,-3923)
+(-164,-3920)
+(-163,-3916)
+(-164,-3913)
+(-172,-3909)
+(-174,-3907)
+(-176,-3904)
+(-180,-3903)
+(-183,-3898)
+(-189,-3887)
+(-191,-3885)
+(-196,-3880)
+(-200,-3872)
+(-205,-3868)
+(-210,-3866)
+(-213,-3862)
+(-222,-3849)
+(-223,-3837)
+(-227,-3836)
+(-228,-3834)
+(-229,-3825)
+(-232,-3821)
+(-230,-3815)
+(-230,-3810)
+(-232,-3806)
+(-232,-3801)
+(-235,-3796)
+(-236,-3790)
+(-237,-3789)
+(-241,-3789)
+(-242,-3788)
+(-243,-3784)
+(-242,-3781)
+(-236,-3777)
+(-235,-3775)
+(-231,-3764)
+(-231,-3752)
+(-226,-3747)
+(-221,-3745)
+(-220,-3743)
+(-221,-3741)
+(-223,-3739)
+(-227,-3732)
+(-231,-3722)
+(-236,-3715)
+(-231,-3700)
+(-228,-3698)
+(-225,-3695)
+(-219,-3690)
+(-216,-3684)
+(-216,-3679)
+(-215,-3672)
+(-215,-3663)
+(-216,-3660)
+(-216,-3658)
+(-212,-3650)
+(-207,-3647)
+(-202,-3645)
+(-199,-3641)
+(-200,-3647)
+(-204,-3650)
+(-202,-3653)
+(-200,-3652)
+(-200,-3654)
+(-199,-3654)
+(-197,-3650)
+(-196,-3643)
+(-195,-3644)
+(-196,-3646)
+(-194,-3646)
+(-192,-3648)
+(-190,-3650)
+(-190,-3647)
+(-195,-3641)
+(-199,-3635)
+(-198,-3627)
+(-196,-3616)
+(-196,-3614)
+(-198,-3612)
+(-199,-3610)
+(-197,-3604)
+(-193,-3596)
+(-190,-3595)
+(-190,-3596)
+(-192,-3599)
+(-190,-3602)
+(-190,-3607)
+(-186,-3615)
+(-187,-3624)
+(-185,-3630)
+(-181,-3635)
+(-166,-3648)
+(-156,-3659)
+(-150,-3664)
+(-144,-3665)
+(-138,-3665)
+(-132,-3667)
+(-126,-3673)
+(-121,-3675)
+(-118,-3678)
+(-112,-3690)
+(-111,-3690)
+(-108,-3688)
+(-104,-3688)
+(-98,-3692)
+(-92,-3694)
+(-88,-3697)
+(-87,-3703)
+(-84,-3705)
+(-86,-3712)
+(-84,-3716)
+(-84,-3722)
+(-82,-3728)
+(-79,-3731)
+(-79,-3734)
+(-75,-3738)
+(-72,-3749)
+(-68,-3756)
+(-65,-3764)
+(-63,-3766)
+(-62,-3770)
+(-58,-3776)
+(-54,-3779)
+(-52,-3780)
+(-48,-3779)
+(-45,-3782)
+(-41,-3788)
+(-37,-3801)
+(-32,-3810)
+(-25,-3818)
+(-21,-3825)
+(-21,-3828)
+(-22,-3836)
+(-23,-3840)
+(-22,-3843)
+(-21,-3850)
+(-23,-3854)
+(-24,-3860)
+(-24,-3864)
+(-24,-3869)
+(-25,-3870)
+(-26,-3872)
+(-29,-3882)
+(-28,-3888)
+(-32,-3893)
+(-33,-3896)
+(-31,-3901)
+(-28,-3901)
+(-26,-3904)
+(-26,-3909)
+(-27,-3913)
+(-27,-3914)
+(-25,-3916)
+(-25,-3920)
+(-22,-3924)
+(-20,-3927)
+(-18,-3932)
+(-20,-3940)
+(-19,-3947)
+(-18,-3949)
+(-16,-3952)
+(-17,-3954)
+(-20,-3957)
+(-21,-3966)
+(-20,-3970)
+(-20,-3975)
+(-24,-3978)
+(-24,-3981)
+201
+(-625,-4606)
+(-620,-4606)
+(-615,-4598)
+(-612,-4598)
+(-610,-4596)
+(-601,-4595)
+(-596,-4596)
+(-593,-4598)
+(-586,-4599)
+(-576,-4601)
+(-571,-4601)
+(-563,-4603)
+(-560,-4604)
+(-554,-4602)
+(-547,-4607)
+(-544,-4613)
+(-542,-4616)
+(-540,-4620)
+(-537,-4621)
+(-531,-4626)
+(-528,-4627)
+(-525,-4630)
+(-522,-4632)
+(-519,-4634)
+(-511,-4637)
+(-510,-4639)
+(-507,-4641)
+(-501,-4645)
+(-494,-4649)
+(-493,-4652)
+(-488,-4657)
+(-485,-4657)
+(-482,-4659)
+(-476,-4657)
+(-470,-4657)
+(-467,-4659)
+(-459,-4661)
+(-450,-4665)
+(-447,-4665)
+(-443,-4670)
+(-438,-4671)
+(-436,-4673)
+(-434,-4672)
+(-433,-4674)
+(-430,-4676)
+(-422,-4679)
+(-419,-4680)
+(-416,-4681)
+(-413,-4680)
+(-411,-4682)
+(-410,-4681)
+(-406,-4681)
+(-401,-4684)
+(-395,-4686)
+(-391,-4688)
+(-390,-4690)
+(-388,-4690)
+(-387,-4693)
+(-384,-4696)
+(-383,-4700)
+(-375,-4703)
+(-373,-4706)
+(-369,-4707)
+(-365,-4713)
+(-365,-4716)
+(-364,-4717)
+(-361,-4718)
+(-357,-4722)
+(-350,-4726)
+(-346,-4726)
+(-344,-4723)
+(-341,-4725)
+(-340,-4723)
+(-333,-4719)
+(-332,-4717)
+(-328,-4716)
+(-325,-4711)
+(-322,-4711)
+(-318,-4709)
+(-312,-4704)
+(-311,-4701)
+(-310,-4701)
+(-309,-4704)
+(-307,-4705)
+(-304,-4703)
+(-302,-4704)
+(-299,-4702)
+(-297,-4703)
+(-294,-4701)
+(-292,-4702)
+(-289,-4699)
+(-286,-4700)
+(-286,-4699)
+(-287,-4697)
+(-285,-4695)
+(-285,-4693)
+(-283,-4692)
+(-281,-4693)
+(-279,-4691)
+(-280,-4687)
+(-282,-4686)
+(-282,-4685)
+(-279,-4683)
+(-279,-4681)
+(-276,-4680)
+(-276,-4677)
+(-274,-4674)
+(-275,-4671)
+(-273,-4668)
+(-270,-4667)
+(-269,-4661)
+(-266,-4658)
+(-268,-4654)
+(-266,-4650)
+(-269,-4646)
+(-270,-4644)
+(-271,-4644)
+(-273,-4646)
+(-275,-4644)
+(-277,-4645)
+(-277,-4639)
+(-279,-4641)
+(-282,-4640)
+(-283,-4638)
+(-284,-4638)
+(-285,-4638)
+(-283,-4636)
+(-281,-4636)
+(-280,-4635)
+(-282,-4633)
+(-285,-4622)
+(-288,-4618)
+(-290,-4614)
+(-288,-4610)
+(-291,-4597)
+(-290,-4594)
+(-294,-4593)
+(-294,-4587)
+(-296,-4585)
+(-296,-4578)
+(-295,-4576)
+(-296,-4574)
+(-296,-4570)
+(-299,-4570)
+(-303,-4563)
+(-302,-4561)
+(-301,-4558)
+(-302,-4554)
+(-301,-4550)
+(-301,-4549)
+(-303,-4545)
+(-303,-4543)
+(-301,-4541)
+(-301,-4539)
+(-303,-4539)
+(-305,-4537)
+(-304,-4536)
+(-299,-4532)
+(-296,-4531)
+(-296,-4526)
+(-291,-4525)
+(-288,-4523)
+(-287,-4519)
+(-287,-4515)
+(-288,-4512)
+(-288,-4509)
+(-284,-4504)
+(-286,-4504)
+(-287,-4503)
+(-283,-4497)
+(-284,-4492)
+(-282,-4493)
+(-280,-4488)
+(-277,-4488)
+(-273,-4486)
+(-274,-4482)
+(-273,-4482)
+(-271,-4481)
+(-272,-4479)
+(-267,-4475)
+(-268,-4474)
+(-271,-4473)
+(-272,-4469)
+(-275,-4468)
+(-276,-4464)
+(-281,-4455)
+(-279,-4454)
+(-276,-4454)
+(-271,-4452)
+(-270,-4447)
+(-268,-4446)
+(-269,-4443)
+(-270,-4436)
+(-273,-4431)
+(-277,-4430)
+(-278,-4428)
+(-277,-4427)
+(-274,-4425)
+(-273,-4417)
+(-268,-4413)
+(-267,-4410)
+204
+(-907,-3296)
+(-906,-3294)
+(-904,-3292)
+(-904,-3285)
+(-898,-3275)
+(-895,-3266)
+(-894,-3259)
+(-891,-3255)
+(-886,-3253)
+(-885,-3252)
+(-886,-3240)
+(-883,-3237)
+(-881,-3232)
+(-876,-3226)
+(-874,-3221)
+(-865,-3213)
+(-863,-3212)
+(-856,-3212)
+(-849,-3207)
+(-841,-3206)
+(-840,-3204)
+(-837,-3204)
+(-833,-3200)
+(-827,-3199)
+(-823,-3196)
+(-821,-3193)
+(-818,-3191)
+(-816,-3189)
+(-814,-3189)
+(-813,-3188)
+(-810,-3189)
+(-809,-3188)
+(-806,-3187)
+(-801,-3184)
+(-799,-3184)
+(-796,-3181)
+(-792,-3180)
+(-791,-3178)
+(-789,-3176)
+(-783,-3176)
+(-783,-3175)
+(-776,-3171)
+(-774,-3172)
+(-771,-3171)
+(-766,-3176)
+(-765,-3175)
+(-763,-3177)
+(-760,-3179)
+(-757,-3176)
+(-756,-3177)
+(-755,-3179)
+(-751,-3181)
+(-752,-3182)
+(-749,-3183)
+(-746,-3187)
+(-743,-3187)
+(-741,-3188)
+(-739,-3191)
+(-737,-3191)
+(-737,-3193)
+(-734,-3195)
+(-733,-3198)
+(-732,-3198)
+(-731,-3199)
+(-730,-3198)
+(-728,-3201)
+(-723,-3202)
+(-720,-3204)
+(-718,-3208)
+(-718,-3209)
+(-716,-3210)
+(-715,-3213)
+(-710,-3216)
+(-703,-3217)
+(-700,-3215)
+(-696,-3214)
+(-695,-3212)
+(-693,-3212)
+(-690,-3209)
+(-691,-3209)
+(-690,-3208)
+(-687,-3206)
+(-686,-3207)
+(-685,-3204)
+(-680,-3201)
+(-677,-3198)
+(-676,-3196)
+(-673,-3196)
+(-672,-3195)
+(-669,-3195)
+(-664,-3198)
+(-662,-3197)
+(-657,-3199)
+(-652,-3194)
+(-651,-3188)
+(-647,-3186)
+(-637,-3185)
+(-636,-3184)
+(-631,-3185)
+(-623,-3184)
+(-620,-3182)
+(-618,-3179)
+(-616,-3177)
+(-611,-3181)
+(-604,-3180)
+(-600,-3175)
+(-595,-3172)
+(-593,-3169)
+(-590,-3167)
+(-586,-3160)
+(-584,-3158)
+(-579,-3157)
+(-578,-3155)
+(-575,-3154)
+(-576,-3148)
+(-578,-3144)
+(-578,-3138)
+(-580,-3136)
+(-579,-3134)
+(-576,-3131)
+(-566,-3130)
+(-565,-3127)
+(-563,-3126)
+(-561,-3126)
+(-556,-3121)
+(-553,-3123)
+(-551,-3122)
+(-551,-3125)
+(-550,-3126)
+(-548,-3126)
+(-547,-3124)
+(-544,-3124)
+(-535,-3128)
+(-527,-3140)
+(-526,-3141)
+(-522,-3141)
+(-519,-3143)
+(-515,-3149)
+(-515,-3154)
+(-516,-3156)
+(-516,-3158)
+(-514,-3161)
+(-511,-3163)
+(-508,-3168)
+(-497,-3168)
+(-494,-3171)
+(-490,-3172)
+(-475,-3173)
+(-469,-3169)
+(-460,-3167)
+(-455,-3162)
+(-452,-3162)
+(-450,-3164)
+(-447,-3163)
+(-440,-3156)
+(-435,-3156)
+(-430,-3156)
+(-427,-3152)
+(-427,-3150)
+(-425,-3148)
+(-421,-3147)
+(-419,-3144)
+(-418,-3140)
+(-417,-3131)
+(-415,-3124)
+(-409,-3120)
+(-402,-3119)
+(-398,-3123)
+(-393,-3125)
+(-393,-3128)
+(-395,-3132)
+(-394,-3133)
+(-393,-3135)
+(-383,-3142)
+(-380,-3146)
+(-372,-3146)
+(-367,-3151)
+(-362,-3152)
+(-356,-3153)
+(-352,-3152)
+(-350,-3153)
+(-347,-3156)
+(-341,-3159)
+(-336,-3161)
+(-328,-3162)
+(-324,-3170)
+(-322,-3172)
+(-313,-3172)
+(-309,-3173)
+(-305,-3175)
+(-300,-3176)
+(-294,-3170)
+(-287,-3169)
+(-279,-3163)
+(-275,-3162)
+(-269,-3160)
+(-266,-3160)
+(-263,-3164)
+(-260,-3164)
+(-256,-3163)
+(-252,-3158)
+(-249,-3158)
+(-236,-3156)
+(-232,-3156)
+30
+(-240,-3182)
+(-238,-3180)
+(-236,-3178)
+(-238,-3174)
+(-238,-3168)
+(-237,-3165)
+(-231,-3156)
+(-228,-3153)
+(-226,-3148)
+(-221,-3144)
+(-214,-3140)
+(-205,-3133)
+(-202,-3132)
+(-193,-3131)
+(-193,-3126)
+(-196,-3123)
+(-199,-3122)
+(-205,-3120)
+(-207,-3119)
+(-207,-3115)
+(-205,-3113)
+(-204,-3110)
+(-202,-3109)
+(-197,-3110)
+(-194,-3108)
+(-191,-3106)
+(-189,-3105)
+(-186,-3107)
+(-185,-3111)
+(-181,-3113)
+46
+(-101,-3136)
+(-101,-3138)
+(-98,-3139)
+(-101,-3141)
+(-103,-3141)
+(-106,-3138)
+(-109,-3136)
+(-114,-3139)
+(-118,-3139)
+(-122,-3136)
+(-130,-3136)
+(-136,-3131)
+(-141,-3129)
+(-144,-3127)
+(-150,-3126)
+(-153,-3123)
+(-156,-3122)
+(-159,-3122)
+(-162,-3124)
+(-164,-3124)
+(-170,-3122)
+(-173,-3120)
+(-174,-3117)
+(-182,-3113)
+(-177,-3112)
+(-174,-3114)
+(-170,-3113)
+(-164,-3117)
+(-164,-3120)
+(-161,-3120)
+(-161,-3117)
+(-151,-3117)
+(-143,-3121)
+(-139,-3122)
+(-137,-3124)
+(-132,-3127)
+(-130,-3129)
+(-124,-3131)
+(-120,-3131)
+(-119,-3132)
+(-116,-3131)
+(-113,-3133)
+(-112,-3132)
+(-106,-3134)
+(-104,-3136)
+(-102,-3135)
+140
+(-107,-3043)
+(-109,-3044)
+(-110,-3046)
+(-113,-3047)
+(-114,-3049)
+(-112,-3053)
+(-113,-3055)
+(-110,-3059)
+(-110,-3062)
+(-109,-3064)
+(-109,-3068)
+(-108,-3068)
+(-107,-3067)
+(-106,-3068)
+(-104,-3066)
+(-104,-3068)
+(-106,-3068)
+(-105,-3069)
+(-107,-3070)
+(-107,-3071)
+(-105,-3073)
+(-102,-3071)
+(-104,-3073)
+(-102,-3073)
+(-102,-3074)
+(-104,-3074)
+(-105,-3075)
+(-103,-3077)
+(-102,-3077)
+(-101,-3077)
+(-99,-3080)
+(-101,-3081)
+(-103,-3082)
+(-104,-3083)
+(-107,-3085)
+(-107,-3086)
+(-105,-3087)
+(-107,-3087)
+(-106,-3090)
+(-108,-3093)
+(-108,-3096)
+(-109,-3095)
+(-108,-3091)
+(-107,-3090)
+(-108,-3088)
+(-108,-3087)
+(-110,-3085)
+(-112,-3086)
+(-114,-3089)
+(-115,-3089)
+(-116,-3090)
+(-118,-3090)
+(-120,-3090)
+(-120,-3088)
+(-121,-3088)
+(-121,-3091)
+(-123,-3091)
+(-128,-3089)
+(-134,-3089)
+(-139,-3084)
+(-140,-3083)
+(-135,-3087)
+(-133,-3087)
+(-131,-3086)
+(-129,-3087)
+(-126,-3087)
+(-124,-3089)
+(-122,-3088)
+(-121,-3087)
+(-119,-3087)
+(-116,-3085)
+(-115,-3083)
+(-110,-3082)
+(-110,-3081)
+(-106,-3079)
+(-106,-3077)
+(-107,-3078)
+(-109,-3076)
+(-107,-3075)
+(-109,-3075)
+(-109,-3073)
+(-109,-3072)
+(-110,-3073)
+(-109,-3071)
+(-111,-3071)
+(-111,-3070)
+(-113,-3069)
+(-113,-3069)
+(-115,-3067)
+(-117,-3068)
+(-116,-3065)
+(-117,-3064)
+(-120,-3062)
+(-120,-3061)
+(-122,-3059)
+(-126,-3060)
+(-130,-3061)
+(-132,-3064)
+(-133,-3064)
+(-133,-3062)
+(-135,-3063)
+(-138,-3061)
+(-141,-3062)
+(-145,-3060)
+(-145,-3058)
+(-147,-3058)
+(-148,-3056)
+(-150,-3055)
+(-148,-3053)
+(-151,-3051)
+(-150,-3050)
+(-148,-3052)
+(-147,-3055)
+(-142,-3060)
+(-136,-3060)
+(-134,-3061)
+(-130,-3059)
+(-124,-3059)
+(-123,-3057)
+(-121,-3057)
+(-119,-3055)
+(-121,-3055)
+(-121,-3051)
+(-124,-3051)
+(-127,-3047)
+(-130,-3047)
+(-131,-3048)
+(-132,-3046)
+(-124,-3046)
+(-124,-3048)
+(-122,-3048)
+(-120,-3048)
+(-119,-3049)
+(-117,-3049)
+(-116,-3047)
+(-116,-3043)
+(-119,-3041)
+(-119,-3040)
+(-112,-3043)
+(-109,-3041)
+268
+(-1081,-3183)
+(-1073,-3187)
+(-1060,-3188)
+(-1052,-3193)
+(-1050,-3194)
+(-1046,-3193)
+(-1042,-3191)
+(-1037,-3192)
+(-1035,-3191)
+(-1033,-3189)
+(-1031,-3188)
+(-1023,-3182)
+(-1012,-3181)
+(-1009,-3178)
+(-1006,-3170)
+(-1000,-3163)
+(-995,-3161)
+(-992,-3158)
+(-985,-3157)
+(-981,-3155)
+(-978,-3152)
+(-976,-3146)
+(-974,-3146)
+(-970,-3147)
+(-966,-3147)
+(-964,-3144)
+(-963,-3140)
+(-956,-3136)
+(-953,-3135)
+(-953,-3122)
+(-950,-3118)
+(-948,-3118)
+(-949,-3114)
+(-948,-3113)
+(-937,-3107)
+(-932,-3107)
+(-932,-3105)
+(-930,-3104)
+(-929,-3102)
+(-922,-3100)
+(-919,-3101)
+(-916,-3099)
+(-914,-3100)
+(-911,-3098)
+(-909,-3095)
+(-904,-3091)
+(-903,-3088)
+(-900,-3085)
+(-899,-3081)
+(-898,-3079)
+(-901,-3077)
+(-901,-3075)
+(-900,-3073)
+(-899,-3070)
+(-895,-3068)
+(-893,-3066)
+(-890,-3066)
+(-887,-3064)
+(-884,-3064)
+(-872,-3058)
+(-869,-3058)
+(-864,-3060)
+(-861,-3059)
+(-859,-3058)
+(-854,-3058)
+(-850,-3055)
+(-847,-3056)
+(-847,-3052)
+(-845,-3051)
+(-838,-3052)
+(-832,-3051)
+(-823,-3052)
+(-822,-3049)
+(-820,-3047)
+(-812,-3045)
+(-807,-3040)
+(-803,-3040)
+(-798,-3035)
+(-794,-3034)
+(-792,-3035)
+(-787,-3034)
+(-785,-3035)
+(-783,-3033)
+(-781,-3034)
+(-778,-3030)
+(-773,-3029)
+(-770,-3029)
+(-770,-3034)
+(-769,-3034)
+(-768,-3034)
+(-769,-3036)
+(-759,-3038)
+(-759,-3040)
+(-757,-3040)
+(-756,-3040)
+(-756,-3039)
+(-747,-3038)
+(-747,-3037)
+(-743,-3037)
+(-739,-3038)
+(-737,-3037)
+(-734,-3038)
+(-733,-3040)
+(-732,-3040)
+(-725,-3040)
+(-723,-3041)
+(-720,-3041)
+(-718,-3039)
+(-716,-3040)
+(-715,-3039)
+(-713,-3039)
+(-712,-3041)
+(-707,-3042)
+(-705,-3043)
+(-703,-3043)
+(-700,-3039)
+(-696,-3039)
+(-693,-3043)
+(-691,-3045)
+(-684,-3044)
+(-678,-3042)
+(-675,-3040)
+(-669,-3040)
+(-664,-3037)
+(-656,-3038)
+(-653,-3037)
+(-650,-3038)
+(-647,-3035)
+(-644,-3035)
+(-639,-3036)
+(-637,-3035)
+(-636,-3033)
+(-634,-3031)
+(-624,-3029)
+(-621,-3026)
+(-619,-3025)
+(-607,-3023)
+(-602,-3019)
+(-595,-3016)
+(-589,-3013)
+(-585,-3011)
+(-582,-3009)
+(-580,-3009)
+(-574,-3006)
+(-568,-3006)
+(-563,-3004)
+(-560,-3003)
+(-554,-2999)
+(-549,-2994)
+(-544,-2991)
+(-543,-2990)
+(-536,-2986)
+(-532,-2981)
+(-531,-2976)
+(-523,-2970)
+(-520,-2970)
+(-514,-2966)
+(-506,-2963)
+(-503,-2958)
+(-494,-2956)
+(-490,-2954)
+(-486,-2954)
+(-483,-2952)
+(-479,-2952)
+(-476,-2950)
+(-470,-2950)
+(-468,-2949)
+(-467,-2950)
+(-465,-2953)
+(-459,-2959)
+(-455,-2961)
+(-452,-2962)
+(-449,-2961)
+(-442,-2955)
+(-435,-2951)
+(-432,-2951)
+(-425,-2951)
+(-417,-2953)
+(-416,-2953)
+(-408,-2942)
+(-405,-2935)
+(-404,-2931)
+(-399,-2920)
+(-397,-2919)
+(-391,-2920)
+(-386,-2916)
+(-384,-2912)
+(-381,-2910)
+(-382,-2903)
+(-380,-2903)
+(-378,-2905)
+(-371,-2906)
+(-369,-2904)
+(-368,-2899)
+(-366,-2897)
+(-363,-2897)
+(-362,-2900)
+(-359,-2900)
+(-358,-2899)
+(-357,-2894)
+(-355,-2893)
+(-350,-2897)
+(-345,-2898)
+(-343,-2896)
+(-343,-2893)
+(-342,-2890)
+(-339,-2889)
+(-337,-2889)
+(-332,-2893)
+(-332,-2896)
+(-331,-2898)
+(-324,-2902)
+(-325,-2913)
+(-324,-2918)
+(-322,-2922)
+(-320,-2932)
+(-317,-2937)
+(-320,-2941)
+(-319,-2946)
+(-320,-2947)
+(-321,-2948)
+(-321,-2951)
+(-320,-2953)
+(-313,-2958)
+(-310,-2959)
+(-299,-2961)
+(-296,-2964)
+(-295,-2966)
+(-294,-2967)
+(-282,-2968)
+(-277,-2967)
+(-272,-2971)
+(-263,-2972)
+(-257,-2975)
+(-249,-2978)
+(-241,-2978)
+(-239,-2977)
+(-233,-2981)
+(-222,-2981)
+(-215,-2978)
+(-213,-2977)
+(-207,-2978)
+(-206,-2976)
+(-196,-2974)
+(-191,-2975)
+(-186,-2979)
+(-182,-2980)
+(-177,-2979)
+(-172,-2981)
+(-165,-2980)
+(-161,-2981)
+(-161,-2982)
+(-164,-2984)
+(-166,-2986)
+(-170,-2986)
+(-174,-2984)
+(-180,-2984)
+(-182,-2980)
+(-185,-2980)
+(-189,-2982)
+(-198,-2982)
+(-203,-2981)
+(-206,-2980)
+(-213,-2979)
+(-216,-2980)
+(-219,-2982)
+(-227,-2983)
+(-229,-2982)
+240
+(-960,-2947)
+(-955,-2952)
+(-944,-2956)
+(-943,-2959)
+(-944,-2959)
+(-943,-2960)
+(-943,-2962)
+(-943,-2963)
+(-941,-2963)
+(-941,-2962)
+(-937,-2966)
+(-933,-2967)
+(-930,-2971)
+(-928,-2973)
+(-927,-2973)
+(-926,-2975)
+(-924,-2976)
+(-923,-2975)
+(-919,-2975)
+(-915,-2973)
+(-911,-2973)
+(-910,-2969)
+(-909,-2969)
+(-908,-2970)
+(-907,-2970)
+(-906,-2964)
+(-903,-2963)
+(-902,-2961)
+(-898,-2959)
+(-894,-2958)
+(-892,-2956)
+(-890,-2957)
+(-890,-2953)
+(-889,-2953)
+(-888,-2951)
+(-886,-2952)
+(-885,-2950)
+(-884,-2950)
+(-884,-2945)
+(-883,-2943)
+(-883,-2941)
+(-877,-2942)
+(-877,-2940)
+(-875,-2941)
+(-874,-2941)
+(-873,-2940)
+(-871,-2942)
+(-865,-2939)
+(-860,-2940)
+(-858,-2942)
+(-856,-2939)
+(-854,-2938)
+(-852,-2935)
+(-849,-2932)
+(-848,-2931)
+(-849,-2929)
+(-846,-2925)
+(-847,-2923)
+(-849,-2922)
+(-850,-2916)
+(-847,-2913)
+(-847,-2911)
+(-844,-2909)
+(-841,-2908)
+(-838,-2902)
+(-838,-2900)
+(-834,-2900)
+(-831,-2902)
+(-829,-2901)
+(-829,-2898)
+(-831,-2895)
+(-829,-2893)
+(-827,-2891)
+(-826,-2888)
+(-825,-2888)
+(-819,-2888)
+(-817,-2886)
+(-813,-2885)
+(-812,-2886)
+(-813,-2888)
+(-811,-2889)
+(-809,-2892)
+(-808,-2893)
+(-806,-2892)
+(-807,-2892)
+(-805,-2890)
+(-798,-2891)
+(-796,-2891)
+(-794,-2891)
+(-792,-2890)
+(-791,-2891)
+(-785,-2888)
+(-783,-2889)
+(-779,-2889)
+(-777,-2890)
+(-773,-2891)
+(-767,-2894)
+(-764,-2893)
+(-763,-2895)
+(-761,-2894)
+(-761,-2897)
+(-760,-2897)
+(-757,-2897)
+(-756,-2896)
+(-754,-2897)
+(-753,-2897)
+(-753,-2895)
+(-750,-2895)
+(-749,-2893)
+(-747,-2894)
+(-746,-2896)
+(-743,-2895)
+(-739,-2896)
+(-737,-2897)
+(-735,-2900)
+(-734,-2906)
+(-732,-2909)
+(-723,-2911)
+(-720,-2911)
+(-713,-2913)
+(-711,-2915)
+(-705,-2917)
+(-702,-2919)
+(-697,-2919)
+(-693,-2920)
+(-690,-2916)
+(-688,-2915)
+(-684,-2915)
+(-683,-2913)
+(-683,-2910)
+(-680,-2908)
+(-676,-2907)
+(-673,-2910)
+(-665,-2912)
+(-662,-2914)
+(-658,-2911)
+(-654,-2906)
+(-649,-2904)
+(-641,-2906)
+(-638,-2905)
+(-636,-2905)
+(-630,-2908)
+(-627,-2906)
+(-623,-2906)
+(-615,-2904)
+(-613,-2906)
+(-611,-2906)
+(-605,-2903)
+(-604,-2901)
+(-602,-2900)
+(-596,-2903)
+(-595,-2902)
+(-594,-2901)
+(-591,-2900)
+(-588,-2903)
+(-584,-2902)
+(-578,-2904)
+(-572,-2903)
+(-560,-2902)
+(-551,-2899)
+(-542,-2892)
+(-534,-2890)
+(-527,-2887)
+(-524,-2888)
+(-520,-2888)
+(-513,-2889)
+(-510,-2886)
+(-505,-2886)
+(-502,-2888)
+(-495,-2889)
+(-491,-2891)
+(-485,-2888)
+(-485,-2882)
+(-484,-2878)
+(-483,-2877)
+(-477,-2878)
+(-473,-2876)
+(-472,-2875)
+(-469,-2874)
+(-466,-2867)
+(-461,-2860)
+(-458,-2857)
+(-450,-2858)
+(-446,-2855)
+(-444,-2850)
+(-442,-2849)
+(-439,-2849)
+(-437,-2850)
+(-436,-2854)
+(-437,-2857)
+(-439,-2858)
+(-437,-2859)
+(-435,-2860)
+(-433,-2864)
+(-432,-2864)
+(-430,-2864)
+(-429,-2862)
+(-429,-2858)
+(-424,-2854)
+(-419,-2850)
+(-414,-2849)
+(-410,-2850)
+(-405,-2849)
+(-400,-2849)
+(-397,-2847)
+(-394,-2847)
+(-389,-2845)
+(-386,-2845)
+(-384,-2844)
+(-380,-2844)
+(-376,-2842)
+(-373,-2843)
+(-370,-2845)
+(-366,-2846)
+(-361,-2846)
+(-352,-2845)
+(-347,-2847)
+(-345,-2849)
+(-340,-2848)
+(-335,-2848)
+(-333,-2849)
+(-329,-2853)
+(-329,-2856)
+(-323,-2865)
+(-323,-2870)
+(-322,-2871)
+(-318,-2871)
+(-316,-2873)
+(-315,-2875)
+(-314,-2880)
+(-315,-2881)
+(-316,-2883)
+(-316,-2885)
+(-316,-2889)
+(-315,-2892)
+(-310,-2901)
+(-310,-2906)
+(-312,-2911)
+(-314,-2913)
+(-318,-2915)
+3
+(-318,-2919)
+(-320,-2922)
+(-322,-2923)
+253
+(-1092,-2716)
+(-1090,-2714)
+(-1087,-2714)
+(-1087,-2711)
+(-1087,-2711)
+(-1083,-2712)
+(-1081,-2710)
+(-1079,-2711)
+(-1076,-2707)
+(-1071,-2706)
+(-1069,-2707)
+(-1066,-2704)
+(-1066,-2701)
+(-1065,-2700)
+(-1061,-2700)
+(-1058,-2702)
+(-1056,-2702)
+(-1053,-2699)
+(-1050,-2699)
+(-1048,-2697)
+(-1042,-2696)
+(-1039,-2697)
+(-1036,-2695)
+(-1034,-2691)
+(-1032,-2690)
+(-1031,-2691)
+(-1029,-2691)
+(-1027,-2689)
+(-1026,-2687)
+(-1021,-2688)
+(-1018,-2692)
+(-1015,-2693)
+(-1014,-2695)
+(-1008,-2695)
+(-1005,-2701)
+(-1002,-2700)
+(-1001,-2703)
+(-997,-2704)
+(-994,-2706)
+(-989,-2706)
+(-988,-2704)
+(-985,-2702)
+(-983,-2703)
+(-980,-2702)
+(-978,-2703)
+(-974,-2702)
+(-968,-2704)
+(-959,-2703)
+(-959,-2702)
+(-958,-2694)
+(-957,-2693)
+(-949,-2687)
+(-947,-2683)
+(-946,-2680)
+(-944,-2678)
+(-943,-2675)
+(-942,-2673)
+(-939,-2670)
+(-936,-2664)
+(-934,-2662)
+(-930,-2662)
+(-928,-2657)
+(-924,-2654)
+(-923,-2651)
+(-918,-2649)
+(-913,-2646)
+(-907,-2645)
+(-904,-2641)
+(-900,-2641)
+(-891,-2635)
+(-885,-2636)
+(-871,-2632)
+(-864,-2629)
+(-853,-2621)
+(-841,-2619)
+(-835,-2617)
+(-832,-2617)
+(-827,-2615)
+(-824,-2613)
+(-819,-2614)
+(-815,-2611)
+(-813,-2608)
+(-811,-2607)
+(-806,-2607)
+(-800,-2608)
+(-793,-2606)
+(-788,-2608)
+(-783,-2607)
+(-779,-2604)
+(-773,-2604)
+(-772,-2601)
+(-767,-2599)
+(-762,-2595)
+(-760,-2592)
+(-758,-2591)
+(-755,-2593)
+(-743,-2595)
+(-740,-2597)
+(-738,-2596)
+(-731,-2593)
+(-729,-2596)
+(-726,-2596)
+(-717,-2602)
+(-714,-2601)
+(-713,-2599)
+(-711,-2599)
+(-709,-2600)
+(-704,-2601)
+(-701,-2603)
+(-697,-2603)
+(-695,-2602)
+(-695,-2599)
+(-693,-2597)
+(-688,-2595)
+(-681,-2593)
+(-679,-2591)
+(-674,-2592)
+(-666,-2588)
+(-660,-2583)
+(-658,-2582)
+(-657,-2580)
+(-651,-2576)
+(-649,-2572)
+(-648,-2566)
+(-647,-2564)
+(-643,-2562)
+(-637,-2561)
+(-632,-2554)
+(-626,-2552)
+(-622,-2547)
+(-618,-2547)
+(-614,-2544)
+(-609,-2545)
+(-608,-2547)
+(-606,-2547)
+(-604,-2545)
+(-603,-2543)
+(-603,-2536)
+(-603,-2534)
+(-592,-2526)
+(-588,-2525)
+(-583,-2525)
+(-581,-2523)
+(-580,-2521)
+(-581,-2519)
+(-582,-2518)
+(-587,-2502)
+(-586,-2500)
+(-581,-2497)
+(-580,-2494)
+(-579,-2487)
+(-580,-2479)
+(-578,-2474)
+(-572,-2469)
+(-566,-2467)
+(-564,-2465)
+(-563,-2458)
+(-564,-2455)
+(-564,-2451)
+(-568,-2446)
+(-567,-2444)
+(-568,-2441)
+(-569,-2438)
+(-568,-2434)
+(-565,-2431)
+(-564,-2427)
+(-562,-2425)
+(-563,-2422)
+(-562,-2420)
+(-547,-2417)
+(-544,-2414)
+(-544,-2412)
+(-546,-2409)
+(-546,-2407)
+(-544,-2404)
+(-543,-2398)
+(-537,-2393)
+(-535,-2393)
+(-532,-2394)
+(-530,-2393)
+(-527,-2381)
+(-526,-2381)
+(-519,-2381)
+(-518,-2375)
+(-512,-2364)
+(-512,-2362)
+(-514,-2357)
+(-516,-2356)
+(-521,-2352)
+(-521,-2351)
+(-521,-2350)
+(-523,-2348)
+(-524,-2343)
+(-528,-2337)
+(-526,-2331)
+(-527,-2328)
+(-529,-2326)
+(-531,-2322)
+(-538,-2320)
+(-539,-2318)
+(-539,-2317)
+(-538,-2316)
+(-532,-2316)
+(-530,-2315)
+(-529,-2312)
+(-530,-2309)
+(-531,-2308)
+(-533,-2308)
+(-537,-2311)
+(-540,-2308)
+(-542,-2305)
+(-539,-2299)
+(-541,-2297)
+(-542,-2297)
+(-545,-2299)
+(-549,-2299)
+(-552,-2297)
+(-561,-2294)
+(-563,-2292)
+(-565,-2292)
+(-566,-2289)
+(-566,-2286)
+(-568,-2284)
+(-569,-2281)
+(-572,-2280)
+(-573,-2274)
+(-576,-2269)
+(-578,-2268)
+(-578,-2262)
+(-584,-2254)
+(-584,-2248)
+(-588,-2239)
+(-590,-2236)
+(-594,-2233)
+(-594,-2228)
+(-599,-2223)
+(-599,-2218)
+(-601,-2216)
+(-605,-2216)
+(-608,-2215)
+(-609,-2212)
+(-613,-2209)
+(-613,-2206)
+(-616,-2202)
+(-616,-2200)
+(-615,-2198)
+(-616,-2196)
+(-620,-2194)
+(-624,-2194)
+(-625,-2193)
+(-625,-2188)
+(-625,-2186)
+(-630,-2184)
+66
+(-1215,-2786)
+(-1215,-2788)
+(-1216,-2791)
+(-1219,-2791)
+(-1220,-2786)
+(-1219,-2783)
+(-1221,-2780)
+(-1220,-2776)
+(-1221,-2775)
+(-1220,-2774)
+(-1221,-2769)
+(-1220,-2767)
+(-1221,-2764)
+(-1221,-2762)
+(-1219,-2756)
+(-1217,-2758)
+(-1216,-2758)
+(-1213,-2754)
+(-1209,-2752)
+(-1208,-2748)
+(-1209,-2747)
+(-1209,-2742)
+(-1208,-2742)
+(-1208,-2739)
+(-1205,-2739)
+(-1203,-2737)
+(-1202,-2737)
+(-1201,-2736)
+(-1200,-2737)
+(-1199,-2735)
+(-1197,-2735)
+(-1197,-2734)
+(-1194,-2735)
+(-1193,-2734)
+(-1190,-2730)
+(-1190,-2728)
+(-1187,-2729)
+(-1185,-2728)
+(-1183,-2730)
+(-1183,-2731)
+(-1182,-2729)
+(-1179,-2729)
+(-1179,-2727)
+(-1177,-2727)
+(-1177,-2725)
+(-1174,-2724)
+(-1171,-2724)
+(-1170,-2723)
+(-1168,-2724)
+(-1165,-2721)
+(-1164,-2722)
+(-1162,-2719)
+(-1160,-2720)
+(-1160,-2719)
+(-1159,-2720)
+(-1157,-2717)
+(-1156,-2714)
+(-1154,-2713)
+(-1154,-2711)
+(-1154,-2710)
+(-1152,-2709)
+(-1152,-2707)
+(-1148,-2705)
+(-1146,-2705)
+(-1144,-2704)
+(-1143,-2705)
+351
+(-1217,-2824)
+(-1217,-2827)
+(-1214,-2828)
+(-1213,-2833)
+(-1210,-2835)
+(-1207,-2839)
+(-1205,-2842)
+(-1205,-2844)
+(-1202,-2846)
+(-1200,-2846)
+(-1198,-2848)
+(-1199,-2850)
+(-1199,-2855)
+(-1202,-2857)
+(-1202,-2859)
+(-1199,-2861)
+(-1199,-2863)
+(-1199,-2871)
+(-1201,-2873)
+(-1203,-2872)
+(-1207,-2873)
+(-1206,-2876)
+(-1203,-2877)
+(-1202,-2879)
+(-1202,-2879)
+(-1204,-2879)
+(-1207,-2880)
+(-1209,-2884)
+(-1207,-2889)
+(-1202,-2892)
+(-1201,-2893)
+(-1202,-2894)
+(-1204,-2894)
+(-1207,-2893)
+(-1209,-2895)
+(-1207,-2898)
+(-1207,-2905)
+(-1208,-2909)
+(-1208,-2914)
+(-1210,-2918)
+(-1209,-2924)
+(-1210,-2927)
+(-1209,-2930)
+(-1211,-2931)
+(-1214,-2932)
+(-1216,-2933)
+(-1224,-2932)
+(-1226,-2933)
+(-1226,-2934)
+(-1224,-2939)
+(-1215,-2938)
+(-1212,-2939)
+(-1209,-2940)
+(-1209,-2944)
+(-1215,-2946)
+(-1219,-2950)
+(-1218,-2952)
+(-1216,-2954)
+(-1211,-2957)
+(-1206,-2958)
+(-1202,-2958)
+(-1200,-2954)
+(-1199,-2955)
+(-1199,-2964)
+(-1199,-2967)
+(-1195,-2970)
+(-1194,-2972)
+(-1195,-2976)
+(-1196,-2980)
+(-1196,-2987)
+(-1197,-2992)
+(-1195,-3000)
+(-1195,-3003)
+(-1193,-3006)
+(-1193,-3019)
+(-1192,-3021)
+(-1188,-3025)
+(-1187,-3028)
+(-1189,-3035)
+(-1195,-3040)
+(-1196,-3044)
+(-1197,-3048)
+(-1201,-3056)
+(-1205,-3060)
+(-1213,-3062)
+(-1215,-3063)
+(-1218,-3070)
+(-1219,-3076)
+(-1223,-3081)
+(-1233,-3088)
+(-1235,-3091)
+(-1236,-3095)
+(-1242,-3097)
+(-1253,-3098)
+(-1259,-3104)
+(-1266,-3108)
+(-1267,-3111)
+(-1269,-3112)
+(-1276,-3111)
+(-1280,-3112)
+(-1284,-3115)
+(-1287,-3116)
+(-1290,-3118)
+(-1291,-3119)
+(-1290,-3123)
+(-1293,-3126)
+(-1299,-3122)
+(-1303,-3123)
+(-1307,-3129)
+(-1311,-3130)
+(-1318,-3137)
+(-1327,-3142)
+(-1332,-3149)
+(-1338,-3161)
+(-1346,-3171)
+(-1349,-3178)
+(-1352,-3180)
+(-1353,-3183)
+(-1358,-3186)
+(-1363,-3190)
+(-1370,-3210)
+(-1373,-3214)
+(-1380,-3218)
+(-1387,-3218)
+(-1391,-3221)
+(-1395,-3222)
+(-1398,-3223)
+(-1401,-3226)
+(-1405,-3233)
+(-1405,-3236)
+(-1407,-3238)
+(-1413,-3239)
+(-1415,-3240)
+(-1417,-3240)
+(-1427,-3244)
+(-1437,-3245)
+(-1438,-3246)
+(-1444,-3257)
+(-1448,-3260)
+(-1454,-3259)
+(-1457,-3256)
+(-1462,-3255)
+(-1470,-3260)
+(-1477,-3259)
+(-1485,-3262)
+(-1488,-3264)
+(-1496,-3265)
+(-1501,-3267)
+(-1505,-3267)
+(-1509,-3265)
+(-1512,-3268)
+(-1516,-3270)
+(-1522,-3275)
+(-1526,-3277)
+(-1531,-3276)
+(-1535,-3276)
+(-1538,-3275)
+(-1539,-3276)
+(-1539,-3278)
+(-1540,-3279)
+(-1546,-3277)
+(-1550,-3275)
+(-1554,-3277)
+(-1557,-3276)
+(-1559,-3280)
+(-1564,-3278)
+(-1570,-3280)
+(-1572,-3278)
+(-1575,-3280)
+(-1577,-3279)
+(-1586,-3282)
+(-1591,-3288)
+(-1597,-3287)
+(-1600,-3288)
+(-1599,-3292)
+(-1600,-3294)
+(-1601,-3295)
+(-1607,-3297)
+(-1608,-3303)
+(-1612,-3308)
+(-1617,-3308)
+(-1618,-3311)
+(-1616,-3315)
+(-1617,-3318)
+(-1619,-3325)
+(-1622,-3327)
+(-1626,-3327)
+(-1626,-3332)
+(-1630,-3333)
+(-1630,-3336)
+(-1635,-3334)
+(-1636,-3335)
+(-1640,-3336)
+(-1642,-3341)
+(-1646,-3344)
+(-1646,-3351)
+(-1644,-3352)
+(-1641,-3353)
+(-1641,-3359)
+(-1639,-3364)
+(-1640,-3369)
+(-1643,-3371)
+(-1644,-3376)
+(-1646,-3375)
+(-1649,-3374)
+(-1651,-3378)
+(-1652,-3379)
+(-1654,-3379)
+(-1657,-3382)
+(-1655,-3388)
+(-1648,-3392)
+(-1649,-3402)
+(-1650,-3402)
+(-1652,-3400)
+(-1654,-3400)
+(-1657,-3403)
+(-1656,-3408)
+(-1657,-3412)
+(-1651,-3422)
+(-1650,-3425)
+(-1651,-3431)
+(-1648,-3438)
+(-1646,-3439)
+(-1646,-3445)
+(-1648,-3449)
+(-1648,-3451)
+(-1643,-3459)
+(-1642,-3467)
+(-1637,-3480)
+(-1637,-3484)
+(-1637,-3495)
+(-1637,-3499)
+(-1638,-3501)
+(-1638,-3507)
+(-1639,-3509)
+(-1638,-3512)
+(-1643,-3522)
+(-1646,-3525)
+(-1648,-3530)
+(-1651,-3530)
+(-1657,-3528)
+(-1661,-3529)
+(-1664,-3528)
+(-1678,-3529)
+(-1687,-3534)
+(-1689,-3537)
+(-1688,-3538)
+(-1688,-3539)
+(-1692,-3542)
+(-1708,-3541)
+(-1712,-3543)
+(-1719,-3543)
+(-1723,-3546)
+(-1728,-3546)
+(-1734,-3550)
+(-1740,-3550)
+(-1745,-3552)
+(-1745,-3554)
+(-1750,-3560)
+(-1752,-3560)
+(-1753,-3567)
+(-1755,-3568)
+(-1762,-3572)
+(-1761,-3570)
+(-1758,-3569)
+(-1760,-3568)
+(-1763,-3570)
+(-1764,-3572)
+(-1766,-3572)
+(-1767,-3574)
+(-1770,-3572)
+(-1774,-3573)
+(-1781,-3572)
+(-1780,-3574)
+(-1781,-3575)
+(-1785,-3575)
+(-1790,-3579)
+(-1800,-3573)
+(-1809,-3577)
+(-1819,-3578)
+(-1821,-3578)
+(-1825,-3574)
+(-1830,-3574)
+(-1834,-3573)
+(-1836,-3574)
+(-1839,-3574)
+(-1840,-3576)
+(-1853,-3583)
+(-1863,-3592)
+(-1867,-3593)
+(-1876,-3601)
+(-1878,-3604)
+(-1886,-3607)
+(-1891,-3613)
+(-1893,-3616)
+(-1901,-3624)
+(-1903,-3634)
+(-1905,-3636)
+(-1909,-3636)
+(-1912,-3639)
+(-1916,-3639)
+(-1917,-3641)
+(-1923,-3638)
+(-1925,-3639)
+(-1928,-3640)
+(-1929,-3642)
+(-1931,-3641)
+(-1933,-3641)
+(-1934,-3640)
+(-1936,-3640)
+(-1939,-3640)
+(-1940,-3640)
+(-1941,-3643)
+(-1944,-3642)
+(-1952,-3645)
+(-1959,-3643)
+(-1962,-3640)
+(-1964,-3641)
+(-1970,-3641)
+(-1978,-3633)
+(-1985,-3632)
+(-1986,-3628)
+(-1988,-3625)
+(-1988,-3621)
+(-1992,-3618)
+(-1995,-3618)
+(-1998,-3613)
+(-2005,-3604)
+(-2010,-3597)
+(-2011,-3592)
+(-2017,-3586)
+(-2021,-3577)
+(-2021,-3575)
+(-2019,-3571)
+(-2021,-3569)
+(-2024,-3566)
+(-2025,-3564)
+(-2025,-3559)
+(-2023,-3556)
+(-2027,-3555)
+(-2028,-3554)
+(-2028,-3551)
+(-2030,-3550)
+(-2030,-3541)
+(-2033,-3536)
+(-2036,-3532)
+(-2037,-3527)
+(-2043,-3519)
+(-2043,-3515)
+(-2041,-3511)
+(-2041,-3507)
+126
+(-1995,-3618)
+(-1992,-3621)
+(-1991,-3627)
+(-1988,-3631)
+(-1971,-3642)
+(-1960,-3644)
+(-1955,-3647)
+(-1952,-3648)
+(-1950,-3648)
+(-1949,-3645)
+(-1944,-3646)
+(-1938,-3645)
+(-1935,-3643)
+(-1930,-3644)
+(-1929,-3644)
+(-1928,-3642)
+(-1926,-3641)
+(-1920,-3644)
+(-1913,-3645)
+(-1911,-3645)
+(-1907,-3641)
+(-1901,-3640)
+(-1900,-3637)
+(-1902,-3631)
+(-1901,-3627)
+(-1898,-3625)
+(-1896,-3620)
+(-1894,-3621)
+(-1892,-3620)
+(-1891,-3618)
+(-1889,-3616)
+(-1888,-3612)
+(-1884,-3610)
+(-1882,-3607)
+(-1880,-3607)
+(-1873,-3604)
+(-1871,-3600)
+(-1864,-3596)
+(-1862,-3593)
+(-1859,-3592)
+(-1856,-3588)
+(-1852,-3587)
+(-1846,-3581)
+(-1842,-3580)
+(-1838,-3582)
+(-1832,-3580)
+(-1825,-3583)
+(-1821,-3581)
+(-1818,-3583)
+(-1814,-3579)
+(-1807,-3579)
+(-1803,-3577)
+(-1800,-3580)
+(-1797,-3581)
+(-1796,-3580)
+(-1796,-3582)
+(-1793,-3583)
+(-1779,-3578)
+(-1776,-3578)
+(-1772,-3578)
+(-1766,-3576)
+(-1755,-3576)
+(-1752,-3574)
+(-1746,-3567)
+(-1744,-3558)
+(-1741,-3553)
+(-1734,-3552)
+(-1732,-3550)
+(-1729,-3551)
+(-1724,-3550)
+(-1722,-3547)
+(-1719,-3546)
+(-1712,-3548)
+(-1704,-3545)
+(-1705,-3546)
+(-1704,-3547)
+(-1690,-3546)
+(-1686,-3544)
+(-1686,-3542)
+(-1687,-3538)
+(-1686,-3538)
+(-1682,-3534)
+(-1679,-3533)
+(-1677,-3532)
+(-1673,-3532)
+(-1671,-3530)
+(-1668,-3531)
+(-1662,-3530)
+(-1659,-3531)
+(-1656,-3534)
+(-1648,-3534)
+(-1647,-3531)
+(-1643,-3527)
+(-1642,-3523)
+(-1638,-3518)
+(-1635,-3506)
+(-1635,-3503)
+(-1634,-3501)
+(-1635,-3496)
+(-1634,-3484)
+(-1636,-3479)
+(-1637,-3468)
+(-1638,-3465)
+(-1638,-3462)
+(-1642,-3456)
+(-1643,-3447)
+(-1642,-3445)
+(-1642,-3442)
+(-1645,-3438)
+(-1648,-3428)
+(-1646,-3422)
+(-1646,-3420)
+(-1644,-3416)
+(-1644,-3411)
+(-1642,-3404)
+(-1642,-3393)
+(-1640,-3387)
+(-1640,-3381)
+(-1635,-3371)
+(-1637,-3364)
+(-1639,-3360)
+(-1638,-3355)
+(-1639,-3353)
+(-1640,-3351)
+(-1643,-3351)
+(-1646,-3347)
+89
+(-1455,-3578)
+(-1457,-3577)
+(-1459,-3572)
+(-1461,-3568)
+(-1469,-3560)
+(-1471,-3555)
+(-1476,-3547)
+(-1476,-3544)
+(-1478,-3542)
+(-1481,-3536)
+(-1487,-3528)
+(-1487,-3523)
+(-1489,-3520)
+(-1490,-3512)
+(-1491,-3507)
+(-1498,-3501)
+(-1500,-3500)
+(-1499,-3498)
+(-1496,-3494)
+(-1500,-3488)
+(-1501,-3487)
+(-1501,-3485)
+(-1503,-3483)
+(-1503,-3480)
+(-1505,-3479)
+(-1505,-3472)
+(-1508,-3470)
+(-1511,-3465)
+(-1514,-3464)
+(-1517,-3461)
+(-1520,-3459)
+(-1523,-3458)
+(-1526,-3453)
+(-1535,-3455)
+(-1535,-3457)
+(-1537,-3457)
+(-1536,-3459)
+(-1539,-3461)
+(-1540,-3465)
+(-1542,-3466)
+(-1544,-3464)
+(-1547,-3469)
+(-1550,-3468)
+(-1551,-3469)
+(-1553,-3472)
+(-1555,-3471)
+(-1558,-3474)
+(-1559,-3471)
+(-1560,-3471)
+(-1564,-3478)
+(-1566,-3481)
+(-1567,-3485)
+(-1569,-3486)
+(-1572,-3487)
+(-1571,-3489)
+(-1574,-3486)
+(-1576,-3490)
+(-1579,-3490)
+(-1586,-3493)
+(-1587,-3491)
+(-1589,-3492)
+(-1592,-3493)
+(-1596,-3490)
+(-1597,-3492)
+(-1599,-3491)
+(-1599,-3494)
+(-1606,-3495)
+(-1606,-3497)
+(-1609,-3497)
+(-1609,-3500)
+(-1609,-3501)
+(-1611,-3501)
+(-1612,-3499)
+(-1613,-3499)
+(-1613,-3502)
+(-1615,-3505)
+(-1616,-3509)
+(-1618,-3509)
+(-1619,-3508)
+(-1621,-3510)
+(-1624,-3511)
+(-1623,-3512)
+(-1624,-3513)
+(-1627,-3514)
+(-1628,-3517)
+(-1629,-3519)
+(-1631,-3519)
+(-1635,-3516)
+(-1638,-3516)
+239
+(-1005,-3221)
+(-1009,-3220)
+(-1010,-3221)
+(-1010,-3224)
+(-1005,-3229)
+(-999,-3240)
+(-997,-3242)
+(-997,-3248)
+(-991,-3262)
+(-990,-3269)
+(-989,-3272)
+(-990,-3274)
+(-989,-3279)
+(-993,-3286)
+(-989,-3291)
+(-988,-3295)
+(-989,-3299)
+(-994,-3304)
+(-996,-3308)
+(-996,-3312)
+(-1000,-3317)
+(-1001,-3322)
+(-1004,-3324)
+(-1005,-3328)
+(-1005,-3328)
+(-1005,-3332)
+(-1007,-3335)
+(-1006,-3341)
+(-1007,-3343)
+(-1005,-3346)
+(-1002,-3348)
+(-1003,-3352)
+(-1002,-3354)
+(-1004,-3357)
+(-1002,-3359)
+(-1002,-3361)
+(-1004,-3362)
+(-1015,-3372)
+(-1016,-3377)
+(-1024,-3395)
+(-1029,-3397)
+(-1030,-3400)
+(-1033,-3401)
+(-1035,-3404)
+(-1038,-3404)
+(-1040,-3407)
+(-1043,-3408)
+(-1044,-3411)
+(-1049,-3411)
+(-1052,-3414)
+(-1055,-3419)
+(-1059,-3419)
+(-1066,-3425)
+(-1067,-3427)
+(-1068,-3433)
+(-1069,-3435)
+(-1072,-3446)
+(-1077,-3448)
+(-1079,-3448)
+(-1083,-3449)
+(-1087,-3448)
+(-1092,-3443)
+(-1097,-3444)
+(-1099,-3443)
+(-1102,-3443)
+(-1103,-3442)
+(-1106,-3443)
+(-1108,-3442)
+(-1110,-3444)
+(-1111,-3448)
+(-1114,-3447)
+(-1114,-3450)
+(-1115,-3450)
+(-1117,-3452)
+(-1121,-3453)
+(-1123,-3452)
+(-1128,-3456)
+(-1130,-3454)
+(-1131,-3458)
+(-1133,-3459)
+(-1133,-3461)
+(-1135,-3462)
+(-1138,-3461)
+(-1139,-3459)
+(-1140,-3460)
+(-1140,-3455)
+(-1142,-3451)
+(-1144,-3442)
+(-1147,-3443)
+(-1147,-3440)
+(-1155,-3438)
+(-1161,-3439)
+(-1163,-3439)
+(-1168,-3445)
+(-1172,-3446)
+(-1173,-3443)
+(-1177,-3446)
+(-1179,-3449)
+(-1181,-3449)
+(-1180,-3452)
+(-1181,-3452)
+(-1183,-3454)
+(-1184,-3456)
+(-1184,-3459)
+(-1186,-3458)
+(-1188,-3459)
+(-1192,-3464)
+(-1195,-3465)
+(-1196,-3468)
+(-1202,-3474)
+(-1202,-3478)
+(-1203,-3479)
+(-1204,-3482)
+(-1206,-3483)
+(-1209,-3486)
+(-1210,-3489)
+(-1211,-3489)
+(-1212,-3487)
+(-1212,-3487)
+(-1215,-3490)
+(-1217,-3489)
+(-1216,-3487)
+(-1216,-3486)
+(-1222,-3485)
+(-1226,-3479)
+(-1231,-3481)
+(-1237,-3480)
+(-1239,-3478)
+(-1242,-3479)
+(-1243,-3478)
+(-1242,-3477)
+(-1240,-3476)
+(-1241,-3474)
+(-1244,-3471)
+(-1248,-3477)
+(-1249,-3473)
+(-1250,-3471)
+(-1254,-3475)
+(-1255,-3473)
+(-1258,-3471)
+(-1257,-3470)
+(-1258,-3469)
+(-1263,-3471)
+(-1265,-3470)
+(-1273,-3470)
+(-1277,-3474)
+(-1279,-3473)
+(-1279,-3471)
+(-1280,-3471)
+(-1286,-3475)
+(-1291,-3477)
+(-1292,-3477)
+(-1295,-3475)
+(-1297,-3476)
+(-1299,-3476)
+(-1301,-3473)
+(-1305,-3476)
+(-1308,-3476)
+(-1311,-3477)
+(-1314,-3475)
+(-1321,-3479)
+(-1325,-3479)
+(-1326,-3480)
+(-1329,-3478)
+(-1332,-3479)
+(-1336,-3478)
+(-1337,-3474)
+(-1341,-3472)
+(-1343,-3469)
+(-1345,-3471)
+(-1347,-3470)
+(-1351,-3470)
+(-1355,-3469)
+(-1359,-3467)
+(-1360,-3468)
+(-1360,-3471)
+(-1360,-3474)
+(-1363,-3477)
+(-1365,-3475)
+(-1366,-3473)
+(-1368,-3472)
+(-1369,-3468)
+(-1373,-3467)
+(-1375,-3469)
+(-1378,-3466)
+(-1382,-3467)
+(-1384,-3464)
+(-1386,-3462)
+(-1386,-3458)
+(-1389,-3458)
+(-1391,-3456)
+(-1392,-3453)
+(-1397,-3449)
+(-1399,-3448)
+(-1401,-3450)
+(-1405,-3447)
+(-1408,-3446)
+(-1412,-3447)
+(-1415,-3447)
+(-1419,-3444)
+(-1421,-3439)
+(-1424,-3436)
+(-1425,-3436)
+(-1426,-3438)
+(-1428,-3437)
+(-1432,-3437)
+(-1435,-3441)
+(-1437,-3437)
+(-1442,-3436)
+(-1442,-3434)
+(-1446,-3434)
+(-1447,-3430)
+(-1451,-3432)
+(-1452,-3430)
+(-1456,-3427)
+(-1459,-3426)
+(-1462,-3425)
+(-1467,-3426)
+(-1471,-3424)
+(-1472,-3426)
+(-1475,-3425)
+(-1477,-3427)
+(-1478,-3428)
+(-1481,-3425)
+(-1486,-3427)
+(-1486,-3431)
+(-1491,-3432)
+(-1493,-3435)
+(-1494,-3435)
+(-1494,-3433)
+(-1496,-3433)
+(-1499,-3432)
+(-1499,-3437)
+(-1504,-3440)
+(-1507,-3446)
+(-1507,-3451)
+(-1513,-3454)
+(-1516,-3459)
+(-1518,-3460)
+27
+(-1334,-2675)
+(-1332,-2670)
+(-1327,-2664)
+(-1323,-2660)
+(-1321,-2659)
+(-1321,-2656)
+(-1319,-2655)
+(-1317,-2652)
+(-1313,-2652)
+(-1312,-2649)
+(-1311,-2649)
+(-1310,-2645)
+(-1308,-2646)
+(-1306,-2644)
+(-1303,-2644)
+(-1299,-2644)
+(-1299,-2646)
+(-1296,-2646)
+(-1295,-2649)
+(-1288,-2652)
+(-1290,-2654)
+(-1289,-2656)
+(-1290,-2657)
+(-1289,-2658)
+(-1290,-2661)
+(-1290,-2663)
+(-1288,-2663)
+22
+(-1279,-2677)
+(-1277,-2677)
+(-1277,-2679)
+(-1273,-2682)
+(-1272,-2685)
+(-1273,-2686)
+(-1272,-2687)
+(-1273,-2689)
+(-1271,-2691)
+(-1270,-2691)
+(-1269,-2693)
+(-1270,-2695)
+(-1269,-2695)
+(-1268,-2696)
+(-1266,-2697)
+(-1268,-2701)
+(-1271,-2704)
+(-1269,-2705)
+(-1270,-2708)
+(-1267,-2709)
+(-1264,-2712)
+(-1264,-2713)
+9
+(-1240,-2779)
+(-1241,-2782)
+(-1240,-2783)
+(-1241,-2785)
+(-1241,-2787)
+(-1239,-2788)
+(-1239,-2791)
+(-1239,-2795)
+(-1237,-2796)
+182
+(-1146,-2774)
+(-1150,-2777)
+(-1151,-2780)
+(-1146,-2784)
+(-1143,-2784)
+(-1142,-2786)
+(-1141,-2786)
+(-1137,-2788)
+(-1134,-2792)
+(-1131,-2792)
+(-1131,-2794)
+(-1130,-2793)
+(-1128,-2791)
+(-1127,-2791)
+(-1127,-2790)
+(-1125,-2793)
+(-1122,-2791)
+(-1119,-2791)
+(-1119,-2791)
+(-1117,-2791)
+(-1114,-2793)
+(-1110,-2793)
+(-1110,-2793)
+(-1107,-2794)
+(-1106,-2794)
+(-1105,-2796)
+(-1104,-2796)
+(-1103,-2798)
+(-1104,-2799)
+(-1101,-2800)
+(-1100,-2803)
+(-1101,-2804)
+(-1099,-2804)
+(-1100,-2805)
+(-1098,-2806)
+(-1098,-2811)
+(-1096,-2812)
+(-1097,-2814)
+(-1095,-2815)
+(-1095,-2819)
+(-1097,-2819)
+(-1096,-2820)
+(-1098,-2820)
+(-1097,-2821)
+(-1098,-2822)
+(-1097,-2824)
+(-1098,-2825)
+(-1098,-2826)
+(-1097,-2827)
+(-1096,-2826)
+(-1095,-2828)
+(-1094,-2828)
+(-1093,-2831)
+(-1091,-2830)
+(-1091,-2831)
+(-1090,-2831)
+(-1089,-2833)
+(-1088,-2832)
+(-1087,-2835)
+(-1084,-2837)
+(-1084,-2839)
+(-1085,-2841)
+(-1087,-2841)
+(-1087,-2843)
+(-1089,-2844)
+(-1088,-2845)
+(-1090,-2845)
+(-1090,-2847)
+(-1092,-2849)
+(-1092,-2850)
+(-1093,-2851)
+(-1092,-2852)
+(-1092,-2853)
+(-1095,-2856)
+(-1095,-2857)
+(-1097,-2858)
+(-1098,-2857)
+(-1099,-2858)
+(-1099,-2860)
+(-1102,-2862)
+(-1101,-2864)
+(-1105,-2866)
+(-1105,-2869)
+(-1107,-2870)
+(-1106,-2871)
+(-1108,-2872)
+(-1108,-2875)
+(-1109,-2877)
+(-1107,-2879)
+(-1106,-2879)
+(-1106,-2882)
+(-1104,-2883)
+(-1105,-2885)
+(-1105,-2888)
+(-1102,-2890)
+(-1100,-2896)
+(-1101,-2898)
+(-1103,-2899)
+(-1102,-2902)
+(-1102,-2904)
+(-1101,-2905)
+(-1102,-2908)
+(-1101,-2909)
+(-1101,-2913)
+(-1099,-2914)
+(-1100,-2916)
+(-1100,-2917)
+(-1101,-2920)
+(-1101,-2927)
+(-1102,-2929)
+(-1101,-2930)
+(-1099,-2935)
+(-1098,-2935)
+(-1099,-2938)
+(-1102,-2940)
+(-1102,-2941)
+(-1104,-2942)
+(-1104,-2944)
+(-1104,-2946)
+(-1103,-2947)
+(-1105,-2949)
+(-1105,-2952)
+(-1108,-2952)
+(-1111,-2954)
+(-1112,-2957)
+(-1114,-2958)
+(-1114,-2960)
+(-1116,-2961)
+(-1119,-2963)
+(-1118,-2964)
+(-1115,-2966)
+(-1113,-2969)
+(-1110,-2969)
+(-1109,-2970)
+(-1109,-2972)
+(-1112,-2973)
+(-1113,-2978)
+(-1114,-2979)
+(-1116,-2978)
+(-1115,-2980)
+(-1116,-2982)
+(-1117,-2984)
+(-1116,-2986)
+(-1118,-2987)
+(-1117,-2992)
+(-1116,-2993)
+(-1117,-2995)
+(-1116,-3002)
+(-1120,-3005)
+(-1120,-3014)
+(-1122,-3020)
+(-1128,-3023)
+(-1130,-3026)
+(-1134,-3027)
+(-1136,-3030)
+(-1137,-3031)
+(-1138,-3030)
+(-1143,-3030)
+(-1147,-3033)
+(-1147,-3041)
+(-1149,-3041)
+(-1150,-3044)
+(-1153,-3045)
+(-1157,-3050)
+(-1164,-3053)
+(-1167,-3051)
+(-1168,-3051)
+(-1169,-3052)
+(-1169,-3054)
+(-1167,-3056)
+(-1168,-3058)
+(-1170,-3058)
+(-1173,-3056)
+(-1174,-3057)
+(-1174,-3059)
+(-1179,-3059)
+(-1184,-3061)
+(-1194,-3059)
+(-1198,-3060)
+(-1200,-3059)
+(-1203,-3061)
+(-1205,-3060)
+188
+(2805,-4278)
+(2800,-4295)
+(2798,-4301)
+(2798,-4307)
+(2800,-4311)
+(2800,-4312)
+(2794,-4320)
+(2793,-4327)
+(2791,-4332)
+(2787,-4334)
+(2785,-4336)
+(2784,-4344)
+(2782,-4349)
+(2775,-4358)
+(2772,-4360)
+(2769,-4368)
+(2768,-4375)
+(2766,-4375)
+(2765,-4374)
+(2765,-4377)
+(2764,-4380)
+(2763,-4389)
+(2758,-4392)
+(2754,-4393)
+(2743,-4406)
+(2737,-4407)
+(2732,-4411)
+(2727,-4410)
+(2725,-4411)
+(2725,-4424)
+(2721,-4429)
+(2720,-4434)
+(2714,-4440)
+(2713,-4444)
+(2714,-4449)
+(2712,-4452)
+(2710,-4460)
+(2708,-4464)
+(2707,-4464)
+(2703,-4468)
+(2699,-4481)
+(2700,-4488)
+(2700,-4491)
+(2698,-4492)
+(2697,-4499)
+(2695,-4501)
+(2694,-4507)
+(2693,-4510)
+(2691,-4517)
+(2686,-4523)
+(2684,-4528)
+(2677,-4538)
+(2668,-4547)
+(2670,-4549)
+(2671,-4548)
+(2687,-4526)
+(2696,-4508)
+(2697,-4502)
+(2699,-4501)
+(2700,-4497)
+(2701,-4497)
+(2702,-4491)
+(2701,-4485)
+(2702,-4481)
+(2704,-4475)
+(2706,-4471)
+(2710,-4468)
+(2711,-4463)
+(2713,-4461)
+(2716,-4453)
+(2719,-4450)
+(2719,-4442)
+(2721,-4438)
+(2725,-4441)
+(2727,-4441)
+(2726,-4442)
+(2727,-4443)
+(2730,-4456)
+(2730,-4459)
+(2734,-4463)
+(2736,-4475)
+(2738,-4478)
+(2737,-4486)
+(2738,-4491)
+(2738,-4497)
+(2736,-4499)
+(2734,-4506)
+(2734,-4515)
+(2732,-4519)
+(2731,-4526)
+(2727,-4541)
+(2722,-4550)
+(2723,-4555)
+(2724,-4555)
+(2728,-4559)
+(2730,-4566)
+(2730,-4572)
+(2729,-4573)
+(2727,-4578)
+(2727,-4582)
+(2731,-4589)
+(2733,-4597)
+(2734,-4601)
+(2738,-4601)
+(2740,-4603)
+(2742,-4603)
+(2746,-4608)
+(2750,-4607)
+(2752,-4609)
+(2753,-4613)
+(2753,-4615)
+(2752,-4614)
+(2747,-4614)
+(2747,-4618)
+(2747,-4623)
+(2749,-4625)
+(2752,-4633)
+(2754,-4635)
+(2755,-4638)
+(2758,-4639)
+(2762,-4647)
+(2759,-4638)
+(2759,-4638)
+(2760,-4638)
+(2769,-4655)
+(2771,-4661)
+(2770,-4654)
+(2763,-4639)
+(2761,-4636)
+(2756,-4635)
+(2755,-4622)
+(2755,-4617)
+(2753,-4608)
+(2750,-4605)
+(2746,-4606)
+(2743,-4602)
+(2740,-4601)
+(2734,-4597)
+(2731,-4584)
+(2728,-4581)
+(2729,-4577)
+(2732,-4572)
+(2732,-4565)
+(2728,-4558)
+(2723,-4550)
+(2725,-4546)
+(2728,-4542)
+(2730,-4531)
+(2732,-4527)
+(2735,-4515)
+(2736,-4507)
+(2739,-4497)
+(2738,-4483)
+(2739,-4478)
+(2736,-4474)
+(2736,-4469)
+(2734,-4462)
+(2731,-4459)
+(2731,-4450)
+(2730,-4450)
+(2729,-4448)
+(2729,-4442)
+(2732,-4434)
+(2735,-4433)
+(2742,-4424)
+(2743,-4411)
+(2745,-4406)
+(2754,-4396)
+(2761,-4391)
+(2766,-4390)
+(2769,-4385)
+(2770,-4380)
+(2772,-4379)
+(2776,-4368)
+(2777,-4358)
+(2784,-4347)
+(2785,-4343)
+(2786,-4341)
+(2787,-4336)
+(2793,-4333)
+(2796,-4321)
+(2801,-4312)
+(2800,-4306)
+(2800,-4302)
+(2801,-4298)
+(2804,-4288)
+(2804,-4281)
+(2805,-4278)
+45
+(2649,-4444)
+(2645,-4444)
+(2644,-4443)
+(2639,-4443)
+(2638,-4444)
+(2639,-4448)
+(2630,-4452)
+(2628,-4444)
+(2625,-4443)
+(2623,-4441)
+(2623,-4437)
+(2622,-4435)
+(2618,-4434)
+(2611,-4429)
+(2606,-4433)
+(2600,-4432)
+(2597,-4430)
+(2596,-4430)
+(2595,-4426)
+(2596,-4425)
+(2597,-4422)
+(2597,-4420)
+(2598,-4419)
+(2599,-4417)
+(2596,-4416)
+(2592,-4415)
+(2584,-4415)
+(2578,-4418)
+(2575,-4421)
+(2568,-4420)
+(2562,-4423)
+(2556,-4426)
+(2544,-4428)
+(2539,-4427)
+(2534,-4431)
+(2525,-4437)
+(2515,-4437)
+(2512,-4436)
+(2507,-4437)
+(2503,-4436)
+(2496,-4437)
+(2489,-4440)
+(2485,-4437)
+(2480,-4438)
+(2478,-4437)
+3
+(2596,-4744)
+(2590,-4743)
+(2586,-4744)
+8
+(2581,-4945)
+(2578,-4945)
+(2574,-4948)
+(2569,-4949)
+(2566,-4948)
+(2557,-4951)
+(2554,-4955)
+(2553,-4959)
+63
+(2305,-4774)
+(2312,-4768)
+(2318,-4761)
+(2326,-4756)
+(2330,-4757)
+(2335,-4754)
+(2338,-4753)
+(2340,-4750)
+(2340,-4747)
+(2341,-4744)
+(2340,-4741)
+(2343,-4740)
+(2345,-4738)
+(2351,-4734)
+(2355,-4730)
+(2362,-4725)
+(2365,-4725)
+(2366,-4720)
+(2368,-4719)
+(2370,-4715)
+(2372,-4714)
+(2372,-4708)
+(2373,-4706)
+(2374,-4706)
+(2375,-4707)
+(2376,-4704)
+(2377,-4706)
+(2377,-4706)
+(2379,-4701)
+(2378,-4697)
+(2382,-4691)
+(2381,-4687)
+(2378,-4682)
+(2376,-4680)
+(2376,-4677)
+(2376,-4675)
+(2376,-4673)
+(2377,-4672)
+(2376,-4670)
+(2374,-4670)
+(2373,-4673)
+(2371,-4671)
+(2372,-4670)
+(2372,-4669)
+(2370,-4670)
+(2370,-4666)
+(2367,-4668)
+(2365,-4664)
+(2360,-4664)
+(2359,-4660)
+(2358,-4657)
+(2358,-4653)
+(2356,-4652)
+(2354,-4647)
+(2352,-4648)
+(2350,-4650)
+(2348,-4651)
+(2344,-4647)
+(2344,-4640)
+(2343,-4636)
+(2339,-4633)
+(2338,-4628)
+(2334,-4624)
+88
+(2087,-5027)
+(2083,-5025)
+(2080,-5020)
+(2074,-5017)
+(2072,-5018)
+(2069,-5021)
+(2066,-5021)
+(2062,-5027)
+(2062,-5029)
+(2049,-5045)
+(2047,-5047)
+(2043,-5047)
+(2042,-5050)
+(2040,-5052)
+(2040,-5054)
+(2038,-5056)
+(2040,-5060)
+(2040,-5063)
+(2038,-5063)
+(2035,-5066)
+(2030,-5067)
+(2026,-5074)
+(2020,-5079)
+(2018,-5085)
+(2014,-5089)
+(2011,-5089)
+(2007,-5096)
+(2007,-5099)
+(2006,-5101)
+(2003,-5103)
+(2001,-5103)
+(1996,-5106)
+(1993,-5105)
+(1992,-5103)
+(1989,-5104)
+(1987,-5106)
+(1984,-5107)
+(1983,-5109)
+(1978,-5112)
+(1975,-5112)
+(1971,-5110)
+(1969,-5110)
+(1967,-5108)
+(1965,-5108)
+(1964,-5107)
+(1959,-5106)
+(1958,-5105)
+(1955,-5104)
+(1951,-5100)
+(1948,-5099)
+(1945,-5098)
+(1943,-5099)
+(1943,-5098)
+(1940,-5100)
+(1936,-5094)
+(1933,-5096)
+(1933,-5099)
+(1932,-5098)
+(1931,-5101)
+(1928,-5103)
+(1898,-5104)
+(1892,-5102)
+(1889,-5104)
+(1887,-5103)
+(1876,-5107)
+(1870,-5106)
+(1870,-5104)
+(1864,-5100)
+(1861,-5100)
+(1859,-5100)
+(1858,-5099)
+(1842,-5092)
+(1831,-5100)
+(1829,-5101)
+(1827,-5100)
+(1825,-5102)
+(1823,-5102)
+(1820,-5103)
+(1819,-5103)
+(1815,-5105)
+(1811,-5108)
+(1807,-5109)
+(1803,-5108)
+(1799,-5102)
+(1797,-5101)
+(1792,-5101)
+(1787,-5102)
+(1785,-5098)
+411
+(2829,-5701)
+(2833,-5701)
+(2836,-5699)
+(2839,-5699)
+(2839,-5697)
+(2847,-5694)
+(2849,-5691)
+(2850,-5689)
+(2849,-5685)
+(2846,-5682)
+(2847,-5669)
+(2846,-5663)
+(2844,-5660)
+(2846,-5644)
+(2845,-5643)
+(2841,-5642)
+(2838,-5636)
+(2839,-5633)
+(2838,-5630)
+(2838,-5627)
+(2834,-5629)
+(2833,-5628)
+(2835,-5620)
+(2833,-5610)
+(2829,-5605)
+(2823,-5603)
+(2820,-5597)
+(2816,-5599)
+(2813,-5603)
+(2807,-5602)
+(2802,-5610)
+(2801,-5617)
+(2797,-5619)
+(2795,-5619)
+(2793,-5622)
+(2794,-5626)
+(2793,-5627)
+(2795,-5628)
+(2795,-5630)
+(2793,-5638)
+(2794,-5643)
+(2793,-5643)
+(2792,-5645)
+(2789,-5646)
+(2787,-5646)
+(2786,-5649)
+(2780,-5654)
+(2777,-5661)
+(2773,-5665)
+(2768,-5663)
+(2765,-5661)
+(2759,-5662)
+(2756,-5664)
+(2753,-5662)
+(2750,-5662)
+(2747,-5657)
+(2744,-5656)
+(2744,-5654)
+(2741,-5653)
+(2740,-5652)
+(2737,-5653)
+(2733,-5649)
+(2730,-5649)
+(2724,-5642)
+(2723,-5636)
+(2719,-5628)
+(2718,-5616)
+(2714,-5610)
+(2713,-5607)
+(2708,-5598)
+(2706,-5597)
+(2701,-5597)
+(2697,-5593)
+(2694,-5592)
+(2694,-5591)
+(2697,-5586)
+(2694,-5583)
+(2692,-5582)
+(2688,-5581)
+(2687,-5580)
+(2687,-5574)
+(2685,-5572)
+(2685,-5569)
+(2680,-5560)
+(2677,-5557)
+(2662,-5520)
+(2660,-5516)
+(2651,-5511)
+(2649,-5508)
+(2642,-5495)
+(2642,-5490)
+(2637,-5483)
+(2627,-5475)
+(2625,-5476)
+(2614,-5475)
+(2610,-5473)
+(2607,-5474)
+(2605,-5473)
+(2602,-5473)
+(2601,-5471)
+(2577,-5469)
+(2574,-5468)
+(2572,-5465)
+(2565,-5464)
+(2563,-5462)
+(2562,-5457)
+(2560,-5448)
+(2559,-5441)
+(2553,-5438)
+(2548,-5438)
+(2542,-5427)
+(2540,-5425)
+(2535,-5424)
+(2527,-5410)
+(2522,-5409)
+(2520,-5408)
+(2509,-5412)
+(2505,-5418)
+(2495,-5421)
+(2494,-5424)
+(2492,-5428)
+(2491,-5435)
+(2487,-5441)
+(2487,-5450)
+(2486,-5453)
+(2486,-5460)
+(2484,-5463)
+(2474,-5466)
+(2471,-5464)
+(2466,-5458)
+(2459,-5457)
+(2456,-5459)
+(2450,-5465)
+(2445,-5466)
+(2440,-5469)
+(2437,-5479)
+(2434,-5485)
+(2433,-5485)
+(2430,-5482)
+(2427,-5483)
+(2424,-5482)
+(2422,-5488)
+(2417,-5490)
+(2408,-5491)
+(2401,-5490)
+(2396,-5486)
+(2392,-5487)
+(2388,-5484)
+(2382,-5482)
+(2377,-5474)
+(2373,-5469)
+(2372,-5466)
+(2367,-5462)
+(2361,-5452)
+(2358,-5448)
+(2356,-5446)
+(2352,-5444)
+(2348,-5444)
+(2346,-5442)
+(2344,-5443)
+(2339,-5442)
+(2334,-5438)
+(2333,-5435)
+(2334,-5432)
+(2337,-5429)
+(2338,-5427)
+(2335,-5416)
+(2331,-5408)
+(2328,-5408)
+(2323,-5412)
+(2318,-5411)
+(2313,-5415)
+(2306,-5419)
+(2301,-5423)
+(2294,-5422)
+(2286,-5414)
+(2284,-5409)
+(2281,-5407)
+(2278,-5401)
+(2277,-5395)
+(2272,-5389)
+(2270,-5384)
+(2264,-5380)
+(2261,-5372)
+(2253,-5372)
+(2245,-5366)
+(2241,-5367)
+(2239,-5371)
+(2236,-5371)
+(2235,-5368)
+(2232,-5368)
+(2226,-5363)
+(2223,-5363)
+(2220,-5357)
+(2221,-5356)
+(2223,-5358)
+(2224,-5358)
+(2225,-5357)
+(2225,-5355)
+(2223,-5355)
+(2221,-5353)
+(2219,-5351)
+(2219,-5347)
+(2213,-5347)
+(2210,-5349)
+(2206,-5348)
+(2202,-5349)
+(2194,-5353)
+(2194,-5355)
+(2195,-5357)
+(2198,-5362)
+(2197,-5363)
+(2194,-5364)
+(2190,-5366)
+(2187,-5368)
+(2187,-5370)
+(2191,-5369)
+(2193,-5370)
+(2194,-5372)
+(2193,-5374)
+(2192,-5375)
+(2189,-5373)
+(2187,-5373)
+(2182,-5372)
+(2181,-5373)
+(2181,-5377)
+(2179,-5378)
+(2176,-5373)
+(2175,-5375)
+(2174,-5381)
+(2168,-5376)
+(2166,-5380)
+(2160,-5384)
+(2154,-5380)
+(2155,-5384)
+(2154,-5386)
+(2152,-5387)
+(2151,-5384)
+(2149,-5384)
+(2146,-5390)
+(2143,-5397)
+(2142,-5397)
+(2138,-5394)
+(2136,-5397)
+(2132,-5395)
+(2131,-5401)
+(2127,-5402)
+(2122,-5407)
+(2117,-5407)
+(2114,-5405)
+(2112,-5406)
+(2110,-5405)
+(2108,-5406)
+(2107,-5411)
+(2103,-5413)
+(2101,-5419)
+(2097,-5416)
+(2095,-5416)
+(2092,-5421)
+(2089,-5428)
+(2088,-5428)
+(2086,-5427)
+(2084,-5428)
+(2084,-5434)
+(2078,-5436)
+(2074,-5434)
+(2070,-5435)
+(2065,-5435)
+(2062,-5441)
+(2062,-5446)
+(2060,-5445)
+(2057,-5446)
+(2057,-5450)
+(2052,-5452)
+(2049,-5458)
+(2047,-5456)
+(2046,-5452)
+(2043,-5453)
+(2042,-5455)
+(2042,-5458)
+(2039,-5465)
+(2038,-5465)
+(2036,-5462)
+(2032,-5464)
+(2028,-5463)
+(2026,-5468)
+(2022,-5471)
+(2021,-5474)
+(2020,-5473)
+(2018,-5469)
+(2015,-5469)
+(2014,-5473)
+(2013,-5474)
+(2008,-5468)
+(2003,-5468)
+(1999,-5471)
+(1996,-5467)
+(1990,-5466)
+(1988,-5466)
+(1987,-5469)
+(1978,-5470)
+(1977,-5466)
+(1975,-5464)
+(1974,-5465)
+(1971,-5468)
+(1966,-5469)
+(1965,-5469)
+(1964,-5465)
+(1962,-5464)
+(1961,-5469)
+(1959,-5470)
+(1956,-5469)
+(1953,-5466)
+(1948,-5466)
+(1945,-5461)
+(1941,-5459)
+(1940,-5455)
+(1939,-5454)
+(1935,-5458)
+(1928,-5462)
+(1928,-5466)
+(1924,-5464)
+(1921,-5465)
+(1918,-5470)
+(1913,-5474)
+(1911,-5480)
+(1909,-5481)
+(1903,-5484)
+(1895,-5486)
+(1891,-5492)
+(1888,-5492)
+(1884,-5489)
+(1877,-5492)
+(1876,-5493)
+(1877,-5498)
+(1876,-5499)
+(1872,-5496)
+(1869,-5498)
+(1868,-5498)
+(1864,-5494)
+(1863,-5495)
+(1861,-5499)
+(1858,-5500)
+(1856,-5498)
+(1855,-5493)
+(1853,-5491)
+(1849,-5491)
+(1847,-5495)
+(1845,-5495)
+(1844,-5489)
+(1845,-5483)
+(1845,-5482)
+(1841,-5480)
+(1839,-5478)
+(1834,-5475)
+(1833,-5475)
+(1831,-5477)
+(1830,-5477)
+(1831,-5472)
+(1826,-5471)
+(1822,-5475)
+(1821,-5474)
+(1820,-5469)
+(1819,-5469)
+(1819,-5472)
+(1818,-5473)
+(1816,-5467)
+(1813,-5469)
+(1812,-5469)
+(1813,-5465)
+(1812,-5462)
+(1810,-5460)
+(1808,-5461)
+(1807,-5457)
+(1808,-5456)
+(1807,-5455)
+(1805,-5453)
+(1804,-5451)
+(1800,-5449)
+(1801,-5444)
+(1803,-5440)
+(1804,-5435)
+(1803,-5429)
+(1800,-5428)
+(1800,-5424)
+(1798,-5423)
+(1797,-5421)
+(1797,-5418)
+(1798,-5415)
+(1798,-5414)
+(1796,-5412)
+(1797,-5409)
+(1795,-5407)
+(1796,-5404)
+(1797,-5402)
+(1795,-5396)
+(1793,-5395)
+(1793,-5399)
+(1786,-5401)
+(1783,-5398)
+(1779,-5397)
+(1775,-5388)
+(1769,-5381)
+(1768,-5377)
+(1764,-5375)
+(1761,-5369)
+(1762,-5366)
+(1761,-5364)
+(1752,-5356)
+(1748,-5355)
+(1736,-5365)
+131
+(2222,-4879)
+(2217,-4887)
+(2218,-4890)
+(2215,-4895)
+(2216,-4898)
+(2215,-4903)
+(2209,-4917)
+(2206,-4928)
+(2201,-4940)
+(2202,-4942)
+(2200,-4944)
+(2196,-4956)
+(2192,-4957)
+(2191,-4961)
+(2190,-4961)
+(2190,-4964)
+(2190,-4966)
+(2188,-4967)
+(2189,-4968)
+(2187,-4968)
+(2188,-4971)
+(2186,-4972)
+(2184,-4976)
+(2182,-4978)
+(2182,-4982)
+(2182,-4986)
+(2181,-4990)
+(2178,-4992)
+(2178,-4995)
+(2178,-4997)
+(2176,-5001)
+(2173,-5006)
+(2170,-5008)
+(2170,-5015)
+(2168,-5016)
+(2168,-5018)
+(2166,-5018)
+(2166,-5018)
+(2167,-5019)
+(2167,-5021)
+(2165,-5020)
+(2165,-5022)
+(2163,-5022)
+(2163,-5026)
+(2162,-5029)
+(2160,-5031)
+(2157,-5032)
+(2156,-5038)
+(2154,-5039)
+(2153,-5037)
+(2152,-5038)
+(2153,-5040)
+(2152,-5042)
+(2150,-5043)
+(2151,-5044)
+(2150,-5048)
+(2148,-5048)
+(2148,-5050)
+(2146,-5051)
+(2147,-5055)
+(2146,-5057)
+(2146,-5058)
+(2144,-5059)
+(2146,-5061)
+(2145,-5062)
+(2146,-5065)
+(2145,-5065)
+(2146,-5066)
+(2151,-5072)
+(2150,-5073)
+(2150,-5076)
+(2147,-5077)
+(2148,-5080)
+(2145,-5080)
+(2144,-5083)
+(2142,-5083)
+(2141,-5086)
+(2136,-5087)
+(2133,-5088)
+(2133,-5093)
+(2130,-5091)
+(2129,-5094)
+(2126,-5095)
+(2126,-5097)
+(2128,-5098)
+(2126,-5099)
+(2125,-5099)
+(2124,-5101)
+(2119,-5104)
+(2117,-5106)
+(2114,-5105)
+(2112,-5107)
+(2109,-5108)
+(2107,-5112)
+(2106,-5116)
+(2104,-5117)
+(2102,-5120)
+(2102,-5121)
+(2105,-5121)
+(2107,-5123)
+(2106,-5124)
+(2104,-5123)
+(2103,-5125)
+(2102,-5126)
+(2102,-5128)
+(2105,-5129)
+(2105,-5130)
+(2104,-5132)
+(2101,-5134)
+(2101,-5137)
+(2102,-5139)
+(2102,-5141)
+(2095,-5142)
+(2092,-5146)
+(2075,-5162)
+(2073,-5167)
+(2066,-5174)
+(2064,-5174)
+(2063,-5175)
+(2063,-5179)
+(2066,-5180)
+(2066,-5185)
+(2069,-5187)
+(2071,-5192)
+(2074,-5193)
+(2075,-5194)
+(2075,-5196)
+(2073,-5198)
+(2075,-5202)
+(2073,-5206)
+(2074,-5214)
+33
+(2086,-5262)
+(2084,-5268)
+(2086,-5273)
+(2094,-5279)
+(2095,-5280)
+(2095,-5287)
+(2098,-5290)
+(2104,-5293)
+(2105,-5294)
+(2104,-5297)
+(2108,-5299)
+(2113,-5299)
+(2114,-5296)
+(2115,-5295)
+(2117,-5297)
+(2117,-5295)
+(2119,-5291)
+(2121,-5292)
+(2123,-5291)
+(2123,-5285)
+(2125,-5283)
+(2123,-5280)
+(2125,-5278)
+(2127,-5282)
+(2131,-5278)
+(2133,-5279)
+(2137,-5282)
+(2141,-5281)
+(2143,-5282)
+(2147,-5279)
+(2155,-5276)
+(2157,-5277)
+(2156,-5279)
+5
+(2221,-5297)
+(2224,-5302)
+(2222,-5311)
+(2223,-5313)
+(2225,-5315)
+275
+(2510,-4672)
+(2510,-4678)
+(2507,-4681)
+(2506,-4684)
+(2507,-4689)
+(2507,-4694)
+(2510,-4698)
+(2515,-4703)
+(2519,-4703)
+(2521,-4700)
+(2523,-4700)
+(2525,-4705)
+(2525,-4710)
+(2526,-4712)
+(2525,-4719)
+(2529,-4720)
+(2530,-4724)
+(2529,-4726)
+(2527,-4728)
+(2526,-4732)
+(2523,-4733)
+(2522,-4737)
+(2515,-4736)
+(2511,-4739)
+(2510,-4747)
+(2511,-4755)
+(2509,-4756)
+(2506,-4758)
+(2502,-4761)
+(2500,-4765)
+(2495,-4765)
+(2489,-4768)
+(2488,-4774)
+(2487,-4775)
+(2488,-4779)
+(2486,-4779)
+(2485,-4780)
+(2484,-4789)
+(2483,-4789)
+(2480,-4787)
+(2478,-4791)
+(2476,-4791)
+(2476,-4788)
+(2473,-4786)
+(2472,-4783)
+(2469,-4780)
+(2463,-4780)
+(2461,-4776)
+(2459,-4777)
+(2458,-4774)
+(2455,-4771)
+(2456,-4769)
+(2455,-4768)
+(2452,-4769)
+(2450,-4771)
+(2447,-4772)
+(2444,-4775)
+(2442,-4776)
+(2440,-4781)
+(2437,-4783)
+(2435,-4786)
+(2432,-4786)
+(2432,-4790)
+(2429,-4793)
+(2429,-4798)
+(2426,-4800)
+(2426,-4801)
+(2430,-4805)
+(2433,-4813)
+(2440,-4815)
+(2442,-4818)
+(2438,-4828)
+(2439,-4831)
+(2437,-4834)
+(2437,-4837)
+(2436,-4840)
+(2434,-4840)
+(2428,-4836)
+(2424,-4838)
+(2422,-4836)
+(2419,-4836)
+(2417,-4837)
+(2415,-4839)
+(2407,-4843)
+(2405,-4844)
+(2400,-4844)
+(2397,-4846)
+(2395,-4845)
+(2395,-4848)
+(2392,-4848)
+(2387,-4850)
+(2386,-4852)
+(2383,-4850)
+(2377,-4853)
+(2376,-4856)
+(2373,-4861)
+(2367,-4867)
+(2364,-4874)
+(2363,-4877)
+(2361,-4882)
+(2362,-4884)
+(2364,-4886)
+(2364,-4888)
+(2363,-4889)
+(2360,-4893)
+(2357,-4894)
+(2356,-4901)
+(2354,-4902)
+(2353,-4904)
+(2350,-4905)
+(2346,-4905)
+(2344,-4909)
+(2341,-4906)
+(2338,-4907)
+(2336,-4906)
+(2337,-4909)
+(2336,-4910)
+(2334,-4912)
+(2332,-4914)
+(2333,-4916)
+(2336,-4914)
+(2339,-4916)
+(2341,-4921)
+(2340,-4923)
+(2336,-4927)
+(2330,-4929)
+(2326,-4933)
+(2323,-4931)
+(2317,-4931)
+(2315,-4932)
+(2315,-4936)
+(2307,-4939)
+(2304,-4953)
+(2305,-4955)
+(2307,-4956)
+(2308,-4957)
+(2310,-4960)
+(2313,-4962)
+(2315,-4970)
+(2325,-4973)
+(2323,-4982)
+(2321,-4983)
+(2320,-4987)
+(2317,-4989)
+(2317,-4996)
+(2316,-4998)
+(2319,-5002)
+(2320,-5008)
+(2322,-5010)
+(2321,-5017)
+(2318,-5019)
+(2318,-5022)
+(2320,-5026)
+(2326,-5032)
+(2327,-5037)
+(2327,-5045)
+(2329,-5052)
+(2330,-5054)
+(2334,-5054)
+(2337,-5057)
+(2340,-5058)
+(2343,-5064)
+(2346,-5067)
+(2344,-5076)
+(2346,-5081)
+(2348,-5084)
+(2343,-5093)
+(2338,-5089)
+(2335,-5092)
+(2334,-5092)
+(2334,-5088)
+(2333,-5087)
+(2330,-5089)
+(2327,-5088)
+(2328,-5091)
+(2327,-5099)
+(2321,-5111)
+(2325,-5116)
+(2324,-5126)
+(2322,-5127)
+(2319,-5126)
+(2312,-5125)
+(2311,-5128)
+(2308,-5131)
+(2307,-5136)
+(2300,-5139)
+(2298,-5141)
+(2296,-5145)
+(2297,-5148)
+(2297,-5150)
+(2291,-5154)
+(2282,-5155)
+(2280,-5157)
+(2280,-5161)
+(2278,-5163)
+(2281,-5167)
+(2281,-5171)
+(2284,-5176)
+(2285,-5177)
+(2288,-5177)
+(2292,-5182)
+(2291,-5183)
+(2289,-5180)
+(2288,-5180)
+(2286,-5184)
+(2288,-5188)
+(2284,-5186)
+(2282,-5191)
+(2276,-5191)
+(2275,-5195)
+(2272,-5196)
+(2271,-5198)
+(2271,-5200)
+(2274,-5199)
+(2274,-5203)
+(2274,-5205)
+(2278,-5208)
+(2279,-5210)
+(2276,-5215)
+(2275,-5221)
+(2273,-5223)
+(2269,-5224)
+(2267,-5227)
+(2268,-5229)
+(2270,-5230)
+(2271,-5232)
+(2276,-5244)
+(2276,-5248)
+(2275,-5251)
+(2275,-5254)
+(2276,-5255)
+(2278,-5255)
+(2278,-5257)
+(2277,-5257)
+(2273,-5255)
+(2272,-5256)
+(2269,-5259)
+(2270,-5261)
+(2273,-5260)
+(2274,-5261)
+(2272,-5267)
+(2273,-5270)
+(2275,-5273)
+(2276,-5275)
+(2274,-5276)
+(2269,-5274)
+(2267,-5277)
+(2269,-5283)
+(2265,-5284)
+(2262,-5287)
+(2260,-5289)
+(2256,-5289)
+(2252,-5285)
+(2249,-5285)
+(2248,-5287)
+(2247,-5296)
+(2246,-5300)
+(2244,-5302)
+(2244,-5308)
+(2243,-5309)
+(2240,-5311)
+(2237,-5311)
+(2229,-5305)
+(2224,-5309)
+(2224,-5311)
+(2224,-5314)
+(2227,-5319)
+(2233,-5334)
+(2233,-5338)
+(2233,-5341)
+(2231,-5344)
+(2227,-5347)
+(2224,-5350)
+(2221,-5350)
+(2219,-5348)
+228
+(2362,-6383)
+(2361,-6380)
+(2353,-6381)
+(2345,-6375)
+(2342,-6375)
+(2340,-6372)
+(2334,-6368)
+(2331,-6365)
+(2326,-6365)
+(2324,-6361)
+(2315,-6363)
+(2308,-6351)
+(2302,-6344)
+(2304,-6335)
+(2307,-6331)
+(2310,-6321)
+(2306,-6315)
+(2306,-6310)
+(2305,-6307)
+(2304,-6300)
+(2302,-6296)
+(2298,-6291)
+(2296,-6285)
+(2296,-6266)
+(2295,-6255)
+(2291,-6248)
+(2288,-6236)
+(2287,-6227)
+(2285,-6222)
+(2281,-6215)
+(2280,-6212)
+(2280,-6207)
+(2285,-6196)
+(2284,-6193)
+(2285,-6191)
+(2284,-6188)
+(2284,-6174)
+(2285,-6172)
+(2286,-6154)
+(2286,-6149)
+(2286,-6141)
+(2285,-6134)
+(2282,-6130)
+(2282,-6118)
+(2277,-6098)
+(2276,-6092)
+(2274,-6086)
+(2273,-6081)
+(2276,-6073)
+(2278,-6071)
+(2280,-6062)
+(2278,-6054)
+(2277,-6048)
+(2272,-6037)
+(2271,-6030)
+(2269,-6023)
+(2268,-6011)
+(2264,-5995)
+(2260,-5986)
+(2260,-5981)
+(2260,-5976)
+(2261,-5974)
+(2275,-5963)
+(2290,-5946)
+(2292,-5941)
+(2300,-5930)
+(2301,-5922)
+(2301,-5917)
+(2299,-5911)
+(2294,-5901)
+(2292,-5895)
+(2290,-5892)
+(2290,-5888)
+(2281,-5874)
+(2267,-5844)
+(2264,-5843)
+(2261,-5840)
+(2259,-5839)
+(2257,-5838)
+(2248,-5835)
+(2243,-5831)
+(2236,-5829)
+(2230,-5826)
+(2228,-5828)
+(2227,-5827)
+(2223,-5821)
+(2222,-5816)
+(2215,-5817)
+(2211,-5815)
+(2209,-5815)
+(2207,-5812)
+(2207,-5808)
+(2206,-5808)
+(2205,-5812)
+(2201,-5816)
+(2202,-5822)
+(2201,-5823)
+(2196,-5822)
+(2195,-5813)
+(2193,-5815)
+(2191,-5820)
+(2190,-5820)
+(2188,-5818)
+(2187,-5816)
+(2188,-5813)
+(2194,-5806)
+(2193,-5804)
+(2188,-5802)
+(2186,-5802)
+(2185,-5796)
+(2183,-5795)
+(2184,-5792)
+(2183,-5791)
+(2180,-5793)
+(2178,-5792)
+(2180,-5788)
+(2178,-5785)
+(2175,-5782)
+(2173,-5775)
+(2169,-5775)
+(2168,-5760)
+(2159,-5756)
+(2156,-5751)
+(2157,-5748)
+(2156,-5746)
+(2155,-5744)
+(2155,-5739)
+(2153,-5738)
+(2151,-5739)
+(2148,-5738)
+(2147,-5737)
+(2149,-5722)
+(2148,-5718)
+(2145,-5717)
+(2145,-5715)
+(2144,-5714)
+(2140,-5716)
+(2136,-5715)
+(2136,-5710)
+(2133,-5709)
+(2128,-5704)
+(2125,-5697)
+(2121,-5691)
+(2121,-5683)
+(2119,-5680)
+(2117,-5680)
+(2117,-5678)
+(2120,-5676)
+(2118,-5670)
+(2122,-5670)
+(2123,-5666)
+(2127,-5664)
+(2125,-5662)
+(2122,-5659)
+(2121,-5657)
+(2122,-5648)
+(2124,-5648)
+(2126,-5649)
+(2127,-5648)
+(2127,-5645)
+(2128,-5639)
+(2127,-5635)
+(2129,-5631)
+(2128,-5629)
+(2125,-5628)
+(2123,-5626)
+(2123,-5618)
+(2125,-5609)
+(2125,-5606)
+(2123,-5605)
+(2121,-5604)
+(2120,-5599)
+(2117,-5592)
+(2110,-5586)
+(2110,-5582)
+(2110,-5572)
+(2107,-5569)
+(2108,-5565)
+(2105,-5563)
+(2105,-5557)
+(2106,-5554)
+(2104,-5553)
+(2099,-5556)
+(2098,-5554)
+(2097,-5549)
+(2096,-5548)
+(2092,-5547)
+(2088,-5542)
+(2087,-5539)
+(2086,-5538)
+(2084,-5531)
+(2083,-5529)
+(2079,-5531)
+(2075,-5530)
+(2073,-5528)
+(2071,-5529)
+(2068,-5527)
+(2066,-5527)
+(2064,-5525)
+(2060,-5524)
+(2059,-5523)
+(2059,-5521)
+(2057,-5519)
+(2055,-5519)
+(2055,-5517)
+(2058,-5516)
+(2057,-5515)
+(2055,-5514)
+(2053,-5509)
+(2051,-5506)
+(2051,-5502)
+(2048,-5498)
+(2046,-5496)
+(2045,-5487)
+(2039,-5483)
+(2040,-5480)
+(2040,-5479)
+(2038,-5481)
+(2038,-5481)
+(2037,-5476)
+(2038,-5474)
+(2037,-5470)
+(2035,-5469)
+(2030,-5468)
+(2030,-5467)
+(2028,-5466)
+(2028,-5464)
+(2027,-5464)
+107
+(2686,-6633)
+(2683,-6637)
+(2684,-6640)
+(2684,-6642)
+(2679,-6644)
+(2679,-6652)
+(2680,-6656)
+(2680,-6662)
+(2684,-6665)
+(2692,-6679)
+(2691,-6689)
+(2692,-6692)
+(2697,-6696)
+(2702,-6699)
+(2706,-6698)
+(2714,-6703)
+(2718,-6703)
+(2723,-6699)
+(2725,-6699)
+(2729,-6696)
+(2748,-6686)
+(2752,-6686)
+(2756,-6688)
+(2760,-6686)
+(2761,-6683)
+(2767,-6682)
+(2768,-6685)
+(2769,-6682)
+(2773,-6687)
+(2775,-6687)
+(2779,-6690)
+(2781,-6690)
+(2800,-6702)
+(2800,-6707)
+(2804,-6707)
+(2805,-6711)
+(2809,-6715)
+(2813,-6713)
+(2814,-6715)
+(2818,-6716)
+(2822,-6720)
+(2827,-6715)
+(2829,-6709)
+(2842,-6692)
+(2843,-6689)
+(2845,-6690)
+(2846,-6688)
+(2845,-6685)
+(2846,-6683)
+(2845,-6681)
+(2846,-6680)
+(2844,-6679)
+(2844,-6678)
+(2846,-6676)
+(2849,-6678)
+(2851,-6678)
+(2852,-6673)
+(2852,-6670)
+(2856,-6662)
+(2859,-6660)
+(2866,-6653)
+(2866,-6647)
+(2867,-6642)
+(2871,-6633)
+(2872,-6633)
+(2873,-6628)
+(2874,-6626)
+(2875,-6627)
+(2876,-6627)
+(2877,-6621)
+(2881,-6617)
+(2881,-6613)
+(2882,-6612)
+(2883,-6610)
+(2881,-6606)
+(2875,-6602)
+(2870,-6602)
+(2867,-6596)
+(2866,-6592)
+(2864,-6590)
+(2863,-6582)
+(2864,-6580)
+(2865,-6577)
+(2864,-6574)
+(2865,-6573)
+(2865,-6569)
+(2864,-6564)
+(2866,-6557)
+(2868,-6554)
+(2867,-6548)
+(2869,-6538)
+(2868,-6535)
+(2864,-6535)
+(2864,-6531)
+(2863,-6529)
+(2862,-6525)
+(2859,-6525)
+(2859,-6521)
+(2858,-6519)
+(2858,-6509)
+(2857,-6507)
+(2858,-6505)
+(2856,-6504)
+(2856,-6501)
+(2854,-6498)
+(2856,-6497)
+(2856,-6491)
+46
+(2881,-6385)
+(2883,-6383)
+(2884,-6381)
+(2882,-6370)
+(2882,-6366)
+(2881,-6365)
+(2882,-6362)
+(2881,-6359)
+(2882,-6359)
+(2881,-6353)
+(2883,-6352)
+(2881,-6349)
+(2882,-6343)
+(2884,-6340)
+(2883,-6337)
+(2885,-6336)
+(2885,-6330)
+(2886,-6328)
+(2885,-6316)
+(2886,-6313)
+(2884,-6311)
+(2886,-6308)
+(2884,-6304)
+(2884,-6300)
+(2887,-6294)
+(2889,-6292)
+(2888,-6288)
+(2887,-6282)
+(2887,-6277)
+(2888,-6274)
+(2887,-6273)
+(2888,-6266)
+(2884,-6258)
+(2882,-6253)
+(2885,-6250)
+(2883,-6249)
+(2883,-6246)
+(2881,-6243)
+(2881,-6239)
+(2879,-6237)
+(2880,-6234)
+(2878,-6232)
+(2879,-6230)
+(2881,-6229)
+(2880,-6227)
+(2881,-6226)
+19
+(2850,-6084)
+(2849,-6085)
+(2847,-6086)
+(2837,-6080)
+(2835,-6073)
+(2835,-6072)
+(2837,-6071)
+(2838,-6067)
+(2837,-6062)
+(2835,-6059)
+(2834,-6058)
+(2831,-6060)
+(2823,-6053)
+(2818,-6056)
+(2814,-6055)
+(2809,-6049)
+(2806,-6050)
+(2804,-6047)
+(2803,-6047)
+22
+(2667,-6023)
+(2662,-6022)
+(2660,-6019)
+(2660,-6008)
+(2656,-5999)
+(2656,-5995)
+(2654,-5994)
+(2652,-5996)
+(2651,-5996)
+(2647,-5991)
+(2647,-5984)
+(2646,-5978)
+(2647,-5976)
+(2649,-5977)
+(2652,-5983)
+(2653,-5981)
+(2652,-5976)
+(2650,-5973)
+(2647,-5974)
+(2644,-5973)
+(2643,-5968)
+(2639,-5962)
+193
+(2583,-5913)
+(2576,-5904)
+(2567,-5880)
+(2567,-5876)
+(2571,-5873)
+(2572,-5871)
+(2571,-5866)
+(2572,-5863)
+(2571,-5860)
+(2572,-5856)
+(2571,-5851)
+(2573,-5839)
+(2572,-5835)
+(2569,-5832)
+(2567,-5828)
+(2566,-5819)
+(2564,-5817)
+(2564,-5812)
+(2563,-5809)
+(2561,-5808)
+(2560,-5802)
+(2560,-5801)
+(2558,-5802)
+(2555,-5798)
+(2552,-5797)
+(2551,-5792)
+(2549,-5783)
+(2548,-5783)
+(2542,-5785)
+(2537,-5780)
+(2533,-5781)
+(2531,-5781)
+(2527,-5776)
+(2523,-5775)
+(2519,-5769)
+(2514,-5769)
+(2508,-5764)
+(2505,-5765)
+(2503,-5764)
+(2501,-5766)
+(2497,-5766)
+(2495,-5764)
+(2492,-5765)
+(2492,-5763)
+(2493,-5761)
+(2492,-5759)
+(2489,-5760)
+(2487,-5755)
+(2480,-5757)
+(2478,-5752)
+(2477,-5753)
+(2476,-5755)
+(2472,-5756)
+(2471,-5755)
+(2471,-5752)
+(2470,-5751)
+(2470,-5752)
+(2466,-5752)
+(2464,-5753)
+(2463,-5752)
+(2460,-5752)
+(2459,-5750)
+(2456,-5750)
+(2453,-5749)
+(2450,-5750)
+(2447,-5750)
+(2443,-5752)
+(2441,-5750)
+(2439,-5746)
+(2432,-5746)
+(2431,-5741)
+(2429,-5742)
+(2427,-5740)
+(2425,-5740)
+(2421,-5738)
+(2419,-5739)
+(2418,-5735)
+(2415,-5732)
+(2414,-5728)
+(2412,-5729)
+(2407,-5724)
+(2402,-5725)
+(2402,-5721)
+(2396,-5713)
+(2394,-5712)
+(2394,-5709)
+(2392,-5706)
+(2392,-5702)
+(2394,-5700)
+(2394,-5697)
+(2391,-5697)
+(2389,-5693)
+(2384,-5692)
+(2384,-5698)
+(2381,-5699)
+(2378,-5703)
+(2375,-5704)
+(2374,-5706)
+(2373,-5707)
+(2368,-5702)
+(2367,-5700)
+(2364,-5697)
+(2363,-5694)
+(2361,-5695)
+(2358,-5694)
+(2356,-5690)
+(2352,-5689)
+(2350,-5683)
+(2349,-5677)
+(2348,-5678)
+(2347,-5676)
+(2349,-5672)
+(2347,-5668)
+(2349,-5665)
+(2350,-5662)
+(2353,-5659)
+(2354,-5658)
+(2353,-5655)
+(2351,-5651)
+(2348,-5645)
+(2349,-5641)
+(2349,-5638)
+(2352,-5631)
+(2352,-5627)
+(2352,-5623)
+(2354,-5621)
+(2354,-5616)
+(2353,-5611)
+(2357,-5609)
+(2356,-5605)
+(2354,-5605)
+(2353,-5603)
+(2355,-5600)
+(2358,-5601)
+(2358,-5598)
+(2360,-5596)
+(2360,-5594)
+(2362,-5592)
+(2364,-5593)
+(2364,-5592)
+(2363,-5590)
+(2363,-5586)
+(2359,-5584)
+(2359,-5579)
+(2357,-5578)
+(2355,-5576)
+(2354,-5576)
+(2353,-5571)
+(2352,-5572)
+(2347,-5577)
+(2346,-5577)
+(2345,-5574)
+(2343,-5576)
+(2341,-5575)
+(2338,-5570)
+(2338,-5555)
+(2337,-5553)
+(2334,-5550)
+(2330,-5547)
+(2328,-5544)
+(2325,-5545)
+(2323,-5542)
+(2320,-5541)
+(2318,-5534)
+(2315,-5531)
+(2313,-5525)
+(2313,-5523)
+(2316,-5517)
+(2320,-5512)
+(2322,-5505)
+(2322,-5498)
+(2320,-5495)
+(2322,-5488)
+(2322,-5481)
+(2320,-5476)
+(2317,-5474)
+(2316,-5468)
+(2316,-5464)
+(2313,-5461)
+(2312,-5459)
+(2313,-5453)
+(2316,-5447)
+(2320,-5443)
+(2322,-5438)
+(2321,-5434)
+(2324,-5433)
+(2326,-5430)
+(2329,-5428)
+(2330,-5423)
+(2333,-5421)
+(2333,-5418)
+(2329,-5413)
+(2329,-5408)
+235
+(3122,-7035)
+(3121,-7028)
+(3123,-7022)
+(3123,-7016)
+(3122,-7014)
+(3119,-7011)
+(3117,-7005)
+(3120,-6999)
+(3119,-6989)
+(3122,-6985)
+(3123,-6985)
+(3128,-6987)
+(3132,-6987)
+(3134,-6984)
+(3138,-6982)
+(3139,-6978)
+(3141,-6976)
+(3143,-6972)
+(3143,-6954)
+(3147,-6947)
+(3146,-6939)
+(3146,-6933)
+(3145,-6929)
+(3143,-6929)
+(3142,-6926)
+(3143,-6917)
+(3144,-6915)
+(3140,-6905)
+(3141,-6900)
+(3143,-6897)
+(3146,-6899)
+(3150,-6899)
+(3156,-6903)
+(3164,-6905)
+(3165,-6910)
+(3168,-6911)
+(3168,-6909)
+(3171,-6909)
+(3174,-6914)
+(3178,-6912)
+(3182,-6913)
+(3184,-6903)
+(3185,-6900)
+(3186,-6898)
+(3188,-6898)
+(3192,-6896)
+(3194,-6895)
+(3195,-6892)
+(3196,-6893)
+(3199,-6888)
+(3198,-6878)
+(3199,-6870)
+(3200,-6868)
+(3201,-6864)
+(3205,-6862)
+(3204,-6858)
+(3203,-6858)
+(3202,-6855)
+(3200,-6848)
+(3201,-6844)
+(3199,-6842)
+(3201,-6830)
+(3201,-6822)
+(3202,-6820)
+(3205,-6820)
+(3210,-6816)
+(3212,-6813)
+(3212,-6809)
+(3213,-6806)
+(3213,-6803)
+(3215,-6802)
+(3216,-6799)
+(3218,-6799)
+(3218,-6797)
+(3220,-6797)
+(3226,-6788)
+(3231,-6784)
+(3234,-6777)
+(3236,-6773)
+(3242,-6771)
+(3243,-6768)
+(3242,-6761)
+(3240,-6756)
+(3239,-6749)
+(3240,-6744)
+(3241,-6742)
+(3243,-6737)
+(3243,-6734)
+(3241,-6730)
+(3239,-6731)
+(3236,-6722)
+(3234,-6718)
+(3235,-6709)
+(3234,-6705)
+(3233,-6704)
+(3229,-6705)
+(3227,-6703)
+(3227,-6686)
+(3224,-6683)
+(3225,-6676)
+(3224,-6669)
+(3227,-6664)
+(3231,-6655)
+(3231,-6652)
+(3231,-6646)
+(3230,-6643)
+(3231,-6638)
+(3227,-6632)
+(3225,-6631)
+(3224,-6626)
+(3219,-6620)
+(3221,-6613)
+(3221,-6611)
+(3219,-6609)
+(3216,-6600)
+(3213,-6590)
+(3213,-6587)
+(3215,-6585)
+(3215,-6579)
+(3211,-6576)
+(3208,-6572)
+(3205,-6573)
+(3204,-6571)
+(3202,-6567)
+(3203,-6561)
+(3203,-6556)
+(3199,-6553)
+(3197,-6545)
+(3192,-6543)
+(3188,-6537)
+(3181,-6530)
+(3175,-6510)
+(3170,-6500)
+(3168,-6500)
+(3166,-6502)
+(3164,-6501)
+(3163,-6496)
+(3159,-6488)
+(3154,-6482)
+(3153,-6470)
+(3140,-6443)
+(3140,-6432)
+(3141,-6430)
+(3143,-6427)
+(3142,-6422)
+(3143,-6419)
+(3148,-6415)
+(3156,-6412)
+(3159,-6410)
+(3173,-6389)
+(3181,-6382)
+(3185,-6375)
+(3188,-6373)
+(3191,-6368)
+(3192,-6364)
+(3191,-6360)
+(3188,-6359)
+(3189,-6354)
+(3192,-6349)
+(3192,-6338)
+(3194,-6336)
+(3193,-6324)
+(3194,-6320)
+(3195,-6313)
+(3194,-6305)
+(3194,-6301)
+(3193,-6299)
+(3193,-6297)
+(3192,-6296)
+(3191,-6296)
+(3188,-6291)
+(3190,-6287)
+(3193,-6284)
+(3193,-6279)
+(3194,-6272)
+(3194,-6268)
+(3195,-6266)
+(3197,-6259)
+(3197,-6256)
+(3198,-6253)
+(3198,-6244)
+(3199,-6241)
+(3202,-6241)
+(3204,-6238)
+(3207,-6237)
+(3208,-6235)
+(3219,-6205)
+(3221,-6204)
+(3221,-6199)
+(3223,-6197)
+(3224,-6189)
+(3227,-6182)
+(3233,-6185)
+(3236,-6182)
+(3239,-6182)
+(3243,-6175)
+(3243,-6170)
+(3244,-6167)
+(3243,-6162)
+(3243,-6158)
+(3238,-6152)
+(3237,-6142)
+(3236,-6139)
+(3236,-6135)
+(3234,-6130)
+(3232,-6122)
+(3233,-6117)
+(3233,-6110)
+(3234,-6103)
+(3236,-6100)
+(3237,-6093)
+(3242,-6090)
+(3239,-6086)
+(3234,-6086)
+(3231,-6080)
+(3230,-6078)
+(3231,-6072)
+(3233,-6065)
+(3233,-6062)
+(3230,-6064)
+(3227,-6064)
+(3225,-6059)
+(3222,-6058)
+(3219,-6055)
+(3219,-6052)
+(3220,-6049)
+(3219,-6042)
+(3219,-6040)
+(3220,-6037)
+(3221,-6031)
+(3220,-6028)
+(3220,-6023)
+(3219,-6020)
+(3217,-6018)
+(3215,-6019)
+3
+(3189,-5960)
+(3189,-5956)
+(3191,-5955)
+45
+(3245,-5864)
+(3247,-5861)
+(3256,-5853)
+(3258,-5853)
+(3259,-5856)
+(3261,-5856)
+(3264,-5858)
+(3268,-5855)
+(3271,-5855)
+(3274,-5867)
+(3282,-5874)
+(3284,-5874)
+(3285,-5877)
+(3288,-5876)
+(3288,-5880)
+(3289,-5882)
+(3291,-5880)
+(3294,-5881)
+(3314,-5835)
+(3314,-5824)
+(3316,-5817)
+(3327,-5806)
+(3333,-5806)
+(3337,-5804)
+(3349,-5796)
+(3356,-5793)
+(3364,-5793)
+(3378,-5748)
+(3380,-5740)
+(3379,-5735)
+(3380,-5727)
+(3383,-5685)
+(3383,-5670)
+(3384,-5662)
+(3385,-5654)
+(3386,-5650)
+(3391,-5645)
+(3394,-5635)
+(3401,-5627)
+(3408,-5611)
+(3412,-5608)
+(3414,-5605)
+(3414,-5595)
+(3415,-5590)
+(3415,-5573)
+326
+(2269,-6447)
+(2268,-6446)
+(2267,-6442)
+(2263,-6434)
+(2266,-6427)
+(2264,-6424)
+(2264,-6420)
+(2266,-6418)
+(2268,-6417)
+(2269,-6414)
+(2268,-6409)
+(2266,-6407)
+(2260,-6397)
+(2260,-6384)
+(2260,-6379)
+(2260,-6376)
+(2256,-6368)
+(2252,-6354)
+(2251,-6351)
+(2246,-6346)
+(2237,-6342)
+(2234,-6344)
+(2231,-6343)
+(2226,-6344)
+(2223,-6345)
+(2220,-6342)
+(2215,-6343)
+(2212,-6341)
+(2205,-6340)
+(2202,-6341)
+(2200,-6340)
+(2195,-6340)
+(2189,-6343)
+(2181,-6343)
+(2175,-6350)
+(2173,-6357)
+(2170,-6358)
+(2167,-6363)
+(2159,-6364)
+(2151,-6369)
+(2146,-6375)
+(2144,-6376)
+(2141,-6378)
+(2138,-6378)
+(2136,-6380)
+(2131,-6383)
+(2118,-6395)
+(2114,-6395)
+(2112,-6398)
+(2108,-6401)
+(2103,-6399)
+(2098,-6400)
+(2095,-6400)
+(2092,-6402)
+(2089,-6401)
+(2085,-6404)
+(2076,-6404)
+(2071,-6407)
+(2065,-6407)
+(2061,-6410)
+(2057,-6409)
+(2054,-6413)
+(2049,-6411)
+(2047,-6412)
+(2042,-6411)
+(2039,-6411)
+(2038,-6410)
+(2030,-6410)
+(2023,-6415)
+(2021,-6419)
+(2017,-6420)
+(2012,-6426)
+(2003,-6429)
+(1989,-6430)
+(1989,-6432)
+(1986,-6436)
+(1974,-6436)
+(1968,-6438)
+(1964,-6436)
+(1961,-6433)
+(1959,-6427)
+(1958,-6423)
+(1956,-6420)
+(1954,-6420)
+(1950,-6415)
+(1948,-6415)
+(1945,-6411)
+(1938,-6410)
+(1930,-6404)
+(1925,-6401)
+(1910,-6396)
+(1909,-6394)
+(1905,-6389)
+(1905,-6383)
+(1901,-6380)
+(1889,-6373)
+(1886,-6369)
+(1884,-6360)
+(1882,-6357)
+(1880,-6356)
+(1875,-6350)
+(1871,-6346)
+(1865,-6336)
+(1861,-6334)
+(1858,-6330)
+(1857,-6329)
+(1854,-6324)
+(1852,-6323)
+(1849,-6317)
+(1848,-6316)
+(1848,-6312)
+(1842,-6304)
+(1841,-6300)
+(1837,-6299)
+(1837,-6296)
+(1834,-6294)
+(1830,-6292)
+(1824,-6291)
+(1823,-6289)
+(1821,-6289)
+(1819,-6286)
+(1817,-6286)
+(1814,-6282)
+(1811,-6281)
+(1807,-6281)
+(1803,-6282)
+(1798,-6280)
+(1797,-6281)
+(1789,-6277)
+(1788,-6274)
+(1782,-6272)
+(1780,-6273)
+(1777,-6268)
+(1774,-6265)
+(1772,-6260)
+(1772,-6257)
+(1769,-6252)
+(1768,-6252)
+(1765,-6250)
+(1760,-6243)
+(1757,-6233)
+(1756,-6227)
+(1755,-6226)
+(1754,-6227)
+(1752,-6224)
+(1749,-6218)
+(1749,-6213)
+(1744,-6209)
+(1744,-6207)
+(1741,-6202)
+(1742,-6201)
+(1741,-6200)
+(1741,-6199)
+(1740,-6199)
+(1740,-6198)
+(1739,-6189)
+(1740,-6186)
+(1744,-6186)
+(1743,-6185)
+(1745,-6185)
+(1746,-6182)
+(1751,-6179)
+(1752,-6176)
+(1753,-6174)
+(1753,-6172)
+(1755,-6174)
+(1759,-6173)
+(1761,-6173)
+(1761,-6171)
+(1764,-6169)
+(1767,-6169)
+(1771,-6168)
+(1773,-6166)
+(1776,-6166)
+(1776,-6164)
+(1778,-6164)
+(1780,-6161)
+(1785,-6160)
+(1785,-6155)
+(1786,-6154)
+(1785,-6152)
+(1787,-6150)
+(1786,-6143)
+(1788,-6142)
+(1791,-6141)
+(1793,-6138)
+(1792,-6135)
+(1792,-6135)
+(1791,-6134)
+(1791,-6131)
+(1789,-6129)
+(1788,-6125)
+(1788,-6119)
+(1789,-6118)
+(1788,-6115)
+(1788,-6113)
+(1788,-6110)
+(1789,-6109)
+(1787,-6108)
+(1788,-6106)
+(1786,-6098)
+(1786,-6094)
+(1789,-6092)
+(1788,-6092)
+(1786,-6092)
+(1787,-6088)
+(1786,-6086)
+(1786,-6084)
+(1785,-6085)
+(1780,-6081)
+(1779,-6078)
+(1778,-6078)
+(1767,-6062)
+(1763,-6060)
+(1761,-6056)
+(1757,-6052)
+(1757,-6050)
+(1754,-6046)
+(1750,-6046)
+(1747,-6040)
+(1740,-6038)
+(1735,-6037)
+(1732,-6034)
+(1730,-6034)
+(1730,-6032)
+(1721,-6029)
+(1718,-6026)
+(1717,-6026)
+(1716,-6024)
+(1714,-6024)
+(1712,-6023)
+(1710,-6019)
+(1709,-6021)
+(1706,-6020)
+(1704,-6020)
+(1699,-6017)
+(1697,-6017)
+(1695,-6014)
+(1694,-6012)
+(1692,-6011)
+(1689,-6004)
+(1685,-6003)
+(1684,-6001)
+(1680,-6000)
+(1679,-5996)
+(1676,-5996)
+(1674,-5993)
+(1672,-5993)
+(1671,-5992)
+(1668,-5992)
+(1667,-5990)
+(1666,-5988)
+(1664,-5987)
+(1663,-5985)
+(1660,-5982)
+(1659,-5979)
+(1658,-5978)
+(1658,-5975)
+(1654,-5970)
+(1650,-5971)
+(1649,-5968)
+(1644,-5968)
+(1638,-5971)
+(1638,-5969)
+(1636,-5969)
+(1636,-5967)
+(1635,-5966)
+(1626,-5966)
+(1623,-5967)
+(1592,-5950)
+(1590,-5945)
+(1585,-5946)
+(1584,-5945)
+(1584,-5941)
+(1583,-5940)
+(1584,-5939)
+(1584,-5938)
+(1583,-5937)
+(1584,-5936)
+(1582,-5933)
+(1582,-5928)
+(1579,-5924)
+(1578,-5925)
+(1578,-5922)
+(1576,-5922)
+(1574,-5919)
+(1575,-5915)
+(1574,-5913)
+(1575,-5912)
+(1572,-5908)
+(1574,-5907)
+(1572,-5904)
+(1572,-5902)
+(1569,-5903)
+(1569,-5901)
+(1567,-5898)
+(1565,-5892)
+(1563,-5892)
+(1564,-5890)
+(1564,-5888)
+(1564,-5887)
+(1564,-5885)
+(1563,-5885)
+(1562,-5884)
+(1564,-5881)
+(1563,-5880)
+(1563,-5868)
+(1563,-5867)
+(1562,-5866)
+(1562,-5859)
+(1560,-5857)
+(1558,-5855)
+(1557,-5854)
+(1554,-5851)
+(1553,-5847)
+(1551,-5846)
+(1551,-5845)
+(1552,-5844)
+(1550,-5842)
+(1551,-5841)
+(1555,-5841)
+(1556,-5840)
+(1556,-5837)
+(1558,-5836)
+(1557,-5833)
+(1558,-5828)
+69
+(2426,-6349)
+(2415,-6350)
+(2410,-6347)
+(2407,-6351)
+(2407,-6354)
+(2406,-6356)
+(2405,-6361)
+(2403,-6368)
+(2402,-6384)
+(2396,-6394)
+(2391,-6397)
+(2391,-6399)
+(2395,-6402)
+(2393,-6410)
+(2390,-6415)
+(2386,-6419)
+(2383,-6420)
+(2381,-6423)
+(2378,-6423)
+(2374,-6433)
+(2373,-6439)
+(2374,-6449)
+(2372,-6455)
+(2371,-6468)
+(2368,-6478)
+(2360,-6491)
+(2356,-6494)
+(2352,-6494)
+(2351,-6496)
+(2347,-6499)
+(2343,-6505)
+(2343,-6510)
+(2344,-6514)
+(2349,-6525)
+(2352,-6534)
+(2347,-6540)
+(2347,-6543)
+(2339,-6549)
+(2339,-6553)
+(2334,-6553)
+(2331,-6555)
+(2329,-6556)
+(2328,-6559)
+(2326,-6558)
+(2325,-6560)
+(2321,-6566)
+(2321,-6568)
+(2319,-6568)
+(2316,-6573)
+(2313,-6574)
+(2313,-6575)
+(2315,-6576)
+(2315,-6578)
+(2309,-6578)
+(2306,-6580)
+(2307,-6583)
+(2301,-6583)
+(2301,-6585)
+(2299,-6585)
+(2292,-6589)
+(2285,-6601)
+(2280,-6603)
+(2280,-6608)
+(2277,-6611)
+(2274,-6611)
+(2274,-6615)
+(2273,-6616)
+(2274,-6618)
+(2274,-6622)
+58
+(2216,-6688)
+(2212,-6693)
+(2211,-6693)
+(2212,-6695)
+(2211,-6697)
+(2206,-6700)
+(2199,-6705)
+(2196,-6706)
+(2191,-6710)
+(2188,-6710)
+(2186,-6712)
+(2185,-6712)
+(2184,-6710)
+(2183,-6713)
+(2181,-6711)
+(2179,-6711)
+(2176,-6709)
+(2172,-6707)
+(2167,-6709)
+(2164,-6714)
+(2164,-6719)
+(2166,-6724)
+(2166,-6733)
+(2169,-6734)
+(2170,-6738)
+(2172,-6738)
+(2175,-6741)
+(2175,-6744)
+(2173,-6745)
+(2172,-6747)
+(2174,-6747)
+(2177,-6751)
+(2177,-6750)
+(2182,-6747)
+(2184,-6753)
+(2184,-6758)
+(2181,-6760)
+(2181,-6763)
+(2179,-6763)
+(2179,-6765)
+(2177,-6769)
+(2177,-6772)
+(2174,-6776)
+(2174,-6781)
+(2173,-6783)
+(2169,-6791)
+(2166,-6793)
+(2166,-6798)
+(2162,-6801)
+(2160,-6800)
+(2158,-6799)
+(2155,-6799)
+(2153,-6798)
+(2149,-6799)
+(2146,-6802)
+(2147,-6809)
+(2151,-6816)
+(2150,-6818)
+71
+(2160,-6884)
+(2157,-6884)
+(2153,-6880)
+(2150,-6881)
+(2144,-6881)
+(2138,-6879)
+(2113,-6874)
+(2109,-6875)
+(2108,-6877)
+(2107,-6878)
+(2105,-6876)
+(2102,-6878)
+(2097,-6877)
+(2093,-6877)
+(2090,-6874)
+(2086,-6873)
+(2085,-6870)
+(2082,-6867)
+(2078,-6865)
+(2075,-6865)
+(2072,-6863)
+(2059,-6848)
+(2057,-6847)
+(2051,-6854)
+(2047,-6863)
+(2042,-6865)
+(2037,-6871)
+(2034,-6869)
+(2032,-6871)
+(2029,-6871)
+(2023,-6869)
+(2021,-6871)
+(2018,-6871)
+(2016,-6872)
+(2014,-6872)
+(2011,-6875)
+(2005,-6878)
+(2004,-6884)
+(2002,-6882)
+(1998,-6884)
+(1996,-6881)
+(1994,-6881)
+(1993,-6880)
+(1985,-6882)
+(1982,-6880)
+(1981,-6871)
+(1978,-6868)
+(1976,-6868)
+(1972,-6867)
+(1968,-6872)
+(1965,-6871)
+(1964,-6872)
+(1964,-6882)
+(1959,-6885)
+(1957,-6888)
+(1953,-6888)
+(1950,-6889)
+(1949,-6891)
+(1948,-6896)
+(1945,-6898)
+(1942,-6898)
+(1937,-6902)
+(1934,-6903)
+(1932,-6910)
+(1930,-6911)
+(1926,-6913)
+(1922,-6912)
+(1923,-6910)
+(1922,-6907)
+(1918,-6907)
+(1918,-6902)
+189
+(3017,-6952)
+(3023,-6954)
+(3028,-6960)
+(3041,-6968)
+(3047,-6975)
+(3051,-6981)
+(3059,-6988)
+(3071,-7013)
+(3075,-7015)
+(3081,-7022)
+(3087,-7026)
+(3089,-7032)
+(3091,-7044)
+(3099,-7051)
+(3113,-7073)
+(3115,-7079)
+(3118,-7084)
+(3121,-7094)
+(3125,-7102)
+(3126,-7112)
+(3122,-7116)
+(3120,-7115)
+(3113,-7115)
+(3110,-7119)
+(3107,-7121)
+(3100,-7120)
+(3099,-7118)
+(3095,-7117)
+(3093,-7113)
+(3088,-7109)
+(3083,-7107)
+(3080,-7104)
+(3078,-7098)
+(3074,-7094)
+(3071,-7093)
+(3064,-7091)
+(3061,-7093)
+(3057,-7092)
+(3053,-7089)
+(3053,-7086)
+(3051,-7087)
+(3050,-7084)
+(3049,-7083)
+(3048,-7081)
+(3044,-7079)
+(3041,-7074)
+(3006,-7072)
+(3006,-7076)
+(3004,-7076)
+(3000,-7074)
+(2998,-7076)
+(2997,-7081)
+(2993,-7085)
+(2988,-7086)
+(2959,-7073)
+(2959,-7064)
+(2958,-7059)
+(2954,-7059)
+(2947,-7064)
+(2945,-7062)
+(2944,-7058)
+(2940,-7058)
+(2937,-7060)
+(2935,-7066)
+(2930,-7075)
+(2928,-7077)
+(2928,-7080)
+(2925,-7083)
+(2921,-7082)
+(2919,-7084)
+(2889,-7091)
+(2886,-7094)
+(2884,-7094)
+(2882,-7095)
+(2881,-7098)
+(2882,-7102)
+(2881,-7103)
+(2878,-7101)
+(2873,-7100)
+(2871,-7101)
+(2870,-7103)
+(2871,-7105)
+(2872,-7108)
+(2872,-7111)
+(2875,-7112)
+(2876,-7116)
+(2876,-7122)
+(2874,-7124)
+(2876,-7131)
+(2876,-7138)
+(2881,-7138)
+(2882,-7142)
+(2887,-7144)
+(2888,-7148)
+(2886,-7156)
+(2886,-7159)
+(2882,-7161)
+(2882,-7165)
+(2884,-7168)
+(2884,-7171)
+(2882,-7174)
+(2880,-7179)
+(2881,-7182)
+(2885,-7182)
+(2886,-7185)
+(2884,-7188)
+(2884,-7191)
+(2882,-7194)
+(2880,-7192)
+(2876,-7191)
+(2874,-7194)
+(2872,-7194)
+(2871,-7196)
+(2868,-7198)
+(2867,-7203)
+(2867,-7207)
+(2865,-7211)
+(2862,-7210)
+(2856,-7213)
+(2851,-7217)
+(2848,-7217)
+(2844,-7215)
+(2841,-7204)
+(2835,-7204)
+(2833,-7199)
+(2829,-7199)
+(2825,-7201)
+(2816,-7197)
+(2813,-7197)
+(2809,-7195)
+(2804,-7197)
+(2801,-7196)
+(2798,-7191)
+(2800,-7182)
+(2800,-7177)
+(2804,-7170)
+(2803,-7166)
+(2800,-7164)
+(2796,-7161)
+(2790,-7155)
+(2777,-7155)
+(2776,-7153)
+(2773,-7143)
+(2764,-7135)
+(2762,-7137)
+(2758,-7142)
+(2756,-7148)
+(2756,-7161)
+(2755,-7170)
+(2756,-7174)
+(2752,-7180)
+(2752,-7187)
+(2750,-7197)
+(2747,-7208)
+(2744,-7213)
+(2743,-7221)
+(2743,-7229)
+(2745,-7233)
+(2745,-7236)
+(2743,-7244)
+(2739,-7254)
+(2740,-7263)
+(2737,-7269)
+(2738,-7271)
+(2741,-7272)
+(2743,-7278)
+(2743,-7286)
+(2744,-7292)
+(2742,-7302)
+(2743,-7309)
+(2742,-7311)
+(2738,-7318)
+(2734,-7335)
+(2735,-7342)
+(2735,-7345)
+(2737,-7351)
+(2737,-7359)
+(2738,-7362)
+(2741,-7365)
+(2747,-7365)
+(2749,-7367)
+(2755,-7367)
+(2759,-7368)
+(2761,-7371)
+(2764,-7372)
+(2766,-7374)
+(2769,-7382)
+(2771,-7385)
+(2772,-7390)
+189
+(2662,-6639)
+(2661,-6638)
+(2658,-6637)
+(2648,-6637)
+(2646,-6640)
+(2643,-6642)
+(2632,-6635)
+(2632,-6632)
+(2631,-6630)
+(2627,-6635)
+(2625,-6638)
+(2621,-6641)
+(2619,-6644)
+(2614,-6646)
+(2611,-6649)
+(2608,-6650)
+(2605,-6649)
+(2603,-6644)
+(2601,-6642)
+(2598,-6643)
+(2598,-6647)
+(2594,-6645)
+(2593,-6646)
+(2590,-6659)
+(2590,-6662)
+(2604,-6675)
+(2609,-6684)
+(2612,-6685)
+(2613,-6685)
+(2615,-6686)
+(2617,-6690)
+(2616,-6697)
+(2620,-6702)
+(2623,-6711)
+(2625,-6712)
+(2626,-6714)
+(2625,-6717)
+(2627,-6722)
+(2625,-6725)
+(2625,-6723)
+(2622,-6725)
+(2620,-6723)
+(2610,-6721)
+(2605,-6727)
+(2597,-6732)
+(2596,-6737)
+(2593,-6741)
+(2589,-6748)
+(2586,-6751)
+(2583,-6755)
+(2582,-6758)
+(2568,-6772)
+(2566,-6773)
+(2559,-6782)
+(2558,-6788)
+(2558,-6794)
+(2560,-6810)
+(2559,-6813)
+(2554,-6818)
+(2552,-6820)
+(2552,-6823)
+(2554,-6825)
+(2553,-6829)
+(2553,-6833)
+(2552,-6835)
+(2552,-6838)
+(2550,-6847)
+(2551,-6849)
+(2553,-6851)
+(2553,-6855)
+(2559,-6875)
+(2561,-6887)
+(2563,-6890)
+(2565,-6890)
+(2568,-6895)
+(2570,-6895)
+(2572,-6893)
+(2574,-6894)
+(2575,-6897)
+(2575,-6908)
+(2580,-6911)
+(2577,-6918)
+(2577,-6923)
+(2576,-6926)
+(2577,-6931)
+(2577,-6935)
+(2578,-6937)
+(2577,-6944)
+(2578,-6945)
+(2580,-6946)
+(2580,-6953)
+(2581,-6955)
+(2580,-6957)
+(2578,-6958)
+(2578,-6959)
+(2580,-6964)
+(2581,-6966)
+(2582,-6968)
+(2583,-6968)
+(2584,-6971)
+(2586,-6971)
+(2589,-6979)
+(2592,-6981)
+(2595,-6982)
+(2598,-6984)
+(2598,-6992)
+(2606,-7001)
+(2610,-7006)
+(2614,-7007)
+(2615,-7008)
+(2617,-7013)
+(2621,-7018)
+(2622,-7024)
+(2624,-7024)
+(2627,-7021)
+(2630,-7021)
+(2633,-7018)
+(2638,-7017)
+(2641,-7016)
+(2643,-7016)
+(2646,-7018)
+(2647,-7014)
+(2650,-7013)
+(2652,-7016)
+(2653,-7018)
+(2655,-7018)
+(2656,-7019)
+(2655,-7023)
+(2656,-7024)
+(2657,-7026)
+(2656,-7028)
+(2656,-7029)
+(2657,-7031)
+(2664,-7033)
+(2667,-7032)
+(2669,-7033)
+(2673,-7028)
+(2685,-7022)
+(2687,-7016)
+(2690,-7014)
+(2695,-7010)
+(2702,-7010)
+(2710,-7003)
+(2721,-6999)
+(2728,-6993)
+(2731,-6992)
+(2735,-6988)
+(2737,-6987)
+(2746,-6993)
+(2747,-6997)
+(2750,-7002)
+(2750,-7005)
+(2755,-7010)
+(2762,-7014)
+(2766,-7018)
+(2770,-7015)
+(2773,-7017)
+(2776,-7017)
+(2782,-7023)
+(2787,-7021)
+(2786,-7024)
+(2787,-7032)
+(2789,-7034)
+(2792,-7034)
+(2798,-7044)
+(2800,-7044)
+(2803,-7048)
+(2801,-7051)
+(2801,-7056)
+(2803,-7060)
+(2802,-7062)
+(2798,-7067)
+(2798,-7071)
+(2796,-7073)
+(2796,-7080)
+(2794,-7087)
+(2794,-7090)
+(2796,-7094)
+(2797,-7100)
+(2796,-7103)
+(2796,-7108)
+(2791,-7115)
+(2786,-7117)
+(2783,-7121)
+(2782,-7124)
+(2779,-7126)
+(2776,-7131)
+(2774,-7139)
+(2773,-7141)
+116
+(2502,-7226)
+(2497,-7225)
+(2491,-7228)
+(2488,-7232)
+(2489,-7233)
+(2490,-7234)
+(2488,-7240)
+(2486,-7244)
+(2487,-7250)
+(2484,-7256)
+(2485,-7259)
+(2482,-7261)
+(2482,-7265)
+(2481,-7267)
+(2475,-7267)
+(2471,-7268)
+(2467,-7268)
+(2464,-7266)
+(2457,-7271)
+(2457,-7273)
+(2463,-7277)
+(2463,-7281)
+(2461,-7286)
+(2459,-7286)
+(2460,-7289)
+(2459,-7293)
+(2462,-7298)
+(2460,-7305)
+(2458,-7308)
+(2459,-7310)
+(2462,-7313)
+(2462,-7315)
+(2459,-7318)
+(2456,-7319)
+(2455,-7318)
+(2453,-7316)
+(2452,-7317)
+(2451,-7319)
+(2449,-7321)
+(2449,-7324)
+(2447,-7325)
+(2443,-7345)
+(2441,-7347)
+(2436,-7346)
+(2435,-7342)
+(2430,-7341)
+(2429,-7338)
+(2428,-7333)
+(2426,-7331)
+(2421,-7330)
+(2420,-7331)
+(2419,-7328)
+(2419,-7328)
+(2415,-7332)
+(2415,-7329)
+(2411,-7332)
+(2410,-7331)
+(2408,-7327)
+(2401,-7326)
+(2398,-7324)
+(2395,-7325)
+(2393,-7323)
+(2393,-7321)
+(2391,-7323)
+(2389,-7323)
+(2388,-7320)
+(2385,-7319)
+(2385,-7317)
+(2384,-7316)
+(2382,-7316)
+(2381,-7318)
+(2380,-7318)
+(2374,-7319)
+(2372,-7318)
+(2366,-7320)
+(2362,-7319)
+(2361,-7321)
+(2354,-7319)
+(2352,-7318)
+(2352,-7315)
+(2349,-7314)
+(2348,-7315)
+(2348,-7314)
+(2345,-7312)
+(2344,-7310)
+(2340,-7307)
+(2337,-7309)
+(2336,-7309)
+(2335,-7307)
+(2333,-7308)
+(2332,-7307)
+(2332,-7304)
+(2331,-7303)
+(2329,-7302)
+(2328,-7301)
+(2326,-7300)
+(2327,-7296)
+(2326,-7295)
+(2325,-7294)
+(2321,-7297)
+(2319,-7293)
+(2317,-7292)
+(2316,-7289)
+(2312,-7290)
+(2310,-7292)
+(2308,-7289)
+(2307,-7290)
+(2306,-7291)
+(2302,-7290)
+(2300,-7293)
+(2295,-7290)
+(2295,-7292)
+(2292,-7292)
+(2291,-7294)
+(2291,-7300)
+(2289,-7300)
+35
+(3403,-7645)
+(3405,-7645)
+(3408,-7632)
+(3414,-7614)
+(3420,-7612)
+(3426,-7615)
+(3436,-7601)
+(3437,-7596)
+(3439,-7593)
+(3453,-7594)
+(3456,-7589)
+(3458,-7584)
+(3457,-7574)
+(3456,-7569)
+(3451,-7564)
+(3449,-7559)
+(3446,-7554)
+(3445,-7546)
+(3445,-7541)
+(3445,-7537)
+(3442,-7532)
+(3438,-7528)
+(3438,-7527)
+(3436,-7528)
+(3435,-7524)
+(3434,-7525)
+(3434,-7523)
+(3431,-7521)
+(3429,-7516)
+(3426,-7515)
+(3425,-7511)
+(3420,-7507)
+(3416,-7498)
+(3411,-7496)
+(3405,-7490)
+243
+(3361,-7333)
+(3359,-7334)
+(3357,-7329)
+(3358,-7321)
+(3361,-7314)
+(3366,-7308)
+(3367,-7301)
+(3372,-7290)
+(3374,-7281)
+(3374,-7276)
+(3376,-7274)
+(3373,-7265)
+(3374,-7260)
+(3373,-7257)
+(3371,-7253)
+(3372,-7248)
+(3369,-7244)
+(3368,-7238)
+(3366,-7222)
+(3366,-7216)
+(3366,-7209)
+(3368,-7200)
+(3368,-7197)
+(3368,-7191)
+(3370,-7190)
+(3370,-7185)
+(3370,-7180)
+(3374,-7168)
+(3374,-7165)
+(3374,-7163)
+(3379,-7151)
+(3376,-7144)
+(3376,-7137)
+(3373,-7138)
+(3371,-7138)
+(3366,-7133)
+(3364,-7136)
+(3363,-7136)
+(3362,-7134)
+(3362,-7131)
+(3360,-7129)
+(3357,-7125)
+(3355,-7118)
+(3354,-7106)
+(3355,-7098)
+(3355,-7095)
+(3355,-7078)
+(3357,-7072)
+(3359,-7068)
+(3361,-7067)
+(3362,-7063)
+(3372,-7040)
+(3380,-7037)
+(3382,-7032)
+(3384,-7031)
+(3389,-7027)
+(3395,-7026)
+(3396,-7030)
+(3399,-7029)
+(3402,-7035)
+(3405,-7031)
+(3405,-7033)
+(3405,-7037)
+(3410,-7037)
+(3412,-7040)
+(3414,-7036)
+(3423,-7034)
+(3425,-7031)
+(3426,-7032)
+(3426,-7037)
+(3427,-7037)
+(3429,-7028)
+(3433,-7027)
+(3435,-7025)
+(3437,-7026)
+(3438,-7030)
+(3443,-7028)
+(3447,-7023)
+(3448,-7023)
+(3451,-7028)
+(3453,-7023)
+(3453,-7018)
+(3454,-7017)
+(3456,-7019)
+(3457,-7024)
+(3458,-7027)
+(3461,-7024)
+(3465,-7028)
+(3466,-7026)
+(3465,-7022)
+(3466,-7020)
+(3467,-7023)
+(3468,-7028)
+(3469,-7027)
+(3470,-7023)
+(3471,-7022)
+(3474,-7028)
+(3477,-7030)
+(3483,-7025)
+(3484,-7019)
+(3487,-7015)
+(3487,-7004)
+(3486,-7000)
+(3487,-6995)
+(3489,-6993)
+(3492,-6997)
+(3495,-6995)
+(3495,-6997)
+(3495,-7002)
+(3496,-7003)
+(3496,-7002)
+(3497,-6994)
+(3498,-6993)
+(3499,-6990)
+(3498,-6989)
+(3496,-6989)
+(3496,-6986)
+(3496,-6985)
+(3499,-6983)
+(3501,-6975)
+(3504,-6972)
+(3505,-6960)
+(3505,-6957)
+(3507,-6957)
+(3508,-6953)
+(3508,-6949)
+(3503,-6941)
+(3504,-6938)
+(3506,-6933)
+(3501,-6916)
+(3503,-6904)
+(3502,-6892)
+(3505,-6886)
+(3507,-6878)
+(3512,-6870)
+(3513,-6864)
+(3514,-6859)
+(3519,-6849)
+(3520,-6838)
+(3522,-6829)
+(3520,-6823)
+(3522,-6819)
+(3523,-6804)
+(3526,-6803)
+(3526,-6797)
+(3528,-6792)
+(3529,-6787)
+(3530,-6786)
+(3532,-6788)
+(3533,-6788)
+(3534,-6786)
+(3533,-6782)
+(3535,-6778)
+(3540,-6773)
+(3546,-6769)
+(3548,-6762)
+(3550,-6759)
+(3550,-6752)
+(3547,-6747)
+(3547,-6737)
+(3546,-6733)
+(3544,-6729)
+(3545,-6724)
+(3546,-6720)
+(3546,-6717)
+(3545,-6715)
+(3543,-6716)
+(3540,-6722)
+(3538,-6724)
+(3537,-6724)
+(3536,-6717)
+(3537,-6712)
+(3538,-6709)
+(3537,-6706)
+(3537,-6702)
+(3537,-6700)
+(3534,-6696)
+(3534,-6694)
+(3537,-6693)
+(3540,-6685)
+(3542,-6685)
+(3545,-6684)
+(3548,-6685)
+(3552,-6682)
+(3553,-6683)
+(3554,-6690)
+(3556,-6688)
+(3559,-6682)
+(3561,-6685)
+(3566,-6688)
+(3577,-6685)
+(3580,-6686)
+(3582,-6691)
+(3592,-6694)
+(3594,-6698)
+(3596,-6698)
+(3597,-6702)
+(3598,-6702)
+(3599,-6705)
+(3601,-6711)
+(3603,-6719)
+(3601,-6727)
+(3613,-6737)
+(3618,-6744)
+(3619,-6748)
+(3620,-6754)
+(3622,-6761)
+(3623,-6759)
+(3621,-6749)
+(3622,-6747)
+(3625,-6747)
+(3628,-6751)
+(3630,-6748)
+(3632,-6748)
+(3634,-6763)
+(3637,-6770)
+(3640,-6772)
+(3644,-6772)
+(3646,-6780)
+(3648,-6776)
+(3649,-6776)
+(3649,-6782)
+(3646,-6783)
+(3646,-6784)
+(3650,-6795)
+(3657,-6795)
+(3663,-6786)
+(3664,-6787)
+(3666,-6792)
+(3670,-6789)
+(3671,-6789)
+(3671,-6794)
+(3673,-6794)
+(3673,-6790)
+(3675,-6790)
+(3675,-6794)
+(3673,-6796)
+(3675,-6803)
+(3676,-6804)
+(3676,-6808)
+(3676,-6813)
+(3675,-6818)
+(3675,-6822)
+2
+(3678,-7056)
+(3681,-7059)
+10
+(3681,-7200)
+(3685,-7210)
+(3687,-7214)
+(3687,-7226)
+(3693,-7240)
+(3697,-7244)
+(3700,-7241)
+(3707,-7241)
+(3709,-7246)
+(3710,-7253)
+57
+(3777,-7394)
+(3773,-7396)
+(3768,-7393)
+(3762,-7394)
+(3760,-7396)
+(3755,-7396)
+(3752,-7398)
+(3747,-7398)
+(3739,-7406)
+(3737,-7404)
+(3731,-7388)
+(3729,-7383)
+(3729,-7377)
+(3728,-7369)
+(3729,-7355)
+(3728,-7351)
+(3728,-7342)
+(3726,-7337)
+(3724,-7328)
+(3723,-7318)
+(3720,-7312)
+(3717,-7297)
+(3715,-7292)
+(3713,-7281)
+(3708,-7273)
+(3708,-7271)
+(3709,-7275)
+(3710,-7276)
+(3710,-7253)
+(3711,-7257)
+(3711,-7266)
+(3712,-7276)
+(3716,-7291)
+(3718,-7297)
+(3719,-7302)
+(3721,-7306)
+(3722,-7313)
+(3724,-7316)
+(3725,-7330)
+(3729,-7340)
+(3729,-7350)
+(3731,-7354)
+(3731,-7357)
+(3729,-7371)
+(3731,-7384)
+(3734,-7390)
+(3735,-7399)
+(3737,-7402)
+(3740,-7402)
+(3748,-7394)
+(3751,-7394)
+(3752,-7392)
+(3756,-7388)
+(3763,-7387)
+(3765,-7387)
+(3770,-7393)
+(3777,-7394)
+212
+(3777,-7394)
+(3789,-7400)
+(3798,-7419)
+(3813,-7426)
+(3823,-7433)
+(3826,-7440)
+(3833,-7443)
+(3835,-7448)
+(3838,-7453)
+(3838,-7461)
+(3843,-7467)
+(3848,-7467)
+(3852,-7465)
+(3856,-7468)
+(3859,-7475)
+(3860,-7484)
+(3867,-7490)
+(3869,-7495)
+(3871,-7498)
+(3880,-7502)
+(3880,-7499)
+(3880,-7493)
+(3881,-7494)
+(3881,-7503)
+(3882,-7506)
+(3887,-7508)
+(3890,-7512)
+(3892,-7519)
+(3893,-7525)
+(3892,-7543)
+(3895,-7549)
+(3896,-7559)
+(3899,-7571)
+(3905,-7573)
+(3909,-7583)
+(3910,-7588)
+(3911,-7590)
+(3913,-7597)
+(3913,-7599)
+(3912,-7598)
+(3915,-7612)
+(3916,-7624)
+(3918,-7632)
+(3921,-7641)
+(3924,-7646)
+(3927,-7656)
+(3931,-7664)
+(3932,-7670)
+(3936,-7683)
+(3937,-7717)
+(3938,-7723)
+(3941,-7729)
+(3942,-7730)
+(3945,-7726)
+(3950,-7737)
+(3951,-7743)
+(3956,-7747)
+(3959,-7746)
+(3964,-7750)
+(3968,-7748)
+(3969,-7744)
+(3972,-7741)
+(3975,-7721)
+(3978,-7720)
+(3982,-7728)
+(3984,-7738)
+(3992,-7746)
+(3993,-7755)
+(3996,-7760)
+(4000,-7771)
+(4004,-7778)
+(4005,-7782)
+(4004,-7792)
+(4009,-7809)
+(4019,-7815)
+(4033,-7816)
+(4037,-7824)
+(4040,-7835)
+(4041,-7849)
+(4048,-7855)
+(4049,-7861)
+(4047,-7869)
+(4048,-7880)
+(4047,-7893)
+(4043,-7904)
+(4039,-7930)
+(4039,-7939)
+(4032,-7968)
+(4033,-7981)
+(4035,-7987)
+(4037,-7991)
+(4041,-8007)
+(4044,-8012)
+(4048,-8014)
+(4047,-8021)
+(4047,-8025)
+(4048,-8027)
+(4054,-8035)
+(4059,-8057)
+(4065,-8059)
+(4066,-8056)
+(4070,-8054)
+(4072,-8057)
+(4071,-8065)
+(4074,-8061)
+(4083,-8072)
+(4087,-8067)
+(4093,-8068)
+(4095,-8064)
+(4098,-8066)
+(4099,-8056)
+(4102,-8053)
+(4104,-8046)
+(4107,-8050)
+(4110,-8045)
+(4111,-8054)
+(4117,-8050)
+(4122,-8054)
+(4120,-8050)
+(4118,-8049)
+(4116,-8044)
+(4111,-8039)
+(4109,-8040)
+(4109,-8044)
+(4107,-8049)
+(4105,-8042)
+(4101,-8052)
+(4098,-8052)
+(4097,-8063)
+(4094,-8054)
+(4093,-8056)
+(4094,-8063)
+(4093,-8064)
+(4086,-8060)
+(4082,-8065)
+(4074,-8057)
+(4071,-8051)
+(4068,-8048)
+(4063,-8048)
+(4058,-8044)
+(4051,-8026)
+(4048,-8024)
+(4049,-8015)
+(4048,-8011)
+(4045,-8011)
+(4041,-8003)
+(4037,-7988)
+(4034,-7979)
+(4033,-7971)
+(4035,-7960)
+(4038,-7954)
+(4040,-7941)
+(4040,-7933)
+(4043,-7914)
+(4048,-7894)
+(4049,-7878)
+(4048,-7870)
+(4050,-7860)
+(4049,-7856)
+(4048,-7852)
+(4042,-7846)
+(4041,-7838)
+(4041,-7829)
+(4039,-7821)
+(4034,-7815)
+(4025,-7812)
+(4021,-7813)
+(4012,-7806)
+(4009,-7800)
+(4006,-7792)
+(4005,-7776)
+(4003,-7769)
+(4000,-7765)
+(3997,-7756)
+(3994,-7752)
+(3992,-7743)
+(3985,-7737)
+(3983,-7721)
+(3981,-7718)
+(3975,-7718)
+(3972,-7732)
+(3968,-7742)
+(3965,-7744)
+(3959,-7741)
+(3955,-7741)
+(3944,-7721)
+(3941,-7727)
+(3940,-7715)
+(3937,-7710)
+(3938,-7685)
+(3932,-7661)
+(3929,-7655)
+(3928,-7655)
+(3926,-7649)
+(3923,-7641)
+(3920,-7627)
+(3918,-7611)
+(3914,-7594)
+(3907,-7574)
+(3904,-7570)
+(3900,-7564)
+(3898,-7564)
+(3896,-7559)
+(3896,-7548)
+(3894,-7539)
+(3894,-7523)
+(3892,-7508)
+(3883,-7503)
+(3881,-7492)
+(3871,-7493)
+(3868,-7488)
+(3865,-7487)
+161
+(3679,-7878)
+(3678,-7878)
+(3677,-7882)
+(3675,-7884)
+(3669,-7880)
+(3663,-7880)
+(3662,-7878)
+(3660,-7874)
+(3661,-7870)
+(3664,-7862)
+(3661,-7854)
+(3652,-7834)
+(3648,-7831)
+(3644,-7817)
+(3643,-7806)
+(3639,-7797)
+(3637,-7795)
+(3636,-7796)
+(3634,-7786)
+(3630,-7785)
+(3625,-7773)
+(3622,-7771)
+(3620,-7768)
+(3616,-7749)
+(3614,-7748)
+(3614,-7745)
+(3612,-7745)
+(3610,-7742)
+(3609,-7738)
+(3608,-7739)
+(3608,-7736)
+(3606,-7737)
+(3603,-7734)
+(3602,-7730)
+(3601,-7718)
+(3597,-7712)
+(3596,-7712)
+(3595,-7709)
+(3596,-7707)
+(3595,-7704)
+(3595,-7700)
+(3591,-7698)
+(3591,-7692)
+(3590,-7688)
+(3591,-7686)
+(3590,-7683)
+(3591,-7683)
+(3597,-7672)
+(3600,-7670)
+(3599,-7663)
+(3598,-7659)
+(3598,-7655)
+(3596,-7652)
+(3596,-7647)
+(3593,-7645)
+(3589,-7650)
+(3586,-7649)
+(3584,-7650)
+(3583,-7647)
+(3582,-7633)
+(3581,-7629)
+(3578,-7628)
+(3577,-7625)
+(3579,-7618)
+(3576,-7606)
+(3575,-7593)
+(3571,-7582)
+(3566,-7572)
+(3566,-7568)
+(3564,-7561)
+(3564,-7560)
+(3565,-7560)
+(3566,-7556)
+(3567,-7548)
+(3564,-7547)
+(3563,-7537)
+(3561,-7534)
+(3560,-7527)
+(3558,-7526)
+(3557,-7521)
+(3557,-7514)
+(3559,-7510)
+(3559,-7502)
+(3560,-7500)
+(3562,-7501)
+(3562,-7495)
+(3564,-7490)
+(3567,-7488)
+(3570,-7488)
+(3573,-7484)
+(3573,-7479)
+(3575,-7481)
+(3578,-7480)
+(3580,-7475)
+(3585,-7469)
+(3584,-7464)
+(3584,-7459)
+(3580,-7457)
+(3579,-7451)
+(3576,-7451)
+(3577,-7447)
+(3576,-7446)
+(3572,-7447)
+(3571,-7443)
+(3574,-7439)
+(3577,-7439)
+(3579,-7436)
+(3582,-7435)
+(3586,-7430)
+(3590,-7430)
+(3600,-7427)
+(3603,-7429)
+(3609,-7424)
+(3611,-7419)
+(3613,-7411)
+(3619,-7401)
+(3627,-7407)
+(3629,-7409)
+(3630,-7409)
+(3633,-7411)
+(3636,-7410)
+(3638,-7412)
+(3642,-7412)
+(3645,-7408)
+(3644,-7401)
+(3647,-7399)
+(3648,-7401)
+(3648,-7410)
+(3650,-7414)
+(3651,-7415)
+(3652,-7411)
+(3654,-7410)
+(3653,-7405)
+(3654,-7400)
+(3655,-7398)
+(3658,-7401)
+(3659,-7396)
+(3660,-7395)
+(3662,-7400)
+(3663,-7400)
+(3664,-7397)
+(3665,-7388)
+(3667,-7389)
+(3666,-7383)
+(3666,-7374)
+(3668,-7371)
+(3670,-7371)
+(3675,-7362)
+(3676,-7353)
+(3680,-7335)
+(3680,-7329)
+(3682,-7322)
+(3683,-7310)
+(3686,-7300)
+(3687,-7293)
+(3694,-7284)
+(3698,-7287)
+(3699,-7287)
+(3701,-7284)
+(3703,-7273)
+(3708,-7271)
+15
+(3551,-7866)
+(3547,-7865)
+(3544,-7878)
+(3544,-7888)
+(3548,-7901)
+(3547,-7907)
+(3549,-7910)
+(3551,-7910)
+(3557,-7918)
+(3561,-7920)
+(3563,-7918)
+(3567,-7924)
+(3571,-7925)
+(3574,-7924)
+(3576,-7925)
+485
+(3627,-7995)
+(3629,-8000)
+(3631,-8002)
+(3638,-8013)
+(3644,-8020)
+(3647,-8028)
+(3651,-8036)
+(3670,-8063)
+(3674,-8070)
+(3675,-8076)
+(3678,-8079)
+(3686,-8079)
+(3688,-8081)
+(3689,-8080)
+(3689,-8088)
+(3691,-8088)
+(3694,-8095)
+(3698,-8090)
+(3702,-8092)
+(3704,-8096)
+(3706,-8095)
+(3706,-8097)
+(3708,-8099)
+(3712,-8095)
+(3715,-8097)
+(3716,-8101)
+(3715,-8107)
+(3716,-8108)
+(3716,-8113)
+(3719,-8119)
+(3720,-8129)
+(3722,-8133)
+(3723,-8134)
+(3723,-8143)
+(3721,-8148)
+(3723,-8155)
+(3724,-8156)
+(3723,-8158)
+(3725,-8162)
+(3725,-8168)
+(3727,-8169)
+(3726,-8171)
+(3728,-8174)
+(3726,-8177)
+(3728,-8178)
+(3729,-8183)
+(3730,-8181)
+(3734,-8180)
+(3736,-8183)
+(3739,-8180)
+(3739,-8183)
+(3741,-8184)
+(3741,-8189)
+(3743,-8191)
+(3744,-8197)
+(3747,-8200)
+(3748,-8204)
+(3750,-8205)
+(3755,-8211)
+(3760,-8224)
+(3763,-8235)
+(3767,-8240)
+(3767,-8245)
+(3769,-8250)
+(3769,-8257)
+(3770,-8260)
+(3769,-8265)
+(3767,-8271)
+(3769,-8281)
+(3768,-8296)
+(3767,-8303)
+(3770,-8307)
+(3770,-8313)
+(3772,-8320)
+(3772,-8328)
+(3775,-8344)
+(3775,-8351)
+(3778,-8356)
+(3780,-8369)
+(3782,-8371)
+(3784,-8370)
+(3786,-8370)
+(3792,-8375)
+(3798,-8365)
+(3808,-8383)
+(3820,-8387)
+(3823,-8383)
+(3830,-8386)
+(3831,-8384)
+(3834,-8384)
+(3838,-8382)
+(3841,-8377)
+(3842,-8369)
+(3845,-8367)
+(3848,-8369)
+(3853,-8376)
+(3855,-8376)
+(3856,-8387)
+(3859,-8392)
+(3858,-8397)
+(3860,-8398)
+(3860,-8409)
+(3862,-8419)
+(3864,-8431)
+(3866,-8432)
+(3870,-8426)
+(3872,-8427)
+(3871,-8434)
+(3872,-8437)
+(3874,-8436)
+(3874,-8437)
+(3873,-8443)
+(3877,-8442)
+(3877,-8451)
+(3881,-8454)
+(3882,-8464)
+(3886,-8464)
+(3888,-8472)
+(3890,-8470)
+(3892,-8466)
+(3894,-8472)
+(3897,-8471)
+(3896,-8480)
+(3896,-8483)
+(3902,-8481)
+(3904,-8484)
+(3906,-8484)
+(3907,-8500)
+(3911,-8503)
+(3912,-8513)
+(3916,-8519)
+(3918,-8520)
+(3918,-8526)
+(3921,-8530)
+(3919,-8541)
+(3921,-8549)
+(3924,-8558)
+(3920,-8563)
+(3919,-8568)
+(3919,-8573)
+(3921,-8580)
+(3922,-8601)
+(3922,-8608)
+(3926,-8614)
+(3927,-8620)
+(3932,-8623)
+(3935,-8628)
+(3936,-8640)
+(3942,-8646)
+(3948,-8640)
+(3950,-8641)
+(3952,-8640)
+(3955,-8643)
+(3958,-8650)
+(3961,-8650)
+(3963,-8661)
+(3966,-8663)
+(3969,-8671)
+(3971,-8673)
+(3973,-8679)
+(3975,-8681)
+(3980,-8690)
+(3982,-8694)
+(3984,-8693)
+(3989,-8710)
+(3995,-8720)
+(3995,-8736)
+(3997,-8748)
+(3996,-8753)
+(3996,-8758)
+(3995,-8760)
+(3994,-8771)
+(3992,-8777)
+(3992,-8788)
+(3990,-8807)
+(3988,-8811)
+(3989,-8817)
+(3985,-8822)
+(3985,-8826)
+(3983,-8828)
+(3983,-8830)
+(3981,-8833)
+(3982,-8843)
+(3980,-8855)
+(3979,-8857)
+(3977,-8854)
+(3976,-8855)
+(3977,-8861)
+(3975,-8865)
+(3976,-8869)
+(3976,-8871)
+(3974,-8872)
+(3974,-8876)
+(3976,-8883)
+(3974,-8887)
+(3975,-8893)
+(3972,-8899)
+(3973,-8908)
+(3971,-8912)
+(3967,-8915)
+(3967,-8924)
+(3963,-8925)
+(3963,-8929)
+(3966,-8931)
+(3964,-8935)
+(3964,-8939)
+(3963,-8941)
+(3961,-8939)
+(3960,-8940)
+(3961,-8947)
+(3960,-8948)
+(3959,-8953)
+(3955,-8954)
+(3953,-8957)
+(3954,-8972)
+(3953,-8981)
+(3953,-8988)
+(3951,-8988)
+(3952,-8992)
+(3951,-8996)
+(3947,-9008)
+(3947,-9006)
+(3947,-8996)
+(3945,-8989)
+(3944,-8988)
+(3943,-8991)
+(3938,-8991)
+(3938,-8995)
+(3941,-9000)
+(3941,-9004)
+(3940,-9008)
+(3938,-9010)
+(3933,-9007)
+(3931,-9011)
+(3929,-9019)
+(3930,-9027)
+(3929,-9040)
+(3927,-9042)
+(3925,-9052)
+(3923,-9056)
+(3921,-9065)
+(3917,-9071)
+(3917,-9080)
+(3916,-9085)
+(3912,-9088)
+(3911,-9092)
+(3912,-9107)
+(3911,-9118)
+(3910,-9122)
+(3910,-9133)
+(3908,-9143)
+(3906,-9147)
+(3908,-9154)
+(3909,-9162)
+(3912,-9167)
+(3911,-9180)
+(3911,-9186)
+(3908,-9192)
+(3906,-9195)
+(3907,-9203)
+(3906,-9208)
+(3908,-9212)
+(3906,-9221)
+(3904,-9228)
+(3902,-9242)
+(3895,-9259)
+(3896,-9268)
+(3895,-9272)
+(3896,-9280)
+(3895,-9287)
+(3894,-9291)
+(3892,-9310)
+(3885,-9331)
+(3886,-9342)
+(3883,-9359)
+(3883,-9371)
+(3880,-9383)
+(3880,-9392)
+(3878,-9403)
+(3878,-9405)
+(3879,-9407)
+(3883,-9406)
+(3884,-9409)
+(3884,-9419)
+(3885,-9421)
+(3888,-9422)
+(3889,-9425)
+(3888,-9435)
+(3890,-9439)
+(3888,-9444)
+(3889,-9447)
+(3892,-9451)
+(3892,-9474)
+(3886,-9478)
+(3881,-9486)
+(3879,-9496)
+(3872,-9501)
+(3871,-9506)
+(3866,-9509)
+(3860,-9522)
+(3856,-9520)
+(3853,-9516)
+(3848,-9515)
+(3845,-9522)
+(3840,-9526)
+(3838,-9533)
+(3834,-9541)
+(3832,-9549)
+(3826,-9553)
+(3824,-9560)
+(3816,-9563)
+(3810,-9568)
+(3804,-9562)
+(3802,-9567)
+(3801,-9575)
+(3798,-9577)
+(3795,-9582)
+(3789,-9582)
+(3783,-9585)
+(3781,-9588)
+(3779,-9597)
+(3776,-9602)
+(3767,-9602)
+(3761,-9606)
+(3759,-9607)
+(3761,-9607)
+(3763,-9607)
+(3761,-9611)
+(3759,-9608)
+(3754,-9609)
+(3751,-9608)
+(3748,-9601)
+(3745,-9598)
+(3736,-9596)
+(3734,-9593)
+(3734,-9587)
+(3732,-9583)
+(3726,-9586)
+(3723,-9602)
+(3719,-9601)
+(3716,-9606)
+(3717,-9615)
+(3715,-9650)
+(3715,-9656)
+(3713,-9665)
+(3712,-9676)
+(3709,-9680)
+(3704,-9677)
+(3699,-9685)
+(3697,-9706)
+(3693,-9718)
+(3694,-9719)
+(3701,-9718)
+(3707,-9724)
+(3714,-9733)
+(3714,-9746)
+(3714,-9749)
+(3716,-9750)
+(3719,-9746)
+(3721,-9748)
+(3720,-9755)
+(3719,-9758)
+(3714,-9761)
+(3714,-9766)
+(3717,-9770)
+(3713,-9779)
+(3717,-9794)
+(3720,-9795)
+(3722,-9798)
+(3724,-9809)
+(3724,-9822)
+(3726,-9834)
+(3728,-9837)
+(3732,-9840)
+(3736,-9836)
+(3743,-9833)
+(3742,-9831)
+(3744,-9830)
+(3746,-9835)
+(3753,-9838)
+(3759,-9846)
+(3762,-9852)
+(3763,-9856)
+(3762,-9860)
+(3765,-9867)
+(3765,-9870)
+(3766,-9867)
+(3765,-9863)
+(3764,-9858)
+(3764,-9850)
+(3755,-9837)
+(3753,-9832)
+(3746,-9828)
+(3735,-9832)
+(3734,-9836)
+(3732,-9837)
+(3730,-9836)
+(3729,-9832)
+(3726,-9829)
+(3725,-9823)
+(3725,-9810)
+(3722,-9794)
+(3718,-9792)
+(3715,-9785)
+(3716,-9779)
+(3716,-9775)
+(3718,-9770)
+(3716,-9766)
+(3715,-9763)
+(3719,-9760)
+(3720,-9756)
+(3721,-9749)
+(3720,-9745)
+(3716,-9743)
+(3719,-9737)
+(3718,-9730)
+(3716,-9727)
+(3713,-9725)
+(3711,-9726)
+(3702,-9716)
+(3698,-9718)
+(3695,-9715)
+(3698,-9708)
+(3698,-9700)
+(3701,-9685)
+(3702,-9682)
+(3706,-9680)
+(3709,-9682)
+(3712,-9680)
+(3713,-9678)
+(3715,-9664)
+(3716,-9658)
+(3716,-9653)
+(3718,-9650)
+(3718,-9633)
+(3718,-9609)
+(3720,-9603)
+(3722,-9603)
+(3724,-9601)
+(3724,-9598)
+(3725,-9595)
+(3726,-9588)
+(3732,-9584)
+(3733,-9586)
+(3734,-9596)
+(3735,-9599)
+(3741,-9598)
+(3744,-9603)
+(3747,-9605)
+(3752,-9613)
+(3756,-9611)
+(3761,-9612)
+(3767,-9604)
+(3771,-9605)
+(3778,-9601)
+(3781,-9597)
+(3784,-9586)
+(3796,-9583)
+(3798,-9578)
+(3800,-9577)
+(3804,-9573)
+(3806,-9567)
+(3812,-9572)
+(3816,-9569)
+(3819,-9564)
+(3825,-9561)
+(3828,-9553)
+(3831,-9553)
+(3833,-9551)
+(3834,-9543)
+(3837,-9537)
+(3839,-9537)
+(3842,-9525)
+(3846,-9523)
+(3850,-9525)
+(3853,-9519)
+(3858,-9524)
+(3862,-9523)
+(3868,-9509)
+(3872,-9506)
+(3877,-9498)
+(3879,-9498)
+(3885,-9483)
+(3889,-9479)
+(3891,-9475)
+156
+(-2215,8880)
+(-2200,8890)
+(-2198,8890)
+(-2196,8890)
+(-2192,8886)
+(-2188,8884)
+(-2182,8881)
+(-2169,8880)
+(-2165,8878)
+(-2159,8870)
+(-2157,8861)
+(-2159,8853)
+(-2158,8846)
+(-2159,8842)
+(-2163,8836)
+(-2166,8820)
+(-2165,8818)
+(-2166,8812)
+(-2162,8798)
+(-2158,8793)
+(-2159,8786)
+(-2161,8782)
+(-2162,8778)
+(-2162,8770)
+(-2159,8760)
+(-2159,8757)
+(-2157,8753)
+(-2158,8750)
+(-2159,8748)
+(-2158,8744)
+(-2153,8736)
+(-2150,8733)
+(-2149,8728)
+(-2152,8718)
+(-2150,8703)
+(-2152,8697)
+(-2157,8695)
+(-2160,8693)
+(-2163,8695)
+(-2165,8695)
+(-2165,8689)
+(-2168,8683)
+(-2168,8680)
+(-2166,8677)
+(-2156,8665)
+(-2150,8660)
+(-2135,8646)
+(-2133,8643)
+(-2132,8639)
+(-2130,8637)
+(-2130,8632)
+(-2123,8623)
+(-2123,8617)
+(-2122,8616)
+(-2120,8614)
+(-2114,8614)
+(-2113,8608)
+(-2111,8604)
+(-2100,8599)
+(-2097,8599)
+(-2091,8601)
+(-2089,8600)
+(-2087,8596)
+(-2083,8591)
+(-2079,8570)
+(-2076,8566)
+(-2077,8562)
+(-2083,8561)
+(-2084,8556)
+(-2086,8555)
+(-2086,8553)
+(-2084,8551)
+(-2077,8547)
+(-2074,8548)
+(-2073,8545)
+(-2069,8541)
+(-2061,8540)
+(-2057,8534)
+(-2053,8533)
+(-2051,8530)
+(-2050,8528)
+(-2050,8524)
+(-2047,8520)
+(-2048,8497)
+(-2048,8496)
+(-2054,8491)
+(-2049,8488)
+(-2048,8478)
+(-2045,8473)
+(-2046,8469)
+(-2043,8467)
+(-2043,8463)
+(-2038,8456)
+(-2040,8451)
+(-2042,8449)
+(-2043,8446)
+(-2044,8446)
+(-2047,8448)
+(-2049,8446)
+(-2054,8444)
+(-2055,8439)
+(-2057,8437)
+(-2058,8435)
+(-2061,8435)
+(-2062,8434)
+(-2065,8435)
+(-2066,8434)
+(-2066,8432)
+(-2061,8425)
+(-2051,8422)
+(-2049,8420)
+(-2050,8413)
+(-2049,8402)
+(-2047,8397)
+(-2044,8396)
+(-2044,8391)
+(-2042,8391)
+(-2042,8390)
+(-2043,8386)
+(-2042,8383)
+(-2046,8381)
+(-2059,8376)
+(-2066,8376)
+(-2075,8375)
+(-2080,8377)
+(-2083,8373)
+(-2086,8373)
+(-2088,8373)
+(-2092,8375)
+(-2093,8373)
+(-2092,8366)
+(-2094,8360)
+(-2097,8357)
+(-2100,8360)
+(-2106,8358)
+(-2108,8358)
+(-2115,8366)
+(-2121,8361)
+(-2124,8361)
+(-2128,8362)
+(-2130,8360)
+(-2130,8353)
+(-2136,8361)
+(-2139,8361)
+(-2141,8359)
+(-2143,8356)
+(-2142,8354)
+(-2139,8353)
+(-2138,8355)
+(-2136,8352)
+(-2135,8354)
+(-2133,8353)
+(-2130,8349)
+(-2131,8346)
+(-2135,8345)
+(-2135,8343)
+134
+(-1727,9103)
+(-1730,9100)
+(-1731,9098)
+(-1735,9095)
+(-1739,9090)
+(-1747,9086)
+(-1749,9081)
+(-1749,9079)
+(-1747,9078)
+(-1736,9076)
+(-1730,9063)
+(-1724,9059)
+(-1718,9046)
+(-1721,9034)
+(-1721,9029)
+(-1719,9025)
+(-1714,9021)
+(-1713,9016)
+(-1714,9011)
+(-1713,9006)
+(-1715,9002)
+(-1717,8983)
+(-1718,8979)
+(-1718,8978)
+(-1715,8975)
+(-1715,8970)
+(-1718,8964)
+(-1721,8961)
+(-1722,8956)
+(-1726,8952)
+(-1734,8941)
+(-1740,8938)
+(-1742,8932)
+(-1746,8927)
+(-1754,8923)
+(-1760,8919)
+(-1765,8919)
+(-1771,8918)
+(-1772,8916)
+(-1774,8912)
+(-1776,8908)
+(-1785,8901)
+(-1789,8896)
+(-1793,8894)
+(-1800,8885)
+(-1803,8872)
+(-1803,8864)
+(-1808,8840)
+(-1807,8834)
+(-1804,8828)
+(-1801,8819)
+(-1795,8812)
+(-1796,8793)
+(-1795,8785)
+(-1797,8776)
+(-1797,8770)
+(-1798,8764)
+(-1799,8762)
+(-1803,8761)
+(-1807,8749)
+(-1814,8741)
+(-1817,8734)
+(-1821,8732)
+(-1823,8730)
+(-1825,8719)
+(-1829,8714)
+(-1828,8708)
+(-1835,8704)
+(-1838,8700)
+(-1838,8694)
+(-1840,8692)
+(-1841,8689)
+(-1843,8688)
+(-1843,8685)
+(-1848,8682)
+(-1850,8683)
+(-1852,8680)
+(-1855,8674)
+(-1854,8669)
+(-1858,8661)
+(-1864,8658)
+(-1865,8657)
+(-1865,8653)
+(-1868,8651)
+(-1870,8647)
+(-1873,8643)
+(-1881,8640)
+(-1883,8637)
+(-1883,8635)
+(-1883,8632)
+(-1885,8628)
+(-1885,8622)
+(-1887,8614)
+(-1892,8608)
+(-1894,8603)
+(-1902,8598)
+(-1905,8591)
+(-1911,8587)
+(-1914,8579)
+(-1920,8577)
+(-1924,8577)
+(-1927,8570)
+(-1930,8567)
+(-1930,8563)
+(-1933,8559)
+(-1937,8557)
+(-1938,8551)
+(-1944,8544)
+(-1948,8542)
+(-1953,8543)
+(-1966,8543)
+(-1969,8541)
+(-1972,8541)
+(-1974,8540)
+(-1979,8542)
+(-1985,8537)
+(-1988,8536)
+(-1991,8538)
+(-1993,8541)
+(-1995,8543)
+(-2004,8553)
+(-2006,8553)
+(-2012,8549)
+(-2014,8546)
+(-2020,8543)
+(-2024,8536)
+(-2025,8530)
+(-2026,8527)
+(-2028,8521)
+(-2029,8519)
+(-2036,8517)
+(-2040,8513)
+(-2045,8512)
+(-2047,8511)
+35
+(-2121,8362)
+(-2122,8359)
+(-2124,8359)
+(-2120,8355)
+(-2119,8352)
+(-2120,8347)
+(-2122,8347)
+(-2123,8346)
+(-2124,8339)
+(-2125,8338)
+(-2128,8337)
+(-2129,8337)
+(-2129,8340)
+(-2131,8340)
+(-2131,8338)
+(-2128,8333)
+(-2125,8331)
+(-2125,8330)
+(-2125,8329)
+(-2128,8330)
+(-2128,8327)
+(-2131,8328)
+(-2132,8330)
+(-2131,8329)
+(-2131,8329)
+(-2130,8330)
+(-2130,8333)
+(-2120,8347)
+(-2122,8347)
+(-2123,8346)
+(-2124,8339)
+(-2125,8338)
+(-2128,8337)
+(-2129,8337)
+(-2129,8340)
diff --git a/macros/latex/contrib/profcollege/metapost/datastest/volcans.dat b/macros/latex/contrib/profcollege/metapost/datastest/volcans.dat
index 7fa01e952c..ff81b3c618 100644
--- a/macros/latex/contrib/profcollege/metapost/datastest/volcans.dat
+++ b/macros/latex/contrib/profcollege/metapost/datastest/volcans.dat
@@ -1,814 +1,814 @@
-813
-(38.7890,15.2130)
-(37.7340,15.0040)
-(13.6000,40.6700)
-(12.6000,40.4800)
-(-2.7640,35.9140)
-(-1.4080,29.2000)
-(-1.5200,29.2500)
-(4.2030,9.1700)
-(-11.7500,43.3800)
-(-21.2310,55.7130)
-(-53.0300,72.6000)
-(-53.1060,73.5130)
-(-46.9000,37.7500)
-(-37.5200,177.1800)
-(-39.2800,175.5700)
-(-29.2700,-177.9200)
-(-25.8870,-177.1880)
-(-18.9920,-174.7750)
-(-18.3250,-174.3650)
-(-14.2150,-169.0580)
-(-4.0800,145.0370)
-(-5.5200,148.1210)
-(-5.5250,148.4200)
-(-5.4500,150.0300)
-(-5.5800,150.5200)
-(-5.5000,150.9420)
-(-5.0500,151.3300)
-(-4.2710,152.2030)
-(-6.1400,155.1950)
-(-9.0200,157.9500)
-(-10.3800,165.8000)
-(-15.4000,167.8300)
-(-16.2500,168.1200)
-(-16.5070,168.3460)
-(-16.6800,168.3700)
-(-19.5300,169.4420)
-(12.2780,93.8580)
-(4.9140,96.3290)
-(-0.3810,100.4730)
-(-0.9780,100.6790)
-(-1.6970,101.2640)
-(-3.5200,102.6200)
-(-6.1020,105.4230)
-(-7.3200,107.7300)
-(-7.5420,110.4420)
-(-8.1080,112.9200)
-(-7.9420,112.9500)
-(-8.1250,114.0420)
-(-8.2420,115.3750)
-(-8.4200,116.4700)
-(-8.7300,120.9800)
-(-8.6700,122.4500)
-(-8.5420,122.7750)
-(-8.3580,122.8420)
-(1.1080,124.7300)
-(1.3580,124.7920)
-(2.3000,125.3700)
-(2.7800,125.4000)
-(3.6700,125.5000)
-(1.6800,127.8800)
-(1.4880,127.6300)
-(0.8000,127.3300)
-(10.4120,123.1320)
-(12.7700,124.0500)
-(13.2570,123.6850)
-(29.6350,129.7160)
-(30.7890,130.3080)
-(31.5850,130.6570)
-(32.8810,131.1060)
-(36.4030,138.5260)
-(34.0790,139.5290)
-(30.4800,140.3060)
-(24.7540,141.2900)
-(24.2800,141.4850)
-(20.4200,145.0300)
-(18.1300,145.8000)
-(16.3500,145.6700)
-(14.6010,144.7750)
-(42.0610,140.6810)
-(42.5410,140.8430)
-(43.3840,144.0130)
-(50.3250,155.4580)
-(50.6800,156.0200)
-(52.4530,158.1950)
-(53.2550,158.8300)
-(54.0500,159.4500)
-(55.9780,160.5870)
-(56.0570,160.6380)
-(56.6530,161.3600)
-(52.3810,-174.1540)
-(52.8250,-169.9440)
-(54.7560,-163.9700)
-(56.1700,-159.3800)
-(58.7700,-153.6720)
-(59.3630,-153.4300)
-(46.2000,-122.1800)
-(19.4210,-155.2870)
-(9.8200,-104.3000)
-(19.5140,-103.6200)
-(19.0230,-98.6220)
-(14.7560,-91.5520)
-(14.4730,-90.8800)
-(14.3810,-90.6010)
-(13.8530,-89.6300)
-(13.4340,-88.2690)
-(12.7020,-87.0040)
-(12.6020,-86.8450)
-(11.9840,-86.1610)
-(11.5380,-85.6220)
-(10.4630,-84.7030)
-(10.2000,-84.2330)
-(1.2200,-77.3700)
-(-0.0770,-77.6560)
-(-0.1710,-78.5980)
-(-1.4670,-78.4420)
-(-2.0020,-78.3410)
-(-0.3700,-91.5500)
-(-0.8300,-91.1700)
-(-15.7800,-71.8500)
-(-16.3550,-70.9030)
-(-23.3700,-67.7300)
-(-36.8630,-71.3770)
-(-37.8500,-71.1700)
-(-38.6920,-71.7290)
-(-39.4200,-71.9300)
-(16.7200,-62.1800)
-(12.3000,-61.6400)
-(63.9800,-19.7000)
-(64.4200,-17.3300)
-(38.7300,-27.3200)
-(-37.0920,-12.2800)
-(-77.5300,167.1700)
-(-58.4200,-26.3300)
-(-57.7800,-26.4500)
-(40.8210,14.4260)
-(36.4040,25.3960)
-(14.2420,40.3000)
-(12.8800,40.5700)
-(12.3800,42.2000)
-(11.5800,42.4700)
-(8.1580,39.1300)
-(2.3200,36.5700)
-(1.5000,36.3300)
-(-3.2500,36.7500)
-(-1.4700,29.4920)
-(3.5800,8.7500)
-(14.5700,44.6700)
-(-37.7210,77.8250)
-(-38.1200,176.5000)
-(-39.1300,175.6420)
-(-35.7450,178.4780)
-(-21.3800,-175.6500)
-(-20.8500,-175.5300)
-(-20.5700,-175.3800)
-(-20.3200,-175.4200)
-(-19.7500,-175.0700)
-(-19.1800,-174.8700)
-(-15.6200,-173.6700)
-(-18.0200,-174.3250)
-(-15.6000,-175.6300)
-(-13.6120,-172.5250)
-(-2.3800,147.3500)
-(-3.0300,147.7800)
-(-3.6130,144.8180)
-(-4.6490,145.9640)
-(-5.3580,147.1200)
-(-4.9200,151.1580)
-(-8.9500,148.1500)
-(-9.2000,149.0700)
-(-9.5700,149.0750)
-(-8.2920,156.5200)
-(-13.8000,167.4700)
-(-14.2700,167.5000)
-(-16.8290,168.5360)
-(-20.9800,170.2800)
-(-22.3300,171.3200)
-(-22.4000,172.0500)
-(-25.7800,168.6300)
-(4.8130,96.8200)
-(0.6860,99.5390)
-(-0.4330,100.3170)
-(-2.4140,101.7280)
-(-4.0300,103.1300)
-(-4.4300,103.6700)
-(-5.2500,104.2700)
-(-6.7300,106.6500)
-(-6.7200,106.7300)
-(-6.7800,106.9800)
-(-6.7700,107.6000)
-(-7.2500,108.0580)
-(-6.8920,108.4000)
-(-7.2420,109.2080)
-(-7.2000,109.9200)
-(-7.3000,109.9920)
-(-7.9300,112.3080)
-(-7.7250,112.5800)
-(-8.0580,114.2420)
-(-8.3420,115.5080)
-(-8.2500,118.0000)
-(-8.2000,119.0700)
-(-8.6200,120.5200)
-(-8.8200,121.1800)
-(-8.8970,121.6450)
-(-8.7700,121.8200)
-(-8.3200,121.7080)
-(-8.3420,123.2580)
-(-8.2720,123.5050)
-(-8.5300,123.5700)
-(-8.5080,124.1300)
-(-6.9200,129.1250)
-(-6.7300,129.5000)
-(-6.3000,130.0000)
-(-4.5250,129.8710)
-(-0.1700,121.6080)
-(1.3580,124.8580)
-(3.1380,125.4910)
-(1.3800,127.5300)
-(0.3200,127.4000)
-(9.2030,124.6730)
-(11.5230,124.5350)
-(14.0020,120.9930)
-(15.1300,120.3500)
-(19.0770,122.2020)
-(19.5230,121.9400)
-(10.1580,109.0140)
-(24.5580,124.0000)
-(27.8770,128.2240)
-(29.8560,129.8590)
-(30.4400,130.2190)
-(31.9310,130.8640)
-(32.7570,130.2940)
-(33.0830,131.2510)
-(34.9000,139.0980)
-(35.8900,137.4800)
-(36.2240,137.5900)
-(36.9180,138.0390)
-(36.6200,138.5350)
-(36.7960,139.3790)
-(37.1220,139.9660)
-(37.6440,140.2860)
-(37.7320,140.2480)
-(38.1410,140.4430)
-(38.9580,140.7920)
-(39.0960,140.0520)
-(39.7580,140.8030)
-(39.8500,141.0040)
-(39.9610,140.7610)
-(34.7210,139.3980)
-(31.8800,139.9200)
-(31.4360,140.0540)
-(27.2740,140.8820)
-(26.1220,141.1020)
-(25.4240,141.2840)
-(24.4140,141.4190)
-(23.4970,141.9400)
-(21.9300,143.4700)
-(21.7650,143.7100)
-(20.1300,145.1000)
-(20.5300,144.9000)
-(19.6700,145.4000)
-(18.7700,145.6700)
-(15.6200,145.5700)
-(42.6880,141.3800)
-(43.4160,142.6900)
-(44.1310,145.1650)
-(44.3510,146.2560)
-(44.8050,147.1350)
-(45.0260,147.9220)
-(45.0970,148.0240)
-(45.3870,148.8430)
-(46.0420,150.0500)
-(46.5250,150.8750)
-(46.4700,151.2800)
-(46.8300,151.7500)
-(46.9250,151.9500)
-(47.3500,152.4750)
-(47.7700,153.0200)
-(48.0800,153.3300)
-(48.0920,153.2000)
-(48.2920,153.2500)
-(48.9800,153.4800)
-(48.9580,153.9300)
-(49.1200,154.5080)
-(49.3500,154.7000)
-(49.5700,154.8080)
-(50.1300,155.3700)
-(50.8580,155.5500)
-(51.4900,157.2000)
-(51.5700,157.3230)
-(51.8000,157.5300)
-(52.5580,158.0300)
-(53.3200,158.6880)
-(53.9800,159.4500)
-(53.5900,159.1470)
-(54.1300,159.6700)
-(54.7530,160.5270)
-(55.1300,160.3200)
-(55.8300,160.3300)
-(35.5200,80.2000)
-(41.9800,128.0800)
-(52.1030,177.6020)
-(51.9300,179.5800)
-(51.7900,-178.7940)
-(51.8850,-178.1460)
-(51.9230,-177.1680)
-(52.0760,-176.1300)
-(52.3150,-172.5100)
-(52.5000,-171.2520)
-(52.6430,-170.6290)
-(52.9740,-169.7200)
-(53.4300,-168.1300)
-(53.9300,-168.0300)
-(53.8910,-166.9230)
-(54.1340,-165.9860)
-(54.5180,-164.6500)
-(55.4200,-161.8870)
-(56.0110,-159.7970)
-(56.8800,-158.1700)
-(57.1350,-156.9900)
-(57.8320,-156.5100)
-(58.1720,-155.3610)
-(58.2360,-155.1000)
-(58.2800,-154.9630)
-(58.2700,-155.1570)
-(60.4850,-152.7420)
-(61.2990,-152.2510)
-(62.0000,-144.0200)
-(40.4920,-121.5080)
-(46.5200,-129.5800)
-(45.9500,-130.0000)
-(44.8300,-130.3000)
-(42.6700,-126.7800)
-(18.9200,-155.2700)
-(19.4750,-155.6080)
-(23.5800,-163.8300)
-(0.7920,-86.1500)
-(-17.4360,-113.2060)
-(-28.9800,-140.2500)
-(18.7800,-110.9500)
-(19.3000,-110.8200)
-(19.4800,-102.2500)
-(17.3600,-93.2280)
-(15.1300,-92.1120)
-(14.5010,-90.8760)
-(13.8130,-89.6330)
-(13.7340,-89.2940)
-(12.5060,-86.7020)
-(12.4950,-86.6880)
-(12.4220,-86.5400)
-(10.8300,-85.3240)
-(10.7480,-85.1530)
-(9.9790,-83.8520)
-(4.8950,-75.3220)
-(4.6700,-75.3300)
-(2.3200,-76.4000)
-(1.4700,-76.9200)
-(0.9500,-77.8700)
-(0.8280,-77.9640)
-(-0.6770,-78.4360)
-(0.0200,-91.3500)
-(-0.4300,-91.1200)
-(-0.9200,-91.4080)
-(0.5800,-90.7500)
-(0.3300,-90.4700)
-(-0.2200,-90.7700)
-(-17.1800,-70.2000)
-(-18.4200,-69.0920)
-(-19.1500,-68.8300)
-(-20.7300,-68.5500)
-(-21.8800,-68.4000)
-(-24.2500,-67.7700)
-(-33.4000,-69.8000)
-(-34.1610,-69.8330)
-(-33.7820,-69.8970)
-(-34.8140,-70.3520)
-(-35.2400,-70.5700)
-(-35.5800,-70.7500)
-(-35.6530,-70.7610)
-(-37.9200,-71.4500)
-(-38.3770,-71.5800)
-(-39.9270,-72.0270)
-(-40.5200,-72.2000)
-(-40.3500,-72.0700)
-(-41.3260,-72.6140)
-(-42.3770,-72.5780)
-(-45.9000,-72.9700)
-(-47.2000,-73.4800)
-(-49.3580,-73.2800)
-(-50.9640,-73.5850)
-(-49.0200,-73.5500)
-(-52.3300,-73.4000)
-(16.0500,-61.6700)
-(15.3070,-61.3050)
-(14.8200,-61.1700)
-(13.3300,-61.1800)
-(63.6700,-23.3300)
-(63.4300,-20.2800)
-(63.6300,-19.0500)
-(64.4800,-17.8000)
-(64.6300,-17.5300)
-(64.6500,-16.7200)
-(65.0300,-16.7500)
-(65.7300,-16.7800)
-(64.2700,-16.6500)
-(71.0800,-8.1700)
-(38.6000,-28.7300)
-(38.6500,-28.0800)
-(37.6000,-25.8800)
-(28.5700,-17.8300)
-(28.2710,-16.6410)
-(14.9500,-24.3500)
-(-62.1000,-57.9300)
-(-62.9700,-60.6500)
-(-59.4500,-27.3700)
-(-59.0300,-26.5800)
-(-57.0800,-26.6700)
-(-55.9200,-28.0800)
-(38.4040,14.9620)
-(36.7700,12.0200)
-(37.1000,12.7000)
-(36.5860,27.1600)
-(39.3700,43.8700)
-(39.7000,44.3000)
-(15.5500,41.8200)
-(15.0500,42.1800)
-(13.5800,41.8080)
-(8.9750,39.9300)
-(8.8000,39.6920)
-(2.6300,36.6000)
-(-0.9140,36.4460)
-(-2.6800,37.8800)
-(-9.2300,33.7800)
-(33.3080,37.3080)
-(17.0500,42.8300)
-(-18.8060,-174.6500)
-(-14.1750,-169.6180)
-(-5.0560,150.1080)
-(-5.2000,151.2300)
-(-9.1300,159.8200)
-(-18.7500,169.2300)
-(5.4480,95.6580)
-(3.2300,98.5200)
-(-7.1430,107.8400)
-(-7.6250,111.1920)
-(-7.9790,113.3420)
-(-7.7920,123.5790)
-(-7.1250,128.6750)
-(0.7500,124.4200)
-(1.5200,125.2000)
-(6.0130,121.0570)
-(7.6470,124.3200)
-(7.7000,124.5000)
-(7.8770,125.0680)
-(18.2220,122.1230)
-(18.8300,121.8600)
-(20.3300,121.7500)
-(24.0000,121.8300)
-(28.7970,128.9970)
-(36.5680,137.5930)
-(37.5980,140.0760)
-(40.6530,140.3070)
-(17.3200,145.8500)
-(41.8020,141.1700)
-(42.4890,141.1630)
-(43.4530,143.0360)
-(44.0730,145.1260)
-(43.8410,145.5090)
-(43.9760,145.7360)
-(45.3380,147.9250)
-(47.0200,152.1200)
-(47.5200,152.8000)
-(48.8750,154.1750)
-(50.2700,155.2500)
-(56.0700,160.4700)
-(51.9500,178.5430)
-(52.8940,-170.0540)
-(53.1300,-168.6930)
-(54.6500,-164.4300)
-(57.7510,-156.3680)
-(60.0320,-153.0900)
-(56.5800,-130.5500)
-(48.7770,-121.8130)
-(46.8530,-121.7600)
-(45.3740,-121.6950)
-(19.6920,-155.8700)
-(21.1250,-104.5080)
-(19.0300,-97.2680)
-(14.8200,-91.4800)
-(14.5830,-91.1860)
-(13.6720,-89.0530)
-(13.2290,-87.7670)
-(12.9800,-87.5700)
-(10.0250,-83.7670)
-(-0.4810,-78.1410)
-(-0.5380,-77.6260)
-(-0.1800,-91.2800)
-(-20.9300,-68.4800)
-(-22.5500,-67.8500)
-(-24.7200,-68.5300)
-(-33.6580,-78.8500)
-(-37.4060,-71.3490)
-(-39.5000,-71.7000)
-(-40.9690,-72.2640)
-(-41.1000,-72.4930)
-(-42.7930,-72.4390)
-(-54.9500,-70.2500)
-(63.6300,-19.6200)
-(66.3000,-17.1000)
-(49.0000,-34.5000)
-(38.7500,-38.0800)
-(37.8700,-25.7800)
-(29.0300,-13.6300)
-(-66.7800,163.2500)
-(-56.3000,-27.5700)
-(-0.9040,36.2920)
-(-38.7200,77.5300)
-(-39.3000,174.0700)
-(-7.3840,110.0700)
-(-7.4500,110.4300)
-(35.3580,138.7310)
-(41.2760,141.1240)
-(32.4540,139.7620)
-(41.5070,139.3710)
-(55.6800,157.7300)
-(66.4300,143.7300)
-(48.7200,126.1200)
-(52.1770,-175.5080)
-(55.4240,-163.1490)
-(55.4530,-161.8430)
-(55.1200,-128.9000)
-(48.1120,-121.1130)
-(41.4090,-122.1930)
-(38.0000,-119.0300)
-(20.7080,-156.2500)
-(18.5700,-95.2000)
-(5.0920,-75.3000)
-(0.0290,-77.9860)
-(-0.3750,-78.2500)
-(-16.2940,-71.4090)
-(-39.8800,-71.5800)
-(-44.7000,-73.0800)
-(13.8300,-61.0500)
-(64.0000,-16.6500)
-(66.6700,-18.5000)
-(38.4700,-28.4000)
-(38.2300,-26.6300)
-(-74.3500,164.7000)
-(40.8270,14.1390)
-(38.6500,42.2300)
-(11.2800,41.6300)
-(-16.8200,-179.9700)
-(-19.1200,177.9800)
-(-6.0920,155.2250)
-(-6.6420,126.6500)
-(6.1130,124.8920)
-(13.4570,123.4570)
-(36.1520,136.7740)
-(36.9520,139.2890)
-(40.6560,140.8810)
-(33.1300,139.7690)
-(51.3570,156.7500)
-(54.4870,160.2530)
-(54.5930,160.2730)
-(54.7500,157.3800)
-(56.7000,159.6500)
-(41.3300,128.0000)
-(52.3300,-120.5700)
-(8.8080,-82.5430)
-(8.4700,-80.8200)
-(2.9300,-76.0300)
-(-16.6080,-70.8500)
-(17.6300,-63.2300)
-(37.7800,-25.6700)
-(37.7700,-25.4700)
-(37.7700,-25.3200)
-(43.2500,10.8700)
-(40.7300,13.8970)
-(38.4800,14.9500)
-(36.6990,24.4390)
-(43.3300,42.4500)
-(18.3300,32.7500)
-(36.6700,37.0000)
-(27.0800,37.2500)
-(25.1700,37.7500)
-(25.0000,39.9200)
-(23.0800,39.7800)
-(15.6300,44.0800)
-(13.5800,46.1200)
-(-35.3000,173.9000)
-(-36.9000,174.8700)
-(-38.4200,176.3300)
-(-38.4200,176.0800)
-(-38.8200,176.0000)
-(-34.9800,179.0000)
-(-5.3300,151.1000)
-(-9.6200,150.8800)
-(7.3820,126.0470)
-(14.1200,121.3000)
-(20.4690,122.0100)
-(29.9640,129.9270)
-(31.2200,130.5700)
-(33.2800,131.4320)
-(36.4740,138.8810)
-(38.7330,140.7320)
-(40.4700,140.9200)
-(34.3930,139.2730)
-(34.2160,139.1560)
-(17.6000,145.8300)
-(43.6610,142.8580)
-(43.5700,144.5650)
-(43.6080,144.4430)
-(51.4500,156.9700)
-(52.6300,157.5800)
-(52.5430,157.3350)
-(53.7500,158.4500)
-(53.8300,158.0500)
-(55.0320,160.7200)
-(57.3300,160.2000)
-(57.3500,160.9700)
-(42.9000,89.2500)
-(42.5000,82.5000)
-(42.3300,126.5000)
-(33.3700,126.5300)
-(61.6400,-152.4110)
-(65.6000,-163.9200)
-(61.3800,-141.7500)
-(57.7200,-130.6300)
-(46.2060,-121.4900)
-(44.6740,-121.8000)
-(44.4110,-121.7740)
-(44.3800,-121.9300)
-(44.2850,-121.8410)
-(44.1700,-121.7700)
-(43.7220,-121.2290)
-(41.6110,-121.5540)
-(37.8800,-119.0000)
-(37.6920,-119.0200)
-(37.6310,-119.0320)
-(37.5800,-112.6700)
-(38.9700,-112.5000)
-(36.3800,-113.1300)
-(35.3700,-111.5000)
-(19.7300,-99.7580)
-(19.0800,-99.1300)
-(19.4920,-97.1500)
-(4.4800,-75.3920)
-(-0.8500,-78.9000)
-(-1.4640,-78.8150)
-(-0.0200,-91.5460)
-(-18.1700,-69.1500)
-(-27.1200,-68.5500)
-(-38.9700,-71.5200)
-(-39.6330,-71.5000)
-(-44.0800,-72.8800)
-(-45.1000,-73.1700)
-(17.4780,-62.9600)
-(17.3700,-62.8000)
-(15.3700,-61.3300)
-(15.2550,-61.3410)
-(64.8000,-23.7800)
-(64.8700,-22.2300)
-(63.8800,-22.5000)
-(63.9300,-22.1000)
-(63.9200,-21.8300)
-(64.1800,-21.3300)
-(64.7500,-19.9800)
-(63.9200,-19.1700)
-(63.9200,-19.6700)
-(50.1700,6.8500)
-(45.7750,2.9700)
-(42.6000,11.9300)
-(37.6150,23.3360)
-(38.1300,34.1700)
-(38.5700,34.5200)
-(38.9200,42.8200)
-(42.7000,44.5000)
-(40.2750,44.7500)
-(39.7000,45.5420)
-(40.0200,45.7800)
-(39.7300,46.0200)
-(7.7700,38.7800)
-(1.9800,36.4300)
-(1.1500,36.2300)
-(0.9200,36.1800)
-(-0.2000,36.0700)
-(-1.5000,29.4500)
-(12.9500,24.2700)
-(15.3200,26.4700)
-(15.4300,44.7800)
-(-19.0000,46.7700)
-(-37.2800,176.2500)
-(-30.2000,-178.4700)
-(-4.1200,152.2000)
-(-4.0800,153.6500)
-(-6.5200,155.6200)
-(-37.7700,142.5000)
-(-8.8750,120.9500)
-(14.5200,120.4700)
-(20.9200,95.2500)
-(31.7680,130.5940)
-(32.6530,128.8510)
-(35.1300,132.6200)
-(35.2300,139.0240)
-(36.1030,137.5570)
-(36.4080,137.5940)
-(36.8880,138.1200)
-(36.8970,139.7800)
-(37.4500,139.5790)
-(39.9310,139.8790)
-(39.9500,139.7300)
-(34.5170,139.2830)
-(33.8710,139.6050)
-(42.8800,140.6300)
-(42.8300,140.8150)
-(45.1800,141.2500)
-(44.6080,146.9940)
-(51.4500,157.1200)
-(52.0630,157.7030)
-(52.7000,158.2800)
-(52.8230,158.2700)
-(53.9050,158.0700)
-(53.9050,158.3850)
-(54.3200,160.0200)
-(54.5300,159.8000)
-(54.5000,159.9700)
-(54.9730,160.7020)
-(55.0700,160.7700)
-(55.4200,167.3300)
-(56.4700,157.8000)
-(57.1500,161.0800)
-(57.2000,159.8300)
-(57.2700,160.0800)
-(57.3500,161.3700)
-(57.4000,160.1000)
-(57.5500,160.5300)
-(57.9700,160.6500)
-(58.1300,160.8200)
-(58.1800,160.8200)
-(58.2800,160.8700)
-(56.2800,117.7700)
-(48.1700,99.7000)
-(44.0800,128.8300)
-(37.5000,130.8700)
-(55.6410,-161.2140)
-(56.5520,-158.7850)
-(57.0190,-157.1850)
-(58.6080,-154.0280)
-(57.1800,-170.3000)
-(64.0700,-148.4200)
-(57.0500,-135.7500)
-(56.7800,-131.2800)
-(52.9000,-123.7300)
-(50.6300,-123.5000)
-(49.8500,-123.0000)
-(45.8800,-122.0800)
-(45.9300,-121.8200)
-(44.1030,-121.7680)
-(43.9790,-121.6880)
-(43.5700,-121.8200)
-(42.9300,-122.1200)
-(43.1470,-117.4600)
-(37.0200,-117.4500)
-(36.3580,-118.3200)
-(43.1800,-114.3500)
-(43.4200,-113.5000)
-(42.8800,-113.2200)
-(43.5000,-112.4500)
-(44.4300,-110.6700)
-(39.6610,-107.0350)
-(33.7800,-105.9300)
-(34.8000,-108.0000)
-(19.8200,-155.4700)
-(-25.3700,-129.2700)
-(27.4700,-112.5910)
-(19.4000,-100.2500)
-(19.1080,-99.7580)
-(19.2300,-98.0300)
-(19.6700,-96.7500)
-(19.1500,-97.2700)
-(14.1560,-90.4070)
-(12.2420,-86.3420)
-(10.1350,-84.1000)
-(5.2060,-75.3640)
-(4.8200,-75.3700)
-(1.0800,-77.6800)
-(0.5520,-77.5800)
-(0.3080,-78.3640)
-(0.2580,-78.1830)
-(0.0380,-78.4630)
-(-0.3530,-78.6170)
-(-14.2000,-71.3300)
-(-18.1000,-69.5000)
-(-24.4000,-68.2500)
-(-36.1930,-71.1610)
-(-39.2500,-71.7000)
-(-41.2500,-72.2700)
-(-42.8330,-72.6460)
-(-43.5000,-72.8000)
-(-43.1800,-72.8000)
-(-50.3300,-73.7500)
-(-52.0000,-70.0000)
-(64.0300,-20.8700)
-(64.6000,-20.5800)
-(65.4300,-16.6500)
-(65.8800,-16.8300)
-(39.4620,-31.2160)
-(32.7300,-16.9700)
-(27.7300,-18.0300)
-(28.0000,-15.5800)
-(-54.4200,3.3500)
-(-72.6700,165.5000)
-(-76.0500,-136.0000)
+813
+(38.7890,15.2130)
+(37.7340,15.0040)
+(13.6000,40.6700)
+(12.6000,40.4800)
+(-2.7640,35.9140)
+(-1.4080,29.2000)
+(-1.5200,29.2500)
+(4.2030,9.1700)
+(-11.7500,43.3800)
+(-21.2310,55.7130)
+(-53.0300,72.6000)
+(-53.1060,73.5130)
+(-46.9000,37.7500)
+(-37.5200,177.1800)
+(-39.2800,175.5700)
+(-29.2700,-177.9200)
+(-25.8870,-177.1880)
+(-18.9920,-174.7750)
+(-18.3250,-174.3650)
+(-14.2150,-169.0580)
+(-4.0800,145.0370)
+(-5.5200,148.1210)
+(-5.5250,148.4200)
+(-5.4500,150.0300)
+(-5.5800,150.5200)
+(-5.5000,150.9420)
+(-5.0500,151.3300)
+(-4.2710,152.2030)
+(-6.1400,155.1950)
+(-9.0200,157.9500)
+(-10.3800,165.8000)
+(-15.4000,167.8300)
+(-16.2500,168.1200)
+(-16.5070,168.3460)
+(-16.6800,168.3700)
+(-19.5300,169.4420)
+(12.2780,93.8580)
+(4.9140,96.3290)
+(-0.3810,100.4730)
+(-0.9780,100.6790)
+(-1.6970,101.2640)
+(-3.5200,102.6200)
+(-6.1020,105.4230)
+(-7.3200,107.7300)
+(-7.5420,110.4420)
+(-8.1080,112.9200)
+(-7.9420,112.9500)
+(-8.1250,114.0420)
+(-8.2420,115.3750)
+(-8.4200,116.4700)
+(-8.7300,120.9800)
+(-8.6700,122.4500)
+(-8.5420,122.7750)
+(-8.3580,122.8420)
+(1.1080,124.7300)
+(1.3580,124.7920)
+(2.3000,125.3700)
+(2.7800,125.4000)
+(3.6700,125.5000)
+(1.6800,127.8800)
+(1.4880,127.6300)
+(0.8000,127.3300)
+(10.4120,123.1320)
+(12.7700,124.0500)
+(13.2570,123.6850)
+(29.6350,129.7160)
+(30.7890,130.3080)
+(31.5850,130.6570)
+(32.8810,131.1060)
+(36.4030,138.5260)
+(34.0790,139.5290)
+(30.4800,140.3060)
+(24.7540,141.2900)
+(24.2800,141.4850)
+(20.4200,145.0300)
+(18.1300,145.8000)
+(16.3500,145.6700)
+(14.6010,144.7750)
+(42.0610,140.6810)
+(42.5410,140.8430)
+(43.3840,144.0130)
+(50.3250,155.4580)
+(50.6800,156.0200)
+(52.4530,158.1950)
+(53.2550,158.8300)
+(54.0500,159.4500)
+(55.9780,160.5870)
+(56.0570,160.6380)
+(56.6530,161.3600)
+(52.3810,-174.1540)
+(52.8250,-169.9440)
+(54.7560,-163.9700)
+(56.1700,-159.3800)
+(58.7700,-153.6720)
+(59.3630,-153.4300)
+(46.2000,-122.1800)
+(19.4210,-155.2870)
+(9.8200,-104.3000)
+(19.5140,-103.6200)
+(19.0230,-98.6220)
+(14.7560,-91.5520)
+(14.4730,-90.8800)
+(14.3810,-90.6010)
+(13.8530,-89.6300)
+(13.4340,-88.2690)
+(12.7020,-87.0040)
+(12.6020,-86.8450)
+(11.9840,-86.1610)
+(11.5380,-85.6220)
+(10.4630,-84.7030)
+(10.2000,-84.2330)
+(1.2200,-77.3700)
+(-0.0770,-77.6560)
+(-0.1710,-78.5980)
+(-1.4670,-78.4420)
+(-2.0020,-78.3410)
+(-0.3700,-91.5500)
+(-0.8300,-91.1700)
+(-15.7800,-71.8500)
+(-16.3550,-70.9030)
+(-23.3700,-67.7300)
+(-36.8630,-71.3770)
+(-37.8500,-71.1700)
+(-38.6920,-71.7290)
+(-39.4200,-71.9300)
+(16.7200,-62.1800)
+(12.3000,-61.6400)
+(63.9800,-19.7000)
+(64.4200,-17.3300)
+(38.7300,-27.3200)
+(-37.0920,-12.2800)
+(-77.5300,167.1700)
+(-58.4200,-26.3300)
+(-57.7800,-26.4500)
+(40.8210,14.4260)
+(36.4040,25.3960)
+(14.2420,40.3000)
+(12.8800,40.5700)
+(12.3800,42.2000)
+(11.5800,42.4700)
+(8.1580,39.1300)
+(2.3200,36.5700)
+(1.5000,36.3300)
+(-3.2500,36.7500)
+(-1.4700,29.4920)
+(3.5800,8.7500)
+(14.5700,44.6700)
+(-37.7210,77.8250)
+(-38.1200,176.5000)
+(-39.1300,175.6420)
+(-35.7450,178.4780)
+(-21.3800,-175.6500)
+(-20.8500,-175.5300)
+(-20.5700,-175.3800)
+(-20.3200,-175.4200)
+(-19.7500,-175.0700)
+(-19.1800,-174.8700)
+(-15.6200,-173.6700)
+(-18.0200,-174.3250)
+(-15.6000,-175.6300)
+(-13.6120,-172.5250)
+(-2.3800,147.3500)
+(-3.0300,147.7800)
+(-3.6130,144.8180)
+(-4.6490,145.9640)
+(-5.3580,147.1200)
+(-4.9200,151.1580)
+(-8.9500,148.1500)
+(-9.2000,149.0700)
+(-9.5700,149.0750)
+(-8.2920,156.5200)
+(-13.8000,167.4700)
+(-14.2700,167.5000)
+(-16.8290,168.5360)
+(-20.9800,170.2800)
+(-22.3300,171.3200)
+(-22.4000,172.0500)
+(-25.7800,168.6300)
+(4.8130,96.8200)
+(0.6860,99.5390)
+(-0.4330,100.3170)
+(-2.4140,101.7280)
+(-4.0300,103.1300)
+(-4.4300,103.6700)
+(-5.2500,104.2700)
+(-6.7300,106.6500)
+(-6.7200,106.7300)
+(-6.7800,106.9800)
+(-6.7700,107.6000)
+(-7.2500,108.0580)
+(-6.8920,108.4000)
+(-7.2420,109.2080)
+(-7.2000,109.9200)
+(-7.3000,109.9920)
+(-7.9300,112.3080)
+(-7.7250,112.5800)
+(-8.0580,114.2420)
+(-8.3420,115.5080)
+(-8.2500,118.0000)
+(-8.2000,119.0700)
+(-8.6200,120.5200)
+(-8.8200,121.1800)
+(-8.8970,121.6450)
+(-8.7700,121.8200)
+(-8.3200,121.7080)
+(-8.3420,123.2580)
+(-8.2720,123.5050)
+(-8.5300,123.5700)
+(-8.5080,124.1300)
+(-6.9200,129.1250)
+(-6.7300,129.5000)
+(-6.3000,130.0000)
+(-4.5250,129.8710)
+(-0.1700,121.6080)
+(1.3580,124.8580)
+(3.1380,125.4910)
+(1.3800,127.5300)
+(0.3200,127.4000)
+(9.2030,124.6730)
+(11.5230,124.5350)
+(14.0020,120.9930)
+(15.1300,120.3500)
+(19.0770,122.2020)
+(19.5230,121.9400)
+(10.1580,109.0140)
+(24.5580,124.0000)
+(27.8770,128.2240)
+(29.8560,129.8590)
+(30.4400,130.2190)
+(31.9310,130.8640)
+(32.7570,130.2940)
+(33.0830,131.2510)
+(34.9000,139.0980)
+(35.8900,137.4800)
+(36.2240,137.5900)
+(36.9180,138.0390)
+(36.6200,138.5350)
+(36.7960,139.3790)
+(37.1220,139.9660)
+(37.6440,140.2860)
+(37.7320,140.2480)
+(38.1410,140.4430)
+(38.9580,140.7920)
+(39.0960,140.0520)
+(39.7580,140.8030)
+(39.8500,141.0040)
+(39.9610,140.7610)
+(34.7210,139.3980)
+(31.8800,139.9200)
+(31.4360,140.0540)
+(27.2740,140.8820)
+(26.1220,141.1020)
+(25.4240,141.2840)
+(24.4140,141.4190)
+(23.4970,141.9400)
+(21.9300,143.4700)
+(21.7650,143.7100)
+(20.1300,145.1000)
+(20.5300,144.9000)
+(19.6700,145.4000)
+(18.7700,145.6700)
+(15.6200,145.5700)
+(42.6880,141.3800)
+(43.4160,142.6900)
+(44.1310,145.1650)
+(44.3510,146.2560)
+(44.8050,147.1350)
+(45.0260,147.9220)
+(45.0970,148.0240)
+(45.3870,148.8430)
+(46.0420,150.0500)
+(46.5250,150.8750)
+(46.4700,151.2800)
+(46.8300,151.7500)
+(46.9250,151.9500)
+(47.3500,152.4750)
+(47.7700,153.0200)
+(48.0800,153.3300)
+(48.0920,153.2000)
+(48.2920,153.2500)
+(48.9800,153.4800)
+(48.9580,153.9300)
+(49.1200,154.5080)
+(49.3500,154.7000)
+(49.5700,154.8080)
+(50.1300,155.3700)
+(50.8580,155.5500)
+(51.4900,157.2000)
+(51.5700,157.3230)
+(51.8000,157.5300)
+(52.5580,158.0300)
+(53.3200,158.6880)
+(53.9800,159.4500)
+(53.5900,159.1470)
+(54.1300,159.6700)
+(54.7530,160.5270)
+(55.1300,160.3200)
+(55.8300,160.3300)
+(35.5200,80.2000)
+(41.9800,128.0800)
+(52.1030,177.6020)
+(51.9300,179.5800)
+(51.7900,-178.7940)
+(51.8850,-178.1460)
+(51.9230,-177.1680)
+(52.0760,-176.1300)
+(52.3150,-172.5100)
+(52.5000,-171.2520)
+(52.6430,-170.6290)
+(52.9740,-169.7200)
+(53.4300,-168.1300)
+(53.9300,-168.0300)
+(53.8910,-166.9230)
+(54.1340,-165.9860)
+(54.5180,-164.6500)
+(55.4200,-161.8870)
+(56.0110,-159.7970)
+(56.8800,-158.1700)
+(57.1350,-156.9900)
+(57.8320,-156.5100)
+(58.1720,-155.3610)
+(58.2360,-155.1000)
+(58.2800,-154.9630)
+(58.2700,-155.1570)
+(60.4850,-152.7420)
+(61.2990,-152.2510)
+(62.0000,-144.0200)
+(40.4920,-121.5080)
+(46.5200,-129.5800)
+(45.9500,-130.0000)
+(44.8300,-130.3000)
+(42.6700,-126.7800)
+(18.9200,-155.2700)
+(19.4750,-155.6080)
+(23.5800,-163.8300)
+(0.7920,-86.1500)
+(-17.4360,-113.2060)
+(-28.9800,-140.2500)
+(18.7800,-110.9500)
+(19.3000,-110.8200)
+(19.4800,-102.2500)
+(17.3600,-93.2280)
+(15.1300,-92.1120)
+(14.5010,-90.8760)
+(13.8130,-89.6330)
+(13.7340,-89.2940)
+(12.5060,-86.7020)
+(12.4950,-86.6880)
+(12.4220,-86.5400)
+(10.8300,-85.3240)
+(10.7480,-85.1530)
+(9.9790,-83.8520)
+(4.8950,-75.3220)
+(4.6700,-75.3300)
+(2.3200,-76.4000)
+(1.4700,-76.9200)
+(0.9500,-77.8700)
+(0.8280,-77.9640)
+(-0.6770,-78.4360)
+(0.0200,-91.3500)
+(-0.4300,-91.1200)
+(-0.9200,-91.4080)
+(0.5800,-90.7500)
+(0.3300,-90.4700)
+(-0.2200,-90.7700)
+(-17.1800,-70.2000)
+(-18.4200,-69.0920)
+(-19.1500,-68.8300)
+(-20.7300,-68.5500)
+(-21.8800,-68.4000)
+(-24.2500,-67.7700)
+(-33.4000,-69.8000)
+(-34.1610,-69.8330)
+(-33.7820,-69.8970)
+(-34.8140,-70.3520)
+(-35.2400,-70.5700)
+(-35.5800,-70.7500)
+(-35.6530,-70.7610)
+(-37.9200,-71.4500)
+(-38.3770,-71.5800)
+(-39.9270,-72.0270)
+(-40.5200,-72.2000)
+(-40.3500,-72.0700)
+(-41.3260,-72.6140)
+(-42.3770,-72.5780)
+(-45.9000,-72.9700)
+(-47.2000,-73.4800)
+(-49.3580,-73.2800)
+(-50.9640,-73.5850)
+(-49.0200,-73.5500)
+(-52.3300,-73.4000)
+(16.0500,-61.6700)
+(15.3070,-61.3050)
+(14.8200,-61.1700)
+(13.3300,-61.1800)
+(63.6700,-23.3300)
+(63.4300,-20.2800)
+(63.6300,-19.0500)
+(64.4800,-17.8000)
+(64.6300,-17.5300)
+(64.6500,-16.7200)
+(65.0300,-16.7500)
+(65.7300,-16.7800)
+(64.2700,-16.6500)
+(71.0800,-8.1700)
+(38.6000,-28.7300)
+(38.6500,-28.0800)
+(37.6000,-25.8800)
+(28.5700,-17.8300)
+(28.2710,-16.6410)
+(14.9500,-24.3500)
+(-62.1000,-57.9300)
+(-62.9700,-60.6500)
+(-59.4500,-27.3700)
+(-59.0300,-26.5800)
+(-57.0800,-26.6700)
+(-55.9200,-28.0800)
+(38.4040,14.9620)
+(36.7700,12.0200)
+(37.1000,12.7000)
+(36.5860,27.1600)
+(39.3700,43.8700)
+(39.7000,44.3000)
+(15.5500,41.8200)
+(15.0500,42.1800)
+(13.5800,41.8080)
+(8.9750,39.9300)
+(8.8000,39.6920)
+(2.6300,36.6000)
+(-0.9140,36.4460)
+(-2.6800,37.8800)
+(-9.2300,33.7800)
+(33.3080,37.3080)
+(17.0500,42.8300)
+(-18.8060,-174.6500)
+(-14.1750,-169.6180)
+(-5.0560,150.1080)
+(-5.2000,151.2300)
+(-9.1300,159.8200)
+(-18.7500,169.2300)
+(5.4480,95.6580)
+(3.2300,98.5200)
+(-7.1430,107.8400)
+(-7.6250,111.1920)
+(-7.9790,113.3420)
+(-7.7920,123.5790)
+(-7.1250,128.6750)
+(0.7500,124.4200)
+(1.5200,125.2000)
+(6.0130,121.0570)
+(7.6470,124.3200)
+(7.7000,124.5000)
+(7.8770,125.0680)
+(18.2220,122.1230)
+(18.8300,121.8600)
+(20.3300,121.7500)
+(24.0000,121.8300)
+(28.7970,128.9970)
+(36.5680,137.5930)
+(37.5980,140.0760)
+(40.6530,140.3070)
+(17.3200,145.8500)
+(41.8020,141.1700)
+(42.4890,141.1630)
+(43.4530,143.0360)
+(44.0730,145.1260)
+(43.8410,145.5090)
+(43.9760,145.7360)
+(45.3380,147.9250)
+(47.0200,152.1200)
+(47.5200,152.8000)
+(48.8750,154.1750)
+(50.2700,155.2500)
+(56.0700,160.4700)
+(51.9500,178.5430)
+(52.8940,-170.0540)
+(53.1300,-168.6930)
+(54.6500,-164.4300)
+(57.7510,-156.3680)
+(60.0320,-153.0900)
+(56.5800,-130.5500)
+(48.7770,-121.8130)
+(46.8530,-121.7600)
+(45.3740,-121.6950)
+(19.6920,-155.8700)
+(21.1250,-104.5080)
+(19.0300,-97.2680)
+(14.8200,-91.4800)
+(14.5830,-91.1860)
+(13.6720,-89.0530)
+(13.2290,-87.7670)
+(12.9800,-87.5700)
+(10.0250,-83.7670)
+(-0.4810,-78.1410)
+(-0.5380,-77.6260)
+(-0.1800,-91.2800)
+(-20.9300,-68.4800)
+(-22.5500,-67.8500)
+(-24.7200,-68.5300)
+(-33.6580,-78.8500)
+(-37.4060,-71.3490)
+(-39.5000,-71.7000)
+(-40.9690,-72.2640)
+(-41.1000,-72.4930)
+(-42.7930,-72.4390)
+(-54.9500,-70.2500)
+(63.6300,-19.6200)
+(66.3000,-17.1000)
+(49.0000,-34.5000)
+(38.7500,-38.0800)
+(37.8700,-25.7800)
+(29.0300,-13.6300)
+(-66.7800,163.2500)
+(-56.3000,-27.5700)
+(-0.9040,36.2920)
+(-38.7200,77.5300)
+(-39.3000,174.0700)
+(-7.3840,110.0700)
+(-7.4500,110.4300)
+(35.3580,138.7310)
+(41.2760,141.1240)
+(32.4540,139.7620)
+(41.5070,139.3710)
+(55.6800,157.7300)
+(66.4300,143.7300)
+(48.7200,126.1200)
+(52.1770,-175.5080)
+(55.4240,-163.1490)
+(55.4530,-161.8430)
+(55.1200,-128.9000)
+(48.1120,-121.1130)
+(41.4090,-122.1930)
+(38.0000,-119.0300)
+(20.7080,-156.2500)
+(18.5700,-95.2000)
+(5.0920,-75.3000)
+(0.0290,-77.9860)
+(-0.3750,-78.2500)
+(-16.2940,-71.4090)
+(-39.8800,-71.5800)
+(-44.7000,-73.0800)
+(13.8300,-61.0500)
+(64.0000,-16.6500)
+(66.6700,-18.5000)
+(38.4700,-28.4000)
+(38.2300,-26.6300)
+(-74.3500,164.7000)
+(40.8270,14.1390)
+(38.6500,42.2300)
+(11.2800,41.6300)
+(-16.8200,-179.9700)
+(-19.1200,177.9800)
+(-6.0920,155.2250)
+(-6.6420,126.6500)
+(6.1130,124.8920)
+(13.4570,123.4570)
+(36.1520,136.7740)
+(36.9520,139.2890)
+(40.6560,140.8810)
+(33.1300,139.7690)
+(51.3570,156.7500)
+(54.4870,160.2530)
+(54.5930,160.2730)
+(54.7500,157.3800)
+(56.7000,159.6500)
+(41.3300,128.0000)
+(52.3300,-120.5700)
+(8.8080,-82.5430)
+(8.4700,-80.8200)
+(2.9300,-76.0300)
+(-16.6080,-70.8500)
+(17.6300,-63.2300)
+(37.7800,-25.6700)
+(37.7700,-25.4700)
+(37.7700,-25.3200)
+(43.2500,10.8700)
+(40.7300,13.8970)
+(38.4800,14.9500)
+(36.6990,24.4390)
+(43.3300,42.4500)
+(18.3300,32.7500)
+(36.6700,37.0000)
+(27.0800,37.2500)
+(25.1700,37.7500)
+(25.0000,39.9200)
+(23.0800,39.7800)
+(15.6300,44.0800)
+(13.5800,46.1200)
+(-35.3000,173.9000)
+(-36.9000,174.8700)
+(-38.4200,176.3300)
+(-38.4200,176.0800)
+(-38.8200,176.0000)
+(-34.9800,179.0000)
+(-5.3300,151.1000)
+(-9.6200,150.8800)
+(7.3820,126.0470)
+(14.1200,121.3000)
+(20.4690,122.0100)
+(29.9640,129.9270)
+(31.2200,130.5700)
+(33.2800,131.4320)
+(36.4740,138.8810)
+(38.7330,140.7320)
+(40.4700,140.9200)
+(34.3930,139.2730)
+(34.2160,139.1560)
+(17.6000,145.8300)
+(43.6610,142.8580)
+(43.5700,144.5650)
+(43.6080,144.4430)
+(51.4500,156.9700)
+(52.6300,157.5800)
+(52.5430,157.3350)
+(53.7500,158.4500)
+(53.8300,158.0500)
+(55.0320,160.7200)
+(57.3300,160.2000)
+(57.3500,160.9700)
+(42.9000,89.2500)
+(42.5000,82.5000)
+(42.3300,126.5000)
+(33.3700,126.5300)
+(61.6400,-152.4110)
+(65.6000,-163.9200)
+(61.3800,-141.7500)
+(57.7200,-130.6300)
+(46.2060,-121.4900)
+(44.6740,-121.8000)
+(44.4110,-121.7740)
+(44.3800,-121.9300)
+(44.2850,-121.8410)
+(44.1700,-121.7700)
+(43.7220,-121.2290)
+(41.6110,-121.5540)
+(37.8800,-119.0000)
+(37.6920,-119.0200)
+(37.6310,-119.0320)
+(37.5800,-112.6700)
+(38.9700,-112.5000)
+(36.3800,-113.1300)
+(35.3700,-111.5000)
+(19.7300,-99.7580)
+(19.0800,-99.1300)
+(19.4920,-97.1500)
+(4.4800,-75.3920)
+(-0.8500,-78.9000)
+(-1.4640,-78.8150)
+(-0.0200,-91.5460)
+(-18.1700,-69.1500)
+(-27.1200,-68.5500)
+(-38.9700,-71.5200)
+(-39.6330,-71.5000)
+(-44.0800,-72.8800)
+(-45.1000,-73.1700)
+(17.4780,-62.9600)
+(17.3700,-62.8000)
+(15.3700,-61.3300)
+(15.2550,-61.3410)
+(64.8000,-23.7800)
+(64.8700,-22.2300)
+(63.8800,-22.5000)
+(63.9300,-22.1000)
+(63.9200,-21.8300)
+(64.1800,-21.3300)
+(64.7500,-19.9800)
+(63.9200,-19.1700)
+(63.9200,-19.6700)
+(50.1700,6.8500)
+(45.7750,2.9700)
+(42.6000,11.9300)
+(37.6150,23.3360)
+(38.1300,34.1700)
+(38.5700,34.5200)
+(38.9200,42.8200)
+(42.7000,44.5000)
+(40.2750,44.7500)
+(39.7000,45.5420)
+(40.0200,45.7800)
+(39.7300,46.0200)
+(7.7700,38.7800)
+(1.9800,36.4300)
+(1.1500,36.2300)
+(0.9200,36.1800)
+(-0.2000,36.0700)
+(-1.5000,29.4500)
+(12.9500,24.2700)
+(15.3200,26.4700)
+(15.4300,44.7800)
+(-19.0000,46.7700)
+(-37.2800,176.2500)
+(-30.2000,-178.4700)
+(-4.1200,152.2000)
+(-4.0800,153.6500)
+(-6.5200,155.6200)
+(-37.7700,142.5000)
+(-8.8750,120.9500)
+(14.5200,120.4700)
+(20.9200,95.2500)
+(31.7680,130.5940)
+(32.6530,128.8510)
+(35.1300,132.6200)
+(35.2300,139.0240)
+(36.1030,137.5570)
+(36.4080,137.5940)
+(36.8880,138.1200)
+(36.8970,139.7800)
+(37.4500,139.5790)
+(39.9310,139.8790)
+(39.9500,139.7300)
+(34.5170,139.2830)
+(33.8710,139.6050)
+(42.8800,140.6300)
+(42.8300,140.8150)
+(45.1800,141.2500)
+(44.6080,146.9940)
+(51.4500,157.1200)
+(52.0630,157.7030)
+(52.7000,158.2800)
+(52.8230,158.2700)
+(53.9050,158.0700)
+(53.9050,158.3850)
+(54.3200,160.0200)
+(54.5300,159.8000)
+(54.5000,159.9700)
+(54.9730,160.7020)
+(55.0700,160.7700)
+(55.4200,167.3300)
+(56.4700,157.8000)
+(57.1500,161.0800)
+(57.2000,159.8300)
+(57.2700,160.0800)
+(57.3500,161.3700)
+(57.4000,160.1000)
+(57.5500,160.5300)
+(57.9700,160.6500)
+(58.1300,160.8200)
+(58.1800,160.8200)
+(58.2800,160.8700)
+(56.2800,117.7700)
+(48.1700,99.7000)
+(44.0800,128.8300)
+(37.5000,130.8700)
+(55.6410,-161.2140)
+(56.5520,-158.7850)
+(57.0190,-157.1850)
+(58.6080,-154.0280)
+(57.1800,-170.3000)
+(64.0700,-148.4200)
+(57.0500,-135.7500)
+(56.7800,-131.2800)
+(52.9000,-123.7300)
+(50.6300,-123.5000)
+(49.8500,-123.0000)
+(45.8800,-122.0800)
+(45.9300,-121.8200)
+(44.1030,-121.7680)
+(43.9790,-121.6880)
+(43.5700,-121.8200)
+(42.9300,-122.1200)
+(43.1470,-117.4600)
+(37.0200,-117.4500)
+(36.3580,-118.3200)
+(43.1800,-114.3500)
+(43.4200,-113.5000)
+(42.8800,-113.2200)
+(43.5000,-112.4500)
+(44.4300,-110.6700)
+(39.6610,-107.0350)
+(33.7800,-105.9300)
+(34.8000,-108.0000)
+(19.8200,-155.4700)
+(-25.3700,-129.2700)
+(27.4700,-112.5910)
+(19.4000,-100.2500)
+(19.1080,-99.7580)
+(19.2300,-98.0300)
+(19.6700,-96.7500)
+(19.1500,-97.2700)
+(14.1560,-90.4070)
+(12.2420,-86.3420)
+(10.1350,-84.1000)
+(5.2060,-75.3640)
+(4.8200,-75.3700)
+(1.0800,-77.6800)
+(0.5520,-77.5800)
+(0.3080,-78.3640)
+(0.2580,-78.1830)
+(0.0380,-78.4630)
+(-0.3530,-78.6170)
+(-14.2000,-71.3300)
+(-18.1000,-69.5000)
+(-24.4000,-68.2500)
+(-36.1930,-71.1610)
+(-39.2500,-71.7000)
+(-41.2500,-72.2700)
+(-42.8330,-72.6460)
+(-43.5000,-72.8000)
+(-43.1800,-72.8000)
+(-50.3300,-73.7500)
+(-52.0000,-70.0000)
+(64.0300,-20.8700)
+(64.6000,-20.5800)
+(65.4300,-16.6500)
+(65.8800,-16.8300)
+(39.4620,-31.2160)
+(32.7300,-16.9700)
+(27.7300,-18.0300)
+(28.0000,-15.5800)
+(-54.4200,3.3500)
+(-72.6700,165.5000)
+(-76.0500,-136.0000)
(-76.2800,-112.0800) \ No newline at end of file
diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md
index bfb72cd7cf..80910639b8 100644
--- a/macros/latex/required/babel/base/README.md
+++ b/macros/latex/required/babel/base/README.md
@@ -1,4 +1,4 @@
-## Babel 3.67
+## Babel 3.68
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -8,9 +8,9 @@ is a set of ini files for about 250 languages.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 3.67 are described in:
+Changes in version 3.68 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-3.67.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.68.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -46,18 +46,14 @@ respective authors.
### Summary of Latest changes
```
-3.67 2021-11-29
- * \IfBabelSelectorTF executes code conditionally based on the
- selector type (select, foreign, etc.).
- * Transforms can be turned on and off based on Lua attributes.
-
-3.66 2021-11-08
- * Transforms for Greek:
- - transliteration.omega
- - sigma.final
- * Fixes for bidi texts:
- - For tcolorbox (#145, #146).
- - Some improvements for tikz/pgf.
+3.68 2021-12-28
+ * Fixes:
+ - Assamese, Bengali, Gujarati set incorrectly prehyphenchar.
+ - The syntax provide=* didn’t work with Hebrew and a few other
+ languages.
+ - Wrong equation direction in first column in array and tabular
+ environment (#158).
+ - Tentative fixes for labels in displayed math (#159).
```
### Previous changes
diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx
index 666c1b1eef..1c08c96668 100644
--- a/macros/latex/required/babel/base/babel.dtx
+++ b/macros/latex/required/babel/base/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2021/11/29 v3.67 The Babel package]
+\ProvidesFile{babel.dtx}[2021/12/28 v3.68 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -5118,8 +5118,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.67>>
-%<<date=2021/11/29>>
+%<<version=3.68>>
+%<<date=2021/12/28>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -5196,10 +5196,11 @@ help from Bernd Raichle, for which I am grateful.
%
% Now, just syntactical sugar, but it makes partial expansion of
% some code a lot more simple and readable. Here |\\| stands for
-% |\noexpand| and |\<..>| for |\noexpand| applied to a built macro
-% name (the latter does not define the macro if undefined to
-% |\relax|, because it is created locally). The result may be
-% followed by extra arguments, if necessary.
+% |\noexpand|, |\<..>| for |\noexpand| applied to a built macro
+% name (which does not define the macro if undefined to
+% |\relax|, because it is created locally), and |\[..]| for one-level
+% expansion (where |..| is the macro name without the backslash). The
+% result may be followed by extra arguments, if necessary.
%
% \begin{macrocode}
\def\bbl@exp#1{%
@@ -5896,16 +5897,6 @@ help from Bernd Raichle, for which I am grateful.
\fi
% \end{macrocode}
%
-% Make sure the language set with `main` is the last one.
-%
-% \begin{macrocode}
-\ifx\bbl@opt@main\@nnil\else
- \edef\bbl@language@opts{%
- \ifx\bbl@language@opts\@empty\else\bbl@language@opts,\fi
- \bbl@opt@main}
-\fi
-% \end{macrocode}
-%
% For |layout| an auxiliary macro is provided, available for packages
% and language styles. Optimization: if there is no |layout|, just do
% nothing.
@@ -10213,8 +10204,8 @@ help from Bernd Raichle, for which I am grateful.
\ifeof\bbl@readstream
\bbl@error
{There is no ini file for the requested language\\%
- (#1). Perhaps you misspelled it or your installation\\%
- is not complete.}%
+ (#1: \languagename). Perhaps you misspelled it or your\\%
+ installation is not complete.}%
{Fix the name or reinstall babel.}%
\else
% == Store ini data in \bbl@inidata ==
@@ -12133,103 +12124,84 @@ help from Bernd Raichle, for which I am grateful.
\fi
% \end{macrocode}
%
-%
% Recognizing global options in packages not having a closed set of
-% them is not trivial, as for them to be processed they must be
-% defined explicitly. So, package options not yet taken into
-% account and stored in |bbl@language@opts| are assumed to be
-% languages (note this list also contains the language given with
-% |main|). If not declared above, the names of the option and the
-% file are the same.
+% them is not trivial, as for them to be processed they must be defined
+% explicitly. So, package options not yet taken into account and stored
+% in |bbl@language@opts| are assumed to be languages. If not declared
+% above, the names of the option and the file are the same. We first
+% pre-process the class and package options to determine the main
+% language, which is processed in the third ‘main’ pass,
+% \textit{except} if all files are ldf \textit{and} there is no |main|
+% key. In the latter case (|\bbl@opt@main| is still |\@nnil|), the
+% traditional way to set the main language is kept — the last loaded is
+% the main language.
%
% \begin{macrocode}
-\let\bbl@tempc\relax
-\bbl@foreach\bbl@language@opts{%
- \ifcase\bbl@iniflag % Default
- \bbl@ifunset{ds@#1}%
- {\DeclareOption{#1}{\bbl@load@language{#1}}}%
- {}%
- \or % provide=*
- \@gobble % case 2 same as 1
- \or % provide+=*
- \bbl@ifunset{ds@#1}%
- {\IfFileExists{#1.ldf}{}%
- {\IfFileExists{babel-#1.tex}{}{\@namedef{ds@#1}{}}}}%
- {}%
- \bbl@ifunset{ds@#1}%
- {\def\bbl@tempc{#1}%
- \DeclareOption{#1}{%
- \ifnum\bbl@iniflag>\@ne
- \bbl@ldfinit
- \babelprovide[import]{#1}%
- \bbl@afterldf{}%
- \else
- \bbl@load@language{#1}%
- \fi}}%
- {}%
- \or % provide*=*
- \def\bbl@tempc{#1}%
- \bbl@ifunset{ds@#1}%
- {\DeclareOption{#1}{%
- \bbl@ldfinit
- \babelprovide[import]{#1}%
- \bbl@afterldf{}}}%
- {}%
- \fi}
+\ifx\bbl@opt@main\@nnil
+ \ifnum\bbl@iniflag>\z@ % if all ldf's: set implicitly, no main pass
+ \let\bbl@tempb\@empty
+ \edef\bbl@tempa{\@classoptionslist,\bbl@language@opts}%
+ \bbl@foreach\bbl@tempa{\edef\bbl@tempb{#1,\bbl@tempb}}%
+ \bbl@foreach\bbl@tempb{% \bbl@tempb is a reversed list
+ \ifx\bbl@opt@main\@nnil % ie, if not yet assigned
+ \ifodd\bbl@iniflag % = *=
+ \IfFileExists{babel-#1.tex}{\def\bbl@opt@main{#1}}{}%
+ \else % n +=
+ \IfFileExists{#1.ldf}{\def\bbl@opt@main{#1}}{}%
+ \fi
+ \fi}%
+ \fi
+\fi
% \end{macrocode}
%
-% Now, we make sure an option is explicitly declared for any language
-% set as global option, by checking if an |ldf| exists. The previous
-% step was, in fact, somewhat redundant, but that way we minimize
-% accessing the file system just to see if the option could be a
-% language.
+% A few languages are still defined explicitly. They are stored in case
+% they are needed in the ‘main’ pass (the value can be |\relax|).
%
% \begin{macrocode}
-\let\bbl@tempb\@nnil
-\let\bbl@clsoptlst\@classoptionslist
-\bbl@foreach\@classoptionslist{%
- \bbl@ifunset{ds@#1}%
- {\IfFileExists{#1.ldf}%
- {\def\bbl@tempb{#1}%
- \DeclareOption{#1}{%
- \ifnum\bbl@iniflag>\@ne
- \bbl@ldfinit
- \babelprovide[import]{#1}%
- \bbl@afterldf{}%
- \else
- \bbl@load@language{#1}%
- \fi}}%
- {\IfFileExists{babel-#1.tex}%
- {\def\bbl@tempb{#1}%
- \ifnum\bbl@iniflag>\z@
- \DeclareOption{#1}{%
- \ifnum\bbl@iniflag>\@ne
- \bbl@ldfinit
- \babelprovide[import]{#1}%
- \bbl@afterldf{}%
- \fi}%
- \fi}%
- {}}}%
- {}}
+\ifx\bbl@opt@main\@nnil\else
+ \bbl@csarg\let{loadmain\expandafter}\csname ds@\bbl@opt@main\endcsname
+ \expandafter\let\csname ds@\bbl@opt@main\endcsname\relax
+\fi
% \end{macrocode}
%
-% If a main language has been set, store it for the third pass.
+% Now define the corresponding loaders. With package options, assume
+% the language exists. With class options, check if the option is a
+% language by checking if the correspondin file exists.
+%
%
% \begin{macrocode}
-\ifnum\bbl@iniflag=\z@\else
- \ifx\bbl@opt@main\@nnil
- \ifx\bbl@tempc\relax
- \let\bbl@opt@main\bbl@tempb
- \else
- \let\bbl@opt@main\bbl@tempc
- \fi
- \fi
-\fi
-\ifx\bbl@opt@main\@nnil\else
- \expandafter
- \let\expandafter\bbl@loadmain\csname ds@\bbl@opt@main\endcsname
- \expandafter\let\csname ds@\bbl@opt@main\endcsname\@empty
-\fi
+\bbl@foreach\bbl@language@opts{%
+ \def\bbl@tempa{#1}%
+ \ifx\bbl@tempa\bbl@opt@main\else
+ \bbl@ifunset{ds@#1}%
+ {\ifnum\bbl@iniflag<\tw@ % 0 ø (other = ldf)
+ \DeclareOption{#1}{\bbl@load@language{#1}}%
+ \else % + * (other = ini)
+ \DeclareOption{#1}{%
+ \bbl@ldfinit
+ \babelprovide[import]{#1}%
+ \bbl@afterldf{}}%
+ \fi}%
+ {}%
+ \fi}
+\bbl@foreach\@classoptionslist{%
+ \def\bbl@tempa{#1}%
+ \ifx\bbl@tempa\bbl@opt@main\else
+ \bbl@ifunset{ds@#1}%
+ {\ifnum\bbl@iniflag<\tw@ % 0 ø (other = ldf)
+ \IfFileExists{#1.ldf}%
+ {\DeclareOption{#1}{\bbl@load@language{#1}}}%
+ {}%
+ \else % + * (other = ini)
+ \IfFileExists{babel-#1.tex}%
+ {\DeclareOption{#1}{%
+ \bbl@ldfinit
+ \babelprovide[import]{#1}%
+ \bbl@afterldf{}}}%
+ {}%
+ \fi}%
+ {}%
+ \fi}
% \end{macrocode}
%
% And we are done, because all options for this pass has been
@@ -12237,8 +12209,7 @@ help from Bernd Raichle, for which I am grateful.
% ignored.
%
% The options have to be processed in the order in which the user
-% specified them (except, of course, global options, which \LaTeX{}
-% processes before):
+% specified them (but remember class options are processes before):
%
% \begin{macrocode}
\def\AfterBabelLanguage#1{%
@@ -12247,12 +12218,14 @@ help from Bernd Raichle, for which I am grateful.
\ProcessOptions*
% \end{macrocode}
%
-% This finished the second pass. Now the third one begins, which
-% loads the main language set with the key |main|. A warning is
-% raised if the main language is not the same as the last named
-% one, or if the value of the key |main| is not a language. Then
-% execute directly the option (because it could be used only in
-% |main|). After loading all languages, we deactivate
+% This finished the second pass. Now the third one begins, which loads
+% the main language set with the key |main|. A warning is raised if the
+% main language is not the same as the last named one, or if the value
+% of the key |main| is not a language. With some options in |provide|,
+% the package |luatexbase| is loaded (and immediately used), and
+% therefore |\babelprovide| can’t go inside a |\DeclareOption|; this
+% explains why it’s executed directly, with a dummy declaration. Then
+% all languages have been loaded, so we deactivate
% |\AfterBabelLanguage|.
%
% \begin{macrocode}
@@ -12271,32 +12244,27 @@ help from Bernd Raichle, for which I am grateful.
but the last processed one was '\bbl@tempb'.\\%
The main language can't be set as both a global\\%
and a package option. Use 'main=\bbl@tempc' as\\%
- option. Reported}%
+ option. Reported}
\fi
\else
- \ifodd\bbl@iniflag % case 1,3
+ \ifodd\bbl@iniflag % case 1,3 (main is ini)
\bbl@ldfinit
\let\CurrentOption\bbl@opt@main
- \ifx\bbl@opt@provide\@nnil
- \bbl@exp{\\\babelprovide[import,main]{\bbl@opt@main}}%
+ \bbl@exp{% \bbl@opt@provide = empty if *
+ \\\babelprovide[\bbl@opt@provide,import,main]{\bbl@opt@main}}%
+ \bbl@afterldf{}
+ \DeclareOption{\bbl@opt@main}{}
+ \else % case 0,2 (main is ldf)
+ \ifx\bbl@loadmain\relax
+ \DeclareOption{\bbl@opt@main}{\bbl@load@language{\bbl@opt@main}}
\else
- \bbl@exp{\\\bbl@forkv{\@nameuse{@raw@opt@babel.sty}}}{%
- \bbl@xin@{,provide,}{,#1,}%
- \ifin@
- \def\bbl@opt@provide{#2}%
- \bbl@replace\bbl@opt@provide{;}{,}%
- \fi}%
- \bbl@exp{%
- \\\babelprovide[\bbl@opt@provide,import,main]{\bbl@opt@main}}%
+ \DeclareOption{\bbl@opt@main}{\bbl@loadmain}
\fi
- \bbl@afterldf{}%
- \else % case 0,2
- \chardef\bbl@iniflag\z@ % Force ldf
- \expandafter\let\csname ds@\bbl@opt@main\endcsname\bbl@loadmain
\ExecuteOptions{\bbl@opt@main}
- \DeclareOption*{}%
- \ProcessOptions*
+ \@namedef{ds@\bbl@opt@main}{}%
\fi
+ \DeclareOption*{}
+ \ProcessOptions*
\fi
\def\AfterBabelLanguage{%
\bbl@error
@@ -12304,10 +12272,9 @@ help from Bernd Raichle, for which I am grateful.
{Languages have been loaded, so I can do nothing}}
% \end{macrocode}
%
-% In order to catch the case where the user forgot to specify a
+% In order to catch the case where the user didn’t specify a
% language we check whether |\bbl@main@language|, has become
-% defined. If not, no language has been loaded and an error
-% message is displayed.
+% defined. If not, the |nil| language is loaded.
%
% \begin{macrocode}
\ifx\bbl@main@language\@undefined
@@ -14516,6 +14483,10 @@ end
\frozen@everydisplay\expandafter{%
\expandafter\bbl@mathboxdir\the\frozen@everydisplay}
\fi
+\def\bbl@truellap{%s
+ \ifcase\bbl@attr@dir\expandafter\llap\else\expandafter\rlap\fi}
+\def\bbl@truerlap{%
+ \ifcase\bbl@attr@dir\expandafter\rlap\else\expandafter\llap\fi}
% \end{macrocode}
%
% \subsection{Layout}
@@ -14543,11 +14514,37 @@ end
%
% \begin{macrocode}
\bbl@trace{Redefinitions for bidi layout}
+\AtBeginDocument{% amsmath
+ \ifx\place@tag\@undefined\else
+ \bbl@sreplace\place@tag{\llap}{\bbl@truellap}%
+ \bbl@sreplace\place@tag@gather{\llap}{\bbl@truellap}%
+ \bbl@sreplace\place@tag{\rlap}{\bbl@truerlap}%
+ \bbl@sreplace\place@tag@gather{\rlap}{\bbl@truerlap}%
+ \fi}
+\ifx\AddToHook\@undefined\else
+ \AddToHook{env/equation/before}{\pardir TLT }{}
+\fi
\ifx\@eqnnum\@undefined\else
\ifx\bbl@attr@dir\@undefined\else
- \edef\@eqnnum{{%
- \unexpanded{\ifcase\bbl@attr@dir\else\bbl@textdir\@ne\fi}%
- \unexpanded\expandafter{\@eqnnum}}}
+ \bbl@xin@{,leqno,}{,\@classoptionslist,}%
+ \ifin@
+ \bbl@sreplace\@eqnnum{\rlap}{\bbl@leqno@aux}
+ \def\bbl@leqno@aux#1{%
+ \bbl@truerlap{%
+ \ifcase\bbl@attr@dir
+ #1%
+ \else
+ \bbl@textdir\@ne
+ #1%
+ \hskip-\displaywidth
+ \fi}}
+ \else
+ \bbl@exp{%
+ \def\\\@eqnnum{{%
+ \<ifcase>\\\bbl@attr@dir\<else>\\\bbl@textdir\@ne\<fi>%
+ \\\bbl@ifsamestring{\\\@currenvir}{equation}%
+ {}{\\\bbl@truellap}{\[@eqnnum]}}}}
+ \fi
\fi
\fi
\ifx\bbl@opt@layout\@nnil\endinput\fi % if no layout
@@ -21854,7 +21851,7 @@ function Babel.bidi(head, ispar, hdir)
elseif item.id == DIR then
d = nil
- new_d = true
+ if head ~= item then new_d = true end
elseif item.id == node.id'glue' and item.subtype == 13 then
glue_d = d
diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins
index 1be32b20ba..b9267340a3 100644
--- a/macros/latex/required/babel/base/babel.ins
+++ b/macros/latex/required/babel/base/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2021/11/29}
+\def\filedate{2021/12/28}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf
index bf2f6910ca..3584ad17d6 100644
--- a/macros/latex/required/babel/base/babel.pdf
+++ b/macros/latex/required/babel/base/babel.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx
index 0b0d1c2af7..b80d81c7cc 100644
--- a/macros/latex/required/babel/base/bbcompat.dtx
+++ b/macros/latex/required/babel/base/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2021/11/29 v3.67]
+\ProvidesFile{bbcompat.dtx}[2021/12/28 v3.68]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index 21c5b05620..bc6a82d022 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,22 @@
+2021-12-27 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-4ht.tex (cleveref.4ht): remove nested links from Cleveref.
+ https://tex.stackexchange.com/a/625385/2891
+
+ * tex4ht-4ht.tex (biblatex.4ht): removed code that interfered with
+ spacing. Redefined \addnbspace to produce non-breaking space
+ character.
+ https://tex.stackexchange.com/a/628208/2891
+
+2021-12-26 Karl Berry <karl@freefriends.org>
+
+ * tex4ht-4ht.tex (minted.4ht): copyright 2021.
+
+2021-12-25 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-4ht.tex (xifthen.4ht): fixed support for the Xifthen package.
+ https://tex.stackexchange.com/a/628068/2891
+
2021-12-20 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-4ht.tex (biblatex.4ht): added support for back links.
@@ -7,8 +26,8 @@
2021-12-19 Michal Hoftich <michal.h21@gmail.com>
- * tex4ht-4ht.tex (minted.4ht): redefine Minted commands that cause issues
- with TeX4ht documentation.
+ * tex4ht-4ht.tex (minted.4ht): redefine Minted commands that
+ cause issues with TeX4ht documentation.
* tex4ht-4ht.tex (backref.4ht): added support for the Backref package.
https://github.com/michal-h21/tex4ebook/issues/64
@@ -22,18 +41,19 @@
2021-12-16 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-fonts-ebgaramond.tex: updated EB Garamond fonts.
- The HTF files are now in various directories depending on the font weight
- and shape!
+ The HTF files are now in various directories depending on the font
+ weight and shape!
https://github.com/michal-h21/make4ht/issues/57
- * tex4ht-4ht.tex (biblatex-chicago-hooks.4ht): reset catcodes before loading
- of Ifthen, colon remains letter otherwise, which causes various issues.
+ * tex4ht-4ht.tex (biblatex-chicago-hooks.4ht): reset catcodes
+ before loading of Ifthen, colon remains letter otherwise, which
+ causes various issues.
https://puszcza.gnu.org.ua/bugs/?480#discussion
2021-12-14 Michal Hoftich <michal.h21@gmail.com>
- * tex4ht-4ht.tex (usepackage.4ht, biblatex-chicago-hooks.4ht): load Ifthen
- package before BibLaTeX-Chicago.
+ * tex4ht-4ht.tex (usepackage.4ht, biblatex-chicago-hooks.4ht):
+ load Ifthen package before BibLaTeX-Chicago.
https://puszcza.gnu.org.ua/bugs/?480#discussion
* tex4ht-4ht.tex (url.4ht): use \protected for redefinition of the \url
command.
@@ -41,8 +61,8 @@
2021-12-11 Michal Hoftich <michal.h21@gmail.com>
- * tex4ht-ooffice.tex (ooffice.4ht): enclose image file names in braces, in
- order to support spaces in filenames.
+ * tex4ht-ooffice.tex (ooffice.4ht): enclose image file names in
+ braces, in order to support spaces in filenames.
* tex4ht-4ht.tex (ifthen.4ht, hyperref-hooks.4ht): disable Nameref from
patching of the \ifthenelse command.
@@ -50,22 +70,22 @@
2021-12-09 Michal Hoftich <michal.h21@gmail.com>
- * tex4ht-ooffice.tex (ooffice-mml.4ht): remove spurious space after inline
- math.
+ * tex4ht-ooffice.tex (ooffice-mml.4ht): remove spurious space
+ after inline math.
https://github.com/michal-h21/make4ht/issues/55
2021-12-08 Michal Hoftich <michal.h21@gmail.com>
- * tex4ht-4ht.tex (hyperref-hooks.4ht): reintroduced loading of Nameref due
- to various issues that it's removal caused.
+ * tex4ht-4ht.tex (hyperref-hooks.4ht): reintroduced loading of
+ Nameref due to various issues that it's removal caused.
2021-12-02 Michal Hoftich <michal.h21@gmail.com>
- * tex4ht-mathjax.tex (mathjax-latex-4ht.4ht): search for \par<word boundary> in
- regex that replaces \par commands, as suggested by David Carlisle.
- https://tex.stackexchange.com/q/624671/2891
- * tex4ht-4ht.tex (usepackage.4ht, graphbox-hooks.4ht): revert changes made
- by the Graphbox package to \Gin@setfile.
+ * tex4ht-mathjax.tex (mathjax-latex-4ht.4ht): search for \par<word
+ boundary> in regex that replaces \par commands, as suggested by
+ David Carlisle. https://tex.stackexchange.com/q/624671/2891
+ * tex4ht-4ht.tex (usepackage.4ht, graphbox-hooks.4ht): revert
+ changes made by the Graphbox package to \Gin@setfile.
https://github.com/michal-h21/tex4ebook/issues/84
2021-12-01 Michal Hoftich <michal.h21@gmail.com>
@@ -4713,4 +4733,4 @@ This file is public domain. Started 2010, Karl Berry.
This file is public domain. Started 2010, Karl Berry.
-# vim: textwidth=78
+# vim: textwidth=70
diff --git a/support/TeX4ht/source/mktex4ht-cnf.tex b/support/TeX4ht/source/mktex4ht-cnf.tex
index 82a970b839..86616aa9f8 100644
--- a/support/TeX4ht/source/mktex4ht-cnf.tex
+++ b/support/TeX4ht/source/mktex4ht-cnf.tex
@@ -1,4 +1,4 @@
-% $Id: mktex4ht-cnf.tex 1034 2021-12-19 13:53:20Z michal_h21 $
+% $Id: mktex4ht-cnf.tex 1038 2021-12-25 19:26:07Z michal_h21 $
% Manually-maintained file, listing *.4ht files created by tex4ht-4ht.tex.
% Read by tex4ht-cond4ht.
%
@@ -67,6 +67,7 @@
\AddFile{9}{srcltx}
\AddFile{9}{emulateapj}
\AddFile{7}{ifthen}
+\AddFile{7}{xifthen}
\AddFile{9}{picins}
\AddFile{9}{nomencl}
\AddFile{2}{fontmath}
diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex
index 9acf761cb5..95c9490645 100644
--- a/support/TeX4ht/source/tex4ht-4ht.tex
+++ b/support/TeX4ht/source/tex4ht-4ht.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-4ht.tex 1037 2021-12-20 22:36:14Z michal_h21 $
+% $Id: tex4ht-4ht.tex 1043 2021-12-27 18:25:26Z michal_h21 $
% tex tex4ht-4ht or ht tex tex4ht-4ht
%
% Copyright 2009-2021 TeX Users Group
@@ -2576,34 +2576,24 @@ X\the\c@refsection --%:
{}}%
{}%
\blx@postpunct
- \blx@resetpuncthook
+ \blx@imc@resetpunctfont
\iftoggle{blx@tempa}%
{}%
{\global\togglefalse{blx@insert}}%
\csname a:blx@unit\endcsname
\blx@leavevmode
- \blx@csq@ifkernmark
- {}%
- {\penalty\@M
- \hskip-\blx@unitmark\relax
- \hskip\blx@unitmark\relax
- }%
\begingroup
\Configure{blx@unit}{}{}%
}
\def\blx@endunit{%
\endgroup
- \csname b:blx@unit\endcsname
+ \csname b:blx@unit\endcsname%
\Configure{blx@unit}{}{}%
- \ifdim\lastskip=\blx@unitmark
- \unskip\unskip\unpenalty
- \global\togglefalse{blx@lastins}%
- \else
- \global\toggletrue{blx@insert}%
- \global\toggletrue{blx@lastins}%
- \fi
+ \global\toggletrue{blx@insert}%
+ \global\toggletrue{blx@lastins}%
}
\NewConfigure{blx@unit}{2}
+
%
\else
\fi
@@ -2620,6 +2610,17 @@ they caused compilation error when the AUX file is loaded.
\fi
>>>
+BibLaTeX don't use \`'\nobreakspace' command for non-breaking spaces,
+so TeX4ht outputs regular spaces in their place. This redefinition should
+fix it.
+
+\<config biblatex\><<<
+\renewrobustcmd*{\addnbspace}{%
+ \unspace\blx@postpunct%
+ % insert real non-breaking space character
+ \nobreakspace\blx@imc@resetpunctfont}
+>>>
+
\<shared config biblatex\><<<
\append:def\blx@bibinit{\a:bibinit}%
\NewConfigure{bibinit}{1}%
@@ -3596,7 +3597,8 @@ Support for links from the \Verb|\cref| command.
\def\:tempa#1#2{\bgroup%
\def\rEfLiNK##1##2{\Link{##1}{}}%
\expandafter\expandafter\expandafter\@firstoffive\csname r@#2\endcsname{}{}{}{}{}%
- \o:@@@setcref:{#1}{#2}%
+ \cref@getlabel{#2}{\@templabel}%
+ #1{\@templabel}{}{}%
\EndLink\egroup%
}%
@@ -13299,6 +13301,46 @@ ifthen.sty\EndLink
Fixed for caseses like \`'\ifthenelse{\isodd{\pageref{abc}}}'.
+\<xifthen.4ht\><<<
+% xifthen.4ht (|version), generated from |jobname.tex
+% Copyright 2021 TeX Users Group
+|<TeX4ht license text|>
+|<fix xifthen|>
+\Hinput{xifthen}
+\endinput
+>>> \AddFile{7}{xifthen}
+
+The \`'\TE@repl' command is executed by \`'\ifthenelse',
+where \`'\begingroup' is redefined to insert TeX4ht hooks.
+We need to prevent execution of this code here, so we use
+\`'\sv:begingroup', saved version of \`'\begingroup' from
+ifthen.4ht.
+\Link[https://tex.stackexchange.com/a/628068/2891]{}{}%
+More details\EndLink.
+
+\<fix xifthen\><<<
+\def \TE@repl #1#2{%
+ \long \def \@tempc ##1#1##2{%
+ \def \@tempb{\@tempc}%
+ \sv:begingroup % Thanks MPG
+ \toks@ {##2}%
+ \edef \@tempa {\the \toks@}% <- UF v1.3
+ \expandafter \endgroup
+ \ifx \@tempa \@tempb
+ \toks@ \expandafter {\the \toks@ ##1}%
+ \expandafter \@gobble
+ \else
+ \toks@ \expandafter {\the \toks@ ##1#2}%
+ \expandafter \@tempc
+ \fi
+ ##2%
+ }%
+ \toks@ \expandafter {\expandafter}%
+ \expandafter \@tempc \the \toks@ #1\@tempc
+}
+>>>
+
+
\<non classified latex\><<<
|<early latex util|>
|<more latex math|>
@@ -24569,7 +24611,7 @@ of LaTeX. The \''\:gobbleII' is for getting rid of the
\<minted.4ht\><<<
% minted.4ht (|version), generated from |jobname.tex
-% Copyright 2020 TeX Users Group
+% Copyright 2020-2021 TeX Users Group
|<TeX4ht license text|>
\NewConfigure{InlineCode}{2}
diff --git a/support/latexdiff/doc/example-diff.tex b/support/latexdiff/doc/example-diff.tex
index 9724038884..8eda2a43aa 100644
--- a/support/latexdiff/doc/example-diff.tex
+++ b/support/latexdiff/doc/example-diff.tex
@@ -37,7 +37,7 @@
\providecommand{\DIFaddendFL}{} %DIF PREAMBLE
\providecommand{\DIFdelbeginFL}{} %DIF PREAMBLE
\providecommand{\DIFdelendFL}{} %DIF PREAMBLE
-%DIF LISTINGS PREAMBLE %DIF PREAMBLE
+%DIF COLORLISTINGS PREAMBLE %DIF PREAMBLE
\RequirePackage{listings} %DIF PREAMBLE
\RequirePackage{color} %DIF PREAMBLE
\lstdefinelanguage{DIFcode}{ %DIF PREAMBLE
diff --git a/support/latexdiff/doc/latexdiff-man.pdf b/support/latexdiff/doc/latexdiff-man.pdf
index ebf545df91..23a3b90722 100644
--- a/support/latexdiff/doc/latexdiff-man.pdf
+++ b/support/latexdiff/doc/latexdiff-man.pdf
Binary files differ
diff --git a/support/latexdiff/latexdiff b/support/latexdiff/latexdiff
index 9c2f45e957..c5291a0ca5 100755
--- a/support/latexdiff/latexdiff
+++ b/support/latexdiff/latexdiff
@@ -22,7 +22,23 @@
#
# Detailed usage information at the end of the file
#
-
+#
+# Version 1.3.2
+# API adaptions:
+# - latexdiff now completes with exit code 0 after --help or --version command (see issue #248)
+# New features / feature extensions
+# - extend CUSTOMDIFCMD related postprocessing to deal properly with multiline commands, or a sequence of several commands in the same line (see github issue #204)
+# - Support for additional macros from import package (\import, \inputfrom, \includefrom, \subimport,\subinputfrom, \subincludefrom). Provided by janniklasrose in PR #243 (fixes #239)
+# - replace default driver dvips->pdftex
+# Bug fixes:
+# - fix issue #206 affecting proper markup of text commands which are not safe cmd's at the same time and have multiple arguments
+# - fix issue #210 by adding \eqref (amsmath package) to the list of safe commands
+# - fix bug reported in issue #168 mangled verbatim line environment
+# - fix bug reported in issue #218 by replacing \hspace{0pt} after \mbox{..} auxiliary commands with \hskip0pt.
+# - more ways to process \frac correctly with atomic arguments (committed by julianuu PR #246
+# - fix a bug in biblatex mode, which prevented proper processing of modified \textcite (see: https://tex.stackexchange.com/questions/555157/latexdiff-and-biblatex-citation-commands)
+# - -h string fix: add -driver option
+#
# Version 1.3.1.1
# - remove spurious \n to fix error: Unknown regexp modifier "/n" at .../latexdiff line 1974, near "=~ " (see github issue #201)
#
@@ -203,8 +219,8 @@ my ($algodiffversion)=split(/ /,$Algorithm::Diff::VERSION);
my ($versionstring)=<<EOF ;
-This is LATEXDIFF 1.3.1.1 (Algorithm::Diff $Algorithm::Diff::VERSION, Perl $^V)
- (c) 2004-2020 F J Tilmann
+This is LATEXDIFF 1.3.2 (Algorithm::Diff $Algorithm::Diff::VERSION, Perl $^V)
+ (c) 2004-2021 F J Tilmann
EOF
# Hash with defaults for configuration variables. These marked undef have default values constructed from list defined in the DATA block
@@ -261,7 +277,7 @@ my ($ARRENV,
# my $MATHREPL='displaymath'; # Environment introducing deleted maths blocks
# my $MATHARRENV='(?:eqnarray|align|alignat|gather|multline|flalign)[*]?' ; # Environments turning on eqnarray math mode
# my $MATHARRREPL='eqnarray*'; # Environment introducing deleted maths blocks
-# my $ARRENV='(?:aligned|gathered|array|[pbvBV]?matrix|smallmatrix|cases|split)'; # Environments making arrays in math mode. The underlining style does not cope well with those - as a result in-text math environments are surrounded by \mbox{ } if any of these commands is used in an inline math block
+# my $ARRENV='(?:aligned|gathered|multlined|array|[pbvBV]?matrix|smallmatrix|cases|split)'; # Environments making arrays in math mode. The underlining style does not cope well with those - as a result in-text math environments are surrounded by \mbox{ } if any of these commands is used in an inline math block
# my $COUNTERCMD='(?:footnote|part|chapter|section|subsection|subsubsection|paragraph|subparagraph)'; # textcmds which are associated with a counter
# # If any of these commands occur in a deleted block
# # they will be succeeded by an \addtocounter{...}{-1}
@@ -458,7 +474,8 @@ if ( $help ) {
if ( $version ) {
- die $versionstring ;
+ print STDERR $versionstring ;
+ exit 0;
}
print STDERR $versionstring if $verbose;
@@ -503,7 +520,7 @@ if (defined($preamblefile)) {
if ( defined($driver) ) {
# for changebar only
- $latexdiffpreamble=~s/\[dvips\]/[$driver]/sg;
+ $latexdiffpreamble=~s/\[pdftex\]/[$driver]/sg;
}
# setting up @SAFECMDLIST and @SAFECMDEXCL
if (defined($replacesafe)) {
@@ -734,7 +751,9 @@ push(@SAFECMDLIST, qr/^QLEFTBRACE$/, qr/^QRIGHTBRACE$/);
my $predefinedcmdoptseq='(?:'.$predefinedcmdoptseq12.'|'.$predefinedcmdoptseq01.'|'.$predefinedbibitem.')';
my $cmdleftright='\\\\(?:left|right|[Bb]igg?[lrm]?|middle)\s*(?:[<>()\[\]|\.]|\\\\(?:[|{}]|\w+))';
- my $cmdoptseq='\\\\[\w\d@\*]+'.$extraspace.'(?:(?:<'.$abrat0.'>|\['.$brat_n.'\]|\{'. $pat_n . '\}|\(' . $coords .'\))'.$extraspace.')*';
+# standard $cmdoptseq (default: no intrevening spaces, controlled by extraspcae) - a final open parentheses is merged to the commend if it exists to deal properly with multi-argument text command
+ my $cmdoptseq='\\\\[\w\d@\*]+'.$extraspace.'(?:(?:<'.$abrat0.'>|\['.$brat_n.'\]|\{'. $pat_n . '\}|\(' . $coords .'\))'.$extraspace.')*\{?';
+# Handle tex \def macro: \def\MAKRONAME#1[#2]#3{DEFINITION}
my $defseq='\\\\def\\\\[\w\d@\*]+(?:#\d+|\[#\d+\])+(?:\{'. $pat_n . '\})?';
my $backslashnl='\\\\\n';
my $oneletcmd='\\\\.\*?(?:\['.$brat_n.'\]|\{'. $pat_n . '\})*';
@@ -953,6 +972,9 @@ $ulem = ($latexdiffpreamble =~ /\\RequirePackage(?:\[$brat_n\])?\{ulem\}/ || def
# If listings is being used or can be found in the latexdiff search path, add to the preamble auxiliary code to enable line-by-line markup
if ( defined($packages{"listings"}) or `kpsewhich listings.sty` ne "" ) {
my @listingpreamble=extrapream("LISTINGS");
+ if ($latexdiffpreamble =~ /\\RequirePackage(?:\[$brat_n\])?\{color\}/ ) {
+ @listingpreamble=extrapream("COLORLISTINGS");
+ }
my @listingDIFcode=();
my $replaced;
# note that in case user supplies preamblefile the type might not reflect well the
@@ -1115,6 +1137,7 @@ if ( defined $packages{"apacite"} ) {
} elsif (defined $packages{"biblatex"}) {
print STDERR "biblatex package detected.\n" if $verbose ;
$citpat='(?:[cC]ites?|(?:[pP]aren|foot|[Tt]ext|[sS]mart|super)cites?\*?|footnotecitetex)';
+ push(@TEXTCMDEXCL, qr/^textcite$/);
} else {
# citation command pattern for all other citation schemes
$citpat='(?:cite\w*|nocite)';
@@ -1391,6 +1414,9 @@ sub add_safe_commands {
my $should_be_safe = $2;
print STDERR "DEBUG Checking new command: maybe_to_test, should_be_safe: $1 $2\n" if $debug;
my $success = 0;
+ # skip custom diff commands
+ next if ($maybe_to_test =~ m/^(?:ADD|DEL)?${CUSTOMDIFCMD}$/);
+ ###print STDERR "DEBUG: really test it. \n";
# test if all latex commands inside it are safe
$success = 1;
if ($should_be_safe =~ m/\\\\/) {
@@ -1433,6 +1459,7 @@ sub remove_endinput {
# expands \input and \include commands within text
# expands \bibliography command with corresponding bbl file if available
# expands \subfile command (from subfiles package - not part of standard text distribution)
+# expands \import etc commands (from import package - not part of standard text distribution)
# preamble is scanned for includeonly commands
# encoding is the encoding
sub flatten {
@@ -1460,15 +1487,16 @@ sub flatten {
# Run through filter, to let filterscript have a pass if it was set
$text = filter($text);
- # Recursively replace \\import and \\subimport files
- $text =~ s/(^(?:[^%\n]|\\%)*)(\\subimport\{(.*?)\}|\\import\{(.*?)\})(?:[\s]*)\{(.*?)\}/{
+ # Recursively replace \\import, \\subimport, and related import commands
+ $text =~ s/(^(?:[^%\n]|\\%)*)(\\(sub)?(?:import|inputfrom|includefrom))\{(.*?)\}(?:[\s]*)\{(.*?)\}/{
+ # (--------1-------)(--(=3=)-------------2-------------------) (-4-) (-5-)
# $1 is begline
- # $3 is directory if subimport
- # $4 is directory if import
+ # $2 is the import macro name
+ # $3 is (optional) prefix "sub"
+ # $4 is directory
# $5 is filename
$begline = (defined($1)? $1 : "");
- $subdir = $3 if defined($3);
- $subdir = $4 if defined($4);
+ $subdir = $4;
$fname = $5;
$fname .= ".tex" unless $fname =~ m|\.\w{3,4}$|;
print STDERR "DEBUG begline:", $begline, "\n" if $debug;
@@ -1483,12 +1511,13 @@ sub flatten {
print STDERR "importing importfilepath:", $importfilepath,"\n" if $verbose;
if ( -f $importfilepath ) {
# If file exists, replace input or include command with expanded input
+ #TODO: need remove_endinput & newpage similar to other replacements inside flatten
$replacement=flatten(read_file_with_encoding($importfilepath, $encoding), $preamble,$importfilepath,$encoding) or die "Could not open file ",$fullfile,": $!";
} else {
# if file does not exist, do not expand include or input command (do not warn if fname contains #[0-9] as it is then likely part of a command definition
# and is not meant to be expanded directly
print STDERR "WARNING: Could not find included file ",$importfilepath,". I will continue but not expand |$2|\n";
- $replacement=(defined($3)? "\\subimport" : "\\import");
+ $replacement = $2;
$replacement .= "{$subdir}{$fname} % Processed";
}
"$begline$replacement";
@@ -2158,9 +2187,10 @@ sub marktags {
# split this block to split sequences joined in pass1
+ ### print STDERR "DEBUG: marktags before splitlatex blocksplit ",join("|",@$block),"\n" if $debug;
@$block=splitlatex(join "",@$block);
### print STDERR "DEBUG: marktags $openmark,$closemark,$open,$close,$opencmd,$closecmd,$comment\n" if $debug;
- ### print STDERR "DEBUG: marktags blocksplit ",join("|",@$block),"\n" if $debug;
+ print STDERR "DEBUG: after splitlatex ",join("|",@$block),"\n" if $debug;
# we redefine locally $extraspace (shadowing the global definition) to capture command sequences with intervening spaces no matter what the global setting
# this is done so we can capture those commands with a predefined number of arguments without having to introduce them again explicitly here
@@ -2216,6 +2246,7 @@ sub marktags {
# $2 (the command) is in context2, just treat it as an ordinary command (i.e. comment it open with $opencmd)
# Because we do not want to disable this command
# here we do not use $opencmd and $closecmd($opencmd is empty)
+ print STDERR "DEBUG: Detected text |$word| but not safe command \$2: $2 \$3: $3\n." if $debug;
if ($cmd==1) {
push (@$retval,$closecmd) ;
} elsif ($cmd==0) {
@@ -2274,7 +2305,7 @@ sub marktags {
if ( $word =~ /^\\(?!\()(\\|[`'^"~=.]|[\w*@]+)(.*?)(\s*)$/s && iscmd($1,\@MBOXCMDLIST,\@MBOXCMDEXCL)) {
# $word is a safe command in MBOXCMDLIST
###print STDERR "DEBUG Mboxsafecmd detected:$word:\n" if $debug ;
- push(@$retval,"\\mbox{$AUXCMD\n\\" . $1 . $2 . $3 ."}\\hspace{0pt}$AUXCMD\n" );
+ push(@$retval,"\\mbox{$AUXCMD\n\\" . $1 . $2 . $3 ."}\\hskip0pt$AUXCMD\n" );
} else {
# $word is a normal word or a safe command (not in MBOXCMDLIST)
push (@$retval,$word);
@@ -2294,22 +2325,22 @@ sub take_comments_and_newline_from_frac() {
# some special magic for common usage of frac, which does not conform to the latexdiff requirements but can be made to fit
# note that this is a rare exception to the general rule that the new tex can be reconstructed from the diff file
- # \frac12 -> \frac{1}{2}
- s/\\frac(\d)(\w)/\\frac\{$1\}\{$2\}/g;
-
- # \frac1{2b} -> \frac{1}{2b}
- s/\\frac(\d)/\\frac\{$1\}/g;
-
- # delete space and comment characters between \frac arguments
-# s/\\frac(?:\s*?%[^\n]*?)*?(\{$pat_n\})\s*(\{$pat_n\})/\\frac$1$2/g;
- s/\\frac(?:\s|%[^\n]*?)*(\{$pat_n\})(?:\s|%[^\n]*?)*(\{$pat_n\})/\\frac$1$2/g;
+ # regex that matches space and comment characters
+ my $space = qr/\s|%[^\n]*?/;
+ # \frac {abc} -> \frac{abc}
+ # \frac1 -> \frac{1}
+ # \frac a -> \frac{a}
+ # \frac \lambda -> \frac{\lambda}
+ s/\\frac(?|${space}+\{($pat_n)\}|${space}*(\d)|${space}+(\w)|${space}*(\\[a-zA-Z]+))/\\frac\{$1\}/g;
+ # same as above for the second argument of frac
+ s/\\frac(\{$pat_n\})(?|${space}*\{($pat_n)\}|${space}*(\d)|${space}+(\w)|${space}*(\\[a-zA-Z]+))/\\frac$1\{$2\}/g;
}
# preprocess($string, ..)
# carry out the following pre-processing steps for all arguments:
# 1. Remove leading white-space
# Change \{ to \QLEFTBRACE and \} to \QRIGHTBRACE and \& to \AMPERSAND
-# #. Change {,} in comments to \CLEFTBRACE, \CRIGHTBRACE
+# #. Change {,},\frac in comments to \CLEFTBRACE, \CRIGHTBRACE, \CFRAC
# 2. mark all first empty line (in block of several) with \PAR tokens
# 3. Convert all '\%' into '\PERCENTAGE ' and all '\$' into \DOLLAR to make parsing regular expressions easier
# 4. Convert all \verb|some verbatim text| commands (where | can be an arbitrary character)
@@ -2345,9 +2376,11 @@ sub preprocess {
s/(?<!\\)\\\{/\\QLEFTBRACE /sg;
s/(?<!\\)\\\}/\\QRIGHTBRACE /sg;
s/(?<!\\)\\&/\\AMPERSAND /sg;
-# replace {,} in comments with \\CLEFTBRACE,\\CRIGHTBRACE
+# replace {,}, \frac in comments with \\CLEFTBRACE,\\CRIGHTBRACE, CFRAC to protect from special treatment
1 while s/((?<!\\)%.*)\{(.*)$/$1\\CLEFTBRACE $2/mg ;
1 while s/((?<!\\)%.*)\}(.*)$/$1\\CRIGHTBRACE $2/mg ;
+ 1 while s/((?<!\\)%.*)\\frac(.*)$/$1\\CFRAC $2/mg ;
+
s/(?<!\\)\\%/\\PERCENTAGE /g ; # (?<! is negative lookbehind assertion to prevent \\% from being converted
s/(?<!\\)\\\$/\\DOLLAR /g ; # (?<! is negative lookbehind assertion to prevent \\$ from being converted
s/\\begin\{($VERBATIMENV)\}(.*?)\\end\{\1\}/"\\${1}{". tohash(\%verbhash,"${2}") . "}"/esg;
@@ -2411,7 +2444,7 @@ sub linecomment {
# remove DIFVRB comments but leave changed lines marked
sub reverselinecomment {
my ($environment, $verbatimtext)=@_;
- ###print STDERR "OLD VERBATIMTEXT: |$verbatimtext|\n";
+ ### print STDERR "DEBUG REVERSELINECOMMENT input: $environment,|$verbatimtext|\n" if $debug;
# remove markup added by latexdiff
# (this should occur only if the type of verbatim environment was changed)
# (note that this destroys some information in old file)
@@ -2446,7 +2479,7 @@ sub reverselinecomment {
} else {
$verbatimtext = "\\begin{${environment}}${verbatimtext}\\end{${environment}}"
}
- ###print STDERR "NEW VERBATIMTEXT: |$verbatimtext|\n";
+ ### print STDERR "DEBUG REVERSELINECOMMENT output: |$verbatimtext|\n" if $debug;
return($verbatimtext);
}
@@ -2488,6 +2521,14 @@ sub fromhash {
return $retstr;
}
+# stripdelcmpopen(string)
+# return string with $DELCMDOPEN removed
+sub stripdelcmdopen {
+ my ($str) = $_[0];
+ $str =~ s/${DELCMDOPEN}//mg;
+ return $str;
+}
+
# writedebugfile(string, label)
# if $debug set writes <string> to file latexdiff.debug.<label>
# otherwise do nothing
@@ -2726,17 +2767,21 @@ sub postprocess {
### $delblock =~ s/\\DIFverb\{/\\DIFDIFdelverb\{/g;
### $delblock =~ s/\\DIFlstinline/\\DIFDIFdellstinline/g;
###}
- # Mark deleted verbose commands
+ # Mark deleted verbatim commands
$delblock =~ s/(${DELCMDOPEN}\\DIF((?:verb\*?|lstinline(?:\[$brat_n\])?)\{([-\d]*?)\}\s*).*)$/%\n\\DIFDIFdel$2${AUXCMD}\n$1/gm;
if ( $CUSTOMDIFCMD ) {
- $delblock =~ s/(${DELCMDOPEN}.*)\\($CUSTOMDIFCMD)/$1${DELCMDCLOSE}\\DEL$2/gm;
+ ###$delblock =~ s/(${DELCMDOPEN}.*)\\($CUSTOMDIFCMD)((?:\[${brat_n}\])*?(?:\s*\{${pat_n}\})*)/"$1${DELCMDCLOSE}\\DEL$2". stripdelcmdopen($3) ." ${DELCMDOPEN}"/egms;
+ ###$delblock =~ s/(${DELCMDOPEN}.*)\\($CUSTOMDIFCMD)/$1${DELCMDCLOSE}\\DEL$2/gm;
+ # ($1 ? "${DELCMDOPEN}$1${DELCMDCLOSE}":"") : only add the DELCMDOPEN / DELCMDCLOSE pair if there are actually any commands in between, otherwise this is redundant
+ $delblock =~ s/${DELCMDOPEN}(.*?)\\($CUSTOMDIFCMD)((?:\[${brat_n}\])*?(?:\s*\{${pat_n}\})*)/($1 ? "${DELCMDOPEN}$1${DELCMDCLOSE}":"") ."\\DEL$2". stripdelcmdopen($3)/egs;
+ # if there is a sequence of several commands in the same row only the first will be converted due to the need to be connected to the DELCMDOPEN. To mop these up, just add the DEL to the front of any remaining cmd's in the deleted block
+ $delblock =~ s/\\($CUSTOMDIFCMD)/\\DEL$1/g; # this will also convert comments but I guess it does not matter much
}
# splice in modified delblock
substr($_,$begin,$len)=$delblock;
pos = $begin + length($delblock);
}
- ###writedebugfile($_,'postprocess');
### print STDERR "<<<$_>>>\n" if $debug;
@@ -2766,7 +2811,7 @@ sub postprocess {
$addblock =~ s/\\DIFverb/\\DIFDIFaddverb/g;
$addblock =~ s/\\DIFlstinline/\\DIFDIFaddlstinline/g;
if( $CUSTOMDIFCMD ) {
- $addblock =~ s/\\($CUSTOMDIFCMD)/\\ADD$1/g;
+ $addblock =~ s/\\($CUSTOMDIFCMD)/\\ADD$1/g; # this will also convert comments but I guess it does not matter much
}
# markup the optional arguments of \item
$addblock =~ s/(\\$ITEMCMD$extraspace(?:<$abrat0>)?$extraspace)\[($brat_n)\]/
@@ -2876,10 +2921,22 @@ sub postprocess {
# remove empty DIFCMD < lines
s/^\Q${DELCMDOPEN}\E\n//msg;
- # Expand hashes of verb and verbatim environments (note negative look behind assertion to not leak out of DIFDELCMD comments
+ # Expand hashes of verb and verbatim environments
s/${DELCMDOPEN}\\($VERBATIMENV)\{([-\d]*?)\}/"${DELCMDOPEN}\\begin{${1}}".fromhash(\%verbhash,$2,$DELCMDOPEN)."${DELCMDOPEN}\\end{${1}}"/esg;
- # revert changes to verbatim environments for line diffs (and add code to mark up changes)
- s/(?<!$DELCMDOPEN)\\begin\{($VERBATIMLINEENV)\}(.*?)\\end\{\1\}/"". reverselinecomment($1, $2) .""/esg;
+ # revert changes to verbatim environments for line diffs (and add code to mark up changes) (note negative look behind assertions to not leak out of DIFDELCMD comments)
+ # Example:
+ # < \begin{verbatim}
+ # < %DIF < DIFVRB old verbatim line
+ # < %DIF > DIFVRB new verbatim line
+ # < \end{verbatim}
+ # ---
+ # > \DIFmodbegin
+ # > \begin{verbatim}[alsolanguage=DIFcode]
+ # > %DIF < old verbatim line
+ # > %DIF > new verbatim line
+ # > \end{verbatim}
+ # > \DIFmodend
+ s/(?<!$DELCMDOPEN)\\begin\{($VERBATIMLINEENV)\}(.*?)(?<!$DELCMDOPEN)\\end\{\1\}/"". reverselinecomment($1, $2) .""/esg;
# # we do the same for deleted environments but additionally reinstate the framing commands
# s/$DELCMDOPEN\\begin\{($VERBATIMLINEENV)\}$extraspace(?:\[$brat0\])?$DELCMDCLOSE(.*?)$DELCMDOPEN\\end\{\1\}$DELCMDCLOSE/"\\begin{$1}". reverselinecomment($2) . "\\end{$1}"/esg;
## s/$DELCMDOPEN\\begin\{($VERBATIMLINEENV)\}($extraspace(?:\[$brat0\])?\s*)(?:\n|$DELCMDOPEN)*$DELCMDCLOSE((?:\%$DELCOMMENT$VERBCOMMENT.*?\n)*)($DELCMDOPEN\\end\{\1\}(?:\n|\s|$DELCMDOPEN)*$DELCMDCLOSE)/"SUBSTITUTION: \\begin{$1}$2 INTERIOR: |$3| END: |$4|"/esg;
@@ -2898,6 +2955,7 @@ sub postprocess {
. " $AUXCMD\n" # close the auxiliary environment
. $5 # and again leave the original deleted closing environment as is
/esgx; # Modifiers of substitution command
+ writedebugfile($_,'postprocess2');
# where changes have occurred in verbatim environment, change verbatim to DIFverbatim to allow mark-up
# (I use the presence of optional paramater to verbatim environment as the marker - normal verbatim
# environment does not take optional arguments)
@@ -2905,7 +2963,6 @@ sub postprocess {
s/\\($VERBATIMENV)\{([-\d]*?)\}/"\\begin{${1}}".fromhash(\%verbhash,$2)."\\end{${1}}"/esg;
-
# remove all \PAR tokens (taking care to properly keep commented out PAR's
# from introducing uncommented newlines - next line)
s/(%DIF < )([^\n]*?)\\PAR\n/$1$2\n$1\n/sg;
@@ -2951,6 +3008,7 @@ sub postprocess {
1 while s/\\SQRT(\s*\{($pat_n)\})/\\sqrt$1/g ;
1 while s/\\SQRTNB\{(\s*$pat0)\}/\\sqrt$1/g ;
+ 1 while s/(%.*)\\CFRAC (.*)$/$1\\frac$2/mg ;
1 while s/(%.*)\\CRIGHTBRACE (.*)$/$1\}$2/mg ;
1 while s/(%.*)\\CLEFTBRACE (.*)$/$1\{$2/mg ;
@@ -2959,7 +3017,7 @@ sub postprocess {
s/\\QLEFTBRACE /\\\{/sg;
s/\\QRIGHTBRACE /\\\}/sg;
s/\\AMPERSAND /\\&/sg;
- # Highligh added inline verbatim commands if possible
+ # Highlight added inline verbatim commands if possible
if ( $latexdiffpreamble =~ /\\RequirePackage(?:\[$brat_n\])?\{color\}/ ) {
# wrap added verb commands with color commands
s/\\DIFDIFadd((?:verb\*?|lstinline(?:\[$brat_n\])?)\{[-\d]*?\}[\s\n]*)/\{\\color{blue}$AUXCMD\n\\DIF$1%\n\}$AUXCMD\n/sg;
@@ -3019,7 +3077,7 @@ sub preprocess_preamble {
my ($line,$cmd,$optarg,$arg,$optargnew,$optargold,$optargdiff,$argold,$argnew,$argdiff,$auxline);
my $warnmsgdetail = <<EOF ;
- This should not occur for standard styles, but can occur for some specifiy styles, document classes,
+ This should not occur for standard styles, but can occur for some specific styles, document classes,
e.g. journal house styles.
Workaround: Use --replace-context2cmd option to specifically set those commands, which are not repeated.
EOF
@@ -3285,7 +3343,7 @@ sub exetime {
sub usage {
- die <<"EOF";
+ print STDERR <<"EOF";
Usage: $0 [options] old.tex new.tex > diff.tex
Compares two latex files and writes tex code to stdout, which has the same format as new.tex but
@@ -3479,6 +3537,9 @@ Other configuration options:
variable SCALEDELGRAPHICS to set size of deleted figures.
Note that changes to the optional parameters will make the figure appear as changed
to latexdiff, and this figure will thus be highlighted.
+ In some circumstances "Misplaced \\noalign" errors can occur if there are certain types
+ of changes in tables. In this case please use option --graphics-markup=none as a
+ work-around.
--disable-citation-markup
--disable-auto-mbox Suppress citation markup and markup of other vulnerable commands in styles
@@ -3490,7 +3551,7 @@ Other configuration options:
with \\mbox command, i.e. use default behaviour for ulem package for other packages
(the two options are identical and are simply aliases)
-Miscelleneous options
+Miscellaneous options
--label=label
-L label Sets the labels used to describe the old and new files. The first use
@@ -3521,7 +3582,10 @@ Miscelleneous options
--ignore-filter-stderr When running with --filter-script, STDERR from the script may cause readability issues.
Turn this flag on to ignore STDERR from the filter script.
-
+--driver=type Choose driver for changebar package (only relevant for styles using
+ changebar: CCHANGEBAR CFONTCHBAR CULINECHBAR CHANGEBAR). Possible
+ drivers are listed in changebar manual, e.g. pdftex,dvips,dvitops
+ [Default: pdftex]
--help
-h Show this help text.
@@ -3542,6 +3606,7 @@ the API should be considered less stable than for the other options.
--no-links Suppress generation of hyperreferences, used for minimal diffs
(option --only-changes of latexdiff-vc).
EOF
+ exit 0;
}
=head1 NAME
@@ -4013,7 +4078,12 @@ scale, and crossed out with a red diagonal cross. Use configuration
variable SCALEDELGRAPHICS to set size of deleted figures.
Note that changes to the optional parameters will make the figure appear as changed
-to latexdiff, and this figure will thus be highlighted
+to latexdiff, and this figure will thus be highlighted.
+
+In some circumstances "Misplaced \noalign" error can occur if there are certain types
+of changes in tables. In this case please use C<--graphics-markup=none> as a
+work-around.
+
=item B<--disable-citation-markup> or B<--disable-auto-mbox>
@@ -4043,7 +4113,7 @@ Default is to work silently.
Choose driver for changebar package (only relevant for styles using
changebar: CCHANGEBAR CFONTCHBAR CULINECHBAR CHANGEBAR). Possible
drivers are listed in changebar manual, e.g. pdftex,dvips,dvitops
- [Default: dvips]
+ [Default: pdftex]
=item B<--ignore-warnings>
@@ -4438,8 +4508,8 @@ I<latexdiff-fast> requires the I<diff> command to be present.
=head1 AUTHOR
-Version 1.3.0
-Copyright (C) 2004-2018 Frederik Tilmann
+Version 1.3.2
+Copyright (C) 2004-2021 Frederik Tilmann
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License Version 3
@@ -4465,6 +4535,7 @@ makebox
mbox
pageref
ref
+eqref
symbol
raisebox
rule
@@ -4765,6 +4836,7 @@ flalign[*]?
%%BEGIN ARRENV CONFIG
aligned
gathered
+multlined
array
[pbvBV]?matrix
smallmatrix
@@ -4834,14 +4906,14 @@ verbatim[*]?
%DIF END FONTSTRIKE PREAMBLE
%DIF CCHANGEBAR PREAMBLE
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{\protect\cbstart{\protect\color{blue}#1}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete{\protect\color{red}#1}\protect\cbdelete}
%DIF END CCHANGEBAR PREAMBLE
%DIF CFONTCHBAR PREAMBLE
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{\protect\cbstart{\protect\color{blue}\sf #1}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete{\protect\color{red}\scriptsize #1}\protect\cbdelete}
@@ -4849,14 +4921,14 @@ verbatim[*]?
%DIF CULINECHBAR PREAMBLE
\RequirePackage[normalem]{ulem}
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{\protect\cbstart{\protect\color{blue}\uwave{#1}}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete{\protect\color{red}\sout{#1}}\protect\cbdelete}
%DIF END CULINECHBAR PREAMBLE
%DIF CHANGEBAR PREAMBLE
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\providecommand{\DIFadd}[1]{\protect\cbstart{#1}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete}
%DIF END CHANGEBAR PREAMBLE
@@ -5103,7 +5175,6 @@ verbatim[*]?
%DIF LISTINGS PREAMBLE
\RequirePackage{listings}
-\RequirePackage{color}
\lstdefinelanguage{DIFcode}{
% note that the definitions in the following two lines are overwritten dependent on the markup type selected %DIFCODE TEMPLATE
morecomment=[il]{\%DIF\ <\ }, %DIFCODE TEMPLATE
@@ -5119,6 +5190,24 @@ verbatim[*]?
\lstnewenvironment{DIFverbatim*}{\lstset{style=DIFverbatimstyle,showspaces=true}}{}
%DIF END LISTINGS PREAMBLE
+%DIF COLORLISTINGS PREAMBLE
+\RequirePackage{listings}
+\RequirePackage{color}
+\lstdefinelanguage{DIFcode}{
+ % note that the definitions in the following two lines are overwritten dependent on the markup type selected %DIFCODE TEMPLATE
+ morecomment=[il]{\%DIF\ <\ }, %DIFCODE TEMPLATE
+ moredelim=[il][\bfseries]{\%DIF\ >\ } %DIFCODE TEMPLATE
+}
+\lstdefinestyle{DIFverbatimstyle}{
+ language=DIFcode,
+ basicstyle=\ttfamily,
+ columns=fullflexible,
+ keepspaces=true
+}
+\lstnewenvironment{DIFverbatim}{\lstset{style=DIFverbatimstyle}}{}
+\lstnewenvironment{DIFverbatim*}{\lstset{style=DIFverbatimstyle,showspaces=true}}{}
+%DIF END COLORLISTINGS PREAMBLE
+
%DIF DIFCODE_UNDERLINE
moredelim=[il][\color{red}\sout]{\%DIF\ <\ },
moredelim=[il][\color{blue}\uwave]{\%DIF\ >\ }
diff --git a/support/latexdiff/latexdiff-fast b/support/latexdiff/latexdiff-fast
index ec3f618dab..b653ea5e95 100755
--- a/support/latexdiff/latexdiff-fast
+++ b/support/latexdiff/latexdiff-fast
@@ -22,7 +22,23 @@
#
# Detailed usage information at the end of the file
#
-
+#
+# Version 1.3.2
+# API adaptions:
+# - latexdiff now completes with exit code 0 after --help or --version command (see issue #248)
+# New features / feature extensions
+# - extend CUSTOMDIFCMD related postprocessing to deal properly with multiline commands, or a sequence of several commands in the same line (see github issue #204)
+# - Support for additional macros from import package (\import, \inputfrom, \includefrom, \subimport,\subinputfrom, \subincludefrom). Provided by janniklasrose in PR #243 (fixes #239)
+# - replace default driver dvips->pdftex
+# Bug fixes:
+# - fix issue #206 affecting proper markup of text commands which are not safe cmd's at the same time and have multiple arguments
+# - fix issue #210 by adding \eqref (amsmath package) to the list of safe commands
+# - fix bug reported in issue #168 mangled verbatim line environment
+# - fix bug reported in issue #218 by replacing \hspace{0pt} after \mbox{..} auxiliary commands with \hskip0pt.
+# - more ways to process \frac correctly with atomic arguments (committed by julianuu PR #246
+# - fix a bug in biblatex mode, which prevented proper processing of modified \textcite (see: https://tex.stackexchange.com/questions/555157/latexdiff-and-biblatex-citation-commands)
+# - -h string fix: add -driver option
+#
# Version 1.3.1.1
# - remove spurious \n to fix error: Unknown regexp modifier "/n" at .../latexdiff line 1974, near "=~ " (see github issue #201)
#
@@ -764,8 +780,8 @@ my ($algodiffversion)=split(/ /,$Algorithm::Diff::VERSION);
my ($versionstring)=<<EOF ;
-This is LATEXDIFF 1.3.1.1 (Algorithm::Diff $Algorithm::Diff::VERSION, Perl $^V)
- (c) 2004-2020 F J Tilmann
+This is LATEXDIFF 1.3.2 (Algorithm::Diff $Algorithm::Diff::VERSION, Perl $^V)
+ (c) 2004-2021 F J Tilmann
EOF
# Hash with defaults for configuration variables. These marked undef have default values constructed from list defined in the DATA block
@@ -822,7 +838,7 @@ my ($ARRENV,
# my $MATHREPL='displaymath'; # Environment introducing deleted maths blocks
# my $MATHARRENV='(?:eqnarray|align|alignat|gather|multline|flalign)[*]?' ; # Environments turning on eqnarray math mode
# my $MATHARRREPL='eqnarray*'; # Environment introducing deleted maths blocks
-# my $ARRENV='(?:aligned|gathered|array|[pbvBV]?matrix|smallmatrix|cases|split)'; # Environments making arrays in math mode. The underlining style does not cope well with those - as a result in-text math environments are surrounded by \mbox{ } if any of these commands is used in an inline math block
+# my $ARRENV='(?:aligned|gathered|multlined|array|[pbvBV]?matrix|smallmatrix|cases|split)'; # Environments making arrays in math mode. The underlining style does not cope well with those - as a result in-text math environments are surrounded by \mbox{ } if any of these commands is used in an inline math block
# my $COUNTERCMD='(?:footnote|part|chapter|section|subsection|subsubsection|paragraph|subparagraph)'; # textcmds which are associated with a counter
# # If any of these commands occur in a deleted block
# # they will be succeeded by an \addtocounter{...}{-1}
@@ -1019,7 +1035,8 @@ if ( $help ) {
if ( $version ) {
- die $versionstring ;
+ print STDERR $versionstring ;
+ exit 0;
}
print STDERR $versionstring if $verbose;
@@ -1064,7 +1081,7 @@ if (defined($preamblefile)) {
if ( defined($driver) ) {
# for changebar only
- $latexdiffpreamble=~s/\[dvips\]/[$driver]/sg;
+ $latexdiffpreamble=~s/\[pdftex\]/[$driver]/sg;
}
# setting up @SAFECMDLIST and @SAFECMDEXCL
if (defined($replacesafe)) {
@@ -1295,7 +1312,9 @@ push(@SAFECMDLIST, qr/^QLEFTBRACE$/, qr/^QRIGHTBRACE$/);
my $predefinedcmdoptseq='(?:'.$predefinedcmdoptseq12.'|'.$predefinedcmdoptseq01.'|'.$predefinedbibitem.')';
my $cmdleftright='\\\\(?:left|right|[Bb]igg?[lrm]?|middle)\s*(?:[<>()\[\]|\.]|\\\\(?:[|{}]|\w+))';
- my $cmdoptseq='\\\\[\w\d@\*]+'.$extraspace.'(?:(?:<'.$abrat0.'>|\['.$brat_n.'\]|\{'. $pat_n . '\}|\(' . $coords .'\))'.$extraspace.')*';
+# standard $cmdoptseq (default: no intrevening spaces, controlled by extraspcae) - a final open parentheses is merged to the commend if it exists to deal properly with multi-argument text command
+ my $cmdoptseq='\\\\[\w\d@\*]+'.$extraspace.'(?:(?:<'.$abrat0.'>|\['.$brat_n.'\]|\{'. $pat_n . '\}|\(' . $coords .'\))'.$extraspace.')*\{?';
+# Handle tex \def macro: \def\MAKRONAME#1[#2]#3{DEFINITION}
my $defseq='\\\\def\\\\[\w\d@\*]+(?:#\d+|\[#\d+\])+(?:\{'. $pat_n . '\})?';
my $backslashnl='\\\\\n';
my $oneletcmd='\\\\.\*?(?:\['.$brat_n.'\]|\{'. $pat_n . '\})*';
@@ -1514,6 +1533,9 @@ $ulem = ($latexdiffpreamble =~ /\\RequirePackage(?:\[$brat_n\])?\{ulem\}/ || def
# If listings is being used or can be found in the latexdiff search path, add to the preamble auxiliary code to enable line-by-line markup
if ( defined($packages{"listings"}) or `kpsewhich listings.sty` ne "" ) {
my @listingpreamble=extrapream("LISTINGS");
+ if ($latexdiffpreamble =~ /\\RequirePackage(?:\[$brat_n\])?\{color\}/ ) {
+ @listingpreamble=extrapream("COLORLISTINGS");
+ }
my @listingDIFcode=();
my $replaced;
# note that in case user supplies preamblefile the type might not reflect well the
@@ -1676,6 +1698,7 @@ if ( defined $packages{"apacite"} ) {
} elsif (defined $packages{"biblatex"}) {
print STDERR "biblatex package detected.\n" if $verbose ;
$citpat='(?:[cC]ites?|(?:[pP]aren|foot|[Tt]ext|[sS]mart|super)cites?\*?|footnotecitetex)';
+ push(@TEXTCMDEXCL, qr/^textcite$/);
} else {
# citation command pattern for all other citation schemes
$citpat='(?:cite\w*|nocite)';
@@ -1952,6 +1975,9 @@ sub add_safe_commands {
my $should_be_safe = $2;
print STDERR "DEBUG Checking new command: maybe_to_test, should_be_safe: $1 $2\n" if $debug;
my $success = 0;
+ # skip custom diff commands
+ next if ($maybe_to_test =~ m/^(?:ADD|DEL)?${CUSTOMDIFCMD}$/);
+ ###print STDERR "DEBUG: really test it. \n";
# test if all latex commands inside it are safe
$success = 1;
if ($should_be_safe =~ m/\\\\/) {
@@ -1994,6 +2020,7 @@ sub remove_endinput {
# expands \input and \include commands within text
# expands \bibliography command with corresponding bbl file if available
# expands \subfile command (from subfiles package - not part of standard text distribution)
+# expands \import etc commands (from import package - not part of standard text distribution)
# preamble is scanned for includeonly commands
# encoding is the encoding
sub flatten {
@@ -2021,15 +2048,16 @@ sub flatten {
# Run through filter, to let filterscript have a pass if it was set
$text = filter($text);
- # Recursively replace \\import and \\subimport files
- $text =~ s/(^(?:[^%\n]|\\%)*)(\\subimport\{(.*?)\}|\\import\{(.*?)\})(?:[\s]*)\{(.*?)\}/{
+ # Recursively replace \\import, \\subimport, and related import commands
+ $text =~ s/(^(?:[^%\n]|\\%)*)(\\(sub)?(?:import|inputfrom|includefrom))\{(.*?)\}(?:[\s]*)\{(.*?)\}/{
+ # (--------1-------)(--(=3=)-------------2-------------------) (-4-) (-5-)
# $1 is begline
- # $3 is directory if subimport
- # $4 is directory if import
+ # $2 is the import macro name
+ # $3 is (optional) prefix "sub"
+ # $4 is directory
# $5 is filename
$begline = (defined($1)? $1 : "");
- $subdir = $3 if defined($3);
- $subdir = $4 if defined($4);
+ $subdir = $4;
$fname = $5;
$fname .= ".tex" unless $fname =~ m|\.\w{3,4}$|;
print STDERR "DEBUG begline:", $begline, "\n" if $debug;
@@ -2044,12 +2072,13 @@ sub flatten {
print STDERR "importing importfilepath:", $importfilepath,"\n" if $verbose;
if ( -f $importfilepath ) {
# If file exists, replace input or include command with expanded input
+ #TODO: need remove_endinput & newpage similar to other replacements inside flatten
$replacement=flatten(read_file_with_encoding($importfilepath, $encoding), $preamble,$importfilepath,$encoding) or die "Could not open file ",$fullfile,": $!";
} else {
# if file does not exist, do not expand include or input command (do not warn if fname contains #[0-9] as it is then likely part of a command definition
# and is not meant to be expanded directly
print STDERR "WARNING: Could not find included file ",$importfilepath,". I will continue but not expand |$2|\n";
- $replacement=(defined($3)? "\\subimport" : "\\import");
+ $replacement = $2;
$replacement .= "{$subdir}{$fname} % Processed";
}
"$begline$replacement";
@@ -2719,9 +2748,10 @@ sub marktags {
# split this block to split sequences joined in pass1
+ ### print STDERR "DEBUG: marktags before splitlatex blocksplit ",join("|",@$block),"\n" if $debug;
@$block=splitlatex(join "",@$block);
### print STDERR "DEBUG: marktags $openmark,$closemark,$open,$close,$opencmd,$closecmd,$comment\n" if $debug;
- ### print STDERR "DEBUG: marktags blocksplit ",join("|",@$block),"\n" if $debug;
+ print STDERR "DEBUG: after splitlatex ",join("|",@$block),"\n" if $debug;
# we redefine locally $extraspace (shadowing the global definition) to capture command sequences with intervening spaces no matter what the global setting
# this is done so we can capture those commands with a predefined number of arguments without having to introduce them again explicitly here
@@ -2777,6 +2807,7 @@ sub marktags {
# $2 (the command) is in context2, just treat it as an ordinary command (i.e. comment it open with $opencmd)
# Because we do not want to disable this command
# here we do not use $opencmd and $closecmd($opencmd is empty)
+ print STDERR "DEBUG: Detected text |$word| but not safe command \$2: $2 \$3: $3\n." if $debug;
if ($cmd==1) {
push (@$retval,$closecmd) ;
} elsif ($cmd==0) {
@@ -2835,7 +2866,7 @@ sub marktags {
if ( $word =~ /^\\(?!\()(\\|[`'^"~=.]|[\w*@]+)(.*?)(\s*)$/s && iscmd($1,\@MBOXCMDLIST,\@MBOXCMDEXCL)) {
# $word is a safe command in MBOXCMDLIST
###print STDERR "DEBUG Mboxsafecmd detected:$word:\n" if $debug ;
- push(@$retval,"\\mbox{$AUXCMD\n\\" . $1 . $2 . $3 ."}\\hspace{0pt}$AUXCMD\n" );
+ push(@$retval,"\\mbox{$AUXCMD\n\\" . $1 . $2 . $3 ."}\\hskip0pt$AUXCMD\n" );
} else {
# $word is a normal word or a safe command (not in MBOXCMDLIST)
push (@$retval,$word);
@@ -2855,22 +2886,22 @@ sub take_comments_and_newline_from_frac() {
# some special magic for common usage of frac, which does not conform to the latexdiff requirements but can be made to fit
# note that this is a rare exception to the general rule that the new tex can be reconstructed from the diff file
- # \frac12 -> \frac{1}{2}
- s/\\frac(\d)(\w)/\\frac\{$1\}\{$2\}/g;
-
- # \frac1{2b} -> \frac{1}{2b}
- s/\\frac(\d)/\\frac\{$1\}/g;
-
- # delete space and comment characters between \frac arguments
-# s/\\frac(?:\s*?%[^\n]*?)*?(\{$pat_n\})\s*(\{$pat_n\})/\\frac$1$2/g;
- s/\\frac(?:\s|%[^\n]*?)*(\{$pat_n\})(?:\s|%[^\n]*?)*(\{$pat_n\})/\\frac$1$2/g;
+ # regex that matches space and comment characters
+ my $space = qr/\s|%[^\n]*?/;
+ # \frac {abc} -> \frac{abc}
+ # \frac1 -> \frac{1}
+ # \frac a -> \frac{a}
+ # \frac \lambda -> \frac{\lambda}
+ s/\\frac(?|${space}+\{($pat_n)\}|${space}*(\d)|${space}+(\w)|${space}*(\\[a-zA-Z]+))/\\frac\{$1\}/g;
+ # same as above for the second argument of frac
+ s/\\frac(\{$pat_n\})(?|${space}*\{($pat_n)\}|${space}*(\d)|${space}+(\w)|${space}*(\\[a-zA-Z]+))/\\frac$1\{$2\}/g;
}
# preprocess($string, ..)
# carry out the following pre-processing steps for all arguments:
# 1. Remove leading white-space
# Change \{ to \QLEFTBRACE and \} to \QRIGHTBRACE and \& to \AMPERSAND
-# #. Change {,} in comments to \CLEFTBRACE, \CRIGHTBRACE
+# #. Change {,},\frac in comments to \CLEFTBRACE, \CRIGHTBRACE, \CFRAC
# 2. mark all first empty line (in block of several) with \PAR tokens
# 3. Convert all '\%' into '\PERCENTAGE ' and all '\$' into \DOLLAR to make parsing regular expressions easier
# 4. Convert all \verb|some verbatim text| commands (where | can be an arbitrary character)
@@ -2906,9 +2937,11 @@ sub preprocess {
s/(?<!\\)\\\{/\\QLEFTBRACE /sg;
s/(?<!\\)\\\}/\\QRIGHTBRACE /sg;
s/(?<!\\)\\&/\\AMPERSAND /sg;
-# replace {,} in comments with \\CLEFTBRACE,\\CRIGHTBRACE
+# replace {,}, \frac in comments with \\CLEFTBRACE,\\CRIGHTBRACE, CFRAC to protect from special treatment
1 while s/((?<!\\)%.*)\{(.*)$/$1\\CLEFTBRACE $2/mg ;
1 while s/((?<!\\)%.*)\}(.*)$/$1\\CRIGHTBRACE $2/mg ;
+ 1 while s/((?<!\\)%.*)\\frac(.*)$/$1\\CFRAC $2/mg ;
+
s/(?<!\\)\\%/\\PERCENTAGE /g ; # (?<! is negative lookbehind assertion to prevent \\% from being converted
s/(?<!\\)\\\$/\\DOLLAR /g ; # (?<! is negative lookbehind assertion to prevent \\$ from being converted
s/\\begin\{($VERBATIMENV)\}(.*?)\\end\{\1\}/"\\${1}{". tohash(\%verbhash,"${2}") . "}"/esg;
@@ -2972,7 +3005,7 @@ sub linecomment {
# remove DIFVRB comments but leave changed lines marked
sub reverselinecomment {
my ($environment, $verbatimtext)=@_;
- ###print STDERR "OLD VERBATIMTEXT: |$verbatimtext|\n";
+ ### print STDERR "DEBUG REVERSELINECOMMENT input: $environment,|$verbatimtext|\n" if $debug;
# remove markup added by latexdiff
# (this should occur only if the type of verbatim environment was changed)
# (note that this destroys some information in old file)
@@ -3007,7 +3040,7 @@ sub reverselinecomment {
} else {
$verbatimtext = "\\begin{${environment}}${verbatimtext}\\end{${environment}}"
}
- ###print STDERR "NEW VERBATIMTEXT: |$verbatimtext|\n";
+ ### print STDERR "DEBUG REVERSELINECOMMENT output: |$verbatimtext|\n" if $debug;
return($verbatimtext);
}
@@ -3049,6 +3082,14 @@ sub fromhash {
return $retstr;
}
+# stripdelcmpopen(string)
+# return string with $DELCMDOPEN removed
+sub stripdelcmdopen {
+ my ($str) = $_[0];
+ $str =~ s/${DELCMDOPEN}//mg;
+ return $str;
+}
+
# writedebugfile(string, label)
# if $debug set writes <string> to file latexdiff.debug.<label>
# otherwise do nothing
@@ -3287,17 +3328,21 @@ sub postprocess {
### $delblock =~ s/\\DIFverb\{/\\DIFDIFdelverb\{/g;
### $delblock =~ s/\\DIFlstinline/\\DIFDIFdellstinline/g;
###}
- # Mark deleted verbose commands
+ # Mark deleted verbatim commands
$delblock =~ s/(${DELCMDOPEN}\\DIF((?:verb\*?|lstinline(?:\[$brat_n\])?)\{([-\d]*?)\}\s*).*)$/%\n\\DIFDIFdel$2${AUXCMD}\n$1/gm;
if ( $CUSTOMDIFCMD ) {
- $delblock =~ s/(${DELCMDOPEN}.*)\\($CUSTOMDIFCMD)/$1${DELCMDCLOSE}\\DEL$2/gm;
+ ###$delblock =~ s/(${DELCMDOPEN}.*)\\($CUSTOMDIFCMD)((?:\[${brat_n}\])*?(?:\s*\{${pat_n}\})*)/"$1${DELCMDCLOSE}\\DEL$2". stripdelcmdopen($3) ." ${DELCMDOPEN}"/egms;
+ ###$delblock =~ s/(${DELCMDOPEN}.*)\\($CUSTOMDIFCMD)/$1${DELCMDCLOSE}\\DEL$2/gm;
+ # ($1 ? "${DELCMDOPEN}$1${DELCMDCLOSE}":"") : only add the DELCMDOPEN / DELCMDCLOSE pair if there are actually any commands in between, otherwise this is redundant
+ $delblock =~ s/${DELCMDOPEN}(.*?)\\($CUSTOMDIFCMD)((?:\[${brat_n}\])*?(?:\s*\{${pat_n}\})*)/($1 ? "${DELCMDOPEN}$1${DELCMDCLOSE}":"") ."\\DEL$2". stripdelcmdopen($3)/egs;
+ # if there is a sequence of several commands in the same row only the first will be converted due to the need to be connected to the DELCMDOPEN. To mop these up, just add the DEL to the front of any remaining cmd's in the deleted block
+ $delblock =~ s/\\($CUSTOMDIFCMD)/\\DEL$1/g; # this will also convert comments but I guess it does not matter much
}
# splice in modified delblock
substr($_,$begin,$len)=$delblock;
pos = $begin + length($delblock);
}
- ###writedebugfile($_,'postprocess');
### print STDERR "<<<$_>>>\n" if $debug;
@@ -3327,7 +3372,7 @@ sub postprocess {
$addblock =~ s/\\DIFverb/\\DIFDIFaddverb/g;
$addblock =~ s/\\DIFlstinline/\\DIFDIFaddlstinline/g;
if( $CUSTOMDIFCMD ) {
- $addblock =~ s/\\($CUSTOMDIFCMD)/\\ADD$1/g;
+ $addblock =~ s/\\($CUSTOMDIFCMD)/\\ADD$1/g; # this will also convert comments but I guess it does not matter much
}
# markup the optional arguments of \item
$addblock =~ s/(\\$ITEMCMD$extraspace(?:<$abrat0>)?$extraspace)\[($brat_n)\]/
@@ -3437,10 +3482,22 @@ sub postprocess {
# remove empty DIFCMD < lines
s/^\Q${DELCMDOPEN}\E\n//msg;
- # Expand hashes of verb and verbatim environments (note negative look behind assertion to not leak out of DIFDELCMD comments
+ # Expand hashes of verb and verbatim environments
s/${DELCMDOPEN}\\($VERBATIMENV)\{([-\d]*?)\}/"${DELCMDOPEN}\\begin{${1}}".fromhash(\%verbhash,$2,$DELCMDOPEN)."${DELCMDOPEN}\\end{${1}}"/esg;
- # revert changes to verbatim environments for line diffs (and add code to mark up changes)
- s/(?<!$DELCMDOPEN)\\begin\{($VERBATIMLINEENV)\}(.*?)\\end\{\1\}/"". reverselinecomment($1, $2) .""/esg;
+ # revert changes to verbatim environments for line diffs (and add code to mark up changes) (note negative look behind assertions to not leak out of DIFDELCMD comments)
+ # Example:
+ # < \begin{verbatim}
+ # < %DIF < DIFVRB old verbatim line
+ # < %DIF > DIFVRB new verbatim line
+ # < \end{verbatim}
+ # ---
+ # > \DIFmodbegin
+ # > \begin{verbatim}[alsolanguage=DIFcode]
+ # > %DIF < old verbatim line
+ # > %DIF > new verbatim line
+ # > \end{verbatim}
+ # > \DIFmodend
+ s/(?<!$DELCMDOPEN)\\begin\{($VERBATIMLINEENV)\}(.*?)(?<!$DELCMDOPEN)\\end\{\1\}/"". reverselinecomment($1, $2) .""/esg;
# # we do the same for deleted environments but additionally reinstate the framing commands
# s/$DELCMDOPEN\\begin\{($VERBATIMLINEENV)\}$extraspace(?:\[$brat0\])?$DELCMDCLOSE(.*?)$DELCMDOPEN\\end\{\1\}$DELCMDCLOSE/"\\begin{$1}". reverselinecomment($2) . "\\end{$1}"/esg;
## s/$DELCMDOPEN\\begin\{($VERBATIMLINEENV)\}($extraspace(?:\[$brat0\])?\s*)(?:\n|$DELCMDOPEN)*$DELCMDCLOSE((?:\%$DELCOMMENT$VERBCOMMENT.*?\n)*)($DELCMDOPEN\\end\{\1\}(?:\n|\s|$DELCMDOPEN)*$DELCMDCLOSE)/"SUBSTITUTION: \\begin{$1}$2 INTERIOR: |$3| END: |$4|"/esg;
@@ -3459,6 +3516,7 @@ sub postprocess {
. " $AUXCMD\n" # close the auxiliary environment
. $5 # and again leave the original deleted closing environment as is
/esgx; # Modifiers of substitution command
+ writedebugfile($_,'postprocess2');
# where changes have occurred in verbatim environment, change verbatim to DIFverbatim to allow mark-up
# (I use the presence of optional paramater to verbatim environment as the marker - normal verbatim
# environment does not take optional arguments)
@@ -3466,7 +3524,6 @@ sub postprocess {
s/\\($VERBATIMENV)\{([-\d]*?)\}/"\\begin{${1}}".fromhash(\%verbhash,$2)."\\end{${1}}"/esg;
-
# remove all \PAR tokens (taking care to properly keep commented out PAR's
# from introducing uncommented newlines - next line)
s/(%DIF < )([^\n]*?)\\PAR\n/$1$2\n$1\n/sg;
@@ -3512,6 +3569,7 @@ sub postprocess {
1 while s/\\SQRT(\s*\{($pat_n)\})/\\sqrt$1/g ;
1 while s/\\SQRTNB\{(\s*$pat0)\}/\\sqrt$1/g ;
+ 1 while s/(%.*)\\CFRAC (.*)$/$1\\frac$2/mg ;
1 while s/(%.*)\\CRIGHTBRACE (.*)$/$1\}$2/mg ;
1 while s/(%.*)\\CLEFTBRACE (.*)$/$1\{$2/mg ;
@@ -3520,7 +3578,7 @@ sub postprocess {
s/\\QLEFTBRACE /\\\{/sg;
s/\\QRIGHTBRACE /\\\}/sg;
s/\\AMPERSAND /\\&/sg;
- # Highligh added inline verbatim commands if possible
+ # Highlight added inline verbatim commands if possible
if ( $latexdiffpreamble =~ /\\RequirePackage(?:\[$brat_n\])?\{color\}/ ) {
# wrap added verb commands with color commands
s/\\DIFDIFadd((?:verb\*?|lstinline(?:\[$brat_n\])?)\{[-\d]*?\}[\s\n]*)/\{\\color{blue}$AUXCMD\n\\DIF$1%\n\}$AUXCMD\n/sg;
@@ -3580,7 +3638,7 @@ sub preprocess_preamble {
my ($line,$cmd,$optarg,$arg,$optargnew,$optargold,$optargdiff,$argold,$argnew,$argdiff,$auxline);
my $warnmsgdetail = <<EOF ;
- This should not occur for standard styles, but can occur for some specifiy styles, document classes,
+ This should not occur for standard styles, but can occur for some specific styles, document classes,
e.g. journal house styles.
Workaround: Use --replace-context2cmd option to specifically set those commands, which are not repeated.
EOF
@@ -3846,7 +3904,7 @@ sub exetime {
sub usage {
- die <<"EOF";
+ print STDERR <<"EOF";
Usage: $0 [options] old.tex new.tex > diff.tex
Compares two latex files and writes tex code to stdout, which has the same format as new.tex but
@@ -4040,6 +4098,9 @@ Other configuration options:
variable SCALEDELGRAPHICS to set size of deleted figures.
Note that changes to the optional parameters will make the figure appear as changed
to latexdiff, and this figure will thus be highlighted.
+ In some circumstances "Misplaced \\noalign" errors can occur if there are certain types
+ of changes in tables. In this case please use option --graphics-markup=none as a
+ work-around.
--disable-citation-markup
--disable-auto-mbox Suppress citation markup and markup of other vulnerable commands in styles
@@ -4051,7 +4112,7 @@ Other configuration options:
with \\mbox command, i.e. use default behaviour for ulem package for other packages
(the two options are identical and are simply aliases)
-Miscelleneous options
+Miscellaneous options
--label=label
-L label Sets the labels used to describe the old and new files. The first use
@@ -4082,7 +4143,10 @@ Miscelleneous options
--ignore-filter-stderr When running with --filter-script, STDERR from the script may cause readability issues.
Turn this flag on to ignore STDERR from the filter script.
-
+--driver=type Choose driver for changebar package (only relevant for styles using
+ changebar: CCHANGEBAR CFONTCHBAR CULINECHBAR CHANGEBAR). Possible
+ drivers are listed in changebar manual, e.g. pdftex,dvips,dvitops
+ [Default: pdftex]
--help
-h Show this help text.
@@ -4103,6 +4167,7 @@ the API should be considered less stable than for the other options.
--no-links Suppress generation of hyperreferences, used for minimal diffs
(option --only-changes of latexdiff-vc).
EOF
+ exit 0;
}
=head1 NAME
@@ -4574,7 +4639,12 @@ scale, and crossed out with a red diagonal cross. Use configuration
variable SCALEDELGRAPHICS to set size of deleted figures.
Note that changes to the optional parameters will make the figure appear as changed
-to latexdiff, and this figure will thus be highlighted
+to latexdiff, and this figure will thus be highlighted.
+
+In some circumstances "Misplaced \noalign" error can occur if there are certain types
+of changes in tables. In this case please use C<--graphics-markup=none> as a
+work-around.
+
=item B<--disable-citation-markup> or B<--disable-auto-mbox>
@@ -4604,7 +4674,7 @@ Default is to work silently.
Choose driver for changebar package (only relevant for styles using
changebar: CCHANGEBAR CFONTCHBAR CULINECHBAR CHANGEBAR). Possible
drivers are listed in changebar manual, e.g. pdftex,dvips,dvitops
- [Default: dvips]
+ [Default: pdftex]
=item B<--ignore-warnings>
@@ -4999,8 +5069,8 @@ I<latexdiff-fast> requires the I<diff> command to be present.
=head1 AUTHOR
-Version 1.3.0
-Copyright (C) 2004-2018 Frederik Tilmann
+Version 1.3.2
+Copyright (C) 2004-2021 Frederik Tilmann
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License Version 3
@@ -5026,6 +5096,7 @@ makebox
mbox
pageref
ref
+eqref
symbol
raisebox
rule
@@ -5326,6 +5397,7 @@ flalign[*]?
%%BEGIN ARRENV CONFIG
aligned
gathered
+multlined
array
[pbvBV]?matrix
smallmatrix
@@ -5395,14 +5467,14 @@ verbatim[*]?
%DIF END FONTSTRIKE PREAMBLE
%DIF CCHANGEBAR PREAMBLE
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{\protect\cbstart{\protect\color{blue}#1}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete{\protect\color{red}#1}\protect\cbdelete}
%DIF END CCHANGEBAR PREAMBLE
%DIF CFONTCHBAR PREAMBLE
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{\protect\cbstart{\protect\color{blue}\sf #1}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete{\protect\color{red}\scriptsize #1}\protect\cbdelete}
@@ -5410,14 +5482,14 @@ verbatim[*]?
%DIF CULINECHBAR PREAMBLE
\RequirePackage[normalem]{ulem}
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{\protect\cbstart{\protect\color{blue}\uwave{#1}}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete{\protect\color{red}\sout{#1}}\protect\cbdelete}
%DIF END CULINECHBAR PREAMBLE
%DIF CHANGEBAR PREAMBLE
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\providecommand{\DIFadd}[1]{\protect\cbstart{#1}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete}
%DIF END CHANGEBAR PREAMBLE
@@ -5664,7 +5736,6 @@ verbatim[*]?
%DIF LISTINGS PREAMBLE
\RequirePackage{listings}
-\RequirePackage{color}
\lstdefinelanguage{DIFcode}{
% note that the definitions in the following two lines are overwritten dependent on the markup type selected %DIFCODE TEMPLATE
morecomment=[il]{\%DIF\ <\ }, %DIFCODE TEMPLATE
@@ -5680,6 +5751,24 @@ verbatim[*]?
\lstnewenvironment{DIFverbatim*}{\lstset{style=DIFverbatimstyle,showspaces=true}}{}
%DIF END LISTINGS PREAMBLE
+%DIF COLORLISTINGS PREAMBLE
+\RequirePackage{listings}
+\RequirePackage{color}
+\lstdefinelanguage{DIFcode}{
+ % note that the definitions in the following two lines are overwritten dependent on the markup type selected %DIFCODE TEMPLATE
+ morecomment=[il]{\%DIF\ <\ }, %DIFCODE TEMPLATE
+ moredelim=[il][\bfseries]{\%DIF\ >\ } %DIFCODE TEMPLATE
+}
+\lstdefinestyle{DIFverbatimstyle}{
+ language=DIFcode,
+ basicstyle=\ttfamily,
+ columns=fullflexible,
+ keepspaces=true
+}
+\lstnewenvironment{DIFverbatim}{\lstset{style=DIFverbatimstyle}}{}
+\lstnewenvironment{DIFverbatim*}{\lstset{style=DIFverbatimstyle,showspaces=true}}{}
+%DIF END COLORLISTINGS PREAMBLE
+
%DIF DIFCODE_UNDERLINE
moredelim=[il][\color{red}\sout]{\%DIF\ <\ },
moredelim=[il][\color{blue}\uwave]{\%DIF\ >\ }
diff --git a/support/latexdiff/latexdiff-so b/support/latexdiff/latexdiff-so
index 45e5188bcc..6cba4316e3 100755
--- a/support/latexdiff/latexdiff-so
+++ b/support/latexdiff/latexdiff-so
@@ -22,7 +22,23 @@
#
# Detailed usage information at the end of the file
#
-
+#
+# Version 1.3.2
+# API adaptions:
+# - latexdiff now completes with exit code 0 after --help or --version command (see issue #248)
+# New features / feature extensions
+# - extend CUSTOMDIFCMD related postprocessing to deal properly with multiline commands, or a sequence of several commands in the same line (see github issue #204)
+# - Support for additional macros from import package (\import, \inputfrom, \includefrom, \subimport,\subinputfrom, \subincludefrom). Provided by janniklasrose in PR #243 (fixes #239)
+# - replace default driver dvips->pdftex
+# Bug fixes:
+# - fix issue #206 affecting proper markup of text commands which are not safe cmd's at the same time and have multiple arguments
+# - fix issue #210 by adding \eqref (amsmath package) to the list of safe commands
+# - fix bug reported in issue #168 mangled verbatim line environment
+# - fix bug reported in issue #218 by replacing \hspace{0pt} after \mbox{..} auxiliary commands with \hskip0pt.
+# - more ways to process \frac correctly with atomic arguments (committed by julianuu PR #246
+# - fix a bug in biblatex mode, which prevented proper processing of modified \textcite (see: https://tex.stackexchange.com/questions/555157/latexdiff-and-biblatex-citation-commands)
+# - -h string fix: add -driver option
+#
# Version 1.3.1.1
# - remove spurious \n to fix error: Unknown regexp modifier "/n" at .../latexdiff line 1974, near "=~ " (see github issue #201)
#
@@ -660,8 +676,8 @@ my ($algodiffversion)=split(/ /,$Algorithm::Diff::VERSION);
my ($versionstring)=<<EOF ;
-This is LATEXDIFF 1.3.1.1 (Algorithm::Diff $Algorithm::Diff::VERSION, Perl $^V)
- (c) 2004-2020 F J Tilmann
+This is LATEXDIFF 1.3.2 (Algorithm::Diff $Algorithm::Diff::VERSION, Perl $^V)
+ (c) 2004-2021 F J Tilmann
EOF
# Hash with defaults for configuration variables. These marked undef have default values constructed from list defined in the DATA block
@@ -718,7 +734,7 @@ my ($ARRENV,
# my $MATHREPL='displaymath'; # Environment introducing deleted maths blocks
# my $MATHARRENV='(?:eqnarray|align|alignat|gather|multline|flalign)[*]?' ; # Environments turning on eqnarray math mode
# my $MATHARRREPL='eqnarray*'; # Environment introducing deleted maths blocks
-# my $ARRENV='(?:aligned|gathered|array|[pbvBV]?matrix|smallmatrix|cases|split)'; # Environments making arrays in math mode. The underlining style does not cope well with those - as a result in-text math environments are surrounded by \mbox{ } if any of these commands is used in an inline math block
+# my $ARRENV='(?:aligned|gathered|multlined|array|[pbvBV]?matrix|smallmatrix|cases|split)'; # Environments making arrays in math mode. The underlining style does not cope well with those - as a result in-text math environments are surrounded by \mbox{ } if any of these commands is used in an inline math block
# my $COUNTERCMD='(?:footnote|part|chapter|section|subsection|subsubsection|paragraph|subparagraph)'; # textcmds which are associated with a counter
# # If any of these commands occur in a deleted block
# # they will be succeeded by an \addtocounter{...}{-1}
@@ -915,7 +931,8 @@ if ( $help ) {
if ( $version ) {
- die $versionstring ;
+ print STDERR $versionstring ;
+ exit 0;
}
print STDERR $versionstring if $verbose;
@@ -960,7 +977,7 @@ if (defined($preamblefile)) {
if ( defined($driver) ) {
# for changebar only
- $latexdiffpreamble=~s/\[dvips\]/[$driver]/sg;
+ $latexdiffpreamble=~s/\[pdftex\]/[$driver]/sg;
}
# setting up @SAFECMDLIST and @SAFECMDEXCL
if (defined($replacesafe)) {
@@ -1191,7 +1208,9 @@ push(@SAFECMDLIST, qr/^QLEFTBRACE$/, qr/^QRIGHTBRACE$/);
my $predefinedcmdoptseq='(?:'.$predefinedcmdoptseq12.'|'.$predefinedcmdoptseq01.'|'.$predefinedbibitem.')';
my $cmdleftright='\\\\(?:left|right|[Bb]igg?[lrm]?|middle)\s*(?:[<>()\[\]|\.]|\\\\(?:[|{}]|\w+))';
- my $cmdoptseq='\\\\[\w\d@\*]+'.$extraspace.'(?:(?:<'.$abrat0.'>|\['.$brat_n.'\]|\{'. $pat_n . '\}|\(' . $coords .'\))'.$extraspace.')*';
+# standard $cmdoptseq (default: no intrevening spaces, controlled by extraspcae) - a final open parentheses is merged to the commend if it exists to deal properly with multi-argument text command
+ my $cmdoptseq='\\\\[\w\d@\*]+'.$extraspace.'(?:(?:<'.$abrat0.'>|\['.$brat_n.'\]|\{'. $pat_n . '\}|\(' . $coords .'\))'.$extraspace.')*\{?';
+# Handle tex \def macro: \def\MAKRONAME#1[#2]#3{DEFINITION}
my $defseq='\\\\def\\\\[\w\d@\*]+(?:#\d+|\[#\d+\])+(?:\{'. $pat_n . '\})?';
my $backslashnl='\\\\\n';
my $oneletcmd='\\\\.\*?(?:\['.$brat_n.'\]|\{'. $pat_n . '\})*';
@@ -1410,6 +1429,9 @@ $ulem = ($latexdiffpreamble =~ /\\RequirePackage(?:\[$brat_n\])?\{ulem\}/ || def
# If listings is being used or can be found in the latexdiff search path, add to the preamble auxiliary code to enable line-by-line markup
if ( defined($packages{"listings"}) or `kpsewhich listings.sty` ne "" ) {
my @listingpreamble=extrapream("LISTINGS");
+ if ($latexdiffpreamble =~ /\\RequirePackage(?:\[$brat_n\])?\{color\}/ ) {
+ @listingpreamble=extrapream("COLORLISTINGS");
+ }
my @listingDIFcode=();
my $replaced;
# note that in case user supplies preamblefile the type might not reflect well the
@@ -1572,6 +1594,7 @@ if ( defined $packages{"apacite"} ) {
} elsif (defined $packages{"biblatex"}) {
print STDERR "biblatex package detected.\n" if $verbose ;
$citpat='(?:[cC]ites?|(?:[pP]aren|foot|[Tt]ext|[sS]mart|super)cites?\*?|footnotecitetex)';
+ push(@TEXTCMDEXCL, qr/^textcite$/);
} else {
# citation command pattern for all other citation schemes
$citpat='(?:cite\w*|nocite)';
@@ -1848,6 +1871,9 @@ sub add_safe_commands {
my $should_be_safe = $2;
print STDERR "DEBUG Checking new command: maybe_to_test, should_be_safe: $1 $2\n" if $debug;
my $success = 0;
+ # skip custom diff commands
+ next if ($maybe_to_test =~ m/^(?:ADD|DEL)?${CUSTOMDIFCMD}$/);
+ ###print STDERR "DEBUG: really test it. \n";
# test if all latex commands inside it are safe
$success = 1;
if ($should_be_safe =~ m/\\\\/) {
@@ -1890,6 +1916,7 @@ sub remove_endinput {
# expands \input and \include commands within text
# expands \bibliography command with corresponding bbl file if available
# expands \subfile command (from subfiles package - not part of standard text distribution)
+# expands \import etc commands (from import package - not part of standard text distribution)
# preamble is scanned for includeonly commands
# encoding is the encoding
sub flatten {
@@ -1917,15 +1944,16 @@ sub flatten {
# Run through filter, to let filterscript have a pass if it was set
$text = filter($text);
- # Recursively replace \\import and \\subimport files
- $text =~ s/(^(?:[^%\n]|\\%)*)(\\subimport\{(.*?)\}|\\import\{(.*?)\})(?:[\s]*)\{(.*?)\}/{
+ # Recursively replace \\import, \\subimport, and related import commands
+ $text =~ s/(^(?:[^%\n]|\\%)*)(\\(sub)?(?:import|inputfrom|includefrom))\{(.*?)\}(?:[\s]*)\{(.*?)\}/{
+ # (--------1-------)(--(=3=)-------------2-------------------) (-4-) (-5-)
# $1 is begline
- # $3 is directory if subimport
- # $4 is directory if import
+ # $2 is the import macro name
+ # $3 is (optional) prefix "sub"
+ # $4 is directory
# $5 is filename
$begline = (defined($1)? $1 : "");
- $subdir = $3 if defined($3);
- $subdir = $4 if defined($4);
+ $subdir = $4;
$fname = $5;
$fname .= ".tex" unless $fname =~ m|\.\w{3,4}$|;
print STDERR "DEBUG begline:", $begline, "\n" if $debug;
@@ -1940,12 +1968,13 @@ sub flatten {
print STDERR "importing importfilepath:", $importfilepath,"\n" if $verbose;
if ( -f $importfilepath ) {
# If file exists, replace input or include command with expanded input
+ #TODO: need remove_endinput & newpage similar to other replacements inside flatten
$replacement=flatten(read_file_with_encoding($importfilepath, $encoding), $preamble,$importfilepath,$encoding) or die "Could not open file ",$fullfile,": $!";
} else {
# if file does not exist, do not expand include or input command (do not warn if fname contains #[0-9] as it is then likely part of a command definition
# and is not meant to be expanded directly
print STDERR "WARNING: Could not find included file ",$importfilepath,". I will continue but not expand |$2|\n";
- $replacement=(defined($3)? "\\subimport" : "\\import");
+ $replacement = $2;
$replacement .= "{$subdir}{$fname} % Processed";
}
"$begline$replacement";
@@ -2615,9 +2644,10 @@ sub marktags {
# split this block to split sequences joined in pass1
+ ### print STDERR "DEBUG: marktags before splitlatex blocksplit ",join("|",@$block),"\n" if $debug;
@$block=splitlatex(join "",@$block);
### print STDERR "DEBUG: marktags $openmark,$closemark,$open,$close,$opencmd,$closecmd,$comment\n" if $debug;
- ### print STDERR "DEBUG: marktags blocksplit ",join("|",@$block),"\n" if $debug;
+ print STDERR "DEBUG: after splitlatex ",join("|",@$block),"\n" if $debug;
# we redefine locally $extraspace (shadowing the global definition) to capture command sequences with intervening spaces no matter what the global setting
# this is done so we can capture those commands with a predefined number of arguments without having to introduce them again explicitly here
@@ -2673,6 +2703,7 @@ sub marktags {
# $2 (the command) is in context2, just treat it as an ordinary command (i.e. comment it open with $opencmd)
# Because we do not want to disable this command
# here we do not use $opencmd and $closecmd($opencmd is empty)
+ print STDERR "DEBUG: Detected text |$word| but not safe command \$2: $2 \$3: $3\n." if $debug;
if ($cmd==1) {
push (@$retval,$closecmd) ;
} elsif ($cmd==0) {
@@ -2731,7 +2762,7 @@ sub marktags {
if ( $word =~ /^\\(?!\()(\\|[`'^"~=.]|[\w*@]+)(.*?)(\s*)$/s && iscmd($1,\@MBOXCMDLIST,\@MBOXCMDEXCL)) {
# $word is a safe command in MBOXCMDLIST
###print STDERR "DEBUG Mboxsafecmd detected:$word:\n" if $debug ;
- push(@$retval,"\\mbox{$AUXCMD\n\\" . $1 . $2 . $3 ."}\\hspace{0pt}$AUXCMD\n" );
+ push(@$retval,"\\mbox{$AUXCMD\n\\" . $1 . $2 . $3 ."}\\hskip0pt$AUXCMD\n" );
} else {
# $word is a normal word or a safe command (not in MBOXCMDLIST)
push (@$retval,$word);
@@ -2751,22 +2782,22 @@ sub take_comments_and_newline_from_frac() {
# some special magic for common usage of frac, which does not conform to the latexdiff requirements but can be made to fit
# note that this is a rare exception to the general rule that the new tex can be reconstructed from the diff file
- # \frac12 -> \frac{1}{2}
- s/\\frac(\d)(\w)/\\frac\{$1\}\{$2\}/g;
-
- # \frac1{2b} -> \frac{1}{2b}
- s/\\frac(\d)/\\frac\{$1\}/g;
-
- # delete space and comment characters between \frac arguments
-# s/\\frac(?:\s*?%[^\n]*?)*?(\{$pat_n\})\s*(\{$pat_n\})/\\frac$1$2/g;
- s/\\frac(?:\s|%[^\n]*?)*(\{$pat_n\})(?:\s|%[^\n]*?)*(\{$pat_n\})/\\frac$1$2/g;
+ # regex that matches space and comment characters
+ my $space = qr/\s|%[^\n]*?/;
+ # \frac {abc} -> \frac{abc}
+ # \frac1 -> \frac{1}
+ # \frac a -> \frac{a}
+ # \frac \lambda -> \frac{\lambda}
+ s/\\frac(?|${space}+\{($pat_n)\}|${space}*(\d)|${space}+(\w)|${space}*(\\[a-zA-Z]+))/\\frac\{$1\}/g;
+ # same as above for the second argument of frac
+ s/\\frac(\{$pat_n\})(?|${space}*\{($pat_n)\}|${space}*(\d)|${space}+(\w)|${space}*(\\[a-zA-Z]+))/\\frac$1\{$2\}/g;
}
# preprocess($string, ..)
# carry out the following pre-processing steps for all arguments:
# 1. Remove leading white-space
# Change \{ to \QLEFTBRACE and \} to \QRIGHTBRACE and \& to \AMPERSAND
-# #. Change {,} in comments to \CLEFTBRACE, \CRIGHTBRACE
+# #. Change {,},\frac in comments to \CLEFTBRACE, \CRIGHTBRACE, \CFRAC
# 2. mark all first empty line (in block of several) with \PAR tokens
# 3. Convert all '\%' into '\PERCENTAGE ' and all '\$' into \DOLLAR to make parsing regular expressions easier
# 4. Convert all \verb|some verbatim text| commands (where | can be an arbitrary character)
@@ -2802,9 +2833,11 @@ sub preprocess {
s/(?<!\\)\\\{/\\QLEFTBRACE /sg;
s/(?<!\\)\\\}/\\QRIGHTBRACE /sg;
s/(?<!\\)\\&/\\AMPERSAND /sg;
-# replace {,} in comments with \\CLEFTBRACE,\\CRIGHTBRACE
+# replace {,}, \frac in comments with \\CLEFTBRACE,\\CRIGHTBRACE, CFRAC to protect from special treatment
1 while s/((?<!\\)%.*)\{(.*)$/$1\\CLEFTBRACE $2/mg ;
1 while s/((?<!\\)%.*)\}(.*)$/$1\\CRIGHTBRACE $2/mg ;
+ 1 while s/((?<!\\)%.*)\\frac(.*)$/$1\\CFRAC $2/mg ;
+
s/(?<!\\)\\%/\\PERCENTAGE /g ; # (?<! is negative lookbehind assertion to prevent \\% from being converted
s/(?<!\\)\\\$/\\DOLLAR /g ; # (?<! is negative lookbehind assertion to prevent \\$ from being converted
s/\\begin\{($VERBATIMENV)\}(.*?)\\end\{\1\}/"\\${1}{". tohash(\%verbhash,"${2}") . "}"/esg;
@@ -2868,7 +2901,7 @@ sub linecomment {
# remove DIFVRB comments but leave changed lines marked
sub reverselinecomment {
my ($environment, $verbatimtext)=@_;
- ###print STDERR "OLD VERBATIMTEXT: |$verbatimtext|\n";
+ ### print STDERR "DEBUG REVERSELINECOMMENT input: $environment,|$verbatimtext|\n" if $debug;
# remove markup added by latexdiff
# (this should occur only if the type of verbatim environment was changed)
# (note that this destroys some information in old file)
@@ -2903,7 +2936,7 @@ sub reverselinecomment {
} else {
$verbatimtext = "\\begin{${environment}}${verbatimtext}\\end{${environment}}"
}
- ###print STDERR "NEW VERBATIMTEXT: |$verbatimtext|\n";
+ ### print STDERR "DEBUG REVERSELINECOMMENT output: |$verbatimtext|\n" if $debug;
return($verbatimtext);
}
@@ -2945,6 +2978,14 @@ sub fromhash {
return $retstr;
}
+# stripdelcmpopen(string)
+# return string with $DELCMDOPEN removed
+sub stripdelcmdopen {
+ my ($str) = $_[0];
+ $str =~ s/${DELCMDOPEN}//mg;
+ return $str;
+}
+
# writedebugfile(string, label)
# if $debug set writes <string> to file latexdiff.debug.<label>
# otherwise do nothing
@@ -3183,17 +3224,21 @@ sub postprocess {
### $delblock =~ s/\\DIFverb\{/\\DIFDIFdelverb\{/g;
### $delblock =~ s/\\DIFlstinline/\\DIFDIFdellstinline/g;
###}
- # Mark deleted verbose commands
+ # Mark deleted verbatim commands
$delblock =~ s/(${DELCMDOPEN}\\DIF((?:verb\*?|lstinline(?:\[$brat_n\])?)\{([-\d]*?)\}\s*).*)$/%\n\\DIFDIFdel$2${AUXCMD}\n$1/gm;
if ( $CUSTOMDIFCMD ) {
- $delblock =~ s/(${DELCMDOPEN}.*)\\($CUSTOMDIFCMD)/$1${DELCMDCLOSE}\\DEL$2/gm;
+ ###$delblock =~ s/(${DELCMDOPEN}.*)\\($CUSTOMDIFCMD)((?:\[${brat_n}\])*?(?:\s*\{${pat_n}\})*)/"$1${DELCMDCLOSE}\\DEL$2". stripdelcmdopen($3) ." ${DELCMDOPEN}"/egms;
+ ###$delblock =~ s/(${DELCMDOPEN}.*)\\($CUSTOMDIFCMD)/$1${DELCMDCLOSE}\\DEL$2/gm;
+ # ($1 ? "${DELCMDOPEN}$1${DELCMDCLOSE}":"") : only add the DELCMDOPEN / DELCMDCLOSE pair if there are actually any commands in between, otherwise this is redundant
+ $delblock =~ s/${DELCMDOPEN}(.*?)\\($CUSTOMDIFCMD)((?:\[${brat_n}\])*?(?:\s*\{${pat_n}\})*)/($1 ? "${DELCMDOPEN}$1${DELCMDCLOSE}":"") ."\\DEL$2". stripdelcmdopen($3)/egs;
+ # if there is a sequence of several commands in the same row only the first will be converted due to the need to be connected to the DELCMDOPEN. To mop these up, just add the DEL to the front of any remaining cmd's in the deleted block
+ $delblock =~ s/\\($CUSTOMDIFCMD)/\\DEL$1/g; # this will also convert comments but I guess it does not matter much
}
# splice in modified delblock
substr($_,$begin,$len)=$delblock;
pos = $begin + length($delblock);
}
- ###writedebugfile($_,'postprocess');
### print STDERR "<<<$_>>>\n" if $debug;
@@ -3223,7 +3268,7 @@ sub postprocess {
$addblock =~ s/\\DIFverb/\\DIFDIFaddverb/g;
$addblock =~ s/\\DIFlstinline/\\DIFDIFaddlstinline/g;
if( $CUSTOMDIFCMD ) {
- $addblock =~ s/\\($CUSTOMDIFCMD)/\\ADD$1/g;
+ $addblock =~ s/\\($CUSTOMDIFCMD)/\\ADD$1/g; # this will also convert comments but I guess it does not matter much
}
# markup the optional arguments of \item
$addblock =~ s/(\\$ITEMCMD$extraspace(?:<$abrat0>)?$extraspace)\[($brat_n)\]/
@@ -3333,10 +3378,22 @@ sub postprocess {
# remove empty DIFCMD < lines
s/^\Q${DELCMDOPEN}\E\n//msg;
- # Expand hashes of verb and verbatim environments (note negative look behind assertion to not leak out of DIFDELCMD comments
+ # Expand hashes of verb and verbatim environments
s/${DELCMDOPEN}\\($VERBATIMENV)\{([-\d]*?)\}/"${DELCMDOPEN}\\begin{${1}}".fromhash(\%verbhash,$2,$DELCMDOPEN)."${DELCMDOPEN}\\end{${1}}"/esg;
- # revert changes to verbatim environments for line diffs (and add code to mark up changes)
- s/(?<!$DELCMDOPEN)\\begin\{($VERBATIMLINEENV)\}(.*?)\\end\{\1\}/"". reverselinecomment($1, $2) .""/esg;
+ # revert changes to verbatim environments for line diffs (and add code to mark up changes) (note negative look behind assertions to not leak out of DIFDELCMD comments)
+ # Example:
+ # < \begin{verbatim}
+ # < %DIF < DIFVRB old verbatim line
+ # < %DIF > DIFVRB new verbatim line
+ # < \end{verbatim}
+ # ---
+ # > \DIFmodbegin
+ # > \begin{verbatim}[alsolanguage=DIFcode]
+ # > %DIF < old verbatim line
+ # > %DIF > new verbatim line
+ # > \end{verbatim}
+ # > \DIFmodend
+ s/(?<!$DELCMDOPEN)\\begin\{($VERBATIMLINEENV)\}(.*?)(?<!$DELCMDOPEN)\\end\{\1\}/"". reverselinecomment($1, $2) .""/esg;
# # we do the same for deleted environments but additionally reinstate the framing commands
# s/$DELCMDOPEN\\begin\{($VERBATIMLINEENV)\}$extraspace(?:\[$brat0\])?$DELCMDCLOSE(.*?)$DELCMDOPEN\\end\{\1\}$DELCMDCLOSE/"\\begin{$1}". reverselinecomment($2) . "\\end{$1}"/esg;
## s/$DELCMDOPEN\\begin\{($VERBATIMLINEENV)\}($extraspace(?:\[$brat0\])?\s*)(?:\n|$DELCMDOPEN)*$DELCMDCLOSE((?:\%$DELCOMMENT$VERBCOMMENT.*?\n)*)($DELCMDOPEN\\end\{\1\}(?:\n|\s|$DELCMDOPEN)*$DELCMDCLOSE)/"SUBSTITUTION: \\begin{$1}$2 INTERIOR: |$3| END: |$4|"/esg;
@@ -3355,6 +3412,7 @@ sub postprocess {
. " $AUXCMD\n" # close the auxiliary environment
. $5 # and again leave the original deleted closing environment as is
/esgx; # Modifiers of substitution command
+ writedebugfile($_,'postprocess2');
# where changes have occurred in verbatim environment, change verbatim to DIFverbatim to allow mark-up
# (I use the presence of optional paramater to verbatim environment as the marker - normal verbatim
# environment does not take optional arguments)
@@ -3362,7 +3420,6 @@ sub postprocess {
s/\\($VERBATIMENV)\{([-\d]*?)\}/"\\begin{${1}}".fromhash(\%verbhash,$2)."\\end{${1}}"/esg;
-
# remove all \PAR tokens (taking care to properly keep commented out PAR's
# from introducing uncommented newlines - next line)
s/(%DIF < )([^\n]*?)\\PAR\n/$1$2\n$1\n/sg;
@@ -3408,6 +3465,7 @@ sub postprocess {
1 while s/\\SQRT(\s*\{($pat_n)\})/\\sqrt$1/g ;
1 while s/\\SQRTNB\{(\s*$pat0)\}/\\sqrt$1/g ;
+ 1 while s/(%.*)\\CFRAC (.*)$/$1\\frac$2/mg ;
1 while s/(%.*)\\CRIGHTBRACE (.*)$/$1\}$2/mg ;
1 while s/(%.*)\\CLEFTBRACE (.*)$/$1\{$2/mg ;
@@ -3416,7 +3474,7 @@ sub postprocess {
s/\\QLEFTBRACE /\\\{/sg;
s/\\QRIGHTBRACE /\\\}/sg;
s/\\AMPERSAND /\\&/sg;
- # Highligh added inline verbatim commands if possible
+ # Highlight added inline verbatim commands if possible
if ( $latexdiffpreamble =~ /\\RequirePackage(?:\[$brat_n\])?\{color\}/ ) {
# wrap added verb commands with color commands
s/\\DIFDIFadd((?:verb\*?|lstinline(?:\[$brat_n\])?)\{[-\d]*?\}[\s\n]*)/\{\\color{blue}$AUXCMD\n\\DIF$1%\n\}$AUXCMD\n/sg;
@@ -3476,7 +3534,7 @@ sub preprocess_preamble {
my ($line,$cmd,$optarg,$arg,$optargnew,$optargold,$optargdiff,$argold,$argnew,$argdiff,$auxline);
my $warnmsgdetail = <<EOF ;
- This should not occur for standard styles, but can occur for some specifiy styles, document classes,
+ This should not occur for standard styles, but can occur for some specific styles, document classes,
e.g. journal house styles.
Workaround: Use --replace-context2cmd option to specifically set those commands, which are not repeated.
EOF
@@ -3742,7 +3800,7 @@ sub exetime {
sub usage {
- die <<"EOF";
+ print STDERR <<"EOF";
Usage: $0 [options] old.tex new.tex > diff.tex
Compares two latex files and writes tex code to stdout, which has the same format as new.tex but
@@ -3936,6 +3994,9 @@ Other configuration options:
variable SCALEDELGRAPHICS to set size of deleted figures.
Note that changes to the optional parameters will make the figure appear as changed
to latexdiff, and this figure will thus be highlighted.
+ In some circumstances "Misplaced \\noalign" errors can occur if there are certain types
+ of changes in tables. In this case please use option --graphics-markup=none as a
+ work-around.
--disable-citation-markup
--disable-auto-mbox Suppress citation markup and markup of other vulnerable commands in styles
@@ -3947,7 +4008,7 @@ Other configuration options:
with \\mbox command, i.e. use default behaviour for ulem package for other packages
(the two options are identical and are simply aliases)
-Miscelleneous options
+Miscellaneous options
--label=label
-L label Sets the labels used to describe the old and new files. The first use
@@ -3978,7 +4039,10 @@ Miscelleneous options
--ignore-filter-stderr When running with --filter-script, STDERR from the script may cause readability issues.
Turn this flag on to ignore STDERR from the filter script.
-
+--driver=type Choose driver for changebar package (only relevant for styles using
+ changebar: CCHANGEBAR CFONTCHBAR CULINECHBAR CHANGEBAR). Possible
+ drivers are listed in changebar manual, e.g. pdftex,dvips,dvitops
+ [Default: pdftex]
--help
-h Show this help text.
@@ -3999,6 +4063,7 @@ the API should be considered less stable than for the other options.
--no-links Suppress generation of hyperreferences, used for minimal diffs
(option --only-changes of latexdiff-vc).
EOF
+ exit 0;
}
=head1 NAME
@@ -4470,7 +4535,12 @@ scale, and crossed out with a red diagonal cross. Use configuration
variable SCALEDELGRAPHICS to set size of deleted figures.
Note that changes to the optional parameters will make the figure appear as changed
-to latexdiff, and this figure will thus be highlighted
+to latexdiff, and this figure will thus be highlighted.
+
+In some circumstances "Misplaced \noalign" error can occur if there are certain types
+of changes in tables. In this case please use C<--graphics-markup=none> as a
+work-around.
+
=item B<--disable-citation-markup> or B<--disable-auto-mbox>
@@ -4500,7 +4570,7 @@ Default is to work silently.
Choose driver for changebar package (only relevant for styles using
changebar: CCHANGEBAR CFONTCHBAR CULINECHBAR CHANGEBAR). Possible
drivers are listed in changebar manual, e.g. pdftex,dvips,dvitops
- [Default: dvips]
+ [Default: pdftex]
=item B<--ignore-warnings>
@@ -4895,8 +4965,8 @@ I<latexdiff-fast> requires the I<diff> command to be present.
=head1 AUTHOR
-Version 1.3.0
-Copyright (C) 2004-2018 Frederik Tilmann
+Version 1.3.2
+Copyright (C) 2004-2021 Frederik Tilmann
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License Version 3
@@ -4922,6 +4992,7 @@ makebox
mbox
pageref
ref
+eqref
symbol
raisebox
rule
@@ -5222,6 +5293,7 @@ flalign[*]?
%%BEGIN ARRENV CONFIG
aligned
gathered
+multlined
array
[pbvBV]?matrix
smallmatrix
@@ -5291,14 +5363,14 @@ verbatim[*]?
%DIF END FONTSTRIKE PREAMBLE
%DIF CCHANGEBAR PREAMBLE
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{\protect\cbstart{\protect\color{blue}#1}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete{\protect\color{red}#1}\protect\cbdelete}
%DIF END CCHANGEBAR PREAMBLE
%DIF CFONTCHBAR PREAMBLE
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{\protect\cbstart{\protect\color{blue}\sf #1}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete{\protect\color{red}\scriptsize #1}\protect\cbdelete}
@@ -5306,14 +5378,14 @@ verbatim[*]?
%DIF CULINECHBAR PREAMBLE
\RequirePackage[normalem]{ulem}
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1}
\providecommand{\DIFadd}[1]{\protect\cbstart{\protect\color{blue}\uwave{#1}}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete{\protect\color{red}\sout{#1}}\protect\cbdelete}
%DIF END CULINECHBAR PREAMBLE
%DIF CHANGEBAR PREAMBLE
-\RequirePackage[dvips]{changebar}
+\RequirePackage[pdftex]{changebar}
\providecommand{\DIFadd}[1]{\protect\cbstart{#1}\protect\cbend}
\providecommand{\DIFdel}[1]{\protect\cbdelete}
%DIF END CHANGEBAR PREAMBLE
@@ -5560,7 +5632,6 @@ verbatim[*]?
%DIF LISTINGS PREAMBLE
\RequirePackage{listings}
-\RequirePackage{color}
\lstdefinelanguage{DIFcode}{
% note that the definitions in the following two lines are overwritten dependent on the markup type selected %DIFCODE TEMPLATE
morecomment=[il]{\%DIF\ <\ }, %DIFCODE TEMPLATE
@@ -5576,6 +5647,24 @@ verbatim[*]?
\lstnewenvironment{DIFverbatim*}{\lstset{style=DIFverbatimstyle,showspaces=true}}{}
%DIF END LISTINGS PREAMBLE
+%DIF COLORLISTINGS PREAMBLE
+\RequirePackage{listings}
+\RequirePackage{color}
+\lstdefinelanguage{DIFcode}{
+ % note that the definitions in the following two lines are overwritten dependent on the markup type selected %DIFCODE TEMPLATE
+ morecomment=[il]{\%DIF\ <\ }, %DIFCODE TEMPLATE
+ moredelim=[il][\bfseries]{\%DIF\ >\ } %DIFCODE TEMPLATE
+}
+\lstdefinestyle{DIFverbatimstyle}{
+ language=DIFcode,
+ basicstyle=\ttfamily,
+ columns=fullflexible,
+ keepspaces=true
+}
+\lstnewenvironment{DIFverbatim}{\lstset{style=DIFverbatimstyle}}{}
+\lstnewenvironment{DIFverbatim*}{\lstset{style=DIFverbatimstyle,showspaces=true}}{}
+%DIF END COLORLISTINGS PREAMBLE
+
%DIF DIFCODE_UNDERLINE
moredelim=[il][\color{red}\sout]{\%DIF\ <\ },
moredelim=[il][\color{blue}\uwave]{\%DIF\ >\ }
diff --git a/support/latexdiff/latexdiff-vc b/support/latexdiff/latexdiff-vc
index b50a52722f..849ad1de21 100755
--- a/support/latexdiff/latexdiff-vc
+++ b/support/latexdiff/latexdiff-vc
@@ -26,6 +26,13 @@
# Detailed usage information at the end of the file
#
# TODO/IDEAS: - option to call external pre-processing codes
+# version 1.3.2:
+# - bug fix: when setting config variables with the command lines it is now possible to use quotes to includes spaces in the value, e.g. "-c LATEX=pdflatex --shell-escape'
+# - bug fix: --only-changes is not compatible with graphics markup. --graphics-markup=none is now set automatically
+# - when --pdf or --postscript is select, then replace tildes in version names with underscores in output file (e.g. diffHEAD_1 instead of diff HEAD~1. This is necessary because pdflatex strips ~n strings at the end of the filename, when generating output file names
+
+# version 1.3.1:
+# - bug fix, import File::Path explicitly as otherwise mkpath is not found
# version 1.3.0 ((7 October 2018)
# - option --only-changes with hyperref will suppress hyperrefs (pull request jprotze)_
# - option --only-changes now moves (rather than copies) file with only changes
@@ -66,13 +73,14 @@ use Pod::Usage qw/pod2usage/ ;
use File::Temp qw/tempdir/ ;
use File::Basename qw/dirname/;
use File::Copy;
+use File::Path;
use strict ;
use warnings ;
my $versionstring=<<EOF ;
-This is LATEXDIFF-VC 1.3.1.1
- (c) 2005-2020 F J Tilmann
+This is LATEXDIFF-VC 1.3.2
+ (c) 2005-2021 F J Tilmann
EOF
# output debug and intermediate files, set to 0 in final distribution
@@ -205,7 +213,8 @@ foreach $config ( @configlist ) {
$configlatexdiff="";
foreach $assign ( @config ) {
- $assign=~ m/\s*(\w*)\s*=\s*(\S*)\s*$/ or die "Illegal assignment $assign in configuration list (must be variable=value)";
+ $assign=~ m/\s*(\w*)\s*=\s*(.*?)\s*$/
+ or die "Illegal assignment |$assign| in configuration list (must be variable=value)";
if ( defined($CFG{$1})) {
# known latexdiff-vc option
$CFG{$1}=$2;
@@ -342,7 +351,7 @@ if ( defined($debug) && $debug ) {
# impose ZLABEL subtype if --only-changes option
if ( $onlychanges ) {
- push @ldoptions, "-s", "ZLABEL","-f","IDENTICAL","--no-links" ;
+ push @ldoptions, "-s", "ZLABEL","-f","IDENTICAL","--no-links", "--graphics-markup=none" ;
}
if ( scalar(@revs) == 0 ) {
@@ -378,6 +387,12 @@ if ( scalar(@revs) == 2 ) {
$append = "-diff";
}
+if ( defined($pdf) or defined($postscript) ) {
+ # when using options such as -r HEAD~1 the ~1 is ignored by pdflatex in generating output file names; this could
+ # be confusing and actually causes error to only-changes mode
+ $append =~ s/~/_/g ;
+}
+
if ( defined ($dir) && ! $dir ) {
# bare -d option => choose directory name
($dir=$append) =~ s/^-//;
@@ -532,7 +547,7 @@ foreach $diff ( @difffiles ) {
#print STDERR "Generated postscript file $ps\n";
} elsif ( $run ) {
if ( $onlychanges ) {
- my @pages=findchangedpages("$diffbase.aux");
+ my @pages=compresspages(findchangedpages("$diffbase.aux"));
my $gs = `which gs`;
$gs =~ s/^\s+|\s+$//g;
my $qpdf = `which qpdf`;
@@ -540,7 +555,7 @@ foreach $diff ( @difffiles ) {
my $pdftk = `which pdftk`;
$pdftk =~ s/^\s+|\s+$//g;
my $command;
- if (-x $gs && `gs --version` >= 9.20) {
+ if (-x $gs && `$gs --version` >= 9.20) {
$command="gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -sPageList=" . join(",", @pages) . " -sOutputFile=\"$diffbase-changedpage.pdf\" \"$diffbase.pdf\"";
} elsif (-x $pdftk) {
$command="pdftk \"$diffbase.pdf\" cat " . join(" ",@pages) . " output \"$diffbase-changedpage.pdf\"";
@@ -588,13 +603,52 @@ sub findchangedpages {
return(sort {$a <=> $b} keys(%pages));
}
+# inspired by a python version posted at https://stackoverflow.com/a/54714846/8136338
+# compresspages(@pages)
+# @pages: sorted array of unique integers (pages)
+# return a list of pages and page ranges. 3 or more consecutive numbers are merged into a "begin-end" string
+#
+# example: join(",", compresspages([1,3,4,5,7,8])) -> join(",", [1,"3-5",7,8]) -> "1,3-5,7,8"
+sub compresspages {
+ my (@pages) = @_;
+ my @res;
+ my $begin=$pages[0];
+ my $end =$pages[0];
+ my $page;
+ foreach $page ( @pages ) {
+ next if ($page == $begin);
+ if ($page == $end+1) { # handle continuous pages
+ $end = $page;
+ next;
+ } elsif ($begin == $end) { # push single continuous page
+ push @res, $begin;
+ $begin = $end = $page;
+ } elsif ($begin + 1 == $end) { # push two continuous pages
+ push @res, $begin, $end;
+ $begin = $end = $page;
+ } else { # push multiple continuous pages
+ push @res, "$begin-$end";
+ $begin = $end = $page;
+ }
+ }
+ # Finally just check in the same manner for the end element
+ if ($begin == $end) {
+ push @res, $begin;
+ } elsif ($begin + 1 == $end) {
+ push @res, $begin, $end;
+ } else {
+ push @res, "$begin-$end";
+ }
+ return @res;
+}
+
# checkout_dir(rev,dirname)
# checks out revision rev and stores it in dirname
# uses global variables: $vc, $rootdir
sub checkout_dir {
my ($rev,$dirname)=@_;
- unless (-e $dirname) { mkdir $dirname or die "Cannot mkdir $dirname ." ;}
+ unless (-e $dirname) { mkpath([ $dirname ]) or die "Cannot mkdir $dirname ." ;}
if ( $vc eq "SVN" ) {
system("svn checkout -r $rev $rootdir $dirname")==0 or die "Something went wrong in executing: svn checkout -r $rev $rootdir $dirname";
} elsif ( $vc eq "GIT" ) {
@@ -717,7 +771,8 @@ With C<--flatten=keep-intermediate>, the intermediate revision snapshots are kep
Post-process the output such that only pages with changes on them are displayed. This requires the use of subtype ZLABEL
in latexdiff, which will be set automatically, but any manually set -s option will be overruled (also requires zref package to
-be installed). (note that this option must be combined with --ps or --pdf to make sense)
+be installed). This option also disables internal links (as implemented by hyperref package) and graphics markup.
+(note that this option must be combined with --ps or --pdf to make sense)
=item B<--force>
diff --git a/support/latexdiff/latexdiff-vc.1 b/support/latexdiff/latexdiff-vc.1
index 7a031cf151..d484c79d6e 100644
--- a/support/latexdiff/latexdiff-vc.1
+++ b/support/latexdiff/latexdiff-vc.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29)
+.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -46,7 +46,7 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
@@ -56,12 +56,12 @@
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
-.if (\n(rF:(\n(.g==0)) \{
-. if \nF \{
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
-. if !\nF==2 \{
+. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "LATEXDIFF-VC 1"
-.TH LATEXDIFF-VC 1 "2020-06-13" "perl v5.22.1" " "
+.TH LATEXDIFF-VC 1 "2021-12-27" "perl v5.30.0" " "
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -211,9 +211,10 @@ The generic usage of this function is : \f(CW\*(C`latexdiff\-vc \-\-flatten \-r
With \f(CW\*(C`\-\-flatten=keep\-intermediate\*(C'\fR, the intermediate revision snapshots are kept in the current directory (Default is to store them in a temporary directory and delete them after generating the diff file.)
.IP "\fB\-\-only\-changes\fR" 4
.IX Item "--only-changes"
-Post-process the output such that only pages with changes on them are displayed. This requires the use of subtype \s-1ZLABEL \s0
+Post-process the output such that only pages with changes on them are displayed. This requires the use of subtype \s-1ZLABEL\s0
in latexdiff, which will be set automatically, but any manually set \-s option will be overruled (also requires zref package to
-be installed). (note that this option must be combined with \-\-ps or \-\-pdf to make sense)
+be installed). This option also disables internal links (as implemented by hyperref package) and graphics markup.
+(note that this option must be combined with \-\-ps or \-\-pdf to make sense)
.IP "\fB\-\-force\fR" 4
.IX Item "--force"
Overwrite existing diff files without asking for confirmation. Default
diff --git a/support/latexdiff/latexdiff.1 b/support/latexdiff/latexdiff.1
index 1de1d3fd85..f7df05a6b8 100644
--- a/support/latexdiff/latexdiff.1
+++ b/support/latexdiff/latexdiff.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29)
+.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -46,7 +46,7 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
@@ -56,12 +56,12 @@
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
-.if (\n(rF:(\n(.g==0)) \{
-. if \nF \{
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
-. if !\nF==2 \{
+. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "LATEXDIFF 1"
-.TH LATEXDIFF 1 "2020-06-13" "perl v5.22.1" " "
+.TH LATEXDIFF 1 "2021-12-27" "perl v5.30.0" " "
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -305,7 +305,7 @@ obtained by executing
If this option is used, then old.tex, new.tex are only opened once.
[Default encoding is utf8 unless the first few lines of the preamble contain
an invocation \f(CW\*(C`\eusepackage[..]{inputenc}\*(C'\fR in which case the
-encoding chosen by this command is asssumed. Note that \s-1ASCII \s0(standard
+encoding chosen by this command is asssumed. Note that \s-1ASCII\s0 (standard
latex) is a subset of utf8]
.IP "\fB\-\-preamble=file\fR or \fB\-p file\fR" 4
.IX Item "--preamble=file or -p file"
@@ -566,7 +566,11 @@ scale, and crossed out with a red diagonal cross. Use configuration
variable \s-1SCALEDELGRAPHICS\s0 to set size of deleted figures.
.Sp
Note that changes to the optional parameters will make the figure appear as changed
-to latexdiff, and this figure will thus be highlighted
+to latexdiff, and this figure will thus be highlighted.
+.Sp
+In some circumstances \*(L"Misplaced \enoalign\*(R" error can occur if there are certain types
+of changes in tables. In this case please use \f(CW\*(C`\-\-graphics\-markup=none\*(C'\fR as a
+work-around.
.IP "\fB\-\-disable\-citation\-markup\fR or \fB\-\-disable\-auto\-mbox\fR" 4
.IX Item "--disable-citation-markup or --disable-auto-mbox"
Suppress citation markup and markup of other vulnerable commands in styles
@@ -588,7 +592,7 @@ Default is to work silently.
Choose driver for changebar package (only relevant for styles using
changebar: \s-1CCHANGEBAR CFONTCHBAR CULINECHBAR CHANGEBAR\s0). Possible
drivers are listed in changebar manual, e.g. pdftex,dvips,dvitops
- [Default: dvips]
+ [Default: pdftex]
.IP "\fB\-\-ignore\-warnings\fR" 4
.IX Item "--ignore-warnings"
Suppress warnings about inconsistencies in length between input and
@@ -923,8 +927,8 @@ version, \fIlatexdiff-so\fR, which has this package inlined, is available, too.
\&\fIlatexdiff-fast\fR requires the \fIdiff\fR command to be present.
.SH "AUTHOR"
.IX Header "AUTHOR"
-Version 1.3.0
-Copyright (C) 2004\-2018 Frederik Tilmann
+Version 1.3.2
+Copyright (C) 2004\-2021 Frederik Tilmann
.PP
This program is free software; you can redistribute it and/or modify
it under the terms of the \s-1GNU\s0 General Public License Version 3
diff --git a/support/latexdiff/latexrevise b/support/latexdiff/latexrevise
index 2d809fb156..5332ed115f 100755
--- a/support/latexdiff/latexrevise
+++ b/support/latexdiff/latexrevise
@@ -21,6 +21,9 @@
#
# Detailed usage information at the end of the file
# Note: version number now keeping up with latexdiff
+# Version 1.3.2
+# - Functionality -c option: if comment to be deleted is the last in the line replace new line by space character. This is done to avoid errors or unintended line breaks from empty lines after deletion (which are implicit \par)
+# - Introduce option -r / --replace which removes markup of the form \replaced{new text}{old text} in the changes package
# Version 1.3.1 (Bug fix) Remove some deprecation warnings due to uncommented left parentheses
# Version 1.0.2 Option --version
# Version 1.0.1 no changes to latexrevise
@@ -32,8 +35,8 @@ use strict;
use warnings;
my $versionstring=<<EOF ;
-This is LATEXREVISE 1.3.1.1
- (c) 2005-2020 F J Tilmann
+This is LATEXREVISE 1.3.2
+ (c) 2005-2021 F J Tilmann
EOF
# Markup strings (make sure that this are set to the same value as in
@@ -92,7 +95,7 @@ my (@matches);
my ($cnt,$prematch,$postmatch);
my ($help,$version);
my ($verbose,$quiet,$accept,$decline,$simplify)=(0,0,0,0,0);
-my ($comment,$comenv,$markup,$markenv);
+my ($comment,$comenv,$markup,$markenv,$replace);
# A word unlikely ever to be used in a real latex file
my $someword='gobbledegooksygook';
@@ -105,6 +108,7 @@ GetOptions('accept|a' => \$accept,
'comment-environment|e=s' => \$comenv,
'markup|m=s' => \$markup,
'markup-environment|n=s' => \$markenv,
+ 'replace|r=s' => \$replace,
'no-warnings|q' => \$verbose,
'version' => \$version,
'verbose|V' => \$verbose,
@@ -115,7 +119,8 @@ if ( $help ) {
}
if ( $version ) {
- die $versionstring ;
+ print STDERR $versionstring ;
+ exit 0;
}
@@ -259,7 +264,7 @@ if (defined($comment)) {
# protect $comments in comments by making them look different
$body =~ s/(%.*)${comment}(.*)$/$1${someword}$2/mg ;
# carry out the substitution
- $cnt = 0 + $body =~ s/\\${comment}(?:\[${brat0}\])?\{${pat_n}\}//sg ;
+ $cnt = 0 + $body =~ s/\\${comment}(?:\[${brat0}\])?\{${pat_n}\}(?: *\n)?//sg ;
print STDERR "$cnt matches found and removed.\n" if $verbose;
# and undo the protection substitution
$body =~ s/(%.*)${someword}(.*)$/$1${comment}$2/mg ;
@@ -292,6 +297,16 @@ if (defined($markenv)) {
$body =~ s/(%.*)${someword}/$1${markenv}/mg ;
}
+if (defined($replace)) {
+ print STDERR "Removing \\$replace\{..\}\{..\} commands (leaving 1st and discarding 2nd argument))..." if $verbose;
+ # protect $markups in comments by making them look different
+ $body =~ s/(%.*)${replace}(.*)$/$1${someword}$2/mg ;
+ # carry out the substitution
+ $cnt = 0 + $body =~ s/\\${replace}(?:\[${brat0}\])?\{(${pat_n})\}\s?\{(${pat_n})\}/$1/sg ;
+ print STDERR "$cnt matches found and removed.\n" if $verbose;
+ # and undo the protection substitution
+ $body =~ s/(%.*)${someword}(.*)$/$1${replace}$2/mg ;
+}
if ( length $preamble ) {
print "$preamble\\begin{document}${body}\\end{document}$post";
@@ -349,7 +364,7 @@ sub splitdoc {
sub usage {
- die <<"EOF";
+ print STDERR <<"EOF";
Usage: $0 [OPTIONS] [diff.tex] > revised.tex
Read a file diff.tex (output of latexdiff), and remove its markup.
@@ -390,7 +405,7 @@ In SIMPLIFY mode the preamble is left unmodified.
Note that the three mode options are mutually exclusive. If no mode option is given,
latexrevise simply removes user annotations and markup according to the following four
-options.
+options; these functions can be very useful outside the latexdiff context, too.
-c cmd
@@ -414,6 +429,11 @@ options.
--markup-environment=envir
Similarly, remove \\begin{envir} and \\end{envir} commands,
but leave content of the environment in the text.
+
+
+-r cmd
+--replace=cmd For constructions \\cmd{..}{..}, remove the command, leave the
+ content of first argument, and delete second argument.
-q
--no-warnings Do not warn users about \\DIDadd{..} or \\DIFdel statements
@@ -423,6 +443,7 @@ options.
--verbose Verbose output
EOF
+ exit 0;
}
=head1 NAME
@@ -480,7 +501,7 @@ markup from body).
Note that the three mode options are mutually exclusive. If no mode option is given,
I<latexrevise> simply removes user annotations and markup according to the following four
-options.
+options. These functions can be very useful outside the latexdiff context, too
=over 4
@@ -509,6 +530,13 @@ turn C<\cmd{abc}> into C<abc>.
Similarly, remove C<\begin{envir}> and C<\end{envir}> commands but
leave content of the environment in the text.
+
+=item B<-r cmd> or B<--replace=cmd>
+
+For constructions C<\\cmd{..}{..}>, remove the command, leave the
+content of first argument, and delete second argument, i.e. turn
+C<\cmd{abc}{def}> into C<abc>.
+
=item B<-V> or B<--verbose>
diff --git a/support/latexdiff/latexrevise.1 b/support/latexdiff/latexrevise.1
index 5c5558a805..a67d09564f 100644
--- a/support/latexdiff/latexrevise.1
+++ b/support/latexdiff/latexrevise.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29)
+.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -46,7 +46,7 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
@@ -56,12 +56,12 @@
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
-.if (\n(rF:(\n(.g==0)) \{
-. if \nF \{
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
-. if !\nF==2 \{
+. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "LATEXREVISE 1"
-.TH LATEXREVISE 1 "2020-06-13" "perl v5.22.1" " "
+.TH LATEXREVISE 1 "2021-12-27" "perl v5.30.0" " "
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -183,7 +183,7 @@ markup from body).
.PP
Note that the three mode options are mutually exclusive. If no mode option is given,
\&\fIlatexrevise\fR simply removes user annotations and markup according to the following four
-options.
+options. These functions can be very useful outside the latexdiff context, too
.IP "\fB\-c cmd\fR or \fB\-\-comment=cmd\fR" 4
.IX Item "-c cmd or --comment=cmd"
Remove \f(CW\*(C`\ecmd{...}\*(C'\fR sequences. \f(CW\*(C`cmd\*(C'\fR is supposed to mark some explicit
@@ -208,6 +208,11 @@ turn \f(CW\*(C`\ecmd{abc}\*(C'\fR into \f(CW\*(C`abc\*(C'\fR.
.IX Item "-n envir or --markup-environment=envir"
Similarly, remove \f(CW\*(C`\ebegin{envir}\*(C'\fR and \f(CW\*(C`\eend{envir}\*(C'\fR commands but
leave content of the environment in the text.
+.IP "\fB\-r cmd\fR or \fB\-\-replace=cmd\fR" 4
+.IX Item "-r cmd or --replace=cmd"
+For constructions \f(CW\*(C`\e\ecmd{..}{..}\*(C'\fR, remove the command, leave the
+content of first argument, and delete second argument, i.e. turn
+\&\f(CW\*(C`\ecmd{abc}{def}\*(C'\fR into \f(CW\*(C`abc\*(C'\fR.
.IP "\fB\-V\fR or \fB\-\-verbose\fR" 4
.IX Item "-V or --verbose"
Verbose output
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index b5dc61bcfb..960bfa98ac 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -45,6 +45,7 @@ $mirrors = {
'https://cran.asia/tex/' => 1,
'https://ftp.harukasan.org/CTAN/' => 1,
'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
+ 'https://mirror.kakao.com/CTAN/' => 1,
'https://mirror.navercorp.com/CTAN/' => 1,
'https://mirror.yongbok.net/ctan/' => 1,
},
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 8e8029e4d9..977384cb6d 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2021
-depend revision/61415
+depend revision/61425
name 00texlive.image
category TLCore
-revision 61415
+revision 61423
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -2317,6 +2317,7 @@ runfiles size=12497
tlpkg/tlpsrc/karnaugh.tlpsrc
tlpkg/tlpsrc/karnaughmap.tlpsrc
tlpkg/tlpsrc/kastrup.tlpsrc
+ tlpkg/tlpsrc/kaytannollista-latexia.tlpsrc
tlpkg/tlpsrc/kblocks.tlpsrc
tlpkg/tlpsrc/kdgdocs.tlpsrc
tlpkg/tlpsrc/kdpcover.tlpsrc
@@ -4325,6 +4326,7 @@ runfiles size=12497
tlpkg/tlpsrc/worksheet.tlpsrc
tlpkg/tlpsrc/worldflags.tlpsrc
tlpkg/tlpsrc/wrapfig.tlpsrc
+ tlpkg/tlpsrc/wrapfig2.tlpsrc
tlpkg/tlpsrc/wsemclassic.tlpsrc
tlpkg/tlpsrc/wsuipa.tlpsrc
tlpkg/tlpsrc/wtref.tlpsrc
@@ -4503,7 +4505,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 61410
+revision 61417
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
@@ -24425,7 +24427,7 @@ catalogue-version 1.27
name asmejour
category Package
-revision 61388
+revision 61421
shortdesc A template for ASME journal papers
relocated 1
longdesc The asmejour class provides a template to format preprints
@@ -24440,10 +24442,10 @@ longdesc column balancing, various math options, government copyright,
longdesc and archivability (PDF/A). The class is compatible with
longdesc pdfLaTeX or LuaLaTeX. This package is not a publication of
longdesc ASME.
-containersize 21444
-containerchecksum 417d78b244f15b4a4687954a8011a7c955f125ea2d04a4cf33585daa8266aece1f02ea5e9e92d1b7c5a2519427126f1881d6275b0e8633a677defbba8a3f20b0
-doccontainersize 638748
-doccontainerchecksum dce1af7422529f34bd9451a3a90fdb64784d59d027f2077556b517a00b26e1d8eaa5f45a53950d346fe9f4ecf63d72e655051813a458b8bdaa5552721c202275
+containersize 21988
+containerchecksum 8c3ddd6b183b2ba09799650e6055a2fc9b2a77088ba223daf430001c57ad7800d770e50a8339656bfe5d1db7f10195b66c0c6bd8372861cee873a9f2a1a5926b
+doccontainersize 638776
+doccontainerchecksum 6beaa4b6a5416c0f995b8bd557d0b05decf554aceea579ff473a144b6723a121e309b3ef25fb884be7feb5e78db58a1a7b22a79479e68d2a2dd82bce89665caf
docfiles size=234
RELOC/doc/latex/asmejour/README.md details="Readme"
RELOC/doc/latex/asmejour/asmejour-sample.bib
@@ -24458,7 +24460,7 @@ runfiles size=22
catalogue-ctan /macros/latex/contrib/asmejour
catalogue-license mit
catalogue-topics class journalpub scientific-docs bibtex-sty engineering
-catalogue-version 1.15
+catalogue-version 1.17
name aspectratio
category Package
@@ -65077,7 +65079,7 @@ catalogue-version 0.4-Alpha
name codebox
category Package
-revision 61415
+revision 61425
shortdesc Highlighted source code in a fancy box
relocated 1
longdesc This LaTeX3 package provides environments codebox and codeview
@@ -65086,10 +65088,10 @@ longdesc \cvfile to typeset programming source code from a file in a
longdesc fancy box. Starred versions of these environments and macros
longdesc are provided to add a comment at the bottom of the fancy box.
longdesc The package is based on tcolorbox, minted, and listings.
-containersize 3596
-containerchecksum 1d5ac25299755e3fff1adf6e0d06daf87d5f2885ed59f65374c97a89f3060f83353fe53eef5cd9c73c680b817d8cb8b4cab090d702e0e98875f8fb5565c508b3
-doccontainersize 361352
-doccontainerchecksum 335ecc7cb568e2f06be995148a1da0e979e3fb07e294c734ec7298b9d4ca70eb270a5bcb01dadffc3bd33cde298bf44ca33009caacfc66df8a7a1edbd9ae7d8d
+containersize 3560
+containerchecksum e57216ee33278670bb36374fbb93c2649c13713063a646c3239c08e7c32547754dc1f0e0248a18347d1d2aae0f015d7757d77bc525b01cfff786eb9aab343146
+doccontainersize 362712
+doccontainerchecksum 2785003dac0a6267dff086832fd1952a8e32cf3fdd1dda4e76c700a45461751805c85b14855a79c43cd256bec7cfc135be29b42a4b4f9727f1621fd33ce2f097
docfiles size=111
RELOC/doc/latex/codebox/README.md details="Readme"
RELOC/doc/latex/codebox/build.sh
@@ -65101,14 +65103,14 @@ docfiles size=111
RELOC/doc/latex/codebox/hellojava.java
RELOC/doc/latex/codebox/hellopy.py
RELOC/doc/latex/codebox/test.c
-runfiles size=4
+runfiles size=3
RELOC/tex/latex/codebox/codebox.sty
catalogue-contact-bugs https://github.com/registor/codebox/issues
catalogue-contact-repository https://github.com/registor/codebox
catalogue-ctan /macros/latex/contrib/codebox
catalogue-license lppl1.3c
catalogue-topics boxing listing decoration synt-hlt expl3
-catalogue-version 1.0.0
+catalogue-version 1.0.1
name codedoc
category Package
@@ -67247,7 +67249,7 @@ containerchecksum b5d9f13c65fb79f647204e5dadb7cbf9c72cfa8408a92fec25423400ec238e
name collection-langeuropean
category Collection
-revision 58626
+revision 61419
shortdesc Other European languages
relocated 1
longdesc Support for a number of European languages; others (Greek,
@@ -67310,6 +67312,7 @@ depend hyphen-swedish
depend hyphen-turkish
depend hyphen-uppersorbian
depend hyphen-welsh
+depend kaytannollista-latexia
depend lithuanian
depend lshort-dutch
depend lshort-estonian
@@ -67320,8 +67323,8 @@ depend nevelok
depend rojud
depend swebib
depend turkmen
-containersize 704
-containerchecksum a1fe7a0531b3a0581591988c62cba7c3032bab5ed8291edbff2c8573adae0ce96ea9087c7f4b018ad0ae341070a826501fb6a92d768ae939a632bae41c0d84f4
+containersize 716
+containerchecksum ea3c6897bb6ecef53a21ab9adc8a80c9578107b96f972193909fb47d2bcbe9515099a8d2dd7276492ece95d2ff3c5e98d92446deb42bc0dc9a7c9fdf21621055
name collection-langfrench
category Collection
@@ -67791,7 +67794,7 @@ containerchecksum 0568a3251d71fb3106fbb3961427200419ae1df22d39b5e72c608e2d94fc35
name collection-latexextra
category Collection
-revision 61415
+revision 61423
shortdesc LaTeX additional packages
relocated 1
longdesc A very large collection of add-on packages for LaTeX.
@@ -69161,6 +69164,7 @@ depend wordcount
depend wordlike
depend worksheet
depend wrapfig
+depend wrapfig2
depend wtref
depend xargs
depend xassoccnt
@@ -69208,8 +69212,8 @@ depend zref-check
depend zref-clever
depend zwgetfdate
depend zwpagelayout
-containersize 6524
-containerchecksum 87e0f99ccb8a1c83daca15bc5922588dee935eecd6e30a8d4841113a6077a621fa71a73937022ef6d5d1c9bde8f8915bd00d678c7c8402a95cd388b1abd774a2
+containersize 6528
+containerchecksum 81f8eaab3bf3fd4f3104b9ac50154191661bd58f00c5d16eccbbd38269abce0c2446cb950513dd56a6b356ea1b649cfd92eb63ea82a78cbe1c27c6561c9f454e
name collection-latexrecommended
category Collection
@@ -157171,6 +157175,40 @@ catalogue-ctan /macros/generic/kastrup
catalogue-license other-free
catalogue-topics numbers
+name kaytannollista-latexia
+category Package
+revision 61419
+shortdesc Practical manual for LaTeX (Finnish)
+relocated 1
+longdesc "Kaytannollista Latexia" is a practical manual for LaTeX
+longdesc written in the Finnish language. The manual covers most of the
+longdesc topics that a typical document author needs. So it can be a
+longdesc useful guide for beginners as well as a reference manual for
+longdesc advanced users.
+containersize 572
+containerchecksum dcee4995b9e8df07272009fbf428dd914a0a1488f8808951db5fd7c43dea90ff64c37460ea82c486d8ff658b01907f994518f294f1263bf0ff01ff6797e2ec80
+doccontainersize 988908
+doccontainerchecksum f43cf6001c03307d41b45b1a50bd27ffe1dd7255d062714ceda44acdaaf9d48920e527ee1e26d2707e6ab08696857935aa90e31ca6733c9efde5ffc2ed81e74a
+docfiles size=368
+ RELOC/doc/latex/kaytannollista-latexia/README.md details="Readme"
+ RELOC/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf details="The document itself" language="fi"
+ RELOC/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex
+ RELOC/doc/latex/kaytannollista-latexia/kirjallisuutta.bib
+ RELOC/doc/latex/kaytannollista-latexia/luku-asetukset.tex
+ RELOC/doc/latex/kaytannollista-latexia/luku-erikoiset.tex
+ RELOC/doc/latex/kaytannollista-latexia/luku-esipuhe.tex
+ RELOC/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex
+ RELOC/doc/latex/kaytannollista-latexia/luku-rakenne.tex
+ RELOC/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex
+ RELOC/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex
+ RELOC/doc/latex/kaytannollista-latexia/versio.tex
+catalogue-contact-bugs https://github.com/tlikonen/latex-opas/issues
+catalogue-contact-repository https://github.com/tlikonen/latex-opas
+catalogue-ctan /info/kaytannollista-latexia
+catalogue-license cc-by-sa-4
+catalogue-topics tut-latex finnish-doc
+catalogue-version 2021.12
+
name kblocks
category Package
revision 57617
@@ -215652,7 +215690,7 @@ catalogue-version 1.0
name newtx
category Package
-revision 61408
+revision 61418
shortdesc Alternative uses of the TX fonts, with improved metrics
relocated 1
longdesc The bundle splits txfonts.sty (from the TX fonts distribution)
@@ -215667,10 +215705,10 @@ longdesc garamondx package, thus offering a garamond-alike
longdesc text-with-maths combination.
depend kastrup
execute addMap newtx.map
-containersize 6537272
-containerchecksum b4a0df083e9d490bae747833ad505d1f5374dadcbbba63ca9a088104762f0096996b6b5b58cb30f74adfe2ec7ebb40d6fe7ea184389df3faca3fe55a8dd36f2e
-doccontainersize 633692
-doccontainerchecksum e6616264b98e0ef79f1df3beb0697387262831a4f3fd23dfeede9b8f66cda0c425b61ea50fc788609ce08e0301a43588cfc43047b980ba5d2598e60a9ca67fc3
+containersize 6367332
+containerchecksum 1aa26b7d9caf9dbc1890aaf9bbf790802633b2abc0a8284a83c50b71d1f3b8d5d9824a46f5e2f5b2421a75f5a9b754000141da233f07fe67f787755b6f9516fe
+doccontainersize 633820
+doccontainerchecksum 806b45593422c585096f60bcc977d61950c648ebd5d9fd5dab7ca612b72e0520cff4b315429b7871068818b98f43aa258d0db677a374e71645e9da7c3bc98a97
docfiles size=226
RELOC/doc/fonts/newtx/MANIFEST-newtx.txt
RELOC/doc/fonts/newtx/README details="Readme"
@@ -215686,7 +215724,7 @@ docfiles size=226
RELOC/doc/fonts/newtx/sample-ntx-crop.pdf
RELOC/doc/fonts/newtx/sample-ptmx-crop.pdf
RELOC/doc/fonts/newtx/sample-tx-crop.pdf
-runfiles size=4231
+runfiles size=4189
RELOC/fonts/afm/public/newtx/LibertineI-5nu.afm
RELOC/fonts/afm/public/newtx/LibertineMathBMI.afm
RELOC/fonts/afm/public/newtx/LibertineMathBMI5.afm
@@ -216393,7 +216431,6 @@ runfiles size=4231
RELOC/fonts/type1/public/newtx/txsy5.pfb
RELOC/fonts/type1/public/newtx/txsy7.pfb
RELOC/fonts/type1/public/newtx/txsys.pfb
- RELOC/fonts/type1/public/newtx/zplr.pfb
RELOC/fonts/type1/public/newtx/ztmb.pfb
RELOC/fonts/type1/public/newtx/ztmbi.pfb
RELOC/fonts/type1/public/newtx/ztmbsl.pfb
@@ -216606,7 +216643,7 @@ catalogue-also minion2newtx
catalogue-ctan /fonts/newtx
catalogue-license lppl1.3
catalogue-topics font font-body font-maths font-serif font-proportional font-type1 font-otf font-supp font-t1enc
-catalogue-version 1.7
+catalogue-version 1.702
name newtxsf
category Package
@@ -288036,7 +288073,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 61362
+revision 61424
shortdesc Convert (La)TeX to HTML/XML
longdesc A converter from TeX and LaTeX to SGML-based formats such as
longdesc (X)HTML, MathML, OpenDocument, and Docbook, providing a
@@ -288057,10 +288094,10 @@ longdesc files from them is nontrivial, and generally done with the
longdesc Makefile in development, from which the TeX4ht package in TeX
longdesc Live is updated.
depend tex4ht.ARCH
-containersize 937372
-containerchecksum 624d0cb9c86d0a9b7f36a44fab3515ca0d480c843fd319347670d5bd2ef5b8c15974579debc3d674f23314e81362282d7b099568f4513f0b1deb4be8efb8ee7c
+containersize 937524
+containerchecksum d05ef61d17753b8d397f78bbb0af01038920e655c56ff6fc448c47fb188cd6bf4df8f6c48067e9e7a552ec276e90fe2b930abe3a862d7e87af6242a92e1fb371
doccontainersize 136384
-doccontainerchecksum 1c7f345d6666d4f474dcf3d38d2077dc739e532e1112880e5c63514300363d5c826320358cf666c5f291391c3f5dfad53d3b2648124717a84395ec427c57831e
+doccontainerchecksum f89fddcc60c6bff4811f8298391de62868ed1610f48091163ea77a3842603761afb2dfbceee74503491b7f2fef77e0cbbad3e79cbc17d1ffec13582baf35e34e
docfiles size=260
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/README details="Readme"
@@ -288132,8 +288169,8 @@ docfiles size=260
texmf-dist/doc/generic/tex4ht/mn56.html
texmf-dist/doc/generic/tex4ht/mn5x.png
texmf-dist/doc/generic/tex4ht/mn6x.png
-srccontainersize 1227188
-srccontainerchecksum 6d7a2b5e75c0e185aca7d67ca2813619e7101c0ae9af7a2b017462c3e6a423f9948da702395787e44a9c21b9cc939b7eb218807770c5dc0fab71a8c2ffe12b44
+srccontainersize 1234988
+srccontainerchecksum e898c6059ef579eae02d4daa6a13d88d136db45c48a8e6049fb7c6452bcc60f57aec912cc75476293cfff12ab845970fe766838d81a0e727b5c086e55bb198f6
srcfiles size=3725
texmf-dist/source/generic/tex4ht/ChangeLog
texmf-dist/source/generic/tex4ht/Makefile
@@ -288660,6 +288697,7 @@ runfiles size=10612
texmf-dist/tex/generic/tex4ht/xcolor-hooks.4ht
texmf-dist/tex/generic/tex4ht/xcolor.4ht
texmf-dist/tex/generic/tex4ht/xecjk-hooks.4ht
+ texmf-dist/tex/generic/tex4ht/xifthen.4ht
texmf-dist/tex/generic/tex4ht/xr-hooks.4ht
texmf-dist/tex/generic/tex4ht/xr-hyper.4ht
texmf-dist/tex/generic/tex4ht/xr.4ht
@@ -298046,7 +298084,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 61410
+revision 61417
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.
@@ -298054,10 +298092,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 108236
-containerchecksum d416567a07229a424dbc3fc7d8ca3333eebd4a176d6ded56e31648f7d94bd2ccc100996566236b598942e680973471efeb3dc8f242990f1ff8e3390460c5a52b
-doccontainersize 402268
-doccontainerchecksum e1103262c70e3d92f3ee6bf8f5b0a5ff740b5fc165270d0b11f5b63870cd6cd71b3b77ee86c8f23a4d511990e52ec3a35b82185e1e2f28793ecc54698571b2ce
+containersize 108268
+containerchecksum 9453979a7422b6d8b8b388c6aba986936741a4b88d69bfcfb70e7505479365c03844a90aae298f25dcf06f8d942fd378797161abc82cc5b2000719eee679cd86
+doccontainersize 402256
+doccontainerchecksum acb44f8958ca8e3946f4d926f0add8e8b19bddb294bc886474048895e1890b70dddde30363543d9a39bf58a122f2050dd842afbccc463bfdfdf1bd3aa3f9625d
docfiles size=500
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -327567,7 +327605,7 @@ catalogue-topics faq
name visualfaq-fr
category Package
-revision 60273
+revision 61420
shortdesc FAQ LaTeX visuelle francophone
relocated 1
longdesc (French version below.) The Visual LaTeX FAQ is an innovative
@@ -327583,10 +327621,10 @@ longdesc a ce que vous souhaitez faire - ou ne pas faire - et la FAQ
longdesc LaTeX visuelle enverra votre navigateur web a la page
longdesc correspondante de la FAQ LaTeX francophone.
containersize 788
-containerchecksum 6a2ae768985a6ae59bd70fc137164fbedfb6c99ac137a81cc40d86b2543bd98f29ca1f9beac47220ed8ab69039684ca7dd90c3cd2c5d9a2b90e4a8c5c2a3e3a2
-doccontainersize 4578308
-doccontainerchecksum 7ee33b3544ce6b8a5bd905f518036ff534c4bd677ecd385dccf004d874a59d108bc44a1779a61fe7cbcb6e97588587be1d38e4e96f048db70de042848d3e312f
-docfiles size=2269
+containerchecksum ed7bcfc871d3ff533d954a74bd0212a72349fe0317258edfae79941e7f7cfd47e13de24acfbf524bccddcc66f6e75e9491b25339d26d513cf8170853e1e7ebd4
+doccontainersize 4695644
+doccontainerchecksum 2cc2f861a505f4a705ebb03481c00ba6ecf394041e0fcd2a12bc3c96d2a3ae875fd3ac3e236c03c15e2646228945c036647031a0d95377a2373cf9086e5ec888
+docfiles size=2297
RELOC/doc/latex/visualfaq-fr/README details="Readme"
RELOC/doc/latex/visualfaq-fr/VERSION
RELOC/doc/latex/visualfaq-fr/source/README details="Readme"
@@ -332161,6 +332199,35 @@ catalogue-license lppl
catalogue-topics text-flow
catalogue-version 3.6
+name wrapfig2
+category Package
+revision 61423
+shortdesc Wrap text around figures
+relocated 1
+longdesc This package is a fork of Donald Arseneau wrapfig package. It
+longdesc is backwards compatible with thw original environments.
+longdesc Therefore this package does not work with LaTeX2e kernels older
+longdesc than about 2018, although a warning is issued if the LaTeX
+longdesc format file is dated with a date older than 1st January 2019.
+containersize 5160
+containerchecksum 55dca8c3498605ac0fd58b20368495ae409a4afe48f3c5c365b2a046f7d91d5b0df523b1dddb910983c6c05357314c4452741c5abbaef5051aa302fb915e20e1
+doccontainersize 501200
+doccontainerchecksum 9719ec57ba7efde22d688557a6aa5765d9dee47489995bbe909b6d3f4987f01bb1950a8257e5fc33ced8ebf114821bbd06524869c6fc60652ebf9ba214d5b099
+docfiles size=126
+ RELOC/doc/latex/wrapfig2/README.txt details="Readme"
+ RELOC/doc/latex/wrapfig2/wrapfig2.pdf details="Package documentation"
+srccontainersize 16648
+srccontainerchecksum 81c189ca03017fb259f2ee37227be4c9cc9115a5d5585687c63312e949a0e77dbd33b8bb162ea1dfa3bb459cac0d2e082b5fe84648268a4148360beafeda2301
+srcfiles size=14
+ RELOC/source/latex/wrapfig2/wrapfig2.dtx
+runfiles size=4
+ RELOC/tex/latex/wrapfig2/wrapfig2.sty
+catalogue-also cutwin
+catalogue-ctan /macros/latex/contrib/wrapfig2
+catalogue-license lppl1.3c
+catalogue-topics text-flow
+catalogue-version 4.0
+
name wsemclassic
category Package
revision 31532
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 7461a13b6b..ce1a99d0de 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-4f482b323f7aa9844e3f827bfd3928d1 texlive.tlpdb
+14cb84bfa9b19fd79522cada1a549372 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 542ae47c95..1d72aeb976 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-223937b3c6d14005cd62e2271105e4b08b55c5dc4bcb9138233d2eb98a6e56158f953c13fd818a5c58ae8922c523c46895e187ea29126fce9bbe6d387602fe6e texlive.tlpdb
+8f2c06ba1d73c70054852544fb8bdefcb2d48df9e5ea829a0ec16ef46f5134c5d61035858ee22492590c2b5d8430cc6cec56429a8a6065b62fb2efb4fe6b7f63 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 5a96bdc9ee..6afc5c7750 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-----
-iQEcBAEBCgAGBQJhyQ6eAAoJEEzhh34ZQ4xwQMAH/3IFshkGLP73TPaBHUXUxA4J
-Uy/EYbyd5momv9+zDBN3HOFOSAQfAbshKkjG1I0yvWl1PabfP5n99mCoX2A2eScW
-qBRTlsk1qQMuIExqa2YVLuJt1C4hUgABwqTyvGTnZA9i+oR+cuhxJLq3QXXxzQv2
-zFzLe9uzZf/N+OquP3egmelH0wfi5CwNxMj/1AGjT40w3x+AwjcLLylIEDgl0gIj
-1/ZvgUOmU277ErdYyjl7SSKzgowhGodH7gj3H9/Rrb0ZhLdNQIesgtIlKVVixmZ7
-15FyaryfYjFiJ3Q+YcTwy4BYjxi6aHzJ3x+8YKSY7eVAoUlgMns2KwcH7sC/QuI=
-=vd5v
+iQEcBAEBCgAGBQJhymBPAAoJEEzhh34ZQ4xwhKsIAKvz9kJ7i9NbDYh8R5XSR8/j
+ejXbYR5FdZnJ+VvkzWocB80Bs3T0pfTTNjlTMa6qqZXSUt1T8/aaqfYwHDruTc20
+9M18DCRymBzaZv5UPLdrd7WrbuuLvC0fnwl2knu5fHFgqst+2nxySWzK0ZKA9ovO
+7Tm7NiSTtbOR05TNrkLCEMgJyqTlHcdLnTxsfNYo6j7/x5upwfGxR4Ku9QWcSiZ7
+g0b+wqtQyxbLs3Mqabk/g8KaZ9HDHRG0ykVoutS95DKu7Ho7R9pqAcLC5Qoj0/7C
+S7et4F4EdEmJPDJYdjmYmqUd5bUN9Y6Vyeaw8UJMT+LjZ5OX+YlT17E7zE01kls=
+=TCQJ
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 132d070980..554c7b971d 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 94a8f4909b..e60b569722 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=1640639911
+date=1640726357
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=870a5d73cef428a23cd3fa8e460ca8a2
+lstdigest=3c1ef7fe3358aec5c2b6efb1364202b7
numpkg=5156
relstate=next
-version=8031
+version=8032
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: dvKiymANZkoruxr3Pc9AiwJ702ULlNSpQ1/JTFRgKcaGqpFIbooT9QDpghZBfsEEzbKYczzzCuWuV8dH3u0Mb8dlRF4DuHTZIDbwRlvZJwDLe5agnOdtQKrHDaVWZkU1ByOuiSs1uhoaW5mY9IfMr9sgaTemJUSL9AncL4vM9uro6ZHa2OkMo38KdXbwPy8O0XkXLSM0cyTqSP2DXCU5nkddW5Ks/F3VEzGUqv/3uquFU7NT7B4823GGPPj7LiE5FNf8pXGsumRMYwuh9SfRdPFKXO6pu4Ao/DawrLpvaGwlG8p7FnYScUl6JEcYLRS1U1978O+It6mop2Qi3kLTvQ==
+;;;; signature/miktex: WnFEnqhauckbBInEuQ7ar3+GjJ7R4ly1HqoYKRFP95xp5aorxPZYK7Mr9jdDYTrQKy6cU7Mp0ayVUzk+fVl90P35eAL2k53HpM44suaYgd/0DGYl0pwmcRnd9n9kJcae6Z3rxgZC3qeMUYjD2n90P3TeXx/k6t3gVAX/Clwx5nuUMF+fN1Imad5ZKRaFqjopRr8/9npqfi+mR8pDNev+8rRfvghcX8xFtKFEuFsuDVdk0dIX5/8BwB6fpGNcQQV3BHztPAJ5dTJiFxmKmOumRHI89bJrOSZGh6+WwIR2xW0YnJHpYyOgoniw1epZzoqm5S5e3L+FC7psBnu+QTv9CQ==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 4b2033cf67..7ece7fd299 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1640639498
+date=1640725893
lastupd=miktex-misc ptex-fontmaps ptex-fontmaps__source arara arara__doc arara__source autopuncitems autopuncitems__doc autopuncitems__source beaulivre beaulivre__doc beaulivre__source biblatex-spbasic biblatex-spbasic__doc biblatex-spbasic__source colorist colorist__doc colorist__source easybook easybook__doc
-lstdigest=b904c4fdc6fd9c6e35fc25f8db426795
+lstdigest=1b1d5cbca5a886c542a6a86c1bf5a9ec
numpkg=5154
relstate=stable
-version=8031
+version=8032
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: GmRDzU48g4NR3R9ezbwPJoI2uzXg3YTQ0ggn59h7P0MbbSu2mE6r3Laha7UBbSQwurThX5qoAeAy88Fg4N3cvDzlvxZc8rFzrSPMe4L5oymkJzbCtfCgCMXY1W0lRfFXu8a4zT/I6Pw2Kgdkay39GF/L41fNIuRAxnMZdfluC2KGxbaumKy2lzoIBiumtO4vmqPfzTAhM9/TcgSz+a0wJN7grqaDDiJqZsqIwyXGkrtWfZB13EFkd6Z6iSHvQ5uU9kJA54rh/tVNHt7BOO8Rc/5TrxCI+OxnnloVY9eMME1MWtLjjkoLtGOyDjtun3240TdSBrEGJdqjJRwWypy6iQ==
+;;;; signature/miktex: AOHl8XqCaoD76dmZSBA8Zyaeeef92UYpoY2DVQMlnBtQ3Mnik4FeERY0RTiOKlL/rkm0okO3AWdemUk0OIkhJ6V5XJkaGo42bhAWgK65PJECIcA9lqMT9zjz03XMZNM/auQ/dTP7Ops1w04ST8QL4bYzU+v3IbTWZnDwnawo3H1wrzDlXW/Xh28m+56I0w2KMRTdteSiCJm8d9P3GYjw5uh5kIk8qdGBeoNz4q6Y7Ryu5gAzYoSezzrRlCW9tcsUryTe36aPi74qQJsF03iPASwhRkPY/e7eB/4DIs+S8bvboL7BB8KVB95Y/yhYqOMuiaJkWmhbeyNWHepsCNm2JQ==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index e1c2321017..2c328b94e7 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-12-28-02-02
+2021-12-29-02-02
diff --git a/web/c_cpp/cweb/Makefile b/web/c_cpp/cweb/Makefile
index 0c20d83c10..86db9f3bfc 100644
--- a/web/c_cpp/cweb/Makefile
+++ b/web/c_cpp/cweb/Makefile
@@ -1,6 +1,6 @@
# This file is part of CWEB.
# It is distributed WITHOUT ANY WARRANTY, express or implied.
-# Version 4.2 --- February 2021
+# Version 4.6 --- December 2021
# Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth
@@ -74,14 +74,14 @@ CWEAVE = ./cweave
CTANGLE = ./ctangle
SOURCES = cweave.w common.w ctangle.w
ALL = common.w ctangle.w cweave.w prod.w \
- Makefile common.c common.h ctangle.c \
+ Makefile README common.c common.h ctangle.c \
cwebman.tex cwebmac.tex comm-vms.ch ctang-vms.ch \
cweav-vms.ch comm-man.ch ctang-man.ch cweav-man.ch \
comm-pc.ch ctang-pc.ch cweav-pc.ch comm-amiga.ch \
- comm-bs.ch ctang-bs.ch cweav-bs.ch makefile.bs \
+ comm-bs.ch ctang-bs.ch cweav-bs.ch makefile.bs \
comm-ql.ch ctang-ql.ch cweav-ql.ch readme.ql \
comm-w32.ch ctang-w32.ch cweav-w32.ch \
- comm-os2.ch comm-mac.ch cweb.1 cweb.el c++lib.w README
+ comm-os2.ch comm-mac.ch cweb.1 cweb.el c++lib.w iso_types.w
.SUFFIXES: .dvi .tex .w .pdf
@@ -149,16 +149,16 @@ cweave.c: cweave.w $(WCHANGES) common.h prod.w
doc: $(SOURCES:.w=.dvi)
usermanual: cwebman.tex cwebmac.tex
- tex cwebman
+ $(PDF)tex cwebman
fullmanual: usermanual $(SOURCES) comm-man.ch ctang-man.ch cweav-man.ch
make cweave
./cweave common.w comm-man.ch
- tex common.tex
+ $(PDF)tex common.tex
./cweave ctangle.w ctang-man.ch
- tex ctangle.tex
+ $(PDF)tex ctangle.tex
./cweave cweave.w cweav-man.ch
- tex cweave.tex
+ $(PDF)tex cweave.tex
# be sure to leave ctangle.c and common.c for bootstrapping
clean:
@@ -183,6 +183,8 @@ install: all
- mkdir $(CWEBINPUTS)
$(CP) c++lib.w $(CWEBINPUTS)
chmod 644 $(CWEBINPUTS)/c++lib.w
+ $(CP) iso_types.w $(CWEBINPUTS)
+ chmod 644 $(CWEBINPUTS)/iso_types.w
floppy: $(ALL) examples
bar cvhf /dev/rfd0 $(ALL) examples
diff --git a/web/c_cpp/cweb/README b/web/c_cpp/cweb/README
index 081dc5aa0b..e2caca4133 100644
--- a/web/c_cpp/cweb/README
+++ b/web/c_cpp/cweb/README
@@ -1,7 +1,7 @@
% This file is part of CWEB.
% The CWEB programs by Silvio Levy are based on programs by D. E. Knuth.
% They are distributed WITHOUT ANY WARRANTY, express or implied.
-% This README file last updated February 2021 by Andreas Scherer
+% This README file last updated May 2021 by Andreas Scherer
% Copyright (C) 1987,1990,1993,2000,2016 Silvio Levy and Donald E. Knuth
@@ -66,14 +66,16 @@ makefile.bs
prod.w
readme.ql
c++lib.w
+iso_types.w
The file cwebman.tex is the user manual.
The examples directory contains additional examples of the use of CWEB.
The files common.c and ctangle.c are used for bootstrapping.
The file cweb.1 is a manual page.
The file cweb.el is suggested for GNU-Emacs users.
-The file c++lib.w is for C++ users (say `@i c++lib.w' at beginning of program).
-The files *-man.ch are used if you want to make the full 240-page CWEB manual.
+The files c++lib.w and iso_types.w are for C++ users (say `@i c++lib.w'
+and/or `@i iso_types.w' at beginning of program).
+The files *-man.ch are used if you want to make the full 243-page CWEB manual.
The files *-bs.ch are used instead of *-pc.ch if you are doing BIG programs.
You can use makefile.bs to make CWEB with *-bs.ch.
The files *-ql.ch are for QDOS/SMSQ systems; see readme.ql for further info.
diff --git a/web/c_cpp/cweb/comm-amiga.ch b/web/c_cpp/cweb/comm-amiga.ch
index f17c2d333b..fecfc9460c 100644
--- a/web/c_cpp/cweb/comm-amiga.ch
+++ b/web/c_cpp/cweb/comm-amiga.ch
@@ -10,7 +10,7 @@ An omitted change file argument means that |"/dev/null"| should be used,
An omitted change file argument means that |"nil:"| should be used,
@z
-@x section 76
+@x section 75
strcpy(change_file_name,"/dev/null");
@y
strcpy(change_file_name,"nil:");
diff --git a/web/c_cpp/cweb/comm-bs.ch b/web/c_cpp/cweb/comm-bs.ch
index b01b86799d..b5e1d21b9b 100644
--- a/web/c_cpp/cweb/comm-bs.ch
+++ b/web/c_cpp/cweb/comm-bs.ch
@@ -15,7 +15,7 @@ by using "huge" pointers.
(Update attempt by Andreas Scherer, 31 Jan 2021. Good luck!)
-@x Section 6.
+@x Section 9.
for section names */
@<Common code...@>=
@@ -50,7 +50,7 @@ typedef struct name_info {
union {
void huge* equiv_member;
void huge* xref_member;
- } ptr_union; /* info corresponding to names */
+ } ptr_union; /* info corresponding to names */
} name_info; /* contains information about an identifier or section name */
typedef name_info *name_pointer; /* pointer into array of \&{name\_info}s */
typedef name_pointer *hash_pointer;
@@ -136,23 +136,23 @@ name_pointer p)
@x Section 57.
static name_pointer
-add_section_name(@t\1\1@> /* install a new node in the tree */
+add_section_name( /* install a new node in the tree */
name_pointer par, /* parent of new node */
int c, /* right or left? */
char *first, /* first character of section name */
char *last, /* last character of section name, plus one */
-int ispref@t\2\2@>) /* are we adding a prefix or a full name? */
+boolean ispref) /* are we adding a prefix or a full name? */
{
name_pointer p=name_ptr; /* new node */
char *s=first_chunk(p);
@y
static name_pointer
-add_section_name(@t\1\1@> /* install a new node in the tree */
+add_section_name( /* install a new node in the tree */
name_pointer par, /* parent of new node */
int c, /* right or left? */
char huge* first, /* first character of section name */
char huge* last, /* last character of section name, plus one */
-int ispref@t\2\2@>) /* are we adding a prefix or a full name? */
+boolean ispref) /* are we adding a prefix or a full name? */
{
name_pointer p=name_ptr; /* new node */
char huge* s=first_chunk(p);
@@ -161,39 +161,39 @@ int ispref@t\2\2@>) /* are we adding a prefix or a full name? */
@x Section 58.
static void
-extend_section_name(@t\1\1@>
+extend_section_name(
name_pointer p, /* name to be extended */
char *first, /* beginning of extension text */
char *last, /* one beyond end of extension text */
-int ispref@t\2\2@>) /* are we adding a prefix or a full name? */
+boolean ispref) /* are we adding a prefix or a full name? */
{
char *s;
@y
static void
-extend_section_name(@t\1\1@>
+extend_section_name(
name_pointer p, /* name to be extended */
char huge* first, /* beginning of extension text */
char huge* last, /* one beyond end of extension text */
-int ispref@t\2\2@>) /* are we adding a prefix or a full name? */
+boolean ispref) /* are we adding a prefix or a full name? */
{
char huge* s;
@z
-@x Section 64.
-static int section_name_cmp(@t\1\1@>
+@x Section 63.
+static int section_name_cmp(
char **pfirst, /* pointer to beginning of comparison string */
-int len, /* length of string */
-name_pointer r@t\2\2@>) /* section name being compared */
+size_t len, /* length of string */
+name_pointer r) /* section name being compared */
{
char *first=*pfirst; /* beginning of comparison string */
name_pointer q=r+1; /* access to subsequent chunks */
char *ss, *s=first_chunk(r);
@y
-static int section_name_cmp(@t\1\1@>
+static int section_name_cmp(
char huge** pfirst, /* pointer to beginning of comparison string */
-int len, /* length of string */
-name_pointer r@t\2\2@>) /* section name being compared */
+size_t len, /* length of string */
+name_pointer r) /* section name being compared */
{
char huge* first=*pfirst; /* beginning of comparison string */
name_pointer q=r+1; /* access to subsequent chunks */
@@ -208,14 +208,14 @@ An omitted change file argument means that |"NUL"| should be used,
@z
-@x Section 76.
+@x Section 75.
strcpy(change_file_name,"/dev/null");
@y
strcpy(change_file_name,"NUL");
@z
-@x Section 76.
+@x Section 75.
else if (*s=='/') dot_pos=NULL,name_pos=++s;
@y
else if (*s == ':' || *s == '\\' || *s == '/')
diff --git a/web/c_cpp/cweb/comm-mac.ch b/web/c_cpp/cweb/comm-mac.ch
index aa3a77fed4..4d1382accd 100644
--- a/web/c_cpp/cweb/comm-mac.ch
+++ b/web/c_cpp/cweb/comm-mac.ch
@@ -4,27 +4,24 @@ No changes to CTANGLE or CWEAVE are needed.
(Contributed 13 Oct 2000 by AndPio@aol.com; slightly edited by Don Knuth)
@x in limbo, change the title page document to specify Mac version
- \centerline{(Version 4.2)}
+ \centerline{(Version 4.6)}
@y
- \centerline{(Version 4.2 for MacOS)}
+ \centerline{(Version 4.6 for MacOS)}
@z
-@x sections 23/24: Make input_ln accept \n, \r, \n\r, or \r\n as line endings
+@x section 23: Make input_ln accept \n, \r, \n\r, or \r\n as line endings
@ In the unlikely event that your standard I/O library does not
support |feof|, |getc|, and |ungetc| you may have to change things here.
@^system dependencies@>
-@<Predecl...@>=
-static boolean input_ln(FILE *);@/
-
-@ @c
-static boolean input_ln(@t\1\1@> /* copies a line into |buffer| or returns |false| */
-FILE *fp@t\2\2@>) /* what file to read from */
+@c
+static boolean input_ln( /* copies a line into |buffer| or returns |false| */
+FILE *fp) /* what file to read from */
{
- register int c=EOF; /* character read; initialized so some compilers won't complain */
- register char *k; /* where next character goes */
- if (feof(fp)) return false; /* we have hit end-of-file */
- limit = k = buffer; /* beginning of buffer */
+ register int c=EOF; /* character read; initialized so some compilers won't complain */
+ register char *k; /* where next character goes */
+ if (feof(fp)) return false; /* we have hit end-of-file */
+ limit = k = buffer; /* beginning of buffer */
while (k<=buffer_end && (c=getc(fp)) != EOF && c!='\n')
if ((*(k++) = c) != ' ') limit = k;
if (k>buffer_end)
@@ -32,7 +29,7 @@ FILE *fp@t\2\2@>) /* what file to read from */
ungetc(c,fp); loc=buffer; err_print("! Input line too long");
@.Input line too long@>
}
- if (c==EOF && limit==buffer) return false; /* there was nothing after
+ if (c==EOF && limit==buffer) return false; /* there was nothing after
the last newline */
return true;
}
@@ -45,17 +42,14 @@ line endings, so that \.{CWEB} will works with ASCII files stored in
\UNIX/, {\mc DOS} or {\mc MAC} format.
@^system dependencies@>
-@<Predecl...@>=
-static boolean input_ln(FILE *);@/
-
-@ @c
-static boolean input_ln(@t\1\1@> /* copies a line into |buffer| or returns |false| */
-FILE *fp@t\2\2@>) /* what file to read from */
+@c
+static boolean input_ln( /* copies a line into |buffer| or returns |false| */
+FILE *fp) /* what file to read from */
{
register int c=EOF; /* character read; initialized so some compilers won't complain */
- register char *k; /* where next character goes */
- if (feof(fp)) return false; /* we have hit end-of-file */
- limit = k = buffer; /* beginning of buffer */
+ register char *k; /* where next character goes */
+ if (feof(fp)) return false; /* we have hit end-of-file */
+ limit = k = buffer; /* beginning of buffer */
while (true) {
c = getc(fp);
if (c==EOF) return limit!=buffer; /* |false|, if there was nothing after
@@ -77,7 +71,7 @@ FILE *fp@t\2\2@>) /* what file to read from */
}
@z
-@x section 28, simply return if no change file was specified
+@x section 27, simply return if no change file was specified
change_limit=change_buffer; /* this value is used if the change file ends */
@<Skip over comment lines in the change file; |return| if end of file@>@;
@y
@@ -121,20 +115,19 @@ An omitted change file argument means that |"/dev/null"| should be used,
@y
An omitted change file argument means that no change file should be used,
@z
-
-@x section 76, make change file name empty when it is unspecified
+@x section 75, make change file name empty when it is unspecified
strcpy(change_file_name,"/dev/null");
@y
change_file_name[0]='\0'; /* empty string */
@z
-@x section 76, use the Metrowerks |ccommand| to access command lines
+@x section 75, use the Metrowerks |ccommand| to access command lines
while (--argc > 0) {
@y
argc = ccommand (&argv); /* use Mac interface to command line */
@^system dependencies@>
while (--argc > 0) {
@z
-@x section 76, use the path separator constant
+@x section 75, use the path separator constant
else if (*s=='/') dot_pos=NULL,name_pos=++s;
@y
else if (*s==PATH_SEP) dot_pos=NULL,name_pos=++s;
diff --git a/web/c_cpp/cweb/comm-os2.ch b/web/c_cpp/cweb/comm-os2.ch
index 2b85f8b1f6..d818863351 100644
--- a/web/c_cpp/cweb/comm-os2.ch
+++ b/web/c_cpp/cweb/comm-os2.ch
@@ -10,13 +10,13 @@ An omitted change file argument means that |"/dev/null"| should be used,
An omitted change file argument means that |"NUL"| should be used,
@z
-@x section 76
+@x section 75
strcpy(change_file_name,"/dev/null");
@y
strcpy(change_file_name,"NUL");
@z
-@x section 76 (this change copied from comm-pc.ch)
+@x section 75 (this change copied from comm-pc.ch)
else if (*s=='/') dot_pos=NULL,name_pos=++s;
@y
else if (*s == ':' || *s == '\\' || *s == '/')
diff --git a/web/c_cpp/cweb/comm-pc.ch b/web/c_cpp/cweb/comm-pc.ch
index 5f7d9c42ff..5a29188ed7 100644
--- a/web/c_cpp/cweb/comm-pc.ch
+++ b/web/c_cpp/cweb/comm-pc.ch
@@ -8,7 +8,7 @@ Note: The change to section 16 is not necessary if using a compiler
that allows >64K arrays.
@x section 16
-@d max_bytes 1000000 /* the number of bytes in identifiers,
+@d max_bytes 90000 /* the number of bytes in identifiers,
@y
@d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
@z
@@ -19,13 +19,13 @@ An omitted change file argument means that |"/dev/null"| should be used,
An omitted change file argument means that |"NUL"| should be used,
@z
-@x section 76
+@x section 75
strcpy(change_file_name,"/dev/null");
@y
strcpy(change_file_name,"NUL");
@z
-@x section 76 (this change copied from comm-bs.ch, July 94)
+@x section 75 (this change copied from comm-bs.ch, July 94)
else if (*s=='/') dot_pos=NULL,name_pos=++s;
@y
else if (*s == ':' || *s == '\\' || *s == '/')
diff --git a/web/c_cpp/cweb/comm-ql.ch b/web/c_cpp/cweb/comm-ql.ch
index c03b9185cb..191fb51f1d 100644
--- a/web/c_cpp/cweb/comm-ql.ch
+++ b/web/c_cpp/cweb/comm-ql.ch
@@ -10,24 +10,24 @@ ex <dev_>cc;'-v -h -c -=500000 -DCWEBINPUTS=flp2_ common_c'
@x
\def\v{\char'174} % vertical (|) in typewriter font
-\def\title{Common code for CTANGLE and CWEAVE (Version 4.2)}
+\def\title{Common code for CTANGLE and CWEAVE (Version 4.6)}
\def\topofcontents{\null\vfill
\centerline{\titlefont Common code for {\ttitlefont CTANGLE} and
{\ttitlefont CWEAVE}}
\vskip 15pt
- \centerline{(Version 4.2)}
+ \centerline{(Version 4.6)}
\vfill}
\def\botofcontents{\vfill
\noindent
@y
\def\v{\char'174} % vertical (|) in typewriter font
-\def\title{Common code for CTANGLE and CWEAVE (QL Version 4.2)}
+\def\title{Common code for CTANGLE and CWEAVE (QL Version 4.6)}
\def\topofcontents{\null\vfill
\centerline{\titlefont Common code for {\ttitlefont CTANGLE} and
{\ttitlefont CWEAVE}}
\vskip 15pt
- \centerline{(Version 4.2)}
+ \centerline{(Version 4.6)}
\vfill}
\def\botofcontents{\vfill
\noindent
@@ -40,7 +40,7 @@ for the file name plus one character as string terminator. (Note that
(current) QDOS/SMSQ file systems have a limitation of 36 characters as
maximum length for a file name.
@x
-@d max_file_name_length 1024
+@d max_file_name_length 60
@y
@d max_file_name_length 42
@z
@@ -148,7 +148,7 @@ the routine as if it would work.
sprintf(web_file_name,"%s.w",*argv);
else {
strcpy(web_file_name,*argv);
- *dot_pos=0; /* string now ends where the dot was */
+ *dot_pos='\0'; /* string now ends where the dot was */
}
sprintf(alt_web_file_name,"%s.web",*argv);
sprintf(tex_file_name,"%s.tex",name_pos); /* strip off directory name */
@@ -166,7 +166,7 @@ the routine as if it would work.
sprintf(web_file_name,"%s_w",*argv);
else {
strcpy(web_file_name,*argv);
- *dot_pos=0; /* string now ends where the dot was */
+ *dot_pos='\0'; /* string now ends where the dot was */
}
sprintf(alt_web_file_name,"%s_web",*argv);
sprintf(tex_file_name,"%s_tex",name_pos); /* strip off directory name */
@@ -219,7 +219,7 @@ the routine as if it would work.
strcpy(tex_file_name,*argv);
strcpy(C_file_name,*argv);
if (make_xrefs) { /* indexes will be generated */
- *dot_pos=0;
+ *dot_pos='\0';
sprintf(idx_file_name,"%s.idx",*argv);
sprintf(scn_file_name,"%s.scn",*argv);
}
@@ -240,7 +240,7 @@ the routine as if it would work.
strcpy(tex_file_name,*argv);
strcpy(C_file_name,*argv);
if (make_xrefs) { /* indexes will be generated */
- *dot_pos=0;
+ *dot_pos='\0';
sprintf(idx_file_name,"%s_idx",*argv);
sprintf(scn_file_name,"%s_scn",*argv);
}
diff --git a/web/c_cpp/cweb/comm-vms.ch b/web/c_cpp/cweb/comm-vms.ch
index caf8ecef79..a5ddc252f3 100644
--- a/web/c_cpp/cweb/comm-vms.ch
+++ b/web/c_cpp/cweb/comm-vms.ch
@@ -18,8 +18,8 @@ modified:
#include <stdbool.h> /* definition of |@!bool|, |@!true| and |@!false| */
#include <stddef.h> /* definition of |@!ptrdiff_t| */
#include <stdint.h> /* definition of |@!uint8_t| and |@!uint16_t| */
-#include <stdlib.h> /* definition of |@!getenv| and |@!exit| */
#include <stdio.h> /* definition of |@!printf| and friends */
+#include <stdlib.h> /* definition of |@!getenv| and |@!exit| */
#include <string.h> /* definition of |@!strlen|, |@!strcmp| and so on */
@y
#include ctype /* definition of |@!isalpha|, |@!isdigit| and so on */
@@ -27,14 +27,14 @@ modified:
#include stdbool /* definition of |@!bool|, |@!true| and |@!false| */
#include stddef /* definition of |@!ptrdiff_t| */
#include stdint /* definition of |@!uint8_t| and |@!uint16_t| */
-#include stdlib /* definition of |@!getenv| and |@!exit| */
#include stdio /* definition of |@!printf| and friends */
+#include stdlib /* definition of |@!getenv| and |@!exit| */
#include string /* definition of |@!strlen|, |@!strcmp| and so on */
@z
@x section 68 (01-FEB-1992 ST)
programs are started. Here, for instance, we pass the operating system
-a status of 0 if and only if only harmless messages were printed.
+a status of |EXIT_SUCCESS| if and only if only harmless messages were printed.
@y
programs are started. Here, for instance, we pass VAX/VMS
a status of |SS$_NORMAL| if and only if only harmless
@@ -67,7 +67,7 @@ An omitted change file argument means that the
null device |"NL:"| should be used, when no changes are desired.
@z
-@x section 76 (1987 BL) (01-FEB-1992 ST) (05-APR-1992 DEK)
+@x section 75 (1987 BL) (01-FEB-1992 ST) (05-APR-1992 DEK)
strcpy(change_file_name,"/dev/null");
@y
strcpy(change_file_name,"NL:");
diff --git a/web/c_cpp/cweb/comm-w32.ch b/web/c_cpp/cweb/comm-w32.ch
index d256cedf12..38c209981a 100644
--- a/web/c_cpp/cweb/comm-w32.ch
+++ b/web/c_cpp/cweb/comm-w32.ch
@@ -52,13 +52,13 @@ An omitted change file argument means that |"/dev/null"| should be used,
An omitted change file argument means that |"NUL"| should be used,
@z
-@x section 76
+@x section 75
strcpy(change_file_name,"/dev/null");
@y
strcpy(change_file_name,"NUL");
@z
-@x section 76 (this change copied from comm-bs.ch, July 94)
+@x section 75 (this change copied from comm-bs.ch, July 94)
else if (*s=='/') dot_pos=NULL,name_pos=++s;
@y
else if (*s == ':' || *s == '\\' || *s == '/')
diff --git a/web/c_cpp/cweb/common.c b/web/c_cpp/cweb/common.c
index 7dd0f0c083..9e77c55f31 100644
--- a/web/c_cpp/cweb/common.c
+++ b/web/c_cpp/cweb/common.c
@@ -1,19 +1,19 @@
/*1:*/
-#line 66 "common.w"
+#line 62 "common.w"
/*3:*/
-#line 46 "common.h"
+#line 44 "common.h"
#include <ctype.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
-#include <stdlib.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
/*:3*/
-#line 67 "common.w"
+#line 63 "common.w"
#define ctangle false
#define cweave true \
@@ -34,16 +34,22 @@
#define period_ast 026
#define minus_gt_ast 027 \
-#define xisalpha(c) (isalpha((eight_bits) c) &&((eight_bits) c<0200) )
-#define xisdigit(c) (isdigit((eight_bits) c) &&((eight_bits) c<0200) )
-#define xisspace(c) (isspace((eight_bits) c) &&((eight_bits) c<0200) )
-#define xislower(c) (islower((eight_bits) c) &&((eight_bits) c<0200) )
-#define xisupper(c) (isupper((eight_bits) c) &&((eight_bits) c<0200) )
-#define xisxdigit(c) (isxdigit((eight_bits) c) &&((eight_bits) c<0200) ) \
+#define compress(c) if(loc++<=limit) return c \
+
+#define xisalpha(c) (isalpha((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xisdigit(c) (isdigit((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xisspace(c) (isspace((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xislower(c) (islower((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xisupper(c) (isupper((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xisxdigit(c) (isxdigit((int) (c) ) &&((eight_bits) (c) <0200) )
+#define isxalpha(c) ((c) =='_'||(c) =='$') \
+
+#define ishigh(c) ((eight_bits) (c) > 0177) \
+ \
#define max_include_depth 10 \
-#define max_file_name_length 1024
+#define max_file_name_length 60
#define cur_file file[include_depth]
#define cur_file_name file_name[include_depth]
#define cur_line line[include_depth]
@@ -51,7 +57,7 @@
#define web_file_name file_name[0] \
#define length(c) (size_t) ((c+1) ->byte_start-(c) ->byte_start)
-#define print_id(c) term_write((c) ->byte_start,length((c) ) )
+#define print_id(c) term_write((c) ->byte_start,length(c) )
#define llink link
#define rlink dummy.Rlink
#define root name_dir->rlink \
@@ -61,55 +67,50 @@
#define harmless_message 1
#define error_message 2
#define fatal_message 3
-#define mark_harmless {if(history==spotless) history= harmless_message;}
+#define mark_harmless if(history==spotless) history= harmless_message
#define mark_error history= error_message
#define confusion(s) fatal("! This can't happen: ",s) \
\
#define show_banner flags['b']
#define show_progress flags['p']
-#define show_stats flags['s']
#define show_happiness flags['h']
+#define show_stats flags['s']
#define make_xrefs flags['x'] \
#define update_terminal fflush(stdout)
#define new_line putchar('\n')
-#define putxchar putchar
-#define term_write(a,b) fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout)
-#define C_printf(c,a) fprintf(C_file,c,a)
-#define C_putc(c) putc(c,C_file) \
+#define term_write(a,b) fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout) \
-#define max_bytes 1000000 \
+#define buf_size 100
+#define longest_name 10000 \
-#define max_toks 1000000
-#define max_names 10239 \
+#define long_buf_size (buf_size+longest_name)
+#define max_bytes 90000 \
-#define max_sections 4000
-#define max_texts 10239
-#define longest_name 10000
-#define stack_size 500
-#define buf_size 1000
-#define long_buf_size (buf_size+longest_name) \
+#define max_names 4000 \
+
+#define max_sections 2000 \
#define lines_dont_match (change_limit-change_buffer!=limit-buffer|| \
-strncmp(buffer,change_buffer,(size_t) (limit-buffer) ) ) \
+strncmp(buffer,change_buffer,(size_t) (limit-buffer) ) !=0) \
-#define if_section_start_make_pending(b) {*limit= '!'; \
+#define if_section_start_make_pending(b) \
+*limit= '!'; \
for(loc= buffer;xisspace(*loc) ;loc++) ; \
*limit= ' '; \
-if(*loc=='@'&&(xisspace(*(loc+1) ) ||*(loc+1) =='*') ) change_pending= b; \
-} \
+if(*loc=='@'&&(xisspace(*(loc+1) ) ||*(loc+1) =='*') ) change_pending= b \
#define too_long() {include_depth--; \
err_print("! Include file name too long") ;goto restart;} \
-#define hash_size 8501 \
+#define hash_size 353 \
#define first_chunk(p) ((p) ->byte_start+2)
-#define prefix_length(p) (int) ((eight_bits) *((p) ->byte_start) *256+ \
+#define prefix_length(p) (size_t) ((eight_bits) *((p) ->byte_start) *256+ \
(eight_bits) *((p) ->byte_start+1) )
-#define set_prefix_length(p,m) (*((p) ->byte_start) = (m) /256, \
-*((p) ->byte_start+1) = (m) %256) \
+#define set_prefix_length(p,m) (*((p) ->byte_start) = (char) ((m) /256) , \
+*((p) ->byte_start+1) = (char) ((m) %256) ) \
#define less 0
#define equal 1
@@ -121,10 +122,10 @@ err_print("! Include file name too long") ;goto restart;} \
#define flag_change (**argv!='-')
-#line 68 "common.w"
+#line 64 "common.w"
/*2:*/
-#line 37 "common.h"
+#line 35 "common.h"
typedef bool boolean;
typedef uint8_t eight_bits;
@@ -141,7 +142,7 @@ extern char*id_first;
extern char*id_loc;
/*:4*//*5:*/
-#line 88 "common.h"
+#line 92 "common.h"
extern char buffer[];
extern char*buffer_end;
@@ -149,7 +150,7 @@ extern char*loc;
extern char*limit;
/*:5*//*6:*/
-#line 105 "common.h"
+#line 109 "common.h"
extern int include_depth;
extern FILE*file[];
@@ -165,7 +166,7 @@ extern boolean changing;
extern boolean web_file_open;
/*:6*//*8:*/
-#line 125 "common.h"
+#line 129 "common.h"
extern sixteen_bits section_count;
extern boolean changed_section[];
@@ -173,7 +174,7 @@ extern boolean change_pending;
extern boolean print_where;
/*:8*//*9:*/
-#line 139 "common.h"
+#line 143 "common.h"
typedef struct name_info{
char*byte_start;
@@ -198,12 +199,12 @@ extern hash_pointer hash_end;
extern hash_pointer h;
/*:9*//*11:*/
-#line 183 "common.h"
+#line 187 "common.h"
extern int history;
/*:11*//*13:*/
-#line 199 "common.h"
+#line 203 "common.h"
extern int argc;
extern char**argv;
@@ -214,7 +215,7 @@ extern char scn_file_name[];
extern boolean flags[];
/*:13*//*14:*/
-#line 215 "common.h"
+#line 217 "common.h"
extern FILE*C_file;
extern FILE*tex_file;
@@ -223,20 +224,20 @@ extern FILE*scn_file;
extern FILE*active_file;
/*:14*/
-#line 69 "common.w"
+#line 65 "common.w"
/*18:*/
-#line 83 "common.w"
+#line 79 "common.w"
boolean program;
/*:18*//*19:*/
-#line 92 "common.w"
+#line 88 "common.w"
int phase;
/*:19*//*21:*/
-#line 130 "common.w"
+#line 126 "common.w"
char section_text[longest_name+1];
char*section_text_end= section_text+longest_name;
@@ -244,7 +245,7 @@ char*id_first;
char*id_loc;
/*:21*//*22:*/
-#line 150 "common.w"
+#line 146 "common.w"
char buffer[long_buf_size];
char*buffer_end= buffer+buf_size-2;
@@ -252,7 +253,7 @@ char*loc= buffer;
char*limit= buffer;
/*:22*//*25:*/
-#line 194 "common.w"
+#line 190 "common.w"
int include_depth;
FILE*file[max_include_depth];
@@ -269,13 +270,13 @@ boolean changing;
boolean web_file_open= false;
/*:25*//*26:*/
-#line 220 "common.w"
+#line 216 "common.w"
static char change_buffer[buf_size];
static char*change_limit;
/*:26*//*37:*/
-#line 399 "common.w"
+#line 393 "common.w"
sixteen_bits section_count;
boolean changed_section[max_sections];
@@ -284,7 +285,7 @@ boolean change_pending;
boolean print_where= false;
/*:37*//*43:*/
-#line 596 "common.w"
+#line 590 "common.w"
char byte_mem[max_bytes];
char*byte_mem_end= byte_mem+max_bytes-1;
@@ -292,25 +293,25 @@ name_info name_dir[max_names];
name_pointer name_dir_end= name_dir+max_names-1;
/*:43*//*44:*/
-#line 607 "common.w"
+#line 601 "common.w"
char*byte_ptr;
name_pointer name_ptr;
/*:44*//*46:*/
-#line 627 "common.w"
+#line 621 "common.w"
name_pointer hash[hash_size];
hash_pointer hash_end= hash+hash_size-1;
hash_pointer h;
/*:46*//*65:*/
-#line 1014 "common.w"
+#line 1003 "common.w"
int history= spotless;
/*:65*//*73:*/
-#line 1135 "common.w"
+#line 1126 "common.w"
int argc;
char**argv;
@@ -321,7 +322,7 @@ char scn_file_name[max_file_name_length];
boolean flags[128];
/*:73*//*83:*/
-#line 1282 "common.w"
+#line 1269 "common.w"
FILE*C_file;
FILE*tex_file;
@@ -330,22 +331,22 @@ FILE*scn_file;
FILE*active_file;
/*:83*/
-#line 70 "common.w"
+#line 66 "common.w"
/*7:*/
-#line 119 "common.h"
+#line 123 "common.h"
extern boolean get_line(void);
extern void check_complete(void);
extern void reset_input(void);
/*:7*//*10:*/
-#line 162 "common.h"
+#line 166 "common.h"
extern boolean names_match(name_pointer,const char*,size_t,eight_bits);
-extern name_pointer id_lookup(const char*,const char*,char);
+extern name_pointer id_lookup(const char*,const char*,eight_bits);
-extern name_pointer section_lookup(char*,char*,int);
+extern name_pointer section_lookup(char*,char*,boolean);
extern void init_node(name_pointer);
extern void init_p(name_pointer,eight_bits);
extern void print_prefix_name(name_pointer);
@@ -353,7 +354,7 @@ extern void print_section_name(name_pointer);
extern void sprint_section_name(char*,name_pointer);
/*:10*//*12:*/
-#line 186 "common.h"
+#line 190 "common.h"
extern int wrap_up(void);
extern void err_print(const char*);
@@ -361,50 +362,50 @@ extern void fatal(const char*,const char*);
extern void overflow(const char*);
/*:12*//*15:*/
-#line 223 "common.h"
+#line 225 "common.h"
extern void common_init(void);
extern void print_stats(void);
/*:15*//*24:*/
-#line 180 "common.w"
+#line 176 "common.w"
static boolean input_ln(FILE*);
/*:24*//*28:*/
-#line 241 "common.w"
+#line 237 "common.w"
static void prime_the_change_buffer(void);
/*:28*//*33:*/
-#line 340 "common.w"
+#line 334 "common.w"
static void check_change(void);
/*:33*//*55:*/
-#line 774 "common.w"
+#line 764 "common.w"
-static int web_strcmp(char*,int,char*,int);
-static name_pointer add_section_name(name_pointer,int,char*,char*,int);
-static void extend_section_name(name_pointer,char*,char*,int);
+static int web_strcmp(char*,size_t,char*,size_t);
+static name_pointer add_section_name(name_pointer,int,char*,char*,boolean);
+static void extend_section_name(name_pointer,char*,char*,boolean);
/*:55*//*64:*/
-#line 1002 "common.w"
-static int section_name_cmp(char**,int,name_pointer);
+#line 991 "common.w"
+static int section_name_cmp(char**,size_t,name_pointer);
/*:64*//*76:*/
-#line 1197 "common.w"
+#line 1186 "common.w"
static void scan_args(void);
/*:76*/
-#line 71 "common.w"
+#line 67 "common.w"
/*:1*//*20:*/
-#line 99 "common.w"
+#line 95 "common.w"
void
common_init(void)
{
/*45:*/
-#line 611 "common.w"
+#line 605 "common.w"
name_dir->byte_start= byte_ptr= byte_mem;
name_ptr= name_dir+1;
@@ -412,24 +413,23 @@ name_ptr->byte_start= byte_mem;
root= NULL;
/*:45*//*47:*/
-#line 634 "common.w"
+#line 628 "common.w"
for(h= hash;h<=hash_end;*h++= NULL);
/*:47*/
-#line 103 "common.w"
+#line 99 "common.w"
/*74:*/
-#line 1148 "common.w"
+#line 1139 "common.w"
show_banner= show_happiness= show_progress= make_xrefs= true;
-show_stats= false;
/*:74*/
-#line 104 "common.w"
+#line 100 "common.w"
/*84:*/
-#line 1289 "common.w"
+#line 1276 "common.w"
scan_args();
if(program==ctangle){
@@ -443,12 +443,12 @@ fatal("! Cannot open output file ",tex_file_name);
}
/*:84*/
-#line 105 "common.w"
+#line 101 "common.w"
}
/*:20*//*23:*/
-#line 160 "common.w"
+#line 156 "common.w"
static boolean input_ln(
FILE*fp)
@@ -470,21 +470,21 @@ return true;
}
/*:23*//*27:*/
-#line 231 "common.w"
+#line 227 "common.w"
static void
prime_the_change_buffer(void)
{
change_limit= change_buffer;
/*29:*/
-#line 247 "common.w"
+#line 243 "common.w"
while(true){
change_line++;
if(!input_ln(change_file))return;
if(limit<buffer+2)continue;
if(buffer[0]!='@')continue;
-if(xisupper(buffer[1]))buffer[1]= tolower((eight_bits)buffer[1]);
+if(xisupper(buffer[1]))buffer[1]= tolower((int)buffer[1]);
if(buffer[1]=='x')break;
if(buffer[1]=='y'||buffer[1]=='z'||buffer[1]=='i'){
loc= buffer+2;
@@ -494,10 +494,10 @@ err_print("! Missing @x in change file");
}
/*:29*/
-#line 236 "common.w"
+#line 232 "common.w"
/*30:*/
-#line 264 "common.w"
+#line 260 "common.w"
do{
change_line++;
@@ -509,23 +509,21 @@ return;
}while(limit==buffer);
/*:30*/
-#line 237 "common.w"
+#line 233 "common.w"
/*31:*/
-#line 274 "common.w"
+#line 270 "common.w"
-{
change_limit= change_buffer+(ptrdiff_t)(limit-buffer);
strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
-}
/*:31*/
-#line 238 "common.w"
+#line 234 "common.w"
}
/*:27*//*32:*/
-#line 302 "common.w"
+#line 296 "common.w"
static void
check_change(void)
@@ -538,7 +536,7 @@ if_section_start_make_pending(true);
if(!change_pending)changed_section[section_count]= true;
}
while(true){
-changing= true;print_where= true;change_line++;
+changing= print_where= true;change_line++;
if(!input_ln(change_file)){
err_print("! Change file ended before @y");
@@ -546,9 +544,9 @@ change_limit= change_buffer;changing= false;
return;
}
if(limit> buffer+1&&buffer[0]=='@'){
-char xyz_code= xisupper(buffer[1])?tolower((eight_bits)buffer[1]):buffer[1];
+char xyz_code= xisupper(buffer[1])?tolower((int)buffer[1]):buffer[1];
/*34:*/
-#line 342 "common.w"
+#line 336 "common.w"
if(xyz_code=='x'||xyz_code=='z'){
loc= buffer+2;err_print("! Where is the matching @y?");
@@ -566,19 +564,17 @@ return;
}
/*:34*/
-#line 324 "common.w"
+#line 318 "common.w"
}
/*31:*/
-#line 274 "common.w"
+#line 270 "common.w"
-{
change_limit= change_buffer+(ptrdiff_t)(limit-buffer);
strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
-}
/*:31*/
-#line 326 "common.w"
+#line 320 "common.w"
changing= false;cur_line++;
while(!input_ln(cur_file)){
@@ -594,14 +590,14 @@ if(lines_dont_match)n++;
}
/*:32*//*35:*/
-#line 362 "common.w"
+#line 356 "common.w"
void
reset_input(void)
{
limit= buffer;loc= buffer+1;buffer[0]= ' ';
/*36:*/
-#line 377 "common.w"
+#line 371 "common.w"
if((web_file= fopen(web_file_name,"r"))==NULL){
strcpy(web_file_name,alt_web_file_name);
@@ -615,23 +611,23 @@ if((change_file= fopen(change_file_name,"r"))==NULL)
fatal("! Cannot open change file ",change_file_name);
/*:36*/
-#line 367 "common.w"
+#line 361 "common.w"
-include_depth= 0;cur_line= 0;change_line= 0;
+include_depth= cur_line= change_line= 0;
change_depth= include_depth;
-changing= 1;prime_the_change_buffer();changing= !changing;
+changing= true;prime_the_change_buffer();changing= !changing;
limit= buffer;loc= buffer+1;buffer[0]= ' ';input_has_ended= false;
}
/*:35*//*38:*/
-#line 406 "common.w"
+#line 400 "common.w"
boolean get_line(void)
{
restart:
if(changing&&include_depth==change_depth)
/*41:*/
-#line 514 "common.w"
+#line 508 "common.w"
{
change_line++;
if(!input_ln(change_file)){
@@ -648,7 +644,7 @@ changed_section[section_count]= true;change_pending= false;
}
*limit= ' ';
if(buffer[0]=='@'){
-if(xisupper(buffer[1]))buffer[1]= tolower((eight_bits)buffer[1]);
+if(xisupper(buffer[1]))buffer[1]= tolower((int)buffer[1]);
if(buffer[1]=='x'||buffer[1]=='y'){
loc= buffer+2;
err_print("! Where is the matching @z?");
@@ -662,11 +658,11 @@ prime_the_change_buffer();changing= !changing;print_where= true;
}
/*:41*/
-#line 411 "common.w"
+#line 405 "common.w"
if(!changing||include_depth> change_depth){
/*40:*/
-#line 497 "common.w"
+#line 491 "common.w"
{
cur_line++;
while(!input_ln(cur_file)){
@@ -685,7 +681,7 @@ if(change_limit> change_buffer)check_change();
}
/*:40*/
-#line 413 "common.w"
+#line 407 "common.w"
if(changing&&include_depth==change_depth)goto restart;
}
@@ -706,12 +702,12 @@ goto restart;
}
include_depth++;
/*39:*/
-#line 451 "common.w"
+#line 445 "common.w"
{
char temp_file_name[max_file_name_length];
char*cur_file_name_end= cur_file_name+max_file_name_length-1;
-char*k= cur_file_name,*kk;
-int l;
+char*kk,*k= cur_file_name;
+size_t l;
if(*loc=='"'){
loc++;
@@ -726,8 +722,8 @@ if((cur_file= fopen(cur_file_name,"r"))!=NULL){
cur_line= 0;print_where= true;
goto restart;
}
-kk= getenv("CWEBINPUTS");
-if(kk!=NULL){
+if((kk= getenv("CWEBINPUTS"))!=NULL){
+
if((l= strlen(kk))> max_file_name_length-2)too_long();
strcpy(temp_file_name,kk);
}
@@ -754,14 +750,14 @@ include_depth--;err_print("! Cannot open include file");goto restart;
}
/*:39*/
-#line 432 "common.w"
+#line 426 "common.w"
}
return true;
}
/*:38*//*42:*/
-#line 546 "common.w"
+#line 540 "common.w"
void
check_complete(void){
@@ -775,32 +771,32 @@ err_print("! Change file entry did not match");
}
/*:42*//*48:*/
-#line 639 "common.w"
+#line 633 "common.w"
name_pointer
id_lookup(
const char*first,
const char*last,
-char t)
+eight_bits t)
{
const char*i= first;
int h;
-int l;
+size_t l;
name_pointer p;
if(last==NULL)for(last= first;*last!='\0';last++);
-l= (int)(last-first);
+l= (size_t)(last-first);
/*49:*/
-#line 662 "common.w"
+#line 656 "common.w"
-h= (eight_bits)*i;
+h= (int)((eight_bits)*i);
while(++i<last)h= (h+h+(int)((eight_bits)*i))%hash_size;
/*:49*/
-#line 652 "common.w"
+#line 646 "common.w"
/*50:*/
-#line 670 "common.w"
+#line 664 "common.w"
p= hash[h];
while(p&&!names_match(p,first,l,t))p= p->link;
@@ -810,10 +806,10 @@ p->link= hash[h];hash[h]= p;
}
/*:50*/
-#line 653 "common.w"
+#line 647 "common.w"
if(p==name_ptr)/*51:*/
-#line 681 "common.w"
+#line 676 "common.w"
{
if(byte_ptr+l> byte_mem_end)overflow("byte memory");
if(name_ptr>=name_dir_end)overflow("name");
@@ -823,13 +819,13 @@ init_p(p,t);
}
/*:51*/
-#line 654 "common.w"
+#line 648 "common.w"
return p;
}
/*:48*//*52:*/
-#line 713 "common.w"
+#line 708 "common.w"
void
print_section_name(
@@ -839,18 +835,16 @@ char*ss,*s= first_chunk(p);
name_pointer q= p+1;
while(p!=name_dir){
ss= (p+1)->byte_start-1;
-if(*ss==' '&&ss>=s){
-term_write(s,(size_t)(ss-s));p= q->link;q= p;
-}else{
-term_write(s,(size_t)(ss+1-s));p= name_dir;q= NULL;
-}
+if(*ss==' '&&ss>=s)p= q->link,q= p;
+else ss++,p= name_dir,q= NULL;
+term_write(s,(size_t)(ss-s));
s= p->byte_start;
}
if(q)term_write("...",3);
}
/*:52*//*53:*/
-#line 732 "common.w"
+#line 725 "common.w"
void
sprint_section_name(
@@ -861,11 +855,8 @@ char*ss,*s= first_chunk(p);
name_pointer q= p+1;
while(p!=name_dir){
ss= (p+1)->byte_start-1;
-if(*ss==' '&&ss>=s){
-p= q->link;q= p;
-}else{
-ss++;p= name_dir;
-}
+if(*ss==' '&&ss>=s)p= q->link,q= p;
+else ss++,p= name_dir;
strncpy(dest,s,(size_t)(ss-s)),dest+= ss-s;
s= p->byte_start;
}
@@ -873,26 +864,26 @@ s= p->byte_start;
}
/*:53*//*54:*/
-#line 753 "common.w"
+#line 743 "common.w"
void
print_prefix_name(
name_pointer p)
{
char*s= first_chunk(p);
-int l= prefix_length(p);
+size_t l= prefix_length(p);
term_write(s,l);
if(s+l<(p+1)->byte_start)term_write("...",3);
}
/*:54*//*56:*/
-#line 779 "common.w"
+#line 769 "common.w"
static int web_strcmp(
char*j,
-int j_len,
+size_t j_len,
char*k,
-int k_len)
+size_t k_len)
{
char*j1= j+j_len,*k1= k+k_len;
while(k<k1&&j<j1&&*j==*k)k++,j++;
@@ -904,7 +895,7 @@ else return greater;
}
/*:56*//*57:*/
-#line 808 "common.w"
+#line 798 "common.w"
static name_pointer
add_section_name(
@@ -912,11 +903,11 @@ name_pointer par,
int c,
char*first,
char*last,
-int ispref)
+boolean ispref)
{
name_pointer p= name_ptr;
char*s= first_chunk(p);
-int name_len= (int)(last-first)+ispref;
+size_t name_len= (size_t)(last-first+(int)ispref);
if(s+name_len> byte_mem_end)overflow("byte memory");
if(name_ptr+1>=name_dir_end)overflow("name");
(++name_ptr)->byte_start= byte_ptr= s+name_len;
@@ -928,25 +919,24 @@ name_ptr->link= name_dir;
}
set_prefix_length(p,name_len);
strncpy(s,first,name_len);
-p->llink= NULL;
-p->rlink= NULL;
+p->llink= p->rlink= NULL;
init_node(p);
return par==NULL?(root= p):c==less?(par->llink= p):(par->rlink= p);
}
/*:57*//*58:*/
-#line 837 "common.w"
+#line 826 "common.w"
static void
extend_section_name(
name_pointer p,
char*first,
char*last,
-int ispref)
+boolean ispref)
{
char*s;
name_pointer q= p+1;
-int name_len= (int)(last-first)+ispref;
+size_t name_len= (size_t)(last-first+(int)ispref);
if(name_ptr>=name_dir_end)overflow("name");
while(q->link!=name_dir)q= q->link;
q->link= name_ptr;
@@ -959,22 +949,22 @@ if(ispref)*(byte_ptr-1)= ' ';
}
/*:58*//*59:*/
-#line 865 "common.w"
+#line 854 "common.w"
name_pointer
section_lookup(
char*first,char*last,
-int ispref)
+boolean ispref)
{
-int c= 0;
+int c= less;
name_pointer p= root;
name_pointer q= NULL;
name_pointer r= NULL;
name_pointer par= NULL;
-int name_len= (int)(last-first)+1;
+size_t name_len= (size_t)(last-first+1);
/*60:*/
-#line 889 "common.w"
+#line 878 "common.w"
while(p){
c= web_strcmp(first,name_len,first_chunk(p),prefix_length(p));
@@ -1001,19 +991,19 @@ p= q,q= NULL;
}
/*:60*/
-#line 879 "common.w"
+#line 868 "common.w"
/*61:*/
-#line 914 "common.w"
+#line 903 "common.w"
if(r==NULL)
return add_section_name(par,c,first,last+1,ispref);
/*:61*/
-#line 880 "common.w"
+#line 869 "common.w"
/*62:*/
-#line 922 "common.w"
+#line 911 "common.w"
switch(section_name_cmp(&first,name_len,r)){
@@ -1026,16 +1016,16 @@ err_print(">");
}
else if(name_len<prefix_length(r))set_prefix_length(r,name_len);
-case equal:return r;
+case equal:break;
case extension:if(!ispref||first<=last)
extend_section_name(r,first,last+1,ispref);
-return r;
+break;
case bad_extension:
fputs("\n! New name extends <",stdout);
print_section_name(r);
err_print(">");
-return r;
+break;
default:
fputs("\n! Section name incompatible with <",stdout);
@@ -1043,32 +1033,32 @@ print_prefix_name(r);
fputs(">,\n which abbreviates <",stdout);
print_section_name(r);
err_print(">");
-return r;
}
+return r;
/*:62*/
-#line 881 "common.w"
+#line 870 "common.w"
}
/*:59*//*63:*/
-#line 970 "common.w"
+#line 959 "common.w"
static int section_name_cmp(
char**pfirst,
-int len,
+size_t len,
name_pointer r)
{
char*first= *pfirst;
name_pointer q= r+1;
char*ss,*s= first_chunk(r);
-int c;
-int ispref;
+int c= less;
+boolean ispref;
while(true){
ss= (r+1)->byte_start-1;
-if(*ss==' '&&ss>=r->byte_start)ispref= 1,q= q->link;
-else ispref= 0,ss++,q= name_dir;
-switch(c= web_strcmp(first,len,s,ss-s)){
+if(*ss==' '&&ss>=r->byte_start)ispref= true,q= q->link;
+else ispref= false,ss++,q= name_dir;
+switch(c= web_strcmp(first,len,s,(size_t)(ss-s))){
case equal:if(q==name_dir)
if(ispref){
*pfirst= first+(ptrdiff_t)(ss-s);
@@ -1086,18 +1076,18 @@ default:return c;
}
/*:63*//*66:*/
-#line 1024 "common.w"
+#line 1013 "common.w"
void
err_print(
const char*s)
{
-char*k,*l;
-printf(*s=='!'?"\n%s":"%s",s);
+*s=='!'?printf("\n%s",s):printf("%s",s);
if(web_file_open)/*67:*/
-#line 1044 "common.w"
+#line 1032 "common.w"
-{if(changing&&include_depth==change_depth)
+{char*k,*l;
+if(changing&&include_depth==change_depth)
printf(". (l. %d of change file)\n",change_line);
else if(include_depth==0)printf(". (l. %d)\n",cur_line);
else printf(". (l. %d of include file %s)\n",cur_line,cur_file_name);
@@ -1106,7 +1096,7 @@ if(l> buffer){
for(k= buffer;k<l;k++)
if(*k=='\t')putchar(' ');
else putchar(*k);
-putchar('\n');
+new_line;
for(k= buffer;k<l;k++)putchar(' ');
}
for(k= l;k<limit;k++)putchar(*k);
@@ -1115,39 +1105,41 @@ putchar(' ');
}
/*:67*/
-#line 1031 "common.w"
+#line 1019 "common.w"
update_terminal;mark_error;
}
/*:66*//*68:*/
-#line 1076 "common.w"
+#line 1065 "common.w"
int wrap_up(void){
if(show_progress)new_line;
if(show_stats)
print_stats();
/*69:*/
-#line 1086 "common.w"
+#line 1075 "common.w"
switch(history){
-case spotless:if(show_happiness)puts("(No errors were found.)");break;
+case spotless:
+if(show_happiness)puts("(No errors were found.)");break;
case harmless_message:
puts("(Did you see the warning message above?)");break;
case error_message:
puts("(Pardon me, but I think I spotted something wrong.)");break;
-case fatal_message:puts("(That was a fatal error, my friend.)");
+case fatal_message:default:
+puts("(That was a fatal error, my friend.)");
}
/*:69*/
-#line 1081 "common.w"
+#line 1070 "common.w"
if(history> harmless_message)return EXIT_FAILURE;
else return EXIT_SUCCESS;
}
/*:68*//*70:*/
-#line 1102 "common.w"
+#line 1093 "common.w"
void
fatal(
const char*s,const char*t)
@@ -1158,7 +1150,7 @@ history= fatal_message;exit(wrap_up());
}
/*:70*//*71:*/
-#line 1113 "common.w"
+#line 1104 "common.w"
void
overflow(
const char*t)
@@ -1168,7 +1160,7 @@ printf("\n! Sorry, %s capacity exceeded",t);fatal("","");
/*:71*//*75:*/
-#line 1167 "common.w"
+#line 1157 "common.w"
static void
scan_args(void)
@@ -1182,41 +1174,38 @@ boolean found_web= false,found_change= false,found_out= false;
strcpy(change_file_name,"/dev/null");
while(--argc> 0){
if((**(++argv)=='-'||**argv=='+')&&*(*argv+1))/*80:*/
-#line 1258 "common.w"
+#line 1247 "common.w"
-{
for(dot_pos= *argv+1;*dot_pos> '\0';dot_pos++)
flags[(eight_bits)*dot_pos]= flag_change;
-}
/*:80*/
-#line 1179 "common.w"
+#line 1169 "common.w"
else{
s= name_pos= *argv;dot_pos= NULL;
-while(*s){
+while(*s)
if(*s=='.')dot_pos= s++;
else if(*s=='/')dot_pos= NULL,name_pos= ++s;
else s++;
-}
if(!found_web)/*77:*/
-#line 1206 "common.w"
+#line 1195 "common.w"
{
if(s-*argv> max_file_name_length-5)
/*82:*/
-#line 1276 "common.w"
+#line 1263 "common.w"
fatal("! Filename too long\n",*argv);
/*:82*/
-#line 1209 "common.w"
+#line 1198 "common.w"
if(dot_pos==NULL)
sprintf(web_file_name,"%s.w",*argv);
else{
strcpy(web_file_name,*argv);
-*dot_pos= 0;
+*dot_pos= '\0';
}
sprintf(alt_web_file_name,"%s.web",*argv);
sprintf(tex_file_name,"%s.tex",name_pos);
@@ -1227,21 +1216,21 @@ found_web= true;
}
/*:77*/
-#line 1188 "common.w"
+#line 1177 "common.w"
else if(!found_change)/*78:*/
-#line 1224 "common.w"
+#line 1213 "common.w"
{
if(strcmp(*argv,"-")!=0){
if(s-*argv> max_file_name_length-4)
/*82:*/
-#line 1276 "common.w"
+#line 1263 "common.w"
fatal("! Filename too long\n",*argv);
/*:82*/
-#line 1228 "common.w"
+#line 1217 "common.w"
if(dot_pos==NULL)
sprintf(change_file_name,"%s.ch",*argv);
@@ -1251,20 +1240,20 @@ found_change= true;
}
/*:78*/
-#line 1189 "common.w"
+#line 1178 "common.w"
else if(!found_out)/*79:*/
-#line 1236 "common.w"
+#line 1225 "common.w"
{
if(s-*argv> max_file_name_length-5)
/*82:*/
-#line 1276 "common.w"
+#line 1263 "common.w"
fatal("! Filename too long\n",*argv);
/*:82*/
-#line 1239 "common.w"
+#line 1228 "common.w"
if(dot_pos==NULL){
sprintf(tex_file_name,"%s.tex",*argv);
@@ -1275,7 +1264,7 @@ sprintf(C_file_name,"%s.c",*argv);
strcpy(tex_file_name,*argv);
strcpy(C_file_name,*argv);
if(make_xrefs){
-*dot_pos= 0;
+*dot_pos= '\0';
sprintf(idx_file_name,"%s.idx",*argv);
sprintf(scn_file_name,"%s.scn",*argv);
}
@@ -1284,10 +1273,10 @@ found_out= true;
}
/*:79*/
-#line 1190 "common.w"
+#line 1179 "common.w"
else/*81:*/
-#line 1264 "common.w"
+#line 1251 "common.w"
{
if(program==ctangle)
@@ -1301,12 +1290,12 @@ else fatal(
}
/*:81*/
-#line 1191 "common.w"
+#line 1180 "common.w"
}
}
if(!found_web)/*81:*/
-#line 1264 "common.w"
+#line 1251 "common.w"
{
if(program==ctangle)
@@ -1320,7 +1309,7 @@ else fatal(
}
/*:81*/
-#line 1194 "common.w"
+#line 1183 "common.w"
}
diff --git a/web/c_cpp/cweb/common.h b/web/c_cpp/cweb/common.h
index 425239f1c7..2a584ff442 100644
--- a/web/c_cpp/cweb/common.h
+++ b/web/c_cpp/cweb/common.h
@@ -2,7 +2,7 @@
% This program by Silvio Levy and Donald E. Knuth
% is based on a program by Knuth.
% It is distributed WITHOUT ANY WARRANTY, express or implied.
-% Version 4.2 --- February 2021 (works also with later versions)
+% Version 4.6 --- December 2021 (works also with later versions)
% Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth
@@ -12,8 +12,8 @@
% Permission is granted to copy and distribute modified versions of this
% document under the conditions for verbatim copying, provided that the
-% entire resulting derived work is distributed under the terms of a
-% permission notice identical to this one.
+% entire resulting derived work is given a different name and distributed
+% under the terms of a permission notice identical to this one.
% Amendments to 'common.h' resulting in this updated version were created
% by numerous collaborators over the course of many years.
@@ -27,9 +27,7 @@
First comes general stuff:
-@s boolean int
-@s uint8_t int
-@s uint16_t int
+@i iso_types.w
@d ctangle false
@d cweave true
@@ -48,28 +46,30 @@ extern int phase; /* which phase are we in? */
#include <stdbool.h> /* definition of |@!bool|, |@!true| and |@!false| */
#include <stddef.h> /* definition of |@!ptrdiff_t| */
#include <stdint.h> /* definition of |@!uint8_t| and |@!uint16_t| */
-#include <stdlib.h> /* definition of |@!getenv| and |@!exit| */
#include <stdio.h> /* definition of |@!printf| and friends */
+#include <stdlib.h> /* definition of |@!getenv| and |@!exit| */
#include <string.h> /* definition of |@!strlen|, |@!strcmp| and so on */
@ Code related to the character set:
@^ASCII code dependencies@>
@d and_and 04 /* `\.{\&\&}'\,; corresponds to MIT's {\tentex\char'4} */
-@d lt_lt 020 /* `\.{<<}'\,; corresponds to MIT's {\tentex\char'20} */
-@d gt_gt 021 /* `\.{>>}'\,; corresponds to MIT's {\tentex\char'21} */
-@d plus_plus 013 /* `\.{++}'\,; corresponds to MIT's {\tentex\char'13} */
-@d minus_minus 01 /* `\.{--}'\,; corresponds to MIT's {\tentex\char'1} */
-@d minus_gt 031 /* `\.{->}'\,; corresponds to MIT's {\tentex\char'31} */
-@d non_eq 032 /* `\.{!=}'\,; corresponds to MIT's {\tentex\char'32} */
-@d lt_eq 034 /* `\.{<=}'\,; corresponds to MIT's {\tentex\char'34} */
-@d gt_eq 035 /* `\.{>=}'\,; corresponds to MIT's {\tentex\char'35} */
-@d eq_eq 036 /* `\.{==}'\,; corresponds to MIT's {\tentex\char'36} */
-@d or_or 037 /* `\.{\v\v}'\,; corresponds to MIT's {\tentex\char'37} */
-@d dot_dot_dot 016 /* `\.{...}'\,; corresponds to MIT's {\tentex\char'16} */
-@d colon_colon 06 /* `\.{::}'\,; corresponds to MIT's {\tentex\char'6} */
-@d period_ast 026 /* `\.{.*}'\,; corresponds to MIT's {\tentex\char'26} */
-@d minus_gt_ast 027 /* `\.{->*}'\,; corresponds to MIT's {\tentex\char'27} */
+@d lt_lt 020 /* `\.{<<}'\,; corresponds to MIT's {\tentex\char'20} */
+@d gt_gt 021 /* `\.{>>}'\,; corresponds to MIT's {\tentex\char'21} */
+@d plus_plus 013 /* `\.{++}'\,; corresponds to MIT's {\tentex\char'13} */
+@d minus_minus 01 /* `\.{--}'\,; corresponds to MIT's {\tentex\char'1} */
+@d minus_gt 031 /* `\.{->}'\,; corresponds to MIT's {\tentex\char'31} */
+@d non_eq 032 /* `\.{!=}'\,; corresponds to MIT's {\tentex\char'32} */
+@d lt_eq 034 /* `\.{<=}'\,; corresponds to MIT's {\tentex\char'34} */
+@d gt_eq 035 /* `\.{>=}'\,; corresponds to MIT's {\tentex\char'35} */
+@d eq_eq 036 /* `\.{==}'\,; corresponds to MIT's {\tentex\char'36} */
+@d or_or 037 /* `\.{\v\v}'\,; corresponds to MIT's {\tentex\char'37} */
+@d dot_dot_dot 016 /* `\.{...}'\,; corresponds to MIT's {\tentex\char'16} */
+@d colon_colon 06 /* `\.{::}'\,; corresponds to MIT's {\tentex\char'6} */
+@d period_ast 026 /* `\.{.*}'\,; corresponds to MIT's {\tentex\char'26} */
+@d minus_gt_ast 027 /* `\.{->*}'\,; corresponds to MIT's {\tentex\char'27} */
+@#
+@d compress(c) if (loc++<=limit) return c
@<Common code...@>=
extern char section_text[]; /* text being sought for */
@@ -78,12 +78,16 @@ extern char *id_first; /* where the current identifier begins in the buffer */
extern char *id_loc; /* just after the current identifier in the buffer */
@ Code related to input routines:
-@d xisalpha(c) (isalpha((eight_bits)c)&&((eight_bits)c<0200))
-@d xisdigit(c) (isdigit((eight_bits)c)&&((eight_bits)c<0200))
-@d xisspace(c) (isspace((eight_bits)c)&&((eight_bits)c<0200))
-@d xislower(c) (islower((eight_bits)c)&&((eight_bits)c<0200))
-@d xisupper(c) (isupper((eight_bits)c)&&((eight_bits)c<0200))
-@d xisxdigit(c) (isxdigit((eight_bits)c)&&((eight_bits)c<0200))
+@d xisalpha(c) (isalpha((int)(c))&&((eight_bits)(c)<0200))
+@d xisdigit(c) (isdigit((int)(c))&&((eight_bits)(c)<0200))
+@d xisspace(c) (isspace((int)(c))&&((eight_bits)(c)<0200))
+@d xislower(c) (islower((int)(c))&&((eight_bits)(c)<0200))
+@d xisupper(c) (isupper((int)(c))&&((eight_bits)(c)<0200))
+@d xisxdigit(c) (isxdigit((int)(c))&&((eight_bits)(c)<0200))
+@d isxalpha(c) ((c)=='_' || (c)=='$')
+ /* non-alpha characters allowed in identifier */
+@d ishigh(c) ((eight_bits)(c)>0177)
+@^high-bit character handling@>
@<Common code...@>=
extern char buffer[]; /* where each line of input goes */
@@ -95,7 +99,7 @@ extern char *limit; /* points to the last character in the buffer */
@f line x /* make |line| an unreserved word */
@d max_include_depth 10 /* maximum number of source files open
simultaneously, not counting the change file */
-@d max_file_name_length 1024
+@d max_file_name_length 60
@d cur_file file[include_depth] /* current file */
@d cur_file_name file_name[include_depth] /* current file name */
@d cur_line line[include_depth] /* number of current line in current file */
@@ -130,7 +134,7 @@ extern boolean print_where; /* tells \.{CTANGLE} to print line and file info */
@ Code related to identifier and section name storage:
@d length(c) (size_t)((c+1)->byte_start-(c)->byte_start) /* the length of a name */
-@d print_id(c) term_write((c)->byte_start,length((c))) /* print identifier */
+@d print_id(c) term_write((c)->byte_start,length(c)) /* print identifier */
@d llink link /* left link in binary search tree for section names */
@d rlink dummy.Rlink /* right link in binary search tree for section names */
@d root name_dir->rlink /* the root of the binary search tree
@@ -161,9 +165,9 @@ extern hash_pointer h; /* index into hash-head array */
@ @<Predecl...@>=
extern boolean names_match(name_pointer,const char *,size_t,eight_bits);@/
-extern name_pointer id_lookup(const char *,const char *,char);
+extern name_pointer id_lookup(const char *,const char *,eight_bits);
/* looks up a string in the identifier table */
-extern name_pointer section_lookup(char *,char *,int); /* finds section name */
+extern name_pointer section_lookup(char *,char *,boolean); /* finds section name */
extern void init_node(name_pointer);@/
extern void init_p(name_pointer,eight_bits);@/
extern void print_prefix_name(name_pointer);@/
@@ -175,7 +179,7 @@ extern void sprint_section_name(char *,name_pointer);
@d harmless_message 1 /* |history| value when non-serious info was printed */
@d error_message 2 /* |history| value when an error was noted */
@d fatal_message 3 /* |history| value when we had to stop prematurely */
-@d mark_harmless {if (history==spotless) history=harmless_message;}
+@d mark_harmless if (history==spotless) history=harmless_message
@d mark_error history=error_message
@d confusion(s) fatal("! This can't happen: ",s)
@.This can't happen@>
@@ -192,8 +196,8 @@ extern void overflow(const char *); /* succumb because a table has overflowed */
@ Code related to command line arguments:
@d show_banner flags['b'] /* should the banner line be printed? */
@d show_progress flags['p'] /* should progress reports be printed? */
-@d show_stats flags['s'] /* should statistics be printed at end of run? */
@d show_happiness flags['h'] /* should lack of errors be announced? */
+@d show_stats flags['s'] /* should statistics be printed at end of run? */
@d make_xrefs flags['x'] /* should cross references be output? */
@<Common code...@>=
@@ -207,10 +211,8 @@ extern boolean flags[]; /* an option for each 7-bit code */
@ Code related to output:
@d update_terminal fflush(stdout) /* empty the terminal output buffer */
-@d new_line putchar('\n') @d putxchar putchar
+@d new_line putchar('\n')
@d term_write(a,b) fflush(stdout),fwrite(a,sizeof(char),b,stdout)
-@d C_printf(c,a) fprintf(C_file,c,a)
-@d C_putc(c) putc(c,C_file) /* isn't \CEE/ wonderfully consistent? */
@<Common code...@>=
extern FILE *C_file; /* where output of \.{CTANGLE} goes */
@@ -228,16 +230,14 @@ extern void print_stats(void);
handle \TEX/, so they should be sufficient for most applications of
\.{CWEB}.
-@d max_bytes 1000000 /* the number of bytes in identifiers,
- index entries, and section names */
-@d max_toks 1000000 /* number of bytes in compressed \CEE/ code */
-@d max_names 10239 /* number of identifiers, strings, section names;
- must be less than 10240 */
-@d max_sections 4000 /* greater than the total number of sections */
-@d max_texts 10239 /* number of replacement texts, must be less than 10240 */
-@d longest_name 10000 /* file and section names and section texts shouldn't be longer than this */
-@d stack_size 500 /* number of simultaneous levels of macro expansion */
-@d buf_size 1000 /* maximum length of input line, plus one */
+@d buf_size 100 /* maximum length of input line, plus one */
+@d longest_name 10000 /* file names, section names, and section texts
+ shouldn't be longer than this */
@d long_buf_size (buf_size+longest_name) /* for \.{CWEAVE} */
+@d max_bytes 90000 /* the number of bytes in identifiers,
+ index entries, and section names; must be less than $2^{24}$ */
+@d max_names 4000 /* number of identifiers, strings, section names;
+ must be less than 10240 */
+@d max_sections 2000 /* greater than the total number of sections */
@ End of \.{COMMON} interface.
diff --git a/web/c_cpp/cweb/common.w b/web/c_cpp/cweb/common.w
index 15e93c2c5e..36f35f3cbc 100644
--- a/web/c_cpp/cweb/common.w
+++ b/web/c_cpp/cweb/common.w
@@ -2,7 +2,7 @@
% This program by Silvio Levy and Donald E. Knuth
% is based on a program by Knuth.
% It is distributed WITHOUT ANY WARRANTY, express or implied.
-% Version 4.2 --- February 2021
+% Version 4.6 --- December 2021
% Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth
@@ -22,12 +22,12 @@
\def\v{\char'174} % vertical (|) in typewriter font
-\def\title{Common code for CTANGLE and CWEAVE (Version 4.2)}
+\def\title{Common code for CTANGLE and CWEAVE (Version 4.6)}
\def\topofcontents{\null\vfill
\centerline{\titlefont Common code for {\ttitlefont CTANGLE} and
{\ttitlefont CWEAVE}}
\vskip 15pt
- \centerline{(Version 4.2)}
+ \centerline{(Version 4.6)}
\vfill}
\def\botofcontents{\vfill
\noindent
@@ -47,10 +47,6 @@ under the terms of a permission notice identical to this one.
\pageno=\contentspagenumber \advance\pageno by 1
\let\maybe=\iftrue
-@s boolean int
-@s uint8_t int
-@s uint16_t int
-
@** Introduction. This file contains code common
to both \.{CTANGLE} and \.{CWEAVE}, which roughly concerns the following
problems: character uniformity, input routines, error handling and
@@ -158,13 +154,13 @@ support |feof|, |getc|, and |ungetc| you may have to change things here.
@^system dependencies@>
@c
-static boolean input_ln(@t\1\1@> /* copies a line into |buffer| or returns |false| */
-FILE *fp@t\2\2@>) /* what file to read from */
+static boolean input_ln( /* copies a line into |buffer| or returns |false| */
+FILE *fp) /* what file to read from */
{
- register int c=EOF; /* character read; initialized so some compilers won't complain */
- register char *k; /* where next character goes */
- if (feof(fp)) return false; /* we have hit end-of-file */
- limit = k = buffer; /* beginning of buffer */
+ register int c=EOF; /* character read; initialized so some compilers won't complain */
+ register char *k; /* where next character goes */
+ if (feof(fp)) return false; /* we have hit end-of-file */
+ limit = k = buffer; /* beginning of buffer */
while (k<=buffer_end && (c=getc(fp)) != EOF && c!='\n')
if ((*(k++) = c) != ' ') limit = k;
if (k>buffer_end)
@@ -172,7 +168,7 @@ FILE *fp@t\2\2@>) /* what file to read from */
ungetc(c,fp); loc=buffer; err_print("! Input line too long");
@.Input line too long@>
}
- if (c==EOF && limit==buffer) return false; /* there was nothing after
+ if (c==EOF && limit==buffer) return false; /* there was nothing after
the last newline */
return true;
}
@@ -182,7 +178,7 @@ FILE *fp@t\2\2@>) /* what file to read from */
@ Now comes the problem of deciding which file to read from next.
Recall that the actual text that \.{CWEB} should process comes from two
streams: a |web_file|, which can contain possibly nested include
-commands \.{@@i}, and a |change_file|, which might also contain
+commands~\.{@@i}, and a |change_file|, which might also contain
includes. The |web_file| together with the currently open include
files form a stack |file|, whose names are stored in a parallel stack
|file_name|. The boolean |changing| tells whether or not we're reading
@@ -214,8 +210,8 @@ so that no further matches will be made.
Here's a shorthand expression for inequality between the two lines:
-@d lines_dont_match (change_limit-change_buffer != limit-buffer || @|
- strncmp(buffer, change_buffer, (size_t)(limit-buffer)))
+@d lines_dont_match (change_limit-change_buffer != limit-buffer @| ||
+ strncmp(buffer, change_buffer, (size_t)(limit-buffer)) != 0)
@<Global var...@>=
static char change_buffer[buf_size]; /* next line of |change_file| */
@@ -250,7 +246,7 @@ while(true) {
if (!input_ln(change_file)) return;
if (limit<buffer+2) continue;
if (buffer[0]!='@@') continue;
- if (xisupper(buffer[1])) buffer[1]=tolower((eight_bits)buffer[1]);
+ if (xisupper(buffer[1])) buffer[1]=tolower((int)buffer[1]);
if (buffer[1]=='x') break;
if (buffer[1]=='y' || buffer[1]=='z' || buffer[1]=='i') {
loc=buffer+2;
@@ -272,10 +268,8 @@ do {
} while (limit==buffer);
@ @<Move |buffer| and |limit| to |change_buffer| and |change_limit|@>=
-{
- change_limit=change_buffer+(ptrdiff_t)(limit-buffer);
- strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
-}
+change_limit=change_buffer+(ptrdiff_t)(limit-buffer);
+strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
@ The following procedure is used to see if the next change entry should
go into effect; it is called only when |changing| is |false|.
@@ -293,11 +287,11 @@ either `\.{@@*}' or `\.{@@\ }' (possibly preceded by whitespace).
This procedure is called only when |buffer<limit|, i.e., when the
current line is nonempty.
-@d if_section_start_make_pending(b) {@+*limit='!';
- for (loc=buffer;xisspace(*loc);loc++) ;
- *limit=' ';
- if (*loc=='@@' && (xisspace(*(loc+1)) || *(loc+1)=='*')) change_pending=b;
-}
+@d if_section_start_make_pending(b)@/
+ *limit='!';@+
+ for (loc=buffer;xisspace(*loc);loc++) ;@+
+ *limit=' ';@/
+ if (*loc=='@@' && (xisspace(*(loc+1)) || *(loc+1)=='*')) change_pending=b
@c
static void
@@ -311,7 +305,7 @@ check_change(void) /* switches to |change_file| if the buffers match */
if (!change_pending) changed_section[section_count]=true;
}
while (true) {
- changing=true; print_where=true; change_line++;
+ changing=print_where=true; change_line++;
if (!input_ln(change_file)) {
err_print("! Change file ended before @@y");
@.Change file ended...@>
@@ -319,7 +313,7 @@ check_change(void) /* switches to |change_file| if the buffers match */
return;
}
if (limit>buffer+1 && buffer[0]=='@@') {
- char xyz_code=xisupper(buffer[1])? tolower((eight_bits)buffer[1]): buffer[1];
+ char xyz_code=xisupper(buffer[1])? tolower((int)buffer[1]): buffer[1];
@<If the current line starts with \.{@@y},
report any discrepancies and |return|@>@;
}
@@ -365,9 +359,9 @@ reset_input(void)
{
limit=buffer; loc=buffer+1; buffer[0]=' ';
@<Open input files@>@;
- include_depth=0; cur_line=0; change_line=0;
+ include_depth=cur_line=change_line=0;
change_depth=include_depth;
- changing=1; prime_the_change_buffer(); changing=!changing;
+ changing=true; prime_the_change_buffer(); changing=!changing;
limit=buffer; loc=buffer+1; buffer[0]=' '; input_has_ended=false;
}
@@ -408,7 +402,7 @@ boolean get_line(void) /* inputs the next line */
{
restart:
if (changing && include_depth==change_depth)
- @<Read from |change_file| and maybe turn off |changing|@>@;
+ @<Read from |change_file| and maybe turn off |changing|@>@;
if (! changing || include_depth>change_depth) {
@<Read from |cur_file| and maybe turn on |changing|@>@;
if (changing && include_depth==change_depth) goto restart;
@@ -448,11 +442,11 @@ The remainder of the \.{@@i} line after the file name is ignored.
@d too_long() {include_depth--;
err_print("! Include file name too long"); goto restart;}
-@.CWEBINPUTS@>@<Try to open...@>= {
+@<Try to open...@>= {
char temp_file_name[max_file_name_length];
char *cur_file_name_end=cur_file_name+max_file_name_length-1;
- char *k=cur_file_name, *kk;
- int l; /* length of file name */
+ char *kk, *k=cur_file_name;
+ size_t l; /* length of file name */
if (*loc=='"') {
loc++;
@@ -467,8 +461,8 @@ The remainder of the \.{@@i} line after the file name is ignored.
cur_line=0; print_where=true;
goto restart; /* success */
}
- kk=getenv("CWEBINPUTS");
- if (kk!=NULL) {
+ if ((kk=getenv("CWEBINPUTS"))!=NULL) {
+@.CWEBINPUTS@>
if ((l=strlen(kk))>max_file_name_length-2) too_long();
strcpy(temp_file_name,kk);
}
@@ -481,9 +475,9 @@ The remainder of the \.{@@i} line after the file name is ignored.
#endif /* |CWEBINPUTS| */
}
if (l>0) {
- if (k+l+2>=cur_file_name_end) too_long();
+ if (k+l+2>=cur_file_name_end) too_long();
@.Include file name ...@>
- for (; k>= cur_file_name; k--) *(k+l+1)=*k;
+ for (; k>=cur_file_name; k--) *(k+l+1)=*k;
strcpy(cur_file_name,temp_file_name);
cur_file_name[l]='/'; /* \UNIX/ pathname separator */
if ((cur_file=fopen(cur_file_name,"r"))!=NULL) {
@@ -527,7 +521,7 @@ The remainder of the \.{@@i} line after the file name is ignored.
}
*limit=' ';
if (buffer[0]=='@@') {
- if (xisupper(buffer[1])) buffer[1]=tolower((eight_bits)buffer[1]);
+ if (xisupper(buffer[1])) buffer[1]=tolower((int)buffer[1]);
if (buffer[1]=='x' || buffer[1]=='y') {
loc=buffer+2;
err_print("! Where is the matching @@z?");
@@ -622,7 +616,7 @@ function |names_match|, which is slightly different in
\.{CWEAVE} and \.{CTANGLE}. If there is no match for the identifier,
it is inserted into the table.
-@d hash_size 8501 /* should be prime */
+@d hash_size 353 /* should be prime */
@<Global var...@>=
name_pointer hash[hash_size]; /* heads of hash lists */
@@ -638,17 +632,17 @@ for (h=hash; h<=hash_end; *h++=NULL) ;
@c
name_pointer
-id_lookup(@t\1\1@> /* looks up a string in the identifier table */
+id_lookup( /* looks up a string in the identifier table */
const char *first, /* first character of string */
const char *last, /* last character of string plus one */
-char t@t\2\2@>) /* the |ilk|; used by \.{CWEAVE} only */
+eight_bits t) /* the |ilk|; used by \.{CWEAVE} only */
{
const char *i=first; /* position in |buffer| */
- int h; /* hash code */
- int l; /* length of the given identifier */
+ int h; /* hash code; shadows |hash_pointer h| */
+ size_t l; /* length of the given identifier */
name_pointer p; /* where the identifier is being sought */
if (last==NULL) for (last=first; *last!='\0'; last++);
- l=(int)(last-first); /* compute the length */
+ l=(size_t)(last-first); /* compute the length */
@<Compute the hash code |h|@>@;
@<Compute the name location |p|@>@;
if (p==name_ptr) @<Enter a new name into the table at position |p|@>@;
@@ -660,7 +654,7 @@ character codes is $c_1c_2\ldots c_n$, its hash value will be
$$(2^{n-1}c_1+2^{n-2}c_2+\cdots+c_n)\,\bmod\,|hash_size|.$$
@<Compute the hash...@>=
-h=(eight_bits)*i;
+h=(int)((eight_bits)*i);
while (++i<last) h=(h+h+(int)((eight_bits)*i)) % hash_size;
@^high-bit character handling@>
@@ -678,6 +672,7 @@ if (p==NULL) {
@ The information associated with a new identifier must be initialized
in a slightly different way in \.{CWEAVE} than in \.{CTANGLE}; hence the
|init_p| procedure.
+
@<Enter a new name...@>= {
if (byte_ptr+l>byte_mem_end) overflow("byte memory");
if (name_ptr>=name_dir_end) overflow("name");
@@ -704,11 +699,11 @@ and if it too is a prefix (ending with blank) its |link| will point
to additional chunks in the same way. Null links are represented by
|name_dir|.
-@d first_chunk(p) ((p)->byte_start+2)
-@d prefix_length(p) (int)((eight_bits)*((p)->byte_start)*256 +
+@d first_chunk(p) ((p)->byte_start+2)
+@d prefix_length(p) (size_t)((eight_bits)*((p)->byte_start)*256 +
(eight_bits)*((p)->byte_start+1))
-@d set_prefix_length(p,m) (*((p)->byte_start)=(m)/256,
- *((p)->byte_start+1)=(m)%256)
+@d set_prefix_length(p,m) (*((p)->byte_start)=(char)((m)/256),
+ *((p)->byte_start+1)=(char)((m)%256))
@c
void
@@ -719,11 +714,9 @@ name_pointer p)
name_pointer q = p+1;
while (p!=name_dir) {
ss = (p+1)->byte_start-1;
- if (*ss==' ' && ss>=s) {
- term_write(s,(size_t)(ss-s)); p=q->link; q=p;
- } else {
- term_write(s,(size_t)(ss+1-s)); p=name_dir; q=NULL;
- }
+ if (*ss==' ' && ss>=s) p=q->link,q=p;
+ else ss++,p=name_dir,q=NULL;
+ term_write(s,(size_t)(ss-s));
s = p->byte_start;
}
if (q) term_write("...",3); /* complete name not yet known */
@@ -739,11 +732,8 @@ sprint_section_name(
name_pointer q = p+1;
while (p!=name_dir) {
ss = (p+1)->byte_start-1;
- if (*ss==' ' && ss>=s) {
- p=q->link; q=p;
- } else {
- ss++; p=name_dir;
- }
+ if (*ss==' ' && ss>=s) p=q->link,q=p;
+ else ss++,p=name_dir;
strncpy(dest,s,(size_t)(ss-s)), dest+=ss-s;
s = p->byte_start;
}
@@ -756,7 +746,7 @@ print_prefix_name(
name_pointer p)
{
char *s = first_chunk(p);
- int l = prefix_length(p);
+ size_t l = prefix_length(p);
term_write(s,l);
if (s+l<(p+1)->byte_start) term_write("...",3);
}
@@ -772,16 +762,16 @@ are null-terminated, and we keep an eye open for prefixes and extensions.
@d extension 4 /* the first name is a proper extension of the second */
@<Predecl...@>=
-static int web_strcmp(char *,int,char *,int);@/
-static name_pointer add_section_name(name_pointer,int,char *,char *,int);@/
-static void extend_section_name(name_pointer,char *,char *,int);
+static int web_strcmp(char *,size_t,char *,size_t);@/
+static name_pointer add_section_name(name_pointer,int,char *,char *,boolean);@/
+static void extend_section_name(name_pointer,char *,char *,boolean);
@ @c
-static int web_strcmp(@t\1\1@> /* fuller comparison than |strcmp| */
+static int web_strcmp( /* fuller comparison than |strcmp| */
char *j, /* beginning of first string */
- int j_len, /* length of first string */
+ size_t j_len, /* length of first string */
char *k, /* beginning of second string */
- int k_len@t\2\2@>) /* length of second string */
+ size_t k_len) /* length of second string */
{
char *j1=j+j_len, *k1=k+k_len;
while (k<k1 && j<j1 && *j==*k) k++, j++;
@@ -807,16 +797,16 @@ and \.{ctangle.w}.
@c
static name_pointer
-add_section_name(@t\1\1@> /* install a new node in the tree */
+add_section_name( /* install a new node in the tree */
name_pointer par, /* parent of new node */
int c, /* right or left? */
char *first, /* first character of section name */
char *last, /* last character of section name, plus one */
-int ispref@t\2\2@>) /* are we adding a prefix or a full name? */
+boolean ispref) /* are we adding a prefix or a full name? */
{
name_pointer p=name_ptr; /* new node */
char *s=first_chunk(p);
- int name_len=(int)(last-first)+ispref; /* length of section name */
+ size_t name_len=(size_t)(last-first+(int)ispref); /* length of section name */
if (s+name_len>byte_mem_end) overflow("byte memory");
if (name_ptr+1>=name_dir_end) overflow("name");
(++name_ptr)->byte_start=byte_ptr=s+name_len;
@@ -828,23 +818,22 @@ int ispref@t\2\2@>) /* are we adding a prefix or a full name? */
}
set_prefix_length(p,name_len);
strncpy(s,first,name_len);
- p->llink=NULL;
- p->rlink=NULL;
+ p->llink=p->rlink=NULL;
init_node(p);
return par==NULL ? (root=p) : c==less ? (par->llink=p) : (par->rlink=p);
}
@ @c
static void
-extend_section_name(@t\1\1@>
+extend_section_name(
name_pointer p, /* name to be extended */
char *first, /* beginning of extension text */
char *last, /* one beyond end of extension text */
-int ispref@t\2\2@>) /* are we adding a prefix or a full name? */
+boolean ispref) /* are we adding a prefix or a full name? */
{
char *s;
name_pointer q=p+1;
- int name_len=(int)(last-first)+ispref;
+ size_t name_len=(size_t)(last-first+(int)ispref);
if (name_ptr>=name_dir_end) overflow("name");
while (q->link!=name_dir) q=q->link;
q->link=name_ptr;
@@ -864,17 +853,17 @@ exactly equals or is a prefix or extension of a name in the tree.
@c
name_pointer
-section_lookup(@t\1\1@> /* find or install section name in tree */
+section_lookup( /* find or install section name in tree */
char *first,char *last, /* first and last characters of new name */
-int ispref@t\2\2@>) /* is the new name a prefix or a full name? */
+boolean ispref) /* is the new name a prefix or a full name? */
{
- int c=0; /* comparison between two names; initialized so some compilers won't complain */
+ int c=less; /* comparison between two names; initialized so some compilers won't complain */
name_pointer p=root; /* current node of the search tree */
name_pointer q=NULL; /* another place to look in the tree */
name_pointer r=NULL; /* where a match has been found */
name_pointer par=NULL; /* parent of |p|, if |r| is |NULL|;
otherwise parent of |r| */
- int name_len=(int)(last-first)+1;
+ size_t name_len=(size_t)(last-first+1);
@<Look for matches for new name among shortest prefixes, complaining
if more than one is found@>@;
@<If no match found, add new name to tree@>@;
@@ -894,7 +883,7 @@ while (p) { /* compare shortest prefix of |p| with new name */
par=p;
p=(c==less?p->llink:p->rlink);
} else { /* new name matches |p| */
- if (r!=NULL) { /* and also |r|: illegal */
+ if (r!=NULL) { /* and also |r|: illegal */
fputs("\n! Ambiguous prefix: matches <",stdout);
@.Ambiguous prefix ... @>
print_prefix_name(p);
@@ -931,16 +920,16 @@ switch(section_name_cmp(&first,name_len,r)) {
}
else if (name_len<prefix_length(r)) set_prefix_length(r,name_len);
/* fall through */
- case equal: return r;
+ case equal: break;
case extension: if (!ispref || first<=last)
extend_section_name(r,first,last+1,ispref);
- return r;
+ break;
case bad_extension:
fputs("\n! New name extends <",stdout);
@.New name extends...@>
print_section_name(r);
err_print(">");
- return r;
+ break;
default: /* no match: illegal */
fputs("\n! Section name incompatible with <",stdout);
@.Section name incompatible...@>
@@ -948,8 +937,8 @@ switch(section_name_cmp(&first,name_len,r)) {
fputs(">,\n which abbreviates <",stdout);
print_section_name(r);
err_print(">");
- return r;
}
+return r;
@ The return codes of |section_name_cmp|, which compares a string with
the full name of a section, are those of |web_strcmp| plus
@@ -968,21 +957,21 @@ us to regard \.{@@<foo...@@>} as an ``extension'' of itself.
@d bad_extension 5
@c
-static int section_name_cmp(@t\1\1@>
+static int section_name_cmp(
char **pfirst, /* pointer to beginning of comparison string */
-int len, /* length of string */
-name_pointer r@t\2\2@>) /* section name being compared */
+size_t len, /* length of string */
+name_pointer r) /* section name being compared */
{
char *first=*pfirst; /* beginning of comparison string */
name_pointer q=r+1; /* access to subsequent chunks */
char *ss, *s=first_chunk(r);
- int c; /* comparison */
- int ispref; /* is chunk |r| a prefix? */
+ int c=less; /* comparison */
+ boolean ispref; /* is chunk |r| a prefix? */
while (true) {
ss=(r+1)->byte_start-1;
- if (*ss==' ' && ss>=r->byte_start) ispref=1,q=q->link;
- else ispref=0,ss++,q=name_dir;
- switch(c=web_strcmp(first,len,s,ss-s)) {
+ if (*ss==' ' && ss>=r->byte_start) ispref=true,q=q->link;
+ else ispref=false,ss++,q=name_dir;
+ switch(c=web_strcmp(first,len,s,(size_t)(ss-s))) {
case equal: if (q==name_dir)
if (ispref) {
*pfirst=first+(ptrdiff_t)(ss-s);
@@ -999,7 +988,7 @@ name_pointer r@t\2\2@>) /* section name being compared */
}
}
-@ @<Predec...@>=@+static int section_name_cmp(char **,int,name_pointer);
+@ @<Predec...@>=@+static int section_name_cmp(char **,size_t,name_pointer);
@** Reporting errors to the user.
A global variable called |history| will contain one of four values
@@ -1023,12 +1012,11 @@ if the string begins with |"!"|.
@c
void
-err_print(@t\1\1@> /* prints `\..' and location of error message */
-const char *s@t\2\2@>)
+err_print( /* prints `\..' and location of error message */
+const char *s)
{
- char *k,*l; /* pointers into |buffer| */
- printf(*s=='!'? "\n%s" : "%s",s);
- if(web_file_open) @<Print error location based on input buffer@>@;
+ *s=='!'? printf("\n%s",s) : printf("%s",s);
+ if (web_file_open) @<Print error location based on input buffer@>@;
update_terminal; mark_error;
}
@@ -1042,7 +1030,8 @@ has special line-numbering conventions.
@^system dependencies@>
@<Print error location based on input buffer@>=
-{if (changing && include_depth==change_depth)
+{char *k,*l; /* pointers into |buffer| */
+if (changing && include_depth==change_depth)
printf(". (l. %d of change file)\n", change_line);
else if (include_depth==0) printf(". (l. %d)\n", cur_line);
else printf(". (l. %d of include file %s)\n", cur_line, cur_file_name);
@@ -1051,7 +1040,7 @@ if (l>buffer) {
for (k=buffer; k<l; k++)
if (*k=='\t') putchar(' ');
else putchar(*k); /* print the characters already read */
- putchar('\n');
+ new_line;
for (k=buffer; k<l; k++) putchar(' '); /* space out the next line */
}
for (k=l; k<limit; k++) putchar(*k); /* print the part not yet read */
@@ -1070,7 +1059,7 @@ interface above and in the index.
Some implementations may wish to pass the |history| value to the
operating system so that it can be used to govern whether or not other
programs are started. Here, for instance, we pass the operating system
-a status of 0 if and only if only harmless messages were printed.
+a status of |EXIT_SUCCESS| if and only if only harmless messages were printed.
@^system dependencies@>
@c
@@ -1085,13 +1074,15 @@ int wrap_up(void) {
@ @<Print the job |history|@>=
switch (history) {
-case spotless: if (show_happiness) puts("(No errors were found.)"); break;
+case spotless:
+ if (show_happiness) puts("(No errors were found.)"); break;
case harmless_message:
puts("(Did you see the warning message above?)"); break;
case error_message:
puts("(Pardon me, but I think I spotted something wrong.)"); break;
-case fatal_message: puts("(That was a fatal error, my friend.)");
-} /* there are no other cases */
+case fatal_message: default:
+ puts("(That was a fatal error, my friend.)");
+}
@ When there is no way to recover from an error, the |fatal| subroutine is
invoked. This happens most often when |overflow| occurs.
@@ -1146,8 +1137,7 @@ scanning the arguments; if additional flags are |true| by default they
should be set before calling |common_init|.
@<Set the default options common to \.{CTANGLE} and \.{CWEAVE}@>=
-show_banner=show_happiness=show_progress=make_xrefs=true;@/
-show_stats=false;
+show_banner=show_happiness=show_progress=make_xrefs=true;
@ We now must look at the command line arguments and set the file names
accordingly. At least one file name must be present: the \.{CWEB}
@@ -1179,14 +1169,13 @@ scan_args(void)
if ((**(++argv)=='-'||**argv=='+')&&*(*argv+1)) @<Handle flag argument@>@;
else {
s=name_pos=*argv;@+dot_pos=NULL;
- while (*s) {
+ while (*s)
if (*s=='.') dot_pos=s++;
else if (*s=='/') dot_pos=NULL,name_pos=++s;
else s++;
- }
if (!found_web) @<Make
- |web_file_name|, |tex_file_name|, and |C_file_name|@>@;
- else if (!found_change) @<Make |change_file_name| from |fname|@>@;
+ |web_file_name|, |tex_file_name|, and |C_file_name|@>@;
+ else if (!found_change) @<Make |change_file_name|@>@;
else if (!found_out) @<Override |tex_file_name| and |C_file_name|@>@;
else @<Print usage error message and quit@>@;
}
@@ -1211,7 +1200,7 @@ after the dot. We must check that there is enough room in
sprintf(web_file_name,"%s.w",*argv);
else {
strcpy(web_file_name,*argv);
- *dot_pos=0; /* string now ends where the dot was */
+ *dot_pos='\0'; /* string now ends where the dot was */
}
sprintf(alt_web_file_name,"%s.web",*argv);
sprintf(tex_file_name,"%s.tex",name_pos); /* strip off directory name */
@@ -1246,7 +1235,7 @@ after the dot. We must check that there is enough room in
strcpy(tex_file_name,*argv);
strcpy(C_file_name,*argv);
if (make_xrefs) { /* indexes will be generated */
- *dot_pos=0;
+ *dot_pos='\0';
sprintf(idx_file_name,"%s.idx",*argv);
sprintf(scn_file_name,"%s.scn",*argv);
}
@@ -1256,10 +1245,8 @@ after the dot. We must check that there is enough room in
@ @d flag_change (**argv!='-')
@<Handle flag...@>=
-{
- for(dot_pos=*argv+1;*dot_pos>'\0';dot_pos++)
- flags[(eight_bits)*dot_pos]=flag_change;
-}
+for(dot_pos=*argv+1;*dot_pos>'\0';dot_pos++)
+ flags[(eight_bits)*dot_pos]=flag_change;
@ @<Print usage error message and quit@>=
{
diff --git a/web/c_cpp/cweb/ctang-bs.ch b/web/c_cpp/cweb/ctang-bs.ch
index 55cc27cd00..ceaefa93e5 100644
--- a/web/c_cpp/cweb/ctang-bs.ch
+++ b/web/c_cpp/cweb/ctang-bs.ch
@@ -17,16 +17,16 @@ by using "huge" pointers.
The ``banner line'' defined here should be changed whenever \.{CTANGLE}
is modified.
-@d banner "This is CTANGLE (Version 4.2)"
+@d banner "This is CTANGLE (Version 4.6)"
@y
The ``banner line'' defined here should be changed whenever \.{CTANGLE}
is modified.
-@d banner "This is CTANGLE (Version 4.2pc/big)"
+@d banner "This is CTANGLE (Version 4.6pc/big)"
@z
-@x Section 9.
+@x Section 10.
for section names */
@<Common code...@>=
@@ -84,50 +84,7 @@ extern hash_pointer h; /* index into hash-head array */
@z
-@x Section 17.
-@ The following parameters were sufficient in the original \.{WEB} to
-handle \TEX/, so they should be sufficient for most applications of
-\.{CWEB}.
-
-@d max_bytes 1000000 /* the number of bytes in identifiers,
- index entries, and section names */
-@d max_toks 1000000 /* number of bytes in compressed \CEE/ code */
-@d max_names 10239 /* number of identifiers, strings, section names;
- must be less than 10240 */
-@d max_sections 4000 /* greater than the total number of sections */
-@d max_texts 10239 /* number of replacement texts, must be less than 10240 */
-@d longest_name 10000 /* file and section names and section texts shouldn't be longer than this */
-@d stack_size 500 /* number of simultaneous levels of macro expansion */
-@d buf_size 1000 /* maximum length of input line, plus one */
-@y
-@ The following parameters were sufficient in the original \.{WEB} to
-handle \TEX/, so they should be sufficient for most applications of
-\.{CWEB}.
-
-(This is a modified version of \.{CTANGLE}, and in fact one of the parameters
-has been reduced in value. The parameter |max_toks|
-has been reduced from 270000 [which
-was sufficient to handle \TEX/] to
-170000, so that \.{CTANGLE}
-may be run on {\mc MSDOS}
-systems that are tight on memory. Consider, for
-instance, an 80286-based machine with several TSRs and drivers, trying
-to run \.{CTANGLE} from a makefile.)
-
-@d max_bytes 90000 /* the number of bytes in identifiers,
- index entries, and section names */
-@d max_toks 170000 /* number of bytes in compressed \CEE/ code */
-@d max_names 4000 /* number of identifiers, strings, section names;
- must be less than 10240 */
-@d max_sections 4000 /* greater than the total number of sections */
-@d max_texts 2500 /* number of replacement texts, must be less than 10240 */
-@d longest_name 10000 /* file and section names and section texts shouldn't be longer than this */
-@d stack_size 50 /* number of simultaneous levels of macro expansion */
-@d buf_size 100 /* for \.{CWEAVE} */
-@z
-
-
-@x Section 16.
+@x Section 19.
eight_bits *tok_start; /* pointer into |tok_mem| */
sixteen_bits text_link; /* relates replacement texts */
} text;
@@ -140,7 +97,23 @@ typedef text *text_pointer;
@z
-@x Section 17.
+@x Section 20.
+@ @d max_texts 2500 /* number of replacement texts, must be less than 10240 */
+@d max_toks 270000 /* number of bytes in compressed \CEE/ code */
+@y
+@ (This is a modified version of \.{CTANGLE}, and in fact one of the parameters
+has been reduced in value. The parameter |max_toks|
+has been reduced from 270000 [which
+was sufficient to handle \TEX/] to
+170000, so that \.{CTANGLE}
+may be run on {\mc MSDOS}
+systems that are tight on memory. Consider, for
+instance, an 80286-based machine with several TSRs and drivers, trying
+to run \.{CTANGLE} from a makefile.)
+@d max_texts 2500 /* number of replacement texts, must be less than 10240 */
+@d max_toks 170000 /* number of bytes in compressed \CEE/ code */
+@z
+@x
static eight_bits tok_mem[max_toks];
static eight_bits *tok_mem_end=tok_mem+max_toks-1;
static eight_bits *tok_ptr; /* first unused position in |tok_mem| */
@@ -151,7 +124,7 @@ static eight_bits huge* tok_ptr; /* first unused position in |tok_mem| */
@z
-@x Section 18.
+@x Section 21.
text_info->tok_start=tok_ptr=tok_mem;
text_ptr=text_info+1; text_ptr->tok_start=tok_mem;
/* this makes replacement text 0 of length zero */
@@ -163,14 +136,14 @@ text_ptr=text_info+1; text_ptr->tok_start=tok_mem;
@z
-@x Section 19.
+@x Section 22.
@d equiv equiv_or_xref /* info corresponding to names */
@y
@d equiv ptr_union.equiv_member /* info corresponding to names */
@z
-@x Section 27.
+@x Section 31.
eight_bits *end_field; /* ending location of replacement text */
eight_bits *byte_field; /* present location within replacement text */
@y
@@ -179,7 +152,7 @@ text_ptr=text_info+1; text_ptr->tok_start=tok_mem;
@z
-@x Section 49.
+@x Section 55.
out_char(
eight_bits cur_char)
{
diff --git a/web/c_cpp/cweb/ctang-man.ch b/web/c_cpp/cweb/ctang-man.ch
index 5b4d06c88b..f90d5361ae 100644
--- a/web/c_cpp/cweb/ctang-man.ch
+++ b/web/c_cpp/cweb/ctang-man.ch
@@ -16,7 +16,7 @@ under the terms of a permission notice identical to this one.
}
@y
\def\botofcontents{\vfill\titlefalse}
-\def\contentspagenumber{66}
+\def\contentspagenumber{64}
\def\title{APPENDIX E: CTANGLE}
\let\K=\leftarrow
@z
diff --git a/web/c_cpp/cweb/ctang-pc.ch b/web/c_cpp/cweb/ctang-pc.ch
index ddf281b3fc..2fb9b90440 100644
--- a/web/c_cpp/cweb/ctang-pc.ch
+++ b/web/c_cpp/cweb/ctang-pc.ch
@@ -9,16 +9,19 @@ that allows >64K arrays. If you need lots of bytes and toks, try the
alternate change files with -bs suffix instead of -pc.
@x section 1
-@d banner "This is CTANGLE (Version 4.2)"
+@d banner "This is CTANGLE (Version 4.6)"
@y
-@d banner "This is CTANGLE (Version 4.2pc)"
+@d banner "This is CTANGLE (Version 4.6pc)"
@z
-@x section 4
-@d max_bytes 1000000 /* the number of bytes in identifiers,
- index entries, and section names */
-@d max_toks 1000000 /* number of bytes in compressed \CEE/ code */
+@x section 17
+@d max_bytes 90000 /* the number of bytes in identifiers,
+ index entries, and section names; must be less than $2^{24}$ */
@y (note that CWEAVE itself needs only about 42K toks)
@d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
- index entries, and section names */
+ index entries, and section names; must be less than $2^{24}$ */
+@z
+@x section 20
+@d max_toks 270000 /* number of bytes in compressed \CEE/ code */
+@y
@d max_toks (unsigned)60000 /* number of bytes in compressed \CEE/ code */
@z
diff --git a/web/c_cpp/cweb/ctang-ql.ch b/web/c_cpp/cweb/ctang-ql.ch
index 64f0e81a72..2f4ff604b1 100644
--- a/web/c_cpp/cweb/ctang-ql.ch
+++ b/web/c_cpp/cweb/ctang-ql.ch
@@ -7,15 +7,15 @@ ex <dev_>cc;"-v -h -c -=500000 ctangle_c"
@x
-\def\title{CTANGLE (Version 4.2)}
+\def\title{CTANGLE (Version 4.6)}
@y
-\def\title{CTANGLE (QL Version 4.2)}
+\def\title{CTANGLE (QL Version 4.6)}
@z
@x section 1
-@d banner "This is CTANGLE (Version 4.2)"
+@d banner "This is CTANGLE (Version 4.6)"
@y
-@d banner "This is CTANGLE (QL Version 4.2)"
+@d banner "This is CTANGLE (QL Version 4.6)"
@z
@x
diff --git a/web/c_cpp/cweb/ctang-vms.ch b/web/c_cpp/cweb/ctang-vms.ch
index 5686c66b9a..9f5dd2a677 100644
--- a/web/c_cpp/cweb/ctang-vms.ch
+++ b/web/c_cpp/cweb/ctang-vms.ch
@@ -10,18 +10,18 @@ created:
(these changes not necessary for initial bootstrapping)
@x section 1 (01-FEB-1992 ST)
-@d banner "This is CTANGLE (Version 4.2)"
+@d banner "This is CTANGLE (Version 4.6)"
@y
-@d banner "This is CTANGLE (VAX/VMS Version 4.2)"
+@d banner "This is CTANGLE (VAX/VMS Version 4.6)"
@z
-@x section 3 (01-FEB-1992 ST)
+@x section 4 (01-FEB-1992 ST)
#include <ctype.h> /* definition of |@!isalpha|, |@!isdigit| and so on */
#include <stdbool.h> /* definition of |@!bool|, |@!true| and |@!false| */
#include <stddef.h> /* definition of |@!ptrdiff_t| */
#include <stdint.h> /* definition of |@!uint8_t| and |@!uint16_t| */
-#include <stdlib.h> /* definition of |@!getenv| and |@!exit| */
#include <stdio.h> /* definition of |@!printf| and friends */
+#include <stdlib.h> /* definition of |@!getenv| and |@!exit| */
#include <string.h> /* definition of |@!strlen|, |@!strcmp| and so on */
@y
#include ctype /* definition of |@!isalpha|, |@!isdigit| and so on */
@@ -29,7 +29,7 @@ created:
#include stdbool /* definition of |@!bool|, |@!true| and |@!false| */
#include stddef /* definition of |@!ptrdiff_t| */
#include stdint /* definition of |@!uint8_t| and |@!uint16_t| */
-#include stdlib /* definition of |@!getenv| and |@!exit| */
#include stdio /* definition of |@!printf| and friends */
+#include stdlib /* definition of |@!getenv| and |@!exit| */
#include string /* definition of |@!strlen|, |@!strcmp| and so on */
@z
diff --git a/web/c_cpp/cweb/ctang-w32.ch b/web/c_cpp/cweb/ctang-w32.ch
index 1c687e5eb6..d299f00683 100644
--- a/web/c_cpp/cweb/ctang-w32.ch
+++ b/web/c_cpp/cweb/ctang-w32.ch
@@ -4,23 +4,23 @@ This is the change file for CWEB's CTANGLE under Win32
Changes necessary for compiling with Borland C/C++
@x section 1
-@d banner "This is CTANGLE (Version 4.2)"
+@d banner "This is CTANGLE (Version 4.6)"
@y
-@d banner "This is CTANGLE (Version 4.2win32)"
+@d banner "This is CTANGLE (Version 4.6win32)"
@z
@x
-boolean names_match(@t\1\1@>
+boolean names_match(
name_pointer p, /* points to the proposed match */
const char *first, /* position of first character of string */
size_t l, /* length of identifier */
-eight_bits t@t\2\2@>) /* not used by \.{TANGLE} */
+eight_bits t) /* not used by \.{TANGLE} */
@y
-boolean __cdecl names_match(@t\1\1@>
+boolean __cdecl names_match(
name_pointer p, /* points to the proposed match */
const char *first, /* position of first character of string */
size_t l, /* length of identifier */
-eight_bits t@t\2\2@>) /* not used by \.{TANGLE} */
+eight_bits t) /* not used by \.{TANGLE} */
@z
@x
diff --git a/web/c_cpp/cweb/ctangle.c b/web/c_cpp/cweb/ctangle.c
index d955da9d57..0c6f8afe2a 100644
--- a/web/c_cpp/cweb/ctangle.c
+++ b/web/c_cpp/cweb/ctangle.c
@@ -2,20 +2,20 @@
#line 66 "ctangle.w"
/*4:*/
-#line 46 "common.h"
+#line 44 "common.h"
#include <ctype.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
-#include <stdlib.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
/*:4*/
#line 67 "ctangle.w"
-#define banner "This is CTANGLE (Version 4.2)" \
+#define banner "This is CTANGLE (Version 4.6)" \
#define ctangle false
#define cweave true \
@@ -36,16 +36,22 @@
#define period_ast 026
#define minus_gt_ast 027 \
-#define xisalpha(c) (isalpha((eight_bits) c) &&((eight_bits) c<0200) )
-#define xisdigit(c) (isdigit((eight_bits) c) &&((eight_bits) c<0200) )
-#define xisspace(c) (isspace((eight_bits) c) &&((eight_bits) c<0200) )
-#define xislower(c) (islower((eight_bits) c) &&((eight_bits) c<0200) )
-#define xisupper(c) (isupper((eight_bits) c) &&((eight_bits) c<0200) )
-#define xisxdigit(c) (isxdigit((eight_bits) c) &&((eight_bits) c<0200) ) \
+#define compress(c) if(loc++<=limit) return c \
+
+#define xisalpha(c) (isalpha((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xisdigit(c) (isdigit((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xisspace(c) (isspace((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xislower(c) (islower((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xisupper(c) (isupper((int) (c) ) &&((eight_bits) (c) <0200) )
+#define xisxdigit(c) (isxdigit((int) (c) ) &&((eight_bits) (c) <0200) )
+#define isxalpha(c) ((c) =='_'||(c) =='$') \
+
+#define ishigh(c) ((eight_bits) (c) > 0177) \
+ \
#define max_include_depth 10 \
-#define max_file_name_length 1024
+#define max_file_name_length 60
#define cur_file file[include_depth]
#define cur_file_name file_name[include_depth]
#define cur_line line[include_depth]
@@ -53,7 +59,7 @@
#define web_file_name file_name[0] \
#define length(c) (size_t) ((c+1) ->byte_start-(c) ->byte_start)
-#define print_id(c) term_write((c) ->byte_start,length((c) ) )
+#define print_id(c) term_write((c) ->byte_start,length(c) )
#define llink link
#define rlink dummy.Rlink
#define root name_dir->rlink \
@@ -63,44 +69,44 @@
#define harmless_message 1
#define error_message 2
#define fatal_message 3
-#define mark_harmless {if(history==spotless) history= harmless_message;}
+#define mark_harmless if(history==spotless) history= harmless_message
#define mark_error history= error_message
#define confusion(s) fatal("! This can't happen: ",s) \
\
#define show_banner flags['b']
#define show_progress flags['p']
-#define show_stats flags['s']
#define show_happiness flags['h']
+#define show_stats flags['s']
#define make_xrefs flags['x'] \
#define update_terminal fflush(stdout)
#define new_line putchar('\n')
-#define putxchar putchar
-#define term_write(a,b) fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout)
-#define C_printf(c,a) fprintf(C_file,c,a)
-#define C_putc(c) putc(c,C_file) \
+#define term_write(a,b) fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout) \
+
+#define buf_size 100
+#define longest_name 10000 \
-#define max_bytes 1000000 \
+#define long_buf_size (buf_size+longest_name)
+#define max_bytes 90000 \
-#define max_toks 1000000
-#define max_names 10239 \
+#define max_names 4000 \
-#define max_sections 4000
-#define max_texts 10239
-#define longest_name 10000
-#define stack_size 500
-#define buf_size 1000
-#define long_buf_size (buf_size+longest_name) \
+#define max_sections 2000 \
+#define max_texts 2500
+#define max_toks 270000
#define equiv equiv_or_xref \
+#define macro 0
#define section_flag max_texts \
#define string 02
+#define constant 03
#define join 0177
#define output_defs_flag (2*024000-1) \
+#define stack_size 50
#define cur_end cur_state.end_field
#define cur_byte cur_state.byte_field
#define cur_name cur_state.name_field
@@ -117,9 +123,12 @@
#define verbatim 4 \
#define max_files 256
+#define C_printf(c,a) fprintf(C_file,c,a)
+#define C_putc(c) putc((int) (c) ,C_file) \
+
#define translit_length 10 \
-#define ignore 0
+#define ignore 00
#define ord 0302
#define control_text 0303
#define translit_code 0304
@@ -130,23 +139,22 @@
#define section_name 0311
#define new_section 0312 \
-#define constant 03 \
-
-#define isxalpha(c) ((c) =='_'||(c) =='$') \
-
-#define ishigh(c) ((eight_bits) (c) > 0177) \
- \
+#define app_repl(c) { \
+if(tok_ptr==tok_mem_end) overflow("token") ; \
+else*(tok_ptr++) = (eight_bits) c; \
+} \
-#define compress(c) if(loc++<=limit) return c \
+#define store_id(a) a= id_lookup(id_first,id_loc,'\0') -name_dir; \
+app_repl((a/0400) +0200) ; \
+app_repl(a%0400) \
-#define macro 0
-#define app_repl(c) {if(tok_ptr==tok_mem_end) overflow("token") ;*tok_ptr++= c;} \
+#define keep_digit_separators flags['k'] \
#line 68 "ctangle.w"
/*3:*/
-#line 37 "common.h"
+#line 35 "common.h"
typedef bool boolean;
typedef uint8_t eight_bits;
@@ -163,7 +171,7 @@ extern char*id_first;
extern char*id_loc;
/*:5*//*6:*/
-#line 88 "common.h"
+#line 92 "common.h"
extern char buffer[];
extern char*buffer_end;
@@ -171,7 +179,7 @@ extern char*loc;
extern char*limit;
/*:6*//*7:*/
-#line 105 "common.h"
+#line 109 "common.h"
extern int include_depth;
extern FILE*file[];
@@ -187,7 +195,7 @@ extern boolean changing;
extern boolean web_file_open;
/*:7*//*9:*/
-#line 125 "common.h"
+#line 129 "common.h"
extern sixteen_bits section_count;
extern boolean changed_section[];
@@ -195,7 +203,7 @@ extern boolean change_pending;
extern boolean print_where;
/*:9*//*10:*/
-#line 139 "common.h"
+#line 143 "common.h"
typedef struct name_info{
char*byte_start;
@@ -220,12 +228,12 @@ extern hash_pointer hash_end;
extern hash_pointer h;
/*:10*//*12:*/
-#line 183 "common.h"
+#line 187 "common.h"
extern int history;
/*:12*//*14:*/
-#line 199 "common.h"
+#line 203 "common.h"
extern int argc;
extern char**argv;
@@ -236,7 +244,7 @@ extern char scn_file_name[];
extern boolean flags[];
/*:14*//*15:*/
-#line 215 "common.h"
+#line 217 "common.h"
extern FILE*C_file;
extern FILE*tex_file;
@@ -257,7 +265,7 @@ sixteen_bits text_link;
typedef text*text_pointer;
/*:19*//*31:*/
-#line 269 "ctangle.w"
+#line 274 "ctangle.w"
typedef struct{
eight_bits*end_field;
@@ -272,7 +280,7 @@ typedef output_state*stack_pointer;
#line 70 "ctangle.w"
/*20:*/
-#line 129 "ctangle.w"
+#line 131 "ctangle.w"
static text text_info[max_texts];
static text_pointer text_info_end= text_info+max_texts-1;
@@ -282,12 +290,12 @@ static eight_bits*tok_mem_end= tok_mem+max_toks-1;
static eight_bits*tok_ptr;
/*:20*//*26:*/
-#line 198 "ctangle.w"
+#line 200 "ctangle.w"
static text_pointer last_unnamed;
/*:26*//*32:*/
-#line 285 "ctangle.w"
+#line 291 "ctangle.w"
static output_state cur_state;
@@ -296,18 +304,18 @@ static stack_pointer stack_end= stack+stack_size;
static stack_pointer stack_ptr;
/*:32*//*37:*/
-#line 361 "ctangle.w"
+#line 367 "ctangle.w"
static int cur_val;
/*:37*//*42:*/
-#line 452 "ctangle.w"
+#line 459 "ctangle.w"
static eight_bits out_state;
static boolean protect;
/*:42*//*45:*/
-#line 483 "ctangle.w"
+#line 490 "ctangle.w"
static name_pointer output_files[max_files];
static name_pointer*cur_out_file,*end_output_files,*an_output_file;
@@ -315,33 +323,33 @@ static char cur_section_name_char;
static char output_file_name[longest_name+1];
/*:45*//*52:*/
-#line 582 "ctangle.w"
+#line 590 "ctangle.w"
static boolean output_defs_seen= false;
/*:52*//*57:*/
-#line 691 "ctangle.w"
+#line 703 "ctangle.w"
static char translit[128][translit_length];
/*:57*//*62:*/
-#line 770 "ctangle.w"
+#line 779 "ctangle.w"
static eight_bits ccode[256];
/*:62*//*66:*/
-#line 830 "ctangle.w"
+#line 839 "ctangle.w"
static boolean comment_continues= false;
/*:66*//*68:*/
-#line 869 "ctangle.w"
+#line 876 "ctangle.w"
static name_pointer cur_section_name;
static boolean no_where;
/*:68*//*82:*/
-#line 1182 "ctangle.w"
+#line 1193 "ctangle.w"
static text_pointer cur_text;
static eight_bits next_control;
@@ -350,19 +358,19 @@ static eight_bits next_control;
#line 71 "ctangle.w"
/*8:*/
-#line 119 "common.h"
+#line 123 "common.h"
extern boolean get_line(void);
extern void check_complete(void);
extern void reset_input(void);
/*:8*//*11:*/
-#line 162 "common.h"
+#line 166 "common.h"
extern boolean names_match(name_pointer,const char*,size_t,eight_bits);
-extern name_pointer id_lookup(const char*,const char*,char);
+extern name_pointer id_lookup(const char*,const char*,eight_bits);
-extern name_pointer section_lookup(char*,char*,int);
+extern name_pointer section_lookup(char*,char*,boolean);
extern void init_node(name_pointer);
extern void init_p(name_pointer,eight_bits);
extern void print_prefix_name(name_pointer);
@@ -370,7 +378,7 @@ extern void print_section_name(name_pointer);
extern void sprint_section_name(char*,name_pointer);
/*:11*//*13:*/
-#line 186 "common.h"
+#line 190 "common.h"
extern int wrap_up(void);
extern void err_print(const char*);
@@ -378,63 +386,63 @@ extern void fatal(const char*,const char*);
extern void overflow(const char*);
/*:13*//*16:*/
-#line 223 "common.h"
+#line 225 "common.h"
extern void common_init(void);
extern void print_stats(void);
/*:16*//*30:*/
-#line 241 "ctangle.w"
+#line 246 "ctangle.w"
static void store_two_bytes(sixteen_bits);
/*:30*//*35:*/
-#line 324 "ctangle.w"
+#line 330 "ctangle.w"
static void push_level(name_pointer);
static void pop_level(boolean);
/*:35*//*39:*/
-#line 397 "ctangle.w"
+#line 404 "ctangle.w"
static void get_output(void);
/*:39*//*44:*/
-#line 473 "ctangle.w"
+#line 480 "ctangle.w"
static void flush_buffer(void);
/*:44*//*49:*/
-#line 549 "ctangle.w"
+#line 557 "ctangle.w"
static void phase_two(void);
/*:49*//*53:*/
-#line 585 "ctangle.w"
+#line 593 "ctangle.w"
static void output_defs(void);
static void out_char(eight_bits);
/*:53*//*65:*/
-#line 810 "ctangle.w"
+#line 819 "ctangle.w"
static eight_bits skip_ahead(void);
static boolean skip_comment(boolean);
/*:65*//*70:*/
-#line 924 "ctangle.w"
+#line 926 "ctangle.w"
static eight_bits get_next(void);
/*:70*//*84:*/
-#line 1208 "ctangle.w"
+#line 1219 "ctangle.w"
static void scan_repl(eight_bits);
/*:84*//*91:*/
-#line 1379 "ctangle.w"
+#line 1404 "ctangle.w"
static void scan_section(void);
/*:91*//*99:*/
-#line 1460 "ctangle.w"
+#line 1481 "ctangle.w"
static void phase_one(void);
/*:99*//*101:*/
-#line 1494 "ctangle.w"
+#line 1514 "ctangle.w"
static void skip_limbo(void);
/*:101*/
@@ -451,28 +459,28 @@ char**av)
argc= ac;argv= av;
program= ctangle;
/*21:*/
-#line 137 "ctangle.w"
+#line 139 "ctangle.w"
text_info->tok_start= tok_ptr= tok_mem;
text_ptr= text_info+1;text_ptr->tok_start= tok_mem;
/*:21*//*23:*/
-#line 147 "ctangle.w"
+#line 149 "ctangle.w"
init_node(name_dir);
/*:23*//*27:*/
-#line 201 "ctangle.w"
-last_unnamed= text_info;text_info->text_link= 0;
+#line 203 "ctangle.w"
+last_unnamed= text_info;text_info->text_link= macro;
/*:27*//*46:*/
-#line 493 "ctangle.w"
+#line 500 "ctangle.w"
cur_out_file= end_output_files= output_files+max_files;
/*:46*//*58:*/
-#line 694 "ctangle.w"
+#line 706 "ctangle.w"
{
int i;
@@ -480,13 +488,14 @@ for(i= 0;i<128;i++)sprintf(translit[i],"X%02X",(unsigned int)(128+i));
}
/*:58*//*63:*/
-#line 773 "ctangle.w"
+#line 782 "ctangle.w"
{
int c;
for(c= 0;c<256;c++)ccode[c]= ignore;
+}
ccode[' ']= ccode['\t']= ccode['\n']= ccode['\v']= ccode['\r']= ccode['\f']
= ccode['*']= new_section;
-ccode['@']= '@';ccode['=']= string;
+ccode['@']= (eight_bits)'@';ccode['=']= string;
ccode['d']= ccode['D']= definition;
ccode['f']= ccode['F']= ccode['s']= ccode['S']= format_code;
ccode['c']= ccode['C']= ccode['p']= ccode['P']= begin_C;
@@ -497,10 +506,9 @@ ccode['l']= ccode['L']= translit_code;
ccode['&']= join;
ccode['<']= ccode['(']= section_name;
ccode['\'']= ord;
-}
/*:63*//*78:*/
-#line 1103 "ctangle.w"
+#line 1114 "ctangle.w"
section_text[0]= ' ';
/*:78*/
@@ -514,7 +522,7 @@ return wrap_up();
}
/*:2*//*24:*/
-#line 153 "ctangle.w"
+#line 155 "ctangle.w"
boolean names_match(
name_pointer p,
@@ -522,12 +530,11 @@ const char*first,
size_t l,
eight_bits t)
{(void)t;
-if(length(p)!=l)return false;
-return!strncmp(first,p->byte_start,l);
+return length(p)==l&&strncmp(first,p->byte_start,l)==0;
}
/*:24*//*25:*/
-#line 169 "ctangle.w"
+#line 170 "ctangle.w"
void
init_node(
@@ -539,7 +546,7 @@ void
init_p(name_pointer p,eight_bits t){(void)p;(void)t;}
/*:25*//*29:*/
-#line 231 "ctangle.w"
+#line 236 "ctangle.w"
static void
store_two_bytes(
@@ -551,7 +558,7 @@ if(tok_ptr+2> tok_mem_end)overflow("token");
}
/*:29*//*34:*/
-#line 309 "ctangle.w"
+#line 315 "ctangle.w"
static void
push_level(
@@ -568,7 +575,7 @@ cur_section= 0;
}
/*:34*//*36:*/
-#line 332 "ctangle.w"
+#line 338 "ctangle.w"
static void
pop_level(
@@ -584,7 +591,7 @@ if(stack_ptr> stack)cur_state= *stack_ptr;
}
/*:36*//*38:*/
-#line 368 "ctangle.w"
+#line 374 "ctangle.w"
static void
get_output(void)
@@ -604,10 +611,10 @@ else if(a<0200)out_char(a);
else{
a= (a-0200)*0400+*cur_byte++;
switch(a/024000){
-case 0:cur_val= a;out_char(identifier);break;
+case 0:cur_val= (int)a;out_char(identifier);break;
case 1:if(a==output_defs_flag)output_defs();
else/*40:*/
-#line 402 "ctangle.w"
+#line 409 "ctangle.w"
{
a-= 024000;
@@ -621,24 +628,25 @@ goto restart;
}
/*:40*/
-#line 389 "ctangle.w"
+#line 395 "ctangle.w"
break;
-default:cur_val= a-050000;if(cur_val> 0)cur_section= cur_val;
+default:cur_val= (int)a-050000;
+if(cur_val> 0)cur_section= (sixteen_bits)cur_val;
out_char(section_number);
}
}
}
/*:38*//*43:*/
-#line 460 "ctangle.w"
+#line 467 "ctangle.w"
static void
flush_buffer(void)
{
C_putc('\n');
if(cur_line%100==0&&show_progress){
-printf(".");
+putchar('.');
if(cur_line%500==0)printf("%d",cur_line);
update_terminal;
}
@@ -646,38 +654,41 @@ cur_line++;
}
/*:43*//*48:*/
-#line 514 "ctangle.w"
+#line 519 "ctangle.w"
static void
phase_two(void){
+phase= 2;
web_file_open= false;
cur_line= 1;
/*33:*/
-#line 298 "ctangle.w"
+#line 304 "ctangle.w"
stack_ptr= stack+1;cur_name= name_dir;cur_repl= text_info->text_link+text_info;
cur_byte= cur_repl->tok_start;cur_end= (cur_repl+1)->tok_start;cur_section= 0;
/*:33*/
-#line 519 "ctangle.w"
+#line 525 "ctangle.w"
/*51:*/
-#line 578 "ctangle.w"
+#line 586 "ctangle.w"
if(!output_defs_seen)
output_defs();
/*:51*/
-#line 520 "ctangle.w"
+#line 526 "ctangle.w"
-if(text_info->text_link==0&&cur_out_file==end_output_files){
+if(text_info->text_link==macro&&cur_out_file==end_output_files){
fputs("\n! No program text was specified.",stdout);mark_harmless;
}
else{
if(cur_out_file==end_output_files){
-if(show_progress)
+if(show_progress){
printf("\nWriting the output file (%s):",C_file_name);
+update_terminal;
+}
}
else{
if(show_progress){
@@ -686,24 +697,24 @@ fputs("\nWriting the output files:",stdout);
printf(" (%s)",C_file_name);
update_terminal;
}
-if(text_info->text_link==0)goto writeloop;
+if(text_info->text_link==macro)goto writeloop;
}
while(stack_ptr> stack)get_output();
flush_buffer();
writeloop:/*50:*/
-#line 555 "ctangle.w"
+#line 563 "ctangle.w"
for(an_output_file= end_output_files;an_output_file> cur_out_file;){
an_output_file--;
sprint_section_name(output_file_name,*an_output_file);
fclose(C_file);
-C_file= fopen(output_file_name,"wb");
-if(C_file==0)fatal("! Cannot open output file ",output_file_name);
+if((C_file= fopen(output_file_name,"wb"))==NULL)
+fatal("! Cannot open output file ",output_file_name);
if(show_progress){printf("\n(%s)",output_file_name);update_terminal;}
cur_line= 1;
stack_ptr= stack+1;
-cur_name= (*an_output_file);
+cur_name= *an_output_file;
cur_repl= (text_pointer)cur_name->equiv;
cur_byte= cur_repl->tok_start;
cur_end= (cur_repl+1)->tok_start;
@@ -712,7 +723,7 @@ flush_buffer();
}
/*:50*/
-#line 541 "ctangle.w"
+#line 549 "ctangle.w"
if(show_happiness){
if(show_progress)new_line;
@@ -722,7 +733,7 @@ fputs("Done.",stdout);
}
/*:48*//*54:*/
-#line 589 "ctangle.w"
+#line 600 "ctangle.w"
static void
output_defs(void)
@@ -730,7 +741,7 @@ output_defs(void)
sixteen_bits a;
push_level(NULL);
for(cur_text= text_info+1;cur_text<text_ptr;cur_text++)
-if(cur_text->text_link==0){
+if(cur_text->text_link==macro){
cur_byte= cur_text->tok_start;
cur_end= (cur_text+1)->tok_start;
C_printf("%s","#define ");
@@ -746,11 +757,12 @@ else if(a<0200)out_char(a);
else{
a= (a-0200)*0400+*cur_byte++;
if(a<024000){
-cur_val= a;out_char(identifier);
+cur_val= (int)a;out_char(identifier);
}
-else if(a<050000){confusion("macro defs have strange char");}
+else if(a<050000)confusion("macro defs have strange char");
else{
-cur_val= a-050000;cur_section= cur_val;out_char(section_number);
+cur_val= (int)a-050000;cur_section= (sixteen_bits)cur_val;
+out_char(section_number);
}
}
@@ -762,7 +774,7 @@ pop_level(false);
}
/*:54*//*55:*/
-#line 632 "ctangle.w"
+#line 644 "ctangle.w"
static void
out_char(
@@ -775,55 +787,52 @@ case'\n':if(protect&&out_state!=verbatim)C_putc(' ');
if(protect||out_state==verbatim)C_putc('\\');
flush_buffer();if(out_state!=verbatim)out_state= normal;break;
/*59:*/
-#line 700 "ctangle.w"
+#line 712 "ctangle.w"
case identifier:
if(out_state==num_or_id)C_putc(' ');
-j= (cur_val+name_dir)->byte_start;
-k= (cur_val+name_dir+1)->byte_start;
-while(j<k){
+for(j= (cur_val+name_dir)->byte_start,k= (cur_val+name_dir+1)->byte_start;
+j<k;j++)
if((eight_bits)(*j)<0200)C_putc(*j);
else C_printf("%s",translit[(eight_bits)(*j)-0200]);
-j++;
-}
out_state= num_or_id;break;
/*:59*/
-#line 643 "ctangle.w"
+#line 655 "ctangle.w"
/*60:*/
-#line 713 "ctangle.w"
+#line 722 "ctangle.w"
case section_number:
if(cur_val> 0)C_printf("/*%d:*/",cur_val);
else if(cur_val<0)C_printf("/*:%d*/",-cur_val);
else if(protect){
cur_byte+= 4;
-cur_char= '\n';
+cur_char= (eight_bits)'\n';
goto restart;
}else{
sixteen_bits a;
-a= 0400**cur_byte++;
+a= *cur_byte++*0400;
a+= *cur_byte++;
-C_printf("\n#line %d \"",a);
+C_printf("\n#line %d \"",(int)a);
-cur_val= *cur_byte++;
-cur_val= 0400*(cur_val-0200)+*cur_byte++;
+cur_val= (int)(*cur_byte++-0200)*0400;
+cur_val+= *cur_byte++;
for(j= (cur_val+name_dir)->byte_start,k= (cur_val+name_dir+1)->byte_start;
j<k;j++){
if(*j=='\\'||*j=='"')C_putc('\\');
C_putc(*j);
}
-C_printf("%s","\"\n");
+C_putc('"');C_putc('\n');
}
break;
/*:60*/
-#line 644 "ctangle.w"
+#line 656 "ctangle.w"
/*56:*/
-#line 662 "ctangle.w"
+#line 674 "ctangle.w"
case plus_plus:C_putc('+');C_putc('+');out_state= normal;break;
case minus_minus:C_putc('-');C_putc('-');out_state= normal;break;
@@ -844,7 +853,7 @@ case minus_gt_ast:C_putc('-');C_putc('>');C_putc('*');out_state= normal;
break;
/*:56*/
-#line 645 "ctangle.w"
+#line 657 "ctangle.w"
case'=':case'>':C_putc(cur_char);C_putc(' ');
out_state= normal;break;
@@ -863,7 +872,7 @@ default:C_putc(cur_char);out_state= normal;break;
}
/*:55*//*64:*/
-#line 794 "ctangle.w"
+#line 803 "ctangle.w"
static eight_bits
skip_ahead(void)
@@ -881,7 +890,7 @@ if(c!=ignore||*(loc-1)=='>')return c;
}
/*:64*//*67:*/
-#line 833 "ctangle.w"
+#line 842 "ctangle.w"
static boolean skip_comment(
boolean is_long_comment)
@@ -915,22 +924,24 @@ else loc++;
}
/*:67*//*69:*/
-#line 881 "ctangle.w"
+#line 883 "ctangle.w"
static eight_bits
get_next(void)
{
-static int preprocessing= 0;
+static boolean preprocessing= false;
eight_bits c;
while(true){
if(loc> limit){
-if(preprocessing&&*(limit-1)!='\\')preprocessing= 0;
+if(preprocessing&&*(limit-1)!='\\')preprocessing= false;
if(get_line()==false)return new_section;
else if(print_where&&!no_where){
print_where= false;
/*85:*/
-#line 1214 "ctangle.w"
+#line 1229 "ctangle.w"
+{
+eight_bits a;
store_two_bytes(0150000);
if(changing&&include_depth==change_depth){
id_first= change_file_name;
@@ -940,41 +951,49 @@ id_first= cur_file_name;
store_two_bytes((sixteen_bits)cur_line);
}
id_loc= id_first+strlen(id_first);
-{int a_l= id_lookup(id_first,id_loc,0)-name_dir;app_repl((a_l/0400)+0200);
-app_repl(a_l%0400);}
+store_id(a);
+}
/*:85*/
-#line 893 "ctangle.w"
+#line 895 "ctangle.w"
}
-else return'\n';
+else return(eight_bits)'\n';
}
-c= *loc;
+c= (eight_bits)*loc;
if(comment_continues||(c=='/'&&(*(loc+1)=='*'||*(loc+1)=='/'))){
-skip_comment(comment_continues||*(loc+1)=='*');
+if(skip_comment(comment_continues||*(loc+1)=='*'))return'\n';
-if(comment_continues)return'\n';
else continue;
}
loc++;
if(xisdigit(c)||c=='.')/*73:*/
-#line 964 "ctangle.w"
+#line 967 "ctangle.w"
{
+boolean hex_flag= false;
id_first= loc-1;
if(*id_first=='.'&&!xisdigit(*loc))goto mistake;
if(*id_first=='0'){
if(*loc=='x'||*loc=='X'){
-loc++;while(xisxdigit(*loc))loc++;goto found;
+hex_flag= true;
+loc++;while(xisxdigit(*loc)||*loc=='\'')loc++;
+}
+else if(*loc=='b'||*loc=='B'){
+loc++;while(*loc=='0'||*loc=='1'||*loc=='\'')loc++;goto found;
}
}
-while(xisdigit(*loc))loc++;
+while(xisdigit(*loc)||*loc=='\'')loc++;
if(*loc=='.'){
loc++;
-while(xisdigit(*loc))loc++;
+while((hex_flag&&xisxdigit(*loc))||xisdigit(*loc)||*loc=='\'')loc++;
}
if(*loc=='e'||*loc=='E'){
if(*++loc=='+'||*loc=='-')loc++;
-while(xisdigit(*loc))loc++;
+while(xisdigit(*loc)||*loc=='\'')loc++;
+}
+else if(hex_flag&&(*loc=='p'||*loc=='P')){
+if(*++loc=='+'||*loc=='-')loc++;
+while(xisxdigit(*loc)||*loc=='\'')loc++;
}
found:while(*loc=='u'||*loc=='U'||*loc=='l'||*loc=='L'
||*loc=='f'||*loc=='F')loc++;
@@ -983,19 +1002,19 @@ return constant;
}
/*:73*/
-#line 905 "ctangle.w"
+#line 906 "ctangle.w"
else if(c=='\''||c=='"'
||((c=='L'||c=='u'||c=='U')&&(*loc=='\''||*loc=='"'))
||((c=='u'&&*loc=='8')&&(*(loc+1)=='\''||*(loc+1)=='"')))
/*74:*/
-#line 992 "ctangle.w"
+#line 1004 "ctangle.w"
{
-char delim= c;
+char delim= (char)c;
id_first= section_text+1;
id_loc= section_text;*++id_loc= delim;
if(delim=='L'||delim=='u'||delim=='U'){
-if(delim=='u'&&*loc=='8'){*++id_loc= *loc++;}
+if(delim=='u'&&*loc=='8')*++id_loc= *loc++;
delim= *loc++;*++id_loc= delim;
}
while(true){
@@ -1011,16 +1030,16 @@ err_print("! Input ended in middle of string");loc= buffer;break;
else if(++id_loc<=section_text_end)*id_loc= '\n';
}
-if((c= *loc++)==delim){
-if(++id_loc<=section_text_end)*id_loc= c;
+if((c= (eight_bits)*loc++)==delim){
+if(++id_loc<=section_text_end)*id_loc= (char)c;
break;
}
if(c=='\\'){
if(loc>=limit)continue;
if(++id_loc<=section_text_end)*id_loc= '\\';
-c= *loc++;
+c= (eight_bits)*loc++;
}
-if(++id_loc<=section_text_end)*id_loc= c;
+if(++id_loc<=section_text_end)*id_loc= (char)c;
}
if(id_loc>=section_text_end){
fputs("\n! String too long: ",stdout);
@@ -1033,26 +1052,27 @@ return string;
}
/*:74*/
-#line 909 "ctangle.w"
+#line 910 "ctangle.w"
-else if(isalpha(c)||isxalpha(c)||ishigh(c))
+else if(isalpha((int)c)||isxalpha(c)||ishigh(c))
/*72:*/
-#line 957 "ctangle.w"
+#line 958 "ctangle.w"
{
id_first= --loc;
-while(isalpha((eight_bits)*++loc)||isdigit((eight_bits)*loc)
-||isxalpha((eight_bits)*loc)||ishigh((eight_bits)*loc));
+do
+++loc;
+while(isalpha((int)*loc)||isdigit((int)*loc)
+||isxalpha(*loc)||ishigh(*loc));
id_loc= loc;return identifier;
}
/*:72*/
-#line 911 "ctangle.w"
+#line 912 "ctangle.w"
else if(c=='@')/*75:*/
-#line 1037 "ctangle.w"
-{
-c= ccode[(eight_bits)*loc++];
-switch(c){
+#line 1049 "ctangle.w"
+
+switch(c= ccode[(eight_bits)*loc++]){
case ignore:continue;
case translit_code:err_print("! Use @l in limbo only");continue;
@@ -1065,25 +1085,24 @@ continue;
case section_name:
cur_section_name_char= *(loc-1);
/*77:*/
-#line 1085 "ctangle.w"
+#line 1094 "ctangle.w"
{
-char*k;
+char*k= section_text;
/*79:*/
-#line 1105 "ctangle.w"
+#line 1116 "ctangle.w"
-k= section_text;
while(true){
if(loc> limit&&get_line()==false){
err_print("! Input ended in section name");
loc= buffer+1;break;
}
-c= *loc;
+c= (eight_bits)*loc;
/*80:*/
-#line 1129 "ctangle.w"
+#line 1139 "ctangle.w"
if(c=='@'){
-c= *(loc+1);
+c= (eight_bits)*(loc+1);
if(c=='>'){
loc+= 2;break;
}
@@ -1099,13 +1118,13 @@ err_print("! Nesting of section names not allowed");break;
}
/*:80*/
-#line 1114 "ctangle.w"
+#line 1124 "ctangle.w"
loc++;if(k<section_text_end)k++;
if(xisspace(c)){
-c= ' ';if(*(k-1)==' ')k--;
+c= (eight_bits)' ';if(*(k-1)==' ')k--;
}
-*k= c;
+*k= (char)c;
}
if(k>=section_text_end){
fputs("\n! Section name too long: ",stdout);
@@ -1116,14 +1135,16 @@ printf("...");mark_harmless;
if(*k==' '&&k> section_text)k--;
/*:79*/
-#line 1087 "ctangle.w"
+#line 1096 "ctangle.w"
if(k-section_text> 3&&strncmp(k-2,"...",3)==0)
-cur_section_name= section_lookup(section_text+1,k-3,1);
-else cur_section_name= section_lookup(section_text+1,k,0);
+cur_section_name= section_lookup(section_text+1,k-3,true);
+
+else cur_section_name= section_lookup(section_text+1,k,false);
+
if(cur_section_name_char=='(')
/*47:*/
-#line 497 "ctangle.w"
+#line 504 "ctangle.w"
{
for(an_output_file= cur_out_file;
@@ -1132,42 +1153,38 @@ if(*an_output_file==cur_section_name)break;
if(an_output_file==end_output_files){
if(cur_out_file> output_files)
*--cur_out_file= cur_section_name;
-else{
-overflow("output files");
-}
+else overflow("output files");
}
}
/*:47*/
-#line 1093 "ctangle.w"
+#line 1104 "ctangle.w"
return section_name;
}
/*:77*/
-#line 1051 "ctangle.w"
+#line 1062 "ctangle.w"
case string:/*81:*/
-#line 1151 "ctangle.w"
-{
+#line 1161 "ctangle.w"
+
id_first= loc++;*(limit+1)= '@';*(limit+2)= '>';
while(*loc!='@'||*(loc+1)!='>')loc++;
if(loc>=limit)err_print("! Verbatim string didn't end");
id_loc= loc;loc+= 2;
return string;
-}
/*:81*/
-#line 1052 "ctangle.w"
+#line 1063 "ctangle.w"
case ord:/*76:*/
-#line 1064 "ctangle.w"
+#line 1074 "ctangle.w"
id_first= loc;
-if(*loc=='\\'){
+if(*loc=='\\')
if(*++loc=='\'')loc++;
-}
while(*loc!='\''){
if(*loc=='@'){
if(*(loc+1)!='@')
@@ -1185,34 +1202,35 @@ loc++;
return ord;
/*:76*/
-#line 1053 "ctangle.w"
+#line 1064 "ctangle.w"
default:return c;
}
-}
/*:75*/
-#line 912 "ctangle.w"
+#line 913 "ctangle.w"
else if(xisspace(c)){
if(!preprocessing||loc> limit)continue;
-else return' ';
+else return(eight_bits)' ';
+
}
-else if(c=='#'&&loc==buffer+1)preprocessing= 1;
+else if(c=='#'&&loc==buffer+1)preprocessing= true;
mistake:/*71:*/
#line 935 "ctangle.w"
switch(c){
case'+':if(*loc=='+')compress(plus_plus);break;
case'-':if(*loc=='-'){compress(minus_minus);}
-else{if(*loc=='>'){if(*(loc+1)=='*'){loc++;compress(minus_gt_ast);}
-else compress(minus_gt);}}break;
+else if(*loc=='>'){
+if(*(loc+1)=='*'){loc++;compress(minus_gt_ast);}
+else compress(minus_gt);
+}break;
case'.':if(*loc=='*'){compress(period_ast);}
else if(*loc=='.'&&*(loc+1)=='.'){
loc++;compress(dot_dot_dot);
-}
-break;
+}break;
case':':if(*loc==':')compress(colon_colon);break;
case'=':if(*loc=='=')compress(eq_eq);break;
case'>':if(*loc=='='){compress(gt_eq);}
@@ -1225,23 +1243,25 @@ case'!':if(*loc=='=')compress(non_eq);break;
}
/*:71*/
-#line 919 "ctangle.w"
+#line 921 "ctangle.w"
return c;
}
}
/*:69*//*83:*/
-#line 1186 "ctangle.w"
+#line 1197 "ctangle.w"
static void
scan_repl(
eight_bits t)
{
sixteen_bits a;
-if(t==section_name){/*85:*/
-#line 1214 "ctangle.w"
+if(t==section_name)/*85:*/
+#line 1229 "ctangle.w"
+{
+eight_bits a;
store_two_bytes(0150000);
if(changing&&include_depth==change_depth){
id_first= change_file_name;
@@ -1251,23 +1271,21 @@ id_first= cur_file_name;
store_two_bytes((sixteen_bits)cur_line);
}
id_loc= id_first+strlen(id_first);
-{int a_l= id_lookup(id_first,id_loc,0)-name_dir;app_repl((a_l/0400)+0200);
-app_repl(a_l%0400);}
+store_id(a);
+}
/*:85*/
-#line 1192 "ctangle.w"
-}
+#line 1203 "ctangle.w"
+
while(true)switch(a= get_next()){
/*86:*/
-#line 1227 "ctangle.w"
+#line 1244 "ctangle.w"
-case identifier:a= id_lookup(id_first,id_loc,0)-name_dir;
-app_repl((a/0400)+0200);
-app_repl(a%0400);break;
+case identifier:store_id(a);break;
case section_name:if(t!=section_name)goto done;
else{
/*87:*/
-#line 1260 "ctangle.w"
+#line 1278 "ctangle.w"
{
char*try_loc= loc;
while(*try_loc==' '&&try_loc<limit)try_loc++;
@@ -1280,14 +1298,16 @@ if(*try_loc=='=')err_print("! Missing `@ ' before a named section");
}
/*:87*/
-#line 1233 "ctangle.w"
+#line 1248 "ctangle.w"
a= cur_section_name-name_dir;
app_repl((a/0400)+0250);
app_repl(a%0400);
/*85:*/
-#line 1214 "ctangle.w"
+#line 1229 "ctangle.w"
+{
+eight_bits a;
store_two_bytes(0150000);
if(changing&&include_depth==change_depth){
id_first= change_file_name;
@@ -1297,13 +1317,14 @@ id_first= cur_file_name;
store_two_bytes((sixteen_bits)cur_line);
}
id_loc= id_first+strlen(id_first);
-{int a_l= id_lookup(id_first,id_loc,0)-name_dir;app_repl((a_l/0400)+0200);
-app_repl(a_l%0400);}
+store_id(a);
+}
/*:85*/
-#line 1237 "ctangle.w"
-break;
+#line 1252 "ctangle.w"
+
}
+break;
case output_defs_code:if(t!=section_name)err_print("! Misplaced @h");
else{
@@ -1312,8 +1333,10 @@ a= output_defs_flag;
app_repl((a/0400)+0200);
app_repl(a%0400);
/*85:*/
-#line 1214 "ctangle.w"
+#line 1229 "ctangle.w"
+{
+eight_bits a;
store_two_bytes(0150000);
if(changing&&include_depth==change_depth){
id_first= change_file_name;
@@ -1323,17 +1346,17 @@ id_first= cur_file_name;
store_two_bytes((sixteen_bits)cur_line);
}
id_loc= id_first+strlen(id_first);
-{int a_l= id_lookup(id_first,id_loc,0)-name_dir;app_repl((a_l/0400)+0200);
-app_repl(a_l%0400);}
+store_id(a);
+}
/*:85*/
-#line 1246 "ctangle.w"
+#line 1262 "ctangle.w"
}
break;
case constant:case string:
/*88:*/
-#line 1271 "ctangle.w"
+#line 1295 "ctangle.w"
app_repl(a);
while(id_first<id_loc){
@@ -1342,20 +1365,23 @@ if(*(id_first+1)=='@')id_first++;
else err_print("! Double @ should be used in string");
}
+else if(a==constant&&*id_first=='\''&&!keep_digit_separators)
+id_first++;
app_repl(*id_first++);
}
-app_repl(a);break;
+app_repl(a);
/*:88*/
-#line 1250 "ctangle.w"
+#line 1266 "ctangle.w"
+break;
case ord:
/*89:*/
-#line 1287 "ctangle.w"
+#line 1313 "ctangle.w"
{
-int c= (eight_bits)*id_first;
+int c= (int)((eight_bits)*id_first);
if(c=='\\'){
-c= *++id_first;
+c= (int)((eight_bits)*++id_first);
if(c>='0'&&c<='7'){
c-= '0';
if(*(id_first+1)>='0'&&*(id_first+1)<='7'){
@@ -1374,15 +1400,15 @@ case'r':c= '\r';break;
case'a':c= '\7';break;
case'?':c= '?';break;
case'x':
-if(xisdigit(*(id_first+1)))c= *(++id_first)-'0';
+if(xisdigit(*(id_first+1)))c= (int)(*(++id_first)-'0');
else if(xisxdigit(*(id_first+1))){
++id_first;
-c= toupper((eight_bits)*id_first)-'A'+10;
+c= toupper((int)*id_first)-'A'+10;
}
-if(xisdigit(*(id_first+1)))c= 16*c+*(++id_first)-'0';
+if(xisdigit(*(id_first+1)))c= 16*c+(int)(*(++id_first)-'0');
else if(xisxdigit(*(id_first+1))){
++id_first;
-c= 16*c+toupper((eight_bits)*id_first)-'A'+10;
+c= 16*c+toupper((int)*id_first)-(int)'A'+10;
}
break;
case'\\':c= '\\';break;
@@ -1394,16 +1420,16 @@ default:err_print("! Unrecognized escape sequence");
}
app_repl(constant);
-if(c>=100)app_repl('0'+c/100);
-if(c>=10)app_repl('0'+(c/10)%10);
-app_repl('0'+c%10);
+if(c>=100)app_repl((int)'0'+c/100);
+if(c>=10)app_repl((int)'0'+(c/10)%10);
+app_repl((int)'0'+c%10);
app_repl(constant);
}
-break;
/*:89*/
-#line 1252 "ctangle.w"
+#line 1269 "ctangle.w"
+break;
case definition:case format_code:case begin_C:if(t!=section_name)goto done;
else{
err_print("! @d, @f and @c are ignored in C text");continue;
@@ -1412,7 +1438,7 @@ err_print("! @d, @f and @c are ignored in C text");continue;
case new_section:goto done;
/*:86*/
-#line 1197 "ctangle.w"
+#line 1208 "ctangle.w"
case')':app_repl(a);
if(t==macro)app_repl(' ');
@@ -1425,7 +1451,7 @@ cur_text= text_ptr;(++text_ptr)->tok_start= tok_ptr;
}
/*:83*//*90:*/
-#line 1346 "ctangle.w"
+#line 1371 "ctangle.w"
static void
scan_section(void)
@@ -1435,12 +1461,12 @@ text_pointer q;
sixteen_bits a;
section_count++;no_where= true;
if(*(loc-1)=='*'&&show_progress){
-printf("*%d",section_count);update_terminal;
+printf("*%d",(int)section_count);update_terminal;
}
-next_control= 0;
+next_control= ignore;
while(true){
/*92:*/
-#line 1387 "ctangle.w"
+#line 1412 "ctangle.w"
while(next_control<definition)
@@ -1449,30 +1475,27 @@ loc-= 2;next_control= get_next();
}
/*:92*/
-#line 1360 "ctangle.w"
+#line 1385 "ctangle.w"
if(next_control==definition){
/*93:*/
-#line 1394 "ctangle.w"
-{
+#line 1419 "ctangle.w"
+
while((next_control= get_next())=='\n');
if(next_control!=identifier){
err_print("! Definition flushed, must start with identifier");
continue;
}
-app_repl(((a= id_lookup(id_first,id_loc,0)-name_dir)/0400)+0200);
-
-app_repl(a%0400);
+store_id(a);
if(*loc!='('){
app_repl(string);app_repl(' ');app_repl(string);
}
scan_repl(macro);
cur_text->text_link= macro;
-}
/*:93*/
-#line 1362 "ctangle.w"
+#line 1387 "ctangle.w"
continue;
}
@@ -1482,14 +1505,14 @@ p= name_dir;break;
if(next_control==section_name){
p= cur_section_name;
/*94:*/
-#line 1419 "ctangle.w"
+#line 1441 "ctangle.w"
while((next_control= get_next())=='+');
if(next_control!='='&&next_control!=eq_eq)
continue;
/*:94*/
-#line 1370 "ctangle.w"
+#line 1395 "ctangle.w"
break;
}
@@ -1497,23 +1520,23 @@ return;
}
no_where= print_where= false;
/*95:*/
-#line 1424 "ctangle.w"
+#line 1446 "ctangle.w"
/*96:*/
-#line 1429 "ctangle.w"
+#line 1451 "ctangle.w"
store_two_bytes((sixteen_bits)(0150000+section_count));
/*:96*/
-#line 1425 "ctangle.w"
+#line 1447 "ctangle.w"
scan_repl(section_name);
/*97:*/
-#line 1433 "ctangle.w"
+#line 1455 "ctangle.w"
-if(p==name_dir||p==0){
-(last_unnamed)->text_link= cur_text-text_info;last_unnamed= cur_text;
+if(p==name_dir||p==NULL){
+last_unnamed->text_link= cur_text-text_info;last_unnamed= cur_text;
}
else if(p->equiv==(void*)text_info)p->equiv= (void*)cur_text;
@@ -1527,16 +1550,16 @@ cur_text->text_link= section_flag;
/*:97*/
-#line 1427 "ctangle.w"
+#line 1449 "ctangle.w"
/*:95*/
-#line 1376 "ctangle.w"
+#line 1401 "ctangle.w"
}
/*:90*//*98:*/
-#line 1448 "ctangle.w"
+#line 1470 "ctangle.w"
static void
phase_one(void){
@@ -1546,26 +1569,24 @@ reset_input();
skip_limbo();
while(!input_has_ended)scan_section();
check_complete();
-phase= 2;
}
/*:98*//*100:*/
-#line 1465 "ctangle.w"
+#line 1486 "ctangle.w"
static void
skip_limbo(void)
{
-char c;
while(true){
if(loc> limit&&get_line()==false)return;
*(limit+1)= '@';
while(*loc!='@')loc++;
if(loc++<=limit){
-c= *loc++;
-if(ccode[(eight_bits)c]==new_section)break;
+char c= *loc++;
switch(ccode[(eight_bits)c]){
+case new_section:return;
case translit_code:/*102:*/
-#line 1496 "ctangle.w"
+#line 1516 "ctangle.w"
while(xisspace(*loc)&&loc<limit)loc++;
loc+= 3;
@@ -1590,11 +1611,11 @@ translit[i-0200][loc-beg]= '\0';
}
/*:102*/
-#line 1478 "ctangle.w"
+#line 1498 "ctangle.w"
break;
case format_code:case'@':break;
case control_text:if(c=='q'||c=='Q'){
-while((c= skip_ahead())=='@');
+while((c= (char)skip_ahead())=='@');
if(*(loc-1)!='>')
err_print("! Double @ should be used in control text");
@@ -1608,18 +1629,18 @@ default:err_print("! Double @ should be used in limbo");
}
/*:100*//*103:*/
-#line 1522 "ctangle.w"
+#line 1542 "ctangle.w"
void
print_stats(void){
puts("\nMemory usage statistics:");
-printf("%ld names (out of %ld)\n",
+printf("%td names (out of %ld)\n",
(ptrdiff_t)(name_ptr-name_dir),(long)max_names);
-printf("%ld replacement texts (out of %ld)\n",
+printf("%td replacement texts (out of %ld)\n",
(ptrdiff_t)(text_ptr-text_info),(long)max_texts);
-printf("%ld bytes (out of %ld)\n",
+printf("%td bytes (out of %ld)\n",
(ptrdiff_t)(byte_ptr-byte_mem),(long)max_bytes);
-printf("%ld tokens (out of %ld)\n",
+printf("%td tokens (out of %ld)\n",
(ptrdiff_t)(tok_ptr-tok_mem),(long)max_toks);
}
diff --git a/web/c_cpp/cweb/ctangle.w b/web/c_cpp/cweb/ctangle.w
index e7e2d311fe..1a9e8065af 100644
--- a/web/c_cpp/cweb/ctangle.w
+++ b/web/c_cpp/cweb/ctangle.w
@@ -2,7 +2,7 @@
% This program by Silvio Levy and Donald E. Knuth
% is based on a program by Knuth.
% It is distributed WITHOUT ANY WARRANTY, express or implied.
-% Version 4.2 --- February 2021
+% Version 4.6 --- December 2021
% Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth
@@ -27,11 +27,11 @@
\mathchardef\RA="3221 % right arrow
\mathchardef\BA="3224 % double arrow
-\def\title{CTANGLE (Version 4.2)}
+\def\title{CTANGLE (Version 4.6)}
\def\topofcontents{\null\vfill
\centerline{\titlefont The {\ttitlefont CTANGLE} processor}
\vskip 15pt
- \centerline{(Version 4.2)}
+ \centerline{(Version 4.6)}
\vfill}
\def\botofcontents{\vfill
\noindent
@@ -61,7 +61,7 @@ Joachim Schrod, Lee Wittenberg, and others who have contributed improvements.
The ``banner line'' defined here should be changed whenever \.{CTANGLE}
is modified.
-@d banner "This is CTANGLE (Version 4.2)"
+@d banner "This is CTANGLE (Version 4.6)"
@c
@<Include files@>@/
@@ -75,7 +75,7 @@ is modified.
two phases: First it reads the source file, saving the \CEE/ code in
compressed form; then it shuffles and outputs the code.
-Please read the documentation for \.{common}, the set of routines common
+Please read the documentation for \.{COMMON}, the set of routines common
to \.{CTANGLE} and \.{CWEAVE}, before proceeding further.
@c
@@ -126,7 +126,9 @@ typedef struct {
} text;
typedef text *text_pointer;
-@ @<Private...@>=
+@ @d max_texts 2500 /* number of replacement texts, must be less than 10240 */
+@d max_toks 270000 /* number of bytes in compressed \CEE/ code */
+@<Private...@>=
static text text_info[max_texts];
static text_pointer text_info_end=text_info+max_texts-1;
static text_pointer text_ptr; /* first unused position in |text_info| */
@@ -151,14 +153,13 @@ init_node(name_dir); /* the undefined section has no replacement text */
starting at position |first| equals the identifier pointed to by |p|:
@c
-boolean names_match(@t\1\1@>
+boolean names_match(
name_pointer p, /* points to the proposed match */
const char *first, /* position of first character of string */
size_t l, /* length of identifier */
-eight_bits t@t\2\2@>) /* not used by \.{TANGLE} */
-{@+(void)t;
- if (length(p)!=l) return false;
- return !strncmp(first,p->byte_start,l);
+eight_bits t) /* not used by \.{TANGLE} */
+{@+(void)t;@/
+ return length(p)==l && strncmp(first,p->byte_start,l)==0;
}
@ The common lookup routine refers to separate routines |init_node| and
@@ -193,12 +194,13 @@ name, and they also tie together all the \CEE/ texts of unnamed sections.
The replacement text pointer for the first unnamed section appears in
|text_info->text_link|, and the most recent such pointer is |last_unnamed|.
+@d macro 0
@d section_flag max_texts /* final |text_link| in section replacement texts */
@<Private...@>=
static text_pointer last_unnamed; /* most recent replacement text of unnamed section */
-@ @<Set init...@>= last_unnamed=text_info; text_info->text_link=0;
+@ @<Set init...@>= last_unnamed=text_info; text_info->text_link=macro;
@ If the first byte of a token is less than |0200|, the token occupies a
single byte. Otherwise we make a sixteen-bit token by combining two consecutive
@@ -214,16 +216,19 @@ Codes less than |0200| are 7-bit |char| codes that represent themselves.
Some of the 7-bit codes will not be present, however, so we can
use them for special purposes. The following symbolic names are used:
-\yskip \hang |join| denotes the concatenation of adjacent items with no
-space or line breaks allowed between them (the \.{@@\&} operation of \.{CWEB}).
+\yskip \hang |string| denotes the beginning or end of a string
+or a verbatim construction.
+
+\hang |constant| denotes a numerical constant.
-\hang |string| denotes the beginning or end of a string, verbatim
-construction or numerical constant.
+\hang |join| denotes the concatenation of adjacent items with no space
+or line breaks allowed between them (the \.{@@\&} operation of \.{CWEB}).
@^ASCII code dependencies@>
-@d string 02 /* takes the place of extended ASCII \.{\char2} */
-@d join 0177 /* takes the place of ASCII delete */
-@d output_defs_flag (2*024000-1)
+@d string 02 /* takes the place of ASCII \.{STX} */
+@d constant 03 /* takes the place of ASCII \.{ETX} */
+@d join 0177 /* takes the place of ASCII \.{DEL} */
+@d output_defs_flag (2*024000-1) /* |024000==(0250-0200)*0400| */
@ The following procedure is used to enter a two-byte value into
|tok_mem| when a replacement text is being generated.
@@ -276,7 +281,8 @@ typedef struct {
} output_state;
typedef output_state *stack_pointer;
-@ @d cur_end cur_state.end_field /* current ending location in |tok_mem| */
+@ @d stack_size 50 /* number of simultaneous levels of macro expansion */
+@d cur_end cur_state.end_field /* current ending location in |tok_mem| */
@d cur_byte cur_state.byte_field /* location of next output byte in |tok_mem|*/
@d cur_name cur_state.name_field /* pointer to current name being expanded */
@d cur_repl cur_state.repl_field /* pointer to current replacement text */
@@ -308,8 +314,8 @@ We assume that the \CEE/ compiler can copy structures.
@c
static void
-push_level(@t\1\1@> /* suspends the current level */
-name_pointer p@t\2\2@>)
+push_level( /* suspends the current level */
+name_pointer p)
{
if (stack_ptr==stack_end) overflow("stack");
*stack_ptr=cur_state;
@@ -331,8 +337,8 @@ text or returns the state to the most recently stacked level.
@c
static void
-pop_level(@t\1\1@> /* do this when |cur_byte| reaches |cur_end| */
-boolean flag@t\2\2@>) /* |flag==false| means we are in |output_defs| */
+pop_level( /* do this when |cur_byte| reaches |cur_end| */
+boolean flag) /* |flag==false| means we are in |output_defs| */
{
if (flag && cur_repl->text_link<section_flag) { /* link to a continuation */
cur_repl=cur_repl->text_link+text_info; /* stay on the same level */
@@ -350,7 +356,7 @@ necessary stacking and unstacking. It sends the value |section_number|
if the next output begins or ends the replacement text of some section,
in which case |cur_val| is that section's number (if beginning) or the
negative of that value (if ending). (A section number of 0 indicates
-not the beginning or ending of a section, but a \&{\#line} command.)
+not the beginning or ending of a section, but a \#\&{line} command.)
And it sends the value |identifier|
if the next output is an identifier, in which case
|cur_val| points to that identifier name.
@@ -384,11 +390,12 @@ get_output(void) /* sends next token to |out_char| */
else {
a=(a-0200)*0400+*cur_byte++;
switch (a/024000) { /* |024000==(0250-0200)*0400| */
- case 0: cur_val=a; out_char(identifier); break;
+ case 0: cur_val=(int)a; out_char(identifier); break;
case 1: if (a==output_defs_flag) output_defs();
else @<Expand section |a-024000|, |goto restart|@>@;
break;
- default: cur_val=a-050000; if (cur_val>0) cur_section=cur_val;
+ default: cur_val=(int)a-050000;
+ if (cur_val>0) cur_section=(sixteen_bits)cur_val;
out_char(section_number);
}
}
@@ -463,7 +470,7 @@ flush_buffer(void) /* writes one line to output file */
{
C_putc('\n');
if (cur_line % 100 == 0 && show_progress) {
- printf(".");
+ putchar('.');
if (cur_line % 500 == 0) printf("%d",cur_line);
update_terminal; /* progress report */
}
@@ -502,9 +509,7 @@ complain we're out of room@>=
if (an_output_file==end_output_files) {
if (cur_out_file>output_files)
*--cur_out_file=cur_section_name;
- else {
- overflow("output files");
- }
+ else overflow("output files");
}
}
@@ -514,18 +519,21 @@ output.
@c
static void
phase_two (void) {
+ phase=2;
web_file_open=false;
cur_line=1;
@<Initialize the output stacks@>@;
@<Output macro definitions if appropriate@>@;
- if (text_info->text_link==0 && cur_out_file==end_output_files) {
+ if (text_info->text_link==macro && cur_out_file==end_output_files) {
fputs("\n! No program text was specified.",stdout); mark_harmless;
@.No program text...@>
}
else {
- if(cur_out_file==end_output_files) {
- if(show_progress)
+ if (cur_out_file==end_output_files) {
+ if (show_progress) {
printf("\nWriting the output file (%s):",C_file_name);
+ update_terminal;
+ }
}
else {
if (show_progress) {
@@ -534,7 +542,7 @@ phase_two (void) {
printf(" (%s)",C_file_name);
update_terminal;
}
- if (text_info->text_link==0) goto writeloop;
+ if (text_info->text_link==macro) goto writeloop;
}
while (stack_ptr>stack) get_output();
flush_buffer();
@@ -557,14 +565,14 @@ for (an_output_file=end_output_files; an_output_file>cur_out_file;) {
an_output_file--;
sprint_section_name(output_file_name,*an_output_file);
fclose(C_file);
- C_file=fopen(output_file_name,"wb");
- if (C_file ==0) fatal("! Cannot open output file ",output_file_name);
+ if ((C_file=fopen(output_file_name,"wb"))==NULL)
+ fatal("! Cannot open output file ",output_file_name);
@.Cannot open output file@>
if (show_progress) { printf("\n(%s)",output_file_name); update_terminal; }
cur_line=1;
stack_ptr=stack+1;
- cur_name= (*an_output_file);
- cur_repl= (text_pointer)cur_name->equiv;
+ cur_name=*an_output_file;
+ cur_repl=(text_pointer)cur_name->equiv;
cur_byte=cur_repl->tok_start;
cur_end=(cur_repl+1)->tok_start;
while (stack_ptr > stack) get_output();
@@ -586,14 +594,17 @@ static boolean output_defs_seen=false;
static void output_defs(void);@/
static void out_char(eight_bits);
-@ @c
+@ @d C_printf(c,a) fprintf(C_file,c,a)
+@d C_putc(c) putc((int)(c),C_file) /* isn't \CEE/ wonderfully consistent? */
+
+@c
static void
output_defs(void)
{
sixteen_bits a;
push_level(NULL);
for (cur_text=text_info+1; cur_text<text_ptr; cur_text++)
- if (cur_text->text_link==0) { /* |cur_text| is the text for a macro */
+ if (cur_text->text_link==macro) { /* |cur_text| is the text for a |macro| */
cur_byte=cur_text->tok_start;
cur_end=(cur_text+1)->tok_start;
C_printf("%s","#define ");
@@ -609,11 +620,12 @@ output_defs(void)
else {
a=(a-0200)*0400+*cur_byte++;
if (a<024000) { /* |024000==(0250-0200)*0400| */
- cur_val=a; out_char(identifier);
+ cur_val=(int)a; out_char(identifier);
}
- else if (a<050000) { confusion("macro defs have strange char");}
+ else if (a<050000) confusion("macro defs have strange char");
else {
- cur_val=a-050000; cur_section=cur_val; out_char(section_number);
+ cur_val=(int)a-050000; cur_section=(sixteen_bits)cur_val;
+ out_char(section_number);
}
/* no other cases */
}
@@ -643,7 +655,7 @@ restart:
@/@t\4@>@<Case of an identifier@>@;
@/@t\4@>@<Case of a section number@>@;
@/@t\4@>@<Cases like \.{!=}@>@;
- case '=': case '>': C_putc(cur_char); C_putc(' ');
+ case '=': case '>': C_putc(cur_char);@+C_putc(' ');
out_state=normal; break;
case join: out_state=unbreakable; break;
case constant: if (out_state==verbatim) {
@@ -659,7 +671,7 @@ restart:
}
}
-@ @<Cases like \.{!=}@>=
+@ @<Cases like \.{!=}@>=@t\1\quad@>
case plus_plus: C_putc('+');@+C_putc('+'); out_state=normal; break;
case minus_minus: C_putc('-');@+C_putc('-'); out_state=normal; break;
case minus_gt: C_putc('-');@+C_putc('>'); out_state=normal; break;
@@ -697,41 +709,38 @@ static char translit[128][translit_length];
for (i=0;i<128;i++) sprintf(translit[i],"X%02X",(unsigned int)(128+i));
}
-@ @<Case of an identifier@>=
+@ @<Case of an identifier@>=@t\1\quad@>
case identifier:
if (out_state==num_or_id) C_putc(' ');
- j=(cur_val+name_dir)->byte_start;
- k=(cur_val+name_dir+1)->byte_start;
- while (j<k) {
+ for (j=(cur_val+name_dir)->byte_start, k=(cur_val+name_dir+1)->byte_start;
+ j<k; j++)
if ((eight_bits)(*j)<0200) C_putc(*j);
@^high-bit character handling@>
else C_printf("%s",translit[(eight_bits)(*j)-0200]);
- j++;
- }
out_state=num_or_id; break;
-@ @<Case of a sec...@>=
+@ @<Case of a sec...@>=@t\1\quad@>
case section_number:
if (cur_val>0) C_printf("/*%d:*/",cur_val);
else if(cur_val<0) C_printf("/*:%d*/",-cur_val);
else if (protect) {
cur_byte +=4; /* skip line number and file name */
- cur_char = '\n';
+ cur_char = (eight_bits)'\n';
goto restart;
} else {
sixteen_bits a;
- a=0400* *cur_byte++;
+ a=*cur_byte++ *0400;
a+=*cur_byte++; /* gets the line number */
- C_printf("\n#line %d \"",a);
+ C_printf("\n#line %d \"",(int)a);
@:line}{\.{\#line}@>
- cur_val=*cur_byte++;
- cur_val=0400*(cur_val-0200)+ *cur_byte++; /* points to the file name */
+ cur_val=(int)(*cur_byte++-0200)*0400;
+ cur_val+=*cur_byte++; /* points to the file name */
for (j=(cur_val+name_dir)->byte_start, k=(cur_val+name_dir+1)->byte_start;
j<k; j++) {
if (*j=='\\' || *j=='"') C_putc('\\');
C_putc(*j);
}
- C_printf("%s","\"\n");
+ C_putc('"');@+C_putc('\n');
}
break;
@@ -756,7 +765,7 @@ of these internal code numbers has been chosen to simplify the program logic;
larger numbers are given to the control codes that denote more significant
milestones.
-@d ignore 0 /* control code of no interest to \.{CTANGLE} */
+@d ignore 00 /* control code of no interest to \.{CTANGLE} */
@d ord 0302 /* control code for `\.{@@'}' */
@d control_text 0303 /* control code for `\.{@@t}', `\.{@@\^}', etc. */
@d translit_code 0304 /* control code for `\.{@@l}' */
@@ -773,20 +782,20 @@ static eight_bits ccode[256]; /* meaning of a char following \.{@@} */
@ @<Set ini...@>= {
int c; /* must be |int| so the |for| loop will end */
for (c=0; c<256; c++) ccode[c]=ignore;
- ccode[' ']=ccode['\t']=ccode['\n']=ccode['\v']=ccode['\r']=ccode['\f']
- =ccode['*']=new_section;
- ccode['@@']='@@'; ccode['=']=string;
- ccode['d']=ccode['D']=definition;
- ccode['f']=ccode['F']=ccode['s']=ccode['S']=format_code;
- ccode['c']=ccode['C']=ccode['p']=ccode['P']=begin_C;
- ccode['^']=ccode[':']=ccode['.']=ccode['t']=ccode['T']=
- ccode['q']=ccode['Q']=control_text;
- ccode['h']=ccode['H']=output_defs_code;
- ccode['l']=ccode['L']=translit_code;
- ccode['&']=join;
- ccode['<']=ccode['(']=section_name;
- ccode['\'']=ord;
}
+ccode[' ']=ccode['\t']=ccode['\n']=ccode['\v']=ccode['\r']=ccode['\f']
+ =ccode['*']=new_section;
+ccode['@@']=(eight_bits)'@@'; ccode['=']=string;
+ccode['d']=ccode['D']=definition;
+ccode['f']=ccode['F']=ccode['s']=ccode['S']=format_code;
+ccode['c']=ccode['C']=ccode['p']=ccode['P']=begin_C;
+ccode['^']=ccode[':']=ccode['.']=ccode['t']=ccode['T']=
+ccode['q']=ccode['Q']=control_text;
+ccode['h']=ccode['H']=output_defs_code;
+ccode['l']=ccode['L']=translit_code;
+ccode['&']=join;
+ccode['<']=ccode['(']=section_name;
+ccode['\'']=ord;
@ The |skip_ahead| procedure reads through the input at fairly high speed
until finding the next non-ignorable control code, which it returns.
@@ -817,7 +826,7 @@ to the output. If the comment is introduced by \.{/*}, |skip_comment|
proceeds until finding the end-comment token \.{*/} or a newline; in the
latter case |skip_comment| will be called again by |get_next|, since the
comment is not finished. This is done so that each newline in the
-\CEE/ part of a section is copied to the output; otherwise the \&{\#line}
+\CEE/ part of a section is copied to the output; otherwise the \#\&{line}
commands inserted into the \CEE/ file by the output routines become useless.
On the other hand, if the comment is introduced by \.{//} (i.e., if it
is a \CPLUSPLUS/ ``short comment''), it always is simply delimited by the next
@@ -831,15 +840,15 @@ No comment, long or short, is allowed to contain `\.{@@\ }' or `\.{@@*}'.
static boolean comment_continues=false; /* are we scanning a comment? */
@ @c
-static boolean skip_comment(@t\1\1@> /* skips over comments */
-boolean is_long_comment@t\2\2@>)
+static boolean skip_comment( /* skips over comments */
+boolean is_long_comment)
{
char c; /* current character */
while (true) {
if (loc>limit) {
if (is_long_comment) {
- if(get_line()) return comment_continues=true;
- else{
+ if (get_line()) return comment_continues=true;
+ else {
err_print("! Input ended in mid-comment");
@.Input ended in mid-comment@>
return comment_continues=false;
@@ -864,8 +873,6 @@ boolean is_long_comment@t\2\2@>)
@* Inputting the next token.
-@d constant 03
-
@<Private...@>=
static name_pointer cur_section_name; /* name of section just scanned */
static boolean no_where; /* suppress |print_where|? */
@@ -873,32 +880,26 @@ static boolean no_where; /* suppress |print_where|? */
@ As one might expect, |get_next| consists mostly of a big switch
that branches to the various special cases that can arise.
-@d isxalpha(c) ((c)=='_' || (c)=='$')
- /* non-alpha characters allowed in identifier */
-@d ishigh(c) ((eight_bits)(c)>0177)
-@^high-bit character handling@>
-
@c
static eight_bits
get_next(void) /* produces the next input token */
{
- static int preprocessing=0;
+ static boolean preprocessing=false;
eight_bits c; /* the current character */
while (true) {
if (loc>limit) {
- if (preprocessing && *(limit-1)!='\\') preprocessing=0;
+ if (preprocessing && *(limit-1)!='\\') preprocessing=false;
if (get_line()==false) return new_section;
else if (print_where && !no_where) {
print_where=false;
@<Insert the line number into |tok_mem|@>@;
}
- else return '\n';
+ else return (eight_bits)'\n';
}
- c=*loc;
+ c=(eight_bits)*loc;
if (comment_continues || (c=='/' && (*(loc+1)=='*' || *(loc+1)=='/'))) {
- skip_comment(comment_continues||*(loc+1)=='*');
+ if (skip_comment(comment_continues||*(loc+1)=='*')) return '\n';
/* scan to end of comment or newline */
- if (comment_continues) return '\n';
else continue;
}
loc++;
@@ -907,15 +908,16 @@ get_next(void) /* produces the next input token */
|| ((c=='L' || c=='u' || c=='U')&&(*loc=='\'' || *loc=='"'))@|
|| ((c=='u' && *loc=='8')&&(*(loc+1)=='\'' || *(loc+1)=='"')))
@<Get a string@>@;
- else if (isalpha(c) || isxalpha(c) || ishigh(c))
+ else if (isalpha((int)c) || isxalpha(c) || ishigh(c))
@<Get an identifier@>@;
else if (c=='@@') @<Get control code and possible section name@>@;
else if (xisspace(c)) {
if (!preprocessing || loc>limit) continue;
/* we don't want a blank after a final backslash */
- else return ' '; /* ignore spaces and tabs, unless preprocessing */
+ else return (eight_bits)' ';
+ /* ignore spaces and tabs, unless |preprocessing| */
}
- else if (c=='#' && loc==buffer+1) preprocessing=1;
+ else if (c=='#' && loc==buffer+1) preprocessing=true;
mistake: @<Compress two-symbol operator@>@;
return c;
}
@@ -924,30 +926,29 @@ get_next(void) /* produces the next input token */
@ @<Predecl...@>=@+static eight_bits get_next(void);
@ The following code assigns values to the combinations \.{++},
-\.{--}, \.{->}, \.{>=}, \.{<=}, \.{==}, \.{<<}, \.{>>}, \.{!=}, \.{||} and
-\.{\&\&}, and to the \CPLUSPLUS/
+\.{--}, \.{->}, \.{>=}, \.{<=}, \.{==}, \.{<<}, \.{>>}, \.{!=}, %\.{||}
+\.{\v\v} and~\.{\&\&}, and to the \CPLUSPLUS/
combinations \.{...}, \.{::}, \.{.*} and \.{->*}.
The compound assignment operators (e.g., \.{+=}) are
treated as separate tokens.
-@d compress(c) if (loc++<=limit) return c
-
@<Compress tw...@>=
switch(c) {
case '+': if (*loc=='+') compress(plus_plus); break;
- case '-': if (*loc=='-') {compress(minus_minus);}
- else { if (*loc=='>') { if (*(loc+1)=='*') {loc++; compress(minus_gt_ast);}
- else compress(minus_gt); } } break;
- case '.': if (*loc=='*') {compress(period_ast);}
+ case '-': if (*loc=='-') {@+compress(minus_minus);@+}
+ else if (*loc=='>') {
+ if (*(loc+1)=='*') {loc++;@+compress(minus_gt_ast);}
+ else compress(minus_gt);
+ } break;
+ case '.': if (*loc=='*') {@+compress(period_ast);@+}
else if (*loc=='.' && *(loc+1)=='.') {
- loc++; compress(dot_dot_dot);
- }
- break;
+ loc++;@+compress(dot_dot_dot);
+ } break;
case ':': if (*loc==':') compress(colon_colon); break;
case '=': if (*loc=='=') compress(eq_eq); break;
- case '>': if (*loc=='=') {compress(gt_eq);}
+ case '>': if (*loc=='=') {@+compress(gt_eq);@+}
else if (*loc=='>') compress(gt_gt); break;
- case '<': if (*loc=='=') {compress(lt_eq);}
+ case '<': if (*loc=='=') {@+compress(lt_eq);@+}
else if (*loc=='<') compress(lt_lt); break;
case '&': if (*loc=='&') compress(and_and); break;
case '|': if (*loc=='|') compress(or_or); break;
@@ -956,30 +957,41 @@ switch(c) {
@ @<Get an identifier@>= {
id_first=--loc;
- while (isalpha((eight_bits)*++loc) || isdigit((eight_bits)*loc) @|
- || isxalpha((eight_bits)*loc) || ishigh((eight_bits)*loc));
+ do
+ ++loc;
+ while (isalpha((int)*loc) || isdigit((int)*loc) @|
+ || isxalpha(*loc) || ishigh(*loc));
id_loc=loc; return identifier;
}
@ @<Get a constant@>= {
+ boolean hex_flag = false; /* are we reading a hexadecimal literal? */
id_first=loc-1;
if (*id_first=='.' && !xisdigit(*loc)) goto mistake; /* not a constant */
if (*id_first=='0') {
if (*loc=='x' || *loc=='X') { /* hex constant */
- loc++; while (xisxdigit(*loc)) loc++; goto found;
+ hex_flag = true;
+ loc++; while (xisxdigit(*loc) || *loc=='\'') loc++;
+ }
+ else if (*loc=='b' || *loc=='B') { /* binary constant */
+ loc++; while (*loc=='0' || *loc=='1' || *loc=='\'') loc++; goto found;
}
}
- while (xisdigit(*loc)) loc++;
+ while (xisdigit(*loc) || *loc=='\'') loc++;
if (*loc=='.') {
- loc++;
- while (xisdigit(*loc)) loc++;
+ loc++;
+ while ((hex_flag && xisxdigit(*loc)) || xisdigit(*loc) || *loc=='\'') loc++;
}
if (*loc=='e' || *loc=='E') { /* float constant */
if (*++loc=='+' || *loc=='-') loc++;
- while (xisdigit(*loc)) loc++;
+ while (xisdigit(*loc) || *loc=='\'') loc++;
}
- found: while (*loc=='u' || *loc=='U' || *loc=='l' || *loc=='L'
- || *loc=='f' || *loc=='F') loc++;
+ else if (hex_flag && (*loc=='p' || *loc=='P')) { /* hex float constant */
+ if (*++loc=='+' || *loc=='-') loc++;
+ while (xisxdigit(*loc) || *loc=='\'') loc++;
+ }
+found: while (*loc=='u' || *loc=='U' || *loc=='l' || *loc=='L'
+ || *loc=='f' || *loc=='F') loc++;
id_loc=loc;
return constant;
}
@@ -990,11 +1002,11 @@ delimiters if they are protected by a backslash. We follow this
convention, but do not allow the string to be longer than |longest_name|.
@<Get a string@>= {
- char delim = c; /* what started the string */
+ char delim = (char)c; /* what started the string */
id_first = section_text+1;
id_loc = section_text; *++id_loc=delim;
if (delim=='L' || delim=='u' || delim=='U') { /* wide character constant */
- if (delim=='u' && *loc=='8') { *++id_loc=*loc++; }
+ if (delim=='u' && *loc=='8') *++id_loc=*loc++;
delim=*loc++; *++id_loc=delim;
}
while (true) {
@@ -1010,16 +1022,16 @@ convention, but do not allow the string to be longer than |longest_name|.
else if (++id_loc<=section_text_end) *id_loc='\n'; /* will print as
\.{"\\\\\\n"} */
}
- if ((c=*loc++)==delim) {
- if (++id_loc<=section_text_end) *id_loc=c;
+ if ((c=(eight_bits)*loc++)==delim) {
+ if (++id_loc<=section_text_end) *id_loc=(char)c;
break;
}
if (c=='\\') {
if (loc>=limit) continue;
if (++id_loc<=section_text_end) *id_loc = '\\';
- c=*loc++;
+ c=(eight_bits)*loc++;
}
- if (++id_loc<=section_text_end) *id_loc=c;
+ if (++id_loc<=section_text_end) *id_loc=(char)c;
}
if (id_loc>=section_text_end) {
fputs("\n! String too long: ",stdout);
@@ -1034,25 +1046,23 @@ convention, but do not allow the string to be longer than |longest_name|.
@ After an \.{@@} sign has been scanned, the next character tells us
whether there is more work to do.
-@<Get control code and possible section name@>= {
- c=ccode[(eight_bits)*loc++];
- switch(c) {
- case ignore: continue;
- case translit_code: err_print("! Use @@l in limbo only"); continue;
+@<Get control code and possible section name@>=
+switch(c=ccode[(eight_bits)*loc++]) {
+ case ignore: continue;
+ case translit_code: err_print("! Use @@l in limbo only"); continue;
@.Use @@l in limbo...@>
- case control_text: while ((c=skip_ahead())=='@@');
- /* only \.{@@@@} and \.{@@>} are expected */
- if (*(loc-1)!='>')
- err_print("! Double @@ should be used in control text");
+ case control_text: while ((c=skip_ahead())=='@@');
+ /* only \.{@@@@} and \.{@@>} are expected */
+ if (*(loc-1)!='>')
+ err_print("! Double @@ should be used in control text");
@.Double @@ should be used...@>
- continue;
- case section_name:
- cur_section_name_char=*(loc-1);
- @<Scan the section name and make |cur_section_name| point to it@>@;
- case string: @<Scan a verbatim string@>@;
- case ord: @<Scan an ASCII constant@>@;
- default: return c;
- }
+ continue;
+ case section_name:
+ cur_section_name_char=*(loc-1);
+ @<Scan the section name and make |cur_section_name| point to it@>@;
+ case string: @<Scan a verbatim string@>@;
+ case ord: @<Scan an ASCII constant@>@;
+ default: return c;
}
@ After scanning a valid ASCII constant that follows
@@ -1063,9 +1073,8 @@ thus, \.{@@'\\nopq'} gives the same result as \.{@@'\\n'}.
@<Scan an ASCII constant@>=
id_first=loc;
- if (*loc=='\\') {
+ if (*loc=='\\')
if (*++loc=='\'') loc++;
- }
while (*loc!='\'') {
if (*loc=='@@') {
if (*(loc+1)!='@@')
@@ -1083,11 +1092,13 @@ thus, \.{@@'\\nopq'} gives the same result as \.{@@'\\n'}.
return ord;
@ @<Scan the section name...@>= {
- char *k; /* pointer into |section_text| */
+ char *k=section_text; /* pointer into |section_text| */
@<Put section name into |section_text|@>@;
if (k-section_text>3 && strncmp(k-2,"...",3)==0)
- cur_section_name=section_lookup(section_text+1,k-3,1); /* 1 means is a prefix */
- else cur_section_name=section_lookup(section_text+1,k,0);
+ cur_section_name=section_lookup(section_text+1,k-3,true);
+ /* |true| means it's a prefix */
+ else cur_section_name=section_lookup(section_text+1,k,false);
+ /* |false| means it's not */
if (cur_section_name_char=='(')
@<If it's not there, add |cur_section_name| to the output file stack, or
complain we're out of room@>@;
@@ -1103,20 +1114,19 @@ character of the name.)
@<Set init...@>=section_text[0]=' ';
@ @<Put section name...@>=
-k=section_text;
while (true) {
if (loc>limit && get_line()==false) {
err_print("! Input ended in section name");
@.Input ended in section name@>
loc=buffer+1; break;
}
- c=*loc;
+ c=(eight_bits)*loc;
@<If end of name or erroneous nesting, |break|@>@;
loc++; if (k<section_text_end) k++;
if (xisspace(c)) {
- c=' '; if (*(k-1)==' ') k--;
+ c=(eight_bits)' '; if (*(k-1)==' ') k--;
}
-*k=c;
+*k=(char)c;
}
if (k>=section_text_end) {
fputs("\n! Section name too long: ",stdout);
@@ -1128,7 +1138,7 @@ if (*k==' ' && k>section_text) k--;
@ @<If end of name or erroneous nesting,...@>=
if (c=='@@') {
- c=*(loc+1);
+ c=(eight_bits)*(loc+1);
if (c=='>') {
loc+=2; break;
}
@@ -1148,14 +1158,13 @@ have |*(loc-1)==string|; we set |id_first| to the beginning
of the string itself, and |id_loc| to its ending-plus-one location in the
buffer. We also set |loc| to the position just after the ending delimiter.
-@<Scan a verbatim string@>= {
- id_first=loc++; *(limit+1)='@@'; *(limit+2)='>';
- while (*loc!='@@' || *(loc+1)!='>') loc++;
- if (loc>=limit) err_print("! Verbatim string didn't end");
+@<Scan a verbatim string@>=
+id_first=loc++; *(limit+1)='@@'; *(limit+2)='>';
+while (*loc!='@@' || *(loc+1)!='>') loc++;
+if (loc>=limit) err_print("! Verbatim string didn't end");
@.Verbatim string didn't end@>
- id_loc=loc; loc+=2;
- return string;
-}
+id_loc=loc; loc+=2;
+return string;
@* Scanning a macro definition.
The rules for generating the replacement texts corresponding to macros and
@@ -1176,8 +1185,10 @@ ANSI \CEE/ preprocessor sometimes requires it.
acted, |cur_text| will point to the replacement text just generated, and
|next_control| will contain the control code that terminated the activity.
-@d macro 0
-@d app_repl(c) {if (tok_ptr==tok_mem_end) overflow("token"); *tok_ptr++=c;}
+@d app_repl(c) {
+ if (tok_ptr==tok_mem_end) overflow("token");
+ else *(tok_ptr++)=(eight_bits)c;
+}
@<Private...@>=
static text_pointer cur_text; /* replacement text formed by |scan_repl| */
@@ -1185,13 +1196,13 @@ static eight_bits next_control;
@ @c
static void
-scan_repl(@t\1\1@> /* creates a replacement text */
-eight_bits t@t\2\2@>)
+scan_repl( /* creates a replacement text */
+eight_bits t)
{
sixteen_bits a; /* the current token */
- if (t==section_name) {@<Insert the line number into |tok_mem|@>@;}
+ if (t==section_name) @<Insert the line number into |tok_mem|@>@;
while (true) switch (a=get_next()) {
- @<In cases that |a| is a non-|char| token (|identifier|,
+ @/@t\4@>@<In cases that |a| is a non-|char| token (|identifier|,
|section_name|, etc.), either process it and change |a| to a byte
that should be stored, or |continue| if |a| should be ignored,
or |goto done| if |a| signals the end of this replacement text@>@;
@@ -1211,31 +1222,36 @@ eight_bits t@t\2\2@>)
to |0150000|; then the numeric line number; then a pointer to the
file name.
+@d store_id(a) a=id_lookup(id_first,id_loc,'\0')-name_dir;@/
+ app_repl((a / 0400)+0200);
+ app_repl(a % 0400)
+
@<Insert the line...@>=
-store_two_bytes(0150000);
-if (changing && include_depth==change_depth) { /* correction made Feb 2017 */
- id_first=change_file_name;
- store_two_bytes((sixteen_bits)change_line);
-}@+else {
- id_first=cur_file_name;
- store_two_bytes((sixteen_bits)cur_line);
+{
+ eight_bits a; /* shadow variable |a| */
+ store_two_bytes(0150000);
+ if (changing && include_depth==change_depth) { /* correction made Feb 2017 */
+ id_first=change_file_name;
+ store_two_bytes((sixteen_bits)change_line);
+ }@+else {
+ id_first=cur_file_name;
+ store_two_bytes((sixteen_bits)cur_line);
+ }
+ id_loc=id_first+strlen(id_first);
+ store_id(a);
}
-id_loc=id_first+strlen(id_first);
-{int a_l=id_lookup(id_first,id_loc,0)-name_dir; app_repl((a_l / 0400)+0200);
- app_repl(a_l % 0400);}
-@ @<In cases that |a| is...@>=
-case identifier: a=id_lookup(id_first,id_loc,0)-name_dir;
- app_repl((a / 0400)+0200);
- app_repl(a % 0400); break;
+@ @<In cases that |a| is...@>=@t\1\quad@>
+case identifier: store_id(a); break;
case section_name: if (t!=section_name) goto done;
else {
@<Was an `\.{@@}' missed here?@>@;
a=cur_section_name-name_dir;
app_repl((a / 0400)+0250);
app_repl(a % 0400);
- @<Insert the line number into |tok_mem|@>@; break;
+ @<Insert the line number into |tok_mem|@>@;
}
+ break;
case output_defs_code: if (t!=section_name) err_print("! Misplaced @@h");
@.Misplaced @@h@>
else {
@@ -1245,11 +1261,13 @@ case output_defs_code: if (t!=section_name) err_print("! Misplaced @@h");
app_repl(a % 0400);
@<Insert the line number into |tok_mem|@>@;
}
- break;
+ break;
case constant: case string:
@<Copy a string or verbatim construction or numerical constant@>@;
+ break;
case ord:
@<Copy an ASCII constant@>@;
+ break;
case definition: case format_code: case begin_C: if (t!=section_name) goto done;
else {
err_print("! @@d, @@f and @@c are ignored in C text"); continue;
@@ -1268,7 +1286,13 @@ case new_section: goto done;
as explained in the manual */
}
-@ @<Copy a string...@>=
+@ By default, \.{CTANGLE} purges single-quote characters from \CPLUSPLUS/-style
+literals, e.g., \.{1'000'000}, so that you can use this notation also in \CEE/
+code. The \.{+k} switch will `keep' the single quotes in the output.
+
+@d keep_digit_separators flags['k']
+
+@<Copy a string...@>=
app_repl(a); /* |string| or |constant| */
while (id_first < id_loc) { /* simplify \.{@@@@} pairs */
if (*id_first=='@@') {
@@ -1276,18 +1300,20 @@ case new_section: goto done;
else err_print("! Double @@ should be used in string");
@.Double @@ should be used...@>
}
+ else if (a==constant && *id_first=='\'' && !keep_digit_separators)
+ id_first++;
app_repl(*id_first++);
}
- app_repl(a); break;
+ app_repl(a);
@ This section should be rewritten on machines that don't use ASCII
code internally.
@^ASCII code dependencies@>
@<Copy an ASCII constant@>= {
- int c=(eight_bits) *id_first;
+ int c=(int)((eight_bits) *id_first);
if (c=='\\') {
- c=*++id_first;
+ c=(int)((eight_bits) *++id_first);
if (c>='0' && c<='7') {
c-='0';
if (*(id_first+1)>='0' && *(id_first+1)<='7') {
@@ -1306,15 +1332,15 @@ code internally.
case 'a':c='\7';@+break;
case '?':c='?';@+break;
case 'x':
- if (xisdigit(*(id_first+1))) c=*(++id_first)-'0';
+ if (xisdigit(*(id_first+1))) c=(int)(*(++id_first)-'0');
else if (xisxdigit(*(id_first+1))) {
++id_first;
- c=toupper((eight_bits)*id_first)-'A'+10;
+ c=toupper((int)*id_first)-'A'+10;
}
- if (xisdigit(*(id_first+1))) c=16*c+*(++id_first)-'0';
+ if (xisdigit(*(id_first+1))) c=16*c+(int)(*(++id_first)-'0');
else if (xisxdigit(*(id_first+1))) {
++id_first;
- c=16*c+toupper((eight_bits)*id_first)-'A'+10;
+ c=16*c+toupper((int)*id_first)-(int)'A'+10;
}
break;
case '\\':c='\\';@+break;
@@ -1326,12 +1352,11 @@ code internally.
}@/
/* at this point |c| should have been converted to its ASCII code number */
app_repl(constant);
- if (c>=100) app_repl('0'+c/100);
- if (c>=10) app_repl('0'+(c/10)%10);
- app_repl('0'+c%10);
+ if (c>=100) app_repl((int)'0'+c/100);
+ if (c>=10) app_repl((int)'0'+(c/10)%10);
+ app_repl((int)'0'+c%10);
app_repl(constant);
}
-break;
@* Scanning a section.
The |scan_section| procedure starts when `\.{@@\ }' or `\.{@@*}' has been
@@ -1352,17 +1377,17 @@ scan_section(void)
sixteen_bits a; /* token for left-hand side of definition */
section_count++; @+ no_where=true;
if (*(loc-1)=='*' && show_progress) { /* starred section */
- printf("*%d",section_count); update_terminal;
+ printf("*%d",(int)section_count); update_terminal;
}
- next_control=0;
+ next_control=ignore;
while (true) {
@<Skip ahead until |next_control| corresponds to \.{@@d}, \.{@@<},
\.{@@\ } or the like@>@;
- if (next_control == definition) { /* \.{@@d} */
+ if (next_control == definition) { /* \.{@@d} */
@<Scan a definition@>@;
continue;
}
- if (next_control == begin_C) { /* \.{@@c} or \.{@@p} */
+ if (next_control == begin_C) { /* \.{@@c} or \.{@@p} */
p=name_dir; break;
}
if (next_control == section_name) { /* \.{@@<} or \.{@@(} */
@@ -1391,22 +1416,19 @@ while (next_control<definition)
loc-=2; next_control=get_next();
}
-@ @<Scan a definition@>= {
- while ((next_control=get_next())=='\n'); /* allow newline before definition */
- if (next_control!=identifier) {
- err_print("! Definition flushed, must start with identifier");
+@ @<Scan a definition@>=
+while ((next_control=get_next())=='\n'); /* allow newline before definition */
+if (next_control!=identifier) {
+ err_print("! Definition flushed, must start with identifier");
@.Definition flushed...@>
- continue;
- }
- app_repl(((a=id_lookup(id_first,id_loc,0)-name_dir) / 0400)+0200);
- /* append the lhs */
- app_repl(a % 0400);
- if (*loc!='(') { /* identifier must be separated from replacement text */
- app_repl(string); app_repl(' '); app_repl(string);
- }
- scan_repl(macro);
- cur_text->text_link=macro;
+ continue;
}
+store_id(a); /* append the lhs */
+if (*loc!='(') { /* identifier must be separated from replacement text */
+ app_repl(string); app_repl(' '); app_repl(string);
+}
+scan_repl(macro);
+cur_text->text_link=macro;
@ If the section name is not followed by \.{=} or \.{+=}, no \CEE/
code is forthcoming: the section is being cited, not being
@@ -1431,8 +1453,8 @@ store_two_bytes((sixteen_bits)(0150000+section_count));
/* |0150000==0320*0400| */
@ @<Update the data...@>=
-if (p==name_dir||p==0) { /* unnamed section, or bad section name */
- (last_unnamed)->text_link=cur_text-text_info; last_unnamed=cur_text;
+if (p==name_dir||p==NULL) { /* unnamed section, or bad section name */
+ last_unnamed->text_link=cur_text-text_info; last_unnamed=cur_text;
}
else if (p->equiv==(void *)text_info) p->equiv=(void *)cur_text;
/* first section of this name */
@@ -1454,7 +1476,6 @@ phase_one(void) {
skip_limbo();
while (!input_has_ended) scan_section();
check_complete();
- phase=2;
}
@ @<Predec...@>=@+static void phase_one(void);
@@ -1466,19 +1487,18 @@ processing is straightforward.
static void
skip_limbo(void)
{
- char c;
while (true) {
if (loc>limit && get_line()==false) return;
*(limit+1)='@@';
while (*loc!='@@') loc++;
if (loc++<=limit) {
- c=*loc++;
- if (ccode[(eight_bits)c]==new_section) break;
+ char c=*loc++;
switch (ccode[(eight_bits)c]) {
+ case new_section: return;
case translit_code: @<Read in transliteration of a character@>@; break;
case format_code: case '@@': break;
case control_text: if (c=='q' || c=='Q') {
- while ((c=skip_ahead())=='@@');
+ while ((c=(char)skip_ahead())=='@@');
if (*(loc-1)!='>')
err_print("! Double @@ should be used in control text");
@.Double @@ should be used...@>
@@ -1517,19 +1537,19 @@ skip_limbo(void)
}
@ Because on some systems the difference between two pointers is a |ptrdiff_t|
-but not an |int|, we use \.{\%ld} to print these quantities.
+but not an |int|, we use \.{\%td} to print these quantities.
@c
void
print_stats(void) {
puts("\nMemory usage statistics:");
- printf("%ld names (out of %ld)\n",
+ printf("%td names (out of %ld)\n",
(ptrdiff_t)(name_ptr-name_dir),(long)max_names);
- printf("%ld replacement texts (out of %ld)\n",
+ printf("%td replacement texts (out of %ld)\n",
(ptrdiff_t)(text_ptr-text_info),(long)max_texts);
- printf("%ld bytes (out of %ld)\n",
+ printf("%td bytes (out of %ld)\n",
(ptrdiff_t)(byte_ptr-byte_mem),(long)max_bytes);
- printf("%ld tokens (out of %ld)\n",
+ printf("%td tokens (out of %ld)\n",
(ptrdiff_t)(tok_ptr-tok_mem),(long)max_toks);
}
diff --git a/web/c_cpp/cweb/cweav-bs.ch b/web/c_cpp/cweb/cweav-bs.ch
index bf2752881e..5aa05c8b8c 100644
--- a/web/c_cpp/cweb/cweav-bs.ch
+++ b/web/c_cpp/cweb/cweav-bs.ch
@@ -20,16 +20,16 @@ This file contributed by Barry Schwartz, trashman@crud.mn.org, 28 Jun 94.
The ``banner line'' defined here should be changed whenever \.{CWEAVE}
is modified.
-@d banner "This is CWEAVE (Version 4.2)"
+@d banner "This is CWEAVE (Version 4.6)"
@y
The ``banner line'' defined here should be changed whenever \.{CWEAVE}
is modified.
-@d banner "This is CWEAVE (Version 4.2pc/big)"
+@d banner "This is CWEAVE (Version 4.6pc/big)"
@z
-@x Section 7.
+@x Section 10.
for section names */
@<Common code...@>=
@@ -119,11 +119,11 @@ static xref_pointer xmem_end;
@x Section 24.
-xref_ptr=xmem; init_node(name_dir); xref_switch=0; section_xref_switch=0;
+xref_ptr=xmem; init_node(name_dir); xref_switch=section_xref_switch=0;
xmem->num=0; /* sentinel value */
@y
xmem_end = xmem + max_refs - 1;
-xref_ptr=xmem; init_node(name_dir); xref_switch=0; section_xref_switch=0;
+xref_ptr=xmem; init_node(name_dir); xref_switch=section_xref_switch=0;
xmem->num=0; /* sentinel value */
@z
@@ -165,7 +165,7 @@ max_tok_ptr=tok_mem+1; max_text_ptr=tok_start+1;
@z
-@x Section 74.
+@x Section 78.
if (unindexed(lhs)) { /* retain only underlined entries */
xref_pointer q,r=NULL;
for (q=(xref_pointer)lhs->xref;q>xmem;q=q->xlink)
@@ -186,7 +186,7 @@ max_tok_ptr=tok_mem+1; max_text_ptr=tok_start+1;
@z
-@x Section 93.
+@x Section 97.
char *k, *k_end=(p+1)->byte_start; /* pointers into |byte_mem| */
out('{');
for (k=p->byte_start; k<k_end; k++) {
@@ -197,40 +197,29 @@ max_tok_ptr=tok_mem+1; max_text_ptr=tok_start+1;
@z
-@x Section 209.
+@x Section 218.
char *p; /* index into |byte_mem| */
@y
char huge *p; /* index into |byte_mem| */
@z
-@x Section 244.
+@x Section 253.
if (cur_name->xref!=(void *)xmem) {
@y
if (cur_name->xref!=(void huge*)xmem) {
@z
-@x Section 246.
+@x Section 255.
static char *cur_byte; /* index into |byte_mem| */
@y
static char huge* cur_byte; /* index into |byte_mem| */
@z
-@x Section 255.
-switch (cur_name->ilk) {
- case normal: case func_template: if (is_tiny(cur_name)) out_str("\\|");
- else {char *j;
-@y
-switch (cur_name->ilk) {
- case normal: case func_template: if (is_tiny(cur_name)) out_str("\\|");
- else {char huge* j;
-@z
-
-
-@x Section 255.
- case custom: {char *j; out_str("$\\");
+@x Section 264.
+switch (cur_name->ilk) {@+char *j;@+@t}\6{\4@>
@y
- case custom: {char huge* j; out_str("$\\");
+switch (cur_name->ilk) {@+char huge* j;@+@t}\6{\4@>
@z
diff --git a/web/c_cpp/cweb/cweav-man.ch b/web/c_cpp/cweb/cweav-man.ch
index b72360944a..366cda6f11 100644
--- a/web/c_cpp/cweb/cweav-man.ch
+++ b/web/c_cpp/cweb/cweav-man.ch
@@ -16,7 +16,7 @@ under the terms of a permission notice identical to this one.
}
@y
\def\botofcontents{\vfill\titlefalse}
-\def\contentspagenumber{111}
+\def\contentspagenumber{108}
\def\title{APPENDIX F: CWEAVE}
\let\K=\leftarrow
@z
diff --git a/web/c_cpp/cweb/cweav-pc.ch b/web/c_cpp/cweb/cweav-pc.ch
index b37f9f2ec3..23b37416a8 100644
--- a/web/c_cpp/cweb/cweav-pc.ch
+++ b/web/c_cpp/cweb/cweav-pc.ch
@@ -11,18 +11,18 @@ that allows >64K arrays. (If you need lots more bytes, try the alternate
change files that have -bs in their name instead of -pc.)
@x section 1
-@d banner "This is CWEAVE (Version 4.2)"
+@d banner "This is CWEAVE (Version 4.6)"
@y
-@d banner "This is CWEAVE (Version 4.2pc)"
+@d banner "This is CWEAVE (Version 4.6pc)"
@z
-@x section 4
-@d max_bytes 1000000 /* the number of bytes in identifiers,
+@x section 17
+@d max_bytes 90000 /* the number of bytes in identifiers,
@y
@d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
@z
@x
-@d max_refs 65535 /* number of cross-references; must be less than 65536 */
+@d max_refs 20000 /* number of cross-references; must be less than 65536 */
@y
@d max_refs 10000 /* number of cross-references; must be less than 65536 */
@z
diff --git a/web/c_cpp/cweb/cweav-ql.ch b/web/c_cpp/cweb/cweav-ql.ch
index 28053eb158..4525b8006d 100644
--- a/web/c_cpp/cweb/cweav-ql.ch
+++ b/web/c_cpp/cweb/cweav-ql.ch
@@ -7,15 +7,15 @@ ex <dev_>cc;"-v -h -c =500000 cweave_c"
@x
-\def\title{CWEAVE (Version 4.2)}
+\def\title{CWEAVE (Version 4.6)}
@y
-\def\title{CWEAVE (QL Version 4.2)}
+\def\title{CWEAVE (QL Version 4.6)}
@z
@x section 1
-@d banner "This is CWEAVE (Version 4.2)"
+@d banner "This is CWEAVE (Version 4.6)"
@y
-@d banner "This is CWEAVE (QL Version 4.2)"
+@d banner "This is CWEAVE (QL Version 4.6)"
@z
@x
diff --git a/web/c_cpp/cweb/cweav-vms.ch b/web/c_cpp/cweb/cweav-vms.ch
index 7d80d57c1e..f6d786da4a 100644
--- a/web/c_cpp/cweb/cweav-vms.ch
+++ b/web/c_cpp/cweb/cweav-vms.ch
@@ -13,18 +13,18 @@ modified:
(also modified by Don Knuth to keep version numbers uptodate)
@x section 1 (01-FEB-1992 ST)
-@d banner "This is CWEAVE (Version 4.2)"
+@d banner "This is CWEAVE (Version 4.6)"
@y
-@d banner "This is CWEAVE (VAX/VMS Version 4.2)"
+@d banner "This is CWEAVE (VAX/VMS Version 4.6)"
@z
-@x section 3 (01-FEB-1992 ST)
+@x section 4 (01-FEB-1992 ST)
#include <ctype.h> /* definition of |@!isalpha|, |@!isdigit| and so on */
#include <stdbool.h> /* definition of |@!bool|, |@!true| and |@!false| */
#include <stddef.h> /* definition of |@!ptrdiff_t| */
#include <stdint.h> /* definition of |@!uint8_t| and |@!uint16_t| */
-#include <stdlib.h> /* definition of |@!getenv| and |@!exit| */
#include <stdio.h> /* definition of |@!printf| and friends */
+#include <stdlib.h> /* definition of |@!getenv| and |@!exit| */
#include <string.h> /* definition of |@!strlen|, |@!strcmp| and so on */
@y
#include ctype /* definition of |@!isalpha|, |@!isdigit| and so on */
@@ -32,7 +32,7 @@ modified:
#include stdbool /* definition of |@!bool|, |@!true| and |@!false| */
#include stddef /* definition of |@!ptrdiff_t| */
#include stdint /* definition of |@!uint8_t| and |@!uint16_t| */
-#include stdlib /* definition of |@!getenv| and |@!exit| */
#include stdio /* definition of |@!printf| and friends */
+#include stdlib /* definition of |@!getenv| and |@!exit| */
#include string /* definition of |@!strlen|, |@!strcmp| and so on */
@z
diff --git a/web/c_cpp/cweb/cweav-w32.ch b/web/c_cpp/cweb/cweav-w32.ch
index 346d00771a..1fc91f1a88 100644
--- a/web/c_cpp/cweb/cweav-w32.ch
+++ b/web/c_cpp/cweb/cweav-w32.ch
@@ -2,23 +2,23 @@ This is the change file for CWEB's CWEAVE under Win32
(Contributed by Fabrice Popineau, February 2002)
@x section 1
-@d banner "This is CWEAVE (Version 4.2)"
+@d banner "This is CWEAVE (Version 4.6)"
@y
-@d banner "This is CWEAVE (Version 4.2win32)"
+@d banner "This is CWEAVE (Version 4.6win32)"
@z
@x
-boolean names_match(@t\1\1@>
+boolean names_match(
name_pointer p, /* points to the proposed match */
const char *first, /* position of first character of string */
size_t l, /* length of identifier */
-eight_bits t@t\2\2@>) /* desired |ilk| */
+eight_bits t) /* desired |ilk| */
@y
-boolean __cdecl names_match(@t\1\1@>
+boolean __cdecl names_match(
name_pointer p, /* points to the proposed match */
const char *first, /* position of first character of string */
size_t l, /* length of identifier */
-eight_bits t@t\2\2@>) /* desired |ilk| */
+eight_bits t) /* desired |ilk| */
@z
@x
diff --git a/web/c_cpp/cweb/cweave.w b/web/c_cpp/cweb/cweave.w
index a8e31055b2..bcc8efcfb7 100644
--- a/web/c_cpp/cweb/cweave.w
+++ b/web/c_cpp/cweb/cweave.w
@@ -2,7 +2,7 @@
% This program by Silvio Levy and Donald E. Knuth
% is based on a program by Knuth.
% It is distributed WITHOUT ANY WARRANTY, express or implied.
-% Version 4.2 --- February 2021
+% Version 4.6 --- December 2021
% Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth
@@ -32,11 +32,11 @@
\def\skipxTeX{\\{skip\_\TEX/}}
\def\copyxTeX{\\{copy\_\TEX/}}
-\def\title{CWEAVE (Version 4.2)}
+\def\title{CWEAVE (Version 4.6)}
\def\topofcontents{\null\vfill
\centerline{\titlefont The {\ttitlefont CWEAVE} processor}
\vskip 15pt
- \centerline{(Version 4.2)}
+ \centerline{(Version 4.6)}
\vfill}
\def\botofcontents{\vfill
\noindent
@@ -67,9 +67,10 @@ Crusius, and others who have contributed improvements.
The ``banner line'' defined here should be changed whenever \.{CWEAVE}
is modified.
-@d banner "This is CWEAVE (Version 4.2)"
+@d banner "This is CWEAVE (Version 4.6)"
-@c @<Include files@>@/
+@c
+@<Include files@>@/
@h
@<Common code for \.{CWEAVE} and \.{CTANGLE}@>@/
@<Typedef declarations@>@/
@@ -81,13 +82,13 @@ three phases: First it inputs the source file and stores cross-reference
data, then it inputs the source once again and produces the \TEX/ output
file, finally it sorts and outputs the index.
-Please read the documentation for \.{common}, the set of routines common
+Please read the documentation for \.{COMMON}, the set of routines common
to \.{CTANGLE} and \.{CWEAVE}, before proceeding further.
@c
-int main (@t\1\1@>
+int main (
int ac, /* argument count */
-char **av@t\2\2@>) /* argument values */
+char **av) /* argument values */
{
argc=ac; argv=av;
program=cweave;
@@ -99,7 +100,7 @@ char **av@t\2\2@>) /* argument values */
phase_one(); /* read all the user's text and store the cross-references */
phase_two(); /* read all the text again and translate it to \TEX/ form */
phase_three(); /* output the cross-reference index */
- if (tracing==2 && !show_progress) new_line;
+ if (tracing==fully && !show_progress) new_line;
return wrap_up(); /* and exit gracefully */
}
@@ -115,10 +116,8 @@ handle \TEX/, so they should be sufficient for most applications of \.{CWEAVE}.
@d line_length 80 /* lines of \TEX/ output have at most this many characters;
should be less than 256 */
-@d max_refs 65535 /* number of cross-references; must be less than 65536 */
-@d max_texts 10239 /* number of phrases in \CEE/ texts being parsed;
- must be less than 10240 */
-@d max_scraps 10000 /* number of tokens in \CEE/ texts being parsed */
+@d max_refs 20000 /* number of cross-references; must be less than 65536 */
+@d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
@* Data structures exclusive to {\tt CWEAVE}.
As explained in \.{common.w}, the field of a |name_info| structure
@@ -143,7 +142,7 @@ will be typeset in special ways.
\yskip\hang |typewriter| identifiers are index entries that appear after
\.{@@.} in the \.{CWEB} file.
-\yskip\hang |alfop|, \dots, |template_like|
+\yskip\hang |alfop|, \dots, |attr|
identifiers are \CEE/ or \CPLUSPLUS/ reserved words whose |ilk|
explains how they are to be treated when \CEE/ code is being
formatted.
@@ -153,7 +152,7 @@ formatted.
@d roman 1 /* normal index entries have |roman| ilk */
@d wildcard 2 /* user-formatted index entries have |wildcard| ilk */
@d typewriter 3 /* `typewriter type' entries have |typewriter| ilk */
-@d abnormal(a) (a->ilk>typewriter) /* tells if a name is special */
+@d abnormal(a) ((a)->ilk>typewriter) /* tells if a name is special */
@d func_template 4 /* identifiers that can be followed by optional template */
@d custom 5 /* identifiers with user-given control sequence */
@d alfop 22 /* alphabetic operators like \&{and} or \&{not\_eq} */
@@ -168,7 +167,7 @@ formatted.
@d delete_like 48 /* \&{delete} */
@d raw_ubin 49 /* `\.\&' or `\.*' when looking for \&{const} following */
@d const_like 50 /* \&{const}, \&{volatile} */
-@d raw_int 51 /* \&{int}, \&{char}, \dots; also structure and class names */
+@d raw_int 51 /* \&{int}, \&{char}, \dots; also structure and class names */
@d int_like 52 /* same, when not followed by left parenthesis or \DC\ */
@d case_like 53 /* \&{case}, \&{return}, \&{goto}, \&{break}, \&{continue} */
@d sizeof_like 54 /* \&{sizeof} */
@@ -176,6 +175,10 @@ formatted.
@d typedef_like 56 /* \&{typedef} */
@d define_like 57 /* \&{define} */
@d template_like 58 /* \&{template} */
+@d alignas_like 59 /* \&{alignas} */
+@d using_like 60 /* \&{using} */
+@d default_like 61 /* \&{default} */
+@d attr 62 /* \&{noexcept} and attributes */
@ We keep track of the current section number in |section_count|, which
is the total number of sections that have started. Sections which have
@@ -229,7 +232,7 @@ has a special first cross-reference whose |num| field is |file_flag|.
@d xref equiv_or_xref
@<Set init...@>=
-xref_ptr=xmem; init_node(name_dir); xref_switch=0; section_xref_switch=0;
+xref_ptr=xmem; init_node(name_dir); xref_switch=section_xref_switch=0;
xmem->num=0; /* sentinel value */
@ A new cross-reference for an identifier is formed by calling |new_xref|,
@@ -239,13 +242,13 @@ to one-letter identifiers or \CEE/'s reserved words.
If the user has sent the |no_xref| flag (the \.{-x} option of the command line),
it is unnecessary to keep track of cross-references for identifiers.
If one were careful, one could probably make more changes around section
-100 to avoid a lot of identifier looking up.
+115 to avoid a lot of identifier looking up.
@d append_xref(c) if (xref_ptr==xmem_end) overflow("cross-reference");
- else (++xref_ptr)->num=c;
-@d no_xref (!make_xrefs)
-@d is_tiny(p) ((p+1)->byte_start==(p)->byte_start+1)
-@d unindexed(a) (a<res_wd_end && a->ilk>=custom)
+ else (++xref_ptr)->num=c
+@d no_xref !make_xrefs
+@d is_tiny(p) length(p)==1
+@d unindexed(a) ((a)<res_wd_end && (a)->ilk>=custom)
/* tells if uses of a name are to be indexed */
@<Predecl...@>=
@@ -289,9 +292,9 @@ static void
new_section_xref(
name_pointer p)
{
- xref_pointer q,r; /* pointers to previous cross-references */
- q=(xref_pointer)p->xref; r=xmem;
- if (q>xmem)
+ xref_pointer q=(xref_pointer)p->xref;
+ xref_pointer r=xmem; /* pointers to previous cross-references */
+ if (q>r)
while (q->num>section_xref_switch) {r=q; q=q->xlink;}
if (r->num==section_count+section_xref_switch)
return; /* don't duplicate entries */
@@ -309,8 +312,7 @@ static void
set_file_flag(
name_pointer p)
{
- xref_pointer q;
- q=(xref_pointer)p->xref;
+ xref_pointer q=(xref_pointer)p->xref;
if (q->num==file_flag) return;
append_xref(file_flag);
xref_ptr->xlink = q;
@@ -333,6 +335,11 @@ that is unoccupied by replacement text is called |tok_ptr|, and the first
unused location of |tok_start| is called |text_ptr|.
Thus, we usually have |*text_ptr==tok_ptr|.
+@d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+ must be less than 65536 */
+@d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+ must be less than 10240 */
+
@<Private...@>=
static token tok_mem[max_toks]; /* tokens */
static token_pointer tok_mem_end = tok_mem+max_toks-1; /* end of |tok_mem| */
@@ -350,11 +357,11 @@ text_ptr=max_text_ptr=tok_start+1;
@ Here are the three procedures needed to complete |id_lookup|:
@c
-boolean names_match(@t\1\1@>
+boolean names_match(
name_pointer p, /* points to the proposed match */
const char *first, /* position of first character of string */
size_t l, /* length of identifier */
-eight_bits t@t\2\2@>) /* desired |ilk| */
+eight_bits t) /* desired |ilk| */
{
if (length(p)!=l) return false;
if (p->ilk!=t && !(t==normal && abnormal(p))) return false;
@@ -376,23 +383,22 @@ name_pointer p)
p->xref=(void *)xmem;
}
-static void
-update_node(
-name_pointer p)
-{
- p->xref=(void *)xref_ptr;
-}
+@ And here's a small helper function to simplify the code.
-@ @<Predecl...@>=@+static void update_node(name_pointer p);
+@d update_node(p) (p)->xref=(void *)xref_ptr
-@ We have to get \CEE/'s
+@ We have to get \CEE/'s and \CPLUSPLUS/'s
reserved words into the hash table, and the simplest way to do this is
to insert them every time \.{CWEAVE} is run. Fortunately there are relatively
few reserved words. (Some of these are not strictly ``reserved,'' but
-are defined in header files of the ISO Standard \CEE/ Library.)
+are defined in header files of the ISO Standard \CEE/ Library.
+An ever growing list of \CPLUSPLUS/ keywords can be found here:
+\.{https://en.cppreference.com/w/cpp/keyword}.)
@^reserved words@>
@<Store all the reserved words@>=
+id_lookup("alignas",NULL,alignas_like);
+id_lookup("alignof",NULL,sizeof_like);
id_lookup("and",NULL,alfop);
id_lookup("and_eq",NULL,alfop);
id_lookup("asm",NULL,sizeof_like);
@@ -404,13 +410,24 @@ id_lookup("break",NULL,case_like);
id_lookup("case",NULL,case_like);
id_lookup("catch",NULL,catch_like);
id_lookup("char",NULL,raw_int);
+id_lookup("char8_t",NULL,raw_int);
+id_lookup("char16_t",NULL,raw_int);
+id_lookup("char32_t",NULL,raw_int);
id_lookup("class",NULL,struct_like);
id_lookup("clock_t",NULL,raw_int);
id_lookup("compl",NULL,alfop);
+id_lookup("concept",NULL,int_like);
id_lookup("const",NULL,const_like);
+id_lookup("consteval",NULL,const_like);
+id_lookup("constexpr",NULL,const_like);
+id_lookup("constinit",NULL,const_like);
id_lookup("const_cast",NULL,raw_int);
id_lookup("continue",NULL,case_like);
-id_lookup("default",NULL,case_like);
+id_lookup("co_await",NULL,case_like);
+id_lookup("co_return",NULL,case_like);
+id_lookup("co_yield",NULL,case_like);
+id_lookup("decltype",NULL,sizeof_like);
+id_lookup("default",NULL,default_like);
id_lookup("define",NULL,define_like);
id_lookup("defined",NULL,sizeof_like);
id_lookup("delete",NULL,delete_like);
@@ -427,6 +444,7 @@ id_lookup("explicit",NULL,int_like);
id_lookup("export",NULL,int_like);
id_lookup("extern",NULL,int_like);
id_lookup("FILE",NULL,raw_int);
+id_lookup("false",NULL,normal);
id_lookup("float",NULL,raw_int);
id_lookup("for",NULL,for_like);
id_lookup("fpos_t",NULL,raw_int);
@@ -445,9 +463,11 @@ id_lookup("long",NULL,raw_int);
id_lookup("mutable",NULL,int_like);
id_lookup("namespace",NULL,struct_like);
id_lookup("new",NULL,new_like);
+id_lookup("noexcept",NULL,attr);
id_lookup("not",NULL,alfop);
id_lookup("not_eq",NULL,alfop);
id_lookup("NULL",NULL,custom);
+id_lookup("nullptr",NULL,custom);
id_lookup("offsetof",NULL,raw_int);
id_lookup("operator",NULL,operator_like);
id_lookup("or",NULL,alfop);
@@ -459,6 +479,8 @@ id_lookup("ptrdiff_t",NULL,raw_int);
id_lookup("public",NULL,public_like);
id_lookup("register",NULL,int_like);
id_lookup("reinterpret_cast",NULL,raw_int);
+id_lookup("requires",NULL,int_like);
+id_lookup("restrict",NULL,int_like);
id_lookup("return",NULL,case_like);
id_lookup("short",NULL,raw_int);
id_lookup("sig_atomic_t",NULL,raw_int);
@@ -466,21 +488,24 @@ id_lookup("signed",NULL,raw_int);
id_lookup("size_t",NULL,raw_int);
id_lookup("sizeof",NULL,sizeof_like);
id_lookup("static",NULL,int_like);
+id_lookup("static_assert",NULL,sizeof_like);
id_lookup("static_cast",NULL,raw_int);
id_lookup("struct",NULL,struct_like);
id_lookup("switch",NULL,for_like);
id_lookup("template",NULL,template_like);
id_lookup("this",NULL,custom);
+id_lookup("thread_local",NULL,raw_int);
id_lookup("throw",NULL,case_like);
id_lookup("time_t",NULL,raw_int);
+id_lookup("true",NULL,normal);
id_lookup("try",NULL,else_like);
id_lookup("typedef",NULL,typedef_like);
-id_lookup("typeid",NULL,raw_int);
+id_lookup("typeid",NULL,sizeof_like);
id_lookup("typename",NULL,struct_like);
id_lookup("undef",NULL,if_like);
id_lookup("union",NULL,struct_like);
id_lookup("unsigned",NULL,raw_int);
-id_lookup("using",NULL,int_like);
+id_lookup("using",NULL,using_like);@/
id_lookup("va_dcl",NULL,decl); /* Berkeley's variable-arg-list convention */
id_lookup("va_list",NULL,raw_int); /* ditto */
id_lookup("virtual",NULL,int_like);
@@ -491,6 +516,8 @@ id_lookup("while",NULL,for_like);
id_lookup("xor",NULL,alfop);
id_lookup("xor_eq",NULL,alfop);@+ res_wd_end=name_ptr;
id_lookup("TeX",NULL,custom);
+id_lookup("complex",NULL,int_like);
+id_lookup("imaginary",NULL,int_like);
id_lookup("make_pair",NULL,func_template);
@* Lexical scanning.
@@ -513,11 +540,11 @@ scanning routines.
@^ASCII code dependencies@>
@d ignore 00 /* control code of no interest to \.{CWEAVE} */
-@d verbatim 02 /* takes the place of extended ASCII \.{\char2} */
+@d verbatim 02 /* takes the place of ASCII \.{STX} */
@d begin_short_comment 03 /* \CPLUSPLUS/ short comment */
@d begin_comment '\t' /* tab marks will not appear */
@d underline '\n' /* this code will be intercepted without confusion */
-@d noop 0177 /* takes the place of ASCII delete */
+@d noop 0177 /* takes the place of ASCII \.{DEL} */
@d xref_roman 0203 /* control code for `\.{@@\^}' */
@d xref_wildcard 0204 /* control code for `\.{@@:}' */
@d xref_typewriter 0205 /* control code for `\.{@@.}' */
@@ -548,10 +575,12 @@ representation by means of the table |ccode|.
@<Private...@>=
static eight_bits ccode[256]; /* meaning of a char following \.{@@} */
-@ @<Set ini...@>=
-{int c; for (c=0; c<256; c++) ccode[c]=0;}
+@ @<Set ini...@>= {
+ int c; /* must be |int| so the |for| loop will end */
+ for (c=0; c<256; c++) ccode[c]=ignore;
+}
ccode[' ']=ccode['\t']=ccode['\n']=ccode['\v']=ccode['\r']=ccode['\f']
- =ccode['*']=new_section;
+ =ccode['*']=new_section;
ccode['@@']='@@'; /* `quoted' at sign */
ccode['=']=verbatim;
ccode['d']=ccode['D']=definition;
@@ -571,8 +600,8 @@ ccode['\'']=ord;
@<Special control codes for debugging@>@;
@ Users can write
-\.{@@2}, \.{@@1}, and \.{@@0} to turn tracing fully on, partly on,
-and off, respectively.
+\.{@@2}, \.{@@1}, and \.{@@0} to turn tracing |fully| on, |partly| on,
+and |off|, respectively.
@<Special control codes...@>=
ccode['0']=ccode['1']=ccode['2']=trace;
@@ -597,11 +626,12 @@ skip_limbo(void) {
if (loc>limit && get_line()==false) return;
*(limit+1)='@@';
while (*loc!='@@') loc++; /* look for `\.{@@}', then skip two chars */
- if (loc++ <=limit) { int c=ccode[(eight_bits)*loc++];
- if (c==new_section) return;
- if (c==noop) skip_restricted();
- else if (c==format_code) @<Process simple format in limbo@>@;
- }
+ if (loc++ <=limit)
+ switch (ccode[(eight_bits)*loc++]) {
+ case new_section: return;
+ case noop: skip_restricted(); break;
+ case format_code: @<Process simple format in limbo@>@;
+ }
}
}
@@ -620,7 +650,7 @@ skip_TeX(void) /* skip past pure \TEX/ code */
if (loc>limit && get_line()==false) return new_section;
*(limit+1)='@@';
while (*loc!='@@' && *loc!='|') loc++;
- if (*loc++ =='|') return '|';
+ if (*loc++ =='|') return (eight_bits)'|';
if (loc<=limit) return ccode[(eight_bits)*(loc++)];
}
}
@@ -671,13 +701,6 @@ static char cur_section_char; /* the character just before that name */
@ As one might expect, |get_next| consists mostly of a big switch
that branches to the various special cases that can arise.
-\CEE/ allows underscores to appear in identifiers, and some \CEE/
-compilers even allow the dollar sign.
-
-@d isxalpha(c) ((c)=='_' || (c)=='$')
- /* non-alpha characters allowed in identifier */
-@d ishigh(c) ((eight_bits)(c)>0177)
-@^high-bit character handling@>
@c
static eight_bits
@@ -688,13 +711,13 @@ get_next(void) /* produces the next input token */
@<Check if we're at the end of a preprocessor command@>@;
if (loc>limit && get_line()==false) return new_section;
c=*(loc++);
- if (xisdigit(c) || c=='.') @<Get a constant@>@;
+ if (xisdigit((int)c) || c=='.') @<Get a constant@>@;
else if (c=='\'' || c=='"'@|
|| ((c=='L' || c=='u' || c=='U')&&(*loc=='\'' || *loc=='"'))@|
|| ((c=='u' && *loc=='8')&&(*(loc+1)=='\'' || *(loc+1)=='"'))@|
|| (c=='<' && sharp_include_line==true))
@<Get a string@>@;
- else if (xisalpha(c) || isxalpha(c) || ishigh(c))
+ else if (isalpha((int)c) || isxalpha(c) || ishigh(c))
@<Get an identifier@>@;
else if (c=='@@') @<Get control code and possible section name@>@;
else if (xisspace(c)) continue; /* ignore spaces and tabs */
@@ -733,7 +756,8 @@ a file name in lines that start with \.{\#include}. We must treat this file
name as a string.
@<Private...@>=
-static boolean sharp_include_line=false; /* are we scanning a \&{\#include} line? */
+static boolean sharp_include_line=false;
+ /* are we scanning a \#\&{include} line? */
@ @<Check if next token is |include|@>=
while (loc<=buffer_end-7 && xisspace(*loc)) loc++;
@@ -752,32 +776,31 @@ the last character was a \.\\.
}
@ The following code assigns values to the combinations \.{++},
-\.{--}, \.{->}, \.{>=}, \.{<=}, \.{==}, \.{<<}, \.{>>}, \.{!=}, \.{\v\v}, and
-\.{\&\&}, and to the \CPLUSPLUS/
+\.{--}, \.{->}, \.{>=}, \.{<=}, \.{==}, \.{<<}, \.{>>}, \.{!=}, %\.{||}
+\.{\v\v} and~\.{\&\&}, and to the \CPLUSPLUS/
combinations \.{...}, \.{::}, \.{.*} and \.{->*}.
The compound assignment operators (e.g., \.{+=}) are
treated as separate tokens.
-@d compress(c) if (loc++<=limit) return c
-
@<Compress tw...@>=
switch(c) {
- case '/': if (*loc=='*') {compress(begin_comment);}
+ case '/': if (*loc=='*') {@+compress(begin_comment);@+}
else if (*loc=='/') compress(begin_short_comment); break;
case '+': if (*loc=='+') compress(plus_plus); break;
- case '-': if (*loc=='-') {compress(minus_minus);}
- else { if (*loc=='>') { if (*(loc+1)=='*') {loc++; compress(minus_gt_ast);}
- else compress(minus_gt); } } break;
- case '.': if (*loc=='*') {compress(period_ast);}
+ case '-': if (*loc=='-') {@+compress(minus_minus);@+}
+ else if (*loc=='>') {
+ if (*(loc+1)=='*') {loc++;@+compress(minus_gt_ast);}
+ else compress(minus_gt);
+ } break;
+ case '.': if (*loc=='*') {@+compress(period_ast);@+}
else if (*loc=='.' && *(loc+1)=='.') {
- loc++; compress(dot_dot_dot);
- }
- break;
+ loc++;@+compress(dot_dot_dot);
+ } break;
case ':': if (*loc==':') compress(colon_colon); break;
case '=': if (*loc=='=') compress(eq_eq); break;
- case '>': if (*loc=='=') {compress(gt_eq);}
+ case '>': if (*loc=='=') {@+compress(gt_eq);@+}
else if (*loc=='>') compress(gt_gt); break;
- case '<': if (*loc=='=') {compress(lt_eq);}
+ case '<': if (*loc=='=') {@+compress(lt_eq);@+}
else if (*loc=='<') compress(lt_lt); break;
case '&': if (*loc=='&') compress(and_and); break;
case '|': if (*loc=='|') compress(or_or); break;
@@ -786,8 +809,10 @@ switch(c) {
@ @<Get an identifier@>= {
id_first=--loc;
- while (isalpha((eight_bits)*++loc) || isdigit((eight_bits)*loc) @|
- || isxalpha((eight_bits)*loc) || ishigh((eight_bits)*loc));
+ do
+ ++loc;
+ while (isalpha((int)*loc) || isdigit((int)*loc) @|
+ || isxalpha(*loc) || ishigh(*loc));
id_loc=loc; return identifier;
}
@@ -798,51 +823,77 @@ introduced by \.0 and hexadecimals by \.{0x}, but \.{CWEAVE} will print
with \TEX/ macros that the user can redefine to fit the context.
In order to simplify such macros, we replace some of the characters.
+On output, the \.{\ } that replaces \.{'} in \CPLUSPLUS/ literals will become
+``\.{\\\ }''.
+
Notice that in this section and the next, |id_first| and |id_loc|
are pointers into the array |section_text|, not into |buffer|.
+@d gather_digits_while(t) while ((t) || *loc=='\'')
+ if (*loc=='\'') { /* \CPLUSPLUS/-style digit separator */
+ *id_loc++=' ';@+ loc++; /* insert a little white space */
+@.\\\ @>
+ }@+else *id_loc++=*loc++
+
@<Get a constant@>= {
id_first=id_loc=section_text+1;
+ if (*(loc-1)=='.' && !xisdigit(*loc)) goto mistake; /* not a constant */
if (*(loc-1)=='0') {
- if (*loc=='x' || *loc=='X') {*id_loc++='^'; loc++;
- while (xisxdigit(*loc)) *id_loc++=*loc++;} /* hex constant */
- else if (xisdigit(*loc)) {*id_loc++='~';
- while (xisdigit(*loc)) *id_loc++=*loc++;} /* octal constant */
- else goto dec; /* decimal constant */
- }
- else { /* decimal constant */
- if (*(loc-1)=='.' && !xisdigit(*loc)) goto mistake; /* not a constant */
- dec: *id_loc++=*(loc-1);
- while (xisdigit(*loc) || *loc=='.') *id_loc++=*loc++;
- if (*loc=='e' || *loc=='E') { /* float constant */
- *id_loc++='_'; loc++;
- if (*loc=='+' || *loc=='-') *id_loc++=*loc++;
- while (xisdigit(*loc)) *id_loc++=*loc++;
- }
+ if (*loc=='x' || *loc=='X') @<Get a hexadecimal constant@>@;
+ else if (*loc=='b' || *loc=='B') @<Get a binary constant@>@;
+ else if (xisdigit(*loc)) @<Get an octal constant@>@;
}
+ *id_loc++=*(loc-1); /* decimal constant */
+ gather_digits_while(xisdigit(*loc) || *loc=='.');
+get_exponent:
+ if (*loc=='e' || *loc=='E')
+ *id_loc++='_';
+ else if (*loc=='p' || *loc=='P')
+ *id_loc++='%';
+ else
+ goto digit_suffix;
+ loc++;
+ if (*loc=='+' || *loc=='-') *id_loc++=*loc++;
+ gather_digits_while(xisdigit(*loc));
+digit_suffix:
while (*loc=='u' || *loc=='U' || *loc=='l' || *loc=='L'
|| *loc=='f' || *loc=='F') {
- *id_loc++='$'; *id_loc++=toupper((eight_bits)*loc); loc++;
+ *id_loc++='$'; *id_loc++=toupper((int)*loc); loc++;
}
return constant;
}
+@ @<Get a hex...@>={
+ *id_loc++='^'; loc++;
+ gather_digits_while(xisxdigit(*loc) || *loc=='.');
+ goto get_exponent;
+}
+
+@ @<Get a bin...@>={
+ *id_loc++='\\'; loc++;
+ gather_digits_while(*loc=='0' || *loc=='1');
+ goto digit_suffix;
+}
+
+@ @<Get an oct...@>={
+ *id_loc++='~'; gather_digits_while(xisdigit(*loc));
+ goto digit_suffix;
+}
+
@ \CEE/ strings and character constants, delimited by double and single
quotes, respectively, can contain newlines or instances of their own
delimiters if they are protected by a backslash. We follow this
convention, but do not allow the string to be longer than |longest_name|.
-@<Get a string@>= {
+@<Get a string@>= {@+
char delim = c; /* what started the string */
id_first = section_text+1;
id_loc = section_text;
if (delim=='\'' && *(loc-2)=='@@') {*++id_loc='@@'; *++id_loc='@@';}
*++id_loc=delim;
- if (delim=='L' || delim=='u' || delim=='U') { /* wide character constant */
- if (delim=='u' && *loc=='8') { *++id_loc=*loc++; }
- delim=*loc++; *++id_loc=delim;
- }
- if (delim=='<') delim='>'; /* for file names in \&{\#include} lines */
+ if (delim=='L' || delim=='u' || delim=='U')
+ @<Get a wide character constant@>@;
+ if (delim=='<') delim='>'; /* for file names in \#\&{include} lines */
while (true) {
if (loc>=limit) {
if(*(limit-1)!='\\') {
@@ -858,10 +909,14 @@ convention, but do not allow the string to be longer than |longest_name|.
if (++id_loc<=section_text_end) *id_loc=c;
break;
}
- if (c=='\\') { if (loc>=limit) continue;
- else { if (++id_loc<=section_text_end) {
- *id_loc = '\\'; c=*loc++;
- } } }
+ if (c=='\\') {
+ if (loc>=limit) continue;
+ else {
+ if (++id_loc<=section_text_end) {
+ *id_loc = '\\'; c=*loc++;
+ }
+ }
+ }
if (++id_loc<=section_text_end) *id_loc=c;
}
if (id_loc>=section_text_end) {
@@ -874,36 +929,40 @@ convention, but do not allow the string to be longer than |longest_name|.
return string;
}
+@ @<Get a wide...@>={
+ if (delim=='u' && *loc=='8') *++id_loc=*loc++;
+ delim=*loc++; *++id_loc=delim;
+}
+
@ After an \.{@@} sign has been scanned, the next character tells us
whether there is more work to do.
-@<Get control code and possible section name@>= {
- c=*loc++;
- switch(ccode[(eight_bits)c]) {
- case translit_code: err_print("! Use @@l in limbo only"); continue;
+@<Get control code and possible section name@>=
+switch(ccode[c=*loc++]) {
+ case translit_code: err_print("! Use @@l in limbo only"); continue;
@.Use @@l in limbo...@>
- case underline: xref_switch=def_flag; continue;
- case trace: tracing=c-'0'; continue;
- case xref_roman: case xref_wildcard: case xref_typewriter: case noop:
- case TeX_string: c=ccode[(eight_bits)c]; skip_restricted(); return c;
- case section_name:
- @<Scan the section name and make |cur_section| point to it@>@;
- case verbatim: @<Scan a verbatim string@>@;
- case ord: @<Get a string@>@;
- default: return ccode[(eight_bits)c];
- }
+ case underline: xref_switch=def_flag; continue;
+ case trace: tracing=c-'0'; continue;
+ case section_name:
+ @<Scan the section name and make |cur_section| point to it@>@;
+ case verbatim: @<Scan a verbatim string@>@;
+ case ord: @<Get a string@>@;
+ case xref_roman: case xref_wildcard: case xref_typewriter: case noop:
+ case TeX_string: skip_restricted(); /* fall through */
+ default: return ccode[c];
}
@ The occurrence of a section name sets |xref_switch| to zero,
because the section name might (for example) follow \&{int}.
@<Scan the section name...@>= {
- char *k; /* pointer into |section_text| */
+ char *k=section_text; /* pointer into |section_text| */
cur_section_char=*(loc-1);
@<Put section name into |section_text|@>@;
if (k-section_text>3 && strncmp(k-2,"...",3)==0)
- cur_section=section_lookup(section_text+1,k-3,1); /* 1 indicates a prefix */
- else cur_section=section_lookup(section_text+1,k,0);
+ cur_section=section_lookup(section_text+1,k-3,true);
+ /* |true| indicates a prefix */
+ else cur_section=section_lookup(section_text+1,k,false);
xref_switch=0; return section_name;
}
@@ -916,7 +975,6 @@ character of the name.)
@<Set init...@>=section_text[0]=' ';
@ @<Put section name...@>=
-k=section_text;
while (true) {
if (loc>limit && get_line()==false) {
err_print("! Input ended in section name");
@@ -945,7 +1003,7 @@ if (c=='@@') {
if (c=='>') {
loc+=2; break;
}
- if (ccode[(eight_bits)c]==new_section) {
+ if (ccode[c]==new_section) {
err_print("! Section name didn't end"); break;
@.Section name didn't end@>
}
@@ -969,8 +1027,7 @@ false_alarm:
if (loc++>limit) {
err_print("! Control text didn't end"); loc=limit;
@.Control text didn't end@>
- }
- else {
+ } else {
if (*loc=='@@'&&loc<=limit) {loc++; goto false_alarm;}
if (*loc++!='>')
err_print("! Control codes are forbidden in control text");
@@ -985,14 +1042,13 @@ have |*(loc-1)==verbatim|; we set |id_first| to the beginning
of the string itself, and |id_loc| to its ending-plus-one location in the
buffer. We also set |loc| to the position just after the ending delimiter.
-@<Scan a verbatim string@>= {
- id_first=loc++; *(limit+1)='@@'; *(limit+2)='>';
- while (*loc!='@@' || *(loc+1)!='>') loc++;
- if (loc>=limit) err_print("! Verbatim string didn't end");
+@<Scan a verbatim string@>=
+id_first=loc++; *(limit+1)='@@'; *(limit+2)='>';
+while (*loc!='@@' || *(loc+1)!='>') loc++;
+if (loc>=limit) err_print("! Verbatim string didn't end");
@.Verbatim string didn't end@>
- id_loc=loc; loc+=2;
- return verbatim;
-}
+id_loc=loc; loc+=2;
+return verbatim;
@** Phase one processing.
We now have accumulated enough subroutines to make it possible to carry out
@@ -1019,7 +1075,6 @@ phase_one(void) {
@<Store cross-reference data for the current section@>@;
changed_section[section_count]=change_exists;
/* the index changes if anything does */
- phase=2; /* prepare for second phase */
@<Print error messages about unused or undefined section names@>@;
}
@@ -1031,7 +1086,7 @@ phase_one(void) {
changed_section[section_count]=changing;
/* it will become |true| if any line changes */
if (*(loc-1)=='*' && show_progress) {
- printf("*%d",section_count);
+ printf("*%d",(int)section_count);
update_terminal; /* print a progress report */
}
@<Store cross-references in the \TEX/ part of a section@>@;
@@ -1067,14 +1122,13 @@ static void outer_xref(void);
@ @c
static void
-C_xref(@t\1\1@> /* makes cross-references for \CEE/ identifiers */
- eight_bits spec_ctrl@t\2\2@>)
+C_xref( /* makes cross-references for \CEE/ identifiers */
+ eight_bits spec_ctrl)
{
- name_pointer p; /* a referenced name */
while (next_control<format_code || next_control==spec_ctrl) {
if (next_control>=identifier && next_control<=xref_typewriter) {
- if (next_control>identifier) @<Replace |"@@@@"| by |"@@"| @>@;
- p=id_lookup(id_first, id_loc,next_control-identifier); new_xref(p);
+ if (next_control>identifier) @<Replace `\.{@@@@}' by `\.{@@}'@>@;
+ new_xref(id_lookup(id_first,id_loc,next_control-identifier));
}
if (next_control==section_name) {
section_xref_switch=cite_flag;
@@ -1126,15 +1180,15 @@ while (true) {
case noop: case section_name:
loc-=2; next_control=get_next(); /* scan to \.{@@>} */
if (next_control>=xref_roman && next_control<=xref_typewriter) {
- @<Replace |"@@@@"| by |"@@"| @>@;
- new_xref(id_lookup(id_first, id_loc,next_control-identifier));
+ @<Replace `\.{@@@@}' by `\.{@@}'@>@;
+ new_xref(id_lookup(id_first,id_loc,next_control-identifier));
}
break;
}
if (next_control>=format_code) break;
}
-@ @<Replace |"@@@@"| by |"@@"| @>=
+@ @<Replace `\.{@@@@}' by `\.{@@}'@>=
{
char *src=id_first,*dst=id_first;
while(src<id_loc){
@@ -1203,19 +1257,17 @@ discover should be unindexed.
definition is found in limbo.
@<Process simple format in limbo@>=
-{
- if (get_next()!=identifier)
- err_print("! Missing left identifier of @@s");
+if (get_next()!=identifier)
+ err_print("! Missing left identifier of @@s");
@.Missing left identifier...@>
- else {
- lhs=id_lookup(id_first,id_loc,normal);
- if (get_next()!=identifier)
- err_print("! Missing right identifier of @@s");
+else {
+ lhs=id_lookup(id_first,id_loc,normal);
+ if (get_next()!=identifier)
+ err_print("! Missing right identifier of @@s");
@.Missing right identifier...@>
- else {
- rhs=id_lookup(id_first,id_loc,normal);
- lhs->ilk=rhs->ilk;
- }
+ else {
+ rhs=id_lookup(id_first,id_loc,normal);
+ lhs->ilk=rhs->ilk;
}
}
@@ -1223,7 +1275,7 @@ definition is found in limbo.
|next_control>=begin_C|.
@<Store cross-references in the \CEE/...@>=
-if (next_control<=section_name) { /* |begin_C| or |section_name| */
+if (next_control<=section_name) { /* |begin_C| or |section_name| */
if (next_control==begin_C) section_xref_switch=0;
else {
section_xref_switch=def_flag;
@@ -1257,8 +1309,7 @@ name_pointer p) /* print anomalies in subtree |p| */
if (p) {
section_check(p->llink);
cur_xref=(xref_pointer)p->xref;
- if (cur_xref->num==file_flag) {an_output=true; cur_xref=cur_xref->xlink;}
- else an_output=false;
+ if ((an_output=(cur_xref->num==file_flag))==true) cur_xref=cur_xref->xlink;
if (cur_xref->num <def_flag) {
fputs("\n! Never defined: <",stdout);
print_section_name(p); putchar('>'); mark_harmless;
@@ -1297,7 +1348,7 @@ that is being output; in this case the breakpoint |b| should be strictly
less than |out_buf_end|. If the |per_cent| parameter is |false|,
trailing blanks are suppressed.
The characters emptied from the buffer form a new line of output;
-if the |carryover| parameter is true, a |"%"| in that line will be
+if the |carryover| parameter is |true|, a |"%"| in that line will be
carried over to the next line (so that \TEX/ will ignore the completion
of commented-out text).
@@ -1313,11 +1364,11 @@ static void finish_line(void);
@ @c
static void
-flush_buffer(@t\1\1@>
+flush_buffer(
char *b, /* outputs from |out_buf+1| to |b|, where |b<=out_ptr| */
-boolean per_cent,boolean carryover@t\2\2@>)
+boolean per_cent,boolean carryover)
{
- char *j; j=b; /* pointer into |out_buf| */
+ char *j=b; /* pointer into |out_buf| */
if (! per_cent) /* remove trailing blanks */
while (j>out_buf && *j==' ') j--;
c_line_write(j-out_buf);
@@ -1360,7 +1411,7 @@ tricky way so that the first line of the output file will be
@<Start \TEX/...@>=
out_ptr=out_buf+1; out_line=1; active_file=tex_file;
-*out_ptr='c'; tex_printf("\\input cwebma");
+tex_printf("\\input cwebma"); *out_ptr='c';
@ When we wish to append one character |c| to the output buffer, we write
`|out(c)|'; this will cause the buffer to be emptied if it was already
@@ -1378,8 +1429,8 @@ static void break_out(void);
@ @c
static void
-out_str(@t\1\1@> /* output characters from |s| to end of string */
-const char*s@t\2\2@>)
+out_str( /* output characters from |s| to end of string */
+const char*s)
{
while (*s) out(*s++);
}
@@ -1440,8 +1491,8 @@ out_section(
sixteen_bits n)
{
char s[6];
- sprintf(s,"%d",n); out_str(s);
- if(changed_section[n]) out_str ("\\*");
+ sprintf(s,"%d",(int)n); out_str(s);
+ if (changed_section[n]) out_str("\\*");
@.\\*@>
}
@@ -1485,15 +1536,13 @@ static int copy_comment(boolean,int);
static void
copy_limbo(void)
{
- char c;
while (true) {
if (loc>limit && (finish_line(), get_line()==false)) return;
*(limit+1)='@@';
while (*loc!='@@') out(*(loc++));
if (loc++<=limit) {
- c=*loc++;
- if (ccode[(eight_bits)c]==new_section) break;
- switch (ccode[(eight_bits)c]) {
+ switch (ccode[(eight_bits)*loc++]) {
+ case new_section: return;
case translit_code: out_str("\\ATL"); break;
@.\\ATL@>
case '@@': out('@@'); break;
@@ -1546,9 +1595,9 @@ one further token without overflow.
@d app_tok(c) {if (tok_ptr+2>tok_mem_end) overflow("token"); *(tok_ptr++)=c;}
@c
-static int copy_comment(@t\1\1@> /* copies \TeX\ code in comments */
+static int copy_comment( /* copies \TeX\ code in comments */
boolean is_long_comment, /* is this a traditional \CEE/ comment? */
-int bal@t\2\2@>) /* brace balance */
+int bal) /* brace balance */
{
char c; /* current character being copied */
while (true) {
@@ -1559,8 +1608,7 @@ int bal@t\2\2@>) /* brace balance */
@.Input ended in mid-comment@>
loc=buffer+1; goto done;
}
- }
- else {
+ } else {
if (bal>1) err_print("! Missing } in comment");
@.Missing \} in comment@>
goto done;
@@ -1583,7 +1631,7 @@ int bal@t\2\2@>) /* brace balance */
}
}
}
-done:@<Clear |bal| and |return|@>@;
+done: @<Clear |bal| and |return|@>@;
}
@ @<Check for end of comment@>=
@@ -1601,9 +1649,11 @@ if (c=='@@') {
@.Illegal use of @@...@>
loc-=2; if (phase==2) *(tok_ptr-1)=' '; goto done;
}
+} else {
+ if (c=='\\' && *loc!='@@') {
+ if (phase==2) app_tok(*(loc++))@t;@>@; else loc++;
+ }
}
-else { if (c=='\\' && *loc!='@@') {
- if (phase==2) app_tok(*(loc++))@; else loc++; } }
@ We output
enough right braces to keep \TEX/ happy.
@@ -1683,8 +1733,8 @@ same initial letter; these subscripts are assigned from left to right.
@d rbrace 8 /* denotes a right brace */
@d decl_head 9 /* denotes an incomplete declaration */
@d comma 10 /* denotes a comma */
-@d lpar 11 /* denotes a left parenthesis or left bracket */
-@d rpar 12 /* denotes a right parenthesis or right bracket */
+@d lpar 11 /* denotes a left parenthesis */
+@d rpar 12 /* denotes a right parenthesis */
@d prelangle 13 /* denotes `$<$' before we know what it is */
@d prerangle 14 /* denotes `$>$' before we know what it is */
@d langle 15 /* denotes `$<$' when it's used as angle bracket in a template */
@@ -1706,13 +1756,16 @@ same initial letter; these subscripts are assigned from left to right.
@d insert 37 /* a scrap that gets combined with its neighbor */
@d section_scrap 38 /* section name */
@d dead 39 /* scrap that won't combine */
-@d ftemplate 59 /* \\{make\_pair} */
-@d new_exp 60 /* \&{new} and a following type identifier */
-@d begin_arg 61 /* \.{@@[} */
-@d end_arg 62 /* \.{@@]} */
+@d ftemplate 63 /* \\{make\_pair} */
+@d new_exp 64 /* \&{new} and a following type identifier */
+@d begin_arg 65 /* \.{@@[} */
+@d end_arg 66 /* \.{@@]} */
+@d lbrack 67 /* denotes a left bracket */
+@d rbrack 68 /* denotes a right bracket */
+@d attr_head 69 /* denotes beginning of attribute */
@<Private...@>=
-static char cat_name[256][12];
+static char cat_name[256][12]; /* |12==strlen("struct_head")+1| */
@ @<Set in...@>=
{int c; for (c=0;c<256;c++) strcpy(cat_name[c],"UNKNOWN");}
@@ -1774,19 +1827,18 @@ static char cat_name[256][12];
strcpy(cat_name[new_exp],"new_exp");
strcpy(cat_name[begin_arg],"@@["@q]@>);
strcpy(cat_name[end_arg],@q[@>"@@]");
+ strcpy(cat_name[lbrack],"[");
+ strcpy(cat_name[rbrack],"]");
+ strcpy(cat_name[attr_head],"attr_head");
+ strcpy(cat_name[attr],"attr");
+ strcpy(cat_name[alignas_like],"alignas");
+ strcpy(cat_name[using_like],"using");
+ strcpy(cat_name[default_like],"default");
strcpy(cat_name[0],"zero");
@ This code allows \.{CWEAVE} to display its parsing steps.
-@c
-static void
-print_cat(@t\1\1@> /* symbolic printout of a category */
-eight_bits c@t\2\2@>)
-{
- fputs(cat_name[c],stdout);
-}
-
-@ @<Predecl...@>=@+static void print_cat(eight_bits);
+@d print_cat(c) fputs(cat_name[c],stdout) /* symbolic printout of a category */
@ The token lists for translated \TEX/ output contain some special control
symbols as well as ordinary characters. These control symbols are
@@ -1813,7 +1865,9 @@ $10n$;
\yskip\hang |indent| causes future lines to be indented one more em;
-\yskip\hang |outdent| causes future lines to be indented one less em.
+\yskip\hang |outdent| causes future lines to be indented one less em;
+
+\yskip\hang |dindent| causes future lines to be indented two more ems.
\yskip\noindent All of these tokens are removed from the \TEX/ output that
comes from \CEE/ text between \pb\ signs; |break_space| and |force| and
@@ -1827,6 +1881,10 @@ However, a sequence of consecutive `\.\ ', |break_space|,
|force|, and/or |big_force| tokens is first replaced by a single token
(the maximum of the given ones).
+A |dindent| token becomes \.{\\1\\1}. It is equivalent to a pair of |indent|
+tokens. However, if |dindent| immediately precedes |big_force|, the two tokens
+are swapped, so that the indentation happens after the line break.
+
The token |math_rel| will be translated into
\.{\\MRL\{}, and it will get a matching \.\} later.
Other control sequences in the \TEX/ output will be
@@ -1854,6 +1912,7 @@ reserved words, `\.{\\.\{}$\,\ldots\,$\.\}' surrounding strings,
@d end_translation 0223 /* special sentinel token at end of list */
@d inserted 0224 /* sentinel to mark translations of inserts */
@d qualifier 0225 /* introduces an explicit namespace qualifier */
+@d dindent 0226 /* two more tabs (\.{\\1\\1}) */
@ The raw input is converted into scraps according to the following table,
which gives category codes followed by the translations.
@@ -1894,9 +1953,12 @@ with discretionary breaks in between.
\.{@@'7'}&|exp|: \.{\\.\{@@'7'\}}&maybe\cr
\.{077} or \.{\\77}&|exp|: \.{\\T\{\\\~77\}}&maybe\cr
\.{0x7f}&|exp|: \.{\\T\{\\\^7f\}}&maybe\cr
+\.{0b10111}&|exp|: \.{\\T\{\\\\10111\}}&maybe\cr
\.{77}&|exp|: \.{\\T\{77\}}&maybe\cr
\.{77L}&|exp|: \.{\\T\{77\\\$L\}}&maybe\cr
\.{0.1E5}&|exp|: \.{\\T\{0.1\\\_5\}}&maybe\cr
+\.{0x10p3}&|exp|: \.{\\T\{\\\^10\}\\p\{3\}}&maybe\cr
+\.{1'000'000}&|exp|: \.{\\T\{1\\\ 000\\\ 000\}}&maybe\cr
\.+&|ubinop|: \.+&yes\cr
\.-&|ubinop|: \.-&yes\cr
\.*&|raw_ubin|: \.*&yes\cr
@@ -1913,19 +1975,21 @@ with discretionary breaks in between.
\.\~&|unop|: \.{\\CM}&yes\cr
\.\&&|raw_ubin|: \.{\\AND}&yes\cr
\.(&|lpar|: \.(&maybe\cr
-\.[&|lpar|: \.[&maybe\cr
\.)&|rpar|: \.)&maybe\cr
-\.]&|rpar|: \.]&maybe\cr
+\.[&|lbrack|: \.[&maybe\cr
+\.]&|rbrack|: \.]&maybe\cr
\.\{&|lbrace|: \.\{&yes\cr
\.\}&|lbrace|: \.\}&yes\cr
\.,&|comma|: \.,&yes\cr
\.;&|semi|: \.;&maybe\cr
\.:&|colon|: \.:&no\cr
\.\# (within line)&|ubinop|: \.{\\\#}&yes\cr
-\.\# (at beginning)&|lproc|: |force| |preproc_line| \.{\\\#}&no\cr
-end of \.\# line&|rproc|: |force|&no\cr
+\.\# (at beginning)&|lproc|: |force| |preproc_line| \.{\\\#}&no\cr
+end of \.\# line&|rproc|: |force|&no\cr
identifier&|exp|: \.{\\\\\{}identifier with underlines and
dollar signs quoted\.\}&maybe\cr
+\.{alignas}&|alignas_like|: \stars&maybe\cr
+\.{alignof}&|sizeof_like|: \stars&maybe\cr
\.{and}&|alfop|: \stars&yes\cr
\.{and\_eq}&|alfop|: \stars&yes\cr
\.{asm}&|sizeof_like|: \stars&maybe\cr
@@ -1937,13 +2001,25 @@ identifier&|exp|: \.{\\\\\{}identifier with underlines and
\.{case}&|case_like|: \stars&maybe\cr
\.{catch}&|catch_like|: \stars&maybe\cr
\.{char}&|raw_int|: \stars&maybe\cr
+\.{char8\_t}&|raw_int|: \stars&maybe\cr
+\.{char16\_t}&|raw_int|: \stars&maybe\cr
+\.{char32\_t}&|raw_int|: \stars&maybe\cr
\.{class}&|struct_like|: \stars&maybe\cr
\.{clock\_t}&|raw_int|: \stars&maybe\cr
\.{compl}&|alfop|: \stars&yes\cr
+\.{complex}&|int_like|: \stars&yes\cr
+\.{concept}&|int_like|: \stars&maybe\cr
\.{const}&|const_like|: \stars&maybe\cr
+\.{consteval}&|const_like|: \stars&maybe\cr
+\.{constexpr}&|const_like|: \stars&maybe\cr
+\.{constinit}&|const_like|: \stars&maybe\cr
\.{const\_cast}&|raw_int|: \stars&maybe\cr
\.{continue}&|case_like|: \stars&maybe\cr
-\.{default}&|case_like|: \stars&maybe\cr
+\.{co\_await}&|case_like|: \stars&maybe\cr
+\.{co\_return}&|case_like|: \stars&maybe\cr
+\.{co\_yield}&|case_like|: \stars&maybe\cr
+\.{decltype}&|sizeof_like|: \stars&maybe\cr
+\.{default}&|default_like|: \stars&maybe\cr
\.{define}&|define_like|: \stars&maybe\cr
\.{defined}&|sizeof_like|: \stars&maybe\cr
\.{delete}&|delete_like|: \stars&maybe\cr
@@ -1960,6 +2036,7 @@ identifier&|exp|: \.{\\\\\{}identifier with underlines and
\.{export}&|int_like|: \stars&maybe\cr
\.{extern}&|int_like|: \stars&maybe\cr
\.{FILE}&|raw_int|: \stars&maybe\cr
+\.{false}&|normal|: \stars&maybe\cr
\.{float}&|raw_int|: \stars&maybe\cr
\.{for}&|for_like|: \stars&maybe\cr
\.{fpos\_t}&|raw_int|: \stars&maybe\cr
@@ -1968,6 +2045,7 @@ identifier&|exp|: \.{\\\\\{}identifier with underlines and
\.{if}&|if_like|: \stars&maybe\cr
\.{ifdef}&|if_like|: \stars&maybe\cr
\.{ifndef}&|if_like|: \stars&maybe\cr
+\.{imaginary}&|int_like|: \stars&maybe\cr
\.{include}&|if_like|: \stars&maybe\cr
\.{inline}&|int_like|: \stars&maybe\cr
\.{int}&|raw_int|: \stars&maybe\cr
@@ -1979,9 +2057,11 @@ identifier&|exp|: \.{\\\\\{}identifier with underlines and
\.{mutable}&|int_like|: \stars&maybe\cr
\.{namespace}&|struct_like|: \stars&maybe\cr
\.{new}&|new_like|: \stars&maybe\cr
+\.{noexcept}&|attr|: \stars&maybe\cr
\.{not}&|alfop|: \stars&yes\cr
\.{not\_eq}&|alfop|: \stars&yes\cr
\.{NULL}&|exp|: \.{\\NULL}&yes\cr
+\.{nullptr}&|exp|: \.{\\NULL}&yes\cr
\.{offsetof}&|raw_int|: \stars&maybe\cr
\.{operator}&|operator_like|: \stars&maybe\cr
\.{or}&|alfop|: \stars&yes\cr
@@ -1993,6 +2073,8 @@ identifier&|exp|: \.{\\\\\{}identifier with underlines and
\.{public}&|public_like|: \stars&maybe\cr
\.{register}&|int_like|: \stars&maybe\cr
\.{reinterpret\_cast}&|raw_int|: \stars&maybe\cr
+\.{requires}&|int_like|: \stars&maybe\cr
+\.{restrict}&|int_like|: \stars&maybe\cr
\.{return}&|case_like|: \stars&maybe\cr
\.{short}&|raw_int|: \stars&maybe\cr
\.{sig\_atomic\_t}&|raw_int|: \stars&maybe\cr
@@ -2000,22 +2082,24 @@ identifier&|exp|: \.{\\\\\{}identifier with underlines and
\.{size\_t}&|raw_int|: \stars&maybe\cr
\.{sizeof}&|sizeof_like|: \stars&maybe\cr
\.{static}&|int_like|: \stars&maybe\cr
+\.{static\_assert}&|sizeof_like|: \stars&maybe\cr
\.{static\_cast}&|raw_int|: \stars&maybe\cr
\.{struct}&|struct_like|: \stars&maybe\cr
\.{switch}&|for_like|: \stars&maybe\cr
\.{template}&|template_like|: \stars&maybe\cr
\.{TeX}&|exp|: \.{\\TeX}&yes\cr
\.{this}&|exp|: \.{\\this}&yes\cr
+\.{thread\_local}&|raw_int|: \stars&maybe\cr
\.{throw}&|case_like|: \stars&maybe\cr
\.{time\_t}&|raw_int|: \stars&maybe\cr
\.{try}&|else_like|: \stars&maybe\cr
\.{typedef}&|typedef_like|: \stars&maybe\cr
-\.{typeid}&|raw_int|: \stars&maybe\cr
+\.{typeid}&|sizeof_like|: \stars&maybe\cr
\.{typename}&|struct_like|: \stars&maybe\cr
\.{undef}&|if_like|: \stars&maybe\cr
\.{union}&|struct_like|: \stars&maybe\cr
\.{unsigned}&|raw_int|: \stars&maybe\cr
-\.{using}&|int_like|: \stars&maybe\cr
+\.{using}&|using_like|: \stars&maybe\cr
\.{va\_dcl}&|decl|: \stars&maybe\cr
\.{va\_list}&|raw_int|: \stars&maybe\cr
\.{virtual}&|int_like|: \stars&maybe\cr
@@ -2026,10 +2110,10 @@ identifier&|exp|: \.{\\\\\{}identifier with underlines and
\.{xor}&|alfop|: \stars&yes\cr
\.{xor\_eq}&|alfop|: \stars&yes\cr
\.{@@,}&|insert|: \.{\\,}&maybe\cr
-\.{@@\v}&|insert|: |opt| \.0&maybe\cr
-\.{@@/}&|insert|: |force|&no\cr
-\.{@@\#}&|insert|: |big_force|&no\cr
-\.{@@+}&|insert|: |big_cancel| \.{\{\}} |break_space|
+\.{@@\v}&|insert|: |opt| \.0&maybe\cr
+\.{@@/}&|insert|: |force|&no\cr
+\.{@@\#}&|insert|: |big_force|&no\cr
+\.{@@+}&|insert|: |big_cancel| \.{\{\}} |break_space|
\.{\{\}} |big_cancel|&no\cr
\.{@@;}&|semi|: &maybe\cr
\.{@@[@q]@>}&|begin_arg|: &maybe\cr
@@ -2041,15 +2125,15 @@ identifier&|exp|: \.{\\\\\{}identifier with underlines and
\.{@@(@q)@>}\thinspace section name\thinspace\.{@@>}&|section_scrap|:
\.{\\X}$n$\.{:\\.\{}section name with special characters
quoted\.{\ \}\\X}&maybe\cr
-\.{/*}comment\.{*/}&|insert|: |cancel|
+\.{/*}\thinspace comment\thinspace\.{*/}&|insert|: |cancel|
\.{\\C\{}translated comment\.\} |force|&no\cr
-\.{//}comment&|insert|: |cancel|
+\.{//}\thinspace comment&|insert|: |cancel|
\.{\\SHC\{}translated comment\.\} |force|&no\cr
}
\smallskip
The construction \.{@@t}\thinspace stuff\/\thinspace\.{@@>} contributes
-\.{\\hbox\{}\thinspace stuff\/\thinspace\.\} to the following scrap.
+\.{\\hbox\{}\thinspace stuff\/\thinspace\.\} to the following scrap.
@i prod.w
@@ -2090,7 +2174,7 @@ typedef struct {
eight_bits cat;
eight_bits mathness;
union {
- text_pointer Trans;
+ text_pointer Trans;@+@t}\6{@>
@<Rest of |trans_plus| union@>@;
} trans_plus;
} scrap;
@@ -2130,30 +2214,33 @@ items for \TEX/ output.
translated without line-break controls.
@d id_flag 10240 /* signifies an identifier */
-@d res_flag 2*id_flag /* signifies a reserved word */
-@d section_flag 3*id_flag /* signifies a section name */
-@d tok_flag 4*id_flag /* signifies a token list */
-@d inner_tok_flag 5*id_flag /* signifies a token list in `\pb' */
+@d res_flag (2*id_flag) /* signifies a reserved word */
+@d section_flag (3*id_flag) /* signifies a section name */
+@d tok_flag (4*id_flag) /* signifies a token list */
+@d inner_tok_flag (5*id_flag) /* signifies a token list in `\pb' */
@c
static void
-print_text(@t\1\1@> /* prints a token list for debugging; not used in |main| */
-text_pointer p@t\2\2@>)
+print_text( /* prints a token list for debugging; not used in |main| */
+text_pointer p)
{
token_pointer j; /* index into |tok_mem| */
sixteen_bits r; /* remainder of token after the flag has been stripped off */
if (p>=text_ptr) printf("BAD");
else for (j=*p; j<*(p+1); j++) {
r=*j%id_flag;
- switch (*j/id_flag) {
- case 1: printf("\\\\{"@q}@>); print_id((name_dir+r)); printf(@q{@>"}");
- break; /* |id_flag| */
- case 2: printf("\\&{"@q}@>); print_id((name_dir+r)); printf(@q{@>"}");
- break; /* |res_flag| */
- case 3: printf("<"); print_section_name((name_dir+r)); printf(">");
- break; /* |section_flag| */
- case 4: printf("[[%d]]",r); break; /* |tok_flag| */
- case 5: printf("|[[%d]]|",r); break; /* |inner_tok_flag| */
+ switch (*j) {
+ case id_flag:
+ printf("\\\\{"@q}@>); print_id((name_dir+r)); putchar(@q{@>'}');
+ break;
+ case res_flag:
+ printf("\\&{"@q}@>); print_id((name_dir+r)); putchar(@q{@>'}');
+ break;
+ case section_flag:
+ putchar('<'); print_section_name((name_dir+r)); putchar('>');
+ break;
+ case tok_flag: printf("[[%d]]",(int)r); break;
+ case inner_tok_flag: printf("|[[%d]]|",(int)r); break;
default: @<Print token |r| in symbolic form@>@;
}
}
@@ -2169,6 +2256,7 @@ switch (r) {
case cancel: printf("[cancel]"); break;
case indent: printf("[indent]"); break;
case outdent: printf("[outdent]"); break;
+ case dindent: printf("[dindent]"); break;
case backup: printf("[backup]"); break;
case opt: printf("[opt]"); break;
case break_space: printf("[break]"); break;
@@ -2178,7 +2266,7 @@ switch (r) {
case quoted_char: j++; printf("[%o]",(unsigned int)*j); break;
case end_translation: printf("[quit]"); break;
case inserted: printf("[inserted]"); break;
- default: putxchar(r);
+ default: putchar((int)r);
}
@ The production rules listed above are embedded directly into \.{CWEAVE},
@@ -2213,77 +2301,79 @@ the production just mentioned.
Before calling |reduce|, the program should have appended the tokens of
the new translation to the |tok_mem| array. We commonly want to append
copies of several existing translations, and macros are defined to
-simplify these common cases. For example, \\{app2}|(pp)| will append the
+simplify these common cases. For example, |big_app2(pp)| will append the
translations of two consecutive scraps, |pp->trans| and |(pp+1)->trans|, to
the current token list. If the entire new translation is formed in this
way, we write `|squash(j,k,c,d,n)|' instead of `|reduce(j,k,c,d,n)|'. For
-example, `|squash(pp,3,exp,-2,3)|' is an abbreviation for `\\{app3}|(pp);
+example, `|squash(pp,3,exp,-2,3)|' is an abbreviation for `|big_app3(pp);
reduce(pp,3,exp,-2,3)|'.
A couple more words of explanation:
-Both |big_app| and |app| append a token (while |big_app1| to |big_app3|
+Both |big_app| and |app| append a token (while |big_app1| to |big_app4|
append the specified number of scrap translations) to the current token list.
The difference between |big_app| and |app| is simply that |big_app|
checks whether there can be a conflict between math and non-math
tokens, and intercalates a `\.{\$}' token if necessary. When in
doubt what to use, use |big_app|.
-The |mathness| is an attribute of scraps that says whether they are
+@d app(a) *(tok_ptr++)=(token)(a)
+@d big_app2(a) big_app1(a);@+big_app1(a+1)
+@d big_app3(a) big_app2(a);@+big_app1(a+2)
+@d big_app4(a) big_app3(a);@+big_app1(a+3)
+@d big_app1_insert(p,c) big_app1(p);@+big_app(c);@+big_app1(p+1)
+
+@<Predecl...@>=
+static void app_str(const char *);@/
+static void big_app(token);@/
+static void big_app1(scrap_pointer);
+
+@ The |mathness| is an attribute of scraps that says whether they are
to be printed in a math mode context or not. It is separate from the
``part of speech'' (the |cat|) because to make each |cat| have
a fixed |mathness| (as in the original \.{WEAVE}) would multiply the
number of necessary production rules.
-The low two bits (i.e. |mathness % 4|) control the left boundary.
+The low two bits (i.e., |mathness % 4|) control the left boundary.
(We need two bits because we allow cases |yes_math|, |no_math| and
|maybe_math|, which can go either way.)
-The next two bits (i.e. |mathness / 4|) control the right boundary.
+The next two bits (i.e., |mathness / 4|) control the right boundary.
If we combine two scraps and the right boundary of the first has
a different mathness from the left boundary of the second, we
insert a \.{\$} in between. Similarly, if at printing time some
irreducible scrap has a |yes_math| boundary the scrap gets preceded
-or followed by a \.{\$}. The left boundary is |maybe_math| if and
+or followed by a~\.{\$}. The left boundary is |maybe_math| if and
only if the right boundary is.
-The code below is an exact translation of the production rules into
-\CEE/, using such macros, and the reader should have no difficulty
-understanding the format by comparing the code with the symbolic
-productions as they were listed earlier.
-
@d no_math 2 /* should be in horizontal mode */
@d yes_math 1 /* should be in math mode */
@d maybe_math 0 /* works in either horizontal or math mode */
-@d big_app2(a) big_app1(a);big_app1(a+1)
-@d big_app3(a) big_app2(a);big_app1(a+2)
-@d app(a) *(tok_ptr++)=(token)(a)
-@d app1(a) *(tok_ptr++)=(token)(tok_flag+(int)((a)->trans-tok_start))
@<Private...@>=
static int cur_mathness, init_mathness;
-@ @<Predecl...@>=
-static void app_str(const char *);@/
-static void big_app(token);@/
-static void big_app1(scrap_pointer);
+@ The code below is an exact translation of the production rules into
+\CEE/, using such macros, and the reader should have no difficulty
+understanding the format by comparing the code with the symbolic
+productions as they were listed earlier.
-@ @c
+@c
static void
app_str(
const char *s)
{
- while (*s) app_tok(*(s++));
+ while (*s) app_tok(*s++);
}
static void
big_app(
token a)
{
- if (a==' ' || (a>=big_cancel && a<=big_force)) /* non-math token */ {
+ if (a==' ' || (a>=big_cancel && a<=big_force) || a==dindent)
+ /* non-math token */ {
if (cur_mathness==maybe_math) init_mathness=no_math;
else if (cur_mathness==yes_math) app_str("{}$");
cur_mathness=no_math;
- }
- else {
+ } else {
if (cur_mathness==maybe_math) init_mathness=yes_math;
else if (cur_mathness==no_math) app_str("${}");
cur_mathness=yes_math;
@@ -2320,7 +2410,7 @@ code needs to be provided with a proper environment.
@d cat2 (pp+2)->cat
@d cat3 (pp+3)->cat
@d lhs_not_simple (pp->cat!=public_like
- && pp->cat!=semi
+ && pp->cat!=semi
&& pp->cat!=prelangle
&& pp->cat!=prerangle @|
&& pp->cat!=template_like
@@ -2333,14 +2423,16 @@ code needs to be provided with a proper environment.
&& pp->cat!=operator_like)
/* not a production with left side length 1 */
-@<Match a production at |pp|, or increase |pp| if there is no match@>= {
- if (cat1==end_arg && lhs_not_simple)
- if (pp->cat==begin_arg) squash(pp,2,exp,-2,124);
- else squash(pp,2,end_arg,-1,125);
- else if (cat1==insert) squash(pp,2,pp->cat,-2,0);
- else if (cat2==insert) squash(pp+1,2,(pp+1)->cat,-1,0);
- else if (cat3==insert) squash(pp+2,2,(pp+2)->cat,0,0);
- else
+@<Match a production at |pp|, or increase |pp| if there is no match@>=
+if (cat1==end_arg && lhs_not_simple)
+ if (pp->cat==begin_arg) squash(pp,2,exp,-2,124);
+ else squash(pp,2,end_arg,-1,125);
+else if (pp->cat==rbrack) reduce(pp,0,rpar,-3,130);
+else if (pp->cat==using_like) reduce(pp,0,int_like,-3,140);
+else if (cat1==insert) squash(pp,2,pp->cat,-2,0);
+else if (cat2==insert) squash(pp+1,2,(pp+1)->cat,-1,0);
+else if (cat3==insert) squash(pp+2,2,(pp+2)->cat,0,0);
+else
switch (pp->cat) {
case exp: @<Cases for |exp|@>@; @+break;
case lpar: @<Cases for |lpar|@>@; @+break;
@@ -2389,9 +2481,13 @@ code needs to be provided with a proper environment.
case typedef_like: @<Cases for |typedef_like|@>@; @+break;
case delete_like: @<Cases for |delete_like|@>@; @+break;
case question: @<Cases for |question|@>@; @+break;
+ case alignas_like: @<Cases for |alignas_like|@>@; @+break;
+ case lbrack: @<Cases for |lbrack|@>@; @+break;
+ case attr_head: @<Cases for |attr_head|@>@; @+break;
+ case attr: @<Cases for |attr|@>@; @+break;
+ case default_like: @<Cases for |default_like|@>@; @+break;
}
- pp++; /* if no match was found, we move to the right */
-}
+pp++; /* if no match was found, we move to the right */
@ In \CEE/, new specifier names can be defined via |typedef|, and we want
to make the parser recognize future occurrences of the identifier thus
@@ -2457,22 +2553,20 @@ the |for| loop below.
@c
static void
-make_reserved(@t\1\1@> /* make the first identifier in |p->trans| like |int| */
-scrap_pointer p@t\2\2@>)
+make_reserved( /* make the first identifier in |p->trans| like |int| */
+scrap_pointer p)
{
sixteen_bits tok_value; /* the name of this identifier, plus its flag */
token_pointer tok_loc; /* pointer to |tok_value| */
if ((tok_loc=find_first_ident(p->trans))<=operator_found)
return; /* this should not happen */
tok_value=*tok_loc;
- for (;p<=scrap_ptr; p==lo_ptr? p=hi_ptr: p++) {
- if (p->cat==exp) {
+ for (;p<=scrap_ptr; p==lo_ptr? p=hi_ptr: p++)
+ if (p->cat==exp)
if (**(p->trans)==tok_value) {
p->cat=raw_int;
**(p->trans)=tok_value%id_flag+res_flag;
}
- }
- }
(name_dir+(sixteen_bits)(tok_value%id_flag))->ilk=raw_int;
*tok_loc=tok_value%id_flag+res_flag;
}
@@ -2488,9 +2582,9 @@ it has been swallowed up by an |exp|.
@c
static void
-make_underlined(@t\1\1@>
+make_underlined(
/* underline the entry for the first identifier in |p->trans| */
-scrap_pointer p@t\2\2@>)
+scrap_pointer p)
{
token_pointer tok_loc; /* where the first identifier appears */
if ((tok_loc=find_first_ident(p->trans))<=operator_found)
@@ -2535,20 +2629,20 @@ to insert the new cross-reference not at the beginning of the list
(namely, at |p->xref|), but rather right before |q|.
@<Insert new cross-reference at |q|...@>=
- append_xref(0); /* this number doesn't matter */
- xref_ptr->xlink=(xref_pointer)p->xref; r=xref_ptr;
- update_node(p);
- while (r->xlink!=q) {r->num=r->xlink->num; r=r->xlink;}
- r->num=m; /* everything from |q| on is left undisturbed */
+append_xref(0); /* this number doesn't matter */
+xref_ptr->xlink=(xref_pointer)p->xref; r=xref_ptr;
+update_node(p);
+while (r->xlink!=q) {r->num=r->xlink->num; r=r->xlink;}
+r->num=m; /* everything from |q| on is left undisturbed */
@ Now comes the code that tries to match each production starting
with a particular type of scrap. Whenever a match is discovered,
-the |squash| or |reduce| macro will cause the appropriate action
-to be performed, followed by |goto found|.
+the |squash| or |reduce| function will cause the appropriate action
+to be performed.
@<Cases for |exp|@>=
if (cat1==lbrace || cat1==int_like || cat1==decl) {
- make_underlined(pp); big_app1(pp); big_app(indent); app(indent);
+ make_underlined(pp); big_app1(pp); big_app(dindent);
reduce(pp,1,fn_decl,0,1);
}
else if (cat1==unop) squash(pp,2,exp,-2,2);
@@ -2558,25 +2652,29 @@ else if (cat1==comma && cat2==exp) {
big_app2(pp);
app(opt); app('9'); big_app1(pp+2); reduce(pp,3,exp,-2,4);
}
-else if (cat1==lpar && cat2==rpar && cat3==colon) squash(pp+3,1,base,0,5);
-else if (cat1==cast && cat2==colon) squash(pp+2,1,base,0,5);
+else if (cat1==lpar && cat2==rpar && cat3==colon) reduce(pp+3,0,base,0,5);
+else if (cat1==cast && cat2==colon) reduce(pp+2,0,base,0,5);
else if (cat1==semi) squash(pp,2,stmt,-1,6);
else if (cat1==colon) {
- make_underlined (pp); squash(pp,2,tag,-1,7);
+ make_underlined (pp); squash(pp,2,tag,-1,7);
}
-else if (cat1==rbrace) squash(pp,1,stmt,-1,8);
+else if (cat1==rbrace) reduce(pp,0,stmt,-1,8);
else if (cat1==lpar && cat2==rpar && (cat3==const_like || cat3==case_like)) {
- big_app1(pp+2); big_app(' '); big_app1(pp+3); reduce(pp+2,2,rpar,0,9);
+ big_app1_insert(pp+2,' '); reduce(pp+2,2,rpar,0,9);
}
else if (cat1==cast && (cat2==const_like || cat2==case_like)) {
- big_app1(pp+1); big_app(' '); big_app1(pp+2); reduce(pp+1,2,cast,0,9);
+ big_app1_insert(pp+1,' '); reduce(pp+1,2,cast,0,9);
}
else if (cat1==exp || cat1==cast) squash(pp,2,exp,-2,10);
+else if (cat1==attr) {
+ big_app1_insert(pp,' '); reduce(pp,2,exp,-2,142);
+}
+else if (cat1==colcol && cat2==int_like) squash(pp,3,int_like,-2,152);
@ @<Cases for |lpar|@>=
if ((cat1==exp||cat1==ubinop) && cat2==rpar) squash(pp,3,exp,-2,11);
else if (cat1==rpar) {
- big_app1(pp); app('\\'); app(','); big_app1(pp+1);
+ big_app1(pp); app_str("\\,"); big_app1(pp+1);
@.\\,@>
reduce(pp,2,exp,-2,12);
}
@@ -2594,15 +2692,13 @@ if (cat1==exp || cat1==int_like) squash(pp,2,exp,-2,16);
@ @<Cases for |ubinop|@>=
if (cat1==cast && cat2==rpar) {
- big_app('{'); big_app1(pp); big_app('}'); big_app1(pp+1);
- reduce(pp,2,cast,-2,17);
+ big_app('{'); big_app1_insert(pp,'}'); reduce(pp,2,cast,-2,17);
}
else if (cat1==exp || cat1==int_like) {
- big_app('{'); big_app1(pp); big_app('}'); big_app1(pp+1);
- reduce(pp,2,cat1,-2,18);
+ big_app('{'); big_app1_insert(pp,'}'); reduce(pp,2,cat1,-2,18);
}
else if (cat1==binop) {
- big_app(math_rel); big_app1(pp); big_app('{'); big_app1(pp+1); big_app('}');
+ big_app(math_rel); big_app1_insert(pp,'{'); big_app('}');
big_app('}'); reduce(pp,2,binop,-1,19);
}
@@ -2616,45 +2712,45 @@ if (cat1==binop) {
@ @<Cases for |cast|@>=
if (cat1==lpar) squash(pp,2,lpar,-1,21);
else if (cat1==exp) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,exp,-2,21);
+ big_app1_insert(pp,' '); reduce(pp,2,exp,-2,21);
}
-else if (cat1==semi) squash(pp,1,exp,-2,22);
+else if (cat1==semi) reduce(pp,0,exp,-2,22);
@ @<Cases for |sizeof_like|@>=
if (cat1==cast) squash(pp,2,exp,-2,23);
else if (cat1==exp) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,exp,-2,24);
+ big_app1_insert(pp,' '); reduce(pp,2,exp,-2,24);
}
@ @<Cases for |int_like|@>=
if (cat1==int_like|| cat1==struct_like) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,cat1,-2,25);
+ big_app1_insert(pp,' '); reduce(pp,2,cat1,-2,25);
}
else if (cat1==exp && (cat2==raw_int||cat2==struct_like))
squash(pp,2,int_like,-2,26);
else if (cat1==exp || cat1==ubinop || cat1==colon) {
big_app1(pp); big_app(' '); reduce(pp,1,decl_head,-1,27);
}
-else if (cat1==semi || cat1==binop) squash(pp,1,decl_head,0,28);
+else if (cat1==semi || cat1==binop) reduce(pp,0,decl_head,0,28);
@ @<Cases for |public_like|@>=
if (cat1==colon) squash(pp,2,tag,-1,29);
-else squash(pp,1,int_like,-2,30);
+else reduce(pp,0,int_like,-2,30);
@ @<Cases for |colcol|@>=
if (cat1==exp||cat1==int_like) {
app(qualifier); squash(pp,2,cat1,-2,31);
-}@+else if (cat1==colcol) squash(pp,2,colcol,-1,32);
+}
+else if (cat1==colcol) squash(pp,2,colcol,-1,32);
@ @<Cases for |decl_head|@>=
if (cat1==comma) {
big_app2(pp); big_app(' '); reduce(pp,2,decl_head,-1,33);
}
else if (cat1==ubinop) {
- big_app1(pp); big_app('{'); big_app1(pp+1); big_app('}');
- reduce(pp,2,decl_head,-1,34);
+ big_app1_insert(pp,'{'); big_app('}'); reduce(pp,2,decl_head,-1,34);
}
-else if (cat1==exp && cat2!=lpar && cat2!=exp && cat2!=cast) {
+else if (cat1==exp && cat2!=lpar && cat2!=lbrack && cat2!=exp && cat2!=cast) {
make_underlined(pp+1); squash(pp,2,decl_head,-1,35);
}
else if ((cat1==binop||cat1==colon) && cat2==exp && (cat3==comma ||
@@ -2662,18 +2758,19 @@ else if ((cat1==binop||cat1==colon) && cat2==exp && (cat3==comma ||
squash(pp,3,decl_head,-1,36);
else if (cat1==cast) squash(pp,2,decl_head,-1,37);
else if (cat1==lbrace || cat1==int_like || cat1==decl) {
- big_app1(pp); big_app(indent); app(indent); reduce(pp,1,fn_decl,0,38);
+ big_app(dindent); squash(pp,1,fn_decl,0,38);
}
else if (cat1==semi) squash(pp,2,decl,-1,39);
+else if (cat1==attr) {
+ big_app1_insert(pp,' '); reduce(pp,2,decl_head,-1,139);
+}
@ @<Cases for |decl|@>=
if (cat1==decl) {
- big_app1(pp); big_app(force); big_app1(pp+1);
- reduce(pp,2,decl,-1,40);
+ big_app1_insert(pp,force); reduce(pp,2,decl,-1,40);
}
else if (cat1==stmt || cat1==function) {
- big_app1(pp); big_app(big_force);
- big_app1(pp+1); reduce(pp,2,cat1,-1,41);
+ big_app1_insert(pp,big_force); reduce(pp,2,cat1,-1,41);
}
@ @<Cases for |base|@>=
@@ -2683,34 +2780,40 @@ if (cat1==int_like || cat1==exp) {
app(opt); app('9'); reduce(pp,3,base,0,42);
}
else if (cat2==lbrace) {
- big_app1(pp); big_app(' '); big_app1(pp+1); big_app(' '); big_app1(pp+2);
+ big_app1_insert(pp,' '); big_app(' '); big_app1(pp+2);
reduce(pp,3,lbrace,-2,43);
}
}
@ @<Cases for |struct_like|@>=
if (cat1==lbrace) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,struct_head,0,44);
+ big_app1_insert(pp,' '); reduce(pp,2,struct_head,0,44);
}
else if (cat1==exp||cat1==int_like) {
if (cat2==lbrace || cat2==semi) {
make_underlined(pp+1); make_reserved(pp+1);
- big_app1(pp); big_app(' '); big_app1(pp+1);
+ big_app1_insert(pp,' ');
if (cat2==semi) reduce(pp,2,decl_head,0,45);
else {
big_app(' '); big_app1(pp+2);reduce(pp,3,struct_head,0,46);
}
}
- else if (cat2==colon) squash(pp+2,1,base,2,47);
+ else if (cat2==colon) reduce(pp+2,0,base,2,47);
else if (cat2!=base) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,int_like,-2,48);
+ big_app1_insert(pp,' '); reduce(pp,2,int_like,-2,48);
}
}
+else if (cat1==attr) {
+ big_app1_insert(pp,' '); reduce(pp,2,struct_like,-3,141);
+}
+else if (cat1==struct_like) {
+ big_app1_insert(pp,' '); reduce(pp,2,struct_like,-3,151);
+}
@ @<Cases for |struct_head|@>=
if ((cat1==decl || cat1==stmt || cat1==function) && cat2==rbrace) {
big_app1(pp); big_app(indent); big_app(force); big_app1(pp+1);
- big_app(outdent); big_app(force); big_app1(pp+2);
+ big_app(outdent); big_app(force); big_app1(pp+2);
reduce(pp,3,int_like,-2,49);
}
else if (cat1==rbrace) {
@@ -2721,27 +2824,30 @@ else if (cat1==rbrace) {
@ @<Cases for |fn_decl|@>=
if (cat1==decl) {
- big_app1(pp); big_app(force); big_app1(pp+1); reduce(pp,2,fn_decl,0,51);
+ big_app1_insert(pp,force); reduce(pp,2,fn_decl,0,51);
}
else if (cat1==stmt) {
big_app1(pp); app(outdent); app(outdent); big_app(force);
big_app1(pp+1); reduce(pp,2,function,-1,52);
}
+else if (cat1==attr) {
+ big_app1_insert(pp,' '); reduce(pp,2,fn_decl,0,157);
+}
@ @<Cases for |function|@>=
if (cat1==function || cat1==decl || cat1==stmt) {
- big_app1(pp); big_app(big_force); big_app1(pp+1); reduce(pp,2,cat1,-1,53);
+ big_app1_insert(pp,big_force); reduce(pp,2,cat1,-1,53);
}
@ @<Cases for |lbrace|@>=
if (cat1==rbrace) {
- big_app1(pp); app('\\'); app(','); big_app1(pp+1);
+ big_app1(pp); app_str("\\,"); big_app1(pp+1);
@.\\,@>
reduce(pp,2,stmt,-1,54);
}
else if ((cat1==stmt||cat1==decl||cat1==function) && cat2==rbrace) {
- big_app(force); big_app1(pp); big_app(indent); big_app(force);
- big_app1(pp+1); big_app(force); big_app(backup); big_app1(pp+2);
+ big_app(force); big_app1(pp); big_app(indent); big_app(force);
+ big_app1(pp+1); big_app(force); big_app(backup); big_app1(pp+2);
big_app(outdent); big_app(force); reduce(pp,3,stmt,-1,55);
}
else if (cat1==exp) {
@@ -2751,12 +2857,12 @@ else if (cat1==exp) {
@ @<Cases for |if_like|@>=
if (cat1==exp) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,if_clause,0,57);
+ big_app1_insert(pp,' '); reduce(pp,2,if_clause,0,57);
}
@ @<Cases for |else_like|@>=
-if (cat1==colon) squash(pp+1,1,base,1,58);
-else if (cat1==lbrace) squash(pp,1,else_head,0,59);
+if (cat1==colon) reduce(pp+1,0,base,1,58);
+else if (cat1==lbrace) reduce(pp,0,else_head,0,59);
else if (cat1==stmt) {
big_app(force); big_app1(pp); big_app(indent); big_app(break_space);
big_app1(pp+1); big_app(outdent); big_app(force);
@@ -2771,28 +2877,33 @@ if (cat1==stmt || cat1==exp) {
}
@ @<Cases for |if_clause|@>=
-if (cat1==lbrace) squash(pp,1,if_head,0,62);
+if (cat1==lbrace) reduce(pp,0,if_head,0,62);
else if (cat1==stmt) {
if (cat2==else_like) {
big_app(force); big_app1(pp); big_app(indent); big_app(break_space);
big_app1(pp+1); big_app(outdent); big_app(force); big_app1(pp+2);
if (cat3==if_like) {
big_app(' '); big_app1(pp+3); reduce(pp,4,if_like,0,63);
- }@+else reduce(pp,3,else_like,0,64);
+ }
+ else reduce(pp,3,else_like,0,64);
}
- else squash(pp,1,else_like,0,65);
+ else reduce(pp,0,else_like,0,65);
+}
+else if (cat1==attr) {
+ big_app1_insert(pp,' '); reduce(pp,2,if_head,0,146);
}
@ @<Cases for |if_head|@>=
if (cat1==stmt || cat1==exp) {
if (cat2==else_like) {
big_app(force); big_app1(pp); big_app(break_space); app(noop);
- big_app(cancel); big_app1(pp+1); big_app(force); big_app1(pp+2);
+ big_app(cancel); big_app1_insert(pp+1,force);
if (cat3==if_like) {
big_app(' '); big_app1(pp+3); reduce(pp,4,if_like,0,66);
- }@+else reduce(pp,3,else_like,0,67);
+ }
+ else reduce(pp,3,else_like,0,67);
}
- else squash(pp,1,else_head,0,68);
+ else reduce(pp,0,else_head,0,68);
}
@ @<Cases for |do_like|@>=
@@ -2806,22 +2917,23 @@ if (cat1==stmt && cat2==else_like && cat3==semi) {
if (cat1==semi) squash(pp,2,stmt,-1,70);
else if (cat1==colon) squash(pp,2,tag,-1,71);
else if (cat1==exp) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,exp,-2,72);
+ big_app1_insert(pp,' '); reduce(pp,2,exp,-2,72);
}
@ @<Cases for |catch_like|@>=
if (cat1==cast || cat1==exp) {
- big_app2(pp); big_app(indent); big_app(indent); reduce(pp,2,fn_decl,0,73);
+ big_app1_insert(pp,dindent); reduce(pp,2,fn_decl,0,73);
}
@ @<Cases for |tag|@>=
if (cat1==tag) {
- big_app1(pp); big_app(break_space); big_app1(pp+1); reduce(pp,2,tag,-1,74);
+ big_app1_insert(pp,break_space); reduce(pp,2,tag,-1,74);
}
else if (cat1==stmt||cat1==decl||cat1==function) {
- big_app(force); big_app(backup); big_app1(pp); big_app(break_space);
- big_app1(pp+1); reduce(pp,2,cat1,-1,75);
+ big_app(force); big_app(backup); big_app1_insert(pp,break_space);
+ reduce(pp,2,cat1,-1,75);
}
+else if (cat1==rbrace) reduce(pp,0,decl,-1,156);
@ The user can decide at run-time whether short statements should be
grouped together on the same line.
@@ -2833,30 +2945,26 @@ force_lines=true;
@ @<Cases for |stmt|@>=
if (cat1==stmt||cat1==decl||cat1==function) {
- big_app1(pp);
- if (cat1==function) big_app(big_force);
- else if (cat1==decl) big_app(big_force);
- else if (force_lines) big_app(force);
- else big_app(break_space);
- big_app1(pp+1); reduce(pp,2,cat1,-1,76);
+ big_app1_insert(pp, (cat1==function || cat1==decl) ? big_force :
+ force_lines ? force : break_space); reduce(pp,2,cat1,-1,76);
}
@ @<Cases for |semi|@>=
-big_app(' '); big_app1(pp); reduce(pp,1,stmt,-1,77);
+big_app(' '); squash(pp,1,stmt,-1,77);
@ @<Cases for |lproc|@>=
if (cat1==define_like) make_underlined(pp+2);
-if (cat1==else_like || cat1==if_like ||cat1==define_like)
+if (cat1==else_like || cat1==if_like || cat1==define_like)
squash(pp,2,lproc,0,78);
else if (cat1==rproc) {
- app(inserted); big_app2(pp); reduce(pp,2,insert,-1,79);
+ app(inserted); squash(pp,2,insert,-1,79);
} else if (cat1==exp || cat1==function) {
if (cat2==rproc) {
app(inserted); big_app1(pp); big_app(' '); big_app2(pp+1);
reduce(pp,3,insert,-1,80);
}
- else if (cat2==exp && cat3==rproc && cat1==exp) {
- app(inserted); big_app1(pp); big_app(' '); big_app1(pp+1); app_str(" \\5");
+ else if (cat1==exp && cat2==exp && cat3==rproc) {
+ app(inserted); big_app1_insert(pp,' '); app_str("\\5");
@.\\5@>
big_app2(pp+2); reduce(pp,4,insert,-1,80);
}
@@ -2866,7 +2974,7 @@ else if (cat1==rproc) {
if (cat1==semi) {
big_app2(pp); big_app(force); reduce(pp,2,stmt,-2,81);
}
-else squash(pp,1,exp,-2,82);
+else reduce(pp,0,exp,-2,82);
@ @<Cases for |insert|@>=
if (cat1)
@@ -2880,9 +2988,12 @@ app('<'); reduce(pp,1,binop,-2,84);
init_mathness=cur_mathness=yes_math;
app('>'); reduce(pp,1,binop,-2,85);
-@ @<Cases for |langle|@>=
+@ @d reserve_typenames flags['t']
+ /* should we treat \&{typename} in a template like \&{typedef}? */
+
+@<Cases for |langle|@>=
if (cat1==prerangle) {
- big_app1(pp); app('\\'); app(','); big_app1(pp+1);
+ big_app1(pp); app_str("\\,"); big_app1(pp+1);
@.\\,@>
reduce(pp,2,cast,-1,86);
}
@@ -2892,103 +3003,114 @@ else if (cat1==decl_head || cat1==int_like || cat1==exp) {
big_app3(pp); app(opt); app('9'); reduce(pp,3,langle,0,88);
}
}
+else if ((cat1==struct_like) @|
+ && (cat2==exp || cat2==int_like) @|
+ && (cat3==comma || cat3==prerangle)) {
+ make_underlined(pp+2); if (reserve_typenames) make_reserved(pp+2);
+ big_app2(pp); big_app(' '); big_app2(pp+2);
+ if (cat3==comma) reduce(pp,4,langle,0,153);
+ else reduce(pp,4,cast,-1,154);
+ }
@ @<Cases for |template_like|@>=
-if (cat1==exp && cat2==prelangle) squash(pp+2,1,langle,2,89);
+if (cat1==exp && cat2==prelangle) reduce(pp+2,0,langle,2,89);
else if (cat1==exp || cat1==raw_int) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,cat1,-2,90);
-}@+ else squash(pp,1,raw_int,0,91);
+ big_app1_insert(pp,' '); reduce(pp,2,cat1,-2,90);
+}
+else if (cat1==cast && cat2==struct_like) {
+ big_app1_insert(pp,' '); reduce(pp,2,struct_like,0,155);
+}
+else reduce(pp,0,raw_int,0,91);
@ @<Cases for |new_like|@>=
if (cat1==lpar && cat2==exp && cat3==rpar) squash(pp,4,new_like,0,92);
else if (cat1==cast) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,exp,-2,93);
+ big_app1_insert(pp,' '); reduce(pp,2,exp,-2,93);
}
-else if (cat1!=lpar) squash(pp,1,new_exp,0,94);
+else if (cat1!=lpar) reduce(pp,0,new_exp,0,94);
@ @<Cases for |new_exp|@>=
if (cat1==int_like || cat1==const_like) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,new_exp,0,95);
+ big_app1_insert(pp,' '); reduce(pp,2,new_exp,0,95);
}
else if (cat1==struct_like && (cat2==exp || cat2==int_like)) {
- big_app1(pp); big_app(' '); big_app1(pp+1); big_app(' ');
+ big_app1_insert(pp,' '); big_app(' ');
big_app1(pp+2); reduce(pp,3,new_exp,0,96);
}
else if (cat1==raw_ubin) {
- big_app1(pp); big_app('{'); big_app1(pp+1); big_app('}');
- reduce(pp,2,new_exp,0,97);
+ big_app1_insert(pp,'{'); big_app('}'); reduce(pp,2,new_exp,0,97);
}
-else if (cat1==lpar) squash(pp,1,exp,-2,98);
+else if (cat1==lpar) reduce(pp,0,exp,-2,98);
else if (cat1==exp) {
big_app1(pp); big_app(' '); reduce(pp,1,exp,-2,98);
}
else if (cat1!=raw_int && cat1!=struct_like && cat1!=colcol)
- squash(pp,1,exp,-2,99);
+ reduce(pp,0,exp,-2,99);
@ @<Cases for |ftemplate|@>=
-if (cat1==prelangle) squash(pp+1,1,langle,1,100);
-else squash(pp,1,exp,-2,101);
+if (cat1==prelangle) reduce(pp+1,0,langle,1,100);
+else reduce(pp,0,exp,-2,101);
@ @<Cases for |for_like|@>=
if (cat1==exp) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,else_like,-2,102);
+ big_app1_insert(pp,' '); reduce(pp,2,else_like,-2,102);
}
@ @<Cases for |raw_ubin|@>=
if (cat1==const_like) {
big_app2(pp); app_str("\\ "); reduce(pp,2,raw_ubin,0,103);
@.\\\ @>
-} else squash(pp,1,ubinop,-2,104);
+}
+else reduce(pp,0,ubinop,-2,104);
@ @<Cases for |const_like|@>=
-squash(pp,1,int_like,-2,105);
+reduce(pp,0,int_like,-2,105);
@ @<Cases for |raw_int|@>=
-if (cat1==prelangle) squash(pp+1,1,langle,1,106);
+if (cat1==prelangle) reduce(pp+1,0,langle,1,106);
else if (cat1==colcol) squash(pp,2,colcol,-1,107);
else if (cat1==cast) squash(pp,2,raw_int,0,108);
-else if (cat1==lpar) squash(pp,1,exp,-2,109);
-else if (cat1!=langle) squash(pp,1,int_like,-3,110);
+else if (cat1==lpar) reduce(pp,0,exp,-2,109);
+else if (cat1==lbrack) reduce(pp,0,exp,-2,144);
+else if (cat1!=langle) reduce(pp,0,int_like,-3,110);
@ @<Cases for |operator_like|@>=
if (cat1==binop || cat1==unop || cat1==ubinop) {
if (cat2==binop) break;
- big_app1(pp); big_app('{'); big_app1(pp+1); big_app('}');
- reduce(pp,2,exp,-2,111);
+ big_app1_insert(pp,'{'); big_app('}'); reduce(pp,2,exp,-2,111);
}
else if (cat1==new_like || cat1==delete_like) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,exp,-2,112);
+ big_app1_insert(pp,' '); reduce(pp,2,exp,-2,112);
}
else if (cat1==comma) squash(pp,2,exp,-2,113);
-else if (cat1!=raw_ubin) squash(pp,1,new_exp,0,114);
+else if (cat1!=raw_ubin) reduce(pp,0,new_exp,0,114);
@ @<Cases for |typedef_like|@>=
if ((cat1==int_like || cat1==cast) && (cat2==comma || cat2==semi))
- squash(pp+1,1,exp,-1,115);
+ reduce(pp+1,0,exp,-1,115);
else if (cat1==int_like) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,typedef_like,0,116);
+ big_app1_insert(pp,' '); reduce(pp,2,typedef_like,0,116);
}
else if (cat1==exp && cat2!=lpar && cat2!=exp && cat2!=cast) {
make_underlined(pp+1); make_reserved(pp+1);
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,typedef_like,0,117);
+ big_app1_insert(pp,' '); reduce(pp,2,typedef_like,0,117);
}
else if (cat1==comma) {
big_app2(pp); big_app(' '); reduce(pp,2,typedef_like,0,118);
}
else if (cat1==semi) squash(pp,2,decl,-1,119);
else if (cat1==ubinop && (cat2==ubinop || cat2==cast)) {
- big_app('{'); big_app1(pp+1); big_app('}'); big_app1(pp+2);
- reduce(pp+1,2,cat2,0,120);
+ big_app('{'); big_app1_insert(pp+1,'}'); reduce(pp+1,2,cat2,0,120);
}
@ @<Cases for |delete_like|@>=
if (cat1==lpar && cat2==rpar) {
- big_app2(pp); app('\\'); app(','); big_app1(pp+2);
+ big_app2(pp); app_str("\\,"); big_app1(pp+2);
@.\\,@>
reduce(pp,3,delete_like,0,121);
}
else if (cat1==exp) {
- big_app1(pp); big_app(' '); big_app1(pp+1); reduce(pp,2,exp,-2,122);
+ big_app1_insert(pp,' '); reduce(pp,2,exp,-2,122);
}
@ @<Cases for |question|@>=
@@ -2997,9 +3119,52 @@ if (cat1==exp && (cat2==colon || cat2==base)) {
squash(pp,3,binop,-2,123);
}
-@ Now here's the |reduce| procedure used in our code for productions.
+@ @<Cases for |alignas_like|@>=
+if (cat1==decl_head) squash(pp,2,attr,-1,126);
+else if (cat1==exp) squash(pp,2,attr,-1,127);
+else if (cat1==cast) squash(pp,2,attr,-1,158);
+
+@ @<Cases for |lbrack|@>=
+if (cat1==lbrack)
+ if (cat2==rbrack && cat3==rbrack) squash(pp,4,exp,-2,147);
+ else squash(pp,2,attr_head,-1,128);
+else reduce(pp,0,lpar,-1,129);
-The `|freeze_text|' macro is used to give official status to a token list.
+@ @<Cases for |attr_head|@>=
+if (cat1==rbrack && cat2==rbrack) squash(pp,3,attr,-1,131);
+else if (cat1==exp) squash(pp,2,attr_head,0,132);
+else if (cat1==using_like && cat2==exp && cat3==colon) {
+ big_app2(pp); big_app(' '); big_app2(pp+2); big_app(' ');
+ reduce(pp,4,attr_head,0,133);
+}
+else if (cat1==comma) squash(pp,2,attr_head,0,145);
+
+@ @<Cases for |attr|@>=
+if (cat1==lbrace || cat1==stmt) {
+ big_app1_insert(pp,' '); reduce(pp,2,cat1,-2,134);
+}
+else if (cat1==tag) {
+ big_app1_insert(pp,' '); reduce(pp,2,tag,-1,135);
+}
+else if (cat1==semi) squash(pp,2,stmt,-2,136);
+else if (cat1==attr) {
+ big_app1_insert(pp,' '); reduce(pp,2,attr,-1,137);
+}
+else if (cat1==decl_head) {
+ big_app1_insert(pp,' '); reduce(pp,2,decl_head,-1,138);
+}
+else if (cat1==typedef_like) {
+ big_app1_insert(pp,' '); reduce(pp,2,typedef_like,0,143);
+}
+else if (cat1==function) {
+ big_app1_insert(pp,' '); reduce(pp,2,function,-1,148);
+}
+
+@ @<Cases for |default_like|@>=
+if (cat1==colon) reduce(pp,0,case_like,-3,149);
+else reduce(pp,0,exp,-2,150);
+
+@ The `|freeze_text|' macro is used to give official status to a token list.
Before saying |freeze_text|, items are appended to the current token list,
and we know that the eventual number of this token list will be the current
value of |text_ptr|. But no list of that number really exists as yet,
@@ -3007,7 +3172,7 @@ because no ending point for the current list has been
stored in the |tok_start| array. After saying |freeze_text|, the
old current token list becomes legitimate, and its number is the current
value of |text_ptr-1| since |text_ptr| has been increased. The new
-current token list is empty and ready to be appended to.
+current token list is empty and ready to be appended~to.
Note that |freeze_text| does not check to see that |text_ptr| hasn't gotten
too large, since it is assumed that this test was done beforehand.
@@ -3017,7 +3182,10 @@ too large, since it is assumed that this test was done beforehand.
static void reduce(scrap_pointer,short,eight_bits,short,short);@/
static void squash(scrap_pointer,short,eight_bits,short,short);
-@ @c
+@ Now here's the |reduce| procedure used in our code for productions,
+which takes advantage of the simplification that occurs when |k==0|.
+
+@c
static void
reduce(
scrap_pointer j, short k,
@@ -3025,9 +3193,12 @@ eight_bits c,
short d, short n)
{
scrap_pointer i, i1; /* pointers into scrap memory */
- j->cat=c; j->trans=text_ptr;
- j->mathness=4*cur_mathness+init_mathness;
- freeze_text;
+ j->cat=c;
+ if (k>0) {
+ j->trans=text_ptr;
+ j->mathness=4*cur_mathness+init_mathness;
+ freeze_text;
+ }
if (k>1) {
for (i=j+k, i1=j+1; i<=lo_ptr; i++, i1++) {
i1->cat=i->cat; i1->trans=i->trans;
@@ -3040,8 +3211,8 @@ short d, short n)
pp--; /* we next say |pp++| */
}
-@ Here's the |squash| procedure, which
-takes advantage of the simplification that occurs when |k==1|.
+@ And here's the |squash| procedure, which combines |big_app|${}_k$ and
+|reduce| for matching numbers~|k|.
@c
static void
@@ -3050,14 +3221,13 @@ scrap_pointer j, short k,
eight_bits c,
short d, short n)
{
- scrap_pointer i; /* pointers into scrap memory */
- if (k==1) {
- j->cat=c; pp=(pp+d<scrap_base? scrap_base: pp+d);
- @<Print a snapshot...@>@;
- pp--; /* we next say |pp++| */
- return;
+ switch (k) {
+ case 1: big_app1(j); break;
+ case 2: big_app2(j); break;
+ case 3: big_app3(j); break;
+ case 4: big_app4(j); break;
+ default: confusion("squash");
}
- for (i=j; i<j+k; i++) big_app1(i);
reduce(j,k,c,d,n);
}
@@ -3096,34 +3266,37 @@ stored, since zero does not match anything in a production.
@<Make sure the entries...@>=
if (lo_ptr<pp+3) {
while (hi_ptr<=scrap_ptr && lo_ptr!=pp+3) {
- (++lo_ptr)->cat=hi_ptr->cat; lo_ptr->mathness=(hi_ptr)->mathness;
+ (++lo_ptr)->cat=hi_ptr->cat; lo_ptr->mathness=hi_ptr->mathness;
lo_ptr->trans=(hi_ptr++)->trans;
}
for (i=lo_ptr+1;i<=pp+3;i++) i->cat=0;
}
@ If \.{CWEAVE} is being run in debugging mode, the production numbers and
-current stack categories will be printed out when |tracing| is set to 2;
+current stack categories will be printed out when |tracing| is set to |fully|;
a sequence of two or more irreducible scraps will be printed out when
-|tracing| is set to 1.
+|tracing| is set to |partly|.
+
+@d off 0
+@d partly 1
+@d fully 2
@<Private...@>=
-static int tracing; /* can be used to show parsing details */
+static int tracing=off; /* can be used to show parsing details */
@ @<Print a snapsh...@>=
-{ scrap_pointer k_l; /* pointer into |scrap_info| */
- if (tracing==2) {
- printf("\n%d:",n);
- for (k_l=scrap_base; k_l<=lo_ptr; k_l++) {
- if (k_l==pp) putxchar('*'); else putxchar(' ');
- if (k_l->mathness %4 == yes_math) putchar('+');
- else if (k_l->mathness %4 == no_math) putchar('-');
- print_cat(k_l->cat);
- if (k_l->mathness /4 == yes_math) putchar('+');
- else if (k_l->mathness /4 == no_math) putchar('-');
- }
- if (hi_ptr<=scrap_ptr) fputs("...",stdout); /* indicate that more is coming */
+if (tracing==fully) {
+ scrap_pointer k; /* pointer into |scrap_info|; shadows |short k| */
+ printf("\n%d:",n);
+ for (k=scrap_base; k<=lo_ptr; k++) {
+ if (k==pp) putchar('*'); else putchar(' ');
+ if (k->mathness %4 == yes_math) putchar('+');
+ else if (k->mathness %4 == no_math) putchar('-');
+ print_cat(k->cat);
+ if (k->mathness /4 == yes_math) putchar('+');
+ else if (k->mathness /4 == no_math) putchar('-');
}
+ if (hi_ptr<=scrap_ptr) printf("..."); /* indicate that more is coming */
}
@ The |translate| function assumes that scraps have been stored in
@@ -3143,8 +3316,8 @@ for overflow.
static text_pointer
translate(void) /* converts a sequence of scraps */
{
- scrap_pointer i, /* index into |cat| */
- j; /* runs through final scraps */
+ scrap_pointer i; /* index into |cat| */
+ scrap_pointer j; /* runs through final scraps */
pp=scrap_base; lo_ptr=pp-1; hi_ptr=pp;
@<If tracing, print an indication of where we are@>@;
@<Reduce the scraps...@>@;
@@ -3158,30 +3331,29 @@ we concatenate the translations of all remaining scraps, separated by
blank spaces, with dollar signs surrounding the translations of scraps
where appropriate.
-@<Combine the irreducible...@>= {
- @<If semi-tracing, show the irreducible scraps@>@;
- for (j=scrap_base; j<=lo_ptr; j++) {
- if (j!=scrap_base) app(' ');
- if (j->mathness % 4 == yes_math) app('$');
- app1(j);
- if (j->mathness / 4 == yes_math) app('$');
- if (tok_ptr+6>tok_mem_end) overflow("token");
- }
- freeze_text; return text_ptr-1;
+@<Combine the irreducible...@>=
+@<If semi-tracing, show the irreducible scraps@>@;
+for (j=scrap_base; j<=lo_ptr; j++) {
+ if (j!=scrap_base) app(' ');
+ if (j->mathness % 4 == yes_math) app('$');
+ app(tok_flag+(int)(j->trans-tok_start));
+ if (j->mathness / 4 == yes_math) app('$');
+ if (tok_ptr+6>tok_mem_end) overflow("token");
}
+freeze_text; return text_ptr-1;
@ @<If semi-tracing, show the irreducible scraps@>=
-if (lo_ptr>scrap_base && tracing==1) {
- printf("\nIrreducible scrap sequence in section %d:",section_count);
+if (lo_ptr>scrap_base && tracing==partly) {
+ printf("\nIrreducible scrap sequence in section %d:",(int)section_count);
@.Irreducible scrap sequence...@>
mark_harmless;
for (j=scrap_base; j<=lo_ptr; j++) {
- printf(" "); print_cat(j->cat);
+ putchar(' '); print_cat(j->cat);
}
}
@ @<If tracing,...@>=
-if (tracing==2) {
+if (tracing==fully) {
printf("\nTracing after l. %d:\n",cur_line); mark_harmless;
@.Tracing after...@>
if (loc>buffer+50) {
@@ -3208,10 +3380,9 @@ is advanced.
@c
static void
-C_parse(@t\1\1@> /* creates scraps from \CEE/ tokens */
- eight_bits spec_ctrl@t\2\2@>)
+C_parse( /* creates scraps from \CEE/ tokens */
+ eight_bits spec_ctrl)
{
- int count; /* characters remaining before string break */
while (next_control<format_code || next_control==spec_ctrl) {
@<Append the scrap appropriate to |next_control|@>@;
next_control=get_next();
@@ -3236,7 +3407,7 @@ been appended:
switch (next_control) {
case section_name:
app(section_flag+(int)(cur_section-name_dir));
- app_scrap(section_scrap,maybe_math);
+ app_scrap(section_scrap,maybe_math);@+
app_scrap(exp,yes_math);@+break;
case string: case constant: case verbatim:
@<Append a string or constant@>@;@+break;
@@ -3271,8 +3442,10 @@ switch (next_control) {
@.\\\#@>
case ignore: case xref_roman: case xref_wildcard:
case xref_typewriter: case noop:@+break;
- case '(': case '[': app(next_control);@+app_scrap(lpar,maybe_math);@+break;
- case ')': case ']': app(next_control);@+app_scrap(rpar,maybe_math);@+break;
+ case '(': app(next_control);@+app_scrap(lpar,maybe_math);@+break;
+ case ')': app(next_control);@+app_scrap(rpar,maybe_math);@+break;
+ case '[': app(next_control);@+app_scrap(lbrack,maybe_math);@+break;
+ case ']': app(next_control);@+app_scrap(rbrack,maybe_math);@+break;
case '{': app_str("\\{"@q}@>);@+app_scrap(lbrace,yes_math);@+break;
@.\\\{@>@q}@>
case '}': app_str(@q{@>"\\}");@+app_scrap(rbrace,yes_math);@+break;
@@ -3280,10 +3453,10 @@ switch (next_control) {
case ',': app(',');@+app_scrap(comma,yes_math);@+break;
case ';': app(';');@+app_scrap(semi,maybe_math);@+break;
case ':': app(':');@+app_scrap(colon,no_math);@+break;@/
- @t\4@> @<Cases involving nonstandard characters@>@;
+ @t\4@> @<Cases involving nonstandard characters@>@;
case thin_space: app_str("\\,");@+app_scrap(insert,maybe_math);@+break;
@.\\,@>
- case math_break: app(opt);@+app_str("0");@+
+ case math_break: app(opt);@+app('0');@+
app_scrap(insert,maybe_math);@+break;
case line_break: app(force);@+app_scrap(insert,no_math);@+break;
case left_preproc: app(force);@+app(preproc_line);@+app_str("\\#");
@@ -3320,7 +3493,7 @@ if (scrap_ptr+safe_scrap_incr>scrap_info_end ||
standard ones. They are converted to \TEX/ control sequences so that it is
possible to keep \.{CWEAVE} from outputting unusual |char| codes.
-@<Cases involving nonstandard...@>=
+@<Cases involving nonstandard...@>=@t\1\quad@>
case non_eq: app_str("\\I");@+app_scrap(binop,yes_math);@+break;
@.\\I@>
case lt_eq: app_str("\\Z");@+app_scrap(binop,yes_math);@+break;
@@ -3362,34 +3535,26 @@ Many of the special characters in a string must be prefixed by `\.\\' so that
\TEX/ will print them properly.
@^special string characters@>
-@<Append a string or...@>=
-count= -1;
-if (next_control==constant) app_str("\\T{"@q}@>);
+@<Append a string or...@>={@+ int count=-1; /* characters remaining before string break */
+switch (next_control) {
+ case constant: app_str("\\T{"@q}@>); break;
@.\\T@>
-else if (next_control==string) {
- count=20; app_str("\\.{"@q}@>);
-}
+ case string: count=20; app_str("\\.{"@q}@>); break;
@.\\.@>
-else app_str("\\vb{"@q}@>);
+ default: app_str("\\vb{"@q}@>);
@.\\vb@>
+}
while (id_first<id_loc) {
if (count==0) { /* insert a discretionary break in a long string */
app_str(@q(@>@q{@>"}\\)\\.{"@q}@>); count=20;
@q(@>@.\\)@>
}
-@^high-bit character handling@>
- if((eight_bits)(*id_first)>0177) {
- app_tok(quoted_char);
- app_tok((eight_bits)(*id_first++));
- }
- else {
- switch (*id_first) {
- case ' ':case '\\':case '#':case '%':case '$':case '^':
- case '{': case '}': case '~': case '&': case '_': app('\\'); break;
+ switch (*id_first) {
+ case ' ':case '\\':case '#':case '$':case '^':case '{':case '}':
+ case '~':case '&':case '_': app('\\'); break;
@.\\\ @>
@.\\\\@>
@.\\\#@>
-@.\\\%@>
@.\\\$@>
@.\\\^@>
@.\\\{@>@q}@>
@@ -3397,16 +3562,29 @@ while (id_first<id_loc) {
@.\\\~@>
@.\\\&@>
@.\\\_@>
- case '@@': if (*(id_first+1)=='@@') id_first++;
- else err_print("! Double @@ should be used in strings");
+ case '%': if (next_control==constant) {
+ app_str("}\\p{"); /* special macro for `hex exponent' */
+ id_first++; /* skip |'%'| */
+ }
+ else app('\\');
+ break;
+@.\\p@>
+@.\\\%@>
+ case '@@': if (*(id_first+1)=='@@') id_first++;
+ else err_print("! Double @@ should be used in strings");
@.Double @@ should be used...@>
+ break;
+ default: /* high-bit character handling */
+@^high-bit character handling@>
+ if((eight_bits)(*id_first)>0177)
+ app_tok(quoted_char)@t;@>@;
}
- app_tok(*id_first++);
- }
+ app_tok(*id_first++);
count--;
}
app(@q{@>'}');
app_scrap(exp,maybe_math);
+}
@ We do not make the \TEX/ string into a scrap, because there is no
telling what the user will be putting into it; instead we leave it
@@ -3426,15 +3604,13 @@ the \TEX/ string is treated as an expression.
@<Append a \TEX/ string, without forming a scrap@>=
app_str("\\hbox{"@q}@>);
@^high-bit character handling@>
-while (id_first<id_loc)
- if((eight_bits)(*id_first)>0177) {
- app_tok(quoted_char);
- app_tok((eight_bits)(*id_first++));
- }
- else {
+while (id_first<id_loc) {
+ if((eight_bits)(*id_first)>0177)
+ app_tok(quoted_char)@t;@>@;
+ else
if (*id_first=='@@') id_first++;
- app_tok(*id_first++);
- }
+ app_tok(*id_first++);
+}
app(@q{@>'}');
@ The function |app_cur_id| appends the current identifier to the
@@ -3447,8 +3623,8 @@ static void outer_parse(void);
@ @c
static void
-app_cur_id(@t\1\1@>
-boolean scrapping@t\2\2@>) /* are we making this into a scrap? */
+app_cur_id(
+boolean scrapping) /* are we making this into a scrap? */
{
name_pointer p=id_lookup(id_first,id_loc,normal);
if (p->ilk<=custom) { /* not a reserved word */
@@ -3459,7 +3635,7 @@ boolean scrapping@t\2\2@>) /* are we making this into a scrap? */
} else {
app(res_flag+(int)(p-name_dir));
if (scrapping) {
- if (p->ilk==alfop) app_scrap(ubinop,yes_math)@;
+ if (p->ilk==alfop) app_scrap(ubinop,yes_math)@t;@>@;
else app_scrap(p->ilk,maybe_math);
}
}
@@ -3475,8 +3651,8 @@ static text_pointer
C_translate(void)
{
text_pointer p; /* points to the translation */
- scrap_pointer save_base; /* holds original value of |scrap_base| */
- save_base=scrap_base; scrap_base=scrap_ptr+1;
+ scrap_pointer save_base=scrap_base; /* holds original value of |scrap_base| */
+ scrap_base=scrap_ptr+1;
C_parse(section_name); /* get the scraps together */
if (next_control!='|') err_print("! Missing '|' after C text");
@.Missing '|'...@>
@@ -3493,8 +3669,7 @@ is to |C_xref|: It constructs a sequence of scraps for \CEE/ text
until |next_control>=format_code|. Thus, it takes care of embedded comments.
The token list created from within `\pb' brackets is output as an argument
-to \.{\\PB}, if the user has invoked \.{CWEAVE} with the \.{+e} flag.
-Although \.{cwebmac} ignores \.{\\PB}, other macro packages
+to \.{\\PB}. Although \.{cwebmac} ignores \.{\\PB}, other macro packages
might use it to localize the special meaning of the macros that mark up
program text.
@@ -3528,7 +3703,7 @@ outer_parse(void) /* makes scraps from \CEE/ tokens and comments */
if (make_pb) app_str("\\PB{");
@.\\PB@>
app(inner_tok_flag+(int)(q-tok_start));
- if (make_pb) app_tok('}');
+ if (make_pb) app_tok('}');
if (next_control=='|') {
bal=copy_comment(is_long_comment,bal);
next_control=ignore;
@@ -3546,7 +3721,7 @@ So far our programs have only built up multi-layered token lists in
the desired final form. The job of converting token lists to characters in
the \TEX/ output file is not difficult, although it is an implicitly
recursive process. Four main considerations had to be kept in mind when
-this part of \.{CWEAVE} was designed. (a) There are two modes of output:
+this part of \.{CWEAVE} was designed. (a) There are two modes of output:
|outer| mode, which translates tokens like |force| into line-breaking
control sequences, and |inner| mode, which ignores them except that blank
spaces take the place of line breaks. (b) The |cancel| instruction applies
@@ -3554,7 +3729,7 @@ to adjacent token or tokens that are output, and this cuts across levels
of recursion since `|cancel|' occurs at the beginning or end of a token
list on one level. (c) The \TEX/ output file will be semi-readable if line
breaks are inserted after the result of tokens like |break_space| and
-|force|. (d) The final line break should be suppressed, and there should
+|force|. (d) The final line break should be suppressed, and there should
be no |force| token output immediately after `\.{\\Y\\B}'.
@ The output process uses a stack to keep track of what is going on at
@@ -3579,8 +3754,8 @@ currently in progress. The end of output occurs when an |end_translation|
token is found, so the stack is never empty except when we first begin the
output process.
-@d inner 0 /* value of |mode| for \CEE/ texts within \TEX/ texts */
-@d outer 1 /* value of |mode| for \CEE/ texts in sections */
+@d inner false /* value of |mode| for \CEE/ texts within \TEX/ texts */
+@d outer true /* value of |mode| for \CEE/ texts in sections */
@<Typed...@>= typedef int mode;
typedef struct {
@@ -3590,7 +3765,8 @@ typedef struct {
} output_state;
typedef output_state *stack_pointer;
-@ @d cur_end cur_state.end_field /* current ending location in |tok_mem| */
+@ @d stack_size 400 /* number of simultaneous output levels */
+@d cur_end cur_state.end_field /* current ending location in |tok_mem| */
@d cur_tok cur_state.tok_field /* location of next output token in |tok_mem| */
@d cur_mode cur_state.mode_field /* current mode of interpretation */
@d init_stack stack_ptr=stack;cur_mode=outer /* initialize the stack */
@@ -3615,8 +3791,8 @@ static void pop_level(void);
@ @c
static void
-push_level(@t\1\1@> /* suspends the current level */
-text_pointer p@t\2\2@>)
+push_level( /* suspends the current level */
+text_pointer p)
{
if (stack_ptr==stack_end) overflow("stack");
if (stack_ptr>stack) { /* save current state */
@@ -3701,12 +3877,11 @@ while outputting the name of a section.
static void
output_C(void) /* outputs the current token list */
{
- token_pointer save_tok_ptr;
- text_pointer save_text_ptr;
- sixteen_bits save_next_control; /* values to be restored */
+ token_pointer save_tok_ptr=tok_ptr;
+ text_pointer save_text_ptr=text_ptr;
+ sixteen_bits save_next_control=next_control; /* values to be restored */
text_pointer p; /* translation of the \CEE/ text */
- save_tok_ptr=tok_ptr; save_text_ptr=text_ptr;
- save_next_control=next_control; next_control=ignore; p=C_translate();
+ next_control=ignore; p=C_translate();
app(inner_tok_flag+(int)(p-tok_start));
if (make_pb) {
out_str("\\PB{"); make_output(); out('}');
@@ -3724,8 +3899,8 @@ output_C(void) /* outputs the current token list */
static void
make_output(void) /* outputs the equivalents of tokens */
{
- eight_bits a=0, /* current output byte */
- b; /* next output byte */
+ eight_bits a=0; /* current output byte */
+ eight_bits b; /* next output byte */
int c; /* count of |indent| and |outdent| tokens */
char scratch[longest_name+1]; /* scratch area for section names */
char *k, *k_limit; /* indices into |scratch| */
@@ -3735,6 +3910,7 @@ make_output(void) /* outputs the equivalents of tokens */
char *save_loc, *save_limit; /* |loc| and |limit| to be restored */
name_pointer cur_section_name; /* name of section being output */
boolean save_mode; /* value of |cur_mode| before a sequence of breaks */
+ boolean dindent_pending=false; /* should a |dindent| be output? */
app(end_translation); /* append a sentinel */
freeze_text; push_level(text_ptr-1);
while (true) {
@@ -3743,23 +3919,33 @@ make_output(void) /* outputs the equivalents of tokens */
case end_translation: return;
case identifier: case res_word: @<Output an identifier@>@; break;
case section_code: @<Output a section name@>@; break;
- case math_rel: out_str("\\MRL{"@q}@>);
+ case math_rel: out_str("\\MRL{"@q}@>); /* fall through */
@.\\MRL@>
case noop: case inserted: break;
case cancel: case big_cancel: c=0; b=a;
while (true) {
a=get_output();
if (a==inserted) continue;
- if ((a<indent && !(b==big_cancel&&a==' ')) || a>big_force) break;
- if (a==indent) c++; else if (a==outdent) c--;
- else if (a==opt) a=get_output();
+ if ((a<indent && !(b==big_cancel&&a==' ')) @|
+ || (a>big_force && a!=dindent)) break;
+ switch (a) {
+ case indent: c++; break;
+ case outdent: c--; break;
+ case dindent: c+=2; break;
+ case opt: a=get_output();
+ }
}
@<Output saved |indent| or |outdent| tokens@>@;
goto reswitch;
+ case dindent: a=get_output();
+ if (a!=big_force) {
+ out_str("\\1\\1"); goto reswitch;
+ }
+ else dindent_pending=true; /* fall through */
case indent: case outdent: case opt: case backup: case break_space:
case force: case big_force: case preproc_line: @<Output a control,
look ahead in case of line breaks, possibly |goto reswitch|@>@; break;
- case quoted_char: out(*(cur_tok++));
+ case quoted_char: out(*(cur_tok++)); /* fall through */
case qualifier: break;
default: out(a); /* otherwise |a| is an ordinary character */
}
@@ -3779,7 +3965,8 @@ if (a==identifier) {
for (p=cur_name->byte_start;p<(cur_name+1)->byte_start;p++)
out(*p=='_'? 'x': *p=='$'? 'X': *p);
break;
- } else if (is_tiny(cur_name)) out('|')@;
+ }
+ else if (is_tiny(cur_name)) out('|')@t;@>@;
@.\\|@>
else { delim='.';
for (p=cur_name->byte_start;p<(cur_name+1)->byte_start;p++)
@@ -3790,10 +3977,12 @@ if (a==identifier) {
}
@.\\\\@>
@.\\.@>
-}@+else if (cur_name->ilk==alfop) {
+}
+else if (cur_name->ilk==alfop) {
out('X');
goto custom_out;
-}@+else out('&'); /* |a==res_word| */
+}
+else out('&'); /* |a==res_word| */
@.\\\&@>
if (is_tiny(cur_name)) {
if (isxalpha((cur_name->byte_start)[0]))
@@ -3816,11 +4005,11 @@ if (a<break_space || a==preproc_line) {
@.\\8@>
if (a==opt) {
b=get_output(); /* |opt| is followed by a digit */
- if (b!='0' || force_lines==false) out(b)@;
+ if (b!='0' || force_lines==false) out(b)@t;@>@;
else out_str("{-1}"); /* |force_lines| encourages more \.{@@\v} breaks */
}
} else if (a==opt) b=get_output(); /* ignore digit following |opt| */
- }
+}
else @<Look ahead for strongest line break, |goto reswitch|@>
@ If several of the tokens |break_space|, |force|, |big_force| occur in a
@@ -3830,7 +4019,10 @@ except at the very end of the translation. The very first line break
is suppressed (i.e., a line break that follows `\.{\\Y\\B}').
@<Look ahead for st...@>= {
- b=a; save_mode=cur_mode; c=0;
+ b=a; save_mode=cur_mode;
+ if (dindent_pending) {
+ c=2; dindent_pending=false;
+ } else c=0;
while (true) {
a=get_output();
if (a==inserted) continue;
@@ -3872,31 +4064,29 @@ routines, since the name may contain \CEE/ code embedded in
input buffer and the translation process uses the end of the active
|tok_mem| area.
-@<Output a section name@>= {
- out_str("\\X");
+@<Output a section name@>=
+out_str("\\X");
@.\\X@>
- cur_xref=(xref_pointer)cur_name->xref;
- if (cur_xref->num==file_flag) {an_output=true; cur_xref=cur_xref->xlink;}
- else an_output=false;
- if (cur_xref->num>=def_flag) {
- out_section(cur_xref->num-def_flag);
- if (phase==3) {
- cur_xref=cur_xref->xlink;
- while (cur_xref->num>=def_flag) {
- out_str(", ");
- out_section(cur_xref->num-def_flag);
- cur_xref=cur_xref->xlink;
- }
+cur_xref=(xref_pointer)cur_name->xref;
+if ((an_output=(cur_xref->num==file_flag))==true) cur_xref=cur_xref->xlink;
+if (cur_xref->num>=def_flag) {
+ out_section(cur_xref->num-def_flag);
+ if (phase==3) {
+ cur_xref=cur_xref->xlink;
+ while (cur_xref->num>=def_flag) {
+ out_str(", ");
+ out_section(cur_xref->num-def_flag);
+ cur_xref=cur_xref->xlink;
}
}
- else out('0'); /* output the section number, or zero if it was undefined */
- out(':');
- if (an_output) out_str("\\.{"@q}@>);
-@.\\.@>
- @<Output the text of the section name@>@;
- if (an_output) out_str(@q{@>" }");
- out_str("\\X");
}
+else out('0'); /* output the section number, or zero if it was undefined */
+out(':');
+if (an_output) out_str("\\.{"@q}@>);
+@.\\.@>
+@<Output the text of the section name@>@;
+if (an_output) out_str(@q{@>" }");
+out_str("\\X");
@ @<Output the text...@>=
sprint_section_name(scratch,cur_name);
@@ -3908,9 +4098,9 @@ while (k<k_limit) {
if (b=='@@') @<Skip next character, give error if not `\.{@@}'@>@;
if (an_output)
switch (b) {
- case ' ':case '\\':case '#':case '%':case '$':case '^':
- case '{': case '}': case '~': case '&': case '_':
- out('\\'); /* falls through */
+ case ' ': case '\\': case '#': case '%': case '$': case '^':
+ case '{': case '}': case '~': case '&': case '_':
+ out('\\'); /* falls through */
@.\\\ @>
@.\\\\@>
@.\\\#@>
@@ -3922,15 +4112,16 @@ while (k<k_limit) {
@.\\\~@>
@.\\\&@>
@.\\\_@>
- default: out(b);
+ default: out(b);
+ }
+ else
+ if (b!='|') out(b)@t;@>@;
+ else {
+ @<Copy the \CEE/ text into the |buffer| array@>@;
+ save_loc=loc; save_limit=limit; loc=limit+2; limit=j+1;
+ *limit='|'; output_C();
+ loc=save_loc; limit=save_limit;
}
- else { if (b!='|') out(b)@;
- else {
- @<Copy the \CEE/ text into the |buffer| array@>@;
- save_loc=loc; save_limit=limit; loc=limit+2; limit=j+1;
- *limit='|'; output_C();
- loc=save_loc; limit=save_limit;
- } }
}
@ @<Skip next char...@>=
@@ -3984,10 +4175,12 @@ actually output the \TEX/ material instead of merely looking at the
@c
static void
phase_two(void) {
-reset_input(); if (show_progress) fputs("\nWriting the output file...",stdout);
+phase=2; reset_input();
+if (show_progress) fputs("\nWriting the output file...",stdout);
@.Writing the output file...@>
section_count=0; format_visible=true; copy_limbo();
-finish_line(); flush_buffer(out_buf,false,false); /* insert a blank line, it looks nice */
+finish_line(); flush_buffer(out_buf,false,false);
+ /* insert a blank line, it looks nice */
while (!input_has_ended) @<Translate the current section@>@;
}
@@ -4031,7 +4224,7 @@ static boolean group_found=false; /* has a starred section occurred? */
output with the \TEX/ control sequence `\.{\\M}', followed by the section
number. Similarly, `\.{@@*}' sections lead to the control sequence `\.{\\N}'.
In this case there's an additional parameter, representing one plus the
-specified depth, immediately after the \.{\\N}.
+specified depth, immediately after the~\.{\\N}.
If the section has changed, we put \.{\\*} just after the section number.
@<Output the code for the beginning...@>=
@@ -4053,16 +4246,15 @@ else {
@.\\N@>
{@+ char s[32];@+sprintf(s,"{%d}",sec_depth+1);@+out_str(s);@+}
if (show_progress)
- printf("*%d",section_count); update_terminal; /* print a progress report */
+ printf("*%d",(int)section_count); update_terminal; /* print a progress report */
}
-out_str("{");out_section(section_count); out_str("}");
+out('{'); out_section(section_count); out('}');
@ In the \TEX/ part of a section, we simply copy the source text, except that
index entries are not copied and \CEE/ text within \pb\ is translated.
-@<Translate the \T...@>= do {
- next_control=copy_TeX();
- switch (next_control) {
+@<Translate the \T...@>= do
+ switch (next_control=copy_TeX()) {
case '|': init_stack; output_C(); break;
case '@@': out('@@'); break;
case TeX_string: case noop:
@@ -4078,7 +4270,7 @@ index entries are not copied and \CEE/ text within \pb\ is translated.
err_print("! You can't do that in TeX text"); break;
@.You can't do that...@>
}
-} while (next_control<format_code);
+while (next_control<format_code);
@ When we get to the following code we have |next_control>=format_code|, and
the token memory is in its initial empty state.
@@ -4105,8 +4297,8 @@ takes place, so that the translation will normally end with \.{\\6} or
@c
static void
-finish_C(@t\1\1@> /* finishes a definition or a \CEE/ part */
- boolean visible@t\2\2@>) /* nonzero if we should produce \TeX\ output */
+finish_C( /* finishes a definition or a \CEE/ part */
+ boolean visible) /* |true| if we should produce \TeX\ output */
{
text_pointer p; /* translation of the scraps */
if (visible) {
@@ -4114,7 +4306,7 @@ finish_C(@t\1\1@> /* finishes a definition or a \CEE/ part */
p=translate();
@.\\B@>
app(tok_flag+(int)(p-tok_start)); make_output(); /* output the list */
- if (out_ptr>out_buf+1) {
+ if (out_ptr>out_buf+1)
if (*(out_ptr-1)=='\\') {
@.\\6@>
@.\\7@>
@@ -4122,7 +4314,6 @@ finish_C(@t\1\1@> /* finishes a definition or a \CEE/ part */
if (*out_ptr=='6') out_ptr-=2;
else if (*out_ptr=='7') *out_ptr='Y';
}
- }
out_str("\\par"); finish_line();
}
if (text_ptr>max_text_ptr) max_text_ptr=text_ptr;
@@ -4145,22 +4336,30 @@ it starts after we scan the matching `\.)'.
@<Start a macro...@>= {
if (save_line!=out_line || save_place!=out_ptr || space_checked) app(backup);
if(!space_checked){emit_space_if_needed;save_position;}
- app_str("\\D"); /* this will produce `\&{define }' */
+ app_str("\\D"); /* this will produce `\#\&{define }' */
@.\\D@>
if ((next_control=get_next())!=identifier)
err_print("! Improper macro definition");
@.Improper macro definition@>
else {
- app('$'); app_cur_id(false);
- if (*loc=='(')
+ app_cur_id(false);
+ if (*loc=='(') {
+ app('$');
reswitch: switch (next_control=get_next()) {
case '(': case ',': app(next_control); goto reswitch;
case identifier: app_cur_id(false); goto reswitch;
case ')': app(next_control); next_control=get_next(); break;
+ case dot_dot_dot: app_str("\\,\\ldots\\,"); @.\\,@> @.\\ldots@>
+ app_scrap(raw_int,no_math);
+ if ((next_control=get_next())==')') {
+ app(next_control); next_control=get_next(); break;
+ } /* otherwise fall through */
default: err_print("! Improper macro definition"); break;
+ }
+ app('$');
}
else next_control=get_next();
- app_str("$ "); app(break_space);
+ app(break_space);
app_scrap(dead,no_math); /* scrap won't take part in the parsing */
}
}
@@ -4174,7 +4373,6 @@ it starts after we scan the matching `\.)'.
next_control=get_next();
if (next_control==identifier) {
app(id_flag+(int)(id_lookup(id_first, id_loc,normal)-name_dir));
- app(' ');
app(break_space); /* this is syntactically separate from what follows */
next_control=get_next();
if (next_control==identifier) {
@@ -4201,10 +4399,10 @@ if (next_control<=section_name) {
if (next_control==begin_C) next_control=get_next();
else {
this_section=cur_section;
- @<Check that '=' or '==' follows this section name, and
+ @<Check that `\.{=}' or `\.{==}' follows this section name, and
emit the scraps to start the section definition@>@;
}
- while (next_control<=section_name) {
+ while (next_control<=section_name) {
outer_parse();
@<Emit the scrap for a section name if present@>@;
}
@@ -4214,13 +4412,13 @@ if (next_control<=section_name) {
@ The title of the section and an $\E$ or $\mathrel+\E$ are made
into a scrap that should not take part in the parsing.
-@<Check that '='...@>=
+@<Check that `\.{=}'...@>=
do next_control=get_next();
while (next_control=='+'); /* allow optional `\.{+=}' */
if (next_control!='=' && next_control!=eq_eq)
err_print("! You need an = sign after the section name");
@.You need an = sign...@>
- else next_control=get_next();
+else next_control=get_next();
if (out_ptr>out_buf+1 && *out_ptr=='Y' && *(out_ptr-1)=='\\') app(backup);
/* the section name will be flush left */
@.\\Y@>
@@ -4256,8 +4454,7 @@ after the section ends.
@<Show cross...@>=
if (this_section>name_dir) {
cur_xref=(xref_pointer)this_section->xref;
- if (cur_xref->num==file_flag){an_output=true;cur_xref=cur_xref->xlink;}
- else an_output=false;
+ if ((an_output=(cur_xref->num==file_flag))==true) cur_xref=cur_xref->xlink;
if (cur_xref->num>def_flag)
cur_xref=cur_xref->xlink; /* bypass current section number */
footnote(def_flag); footnote(cite_flag); footnote(0);
@@ -4277,11 +4474,11 @@ supply new definitions for the macros \.{\\A}, \.{\\As}, etc.
@c
static void
-footnote(@t\1\1@> /* outputs section cross-references */
-sixteen_bits flag@t\2\2@>)
+footnote( /* outputs section cross-references */
+sixteen_bits flag)
{
- xref_pointer q; /* cross-reference pointer variable */
- if (cur_xref->num<=flag) return;
+ xref_pointer q=cur_xref; /* cross-reference pointer variable */
+ if (q->num<=flag) return;
finish_line(); out('\\');
@.\\A@>
@.\\Q@>
@@ -4298,7 +4495,7 @@ of cross-references is one, two, or more than two. Variable |q| points
to the first cross-reference, and the last link is a zero.
@<Output all the section numbers...@>=
-q=cur_xref; if (q->xlink->num>flag) out('s'); /* plural */
+if (q->xlink->num>flag) out('s'); /* plural */
while (true) {
out_section(cur_xref->num-flag);
cur_xref=cur_xref->xlink; /* point to the next cross-reference to output */
@@ -4379,19 +4576,18 @@ the index section itself.
@<Private...@>=
static sixteen_bits k_section; /* runs through the sections */
-@ @<Tell about changed sections@>= {
- /* remember that the index is already marked as changed */
- k_section=0;
- while (!changed_section[++k_section]);
- out_str("\\ch ");
+@ @<Tell about changed sections@>=
+/* remember that the index is already marked as changed */
+k_section=0;
+while (!changed_section[++k_section]);
+out_str("\\ch ");
@.\\ch@>
- out_section(k_section);
- while (k_section<section_count) {
- while (!changed_section[++k_section]);
- out_str(", "); out_section(k_section);
- }
- out('.');
+out_section(k_section);
+while (k_section<section_count) {
+ while (!changed_section[++k_section]);
+ out_str(", "); out_section(k_section);
}
+out('.');
@ A left-to-right radix sorting method is used, since this makes it easy to
adjust the collating sequence and since the running time will be at worst
@@ -4418,7 +4614,7 @@ for (h=hash; h<=hash_end; h++) {
while (next_name) {
cur_name=next_name; next_name=cur_name->link;
if (cur_name->xref!=(void *)xmem) {
- c=(eight_bits)((cur_name->byte_start)[0]);
+ c=(cur_name->byte_start)[0];
if (xisupper(c)) c=tolower(c);
blink[cur_name-name_dir]=bucket[c]; bucket[c]=cur_name;
}
@@ -4443,7 +4639,6 @@ name_pointer Head;
@f sort_pointer int
@d sort_pointer scrap_pointer /* ditto */
@d sort_ptr scrap_ptr /* ditto */
-@d max_sorts max_scraps /* ditto */
@<Private...@>=
static eight_bits cur_depth; /* depth of current buckets */
@@ -4519,8 +4714,8 @@ regarded as identical.
@c
static void
-unbucket(@t\1\1@> /* empties buckets having depth |d| */
-eight_bits d@t\2\2@>)
+unbucket( /* empties buckets having depth |d| */
+eight_bits d)
{
int c; /* index into |bucket|; cannot be a simple |char| because of sign
comparison below */
@@ -4547,14 +4742,14 @@ while (sort_ptr>scrap_info) {
}
@ @<Split the list...@>= {
- eight_bits c;
+ int c;
next_name=sort_ptr->head;
do {
cur_name=next_name; next_name=blink[cur_name-name_dir];
cur_byte=cur_name->byte_start+cur_depth;
if (cur_byte==(cur_name+1)->byte_start) c=0; /* hit end of the name */
else {
- c=(eight_bits) *cur_byte;
+ c=*cur_byte;
if (xisupper(c)) c=tolower(c);
}
blink[cur_name-name_dir]=bucket[c]; bucket[c]=cur_name;
@@ -4575,15 +4770,16 @@ while (sort_ptr>scrap_info) {
}
@ @<Output the name...@>=
-switch (cur_name->ilk) {
- case normal: case func_template: if (is_tiny(cur_name)) out_str("\\|");
- else {char *j;
+switch (cur_name->ilk) {@+char *j;@+@t}\6{\4@>
+ case normal: case func_template:
+ if (is_tiny(cur_name)) out_str("\\|");
+ else {
for (j=cur_name->byte_start;j<(cur_name+1)->byte_start;j++)
if (xislower(*j)) goto lowcase;
out_str("\\."); break;
lowcase: out_str("\\\\");
}
- break;
+ break;
@.\\|@>
@.\\.@>
@.\\\\@>
@@ -4592,12 +4788,12 @@ lowcase: out_str("\\\\");
case typewriter: out_str("\\.");
@.\\.@>
case roman: not_an_identifier: out_name(cur_name,false); goto name_done;
- case custom: {char *j; out_str("$\\");
+ case custom:
+ out_str("$\\");
for (j=cur_name->byte_start;j<(cur_name+1)->byte_start;j++)
out(*j=='_'? 'x': *j=='$'? 'X': *j);
out('$');
goto name_done;
- }
default: out_str("\\&");
@.\\\&@>
}
@@ -4621,6 +4817,7 @@ out('.'); finish_line();
@ List inversion is best thought of as popping elements off one stack and
pushing them onto another. In this case |cur_xref| will be the head of
the stack that we push things onto.
+
@<Private...@>=
static xref_pointer next_xref, this_xref;
/* pointer variables for rearranging a list */
@@ -4638,14 +4835,14 @@ prints them.
@c
static void
-section_print(@t\1\1@> /* print all section names in subtree |p| */
-name_pointer p@t\2\2@>)
+section_print( /* print all section names in subtree |p| */
+name_pointer p)
{
if (p) {
section_print(p->llink); out_str("\\I");
@.\\I@>
tok_ptr=tok_mem+1; text_ptr=tok_start+1; scrap_ptr=scrap_info; init_stack;
- app(p-name_dir+section_flag); make_output();
+ app(section_flag+(int)(p-name_dir)); make_output();
footnote(cite_flag);
footnote(0); /* |cur_xref| was set by |make_output| */
finish_line();@/
@@ -4658,30 +4855,30 @@ name_pointer p@t\2\2@>)
@ @<Output all the section names@>=section_print(root);
@ Because on some systems the difference between two pointers is a |ptrdiff_t|
-rather than an |int|, we use \.{\%ld} to print these quantities.
+rather than an |int|, we use \.{\%td} to print these quantities.
@c
void
print_stats(void) {
puts("\nMemory usage statistics:");
@.Memory usage statistics:@>
- printf("%ld names (out of %ld)\n",
+ printf("%td names (out of %ld)\n",
(ptrdiff_t)(name_ptr-name_dir),(long)max_names);
- printf("%ld cross-references (out of %ld)\n",
+ printf("%td cross-references (out of %ld)\n",
(ptrdiff_t)(xref_ptr-xmem),(long)max_refs);
- printf("%ld bytes (out of %ld)\n",
+ printf("%td bytes (out of %ld)\n",
(ptrdiff_t)(byte_ptr-byte_mem),(long)max_bytes);
puts("Parsing:");
- printf("%ld scraps (out of %ld)\n",
+ printf("%td scraps (out of %ld)\n",
(ptrdiff_t)(max_scr_ptr-scrap_info),(long)max_scraps);
- printf("%ld texts (out of %ld)\n",
+ printf("%td texts (out of %ld)\n",
(ptrdiff_t)(max_text_ptr-tok_start),(long)max_texts);
- printf("%ld tokens (out of %ld)\n",
+ printf("%td tokens (out of %ld)\n",
(ptrdiff_t)(max_tok_ptr-tok_mem),(long)max_toks);
- printf("%ld levels (out of %ld)\n",
+ printf("%td levels (out of %ld)\n",
(ptrdiff_t)(max_stack_ptr-stack),(long)stack_size);
puts("Sorting:");
- printf("%ld levels (out of %ld)\n",
+ printf("%td levels (out of %ld)\n",
(ptrdiff_t)(max_sort_ptr-scrap_info),(long)max_scraps);
}
diff --git a/web/c_cpp/cweb/cweb.1 b/web/c_cpp/cweb/cweb.1
index a9aa69bf43..4c35edb754 100644
--- a/web/c_cpp/cweb/cweb.1
+++ b/web/c_cpp/cweb/cweb.1
@@ -1,4 +1,4 @@
-.TH CWEB 1 2018-Dec-16
+.TH CWEB 1 2021-Apr-24
.
.SH NAME
ctangle, cweave \- translate CWEB to C and/or TeX
@@ -9,14 +9,14 @@ ctangle, cweave \- translate CWEB to C and/or TeX
[
.B \-bhp
] [
-.B +s
+.B +ks
] webfile[.w] [{changefile[.ch]|-} [outputfile[.c]]]
.br
.B cweave
[
.B \-befhpx
] [
-.B +s
+.B +st
] webfile[.w] [{changefile[.ch]|-} [outputfile[.tex]]]
.ad
.
@@ -80,7 +80,13 @@ The
.B +s
option prints statistics about memory usage at the end of a run.
.PP
-There are three other options applicable to
+There is one other option applicable to
+.I ctangle
+only:
+.B +k
+means keep '-separators in numeric literals in the C/C++\ output.
+.PP
+There are four other options applicable to
.I cweave
only:
.B \-f
@@ -89,13 +95,15 @@ means do not force a newline after every statement in the formatted output.
inhibits the enclosure of C\ material formatted by
.I cweave
in brackets
-\ePB{...}.
-Such brackets are normally inserted so that special hooks
+\ePB{...};
+such brackets are normally inserted so that special hooks
can be used by
.I cweb-latex
and similar programs.
.B \-x
-means omit the index and table of contents.
+means omit the index, the names of the sections, and the table of contents.
+.B +t
+means treat 'typename' in templates like 'typedef'.
.
.SH FILES
The location of the files mentioned below varies from system to system.
@@ -129,4 +137,5 @@ Silvio Levy designed and developed CWEB
by adapting the WEB conventions to\ C and by recoding everything in CWEB.
Knuth began using CWEB and made further refinements.
Many other helpers are acknowledged in the CWEB manual.
+Contemporary development on https://github.com/ascherer/cweb.
diff --git a/web/c_cpp/cweb/cwebmac.tex b/web/c_cpp/cweb/cwebmac.tex
index 385dc474e7..586e7bb30f 100644
--- a/web/c_cpp/cweb/cwebmac.tex
+++ b/web/c_cpp/cweb/cwebmac.tex
@@ -1,8 +1,8 @@
% standard macros for CWEB listings (in addition to plain.tex)
-% Version 4.2 --- February 2021
+% Version 4.6 --- December 2021
\ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros
-\xdef\fmtversion{\fmtversion+CWEB4.2}
-\chardef\cwebversion=4 \chardef\cwebrevision=1
+\xdef\fmtversion{\fmtversion+CWEB4.6}
+\chardef\cwebversion=4 \chardef\cwebrevision=6
\newif\ifpdf
\ifx\pdf+\pdftrue\fi
% Uncomment the following line if you want PDF goodies to be the default
@@ -31,6 +31,7 @@
\def\TEX/{\TeX}
\def\CPLUSPLUS/{{\mc C\PP\spacefactor1000}}
\def\Cee{\CEE/} % for backward compatibility
+\def\Cpp{\CPLUSPLUS/} % for backward compatibility
\def\9#1{}
% with this definition of \9 you can say @:sort key}{TeX code@>
% to alphabetize an index entry by the sort key but format with the TeX code
@@ -124,6 +125,7 @@
\newskip\intersecskip \intersecskip=12pt minus 3pt % space between sections
\let\yskip=\smallskip
\def\?{\mathrel?}
+\def\,{\relax\ifmmode\mskip\thinmuskip\else\thinspace\fi}
\def\note#1#2.{\Y\noindent{\hangindent2em%
\baselineskip10pt\eightrm#1~\ifacro{\pdfnote#2.}\else#2\fi.\par}}
@@ -232,11 +234,12 @@
\else\ifx\nxt\~\ifTnum\addF{0}\else\addF\tildechar\fi % 077->\T{\~77}
\else\ifx\nxt\_\ifTnum\addF{E}\else\addF_\fi % 0.1E5->\T{0.1\_5}
\else\ifx\nxt\^\ifTnum\addF{0x}\else\addF^\fi % 0x77 -> \T{\^77}
+ \else\ifx\nxt\\\\\ifTnum\addF{0b}\else\addF\\\fi % 0b10111 -> \T{\\10111}
\else\ifx\nxt\$\ifTnum\tokprocessedtrue\else\addF$\fi % \T{77\$L}
\else\ifx\nxt\{\addF\lbchar \else\ifx\nxt\}\addF\rbchar
\else\ifx\nxt\ \addF\space \else\ifx\nxt\#\addF{\string\#}%
\else\ifx\nxt\PP\addF{++}\else\ifx\nxt\MM\addF{--}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
}
\def\makeolproctokctlii{%
\ifx\nxt\MG\addF{->}\else\ifx\nxt\GG\addF{>>}%
@@ -287,7 +290,7 @@
\else \special{pdf: dest (\romannumeral\secstar)
[ @thispage /FitH @ypos ]}\fi}}\fi}
\let\startsection=\stsec
-\def\defin#1{\global\advance\ind by 2 \1\&{#1 } } % begin `define' or `format'
+\def\defin#1{\global\advance\ind by 2 \1\&{#1 }} % begin `define' or `format'
\def\A{\note{See also section}} % xref for doubly defined section name
\def\As{\note{See also sections}} % xref for multiply defined section name
\def\B{\rightskip=0pt plus 100pt minus 10pt % go into C mode
@@ -300,7 +303,7 @@
\let\SHC\C % "// short comments" treated like "/* ordinary comments */"
%\def\C#1{\5\5\quad$\triangleright\,${\cmntfont#1}$\,\triangleleft$}
%\def\SHC#1{\5\5\quad$\diamond\,${\cmntfont#1}}
-\def\D{\defin{\#define}} % macro definition
+\def\D{\defin{{\rm\#}define}} % macro definition
\let\E=\equiv % equivalence sign
\def\ET{ and~} % conjunction between two section numbers
\def\ETs{, and~} % conjunction between the last two of several section numbers
@@ -343,10 +346,11 @@
% \S is section sign
\def\T#1{\leavevmode % octal, hex or decimal constant
\hbox{$\def\?{\kern.2em}%
+ \let\ \, % C++ digit separator becomes a little white space
% \def\$##1{\egroup_{\,\rm##1}\bgroup}% suffix to constant % versions < 3.67
\def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant % in version 3.67
\def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
- \let\~=\oct \let\^=\hex {#1}$}}
+ \let\~=\oct \let\^=\hex \let\\=\bin {#1}$}}
\def\U{\note{This code is used in section}} % xref for use of a section
\def\Us{\note{This code is used in sections}} % xref for uses of a section
\let\V=\lor % logical or
@@ -365,11 +369,13 @@
%\def\oct{\hbox{\rm\char'23\kern-.2em\it\aftergroup\?\aftergroup}} % WEB style
%\def\hex{\hbox{\rm\char"7D\tt\aftergroup}} % WEB style
-\def\oct{\hbox{$^\circ$\kern-.1em\it\aftergroup\?\aftergroup}}% CWEB style
+\def\oct{\hbox{$^\circ$\kern-.1em\it\aftergroup\?\aftergroup}} % CWEB style
\def\hex{\hbox{$^{\scriptscriptstyle\#}$\tt\aftergroup}} % CWEB style
+\def\bin{\hbox{$^{\scriptscriptstyle b}$\tt\aftergroup}} % new in CWEB 4.3
\def\vb#1{\leavevmode\hbox{\kern2pt\vrule\vtop{\vbox{\hrule
\hbox{\strut\kern2pt\.{#1}\kern2pt}}
\hrule}\vrule\kern2pt}} % verbatim string
+\def\p#1{\cdot 2^{#1}} % power of two (hex exponent)
\def\onmaybe{\let\ifon=\maybe} \let\maybe=\iftrue
\newif\ifon \newif\iftitle \newif\ifpagesaved
@@ -439,7 +445,7 @@
\write\cont{\catcode `\noexpand\@=12\relax} % \makeatother
\closeout\cont % the contents information has been fully gathered
\output{\ifpagesaved\normaloutput{\box\sbox}\lheader\rheader\fi
- \global\setbox\sbox=\page \global\pagesavedtrue}
+ \global\setbox\sbox=\page \global\pagesavedtrue \mark{\topmark}}
\pagesavedfalse \eject % eject the page-so-far and predecessors
\setbox\sbox\vbox{\unvbox\sbox} % take it out of its box
\vsize=\pageheight \advance\vsize by -\ht\sbox % the remaining height
@@ -482,14 +488,13 @@
\def\X##1:##2\X{\Xpdf##1:##2\X \firstsecno##1.%
{\toksF={}\makeoutlinetoks##2\outlinedone\outlinedone}%
\pdfoutline goto num \the\toksA \expandafter{\the\toksE}}
- \else\ifpdf
- \special{pdf: outline -1 << /Title (\outsecname)
+ \else \special{pdf: outline -1 << /Title (\outsecname)
/Dest [ @thispage /FitH @ypos ] >>}
\def\X##1:##2\X{\Xpdf##1:##2\X \firstsecno##1.%
{\toksF={}\makeoutlinetoks##2\outlinedone\outlinedone}%
\special{pdf: outline 0 << /Title (\the\toksE)
/A << /S /GoTo /D (\romannumeral\the\toksA) >> >>}}
- \fi\fi\fi
+ \fi\fi
\readsections}
\def\makebookmarks{\let\ZZ=\writebookmarkline \readcontents\relax}
\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
@@ -536,9 +541,6 @@
\def\printtwodigits{\advance\twodigits100
\expandafter\gobbleone\number\twodigits
\advance\twodigits-100 }
-\def\TeX{{\ifmmode\it\fi
- \leavevmode\hbox{T\kern-.1667em\lower.424ex\hbox{E}\hskip-.125em X}}}
-\def\,{\relax\ifmmode\mskip\thinmuskip\else\thinspace\fi}
\def\datethis{\def\startsection{\leftline{\sc\today\ at \hours}\bigskip
\let\startsection=\stsec\stsec}}
% say `\datethis' in limbo, to get your listing timestamped before section 1
diff --git a/web/c_cpp/cweb/cwebman.pdf b/web/c_cpp/cweb/cwebman.pdf
index 034674005d..83f0707c13 100644
--- a/web/c_cpp/cweb/cwebman.pdf
+++ b/web/c_cpp/cweb/cwebman.pdf
Binary files differ
diff --git a/web/c_cpp/cweb/cwebman.tex b/web/c_cpp/cweb/cwebman.tex
index df652232b7..476b526a60 100644
--- a/web/c_cpp/cweb/cwebman.tex
+++ b/web/c_cpp/cweb/cwebman.tex
@@ -1,5 +1,4 @@
% This file generates the user manual; TeX it, don't read it!
-% update 14 Nov 2016 by DEK: corrected obsolete remarks re debugging info
\def\tangref{3} % where the main explanation of CTANGLing is given
\input cwebmac
@@ -36,7 +35,7 @@
\def\lheader{\mainfont\the\pageno\hfill\sc\runninghead\hfill}
\def\rheader{\hfill\sc\runninghead\hfill\mainfont\the\pageno}
-\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.2)}
+\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.6)}
% This verbatim mode assumes that ! marks are !! in the text being copied.
\def\verbatim{\begingroup
@@ -50,7 +49,7 @@
\null\vfill
\centerline{\titlefont The {\ttitlefont CWEB} System of
Structured Documentation}
-\vskip 18pt\centerline{(Version 4.2 --- February 2021)}
+\vskip 18pt\centerline{(Version 4.6 --- December 2021)}
\vskip 24pt
\centerline{\authorfont Donald E. Knuth and Silvio Levy}
\vfill
@@ -140,7 +139,7 @@ for \CEE/ if you so desire.
The philosophy behind \.{CWEB} is
that programmers who want to provide the best
possible documentation for their programs need two things
-simultaneously: a language like \TEX/ for formatting, and a language like
+simultaneously: a language like \TEX/ for formatting, and a language like
\CEE/ for programming. Neither type of language can provide the
best documentation by itself. But when both are appropriately combined, we
obtain a system that is much more useful than either language separately.
@@ -394,9 +393,9 @@ program. Therefore the \.{CWEB} language allows you to get the effect of
\CEE/ editing within \TEX/ text, if you place `\.|' marks before and
after the \CEE/ material. For example, suppose you want to say something
like this:
-$$\hbox{ If \\{pa} is declared as `\&{int} ${}{*}\\{pa}$',
-the assignment $\\{pa}\K{\AND}\|a[\T{0}]$ makes \\{pa}
-point to the zeroth element of \|a.}$$
+$$\hbox{If \PB{\\{pa}} is declared as `\PB{\&{int} ${}{*}\\{pa}$}',
+the assignment \PB{$\\{pa}\K{\AND}\|a[\T{0}]$} makes \PB{\\{pa}}
+point to the zeroth element of \PB{\|a}.}$$
The \TEX/ text would look like this in your \.{CWEB} file:
$$\lpile{\.{If |pa| is declared as `|int *pa|', the assignment}\cr
\.{|pa=\&a[0]| makes |pa| point to the zeroth element of |a|.}\cr}$$
@@ -433,7 +432,7 @@ examples:
$$
\displaylines{
\hbox{\.{if} \.{(x==0)} \.{@<Empty} \.{the} \.{|buffer|} \.{array@>}} \cr
-\hbox{\.{...} \.{using} \.{the} \.{algorithm}
+\hbox{\.{...} \.{using} \.{the} \.{algorithm}
\.{in} \.{|@<Empty} \.{the} \.{|buffer|} \.{array@>|.}} }
$$
The first of these excerpts
@@ -481,9 +480,12 @@ the compiler's benefit) and which \.{CWEAVE} prints as $\T{\~40}$.
Similarly, \.{CWEAVE} prints the hexadecimal \CEE/ constant `\.{0x20}'
as \T{\^20}. The use of italic font for octal digits and typewriter font
for hexadecimal digits makes the meaning of such constants clearer in
-a document. For consistency, then, you
-should type `\.{|040|}' or `\.{|0x20|}'
-in the \TEX/ part of the section.
+a document. For consistency, then, you should type `\.{|040|}' or
+`\.{|0x20|}' in the \TEX/ part of the section.
+
+And if you type a binary constant like `\.{0b00101010}', \.{CWEAVE} prints
+it as $\T{\\00101010}$. In all numeric literals you may add \.' separators
+for improved readability.
\section Control codes.
A \.{CWEB} {\sl control code\/}
@@ -843,7 +845,8 @@ with a semicolon. Consider constructions like
$$\lpile{\.{if (condition) macro @;}\cr
\.{else break;}\cr}$$
where \\{macro} is defined to be a compound statement (enclosed in braces).
-This is a well-known infelicity of \CEE/ syntax.
+This is a well-known infelicity of \CEE/ syntax. You can add a visible
+semicolon with \.{@t;@>} (before \.{@;}).
\@{[} [MC] See \.{@]}.
@@ -1042,7 +1045,7 @@ by default.)
\option e Enclose \CEE/ material formatted by \.{CWEAVE} in
brackets \.{\\PB\{...\}}, so that special hooks can be used.
-(On by default; has no effect on \.{CTANGLE}.)
+(On by default.) (Has no effect on \.{CTANGLE}.)
\option f Force line breaks after each \CEE/ statement formatted
by \.{CWEAVE}. (On by default; \.{-f} saves paper but looks less \CEE/-like
@@ -1051,13 +1054,18 @@ to some people.) (Has no effect on \.{CTANGLE}.)
\option h Print a happy message at the conclusion of a successful
run. (On by default.)
+\option k Keep single quotes (\.') in numeric literals in the
+\CEE//\CPLUSPLUS/ output. (Off by default.) (\.{CTANGLE} only.)
+
\option p Give progress reports as the program runs. (On by default.)
\option s Show statistics about memory usage after the program
runs to completion. (Off by default.)
-If you
-have large \.{CWEB} files or sections, you may need to see
-how close you come to exceeding the capacity of \.{CTANGLE} and/or \.{CWEAVE}.
+If you have large \.{CWEB} files or sections, you may need to see how close
+you come to exceeding the capacity of \.{CTANGLE} and/or \.{CWEAVE}.
+
+\option t Treat \&{typename} in a template like \&{typedef}.
+(Off by default.) (Has no effect on \.{CTANGLE}.)
\option x Include indexes and a table of contents in the \TEX/ file
output by \.{CWEAVE}. (On by default.) (Has no effect on \.{CTANGLE}.)
@@ -1155,7 +1163,7 @@ for the macros that make this work.)
Alternatively, thanks to H\`an Th\^e\kern-.3em\raise.3ex\hbox{\'{}} Th\`anh
and Andreas Scherer, you can generate \.{cob.pdf} in one step by simply
saying `\.{pdftex}~\.{cob}'.
-A third way to create PDF output from \.{CWEB} input is to say
+And a third way to create PDF output from \.{CWEB} input is to say
`\.{xetex}~\.{cob}'.
A more elaborate system called \.{CTWILL}, which extends the usual cross
@@ -1211,10 +1219,7 @@ Since blank lines in the change file are not used for matching, we have
the change file is exhausted. This procedure is called only when
|changing| is |true|; hence error messages will be reported correctly.
-@<Predecl...@>=
-static void prime_the_change_buffer(void);@/
-
-@ @c
+@c
static void
prime_the_change_buffer(void)
{
@@ -1224,6 +1229,8 @@ prime_the_change_buffer(void)
@<Move |buffer| and |limit| to |change_buffer| and |change_limit|@>@;
}
+@ @<Predecl...@>=@+static void prime_the_change_buffer(void);
+
@ While looking for a line that begins with \.{@@x} in the change file, we
allow lines that begin with \.{@@}, as long as they don't begin with \.{@@y},
\.{@@z}, or \.{@@i} (which would probably mean that the change file is fouled up).
@@ -1234,7 +1241,7 @@ while(true) {
if (!!input_ln(change_file)) return;
if (limit<buffer+2) continue;
if (buffer[0]!!='@@') continue;
- if (xisupper(buffer[1])) buffer[1]=tolower((eight_bits)buffer[1]);
+ if (xisupper(buffer[1])) buffer[1]=tolower((int)buffer[1]);
if (buffer[1]=='x') break;
if (buffer[1]=='y' || buffer[1]=='z' || buffer[1]=='i') {
loc=buffer+2;
@@ -1256,39 +1263,37 @@ do {
} while (limit==buffer);
@ @<Move |buffer| and |limit| to |change_buffer| and |change_limit|@>=
-{
- change_limit=change_buffer+(ptrdiff_t)(limit-buffer);
- strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
-}
+change_limit=change_buffer+(ptrdiff_t)(limit-buffer);
+strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
!endgroup
\endgroup
\vfill\eject
-\def\runninghead{APPENDIX A --- TRANSLATION BY {\tentt CTANGLE}}
+\def\runninghead{APPENDIX A --- TRANSLATION BY {\tentt CTANGLE}}
Here's the portion of the \CEE/ code generated by \.{CTANGLE} that corresponds
to the source on the preceding page. Notice that sections~29, 30 and~31
-have been tangled into section~28.
+have been tangled into section~27.
\vskip6pt
\begingroup \def\tt{\eighttt} \baselineskip9pt
\verbatim
-/*:24*//*28:*/
-#line 234 "common.w"
+/*:23*//*27:*/
+#line 227 "common.w"
static void
prime_the_change_buffer(void)
{
change_limit= change_buffer;
/*29:*/
-#line 248 "common.w"
+#line 243 "common.w"
while(true){
change_line++;
if(!!input_ln(change_file))return;
if(limit<buffer+2)continue;
if(buffer[0]!!='@')continue;
-if(xisupper(buffer[1]))buffer[1]= tolower((eight_bits)buffer[1]);
+if(xisupper(buffer[1]))buffer[1]= tolower((int)buffer[1]);
if(buffer[1]=='x')break;
if(buffer[1]=='y'||buffer[1]=='z'||buffer[1]=='i'){
loc= buffer+2;
@@ -1298,10 +1303,10 @@ err_print("!! Missing @x in change file");
}
/*:29*/
-#line 239 "common.w"
+#line 232 "common.w"
/*30:*/
-#line 265 "common.w"
+#line 260 "common.w"
do{
change_line++;
@@ -1313,22 +1318,20 @@ return;
}while(limit==buffer);
/*:30*/
-#line 240 "common.w"
+#line 233 "common.w"
/*31:*/
-#line 275 "common.w"
+#line 270 "common.w"
-{
change_limit= change_buffer+(ptrdiff_t)(limit-buffer);
strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
-}
/*:31*/
-#line 241 "common.w"
+#line 234 "common.w"
}
-/*:28*//*33:*/
+/*:27*//*32:*/
!endgroup
\endgroup
\vfill\eject
@@ -1349,11 +1352,7 @@ the change file is exhausted. This procedure is called only when
\PB{\\{changing}} is \PB{\\{true}}; hence error messages will be reported
correctly.
-\Y\B\4\X7:Predeclaration of procedures\X${}\mathrel+\E{}$\6
-\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void});\par
-\fi
-
-\M{28}\B\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void})\1\1\2\2\6
+\Y\B\1\1\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void})\2\2\6
${}\{{}$\1\6
${}\\{change\_limit}\K\\{change\_buffer}{}$;\C{ this value is used if the
change file ends }\6
@@ -1365,6 +1364,10 @@ change file ends }\6
\4${}\}{}$\2\par
\fi
+\M{28}\B\X7:Predeclaration of procedures\X${}\mathrel+\E{}$\5
+\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void});\par
+\fi
+
\M{29}While looking for a line that begins with \.{@x} in the change file, we
allow lines that begin with \.{@}, as long as they don't begin with \.{@y},
\.{@z}, or \.{@i} (which would probably mean that the change file is fouled
@@ -1382,7 +1385,7 @@ ${}\\{change\_line}\PP;{}$\6
\&{if} ${}(\\{buffer}[\T{0}]\I\.{'@'}){}$\1\5
\&{continue};\2\6
\&{if} (\\{xisupper}(\\{buffer}[\T{1}]))\1\5
-${}\\{buffer}[\T{1}]\K\\{tolower}{}$((\&{eight\_bits}) \\{buffer}[\T{1}]);\2\6
+${}\\{buffer}[\T{1}]\K\\{tolower}{}$((\&{int}) \\{buffer}[\T{1}]);\2\6
\&{if} ${}(\\{buffer}[\T{1}]\E\.{'x'}){}$\1\5
\&{break};\2\6
\&{if} ${}(\\{buffer}[\T{1}]\E\.{'y'}\V\\{buffer}[\T{1}]\E\.{'z'}\V\\{buffer}[%
@@ -1392,7 +1395,7 @@ ${}\\{loc}\K\\{buffer}+\T{2};{}$\6
\\{err\_print}(\.{"!!\ Missing\ @x\ in\ cha}\)\.{nge\ file"});\6
\4${}\}{}$\2\6
\4${}\}{}$\2\par
-\U28.\fi
+\U27.\fi
\M{30}Here we are looking at lines following the \.{@x}.
@@ -1408,7 +1411,7 @@ ${}\{{}$\1\6
\4${}\}{}$\2\6
\4${}\}{}$\2\5
\&{while} ${}(\\{limit}\E\\{buffer}){}$;\par
-\U28.\fi
+\U27.\fi
!endgroup
\endgroup
\vfil\eject
@@ -1427,11 +1430,7 @@ the change file is exhausted. This procedure is called only when
\PB{\\{changing}} is \PB{\\{true}}; hence error messages will be reported
correctly.
-\Y\B\4\X7:Predeclaration of procedures\X${}\mathrel+\E{}$\6
-\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void});\par
-\fi
-
-\M{28}\B\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void})\1\1\2\2\6
+\Y\B\1\1\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void})\2\2\6
${}\{{}$\1\6
${}\\{change\_limit}\K\\{change\_buffer}{}$;\C{ this value is used if the
change file ends }\6
@@ -1443,6 +1442,10 @@ change file ends }\6
\4${}\}{}$\2\par
\fi
+\M{28}\B\X7:Predeclaration of procedures\X${}\mathrel+\E{}$\5
+\&{static} \&{void} \\{prime\_the\_change\_buffer}(\&{void});\par
+\fi
+
\M{29}While looking for a line that begins with \.{@x} in the change file, we
allow lines that begin with \.{@}, as long as they don't begin with \.{@y},
\.{@z}, or \.{@i} (which would probably mean that the change file is fouled
@@ -1470,7 +1473,7 @@ ${}\\{loc}\K\\{buffer}+\T{2};{}$\6
\\{err\_print}(\.{"!\ Missing\ @x\ in\ cha}\)\.{nge\ file"});\6
\4${}\}{}$\2\6
\4${}\}{}$\2\par
-\U28.\fi
+\U27.\fi
\M{30}Here we are looking at lines following the \.{@x}.
@@ -1486,17 +1489,15 @@ ${}\{{}$\1\6
\4${}\}{}$\2\6
\4${}\}{}$\2\5
\&{while} ${}(\\{limit}\E\\{buffer}){}$;\par
-\U28.\fi
+\U27.\fi
\M{31}\B\X31:Move \PB{\\{buffer}} and \PB{\\{limit}} to \PB{\\{change\_buffer}}
and \PB{\\{change\_limit}}\X${}\E{}$\6
-${}\{{}$\1\6
-${}\\{change\_limit}\K\\{change\_buffer}+(\&{ptrdiff\_t})(\\{limit}-%
+$\\{change\_limit}\K\\{change\_buffer}+(\&{ptrdiff\_t})(\\{limit}-%
\\{buffer});{}$\6
${}\\{strncpy}(\\{change\_buffer},\39\\{buffer},\39(\&{size\_t})(\\{limit}-%
-\\{buffer}+\T{1}));{}$\6
-\4${}\}{}$\2\par
-\Us28\ET33.\fi
+\\{buffer}+\T{1})){}$;\par
+\Us27\ET32.\fi
\vfil\eject\titletrue
\rightskip=0pt % get out of C mode (cf. \B)
\sfcode`;=1500 \pretolerance 200 \hyphenpenalty 50 \exhyphenpenalty 50
@@ -1591,7 +1592,7 @@ $$\lpile{\.{\\def\\topofcontents\{\\null\\vfill}\cr
\.{ { }\\titlefalse \% include headline on the contents page}\cr
\.{ { }\\def\\rheader\{\\mainfont The \{\\tt CWEAVE\}{ }processor\\hfil\}}\cr
\.{ { }\\centerline\{\\titlefont The \{\\ttitlefont CWEAVE\}{ }processor\}}\cr
- \.{ { }\\vskip 15pt \\centerline\{(Version 4.2)\}{ }\\vfill\}}\cr}$$
+ \.{ { }\\vskip 15pt \\centerline\{(Version 4.6)\}{ }\\vfill\}}\cr}$$
Redefining \.{\\rheader}, which is the headline for right-hand pages,
suffices in this case to put the desired information at the top of the
contents page.
diff --git a/web/c_cpp/cweb/iso_types.w b/web/c_cpp/cweb/iso_types.w
new file mode 100644
index 0000000000..c88e76b7f9
--- /dev/null
+++ b/web/c_cpp/cweb/iso_types.w
@@ -0,0 +1,95 @@
+@q This file defines type names introduced in modern dialects @>
+@q of C and C++ as special entities for TeX formatting @>
+
+@q C99 and C11 underscore keywords @>
+@q http://en.cppreference.com/w/c/keyword @>
+
+@s _Alignas alignas
+@s _Alignof alignof
+@s _Atomic int
+@s _Bool bool
+@s _Complex complex
+@s _Generic class
+@s _Imaginary imaginary
+@s _Noreturn noreturn
+@s _Static_assert static_assert
+@s _Thread_local thread_local
+
+@q C99 and C11 core language atomic types @>
+@q http://en.cppreference.com/w/c/atomic @>
+
+@s atomic_bool bool
+@s atomic_char char
+@s atomic_schar char
+@s atomic_uchar char
+@s atomic_short short
+@s atomic_ushort short
+@s atomic_int int
+@s atomic_uint int
+@s atomic_long long
+@s atomic_ulong long
+@s atomic_llong long
+@s atomic_ullong long
+@s atomic_char8_t char8_t
+@s atomic_char16_t char16_t
+@s atomic_char32_t char32_t
+@s atomic_wchar_t wchar_t
+@s atomic_int_least8_t int
+@s atomic_uint_least8_t int
+@s atomic_int_least16_t int
+@s atomic_uint_least16_t int
+@s atomic_int_least32_t int
+@s atomic_uint_least32_t int
+@s atomic_int_least64_t int
+@s atomic_uint_least64_t int
+@s atomic_int_fast8_t int
+@s atomic_uint_fast8_t int
+@s atomic_int_fast16_t int
+@s atomic_uint_fast16_t int
+@s atomic_int_fast32_t int
+@s atomic_uint_fast32_t int
+@s atomic_int_fast64_t int
+@s atomic_uint_fast64_t int
+@s atomic_intptr_t int
+@s atomic_uintptr_t int
+@s atomic_ptrdiff_t ptrdiff_t
+@s atomic_size_t size_t
+@s atomic_intmax_t int
+@s atomic_uintmax_t int
+
+@q C99 preprocessor @>
+
+@s _Pragma pragma
+
+@q Integral types of C99 and C++, see @>
+@q http://en.cppreference.com/w/c/types/integer and @>
+@q http://en.cppreference.com/w/cpp/types/integer @>
+
+@s int8_t int
+@s int16_t int
+@s int32_t int
+@s int64_t int
+@s int_fast8_t int
+@s int_fast16_t int
+@s int_fast32_t int
+@s int_fast64_t int
+@s int_least8_t int
+@s int_least16_t int
+@s int_least32_t int
+@s int_least64_t int
+@s intmax_t int
+@s intptr_t int
+@s uint8_t int
+@s uint16_t int
+@s uint32_t int
+@s uint64_t int
+@s uint_fast8_t int
+@s uint_fast16_t int
+@s uint_fast32_t int
+@s uint_fast64_t int
+@s uint_least8_t int
+@s uint_least16_t int
+@s uint_least32_t int
+@s uint_least64_t int
+@s uintmax_t int
+@s uintptr_t int
diff --git a/web/c_cpp/cweb/prod.w b/web/c_cpp/cweb/prod.w
index 5f76a19379..cba9473fd0 100644
--- a/web/c_cpp/cweb/prod.w
+++ b/web/c_cpp/cweb/prod.w
@@ -2,7 +2,7 @@
% This program by Silvio Levy and Donald E. Knuth
% is based on a program by Knuth.
% It is distributed WITHOUT ANY WARRANTY, express or implied.
-% Version 3.6 --- May 2000
+% Version 4.6 --- December 2021
%
@ Here is a table of all the productions. Each production that
combines two or more consecutive scraps implicitly inserts a {\tt \$}
@@ -26,9 +26,8 @@ identifier's ilk becomes |raw_int|. A dagger \dag\ before the
production number refers to the notes at the end of this section,
which deal with various exceptional cases.
-We use \\{in}, \\{out}, \\{back} and
-\\{bsp} as shorthands for |indent|, |outdent|, |backup| and
-|break_space|, respectively.
+We use \\{in}, \\{out}, \\{back}, \\{bsp}, and \\{din} as shorthands for
+|indent|, |outdent|, |backup|, |break_space|, and |dindent|, respectively.
\begingroup \lineskip=4pt
\def\alt #1 #2
@@ -38,9 +37,9 @@ We use \\{in}, \\{out}, \\{back} and
{$\displaystyle\Biggl\{\!\matrix{\strut\hbox{#1}\cr\hbox{#2}\cr
\strut\hbox{#3}\cr}\!\Biggr\}$ }
\def\malt #1 #2
-{$\displaystyle\matrix{\strut\hbox{#1}\hfill\cr\strut\hbox{#2}\hfill\cr}$}
+{$\displaystyle\!\matrix{\strut\hbox{#1}\hfill\cr\strut\hbox{#2}\hfill\cr}$}
\def\maltt #1 #2 #3
-{$\displaystyle\matrix{\strut\hbox{#1}\hfill\cr\hbox{#2}\hfill\cr
+{$\displaystyle\!\matrix{\strut\hbox{#1}\hfill\cr\hbox{#2}\hfill\cr
\strut\hbox{#3}\hfill\cr}$}
\yskip
\prodno=0 \midcol=2.5in
@@ -55,101 +54,104 @@ We use \\{in}, \\{out}, \\{back} and
\yskip
\+& \altt\\{any} {\\{any} \\{any}} {\\{any} \\{any} \\{any}}
|insert| & \altt\\{any} {\\{any} \\{any}} {\\{any} \\{any} \\{any}}
-& stmt; \ /$\ast\,$comment$\,*$/\cr
+& stmt; \4\4 \C{comment}\cr
\+& |exp| \altt|lbrace| |int_like| |decl|
- & |fn_decl| \altt|lbrace| |int_like| |decl|
- \hfill $F=E^*\,|in|\,|in|$ & \malt {\\{main}()$\{$}
- {\\{main}$(\\{ac},\\{av})$ \&{int} \\{ac};} \cr
-\+& |exp| |unop| & |exp| & |x++|\cr
-\+& |exp| \alt |binop| |ubinop| |exp| & |exp| & \malt {|x/y|} {|x+y|} \cr
-\+& |exp| |comma| |exp| & |exp| \hfill $EC\,|opt|9\,E$& |f(x,y)|\cr
-\+& |exp| \alt {|lpar| |rpar|} |cast| |colon| &
- |exp| \alt {|lpar| |rpar|} |cast| |base| &
- \malt \&C|()|: {\&C|int i)|:} \cr
-\+& |exp| |semi| & |stmt| & |x=0;|\cr
-\+& |exp| |colon| & |tag| \hfill $E^*C$ & |found:|\cr
+ & |fn_decl| \altt|lbrace| |int_like| |decl| \hfill $F=E^*\,\\{din}$
+ & \malt {\\{main}(\,) $\{$}
+ {$\\{main}(\\{ac},\\{av}){}$ \&{int} \\{ac};} \cr
+\+& |exp| |unop| & |exp| & $x\PP$ \cr
+\+& |exp| \alt |binop| |ubinop| |exp| & |exp| & \malt {$x/y$} {$x+y$} \cr
+\+& |exp| |comma| |exp| & |exp| \hfill $E_1C\,|opt|9\,E_2$ & $f(x,y)$ \cr
+\+& |exp| \alt {|lpar| |rpar|} |cast| |colon|
+ & |exp| \alt {|lpar| |rpar|} |cast| |base|
+ & \malt {\&C(\,) :} {\&C(\&{int} $i$) :} \cr
+\+& |exp| |semi| & |stmt| & $x=0;$ \cr
+\+& |exp| |colon| & |tag| \hfill $E^*C$ & \\{found}: \cr
\+& |exp| |rbrace| & |stmt| |rbrace| & end of \&{enum} list\cr
-\+& |exp| \alt {|lpar| |rpar|} |cast| \alt|const_like| |case_like| &
- |exp| \alt {|lpar| |rpar|} |cast| \hfill
- \alt $R=R\.\ C$ $C_1=C_1\.\ C_2$ &
- \malt {|f() const|} {|f(int) throw|} \cr
-\+& |exp| \alt |exp| |cast| & |exp| & |time()|\cr
-\+& |lpar| \alt |exp| |ubinop| |rpar| & |exp| & \malt{|(x)|} {|(*)|} \cr
+\+& |exp| \alt {|lpar| |rpar|} |cast| \alt|const_like| |case_like|
+ & |exp| \alt {|lpar| |rpar|} |cast| \hfill
+ \alt $R=R\.\ C$ $C_1=C_1\.\ C_2$
+ & \malt {$f$(\,) \&{const}} {$f$(\&{int}) \&{throw}} \cr
+\+& |exp| \alt |exp| |cast| & |exp| & \\{time}(\,) \cr
+\+& |lpar| \alt |exp| |ubinop| |rpar| & |exp| & \malt{($x$)} {$(*)$} \cr
\+& |lpar| |rpar| & |exp| \hfill $L\.{\\,}R$ & functions, declarations\cr
\+& |lpar| \altt |decl_head| |int_like| |cast| |rpar| & |cast| & |(char*)|\cr
\+& |lpar| \altt |decl_head| |int_like| |exp| |comma| & |lpar| \hfill
- $L$\,\altt $D$ $I$ $E$ $C$\,|opt|9 & |(int,|\cr
-\+& |lpar| \alt |stmt| |decl| & |lpar| \hfill \alt {$LS\.\ $} {$LD\.\ $} &
- \malt {|(k=5;|} {|(int k=5;|} \cr
-\+& |unop| \alt |exp| |int_like| & |exp| &
- \malt |!x| |~|\&C \cr
+ $L$\,\altt $D$ $I$ $E$ \unskip $C$\,|opt|9 & |(int,|\cr
+\+& |lpar| \alt |stmt| |decl| & |lpar| \hfill \alt {$LS\.\ $} {$LD\.\ $}
+ & \malt {$(k=5;$} {(\&{int} $k=5;$} \cr
+\+& |unop| \alt |exp| |int_like| & |exp|
+ & \malt {$\R x$} {$\CM\&C$} \cr
\+& |ubinop| |cast| |rpar| & |cast| |rpar| \hfill
$C=\.\{U\.\}C$ & |*|\&{CPtr}) \cr
\+& |ubinop| \alt|exp| |int_like| & \alt|exp| |int_like| \hfill
- \.\{$U$\.\}\alt$E$ $I$ & \malt |*x| |*|\&{CPtr} \cr
+ \.\{$U$\.\}\alt$E$ $I$ & \malt {${*}x$} {${*}\&{CPtr}$} \cr
\+& |ubinop| |binop| & |binop| \hfill $|math_rel|\,U\.\{B\.\}\.\}$ & |*=|\cr
\+& |binop| |binop| & |binop| \hfill
$|math_rel|\,\.\{B_1\.\}\.\{B_2\.\}\.\}$ & |>>=|\cr
\+& |cast| \alt |lpar| |exp| & \alt |lpar| |exp| \hfill
- \alt $CL$ $C\.\ E$ & \malt |(double)(x+2)| |(double)x| \cr
+ \alt $CL$ $C\.\ E$ & \malt {$(\&{double})(x+2)$} {(\&{double}) $x$} \cr
\+& |cast| |semi| & |exp| |semi| & |(int);|\cr
\+& |sizeof_like| |cast| & |exp| & |sizeof (double)|\cr
-\+& |sizeof_like| |exp| & |exp| \hfill $S\.\ E$ & |sizeof x|\cr
+\+& |sizeof_like| |exp| & |exp| \hfill $S\.\ E$ & \&{sizeof} $x$\cr
\+& |int_like| \alt|int_like| |struct_like| &
\alt|int_like| |struct_like| \hfill $I\.\ $\alt $I$ $S$
- \unskip& |extern char|\cr
+ \unskip & |extern char|\cr
\+& |int_like| |exp| \alt|raw_int| |struct_like| &
|int_like| \alt|raw_int| |struct_like| & |extern "Ada" int|\cr
\+& |int_like| \altt|exp| |ubinop| |colon| &
- |decl_head| \altt|exp| |ubinop| |colon| \hfill
- $D=I$\.\ & \maltt|int x| |int*x| |unsigned:| \cr
-\+& |int_like| \alt |semi| |binop| & |decl_head| \alt |semi| |binop| &
- \malt |int x;| {\&{int} $f(\&{int}=4)$} \cr
-\+& |public_like| |colon| & |tag| & \&{private}:\cr
-\+& |public_like| & |int_like| & \&{private}\cr
+ |decl_head| \altt|exp| |ubinop| |colon| \hfill $D=I$\.\ %
+ & \maltt {\&{int} $x$} {\&{int} ${}{*}x$} {\&{unsigned} :} \cr
+\+& |int_like| \alt |semi| |binop| & |decl_head| \alt |semi| |binop|
+ & \malt {\&{int} $x$;} {\&{int} $f(\&{int}=4)$} \cr
+\+& |public_like| |colon| & |tag| & |private:|\cr
+\+& |public_like| & |int_like| & |private|\cr
\+& |colcol| \alt|exp| |int_like| & \alt|exp| |int_like| \hfill
- |qualifier| $C$ \alt$E$ $I$ & \&C\DC$x$\cr
+ |qualifier| $C$\alt$E$ $I$ & \&C\DC$x$\cr
\+& |colcol| |colcol| & |colcol| & \&C\DC\&B\DC\cr
-\+& |decl_head| |comma| & |decl_head| \hfill $DC\.\ $ & |int x,|\cr
+\+& |decl_head| |comma| & |decl_head| \hfill $DC\.\ $ & \&{int} $x,{}$ \cr
\+& |decl_head| |ubinop| & |decl_head| \hfill $D\.\{U\.\}$ & |int *|\cr
-\+\dagit& |decl_head| |exp| & |decl_head| \hfill $DE^*$ & |int x|\cr
+\+\dagit& |decl_head| |exp| & |decl_head| \hfill $DE^*$ & \&{int} $x$ \cr
\+& |decl_head| \alt|binop| |colon| |exp| \altt|comma| |semi| |rpar| &
|decl_head| \altt|comma| |semi| |rpar| \hfill
- $D=D$\alt $B$ $C$ \unskip$E$ & \malt {\&{int} $f(\&{int}\ x=2)$} |int b:1| \cr
-\+& |decl_head| |cast| & |decl_head| & |int f(int)|\cr
+ $D=D$\alt $B$ $C$ \unskip $E$
+ & \malt {\&{int} $f(\&{int}\ x=2)$} {\&{int} $b$ : 1} \cr
+\+& |decl_head| |cast| & |decl_head| & \&{int} $f$(\&{int})\cr
\+& |decl_head| \altt|int_like| |lbrace| |decl| & |fn_decl|
- \altt|int_like| |lbrace| |decl| \hfill $F=D\,|in|\,|in|$
- & |long time () {|\cr
-\+& |decl_head| |semi| & |decl| & |int n;|\cr
-\+& |decl| |decl| & |decl| \hfill $D_1\,|force|\,D_2$ & |int n;double x;|\cr
+ \altt|int_like| |lbrace| |decl| \hfill $F=D\,\\{din}$
+ & \&{long} \\{time}(\,) $\{$\cr
+\+& |decl_head| |semi| & |decl| & \&{int} $n$;\cr
+\+& |decl| |decl| & |decl| \hfill $D_1\,|force|\,D_2$
+ & \&{int} $n$; \&{double} $x$;\cr
\+& |decl| \alt|stmt| |function| & \alt|stmt| |function|
- \hfill $D\,|big_force|\,$\alt $S$ $F$ \unskip& \&{extern} $n$;
- \\{main} ()|{}|\cr
+ \hfill $D\,|big_force|\,$\alt $S$ $F$ \unskip
+ & \&{extern} $n$; \\{main}(\,) $\{\,\}$\cr
\+& |base| \alt |int_like| |exp| |comma| & |base| \hfill
- $B$\.\ \alt $I$ $E$ \unskip$C$\,|opt|9
- & \malt {: \&{public} \&A,} {: $i(5)$,} \cr
+ $B$\.\ \alt $I$ $E$ \unskip $C$\,|opt|9
+ & \malt {: \&{public} \&A,} {: $i$(5),} \cr
\+& |base| \alt |int_like| |exp| |lbrace| & |lbrace| \hfill
- $B$\.\ \alt $I$ $E$ \unskip\.\ $L$ & \&D : \&{public} \&A $\{$\cr
+ $B$\.\ \alt $I$ $E$ \unskip \.\ $L$ & \&D : \&{public} \&A $\{$\cr
\+& |struct_like| |lbrace| & |struct_head| \hfill $S\.\ L$ & |struct {|\cr
\+& |struct_like| \alt|exp| |int_like| |semi| & |decl_head| |semi|
\hfill $S\.\ $\alt $E^{**}$ $I^{**}$ & \&{struct} \&{forward};\cr
\+& |struct_like| \alt|exp| |int_like| |lbrace| & |struct_head| \hfill
- $S\.\ $\alt $E^{**}$ $I^{**}$ \unskip $\.\ L$ &
- \&{struct} \&{name\_info} $\{$\cr
+ $S\.\ $\alt $E^{**}$ $I^{**}$ \unskip $\.\ L$
+ & \&{struct} \&{name\_info} $\{$\cr
\+& |struct_like| \alt|exp| |int_like| |colon| &
|struct_like| \alt|exp| |int_like| |base| & |class| \&C :\cr
\+\dagit& |struct_like| \alt|exp| |int_like| & |int_like|
- \hfill $S\.\ $\alt$E$ $I$ & \&{struct} \&{name\_info} $z$;\cr
+ \hfill $S\.\ $\alt$E$ $I$ \unskip & \&{struct} \&{name\_info} $z$;\cr
\+& |struct_head| \altt|decl| |stmt| |function| |rbrace| & |int_like|\hfill
- $S\,\\{in}\,|force|$\altt$D$ $S$ $F$ $\\{out}\,|force|\,R$ &
- |struct {| declaration |}|\cr
-\+& |struct_head| |rbrace| & |int_like|\hfill $S\.{\\,}R$ & |class C{}|\cr
+ $S\,\\{in}\,|force|$\altt$D$ $S$ $F$ \unskip $\\{out}\,|force|\,R$
+ & |struct {| declaration |}|\cr
+\+& |struct_head| |rbrace| & |int_like|\hfill $S\.{\\,}R$
+ & \&{class} \&C $\{\,\}$\cr
\+& |fn_decl| |decl| & |fn_decl| \hfill $F\,|force|\,D$
- & $f(z)$ \&{double} $z$; \cr
+ & $f(z)$ \&{double} $z$; \cr
\+& |fn_decl| |stmt| & |function| \hfill $F\,|out|\,|out|\,|force|\,S$
- & \\{main}() {\dots}\cr
+ & \\{main}() {\dots}\cr
\+& |function| \altt|stmt| |decl| |function| & \altt |stmt| |decl| |function|
- \hfill $F\,|big_force|\,$\altt $S$ $D$ $F$ & outer block\cr
+ \hfill $F\,|big_force|\,$\altt $S$ $D$ $F$ \unskip & outer block\cr
\+& |lbrace| |rbrace| & |stmt| \hfill $L\.{\\,}R$ & empty statement\cr
\advance\midcol35pt
\+& |lbrace| \altt|stmt| |decl| |function| |rbrace| & |stmt| \hfill
@@ -157,93 +159,97 @@ We use \\{in}, \\{out}, \\{back} and
|force|\,\\{back}\,R\,\\{out}\,|force|$ & compound statement\cr
\advance\midcol-20pt
\+& |lbrace| |exp| [|comma|] |rbrace| & |exp| & initializer\cr
-\+& |if_like| |exp| & |if_clause| \hfill $I\.{\ }E$ & |if (z)|\cr
-\+& |else_like| |colon| & |else_like| |base| & \&{try} :\cr
-\+& |else_like| |lbrace| & |else_head| |lbrace| & \&{else} $\{$\cr
+\+& |if_like| |exp| & |if_clause| \hfill $I\.{\ }E$ & \&{if} ($z$)\cr
+\+& |else_like| |colon| & |else_like| |base| & |try :|\cr
+\+& |else_like| |lbrace| & |else_head| |lbrace| & |else {|\cr
\+& |else_like| |stmt| & |stmt| \hfill
- $|force|\,E\,\\{in}\,\\{bsp}\,S\,\\{out}\,|force|$ & |else x=0;|\cr
-\+& |else_head| \alt|stmt| |exp| & |stmt| \hfill
- $|force|\,E\,\\{bsp}\,|noop|\,|cancel|\,S\,\\{bsp}$ & |else{x=0;}|\cr
-\+& |if_clause| |lbrace| & |if_head| |lbrace| & |if (x) {|\cr
+ $|force|\,E\,\\{in}\,\\{bsp}\,S\,\\{out}\,|force|$
+ & \&{else} $x=0;$\cr
+\+& |else_head| \alt|stmt| |exp| & |stmt| \hfill
+ $|force|\,E\,\\{bsp}\,|noop|\,|cancel|\,S\,\\{bsp}$
+ & $\!\!$ \&{else} $\{x=0;\}$\cr
+\+& |if_clause| |lbrace| & |if_head| |lbrace| & \&{if} ($x$) $\{$\cr
\+& |if_clause| |stmt| |else_like| |if_like| & |if_like| \hfill
- $|force|\,I\,\\{in}\,\\{bsp}\,S\,\\{out}\,|force|\,E\,\.\ I$ &
- |if (x) y; else if|\cr
+ $|force|\,I\,\\{in}\,\\{bsp}\,S\,\\{out}\,|force|\,E\,\.\ I$
+ & $\!\!$ \&{if} ($x$) $y$; \&{else} \&{if}\cr
\+& |if_clause| |stmt| |else_like| & |else_like| \hfill
- $|force|\,I\,\\{in}\,\\{bsp}\,S\,\\{out}\,|force|\,E$ &
- |if (x) y; else|\cr
-\+& |if_clause| |stmt| & |else_like| |stmt| & |if (x)|\cr
+ $|force|\,I\,\\{in}\,\\{bsp}\,S\,\\{out}\,|force|\,E$
+ & $\!\!$ \&{if} ($x$) $y$; \&{else}\cr
+\+& |if_clause| |stmt| & |else_like| |stmt| & $\!\!$ \&{if} ($x$) $y$;\cr
\+& |if_head| \alt|stmt| |exp| |else_like| |if_like| & |if_like| \hfill
- $|force|\,I\,\\{bsp}\,|noop|\,|cancel|\,S\,|force|\,E\,\.\ I$ &
- |if (x){y;}else if|\cr
+ $|force|\,I\,\\{bsp}\,|noop|\,|cancel|\,S\,|force|\,E\,\.\ I$
+ & $\!\!$ \&{if} ($x$) $\{\,y;\,\}$ \&{else} \&{if}\cr
\+& |if_head| \alt|stmt| |exp| |else_like| & |else_like| \hfill
- $|force|\,I\,\\{bsp}\,|noop|\,|cancel|\,S\,|force|\,E$ &
- |if (x){y;}else|\cr
-\+& |if_head| \alt|stmt| |exp| & |else_head| \alt|stmt| |exp| & |if (x){y;}|\cr
+ $|force|\,I\,\\{bsp}\,|noop|\,|cancel|\,S\,|force|\,E$
+ & $\!\!$ \&{if} ($x$) $\{\,y;\,\}$ \&{else}\cr
+\+& |if_head| \alt|stmt| |exp| & |else_head| \alt|stmt| |exp|
+ & $\!\!$ \&{if} ($x$) ${}\{\,y\,\}{}$\cr
\advance\midcol20pt
\+& |do_like| |stmt| |else_like| |semi| & |stmt| \hfill
$D\,\\{bsp}\,|noop|\,|cancel|\,S\,|cancel|\,|noop|\,\\{bsp}\,ES$%
- & |do f(x); while (g(x));|\cr
+ & \&{do} $f$($x$); \&{while} ($g$($x$));\cr
\advance\midcol-20pt
\+& |case_like| |semi| & |stmt| & |return;|\cr
\+& |case_like| |colon| & |tag| & |default:|\cr
\+& |case_like| |exp| & |exp| \hfill $C\.\ E$ & |return 0|\cr
\+& |catch_like| \alt|cast| |exp| & |fn_decl| \hfill
- $C$\alt $C$ $E$ \\{in}\,\\{in} & |catch (...)|\cr
+ $C$\alt $C$ $E$ \unskip \\{din} & |catch (...)|\cr
\+& |tag| |tag| & |tag| \hfill $T_1\,\\{bsp}\,T_2$ & |case 0: case 1:|\cr
\+& |tag| \altt|stmt| |decl| |function| & \altt|stmt| |decl| |function|
- \hfill $|force|\,\\{back}\,T\,\\{bsp}\,S$ & |case 0: z=0;|\cr
+ \hfill $|force|\,\\{back}\,T\,\\{bsp}\,S$
+ & $\!\!$ \&{case} 0: $z=0;$\cr
\+\dagit& |stmt| \altt|stmt| |decl| |function| &
\altt|stmt| |decl| |function|
- \hfill $S\,$\altt$|force|\,S$ $|big_force|\,D$ $|big_force|\,F$ &
- |x=1;y=2;|\cr
+ \hfill $S\,$\altt$|force|\,S$ $|big_force|\,D$ $|big_force|\,F$ \unskip
+ & $x=1;$ $y=2;$\cr
\+& |semi| & |stmt| \hfill \.\ $S$& empty statement\cr
\+\dagit& |lproc| \altt |if_like| |else_like| |define_like| & |lproc| &
- \maltt {{\bf \#include}} {\bf\#else} {\bf\#define} \cr
-\+& |lproc| |rproc| & |insert| & {\bf\#endif} \cr
+ \maltt {\#\&{include}} \#\&{else} \#\&{define} \cr
+\+& |lproc| |rproc| & |insert| & \#\&{endif} \cr
\+& |lproc| \alt {|exp| [|exp|]} |function| |rproc| & |insert| \hfill
$I$\.\ \alt {$E{[\.{\ \\5}E]}$} {$F$} &
- \malt{{\bf\#define} $a$\enspace 1} {{\bf\#define} $a$\enspace$\{\,b;\,\}$} \cr
+ \malt{\#\&{define} $a$\enspace 1} {\#\&{define} $a$\enspace$\{\,b;\,\}$} \cr
\+& |section_scrap| |semi| & |stmt|\hfill $MS$ |force|
&$\langle\,$section name$\,\rangle$;\cr
\+& |section_scrap| & |exp| &$\langle\,$section name$\,\rangle$\cr
-\+& |insert| |any| & |any| & \.{\v\#include\v}\cr
+\+& |insert| \\{any} & \\{any} & \.{\v\#include\v}\cr
\+& |prelangle| & |binop| \hfill \.< & $<$ not in template\cr
\+& |prerangle| & |binop| \hfill \.> & $>$ not in template\cr
\+& |langle| |prerangle| & |cast| \hfill $L\.{\\,}P$ & $\langle\,\rangle$\cr
\+& |langle| \altt|decl_head| |int_like| |exp| |prerangle| & |cast| &
$\langle\&{class}\,\&C\rangle$\cr
\+& |langle| \altt|decl_head| |int_like| |exp| |comma| & |langle| \hfill
- $L$\,\altt $D$ $I$ $E$ $C$\,|opt|9 & $\langle\&{class}\,\&C,$\cr
+ $L$\,\altt $D$ $I$ $E$ \unskip $C$\,|opt|9 & $\langle\&{class}\,\&C,$\cr
\+& |template_like| |exp| |prelangle| & |template_like| |exp| |langle| &
\&{template} $a\langle100\rangle$\cr
\+& |template_like| \alt|exp| |raw_int| & \alt|exp| |raw_int| \hfill
- $T$\.\ \alt$E$ $R$ & \&C\DC\&{template} |a()|\cr
+ $T$\.\ \alt$E$ $R$ & \&C\DC\&{template} $a$(\,)\cr
\+& |template_like| & |raw_int| & \&{template}$\langle\&{class}\,\&T\rangle$\cr
\+& |new_like| |lpar| |exp| |rpar| & |new_like| & \&{new}(\\{nothrow})\cr
\+& |new_like| |cast| & |exp| \hfill $N\.\ C$ & |new(int*)|\cr
-\+\dagit& |new_like| & |new_exp| & \&{new} \&C|()|\cr
+\+\dagit& |new_like| & |new_exp| & \&{new} \&C(\,)\cr
\+& |new_exp| \alt|int_like| |const_like| & |new_exp| \hfill
$N$\.\ \alt $I$ $C$ & |new const int|\cr
\+& |new_exp| |struct_like| \alt |exp| |int_like| & |new_exp| \hfill
$N\.\ S$\.\ \alt $E$ $I$ & \&{new} \&{struct} \&S\cr
\+& |new_exp| |raw_ubin| & |new_exp| \hfill $N\.\{R\.\}$ & |new int*[2]|\cr
\+& |new_exp| \alt |lpar| |exp| & |exp| \alt |lpar| |exp| \hfill
- $E=N$\,\alt {} {\.\ } & \malt |operator[](int)| {|new int(2)|} \cr
+ $E=N$\,\alt {} {\.\ } & \malt {|operator[](int)|} {|new int(2)|} \cr
\+\dagit& |new_exp| & |exp| & |new int;|\cr
\+& |ftemplate| |prelangle| & |ftemplate| |langle| & |make_pair<int,int>|\cr
\+& |ftemplate| & |exp| & |make_pair(1,2)|\cr
\+& |for_like| |exp| & |else_like| \hfill $F\.\ E$ & |while (1)|\cr
\+& |raw_ubin| |const_like| & |raw_ubin| \hfill $RC$\.{\\\ }
- & $*$\&{const} |x|\cr
-\+& |raw_ubin| & |ubinop| & $*$ |x|\cr
-\+& |const_like| & |int_like| & \&{const} |x|\cr
+ & $*$\&{const} $x$\cr
+\+& |raw_ubin| & |ubinop| & $*$ $x$\cr
+\+& |const_like| & |int_like| & \&{const} $x$\cr
\+& |raw_int| |prelangle| & |raw_int| |langle| & \&C$\langle$\cr
\+& |raw_int| |colcol| & |colcol| & \&C\DC\cr
\+& |raw_int| |cast| & |raw_int| & \&C$\langle\&{class}\ \&T\rangle$\cr
\+& |raw_int| |lpar| & |exp| |lpar| & \&{complex}$(x,y)$\cr
-\+\dagit& |raw_int| & |int_like| & \&{complex} |z|\cr
+\+\dagit& |raw_int| & |int_like| & \&{complex} $z$\cr
\+\dagit& |operator_like| \altt|binop| |unop| |ubinop| & |exp|
- \hfill $O$\.\{\altt $B$ $U$ $U$ \unskip\.\} & |operator+|\cr
+ \hfill $O$\.\{\altt $B$ $U$ $U$ \unskip \.\} & |operator+|\cr
\+& |operator_like| \alt|new_like| |delete_like| & |exp| \hfill
$O$\.\ \alt $N$ $S$ & |operator delete|\cr
\+& |operator_like| |comma| & |exp| & \&{operator},\cr
@@ -263,21 +269,68 @@ We use \\{in}, \\{out}, \\{back} and
|typedef_like| \alt |cast| |ubinop| \hfill
\alt $C=\.\{U\.\}C$ $U_2=\.\{U_1\.\}U_2$ \unskip &
\&{typedef} |*|{}|*|(\&{CPtr})\cr
-\+& |delete_like| |lpar| |rpar| & |delete_like|\hfill $DL\.{\\,}R$ &
- \&{delete}|[]| \cr
-\+& |delete_like| |exp| & |exp| \hfill $D\.\ E$ & |delete p| \cr
-\+\dagit& |question| |exp| \alt |colon| |base| & |binop| &
- \malt |?x:| |?f():| \cr
+\+& |delete_like| |lpar| |rpar| & |delete_like|\hfill $DL\.{\\,}R$
+ & \&{delete}[\,] \cr
+\+& |delete_like| |exp| & |exp| \hfill $D\.\ E$ & \&{delete} $p$ \cr
+\+\dagit& |question| |exp| \alt |colon| |base| & |binop|
+ & \malt {$\?x:$} {$\?f(\,):$} \cr
\+& |begin_arg| |end_arg| & |exp| & \.{@@[}\&{char}$*$\.{@@]}\cr
-\+& |any_other| |end_arg| & |end_arg| & \&{char}$*$\.{@@]}\cr
-\yskip
-\yskip
-\yskip
+\+& \\{any\_other} |end_arg| & |end_arg| & \&{char}$*$\.{@@]}\cr
+\+& |alignas_like| |decl_head| & |attr| & \&{alignas}(\&{struct} $s$ ${*})$ \cr
+\+& |alignas_like| |exp| & |attr| & |alignas(8)| \cr
+\+& |lbrack| |lbrack| & |attr_head| & attribute begins \cr
+\+& |lbrack| & |lpar| & |[| elsewhere \cr
+\+& |rbrack| & |rpar| & |]| elsewhere \cr
+\+& |attr_head| |rbrack| |rbrack| & |attr| & |[[@t\dots@>]]| \cr
+\+& |attr_head| |exp| & |attr_head| & |[[deprecated| \cr
+\+& |attr_head| |using_like| |exp| |colon| & |attr_head|
+ & [[\&{using} \.{NS}: \cr
+\+& |attr| \alt|lbrace| |stmt| & \alt|lbrace| |stmt| \hfill
+ $A$\.\ \alt $S$ $L$ & |[[likely]] {|\cr
+\+& |attr| |tag| & |tag| \hfill $A\.\ T$ & |[[likely]] case 0:| \cr
+\+& |attr| |semi| & |stmt| & |[[fallthrough]];| \cr
+\+& |attr| |attr| & |attr| \hfill $A_1\.\ A_2$
+ & \&{alignas}($x$) [[\hbox{\dots}]] \cr
+\+& |attr| |decl_head| & |decl_head| & [[\\{nodiscard}]] $f$(\,) \cr
+\+& |decl_head| |attr| & |decl_head| & (\&{int} $x$ [[\\{deprecated}]])\cr
+\+& |using_like| & |int_like| & \&{using} not in attributes \cr
+\+& |struct_like| |attr| & |struct_like| \hfill $S\.\ A$
+ & \&{struct} [[\\{deprecated}]]\cr
+\+& |exp| |attr| & |attr| \hfill $E\.\ A$ & \&{enum} $\{x\ [[\ldots]]\}$ \cr
+\+& |attr| |typedef_like| & |typedef_like| \hfill $A\.\ T$
+ & |[[deprecated]] typedef| \cr
+\+& |raw_int| |lbrack| & |exp| & |int[3]| \cr
+\+& |attr_head| |comma| & |attr_head| & $[[x,y$ \cr
+\+& |if_head| |attr| & |if_head| \hfill $I\.\ A$
+ & \&{if} ($x$) [[\\{unlikely}]] $\{$ \cr
+\+& |lbrack| |lbrack| |rbrack| |rbrack| & |exp| & |[[]]| \cr
+\+& |attr| |function| & |function| \hfill $A\.\ F$
+ & attribute and function \cr
+\+& |default_like| |colon| & |case_like| |colon| & |default:| \cr
+\+& |default_like| & |exp| & $f(\,)=\&{default};$ \cr
+\+& |struct_like| |struct_like| & |struct_like| \hfill $S_1\.\ S_2$
+ & |enum class| \cr
+\+& |exp| |colcol| |int_like| & |int_like| & $\\{std}\DC\&{atomic}$ \cr
+\advance\midcol-30pt
+\+\dagit& |langle| |struct_like| \alt |exp| |int_like| |comma| &
+ |langle| \hfill $LS$\alt $E^{**}$ $I^{**}$ \unskip $C$
+ & $\langle$\&{typename} $t,$\cr
+\+\dagit& |langle| |struct_like| \alt |exp| |int_like| |prerangle| &
+ |cast| \hfill $LS$\alt $E^{**}$ $I^{**}$ \unskip $P$
+ & $\langle$\&{typename} $t\rangle$ \cr
+\advance\midcol30pt
+\+& |template_like| |cast| |struct_like| & |struct_like| \hfill $T\.\ CS$ &
+ |template<@t\dots@>> class| \cr
+\+& |tag| |rbrace| & |decl| |rbrace| & @q{@>|public: }| \cr
+\+& |fn_decl| |attr| & |fn_decl| \hfill $F\.\ A$
+ & \&{void} $f$(\,) \&{noexcept} \cr
+\+& |alignas_like| |cast| & |attr| & |alignas(int)| \cr
+\vfill\break
\parindent=0pt
\dag{\bf Notes}
\yskip
-Rule 35: The |exp| must not be immediately followed by |lpar|, |exp|,
- or~|cast|.
+Rule 35: The |exp| must not be immediately followed by |lpar|, |lbrack|,
+|exp|, or~|cast|.
Rule 48: The |exp| or |int_like| must not be immediately followed by |base|.
@@ -304,4 +357,7 @@ or |cast|.
Rule 123: The mathness of the |colon| or |base| changes to `yes'.
+Rules 153, 154: |make_reserved| is called only if \.{CWEAVE} has been invoked
+with the \.{+t} option.
+
\endgroup