summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-08-08 03:05:28 +0000
committerNorbert Preining <norbert@preining.info>2022-08-08 03:05:28 +0000
commitf1e79c3669f68804c471699badc56a4a33a23246 (patch)
tree5e6feae427931b2043e96c6c0867e02ab647c9da
parente56ef8f972de679101fb97ad8e180614d3fd4267 (diff)
CTAN sync 202208080305
-rw-r--r--FILES.byname4667
-rw-r--r--FILES.byname.gzbin2446506 -> 2446560 bytes
-rw-r--r--FILES.last07days2466
-rw-r--r--graphics/asymptote/ChangeLog685
-rw-r--r--graphics/asymptote/GUI/Window1.py12
-rw-r--r--graphics/asymptote/GUI/requirements.txt2
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake4
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make12
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/Doxyfile8
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/Makefile24
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake6
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/deps/docs/assets/css/style.scss5
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake4
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake16
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make78
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal158
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make2
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/Makefile72
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake4
-rw-r--r--graphics/asymptote/Makefile.in5
-rw-r--r--graphics/asymptote/ReleaseNotes21
-rw-r--r--graphics/asymptote/abs3doutfile.h38
-rw-r--r--graphics/asymptote/asy-keywords.el6
-rw-r--r--graphics/asymptote/asy.list87
-rw-r--r--graphics/asymptote/asymptote.spec2
-rw-r--r--graphics/asymptote/base/asy-kate.sh4
-rw-r--r--graphics/asymptote/base/geometry.asy81
-rw-r--r--graphics/asymptote/base/plain.asy32
-rw-r--r--graphics/asymptote/base/plain_arrows.asy158
-rw-r--r--graphics/asymptote/base/shaders/blend.glsl37
-rw-r--r--graphics/asymptote/base/shaders/compress.glsl19
-rw-r--r--graphics/asymptote/base/shaders/count.glsl10
-rw-r--r--graphics/asymptote/base/shaders/fragment.glsl26
-rw-r--r--graphics/asymptote/base/shaders/sum1.glsl50
-rw-r--r--graphics/asymptote/base/shaders/sum2.glsl45
-rw-r--r--graphics/asymptote/base/shaders/sum2fast.glsl59
-rw-r--r--graphics/asymptote/base/shaders/sum3.glsl85
-rw-r--r--graphics/asymptote/base/shaders/zero.glsl1
-rw-r--r--graphics/asymptote/base/three_surface.asy37
-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/bezierpatch.cc97
-rw-r--r--graphics/asymptote/binaries/x86_64-windows/cygwin1.dllbin3554998 -> 3569593 bytes
-rwxr-xr-xgraphics/asymptote/build-scripts/build-asygl6
-rw-r--r--graphics/asymptote/config.h.in3
-rwxr-xr-xgraphics/asymptote/configure61
-rw-r--r--graphics/asymptote/configure.ac29
-rw-r--r--graphics/asymptote/doc/CAD.pdfbin198744 -> 198570 bytes
-rw-r--r--graphics/asymptote/doc/FAQ/asy-faq.info2
-rw-r--r--graphics/asymptote/doc/TeXShopAndAsymptote.pdfbin81163 -> 81215 bytes
-rw-r--r--graphics/asymptote/doc/asy-latex.pdfbin207105 -> 206981 bytes
-rw-r--r--graphics/asymptote/doc/asy.17
-rw-r--r--graphics/asymptote/doc/asyRefCard.pdfbin121145 -> 121145 bytes
-rw-r--r--graphics/asymptote/doc/asymptote.pdfbin1314169 -> 1299081 bytes
-rw-r--r--graphics/asymptote/doc/asymptote.texi51
-rw-r--r--graphics/asymptote/doc/png/asymptote.info493
-rw-r--r--graphics/asymptote/drawpath3.cc6
-rw-r--r--graphics/asymptote/drawsurface.cc36
-rw-r--r--graphics/asymptote/examples/AiryDisk.asy16
-rw-r--r--graphics/asymptote/exp.cc4
-rw-r--r--graphics/asymptote/fileio.h5
-rw-r--r--graphics/asymptote/glrender.cc317
-rw-r--r--graphics/asymptote/interact.cc4
-rw-r--r--graphics/asymptote/jsfile.cc130
-rw-r--r--graphics/asymptote/jsfile.h32
-rw-r--r--graphics/asymptote/lspserv.cc4
-rw-r--r--graphics/asymptote/main.cc5
-rw-r--r--graphics/asymptote/memory.h1
-rw-r--r--graphics/asymptote/picture.cc6
-rw-r--r--graphics/asymptote/psfile.cc25
-rw-r--r--graphics/asymptote/revision.cc4
-rw-r--r--graphics/asymptote/runarray.cc653
-rw-r--r--graphics/asymptote/runarray.in116
-rw-r--r--graphics/asymptote/runbacktrace.cc4
-rw-r--r--graphics/asymptote/runfile.cc4
-rw-r--r--graphics/asymptote/runhistory.cc4
-rw-r--r--graphics/asymptote/runlabel.cc70
-rw-r--r--graphics/asymptote/runlabel.in54
-rw-r--r--graphics/asymptote/runmath.cc252
-rw-r--r--graphics/asymptote/runmath.in2
-rw-r--r--graphics/asymptote/runpair.cc4
-rw-r--r--graphics/asymptote/runpath.cc4
-rw-r--r--graphics/asymptote/runpath3d.cc4
-rw-r--r--graphics/asymptote/runpicture.cc4
-rw-r--r--graphics/asymptote/runstring.cc4
-rw-r--r--graphics/asymptote/runsystem.cc4
-rw-r--r--graphics/asymptote/runtime.cc21
-rw-r--r--graphics/asymptote/runtime.in7
-rw-r--r--graphics/asymptote/runtimebase.in4
-rw-r--r--graphics/asymptote/runtriple.cc4
-rw-r--r--graphics/asymptote/settings.cc12
-rw-r--r--graphics/asymptote/util.cc4
-rw-r--r--graphics/asymptote/v3dfile.cc33
-rw-r--r--graphics/asymptote/v3dfile.h27
-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.js757
-rw-r--r--graphics/pgf/contrib/tikz-relay/README.txt12
-rw-r--r--graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.pdfbin259993 -> 265601 bytes
-rw-r--r--graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex8
-rw-r--r--graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.pdfbin518421 -> 661245 bytes
-rw-r--r--graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.tex327
-rw-r--r--graphics/pgf/contrib/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex72
-rw-r--r--macros/latex/contrib/tagpdf/README.md4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-backend.dtx8
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-checks.dtx22
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-code.pdfbin1209028 -> 1240587 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx13
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx9
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx8
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-roles.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-space.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-struct.dtx181
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-tree.dtx16
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-user.dtx34
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.dtx123
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.ins1
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.pdfbin488903 -> 492426 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.tex248
-rw-r--r--macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty2
-rw-r--r--macros/luatex/generic/luatexja/README8
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin717582 -> 717626 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1149384 -> 1149406 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja.dtx16
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-adjust.lua6
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-base.sty2
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-compat.lua4
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-direction.lua45
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-jfmglue.lua12
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-jfont.lua5
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-lineskip.lua13
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.lua3
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty2
-rw-r--r--support/TeX4ht/source/ChangeLog6
-rw-r--r--support/TeX4ht/source/Makefile2
-rw-r--r--support/TeX4ht/source/tex4ht-4ht.tex20
-rw-r--r--support/TeX4ht/source/tex4ht-sty.tex11
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb338
-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.xzbin2395976 -> 2396036 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--usergrps/usergrps/bg.html4
-rw-r--r--usergrps/usergrps/br.html4
-rw-r--r--usergrps/usergrps/cn.html4
-rw-r--r--usergrps/usergrps/cz.html4
-rw-r--r--usergrps/usergrps/de.html4
-rw-r--r--usergrps/usergrps/dk.html4
-rw-r--r--usergrps/usergrps/ee.html4
-rw-r--r--usergrps/usergrps/es.html4
-rw-r--r--usergrps/usergrps/esc.html4
-rw-r--r--usergrps/usergrps/fr.html4
-rw-r--r--usergrps/usergrps/gr.html4
-rw-r--r--usergrps/usergrps/hu.html4
-rw-r--r--usergrps/usergrps/ie.html4
-rw-r--r--usergrps/usergrps/index.html3
-rw-r--r--usergrps/usergrps/is.html4
-rw-r--r--usergrps/usergrps/it.html4
-rw-r--r--usergrps/usergrps/kh.html4
-rw-r--r--usergrps/usergrps/kr.html4
-rw-r--r--usergrps/usergrps/labels.pdfbin9544 -> 9541 bytes
-rw-r--r--usergrps/usergrps/lt.html4
-rw-r--r--usergrps/usergrps/lugs.html12
-rw-r--r--usergrps/usergrps/lugs.pdfbin48794 -> 48884 bytes
-rw-r--r--usergrps/usergrps/lugs.tex12
-rw-r--r--usergrps/usergrps/mx.html4
-rw-r--r--usergrps/usergrps/nl.html4
-rw-r--r--usergrps/usergrps/no.html4
-rw-r--r--usergrps/usergrps/pl.html4
-rw-r--r--usergrps/usergrps/pt.html4
-rw-r--r--usergrps/usergrps/tw.html302
-rw-r--r--usergrps/usergrps/us.html4
-rw-r--r--usergrps/usergrps/uy.html4
-rw-r--r--usergrps/usergrps/vn.html4
-rw-r--r--usergrps/usergrps/za.html4
181 files changed, 9592 insertions, 4908 deletions
diff --git a/FILES.byname b/FILES.byname
index 63253630bb..57c45681ca 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5267,7 +5267,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
-2022/08/06 | 61736 | FILES.last07days
+2022/08/07 | 47307 | 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
@@ -149455,2022 +149455,2023 @@
2012/11/17 | 1096 | graphics/AddTeX2Eps/default.tex
2006/04/17 | 836 | graphics/AddTeX2Eps/readme.txt
2012/11/17 | 5620 | graphics/AddTeX2Eps.zip
-2022/04/06 | 2583 | graphics/asymptote/abs3doutfile.h
-2022/04/06 | 504 | graphics/asymptote/absyn.cc
-2022/04/06 | 1140 | graphics/asymptote/absyn.h
-2022/04/06 | 3297 | graphics/asymptote/access.cc
-2022/04/06 | 2964 | graphics/asymptote/access.h
-2022/04/06 | 2266 | graphics/asymptote/align.h
-2022/04/06 | 886 | graphics/asymptote/angle.h
-2022/04/06 | 18578 | graphics/asymptote/application.cc
-2022/04/06 | 9088 | graphics/asymptote/application.h
-2022/04/06 | 4735 | graphics/asymptote/array.cc
-2022/04/06 | 1975 | graphics/asymptote/array.h
-2022/04/06 | 13980 | graphics/asymptote/arrayop.h
-2022/04/06 | 11541 | graphics/asymptote/aspy.py
-2022/04/06 | 4286 | graphics/asymptote/asy.ico
-2022/04/06 | 17917 | graphics/asymptote/asy-keywords.el
-2022/04/06 | 208230 | graphics/asymptote/asy.list
-2022/04/06 | 1612 | graphics/asymptote/asy-list.pl
-2022/04/06 | 6370 | graphics/asymptote/asymptote.nsi
-2022/04/06 | 3204 | graphics/asymptote/asymptote.spec
-2022/04/06 | 770 | graphics/asymptote/asy.rc
-2022/04/06 | 34 | graphics/asymptote/autogen.sh
-2022/04/06 | 12534 | graphics/asymptote/ax_pthread.m4
-2022/04/06 | 42 | graphics/asymptote/base/animate.asy
-2022/04/06 | 5238 | graphics/asymptote/base/animation.asy
-2022/04/06 | 578 | graphics/asymptote/base/annotate.asy
-2022/04/06 | 99 | graphics/asymptote/base/asy_filetype.vim
-2022/04/06 | 268 | graphics/asymptote/base/asy-init.el
-2022/04/06 | 8243 | graphics/asymptote/base/asy-kate.sh
-2022/04/06 | 71368 | graphics/asymptote/base/asy-mode.el
-2022/04/06 | 1276 | graphics/asymptote/base/asymptote.py
-2022/04/06 | 13477 | graphics/asymptote/base/asy.vim
-2022/04/06 | 50 | graphics/asymptote/base/babel.asy
-2022/04/06 | 9562 | graphics/asymptote/base/bezulate.asy
-2022/04/06 | 11656 | graphics/asymptote/base/binarytree.asy
-2022/04/06 | 5279 | graphics/asymptote/base/bsp.asy
-2022/04/06 | 10840 | graphics/asymptote/base/CAD.asy
-2022/04/06 | 205495 | graphics/asymptote/base/colormap.asy
-2022/04/06 | 14749 | graphics/asymptote/base/contour3.asy
-2022/04/06 | 20277 | graphics/asymptote/base/contour.asy
-2022/04/06 | 2109 | graphics/asymptote/base/drawtree.asy
-2022/04/06 | 1178 | graphics/asymptote/base/embed.asy
-2022/04/06 | 1120 | graphics/asymptote/base/external.asy
-2022/04/06 | 21448 | graphics/asymptote/base/feynman.asy
-2022/04/06 | 15277 | graphics/asymptote/base/flowchart.asy
-2022/04/06 | 35 | graphics/asymptote/base/fontsize.asy
-2022/04/06 | 320405 | graphics/asymptote/base/geometry.asy
-2022/04/06 | 70102 | graphics/asymptote/base/graph3.asy
-2022/04/06 | 64207 | graphics/asymptote/base/graph.asy
-2022/04/06 | 314 | graphics/asymptote/base/graph_settings.asy
-2022/04/06 | 7407 | graphics/asymptote/base/graph_splinetype.asy
-2022/04/06 | 13605 | graphics/asymptote/base/grid3.asy
-2022/04/06 | 3936 | graphics/asymptote/base/interpolate.asy
-2022/04/06 | 2451 | graphics/asymptote/base/labelpath3.asy
-2022/04/06 | 729 | graphics/asymptote/base/labelpath.asy
-2022/04/06 | 25357 | graphics/asymptote/base/lmfit.asy
-2022/04/06 | 908 | graphics/asymptote/base/map.asy
-2022/04/06 | 7302 | graphics/asymptote/base/markers.asy
-2022/04/06 | 11122 | graphics/asymptote/base/math.asy
-2022/04/06 | 251 | graphics/asymptote/base/metapost.asy
-2022/04/06 | 39 | graphics/asymptote/base/nopapersize.ps
-2022/04/06 | 3278 | graphics/asymptote/base/obj.asy
-2022/04/06 | 15601 | graphics/asymptote/base/ode.asy
-2022/04/06 | 15382 | graphics/asymptote/base/palette.asy
-2022/04/06 | 2649 | graphics/asymptote/base/patterns.asy
-2022/04/06 | 1213 | graphics/asymptote/base/plain_arcs.asy
-2022/04/06 | 22594 | graphics/asymptote/base/plain_arrows.asy
-2022/04/06 | 7295 | graphics/asymptote/base/plain.asy
-2022/04/06 | 20989 | graphics/asymptote/base/plain_bounds.asy
-2022/04/06 | 4088 | graphics/asymptote/base/plain_boxes.asy
-2022/04/06 | 3706 | graphics/asymptote/base/plain_constants.asy
-2022/04/06 | 2187 | graphics/asymptote/base/plain_debugger.asy
-2022/04/06 | 6278 | graphics/asymptote/base/plain_filldraw.asy
-2022/04/06 | 16492 | graphics/asymptote/base/plain_Label.asy
-2022/04/06 | 2310 | graphics/asymptote/base/plain_margins.asy
-2022/04/06 | 11373 | graphics/asymptote/base/plain_markers.asy
-2022/04/06 | 9334 | graphics/asymptote/base/plain_paths.asy
-2022/04/06 | 8711 | graphics/asymptote/base/plain_pens.asy
-2022/04/06 | 46531 | graphics/asymptote/base/plain_picture.asy
-2022/04/06 | 6287 | graphics/asymptote/base/plain_prethree.asy
-2022/04/06 | 5735 | graphics/asymptote/base/plain_scaling.asy
-2022/04/06 | 4487 | graphics/asymptote/base/plain_shipout.asy
-2022/04/06 | 6159 | graphics/asymptote/base/plain_strings.asy
-2022/04/06 | 354 | graphics/asymptote/base/pstoedit.asy
-2022/04/06 | 5521 | graphics/asymptote/base/rational.asy
-2022/04/06 | 9826 | graphics/asymptote/base/rationalSimplex.asy
-2022/04/06 | 657 | graphics/asymptote/base/reload.js
-2022/04/06 | 289 | graphics/asymptote/base/res/notes.txt
-2022/04/06 | 3374 | graphics/asymptote/base/roundedpath.asy
-2022/04/06 | 3690 | graphics/asymptote/base/shaders/blend.glsl
-2022/04/06 | 524 | graphics/asymptote/base/shaders/compress.glsl
-2022/04/06 | 342 | graphics/asymptote/base/shaders/count.glsl
-2022/04/06 | 7161 | graphics/asymptote/base/shaders/fragment.glsl
-2022/04/06 | 129 | graphics/asymptote/base/shaders/screen.glsl
-2022/04/06 | 648 | graphics/asymptote/base/shaders/sum1.glsl
-2022/04/06 | 380 | graphics/asymptote/base/shaders/sum2.glsl
-2022/04/06 | 739 | graphics/asymptote/base/shaders/sum3.glsl
-2022/04/06 | 677 | graphics/asymptote/base/shaders/vertex.glsl
-2022/04/06 | 176 | graphics/asymptote/base/shaders/zero.glsl
-2022/04/06 | 8342 | graphics/asymptote/base/simplex.asy
-2022/04/06 | 608 | graphics/asymptote/base/size10.asy
-2022/04/06 | 600 | graphics/asymptote/base/size11.asy
-2022/04/06 | 16089 | graphics/asymptote/base/slide.asy
-2022/04/06 | 2031 | graphics/asymptote/base/slopefield.asy
-2022/04/06 | 55991 | graphics/asymptote/base/smoothcontour3.asy
-2022/04/06 | 12012 | graphics/asymptote/base/solids.asy
-2022/04/06 | 8014 | graphics/asymptote/base/stats.asy
-2022/04/06 | 22946 | graphics/asymptote/base/syzygy.asy
-2022/04/06 | 2277 | graphics/asymptote/base/texcolors.asy
-2022/04/06 | 23717 | graphics/asymptote/base/three_arrows.asy
-2022/04/06 | 85989 | graphics/asymptote/base/three.asy
-2022/04/06 | 3719 | graphics/asymptote/base/three_light.asy
-2022/04/06 | 2492 | graphics/asymptote/base/three_margins.asy
-2022/04/06 | 72303 | graphics/asymptote/base/three_surface.asy
-2022/04/06 | 5975 | graphics/asymptote/base/three_tube.asy
-2022/04/06 | 1375 | graphics/asymptote/base/tree.asy
-2022/04/06 | 5789 | graphics/asymptote/base/trembling.asy
-2022/04/06 | 4992 | graphics/asymptote/base/tube.asy
-2022/04/06 | 15004 | graphics/asymptote/base/v3d.asy
-2022/04/06 | 1337 | graphics/asymptote/base/v3dheadertypes.asy
-2022/04/06 | 670 | graphics/asymptote/base/v3dtypes.asy
-2022/04/06 | 68347 | graphics/asymptote/base/webgl/asygl.js
-2022/04/06 | 4811 | graphics/asymptote/base/x11colors.asy
-2022/04/06 | 3640 | graphics/asymptote/bbox3.h
-2022/04/06 | 4514 | graphics/asymptote/bbox.h
-2022/04/06 | 1828 | graphics/asymptote/beziercurve.cc
-2022/04/06 | 1280 | graphics/asymptote/beziercurve.h
-2022/04/06 | 25300 | graphics/asymptote/bezierpatch.cc
-2022/04/06 | 5712 | graphics/asymptote/bezierpatch.h
+2022/08/06 | 2146 | graphics/asymptote/abs3doutfile.h
+2022/08/06 | 504 | graphics/asymptote/absyn.cc
+2022/08/06 | 1140 | graphics/asymptote/absyn.h
+2022/08/06 | 3297 | graphics/asymptote/access.cc
+2022/08/06 | 2964 | graphics/asymptote/access.h
+2022/08/06 | 2266 | graphics/asymptote/align.h
+2022/08/06 | 886 | graphics/asymptote/angle.h
+2022/08/06 | 18578 | graphics/asymptote/application.cc
+2022/08/06 | 9088 | graphics/asymptote/application.h
+2022/08/06 | 4735 | graphics/asymptote/array.cc
+2022/08/06 | 1975 | graphics/asymptote/array.h
+2022/08/06 | 13980 | graphics/asymptote/arrayop.h
+2022/08/06 | 11541 | graphics/asymptote/aspy.py
+2022/08/06 | 4286 | graphics/asymptote/asy.ico
+2022/08/06 | 17958 | graphics/asymptote/asy-keywords.el
+2022/08/06 | 209457 | graphics/asymptote/asy.list
+2022/08/06 | 1612 | graphics/asymptote/asy-list.pl
+2022/08/06 | 6370 | graphics/asymptote/asymptote.nsi
+2022/08/06 | 3204 | graphics/asymptote/asymptote.spec
+2022/08/06 | 770 | graphics/asymptote/asy.rc
+2022/08/06 | 34 | graphics/asymptote/autogen.sh
+2022/08/06 | 12534 | graphics/asymptote/ax_pthread.m4
+2022/08/06 | 42 | graphics/asymptote/base/animate.asy
+2022/08/06 | 5238 | graphics/asymptote/base/animation.asy
+2022/08/06 | 578 | graphics/asymptote/base/annotate.asy
+2022/08/06 | 99 | graphics/asymptote/base/asy_filetype.vim
+2022/08/06 | 268 | graphics/asymptote/base/asy-init.el
+2022/08/06 | 8240 | graphics/asymptote/base/asy-kate.sh
+2022/08/06 | 71368 | graphics/asymptote/base/asy-mode.el
+2022/08/06 | 1276 | graphics/asymptote/base/asymptote.py
+2022/08/06 | 13477 | graphics/asymptote/base/asy.vim
+2022/08/06 | 50 | graphics/asymptote/base/babel.asy
+2022/08/06 | 9562 | graphics/asymptote/base/bezulate.asy
+2022/08/06 | 11656 | graphics/asymptote/base/binarytree.asy
+2022/08/06 | 5279 | graphics/asymptote/base/bsp.asy
+2022/08/06 | 10840 | graphics/asymptote/base/CAD.asy
+2022/08/06 | 205495 | graphics/asymptote/base/colormap.asy
+2022/08/06 | 14749 | graphics/asymptote/base/contour3.asy
+2022/08/06 | 20277 | graphics/asymptote/base/contour.asy
+2022/08/06 | 2109 | graphics/asymptote/base/drawtree.asy
+2022/08/06 | 1178 | graphics/asymptote/base/embed.asy
+2022/08/06 | 1120 | graphics/asymptote/base/external.asy
+2022/08/06 | 21448 | graphics/asymptote/base/feynman.asy
+2022/08/06 | 15277 | graphics/asymptote/base/flowchart.asy
+2022/08/06 | 35 | graphics/asymptote/base/fontsize.asy
+2022/08/06 | 321820 | graphics/asymptote/base/geometry.asy
+2022/08/06 | 70102 | graphics/asymptote/base/graph3.asy
+2022/08/06 | 64207 | graphics/asymptote/base/graph.asy
+2022/08/06 | 314 | graphics/asymptote/base/graph_settings.asy
+2022/08/06 | 7407 | graphics/asymptote/base/graph_splinetype.asy
+2022/08/06 | 13605 | graphics/asymptote/base/grid3.asy
+2022/08/06 | 3936 | graphics/asymptote/base/interpolate.asy
+2022/08/06 | 2451 | graphics/asymptote/base/labelpath3.asy
+2022/08/06 | 729 | graphics/asymptote/base/labelpath.asy
+2022/08/06 | 25357 | graphics/asymptote/base/lmfit.asy
+2022/08/06 | 908 | graphics/asymptote/base/map.asy
+2022/08/06 | 7302 | graphics/asymptote/base/markers.asy
+2022/08/06 | 11122 | graphics/asymptote/base/math.asy
+2022/08/06 | 251 | graphics/asymptote/base/metapost.asy
+2022/08/06 | 39 | graphics/asymptote/base/nopapersize.ps
+2022/08/06 | 3278 | graphics/asymptote/base/obj.asy
+2022/08/06 | 15601 | graphics/asymptote/base/ode.asy
+2022/08/06 | 15382 | graphics/asymptote/base/palette.asy
+2022/08/06 | 2649 | graphics/asymptote/base/patterns.asy
+2022/08/06 | 1213 | graphics/asymptote/base/plain_arcs.asy
+2022/08/06 | 19729 | graphics/asymptote/base/plain_arrows.asy
+2022/08/06 | 7634 | graphics/asymptote/base/plain.asy
+2022/08/06 | 20989 | graphics/asymptote/base/plain_bounds.asy
+2022/08/06 | 4088 | graphics/asymptote/base/plain_boxes.asy
+2022/08/06 | 3706 | graphics/asymptote/base/plain_constants.asy
+2022/08/06 | 2187 | graphics/asymptote/base/plain_debugger.asy
+2022/08/06 | 6278 | graphics/asymptote/base/plain_filldraw.asy
+2022/08/06 | 16492 | graphics/asymptote/base/plain_Label.asy
+2022/08/06 | 2310 | graphics/asymptote/base/plain_margins.asy
+2022/08/06 | 11373 | graphics/asymptote/base/plain_markers.asy
+2022/08/06 | 9334 | graphics/asymptote/base/plain_paths.asy
+2022/08/06 | 8711 | graphics/asymptote/base/plain_pens.asy
+2022/08/06 | 46531 | graphics/asymptote/base/plain_picture.asy
+2022/08/06 | 6287 | graphics/asymptote/base/plain_prethree.asy
+2022/08/06 | 5735 | graphics/asymptote/base/plain_scaling.asy
+2022/08/06 | 4487 | graphics/asymptote/base/plain_shipout.asy
+2022/08/06 | 6159 | graphics/asymptote/base/plain_strings.asy
+2022/08/06 | 354 | graphics/asymptote/base/pstoedit.asy
+2022/08/06 | 5521 | graphics/asymptote/base/rational.asy
+2022/08/06 | 9826 | graphics/asymptote/base/rationalSimplex.asy
+2022/08/06 | 657 | graphics/asymptote/base/reload.js
+2022/08/06 | 289 | graphics/asymptote/base/res/notes.txt
+2022/08/06 | 3374 | graphics/asymptote/base/roundedpath.asy
+2022/08/06 | 3346 | graphics/asymptote/base/shaders/blend.glsl
+2022/08/06 | 419 | graphics/asymptote/base/shaders/compress.glsl
+2022/08/06 | 301 | graphics/asymptote/base/shaders/count.glsl
+2022/08/06 | 6714 | graphics/asymptote/base/shaders/fragment.glsl
+2022/08/06 | 129 | graphics/asymptote/base/shaders/screen.glsl
+2022/08/06 | 730 | graphics/asymptote/base/shaders/sum1.glsl
+2022/08/06 | 1316 | graphics/asymptote/base/shaders/sum2fast.glsl
+2022/08/06 | 848 | graphics/asymptote/base/shaders/sum2.glsl
+2022/08/06 | 1752 | graphics/asymptote/base/shaders/sum3.glsl
+2022/08/06 | 677 | graphics/asymptote/base/shaders/vertex.glsl
+2022/08/06 | 192 | graphics/asymptote/base/shaders/zero.glsl
+2022/08/06 | 8342 | graphics/asymptote/base/simplex.asy
+2022/08/06 | 608 | graphics/asymptote/base/size10.asy
+2022/08/06 | 600 | graphics/asymptote/base/size11.asy
+2022/08/06 | 16089 | graphics/asymptote/base/slide.asy
+2022/08/06 | 2031 | graphics/asymptote/base/slopefield.asy
+2022/08/06 | 55991 | graphics/asymptote/base/smoothcontour3.asy
+2022/08/06 | 12012 | graphics/asymptote/base/solids.asy
+2022/08/06 | 8014 | graphics/asymptote/base/stats.asy
+2022/08/06 | 22946 | graphics/asymptote/base/syzygy.asy
+2022/08/06 | 2277 | graphics/asymptote/base/texcolors.asy
+2022/08/06 | 23717 | graphics/asymptote/base/three_arrows.asy
+2022/08/06 | 85989 | graphics/asymptote/base/three.asy
+2022/08/06 | 3719 | graphics/asymptote/base/three_light.asy
+2022/08/06 | 2492 | graphics/asymptote/base/three_margins.asy
+2022/08/06 | 72889 | graphics/asymptote/base/three_surface.asy
+2022/08/06 | 5975 | graphics/asymptote/base/three_tube.asy
+2022/08/06 | 1375 | graphics/asymptote/base/tree.asy
+2022/08/06 | 5789 | graphics/asymptote/base/trembling.asy
+2022/08/06 | 4992 | graphics/asymptote/base/tube.asy
+2022/08/06 | 15004 | graphics/asymptote/base/v3d.asy
+2022/08/06 | 1337 | graphics/asymptote/base/v3dheadertypes.asy
+2022/08/06 | 670 | graphics/asymptote/base/v3dtypes.asy
+2022/08/06 | 66352 | graphics/asymptote/base/webgl/asygl.js
+2022/08/06 | 4811 | graphics/asymptote/base/x11colors.asy
+2022/08/06 | 3640 | graphics/asymptote/bbox3.h
+2022/08/06 | 4514 | graphics/asymptote/bbox.h
+2022/08/06 | 1828 | graphics/asymptote/beziercurve.cc
+2022/08/06 | 1280 | graphics/asymptote/beziercurve.h
+2022/08/06 | 25651 | graphics/asymptote/bezierpatch.cc
+2022/08/06 | 5712 | graphics/asymptote/bezierpatch.h
2022/01/31 | 3281267 | graphics/asymptote/binaries/i386-windows/cygwin1.dll
-2022/04/06 | 2505 | graphics/asymptote/binaries/i386-windows/README
-2022/04/06 | 8441344 | graphics/asymptote/binaries/i386-windows/texlive/asy.exe
+2022/08/06 | 2505 | graphics/asymptote/binaries/i386-windows/README
+2022/08/07 | 8436736 | graphics/asymptote/binaries/i386-windows/texlive/asy.exe
2020/08/06 | 297 | graphics/asymptote/binaries/i386-windows/texlive/README
-2022/01/31 | 3554998 | graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
-2022/04/06 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
-2022/04/06 | 8314368 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
+2022/05/13 | 3569593 | graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
+2022/08/06 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
+2022/08/07 | 8318976 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
2020/08/06 | 297 | graphics/asymptote/binaries/x86_64-windows/texlive/README
-2022/04/06 | 242 | graphics/asymptote/BUGS
-2022/04/06 | 1588 | graphics/asymptote/build-scripts/asy-format.el
-2022/04/06 | 210 | graphics/asymptote/build-scripts/asy-indent.el
-2022/04/06 | 1227 | graphics/asymptote/build-scripts/build-asygl
-2022/04/06 | 2471 | graphics/asymptote/build-scripts/build-asymptote
-2022/04/06 | 3556 | graphics/asymptote/build-scripts/build-asymptote.dos
-2022/04/06 | 1578 | graphics/asymptote/build-scripts/cc-format.el
-2022/04/06 | 183 | graphics/asymptote/build-scripts/cc-indent.el
-2022/04/06 | 2239 | graphics/asymptote/build-scripts/HOWTO-MSWindows
-2022/04/06 | 297 | graphics/asymptote/build-scripts/README-binaries
-2022/04/06 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
-2022/04/06 | 31342 | graphics/asymptote/builtin.cc
-2022/04/06 | 1630 | graphics/asymptote/builtin.h
-2022/04/06 | 1151 | graphics/asymptote/callable.cc
-2022/04/06 | 1640 | graphics/asymptote/callable.h
-2022/04/06 | 1190 | graphics/asymptote/camperror.cc
-2022/04/06 | 814 | graphics/asymptote/camperror.h
-2022/04/06 | 13357 | graphics/asymptote/camp.l
-2022/04/06 | 130266 | graphics/asymptote/camp.tab.cc
-2022/04/06 | 6190 | graphics/asymptote/camp.tab.h
-2022/04/06 | 20029 | graphics/asymptote/camp.y
-2022/04/06 | 4629 | graphics/asymptote/castop.h
-2022/04/06 | 1876 | graphics/asymptote/cc-mode2.el
-2022/04/06 | 1621291 | graphics/asymptote/ChangeLog
-2022/04/06 | 7790 | graphics/asymptote/coder.cc
-2022/04/06 | 11642 | graphics/asymptote/coder.h
-2022/04/06 | 1126 | graphics/asymptote/coenv.cc
-2022/04/06 | 908 | graphics/asymptote/coenv.h
-2022/04/06 | 2187 | graphics/asymptote/common.h
-2022/04/06 | 48441 | graphics/asymptote/config.guess
-2022/04/06 | 7174 | graphics/asymptote/config.h.in
-2022/04/06 | 31609 | graphics/asymptote/config.sub
-2022/04/06 | 292694 | graphics/asymptote/configure
-2022/04/06 | 16771 | graphics/asymptote/configure.ac
-2022/04/06 | 26 | graphics/asymptote/_config.yml
-2022/04/06 | 3676 | graphics/asymptote/constructor.cc
-2022/04/06 | 241 | graphics/asymptote/cudareflect/common.h
-2022/04/06 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
-2022/04/06 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
-2022/04/06 | 883 | graphics/asymptote/cudareflect/helper.cuh
-2022/04/06 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
-2022/04/06 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
-2022/04/06 | 4371 | graphics/asymptote/cudareflect/kernel.cu
-2022/04/06 | 445 | graphics/asymptote/cudareflect/kernel.h
-2022/04/06 | 7780 | graphics/asymptote/cudareflect/main.cc
-2022/04/06 | 548 | graphics/asymptote/cudareflect/Makefile
-2022/04/06 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
-2022/04/06 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
-2022/04/06 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
-2022/04/06 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
-2022/04/06 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
-2022/04/06 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
-2022/04/06 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
-2022/04/06 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
-2022/04/06 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
-2022/04/06 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
-2022/04/06 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
-2022/04/06 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
-2022/04/06 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
-2022/04/06 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
-2022/04/06 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
-2022/04/06 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
-2022/04/06 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
-2022/04/06 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
-2022/04/06 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
-2022/04/06 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
-2022/04/06 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
-2022/04/06 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
-2022/04/06 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
-2022/04/06 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
-2022/04/06 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
-2022/04/06 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
-2022/04/06 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
-2022/04/06 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
-2022/04/06 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
-2022/04/06 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
-2022/04/06 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
-2022/04/06 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
-2022/04/06 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
-2022/04/06 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
-2022/04/06 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
-2022/04/06 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
-2022/04/06 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
-2022/04/06 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
-2022/04/06 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
-2022/04/06 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
-2022/04/06 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
-2022/04/06 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
-2022/04/06 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
-2022/04/06 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
-2022/04/06 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
-2022/04/06 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
-2022/04/06 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
-2022/04/06 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
-2022/04/06 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
-2022/04/06 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
-2022/04/06 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
-2022/04/06 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
-2022/04/06 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
-2022/04/06 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
-2022/04/06 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
-2022/04/06 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
-2022/04/06 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
-2022/04/06 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
-2022/04/06 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
-2022/04/06 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
-2022/04/06 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
-2022/04/06 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
-2022/04/06 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
-2022/04/06 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
-2022/04/06 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
-2022/04/06 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
-2022/04/06 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
-2022/04/06 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
-2022/04/06 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
-2022/04/06 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
-2022/04/06 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
-2022/04/06 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
-2022/04/06 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
-2022/04/06 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
-2022/04/06 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
-2022/04/06 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
-2022/04/06 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
-2022/04/06 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
-2022/04/06 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
-2022/04/06 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
-2022/04/06 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
-2022/04/06 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
-2022/04/06 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
-2022/04/06 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
-2022/04/06 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
-2022/04/06 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
-2022/04/06 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
-2022/04/06 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
-2022/04/06 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
-2022/04/06 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
-2022/04/06 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
-2022/04/06 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
-2022/04/06 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
-2022/04/06 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
-2022/04/06 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
-2022/04/06 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
-2022/04/06 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
-2022/04/06 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
-2022/04/06 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
-2022/04/06 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
-2022/04/06 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
-2022/04/06 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
-2022/04/06 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
-2022/04/06 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
-2022/04/06 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
-2022/04/06 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
-2022/04/06 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
-2022/04/06 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
-2022/04/06 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
-2022/04/06 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
-2022/04/06 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
-2022/04/06 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
-2022/04/06 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
-2022/04/06 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
-2022/04/06 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
-2022/04/06 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
-2022/04/06 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
-2022/04/06 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
-2022/04/06 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
-2022/04/06 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
-2022/04/06 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
-2022/04/06 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
-2022/04/06 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
-2022/04/06 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
-2022/04/06 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
-2022/04/06 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
-2022/04/06 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
-2022/04/06 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
-2022/04/06 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
-2022/04/06 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
-2022/04/06 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
-2022/04/06 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
-2022/04/06 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
-2022/04/06 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
-2022/04/06 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
-2022/04/06 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
-2022/04/06 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
-2022/04/06 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
-2022/04/06 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
-2022/04/06 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
-2022/04/06 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
-2022/04/06 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
-2022/04/06 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
-2022/04/06 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
-2022/04/06 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
-2022/04/06 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
-2022/04/06 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
-2022/04/06 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
-2022/04/06 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
-2022/04/06 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
-2022/04/06 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
-2022/04/06 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
-2022/04/06 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
-2022/04/06 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
-2022/04/06 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
-2022/04/06 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
-2022/04/06 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
-2022/04/06 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
-2022/04/06 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
-2022/04/06 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
-2022/04/06 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
-2022/04/06 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
-2022/04/06 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
-2022/04/06 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
-2022/04/06 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
-2022/04/06 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
-2022/04/06 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
-2022/04/06 | 270497 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
-2022/04/06 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
-2022/04/06 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
-2022/04/06 | 1950 | graphics/asymptote/cudareflect/utils.cuh
-2022/04/06 | 26693 | graphics/asymptote/dec.cc
-2022/04/06 | 17734 | graphics/asymptote/dec.h
-2022/04/06 | 5883 | graphics/asymptote/Delaunay.cc
-2022/04/06 | 384 | graphics/asymptote/Delaunay.h
-2022/04/06 | 9053 | graphics/asymptote/doc/asy.1
-2022/04/06 | 1005 | graphics/asymptote/doc/asy.1.begin
-2022/04/06 | 333 | graphics/asymptote/doc/asy.1.end
-2022/04/06 | 2800 | graphics/asymptote/doc/asycolors.sty
-2022/04/06 | 18095 | graphics/asymptote/doc/asy-latex.dtx
-2022/04/06 | 207105 | graphics/asymptote/doc/asy-latex.pdf
-2022/04/06 | 1314169 | graphics/asymptote/doc/asymptote.pdf
-2022/04/06 | 9805 | graphics/asymptote/doc/asymptote.sty
-2022/04/06 | 395032 | graphics/asymptote/doc/asymptote.texi
-2022/04/06 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
-2022/04/06 | 20051 | graphics/asymptote/doc/asyRefCard.tex
-2022/04/06 | 246 | graphics/asymptote/doc/axis3.asy
-2022/04/06 | 416 | graphics/asymptote/doc/bezier2.asy
-2022/04/06 | 81 | graphics/asymptote/doc/bezier.asy
-2022/04/06 | 234 | graphics/asymptote/doc/beziercurve.asy
-2022/04/06 | 41 | graphics/asymptote/doc/bigdiagonal.asy
-2022/04/06 | 306 | graphics/asymptote/doc/binarytreetest.asy
-2022/04/06 | 677 | graphics/asymptote/doc/Bode.asy
-2022/04/06 | 524 | graphics/asymptote/doc/brokenaxis.asy
-2022/04/06 | 1391 | graphics/asymptote/doc/CAD1.asy
-2022/04/06 | 198744 | graphics/asymptote/doc/CAD.pdf
-2022/04/06 | 10196 | graphics/asymptote/doc/CAD.tex
-2022/04/06 | 518 | graphics/asymptote/doc/CDlabel.asy
-2022/04/06 | 4348 | graphics/asymptote/doc/colo-asy.tex
-2022/04/06 | 49 | graphics/asymptote/doc/colons.asy
-2022/04/06 | 1620 | graphics/asymptote/doc/colors.asy
-2022/04/06 | 243 | graphics/asymptote/doc/cube.asy
-2022/04/06 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
-2022/04/06 | 218 | graphics/asymptote/doc/datagraph.asy
-2022/04/06 | 24 | graphics/asymptote/doc/diagonal.asy
-2022/04/06 | 2979 | graphics/asymptote/doc/diatom.asy
-2022/04/06 | 4067 | graphics/asymptote/doc/diatom.csv
-2022/04/06 | 49 | graphics/asymptote/doc/dots.asy
-2022/04/06 | 1051 | graphics/asymptote/doc/eetomumu.asy
-2022/04/06 | 2034 | graphics/asymptote/doc/elliptic.asy
-2022/04/06 | 912 | graphics/asymptote/doc/errorbars.asy
-2022/04/06 | 202 | graphics/asymptote/doc/exp.asy
-2022/04/06 | 343 | graphics/asymptote/doc/externalprc.tex
-2022/04/06 | 19597 | graphics/asymptote/doc/external-proposal.html
-2022/04/06 | 25154 | graphics/asymptote/doc/extra/intro.asy
-2022/04/06 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
-2022/04/06 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
-2022/04/06 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
-2022/04/06 | 13663 | graphics/asymptote/doc/FAQ/install-sh
-2022/04/06 | 1000 | graphics/asymptote/doc/FAQ/Makefile
-2022/04/06 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
-2022/04/06 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
-2022/04/06 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
-2022/04/06 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
-2022/04/06 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
-2022/04/06 | 238 | graphics/asymptote/doc/filegraph.asy
-2022/04/06 | 26 | graphics/asymptote/doc/filegraph.dat
-2022/04/06 | 1053 | graphics/asymptote/doc/fillcontour.asy
-2022/04/06 | 604 | graphics/asymptote/doc/flow.asy
-2022/04/06 | 897 | graphics/asymptote/doc/flowchartdemo.asy
-2022/04/06 | 464 | graphics/asymptote/doc/GaussianSurface.asy
-2022/04/06 | 376 | graphics/asymptote/doc/generalaxis3.asy
-2022/04/06 | 277 | graphics/asymptote/doc/generalaxis.asy
-2022/04/06 | 754 | graphics/asymptote/doc/graphmarkers.asy
-2022/04/06 | 219 | graphics/asymptote/doc/graphwithderiv.asy
-2022/04/06 | 426 | graphics/asymptote/doc/grid3xyz.asy
-2022/04/06 | 279 | graphics/asymptote/doc/hatch.asy
-2022/04/06 | 423 | graphics/asymptote/doc/helix.asy
-2022/04/06 | 324 | graphics/asymptote/doc/HermiteSpline.asy
-2022/04/06 | 441 | graphics/asymptote/doc/histogram.asy
-2022/04/06 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
-2022/04/06 | 500 | graphics/asymptote/doc/Hobbydir.asy
-2022/04/06 | 378 | graphics/asymptote/doc/icon.asy
-2022/04/06 | 401 | graphics/asymptote/doc/image.asy
-2022/04/06 | 922 | graphics/asymptote/doc/imagecontour.asy
-2022/04/06 | 13663 | graphics/asymptote/doc/install-sh
-2022/04/06 | 357 | graphics/asymptote/doc/irregularcontour.asy
-2022/04/06 | 442 | graphics/asymptote/doc/join3.asy
-2022/04/06 | 261 | graphics/asymptote/doc/join.asy
-2022/04/06 | 417 | graphics/asymptote/doc/knots.asy
-2022/04/06 | 121 | graphics/asymptote/doc/labelsquare.asy
-2022/04/06 | 144 | graphics/asymptote/doc/latexmkrc
-2022/04/06 | 150 | graphics/asymptote/doc/latexmkrc_asydir
-2022/04/06 | 3125 | graphics/asymptote/doc/latexusage.tex
-2022/04/06 | 1008 | graphics/asymptote/doc/leastsquares.asy
-2022/04/06 | 6318 | graphics/asymptote/doc/leastsquares.dat
-2022/04/06 | 396 | graphics/asymptote/doc/legend.asy
-2022/04/06 | 366 | graphics/asymptote/doc/lineargraph0.asy
-2022/04/06 | 373 | graphics/asymptote/doc/lineargraph.asy
-2022/04/06 | 415 | graphics/asymptote/doc/linetype.asy
-2022/04/06 | 423 | graphics/asymptote/doc/log2graph.asy
-2022/04/06 | 262 | graphics/asymptote/doc/loggraph.asy
-2022/04/06 | 382 | graphics/asymptote/doc/loggrid.asy
-2022/04/06 | 480 | graphics/asymptote/doc/logimage.asy
-2022/04/06 | 617 | graphics/asymptote/doc/logo.asy
-2022/04/06 | 314 | graphics/asymptote/doc/logticks.asy
-2022/04/06 | 3023 | graphics/asymptote/doc/Makefile.in
-2022/04/06 | 293 | graphics/asymptote/doc/makepen.asy
-2022/04/06 | 2674 | graphics/asymptote/doc/markers1.asy
-2022/04/06 | 877 | graphics/asymptote/doc/markers2.asy
-2022/04/06 | 288 | graphics/asymptote/doc/mexicanhat.asy
-2022/04/06 | 374 | graphics/asymptote/doc/monthaxis.asy
-2022/04/06 | 458 | graphics/asymptote/doc/multicontour.asy
-2022/04/06 | 115 | graphics/asymptote/doc/onecontour.asy
-2022/04/06 | 240 | graphics/asymptote/doc/parametricgraph.asy
-2022/04/06 | 498 | graphics/asymptote/doc/penfunctionimage.asy
-2022/04/06 | 219 | graphics/asymptote/doc/penimage.asy
-2022/04/06 | 2771 | graphics/asymptote/doc/pixel.pdf
-2022/04/06 | 354 | graphics/asymptote/doc/planes.asy
-2022/04/06 | 474562 | graphics/asymptote/doc/png/asymptote.info
-2022/04/06 | 1469 | graphics/asymptote/doc/png/Makefile.in
-2022/04/06 | 49 | graphics/asymptote/doc/quartercircle.asy
-2022/04/06 | 354 | graphics/asymptote/doc/reloadpdf.tex
-2022/04/06 | 157 | graphics/asymptote/doc/saddle.asy
-2022/04/06 | 355 | graphics/asymptote/doc/scaledgraph.asy
-2022/04/06 | 792 | graphics/asymptote/doc/secondaryaxis.asy
-2022/04/06 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
-2022/04/06 | 256 | graphics/asymptote/doc/shadedtiling.asy
-2022/04/06 | 154 | graphics/asymptote/doc/slopefield1.asy
-2022/04/06 | 52 | graphics/asymptote/doc/square.asy
-2022/04/06 | 341 | graphics/asymptote/doc/subpictures.asy
-2022/04/06 | 123 | graphics/asymptote/doc/superpath.asy
-2022/04/06 | 81163 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
-2022/04/06 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
-2022/04/06 | 390 | graphics/asymptote/doc/tile.asy
-2022/04/06 | 396 | graphics/asymptote/doc/triangulate.asy
-2022/04/06 | 186 | graphics/asymptote/doc/unitcircle3.asy
-2022/04/06 | 147 | graphics/asymptote/doc/vectorfield.asy
-2022/04/06 | 1746 | graphics/asymptote/doc/westnile.asy
-2022/04/06 | 4727 | graphics/asymptote/doc/westnile.csv
-2022/04/06 | 880 | graphics/asymptote/doc/xasy.1x
-2022/04/06 | 1851 | graphics/asymptote/drawclipbegin.h
-2022/04/06 | 1197 | graphics/asymptote/drawclipend.h
-2022/04/06 | 11468 | graphics/asymptote/drawelement.h
-2022/04/06 | 4597 | graphics/asymptote/drawfill.cc
-2022/04/06 | 6525 | graphics/asymptote/drawfill.h
-2022/04/06 | 494 | graphics/asymptote/drawgrestore.h
-2022/04/06 | 2880 | graphics/asymptote/drawgroup.h
-2022/04/06 | 464 | graphics/asymptote/drawgsave.h
-2022/04/06 | 3024 | graphics/asymptote/drawimage.h
-2022/04/06 | 6787 | graphics/asymptote/drawlabel.cc
-2022/04/06 | 2134 | graphics/asymptote/drawlabel.h
-2022/04/06 | 1096 | graphics/asymptote/drawlayer.h
-2022/04/06 | 5566 | graphics/asymptote/drawpath3.cc
-2022/04/06 | 5767 | graphics/asymptote/drawpath3.h
-2022/04/06 | 4862 | graphics/asymptote/drawpath.cc
-2022/04/06 | 669 | graphics/asymptote/drawpath.h
-2022/04/06 | 25094 | graphics/asymptote/drawsurface.cc
-2022/04/06 | 23567 | graphics/asymptote/drawsurface.h
-2022/04/06 | 1266 | graphics/asymptote/drawverbatim.h
-2022/04/06 | 17987 | graphics/asymptote/entry.cc
-2022/04/06 | 13615 | graphics/asymptote/entry.h
-2022/04/06 | 5441 | graphics/asymptote/env.cc
-2022/04/06 | 1142 | graphics/asymptote/envcompleter.cc
-2022/04/06 | 845 | graphics/asymptote/envcompleter.h
-2022/04/06 | 4570 | graphics/asymptote/env.h
-2022/04/06 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
-2022/04/06 | 2279 | graphics/asymptote/errormsg.cc
-2022/04/06 | 5621 | graphics/asymptote/errormsg.h
-2022/04/06 | 9251 | graphics/asymptote/errors
-2022/04/06 | 6911 | graphics/asymptote/errortest.asy
-2022/04/06 | 43335 | graphics/asymptote/examples/100d.pdb1
-2022/04/06 | 657 | graphics/asymptote/examples/100d.views
-2022/04/06 | 163 | graphics/asymptote/examples/1overx.asy
-2022/04/06 | 4158 | graphics/asymptote/examples/advection.asy
-2022/04/06 | 245 | graphics/asymptote/examples/alignbox.asy
-2022/04/06 | 2830 | graphics/asymptote/examples/alignedaxis.asy
-2022/04/06 | 946 | graphics/asymptote/examples/animations/cube.asy
-2022/04/06 | 160672 | graphics/asymptote/examples/animations/dice.u3d
-2022/04/06 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
-2022/04/06 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
-2022/04/06 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
-2022/04/06 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
-2022/04/06 | 414 | graphics/asymptote/examples/animations/glmovie.asy
-2022/04/06 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
-2022/04/06 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
-2022/04/06 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
-2022/04/06 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
-2022/04/06 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
-2022/04/06 | 856 | graphics/asymptote/examples/animations/sphere.asy
-2022/04/06 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
-2022/04/06 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
-2022/04/06 | 1120 | graphics/asymptote/examples/animations/wheel.asy
-2022/04/06 | 236 | graphics/asymptote/examples/annotation.asy
-2022/04/06 | 1240 | graphics/asymptote/examples/arrows3.asy
-2022/04/06 | 61 | graphics/asymptote/examples/axialshade.asy
-2022/04/06 | 496 | graphics/asymptote/examples/bars3.asy
-2022/04/06 | 1033 | graphics/asymptote/examples/basealign.asy
-2022/04/06 | 407 | graphics/asymptote/examples/BezierPatch.asy
-2022/04/06 | 581 | graphics/asymptote/examples/BezierSaddle.asy
-2022/04/06 | 1548 | graphics/asymptote/examples/BezierSurface.asy
-2022/04/06 | 199 | graphics/asymptote/examples/BezierTriangle.asy
-2022/04/06 | 154 | graphics/asymptote/examples/billboard.asy
-2022/04/06 | 513 | graphics/asymptote/examples/buildcycle.asy
-2022/04/06 | 233 | graphics/asymptote/examples/cardioid.asy
-2022/04/06 | 485 | graphics/asymptote/examples/cards.asy
-2022/04/06 | 688 | graphics/asymptote/examples/centroidfg.asy
-2022/04/06 | 322 | graphics/asymptote/examples/cheese.asy
-2022/04/06 | 576 | graphics/asymptote/examples/circles.asy
-2022/04/06 | 228 | graphics/asymptote/examples/circumcircle.asy
-2022/04/06 | 762 | graphics/asymptote/examples/clockarray.asy
-2022/04/06 | 264 | graphics/asymptote/examples/coag.asy
-2022/04/06 | 436 | graphics/asymptote/examples/colorpatch.asy
-2022/04/06 | 472 | graphics/asymptote/examples/colorplanes.asy
-2022/04/06 | 739 | graphics/asymptote/examples/condor.asy
-2022/04/06 | 495 | graphics/asymptote/examples/cones.asy
-2022/04/06 | 1778 | graphics/asymptote/examples/conicurv.asy
-2022/04/06 | 254 | graphics/asymptote/examples/contextfonts.asy
-2022/04/06 | 802 | graphics/asymptote/examples/controlsystem.asy
-2022/04/06 | 123 | graphics/asymptote/examples/Coons.asy
-2022/04/06 | 235 | graphics/asymptote/examples/cos2theta.asy
-2022/04/06 | 582 | graphics/asymptote/examples/cos3.asy
-2022/04/06 | 460 | graphics/asymptote/examples/cosaddition.asy
-2022/04/06 | 5537 | graphics/asymptote/examples/cpkcolors.asy
-2022/04/06 | 572 | graphics/asymptote/examples/curvedlabel3.asy
-2022/04/06 | 177 | graphics/asymptote/examples/curvedlabel.asy
-2022/04/06 | 1835 | graphics/asymptote/examples/cyclohexane.asy
-2022/04/06 | 352 | graphics/asymptote/examples/cylinder.asy
-2022/04/06 | 506 | graphics/asymptote/examples/delu.asy
-2022/04/06 | 509 | graphics/asymptote/examples/dimension.asy
-2022/04/06 | 1216 | graphics/asymptote/examples/dragon.asy
-2022/04/06 | 1298 | graphics/asymptote/examples/electromagnetic.asy
-2022/04/06 | 325 | graphics/asymptote/examples/elevation.asy
-2022/04/06 | 398 | graphics/asymptote/examples/epix.asy
-2022/04/06 | 242 | graphics/asymptote/examples/equilateral.asy
-2022/04/06 | 548 | graphics/asymptote/examples/equilchord.asy
-2022/04/06 | 579 | graphics/asymptote/examples/exp3.asy
-2022/04/06 | 519 | graphics/asymptote/examples/extrudedcontour.asy
-2022/04/06 | 498 | graphics/asymptote/examples/fano.asy
-2022/04/06 | 973 | graphics/asymptote/examples/fequlogo.asy
-2022/04/06 | 727 | graphics/asymptote/examples/fermi.asy
-2022/04/06 | 980 | graphics/asymptote/examples/filesurface.asy
-2022/04/06 | 5531 | graphics/asymptote/examples/filesurface.dat
-2022/04/06 | 4244 | graphics/asymptote/examples/fin.asy
-2022/04/06 | 710 | graphics/asymptote/examples/fjortoft.asy
-2022/04/06 | 558 | graphics/asymptote/examples/floatingdisk.asy
-2022/04/06 | 500 | graphics/asymptote/examples/floor.asy
-2022/04/06 | 683 | graphics/asymptote/examples/fractaltree.asy
-2022/04/06 | 1185 | graphics/asymptote/examples/functionshading.asy
-2022/04/06 | 499 | graphics/asymptote/examples/galleon.asy
-2022/04/06 | 713 | graphics/asymptote/examples/gamma3.asy
-2022/04/06 | 439 | graphics/asymptote/examples/gamma.asy
-2022/04/06 | 679 | graphics/asymptote/examples/genusthree.asy
-2022/04/06 | 1164 | graphics/asymptote/examples/genustwo.asy
-2022/04/06 | 383 | graphics/asymptote/examples/Gouraud.asy
-2022/04/06 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
-2022/04/06 | 76 | graphics/asymptote/examples/grid.asy
-2022/04/06 | 459 | graphics/asymptote/examples/hierarchy.asy
-2022/04/06 | 315 | graphics/asymptote/examples/hyperboloid.asy
-2022/04/06 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
-2022/04/06 | 1111 | graphics/asymptote/examples/imagehistogram.asy
-2022/04/06 | 610 | graphics/asymptote/examples/impact.asy
-2022/04/06 | 598 | graphics/asymptote/examples/integraltest.asy
-2022/04/06 | 4809 | graphics/asymptote/examples/interpolate1.asy
-2022/04/06 | 289 | graphics/asymptote/examples/jump.asy
-2022/04/06 | 1352 | graphics/asymptote/examples/Klein.asy
-2022/04/06 | 182 | graphics/asymptote/examples/label3.asy
-2022/04/06 | 196 | graphics/asymptote/examples/label3ribbon.asy
-2022/04/06 | 187 | graphics/asymptote/examples/label3solid.asy
-2022/04/06 | 632 | graphics/asymptote/examples/label3zoom.asy
-2022/04/06 | 264 | graphics/asymptote/examples/labelbox.asy
-2022/04/06 | 1114 | graphics/asymptote/examples/laserlattice.asy
-2022/04/06 | 136 | graphics/asymptote/examples/latticeshading.asy
-2022/04/06 | 690 | graphics/asymptote/examples/layers.asy
-2022/04/06 | 460 | graphics/asymptote/examples/lever.asy
-2022/04/06 | 654 | graphics/asymptote/examples/limit.asy
-2022/04/06 | 1910 | graphics/asymptote/examples/linearregression.asy
-2022/04/06 | 168 | graphics/asymptote/examples/lines.asy
-2022/04/06 | 1040 | graphics/asymptote/examples/lmfit1.asy
-2022/04/06 | 206 | graphics/asymptote/examples/log.asy
-2022/04/06 | 349 | graphics/asymptote/examples/logdown.asy
-2022/04/06 | 1461 | graphics/asymptote/examples/logo3.asy
-2022/04/06 | 196 | graphics/asymptote/examples/lowint.asy
-2022/04/06 | 657 | graphics/asymptote/examples/lowupint.asy
-2022/04/06 | 479 | graphics/asymptote/examples/magnetic.asy
-2022/04/06 | 879 | graphics/asymptote/examples/markregular.asy
-2022/04/06 | 1968 | graphics/asymptote/examples/mergeExample.asy
-2022/04/06 | 5216 | graphics/asymptote/examples/mosaic.asy
-2022/04/06 | 2504 | graphics/asymptote/examples/mosquito.asy
-2022/04/06 | 1566 | graphics/asymptote/examples/near_earth.asy
-2022/04/06 | 703 | graphics/asymptote/examples/NURBScurve.asy
-2022/04/06 | 1088 | graphics/asymptote/examples/NURBSsphere.asy
-2022/04/06 | 1598 | graphics/asymptote/examples/NURBSsurface.asy
-2022/04/06 | 1251 | graphics/asymptote/examples/odetest.asy
-2022/04/06 | 308 | graphics/asymptote/examples/oneoverx.asy
-2022/04/06 | 810 | graphics/asymptote/examples/orthocenter.asy
-2022/04/06 | 254 | graphics/asymptote/examples/parametricelevation.asy
-2022/04/06 | 407 | graphics/asymptote/examples/parametricsurface.asy
-2022/04/06 | 711 | graphics/asymptote/examples/partialsurface.asy
-2022/04/06 | 1055 | graphics/asymptote/examples/partitionExample.asy
-2022/04/06 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
-2022/04/06 | 3335 | graphics/asymptote/examples/pdb.asy
-2022/04/06 | 361 | graphics/asymptote/examples/phase.asy
-2022/04/06 | 22873 | graphics/asymptote/examples/piicon.png
-2022/04/06 | 362 | graphics/asymptote/examples/pipeintersection.asy
-2022/04/06 | 3857 | graphics/asymptote/examples/pipes.asy
-2022/04/06 | 418 | graphics/asymptote/examples/planeproject.asy
-2022/04/06 | 930 | graphics/asymptote/examples/polararea.asy
-2022/04/06 | 628 | graphics/asymptote/examples/polarcircle.asy
-2022/04/06 | 326 | graphics/asymptote/examples/polardatagraph.asy
-2022/04/06 | 641 | graphics/asymptote/examples/pOrbital.asy
-2022/04/06 | 954 | graphics/asymptote/examples/poster.asy
-2022/04/06 | 58 | graphics/asymptote/examples/progrid.asy
-2022/04/06 | 373 | graphics/asymptote/examples/projectelevation.asy
-2022/04/06 | 427 | graphics/asymptote/examples/projectrevolution.asy
-2022/04/06 | 747 | graphics/asymptote/examples/pseudosphere.asy
-2022/04/06 | 557 | graphics/asymptote/examples/Pythagoras.asy
-2022/04/06 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
-2022/04/06 | 734 | graphics/asymptote/examples/quilt.asy
-2022/04/06 | 345 | graphics/asymptote/examples/rainbow.asy
-2022/04/06 | 78 | graphics/asymptote/examples/randompath3.asy
-2022/04/06 | 1537 | graphics/asymptote/examples/refs.bib
-2022/04/06 | 990 | graphics/asymptote/examples/RiemannSphere.asy
-2022/04/06 | 348 | graphics/asymptote/examples/RiemannSurface.asy
-2022/04/06 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
-2022/04/06 | 141 | graphics/asymptote/examples/ring.asy
-2022/04/06 | 184 | graphics/asymptote/examples/roll.asy
-2022/04/06 | 1309 | graphics/asymptote/examples/roundpath.asy
-2022/04/06 | 288 | graphics/asymptote/examples/sacone3D.asy
-2022/04/06 | 445 | graphics/asymptote/examples/sacone.asy
-2022/04/06 | 341 | graphics/asymptote/examples/sacylinder3D.asy
-2022/04/06 | 400 | graphics/asymptote/examples/sacylinder.asy
-2022/04/06 | 66 | graphics/asymptote/examples/shade.asy
-2022/04/06 | 111 | graphics/asymptote/examples/shadestroke.asy
-2022/04/06 | 1065 | graphics/asymptote/examples/shellmethod.asy
-2022/04/06 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
-2022/04/06 | 410 | graphics/asymptote/examples/Sierpinski.asy
-2022/04/06 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
-2022/04/06 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
-2022/04/06 | 327 | graphics/asymptote/examples/sin1x.asy
-2022/04/06 | 579 | graphics/asymptote/examples/sin3.asy
-2022/04/06 | 591 | graphics/asymptote/examples/sinc.asy
-2022/04/06 | 378 | graphics/asymptote/examples/sinxlex.asy
-2022/04/06 | 3358 | graphics/asymptote/examples/slidedemo.asy
-2022/04/06 | 341 | graphics/asymptote/examples/slidedemo_.bbl
-2022/04/06 | 2023 | graphics/asymptote/examples/slope.asy
-2022/04/06 | 520 | graphics/asymptote/examples/smoothelevation.asy
-2022/04/06 | 2680 | graphics/asymptote/examples/soccerball.asy
-2022/04/06 | 2362 | graphics/asymptote/examples/spectrum.asy
-2022/04/06 | 141 | graphics/asymptote/examples/sphere.asy
-2022/04/06 | 150 | graphics/asymptote/examples/spheresilhouette.asy
-2022/04/06 | 162 | graphics/asymptote/examples/sphereskeleton.asy
-2022/04/06 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
-2022/04/06 | 424 | graphics/asymptote/examples/spiral3.asy
-2022/04/06 | 210 | graphics/asymptote/examples/spiral.asy
-2022/04/06 | 608 | graphics/asymptote/examples/spline.asy
-2022/04/06 | 2191 | graphics/asymptote/examples/splitpatch.asy
-2022/04/06 | 38 | graphics/asymptote/examples/spring0.asy
-2022/04/06 | 43 | graphics/asymptote/examples/spring2.asy
-2022/04/06 | 667 | graphics/asymptote/examples/spring.asy
-2022/04/06 | 674 | graphics/asymptote/examples/sqrtx01.asy
-2022/04/06 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
-2022/04/06 | 145 | graphics/asymptote/examples/star.asy
-2022/04/06 | 162 | graphics/asymptote/examples/stereoscopic.asy
-2022/04/06 | 59 | graphics/asymptote/examples/stroke3.asy
-2022/04/06 | 300 | graphics/asymptote/examples/strokepath.asy
-2022/04/06 | 175 | graphics/asymptote/examples/strokeshade.asy
-2022/04/06 | 198 | graphics/asymptote/examples/tanh.asy
-2022/04/06 | 14378 | graphics/asymptote/examples/teapot.asy
-2022/04/06 | 34 | graphics/asymptote/examples/teapotIBL.asy
-2022/04/06 | 303 | graphics/asymptote/examples/tensor.asy
-2022/04/06 | 547 | graphics/asymptote/examples/tetra.asy
-2022/04/06 | 312 | graphics/asymptote/examples/textpath.asy
-2022/04/06 | 8429 | graphics/asymptote/examples/thermodynamics.asy
-2022/04/06 | 576 | graphics/asymptote/examples/threeviews.asy
-2022/04/06 | 104 | graphics/asymptote/examples/tiling.asy
-2022/04/06 | 419 | graphics/asymptote/examples/torus.asy
-2022/04/06 | 188 | graphics/asymptote/examples/transparency.asy
-2022/04/06 | 250 | graphics/asymptote/examples/transparentCubes.asy
-2022/04/06 | 602 | graphics/asymptote/examples/treetest.asy
-2022/04/06 | 589 | graphics/asymptote/examples/trefoilknot.asy
-2022/04/06 | 972 | graphics/asymptote/examples/triads.asy
-2022/04/06 | 207 | graphics/asymptote/examples/triangle.asy
-2022/04/06 | 441 | graphics/asymptote/examples/triangles.asy
-2022/04/06 | 251 | graphics/asymptote/examples/triceratops.asy
-2022/04/06 | 291 | graphics/asymptote/examples/trumpet.asy
-2022/04/06 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
-2022/04/06 | 40665 | graphics/asymptote/examples/tvgen.asy
-2022/04/06 | 868 | graphics/asymptote/examples/twistedtubes.asy
-2022/04/06 | 433 | graphics/asymptote/examples/twoSpheres.asy
-2022/04/06 | 24924 | graphics/asymptote/examples/uhrturm.obj
-2022/04/06 | 322 | graphics/asymptote/examples/unitcircle.asy
-2022/04/06 | 430 | graphics/asymptote/examples/unitoctant.asy
-2022/04/06 | 714 | graphics/asymptote/examples/unitoctantx.asy
-2022/04/06 | 199 | graphics/asymptote/examples/upint.asy
-2022/04/06 | 525 | graphics/asymptote/examples/vectorfield3.asy
-2022/04/06 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
-2022/04/06 | 839 | graphics/asymptote/examples/venn3.asy
-2022/04/06 | 626 | graphics/asymptote/examples/venn.asy
-2022/04/06 | 802 | graphics/asymptote/examples/vertexshading.asy
-2022/04/06 | 360 | graphics/asymptote/examples/washer.asy
-2022/04/06 | 1010 | graphics/asymptote/examples/washermethod.asy
-2022/04/06 | 628 | graphics/asymptote/examples/wedge.asy
-2022/04/06 | 1030 | graphics/asymptote/examples/workcone.asy
-2022/04/06 | 978 | graphics/asymptote/examples/worksheet.asy
-2022/04/06 | 2626 | graphics/asymptote/examples/worldmap.asy
-2022/04/06 | 1261761 | graphics/asymptote/examples/worldmap.dat
-2022/04/06 | 580 | graphics/asymptote/examples/xsin1x.asy
-2022/04/06 | 3739 | graphics/asymptote/examples/xstitch.asy
-2022/04/06 | 743 | graphics/asymptote/examples/xxsq01.asy
-2022/04/06 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
-2022/04/06 | 825 | graphics/asymptote/examples/xxsq01y.asy
-2022/04/06 | 222 | graphics/asymptote/examples/yingyang.asy
-2022/04/06 | 37783 | graphics/asymptote/exp.cc
-2022/04/06 | 30307 | graphics/asymptote/exp.h
-2022/04/06 | 1188 | graphics/asymptote/EXRFiles.cc
-2022/04/06 | 454 | graphics/asymptote/EXRFiles.h
-2022/04/06 | 178 | graphics/asymptote/fftw++asy.cc
-2022/04/06 | 1694 | graphics/asymptote/fftw++.cc
-2022/04/06 | 45411 | graphics/asymptote/fftw++.h
-2022/04/06 | 4866 | graphics/asymptote/fileio.cc
-2022/04/06 | 21382 | graphics/asymptote/fileio.h
-2022/04/06 | 1245 | graphics/asymptote/findsym.pl
-2022/04/06 | 1020 | graphics/asymptote/flatguide.cc
-2022/04/06 | 4209 | graphics/asymptote/flatguide.h
-2022/04/06 | 654 | graphics/asymptote/fpu.h
-2022/04/06 | 2164 | graphics/asymptote/frame.h
-2022/04/06 | 9772 | graphics/asymptote/fundec.cc
-2022/04/06 | 4895 | graphics/asymptote/fundec.h
-2022/04/06 | 1183225 | graphics/asymptote/gc-8.2.0.tar.gz
-2022/04/06 | 6275 | graphics/asymptote/generate_enums.py
-2022/04/06 | 3153 | graphics/asymptote/genv.cc
-2022/04/06 | 1626 | graphics/asymptote/genv.h
-2022/04/06 | 4520 | graphics/asymptote/getopt1.c
-2022/04/06 | 30147 | graphics/asymptote/getopt.c
-2022/04/06 | 6650 | graphics/asymptote/getopt.h
-2022/04/06 | 202 | graphics/asymptote/glew.c
-2022/04/06 | 1235777 | graphics/asymptote/GL/glew.c
-2022/04/06 | 1186601 | graphics/asymptote/GL/glew.h
-2022/04/06 | 73435 | graphics/asymptote/GL/glxew.h
-2022/04/06 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
-2022/04/06 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
-2022/04/06 | 67072 | graphics/asymptote/glrender.cc
-2022/04/06 | 9319 | graphics/asymptote/glrender.h
-2022/04/06 | 818 | graphics/asymptote/GLTextures.cc
-2022/04/06 | 3634 | graphics/asymptote/GLTextures.h
-2022/04/06 | 63314 | graphics/asymptote/GL/wglew.h
-2022/04/06 | 50437 | graphics/asymptote/gsl.cc
-2022/04/06 | 22 | graphics/asymptote/GUI/configs/__init__.py
-2022/04/06 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
-2022/04/06 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
-2022/04/06 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
-2022/04/06 | 100 | graphics/asymptote/GUI/DebugFlags.py
-2022/04/06 | 1149 | graphics/asymptote/guide.cc
-2022/04/06 | 294 | graphics/asymptote/guideflags.h
-2022/04/06 | 6725 | graphics/asymptote/guide.h
-2022/04/06 | 1751 | graphics/asymptote/GUI/GuidesManager.py
-2022/04/06 | 23 | graphics/asymptote/GUI/__init__.py
-2022/04/06 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
-2022/04/06 | 5272 | graphics/asymptote/GUI/labelEditor.py
-2022/04/06 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
-2022/04/06 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
-2022/04/06 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
-2022/04/06 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
-2022/04/06 | 2948 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
-2022/04/06 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
-2022/04/06 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
-2022/04/06 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
-2022/04/06 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
-2022/04/06 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
-2022/04/06 | 57 | graphics/asymptote/GUI/requirements.txt
-2022/04/06 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
-2022/04/06 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
-2022/04/06 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
-2022/04/06 | 790 | graphics/asymptote/GUI/res/icons/android-camera.svg
-2022/04/06 | 683 | graphics/asymptote/GUI/res/icons/android-close.svg
-2022/04/06 | 1302 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
-2022/04/06 | 664 | graphics/asymptote/GUI/res/icons/android-delete.svg
-2022/04/06 | 620 | graphics/asymptote/GUI/res/icons/android-done.svg
-2022/04/06 | 810 | graphics/asymptote/GUI/res/icons/android-expand.svg
-2022/04/06 | 840 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
-2022/04/06 | 1467 | graphics/asymptote/GUI/res/icons/android-hand.svg
-2022/04/06 | 1108 | graphics/asymptote/GUI/res/icons/android-locate.svg
-2022/04/06 | 752 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
-2022/04/06 | 831 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
-2022/04/06 | 795 | graphics/asymptote/GUI/res/icons/android-refresh.svg
-2022/04/06 | 705 | graphics/asymptote/GUI/res/icons/arrow-move.svg
-2022/04/06 | 631 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
-2022/04/06 | 986 | graphics/asymptote/GUI/res/icons/brush.svg
-2022/04/06 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
-2022/04/06 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
-2022/04/06 | 111 | graphics/asymptote/GUI/res/icons/center.asy
-2022/04/06 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
-2022/04/06 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
-2022/04/06 | 858 | graphics/asymptote/GUI/res/icons/center.svg
-2022/04/06 | 771 | graphics/asymptote/GUI/res/icons/check.svg
-2022/04/06 | 1000 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
-2022/04/06 | 985 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
-2022/04/06 | 743 | graphics/asymptote/GUI/res/icons/circle.svg
-2022/04/06 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
-2022/04/06 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
-2022/04/06 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
-2022/04/06 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
-2022/04/06 | 829 | graphics/asymptote/GUI/res/icons/close-round.svg
-2022/04/06 | 1180 | graphics/asymptote/GUI/res/icons/code.svg
-2022/04/06 | 863 | graphics/asymptote/GUI/res/icons/edit.svg
-2022/04/06 | 988 | graphics/asymptote/GUI/res/icons/eye.svg
-2022/04/06 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
-2022/04/06 | 1732 | graphics/asymptote/GUI/res/icons/grid.svg
-2022/04/06 | 951 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
-2022/04/06 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
-2022/04/06 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
-2022/04/06 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
-2022/04/06 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
-2022/04/06 | 750 | graphics/asymptote/GUI/res/icons/plus-round.svg
-2022/04/06 | 1808 | graphics/asymptote/GUI/res/icons.qrc
-2022/04/06 | 1090 | graphics/asymptote/GUI/res/icons/redo.svg
-2022/04/06 | 663 | graphics/asymptote/GUI/res/icons/save.svg
-2022/04/06 | 1899 | graphics/asymptote/GUI/res/icons/social-python.svg
-2022/04/06 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
-2022/04/06 | 284 | graphics/asymptote/GUI/res/icons/text.svg
-2022/04/06 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
-2022/04/06 | 1047 | graphics/asymptote/GUI/res/icons/undo.svg
-2022/04/06 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
-2022/04/06 | 393 | graphics/asymptote/GUI/setup.py
-2022/04/06 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
-2022/04/06 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
-2022/04/06 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
-2022/04/06 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
-2022/04/06 | 94848 | graphics/asymptote/GUI/Window1.py
-2022/04/06 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
-2022/04/06 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
-2022/04/06 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
-2022/04/06 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
-2022/04/06 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
-2022/04/06 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
-2022/04/06 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
-2022/04/06 | 79003 | graphics/asymptote/GUI/windows/window1.ui
-2022/04/06 | 60074 | graphics/asymptote/GUI/xasy2asy.py
-2022/04/06 | 1183 | graphics/asymptote/GUI/xasyArgs.py
-2022/04/06 | 14085 | graphics/asymptote/GUI/xasyBezierInterface.py
-2022/04/06 | 4084 | graphics/asymptote/GUI/xasyFile.py
-2022/04/06 | 6717 | graphics/asymptote/GUI/xasyOptions.py
-2022/04/06 | 611 | graphics/asymptote/GUI/xasy.py
-2022/04/06 | 586 | graphics/asymptote/GUI/xasyStrings.py
-2022/04/06 | 733 | graphics/asymptote/GUI/xasySvg.py
-2022/04/06 | 1015 | graphics/asymptote/GUI/xasyTransform.py
-2022/04/06 | 1542 | graphics/asymptote/GUI/xasyUtils.py
-2022/04/06 | 238 | graphics/asymptote/GUI/xasyValidator.py
-2022/04/06 | 12823 | graphics/asymptote/impdatum.cc
-2022/04/06 | 127 | graphics/asymptote/index.html
-2022/04/06 | 10445 | graphics/asymptote/INSTALL
-2022/04/06 | 15645 | graphics/asymptote/install-sh
-2022/04/06 | 1982 | graphics/asymptote/inst.h
-2022/04/06 | 5601 | graphics/asymptote/interact.cc
-2022/04/06 | 1345 | graphics/asymptote/interact.h
-2022/04/06 | 5733 | graphics/asymptote/item.h
-2022/04/06 | 12105 | graphics/asymptote/jsfile.cc
-2022/04/06 | 3038 | graphics/asymptote/jsfile.h
-2022/04/06 | 609 | graphics/asymptote/keywords.cc
-2022/04/06 | 1253 | graphics/asymptote/keywords.pl
-2022/04/06 | 22345 | graphics/asymptote/knot.cc
-2022/04/06 | 12259 | graphics/asymptote/knot.h
-2022/04/06 | 342 | graphics/asymptote/lexical.h
-2022/04/06 | 83449 | graphics/asymptote/lex.yy.cc
-2022/04/06 | 506313 | graphics/asymptote/libatomic_ops-7.6.12.tar.gz
-2022/04/06 | 35147 | graphics/asymptote/LICENSE
-2022/04/06 | 7639 | graphics/asymptote/LICENSE.LESSER
-2022/04/06 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
-2022/04/06 | 2194 | graphics/asymptote/locate.cc
-2022/04/06 | 631 | graphics/asymptote/locate.h
-2022/04/06 | 12054 | graphics/asymptote/LspCpp/CMakeLists.txt
-2022/04/06 | 4925 | graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
-2022/04/06 | 3597 | graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
-2022/04/06 | 4853 | graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
-2022/04/06 | 8105 | graphics/asymptote/LspCpp/examples/WebsocketExample.cpp
-2022/04/06 | 460 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Cancellation.h
-2022/04/06 | 867 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Condition.h
-2022/04/06 | 7671 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Context.h
-2022/04/06 | 1665 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Endpoint.h
-2022/04/06 | 217 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/GCThreadContext.h
-2022/04/06 | 2845 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/json.h
-2022/04/06 | 1159 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsRequestId.h
-2022/04/06 | 1600 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsResponseMessage.h
-2022/04/06 | 30640 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/macro_map.h
-2022/04/06 | 628 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/message.h
-2022/04/06 | 4580 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageIssue.h
-2022/04/06 | 2122 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageJsonHandler.h
-2022/04/06 | 241 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageProducer.h
-2022/04/06 | 1475 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/NotificationInMessage.h
-2022/04/06 | 10070 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RemoteEndPoint.h
-2022/04/06 | 1774 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RequestInMessage.h
-2022/04/06 | 1765 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/ScopeExit.h
-2022/04/06 | 10581 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
-2022/04/06 | 2930 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/stream.h
-2022/04/06 | 1000 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/StreamMessageProducer.h
-2022/04/06 | 1183 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/TcpServer.h
-2022/04/06 | 6386 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
-2022/04/06 | 6369 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/traits.h
-2022/04/06 | 2424 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/WebSocketServer.h
-2022/04/06 | 706 | graphics/asymptote/LspCpp/include/LibLsp/lsp/AbsolutePath.h
-2022/04/06 | 8521 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
-2022/04/06 | 1567 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/registerCapability.h
-2022/04/06 | 1019 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/unregisterCapability.h
-2022/04/06 | 2636 | graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
-2022/04/06 | 236 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Directory.h
-2022/04/06 | 587 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
-2022/04/06 | 625 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
-2022/04/06 | 382 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/buildWorkspace.h
-2022/04/06 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
-2022/04/06 | 827 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
-2022/04/06 | 1002 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
-2022/04/06 | 631 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
-2022/04/06 | 294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/classFileContents.h
-2022/04/06 | 1109 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/codeActionResult.h
-2022/04/06 | 901 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/executeCommand.h
-2022/04/06 | 579 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/findLinks.h
-2022/04/06 | 565 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateAccessors.h
-2022/04/06 | 617 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateConstructors.h
-2022/04/06 | 828 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
-2022/04/06 | 738 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
-2022/04/06 | 514 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateToString.h
-2022/04/06 | 1673 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
-2022/04/06 | 2104 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
-2022/04/06 | 325 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
-2022/04/06 | 320 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/Move.h
-2022/04/06 | 301 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/organizeImports.h
-2022/04/06 | 907 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/OverridableMethod.h
-2022/04/06 | 309 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
-2022/04/06 | 748 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
-2022/04/06 | 722 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
-2022/04/06 | 229 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
-2022/04/06 | 4688 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
-2022/04/06 | 203 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
-2022/04/06 | 482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialized.h
-2022/04/06 | 1380 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialize.h
-2022/04/06 | 3418 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
-2022/04/06 | 1150 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
-2022/04/06 | 18994 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
-2022/04/06 | 22502 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
-2022/04/06 | 6889 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
-2022/04/06 | 693 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
-2022/04/06 | 487 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
-2022/04/06 | 4578 | graphics/asymptote/LspCpp/include/LibLsp/lsp/IProgressMonitor.h
-2022/04/06 | 2974 | graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
-2022/04/06 | 1808 | graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
-2022/04/06 | 4118 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lru_cache.h
-2022/04/06 | 3294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
-2022/04/06 | 1213 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
-2022/04/06 | 1328 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
-2022/04/06 | 778 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsDocumentUri.h
-2022/04/06 | 1192 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
-2022/04/06 | 1105 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
-2022/04/06 | 1411 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_code_action.h
-2022/04/06 | 7152 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
-2022/04/06 | 3834 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
-2022/04/06 | 1143 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsPosition.h
-2022/04/06 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsRange.h
-2022/04/06 | 3004 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
-2022/04/06 | 688 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentEdit.h
-2022/04/06 | 424 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentIdentifier.h
-2022/04/06 | 676 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentItem.h
-2022/04/06 | 667 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
-2022/04/06 | 2514 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
-2022/04/06 | 1154 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
-2022/04/06 | 2482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
-2022/04/06 | 3917 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/Markup.h
-2022/04/06 | 27859 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/string_ref.h
-2022/04/06 | 74 | graphics/asymptote/LspCpp/include/LibLsp/lsp/method_type.h
-2022/04/06 | 588 | graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
-2022/04/06 | 348 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ParentProcessWatcher.h
-2022/04/06 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProcessIoService.h
-2022/04/06 | 176 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProtocolJsonHandler.h
-2022/04/06 | 2675 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
-2022/04/06 | 1185 | graphics/asymptote/LspCpp/include/LibLsp/lsp/SimpleTimer.h
-2022/04/06 | 4265 | graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
-2022/04/06 | 3731 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
-2022/04/06 | 2668 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_action.h
-2022/04/06 | 1129 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
-2022/04/06 | 1615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/colorPresentation.h
-2022/04/06 | 2524 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
-2022/04/06 | 934 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/declaration_definition.h
-2022/04/06 | 1493 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
-2022/04/06 | 768 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_close.h
-2022/04/06 | 937 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
-2022/04/06 | 1056 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
-2022/04/06 | 808 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
-2022/04/06 | 1831 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/documentColor.h
-2022/04/06 | 1244 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
-2022/04/06 | 1814 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
-2022/04/06 | 1665 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/foldingRange.h
-2022/04/06 | 792 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/formatting.h
-2022/04/06 | 566 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/highlight.h
-2022/04/06 | 1617 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
-2022/04/06 | 488 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/implementation.h
-2022/04/06 | 1267 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
-2022/04/06 | 1054 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/onTypeFormatting.h
-2022/04/06 | 1033 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
-2022/04/06 | 751 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/publishDiagnostics.h
-2022/04/06 | 872 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/range_formatting.h
-2022/04/06 | 1195 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
-2022/04/06 | 1098 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/rename.h
-2022/04/06 | 223 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCodeLens.h
-2022/04/06 | 489 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCompletionItem.h
-2022/04/06 | 789 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
-2022/04/06 | 1440 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
-2022/04/06 | 2632 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/semanticHighlighting.h
-2022/04/06 | 9945 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
-2022/04/06 | 3391 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
-2022/04/06 | 490 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/type_definition.h
-2022/04/06 | 4199 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
-2022/04/06 | 1924 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
-2022/04/06 | 4899 | graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
-2022/04/06 | 2257 | graphics/asymptote/LspCpp/include/LibLsp/lsp/windows/MessageNotify.h
-2022/04/06 | 2149 | graphics/asymptote/LspCpp/include/LibLsp/lsp/working_files.h
-2022/04/06 | 1077 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
-2022/04/06 | 1161 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h
-2022/04/06 | 580 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_configuration.h
-2022/04/06 | 1352 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_watched_files.h
-2022/04/06 | 1321 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
-2022/04/06 | 794 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/execute_command.h
-2022/04/06 | 428 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/symbol.h
-2022/04/06 | 953 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
-2022/04/06 | 54109 | graphics/asymptote/LspCpp/include/optional.hpp
-2022/04/06 | 1066 | graphics/asymptote/LspCpp/LICENSE
-2022/04/06 | 1219 | graphics/asymptote/LspCpp/README.md
-2022/04/06 | 964 | graphics/asymptote/LspCpp/src/jsonrpc/Context.cpp
-2022/04/06 | 1201 | graphics/asymptote/LspCpp/src/jsonrpc/Endpoint.cpp
-2022/04/06 | 277 | graphics/asymptote/LspCpp/src/jsonrpc/GCThreadContext.cpp
-2022/04/06 | 2144 | graphics/asymptote/LspCpp/src/jsonrpc/message.cpp
-2022/04/06 | 1190 | graphics/asymptote/LspCpp/src/jsonrpc/MessageJsonHandler.cpp
-2022/04/06 | 54109 | graphics/asymptote/LspCpp/src/jsonrpc/optional.hpp
-2022/04/06 | 17088 | graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
-2022/04/06 | 4822 | graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
-2022/04/06 | 4396 | graphics/asymptote/LspCpp/src/jsonrpc/StreamMessageProducer.cpp
-2022/04/06 | 9003 | graphics/asymptote/LspCpp/src/jsonrpc/TcpServer.cpp
-2022/04/06 | 465 | graphics/asymptote/LspCpp/src/jsonrpc/threaded_queue.cpp
-2022/04/06 | 10251 | graphics/asymptote/LspCpp/src/jsonrpc/WebSocketServer.cpp
-2022/04/06 | 1074 | graphics/asymptote/LspCpp/src/lsp/initialize.cpp
-2022/04/06 | 23507 | graphics/asymptote/LspCpp/src/lsp/lsp.cpp
-2022/04/06 | 1673 | graphics/asymptote/LspCpp/src/lsp/lsp_diagnostic.cpp
-2022/04/06 | 33695 | graphics/asymptote/LspCpp/src/lsp/Markup.cpp
-2022/04/06 | 2913 | graphics/asymptote/LspCpp/src/lsp/ParentProcessWatcher.cpp
-2022/04/06 | 23931 | graphics/asymptote/LspCpp/src/lsp/ProtocolJsonHandler.cpp
-2022/04/06 | 11255 | graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
-2022/04/06 | 15976 | graphics/asymptote/LspCpp/src/lsp/utils.cpp
-2022/04/06 | 5350 | graphics/asymptote/LspCpp/src/lsp/working_files.cpp
-2022/04/06 | 2662 | graphics/asymptote/LspCpp/third_party/rapidjson/appveyor.yml
-2022/04/06 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/abcde.txt
-2022/04/06 | 582 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/glossary.json
-2022/04/06 | 872 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/menu.json
-2022/04/06 | 103 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/readme.txt
-2022/04/06 | 687491 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/sample.json
-2022/04/06 | 3467 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/webapp.json
-2022/04/06 | 601 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/widget.json
-2022/04/06 | 4375 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/draft-04/schema
-2022/04/06 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16bebom.json
-2022/04/06 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16be.json
-2022/04/06 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16lebom.json
-2022/04/06 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16le.json
-2022/04/06 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32bebom.json
-2022/04/06 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32be.json
-2022/04/06 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32lebom.json
-2022/04/06 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32le.json
-2022/04/06 | 319 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8bom.json
-2022/04/06 | 316 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8.json
-2022/04/06 | 58 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail10.json
-2022/04/06 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail11.json
-2022/04/06 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail12.json
-2022/04/06 | 43 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail13.json
-2022/04/06 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail14.json
-2022/04/06 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail15.json
-2022/04/06 | 8 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail16.json
-2022/04/06 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail17.json
-2022/04/06 | 50 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail18.json
-2022/04/06 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail19.json
-2022/04/06 | 60 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail1.json
-2022/04/06 | 23 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail20.json
-2022/04/06 | 32 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail21.json
-2022/04/06 | 33 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail22.json
-2022/04/06 | 20 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail23.json
-2022/04/06 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail24.json
-2022/04/06 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail25.json
-2022/04/06 | 38 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail26.json
-2022/04/06 | 14 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail27.json
-2022/04/06 | 15 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail28.json
-2022/04/06 | 4 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail29.json
-2022/04/06 | 17 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail2.json
-2022/04/06 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail30.json
-2022/04/06 | 7 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail31.json
-2022/04/06 | 40 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail32.json
-2022/04/06 | 12 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail33.json
-2022/04/06 | 37 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail3.json
-2022/04/06 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail4.json
-2022/04/06 | 24 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail5.json
-2022/04/06 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail6.json
-2022/04/06 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail7.json
-2022/04/06 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail8.json
-2022/04/06 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail9.json
-2022/04/06 | 1441 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass1.json
-2022/04/06 | 52 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass2.json
-2022/04/06 | 148 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass3.json
-2022/04/06 | 173 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/readme.txt
-2022/04/06 | 9059 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/bin/jsonschema_suite
-2022/04/06 | 1057 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/LICENSE
-2022/04/06 | 4787 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/README.md
-2022/04/06 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json
-2022/04/06 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/integer.json
-2022/04/06 | 110 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/subSchemas.json
-2022/04/06 | 2257 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json
-2022/04/06 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json
-2022/04/06 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/default.json
-2022/04/06 | 2989 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/dependencies.json
-2022/04/06 | 1936 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/disallow.json
-2022/04/06 | 1544 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json
-2022/04/06 | 1964 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/enum.json
-2022/04/06 | 2591 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/extends.json
-2022/04/06 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/items.json
-2022/04/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maximum.json
-2022/04/06 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxItems.json
-2022/04/06 | 895 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxLength.json
-2022/04/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minimum.json
-2022/04/06 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minItems.json
-2022/04/06 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minLength.json
-2022/04/06 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json
-2022/04/06 | 6751 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/format.json
-2022/04/06 | 463 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json
-2022/04/06 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json
-2022/04/06 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/pattern.json
-2022/04/06 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json
-2022/04/06 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/properties.json
-2022/04/06 | 4385 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/ref.json
-2022/04/06 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/refRemote.json
-2022/04/06 | 1282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/required.json
-2022/04/06 | 13217 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/type.json
-2022/04/06 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json
-2022/04/06 | 2282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json
-2022/04/06 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json
-2022/04/06 | 3025 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/allOf.json
-2022/04/06 | 1608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/anyOf.json
-2022/04/06 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/default.json
-2022/04/06 | 854 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/definitions.json
-2022/04/06 | 3139 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/dependencies.json
-2022/04/06 | 1975 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/enum.json
-2022/04/06 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/items.json
-2022/04/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maximum.json
-2022/04/06 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxItems.json
-2022/04/06 | 896 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxLength.json
-2022/04/06 | 759 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json
-2022/04/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minimum.json
-2022/04/06 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minItems.json
-2022/04/06 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minLength.json
-2022/04/06 | 725 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minProperties.json
-2022/04/06 | 1525 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json
-2022/04/06 | 2266 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/not.json
-2022/04/06 | 1607 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/oneOf.json
-2022/04/06 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json
-2022/04/06 | 4608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/format.json
-2022/04/06 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json
-2022/04/06 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/pattern.json
-2022/04/06 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json
-2022/04/06 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/properties.json
-2022/04/06 | 4366 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/ref.json
-2022/04/06 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/refRemote.json
-2022/04/06 | 923 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/required.json
-2022/04/06 | 9298 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/type.json
-2022/04/06 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json
-2022/04/06 | 134 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tox.ini
-2022/04/06 | 30003 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/alotofkeys.json
-2022/04/06 | 849 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/booleans.json
-2022/04/06 | 1698 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/floats.json
-2022/04/06 | 4202 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/guids.json
-2022/04/06 | 1098 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/integers.json
-2022/04/06 | 15142 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/mixed.json
-2022/04/06 | 802 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/nulls.json
-2022/04/06 | 33764 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/paragraphs.json
-2022/04/06 | 86 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/readme.txt
-2022/04/06 | 3157 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
-2022/04/06 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/allOf_address.json
-2022/04/06 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/anyOf_address.json
-2022/04/06 | 1315 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/idandref.json
-2022/04/06 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/oneOf_address.json
-2022/04/06 | 6818 | graphics/asymptote/LspCpp/third_party/rapidjson/CHANGELOG.md
-2022/04/06 | 10312 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
-2022/04/06 | 828 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeModules/FindGTestSrc.cmake
-2022/04/06 | 2175 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/LICENSE
-2022/04/06 | 2603 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
-2022/04/06 | 678 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/README.md
-2022/04/06 | 1052 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/CMakeLists.txt
-2022/04/06 | 912 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.dot
-2022/04/06 | 16569 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.png
-2022/04/06 | 2239 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.dot
-2022/04/06 | 37281 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.png
-2022/04/06 | 1915 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.dot
-2022/04/06 | 92378 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.png
-2022/04/06 | 176 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/makefile
-2022/04/06 | 935 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.dot
-2022/04/06 | 16081 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.png
-2022/04/06 | 1502 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.dot
-2022/04/06 | 41517 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.png
-2022/04/06 | 1454 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.dot
-2022/04/06 | 36371 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.png
-2022/04/06 | 1427 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.dot
-2022/04/06 | 32887 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.png
-2022/04/06 | 1435 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.dot
-2022/04/06 | 43670 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.png
-2022/04/06 | 1456 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.dot
-2022/04/06 | 44634 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.png
-2022/04/06 | 1775 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.dot
-2022/04/06 | 99993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.png
-2022/04/06 | 15464 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.md
-2022/04/06 | 15393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.zh-cn.md
-2022/04/06 | 103393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.in
-2022/04/06 | 103478 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.zh-cn.in
-2022/04/06 | 6708 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.md
-2022/04/06 | 6860 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.zh-cn.md
-2022/04/06 | 15364 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.md
-2022/04/06 | 15030 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.zh-cn.md
-2022/04/06 | 5005 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
-2022/04/06 | 4805 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.zh-cn.md
-2022/04/06 | 22426 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.md
-2022/04/06 | 21956 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.zh-cn.md
-2022/04/06 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/docker/debian/Dockerfile
-2022/04/06 | 5259 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.png
-2022/04/06 | 4230 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.svg
-2022/04/06 | 6572 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/doxygenextra.css
-2022/04/06 | 6090 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/DoxygenLayout.xml
-2022/04/06 | 256 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/footer.html
-2022/04/06 | 1137 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/header.html
-2022/04/06 | 363 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/npm.md
-2022/04/06 | 1268 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.md
-2022/04/06 | 1236 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.zh-cn.md
-2022/04/06 | 8883 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.md
-2022/04/06 | 8532 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.zh-cn.md
-2022/04/06 | 21276 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.md
-2022/04/06 | 19967 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.zh-cn.md
-2022/04/06 | 17993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
-2022/04/06 | 9765 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.zh-cn.md
-2022/04/06 | 14531 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.md
-2022/04/06 | 14325 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.zh-cn.md
-2022/04/06 | 22121 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.md
-2022/04/06 | 21546 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.zh-cn.md
-2022/04/06 | 7130 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.cpp
-2022/04/06 | 3567 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.h
-2022/04/06 | 6862 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archivertest.cpp
-2022/04/06 | 2577 | graphics/asymptote/LspCpp/third_party/rapidjson/example/capitalize/capitalize.cpp
-2022/04/06 | 982 | graphics/asymptote/LspCpp/third_party/rapidjson/example/CMakeLists.txt
-2022/04/06 | 1015 | graphics/asymptote/LspCpp/third_party/rapidjson/example/condense/condense.cpp
-2022/04/06 | 5946 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkeydom/filterkeydom.cpp
-2022/04/06 | 4979 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkey/filterkey.cpp
-2022/04/06 | 6022 | graphics/asymptote/LspCpp/third_party/rapidjson/example/jsonx/jsonx.cpp
-2022/04/06 | 9461 | graphics/asymptote/LspCpp/third_party/rapidjson/example/lookaheadparser/lookaheadparser.cpp
-2022/04/06 | 2814 | graphics/asymptote/LspCpp/third_party/rapidjson/example/messagereader/messagereader.cpp
-2022/04/06 | 5150 | graphics/asymptote/LspCpp/third_party/rapidjson/example/parsebyparts/parsebyparts.cpp
-2022/04/06 | 2245 | graphics/asymptote/LspCpp/third_party/rapidjson/example/prettyauto/prettyauto.cpp
-2022/04/06 | 1019 | graphics/asymptote/LspCpp/third_party/rapidjson/example/pretty/pretty.cpp
-2022/04/06 | 8705 | graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
-2022/04/06 | 4590 | graphics/asymptote/LspCpp/third_party/rapidjson/example/serialize/serialize.cpp
-2022/04/06 | 685 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simpledom/simpledom.cpp
-2022/04/06 | 2259 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplepullreader/simplepullreader.cpp
-2022/04/06 | 1868 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplereader/simplereader.cpp
-2022/04/06 | 1031 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplewriter/simplewriter.cpp
-2022/04/06 | 1610 | graphics/asymptote/LspCpp/third_party/rapidjson/example/sortkeys/sortkeys.cpp
-2022/04/06 | 943 | graphics/asymptote/LspCpp/third_party/rapidjson/example/traverseaspointer.cpp
-2022/04/06 | 6263 | graphics/asymptote/LspCpp/third_party/rapidjson/example/tutorial/tutorial.cpp
-2022/04/06 | 94 | graphics/asymptote/LspCpp/third_party/rapidjson/include_dirs.js
-2022/04/06 | 22522 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
-2022/04/06 | 2260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h
-2022/04/06 | 132820 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
-2022/04/06 | 10660 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodedstream.h
-2022/04/06 | 29260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodings.h
-2022/04/06 | 8831 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
-2022/04/06 | 9744 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
-2022/04/06 | 2980 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filereadstream.h
-2022/04/06 | 3125 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filewritestream.h
-2022/04/06 | 4013 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/fwd.h
-2022/04/06 | 9271 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
-2022/04/06 | 2045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/clzll.h
-2022/04/06 | 11559 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
-2022/04/06 | 8433 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
-2022/04/06 | 2973 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/ieee754.h
-2022/04/06 | 10110 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/itoa.h
-2022/04/06 | 6620 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/meta.h
-2022/04/06 | 3574 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/pow10.h
-2022/04/06 | 26120 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/regex.h
-2022/04/06 | 7163 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/stack.h
-2022/04/06 | 2726 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strfunc.h
-2022/04/06 | 9045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strtod.h
-2022/04/06 | 1398 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/swap.h
-2022/04/06 | 4061 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/istreamwrapper.h
-2022/04/06 | 2539 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorybuffer.h
-2022/04/06 | 2646 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorystream.h
-2022/04/06 | 8372 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h
-2022/04/06 | 9386 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h
-2022/04/06 | 2310 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/ostreamwrapper.h
-2022/04/06 | 63725 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
-2022/04/06 | 10518 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/prettywriter.h
-2022/04/06 | 25599 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
-2022/04/06 | 94336 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
-2022/04/06 | 121147 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
-2022/04/06 | 6732 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stream.h
-2022/04/06 | 3972 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stringbuffer.h
-2022/04/06 | 19752 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/uri.h
-2022/04/06 | 26856 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/writer.h
-2022/04/06 | 355 | graphics/asymptote/LspCpp/third_party/rapidjson/library.json
-2022/04/06 | 5152 | graphics/asymptote/LspCpp/third_party/rapidjson/license.txt
-2022/04/06 | 561 | graphics/asymptote/LspCpp/third_party/rapidjson/package.json
-2022/04/06 | 3407 | graphics/asymptote/LspCpp/third_party/rapidjson/rapidjson.autopkg
-2022/04/06 | 983 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfig.cmake.in
-2022/04/06 | 469 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfigVersion.cmake.in
-2022/04/06 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSON.pc.in
-2022/04/06 | 11146 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.md
-2022/04/06 | 8795 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.zh-cn.md
-2022/04/06 | 491 | graphics/asymptote/LspCpp/third_party/rapidjson/test/CMakeLists.txt
-2022/04/06 | 834 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/CMakeLists.txt
-2022/04/06 | 35467 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/misctest.cpp
-2022/04/06 | 975 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.cpp
-2022/04/06 | 5756 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.h
-2022/04/06 | 4456 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/platformtest.cpp
-2022/04/06 | 16302 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/rapidjsontest.cpp
-2022/04/06 | 7218 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/schematest.cpp
-2022/04/06 | 9040 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/allocatorstest.cpp
-2022/04/06 | 4420 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/bigintegertest.cpp
-2022/04/06 | 1092 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/clzlltest.cpp
-2022/04/06 | 3060 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/CMakeLists.txt
-2022/04/06 | 3733 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
-2022/04/06 | 21279 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/documenttest.cpp
-2022/04/06 | 3441 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/dtoatest.cpp
-2022/04/06 | 12004 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
-2022/04/06 | 19344 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodingstest.cpp
-2022/04/06 | 4389 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/filestreamtest.cpp
-2022/04/06 | 5837 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/fwdtest.cpp
-2022/04/06 | 5419 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/istreamwrappertest.cpp
-2022/04/06 | 3956 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/itoatest.cpp
-2022/04/06 | 4753 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/jsoncheckertest.cpp
-2022/04/06 | 2401 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/namespacetest.cpp
-2022/04/06 | 2478 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
-2022/04/06 | 1457 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/platformtest.cpp
-2022/04/06 | 62786 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
-2022/04/06 | 10350 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/prettywritertest.cpp
-2022/04/06 | 98539 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/readertest.cpp
-2022/04/06 | 17263 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/regextest.cpp
-2022/04/06 | 125009 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
-2022/04/06 | 7020 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
-2022/04/06 | 1316 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strfunctest.cpp
-2022/04/06 | 5544 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/stringbuffertest.cpp
-2022/04/06 | 4256 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strtodtest.cpp
-2022/04/06 | 1527 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.cpp
-2022/04/06 | 3979 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.h
-2022/04/06 | 28158 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
-2022/04/06 | 57599 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
-2022/04/06 | 17932 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/writertest.cpp
-2022/04/06 | 242 | graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
-2022/04/06 | 3294 | graphics/asymptote/LspCpp/third_party/rapidjson/travis-doxygen.sh
-2022/04/06 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/future.hpp
-2022/04/06 | 2088 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/locking_ptr.hpp
-2022/04/06 | 13824 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/pool_core.hpp
-2022/04/06 | 1006 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/scope_guard.hpp
-2022/04/06 | 2817 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/worker_thread.hpp
-2022/04/06 | 2649 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/future.hpp
-2022/04/06 | 663 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool.hpp
-2022/04/06 | 2000 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool_adaptors.hpp
-2022/04/06 | 7632 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool.hpp
-2022/04/06 | 6550 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/scheduling_policies.hpp
-2022/04/06 | 1957 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/shutdown_policies.hpp
-2022/04/06 | 2396 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
-2022/04/06 | 4345 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/task_adaptors.hpp
-2022/04/06 | 3723 | graphics/asymptote/LspCpp/third_party/threadpool/CHANGE_LOG
-2022/04/06 | 221 | graphics/asymptote/LspCpp/third_party/threadpool/COPYING
-2022/04/06 | 319 | graphics/asymptote/LspCpp/third_party/threadpool/Jamfile.v2
-2022/04/06 | 32 | graphics/asymptote/LspCpp/third_party/threadpool/Jamrules
-2022/04/06 | 5196 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.dox
-2022/04/06 | 1134 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design_header.htm
-2022/04/06 | 1322 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.txt
-2022/04/06 | 5202 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.dox
-2022/04/06 | 1122 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples_header.htm
-2022/04/06 | 113 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.txt
-2022/04/06 | 643 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/common_footer.htm
-2022/04/06 | 625 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/overview_footer.htm
-2022/04/06 | 994 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/common_footer.htm
-2022/04/06 | 967 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/overview_footer.htm
-2022/04/06 | 184 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/index.html
-2022/04/06 | 801 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/Makefile
-2022/04/06 | 5221 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.dox
-2022/04/06 | 1188 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview_header.htm
-2022/04/06 | 8296 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.txt
-2022/04/06 | 8411 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference.dox
-2022/04/06 | 1283 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference_header.htm
-2022/04/06 | 7619 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/threadpool.css
-2022/04/06 | 5203 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.dox
-2022/04/06 | 1332 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial_header.htm
-2022/04/06 | 6350 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.txt
-2022/04/06 | 195 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/Jamfile.v2
-2022/04/06 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/mergesort.cpp
-2022/04/06 | 194 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/Jamfile.v2
-2022/04/06 | 986 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/quickstart.cpp
-2022/04/06 | 321 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/README
-2022/04/06 | 2315 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp
-2022/04/06 | 199 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/Jamfile.v2
-2022/04/06 | 190 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/Jamfile.v2
-2022/04/06 | 5265 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/tutorial.cpp
-2022/04/06 | 1338 | graphics/asymptote/LspCpp/third_party/threadpool/LICENSE_1_0.txt
-2022/04/06 | 1125 | graphics/asymptote/LspCpp/third_party/threadpool/Makefile
-2022/04/06 | 67 | graphics/asymptote/LspCpp/third_party/threadpool/project-root.jam
-2022/04/06 | 279 | graphics/asymptote/LspCpp/third_party/threadpool/README
-2022/04/06 | 1088 | graphics/asymptote/LspCpp/third_party/threadpool/TODO
-2022/04/06 | 1216 | graphics/asymptote/LspCpp/third_party/uri/CHANGELOG.md
-2022/04/06 | 648 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
-2022/04/06 | 3036 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
-2022/04/06 | 188 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/cmake_clean.cmake
-2022/04/06 | 113 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.make
-2022/04/06 | 107 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.ts
-2022/04/06 | 423 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
-2022/04/06 | 22 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/progress.make
-2022/04/06 | 2 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/progress.marks
-2022/04/06 | 1703 | graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
-2022/04/06 | 3282 | graphics/asymptote/LspCpp/third_party/uri/CMakeLists.txt
-2022/04/06 | 6104 | graphics/asymptote/LspCpp/third_party/uri/deps/BUILD.bazel
-2022/04/06 | 4160 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/linux-presubmit.sh
-2022/04/06 | 2608 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/macos-presubmit.sh
-2022/04/06 | 784 | graphics/asymptote/LspCpp/third_party/uri/deps/CMakeLists.txt
-2022/04/06 | 5683 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTING.md
-2022/04/06 | 2223 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTORS
-2022/04/06 | 86552 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/advanced.md
-2022/04/06 | 56 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/assets/css/style.scss
-2022/04/06 | 342 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/community_created_documentation.md
-2022/04/06 | 18 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_config.yml
-2022/04/06 | 1200 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_data/navigation.yml
-2022/04/06 | 29900 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/faq.md
-2022/04/06 | 7364 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cheat_sheet.md
-2022/04/06 | 145014 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cook_book.md
-2022/04/06 | 14980 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_faq.md
-2022/04/06 | 29203 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_for_dummies.md
-2022/04/06 | 1034 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/index.md
-2022/04/06 | 2319 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_layouts/default.html
-2022/04/06 | 5062 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/pkgconfig.md
-2022/04/06 | 929 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/platforms.md
-2022/04/06 | 19136 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/primer.md
-2022/04/06 | 5204 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-bazel.md
-2022/04/06 | 5054 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-cmake.md
-2022/04/06 | 6872 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/actions.md
-2022/04/06 | 21535 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/assertions.md
-2022/04/06 | 20123 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/matchers.md
-2022/04/06 | 20974 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/mocking.md
-2022/04/06 | 43830 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/testing.md
-2022/04/06 | 1118 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/samples.md
-2022/04/06 | 2915 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_sass/main.scss
-2022/04/06 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock_main.pc.in
-2022/04/06 | 347 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock.pc.in
-2022/04/06 | 8129 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/CMakeLists.txt
-2022/04/06 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/docs/README.md
-2022/04/06 | 61667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-actions.h
-2022/04/06 | 6097 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-cardinalities.h
-2022/04/06 | 25503 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-function-mocker.h
-2022/04/06 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock.h
-2022/04/06 | 207686 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-matchers.h
-2022/04/06 | 30920 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-actions.h
-2022/04/06 | 3419 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-matchers.h
-2022/04/06 | 10476 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-nice-strict.h
-2022/04/06 | 76445 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-spec-builders.h
-2022/04/06 | 314 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-generated-actions.h
-2022/04/06 | 1918 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-matchers.h
-2022/04/06 | 1953 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-port.h
-2022/04/06 | 510 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/README.md
-2022/04/06 | 18448 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-internal-utils.h
-2022/04/06 | 4807 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-port.h
-2022/04/06 | 13491 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-pp.h
-2022/04/06 | 1538 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/README.md
-2022/04/06 | 2107 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-all.cc
-2022/04/06 | 5262 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-cardinalities.cc
-2022/04/06 | 8528 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock.cc
-2022/04/06 | 9267 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-internal-utils.cc
-2022/04/06 | 3011 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock_main.cc
-2022/04/06 | 17951 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-matchers.cc
-2022/04/06 | 33482 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-spec-builders.cc
-2022/04/06 | 3266 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/BUILD.bazel
-2022/04/06 | 51302 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-actions_test.cc
-2022/04/06 | 2335 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_all_test.cc
-2022/04/06 | 12321 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-cardinalities_test.cc
-2022/04/06 | 3280 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_ex_test.cc
-2022/04/06 | 33667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-function-mocker_test.cc
-2022/04/06 | 28114 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-internal-utils_test.cc
-2022/04/06 | 3230 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test_.cc
-2022/04/06 | 4357 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test.py
-2022/04/06 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link2_test.cc
-2022/04/06 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.cc
-2022/04/06 | 19604 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.h
-2022/04/06 | 287695 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-matchers_test.cc
-2022/04/06 | 53373 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-more-actions_test.cc
-2022/04/06 | 15529 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-nice-strict_test.cc
-2022/04/06 | 8561 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_.cc
-2022/04/06 | 13612 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_golden.txt
-2022/04/06 | 6175 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test.py
-2022/04/06 | 1977 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-port_test.cc
-2022/04/06 | 8789 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp-string_test.cc
-2022/04/06 | 3517 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp_test.cc
-2022/04/06 | 74749 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-spec-builders_test.cc
-2022/04/06 | 7287 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_stress_test.cc
-2022/04/06 | 6412 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test.cc
-2022/04/06 | 3218 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test_utils.py
-2022/04/06 | 284 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/Config.cmake.in
-2022/04/06 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest_main.pc.in
-2022/04/06 | 311 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest.pc.in
-2022/04/06 | 14575 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/internal_utils.cmake
-2022/04/06 | 499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/libgtest.la.in
-2022/04/06 | 11937 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/CMakeLists.txt
-2022/04/06 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/docs/README.md
-2022/04/06 | 8307 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-assertion-result.h
-2022/04/06 | 14651 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-death-test.h
-2022/04/06 | 88387 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest.h
-2022/04/06 | 33240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-matchers.h
-2022/04/06 | 8120 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-message.h
-2022/04/06 | 22663 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-param-test.h
-2022/04/06 | 15043 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_pred_impl.h
-2022/04/06 | 36540 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-printers.h
-2022/04/06 | 2499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_prod.h
-2022/04/06 | 10073 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-spi.h
-2022/04/06 | 6944 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-test-part.h
-2022/04/06 | 15959 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-typed-test.h
-2022/04/06 | 1858 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest.h
-2022/04/06 | 1873 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-port.h
-2022/04/06 | 2094 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-printers.h
-2022/04/06 | 1753 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/README.md
-2022/04/06 | 13366 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-death-test-internal.h
-2022/04/06 | 9856 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-filepath.h
-2022/04/06 | 61699 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-internal.h
-2022/04/06 | 35217 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-param-util.h
-2022/04/06 | 4207 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port-arch.h
-2022/04/06 | 85342 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port.h
-2022/04/06 | 7304 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-string.h
-2022/04/06 | 6252 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-type-util.h
-2022/04/06 | 8894 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/README.md
-2022/04/06 | 4247 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/prime_tables.h
-2022/04/06 | 4985 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample10_unittest.cc
-2022/04/06 | 2470 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.cc
-2022/04/06 | 1919 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.h
-2022/04/06 | 5111 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1_unittest.cc
-2022/04/06 | 2260 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.cc
-2022/04/06 | 2982 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.h
-2022/04/06 | 3917 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2_unittest.cc
-2022/04/06 | 5375 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3-inl.h
-2022/04/06 | 5360 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3_unittest.cc
-2022/04/06 | 2110 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.cc
-2022/04/06 | 2132 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.h
-2022/04/06 | 1995 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4_unittest.cc
-2022/04/06 | 6585 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample5_unittest.cc
-2022/04/06 | 8861 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample6_unittest.cc
-2022/04/06 | 4620 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample7_unittest.cc
-2022/04/06 | 6194 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample8_unittest.cc
-2022/04/06 | 5925 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample9_unittest.cc
-2022/04/06 | 2201 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-all.cc
-2022/04/06 | 3025 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-assertion-result.cc
-2022/04/06 | 252536 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest.cc
-2022/04/06 | 62413 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-death-test.cc
-2022/04/06 | 14081 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-filepath.cc
-2022/04/06 | 46854 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-internal-inl.h
-2022/04/06 | 1968 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest_main.cc
-2022/04/06 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-matchers.cc
-2022/04/06 | 47582 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-port.cc
-2022/04/06 | 18474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-printers.cc
-2022/04/06 | 4126 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-test-part.cc
-2022/04/06 | 3780 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-typed-test.cc
-2022/04/06 | 15318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/BUILD.bazel
-2022/04/06 | 3240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest_.cc
-2022/04/06 | 7322 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest.py
-2022/04/06 | 8386 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test_.cc
-2022/04/06 | 10023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test.py
-2022/04/06 | 2505 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test_.cc
-2022/04/06 | 4896 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test.py
-2022/04/06 | 3601 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test_ex_test.cc
-2022/04/06 | 47993 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test-test.cc
-2022/04/06 | 3704 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test_.cc
-2022/04/06 | 4173 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test.py
-2022/04/06 | 5595 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest_.cc
-2022/04/06 | 14915 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest.py
-2022/04/06 | 22642 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filepath-test.cc
-2022/04/06 | 3466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest_.cc
-2022/04/06 | 21466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest.py
-2022/04/06 | 2286 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest_.cc
-2022/04/06 | 5254 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest.py
-2022/04/06 | 5705 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-outfiles-test.py
-2022/04/06 | 24483 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-output-unittest.py
-2022/04/06 | 24474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-listener-test.cc
-2022/04/06 | 4668 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest_.cc
-2022/04/06 | 6543 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest.py
-2022/04/06 | 5265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-message-test.cc
-2022/04/06 | 7957 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-options-test.cc
-2022/04/06 | 36152 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test_.cc
-2022/04/06 | 42714 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test-golden-lin.txt
-2022/04/06 | 12648 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test.py
-2022/04/06 | 2813 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test2-test.cc
-2022/04/06 | 2023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test_.cc
-2022/04/06 | 2400 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test.py
-2022/04/06 | 2138 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test_.cc
-2022/04/06 | 2355 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test.py
-2022/04/06 | 40998 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.cc
-2022/04/06 | 2282 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.h
-2022/04/06 | 40876 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-port-test.cc
-2022/04/06 | 63842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-printers-test.cc
-2022/04/06 | 1949 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test_.cc
-2022/04/06 | 2265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test.py
-2022/04/06 | 3219 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test_.cc
-2022/04/06 | 12539 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test.py
-2022/04/06 | 8112 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-test-part-test.cc
-2022/04/06 | 3069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test_.cc
-2022/04/06 | 5658 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test.py
-2022/04/06 | 1878 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test_.cc
-2022/04/06 | 2495 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test.py
-2022/04/06 | 2239 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_all_test.cc
-2022/04/06 | 3842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_assert_by_exception_test.cc
-2022/04/06 | 6418 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_environment_test.cc
-2022/04/06 | 2088 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test_.cc
-2022/04/06 | 6037 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test.py
-2022/04/06 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_json_test_utils.py
-2022/04/06 | 3197 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest_.cc
-2022/04/06 | 9502 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest.py
-2022/04/06 | 1841 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_main_unittest.cc
-2022/04/06 | 2403 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_no_test_unittest.cc
-2022/04/06 | 77498 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_pred_impl_unittest.cc
-2022/04/06 | 4283 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_premature_exit_test.cc
-2022/04/06 | 2147 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_prod_test.cc
-2022/04/06 | 7180 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_repeat_test.cc
-2022/04/06 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_check_output_test.py
-2022/04/06 | 2230 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_environment_check_output_test.py
-2022/04/06 | 2069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_in_environment_setup_test.cc
-2022/04/06 | 2005 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_test.cc
-2022/04/06 | 2175 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_sole_header_test.cc
-2022/04/06 | 9318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_stress_test.cc
-2022/04/06 | 1923 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test_.cc
-2022/04/06 | 2496 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test.py
-2022/04/06 | 3767 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_macro_stack_footprint_test.cc
-2022/04/06 | 8407 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_utils.py
-2022/04/06 | 3392 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_throw_on_failure_ex_test.cc
-2022/04/06 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test2_test.cc
-2022/04/06 | 14089 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.cc
-2022/04/06 | 2396 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.h
-2022/04/06 | 13060 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-unittest-api_test.cc
-2022/04/06 | 261756 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_unittest.cc
-2022/04/06 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile1_test_.cc
-2022/04/06 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile2_test_.cc
-2022/04/06 | 5415 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfiles_test.py
-2022/04/06 | 6376 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest_.cc
-2022/04/06 | 20639 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest.py
-2022/04/06 | 9327 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_test_utils.py
-2022/04/06 | 1675 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.cc
-2022/04/06 | 2130 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.h
-2022/04/06 | 1475 | graphics/asymptote/LspCpp/third_party/uri/deps/LICENSE
-2022/04/06 | 4613 | graphics/asymptote/LspCpp/third_party/uri/deps/README.md
-2022/04/06 | 781 | graphics/asymptote/LspCpp/third_party/uri/deps/WORKSPACE
-2022/04/06 | 74120 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile
-2022/04/06 | 74016 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile.in
-2022/04/06 | 16552 | graphics/asymptote/LspCpp/third_party/uri/include/network/optional.hpp
-2022/04/06 | 7731 | graphics/asymptote/LspCpp/third_party/uri/include/network/string_view.hpp
-2022/04/06 | 572 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/config.hpp
-2022/04/06 | 1898 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
-2022/04/06 | 4438 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
-2022/04/06 | 2151 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
-2022/04/06 | 2073 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
-2022/04/06 | 1031 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri.hpp
-2022/04/06 | 6917 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
-2022/04/06 | 2459 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
-2022/04/06 | 21998 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri.hpp
-2022/04/06 | 1710 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_io.hpp
-2022/04/06 | 1338 | graphics/asymptote/LspCpp/third_party/uri/LICENSE_1_0.txt
-2022/04/06 | 7049 | graphics/asymptote/LspCpp/third_party/uri/Makefile
-2022/04/06 | 2328 | graphics/asymptote/LspCpp/third_party/uri/README.rst
-2022/04/06 | 648 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
-2022/04/06 | 20942 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
-2022/04/06 | 1104 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean.cmake
-2022/04/06 | 43 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean_target.cmake
-2022/04/06 | 67309 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
-2022/04/06 | 79178 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
-2022/04/06 | 118 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
-2022/04/06 | 2295 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
-2022/04/06 | 95 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/depend.make
-2022/04/06 | 413 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
-2022/04/06 | 457 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/link.txt
-2022/04/06 | 199 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/progress.make
-2022/04/06 | 2 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/progress.marks
-2022/04/06 | 1540 | graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
-2022/04/06 | 1008 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeLists.txt
-2022/04/06 | 2115 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
-2022/04/06 | 2100 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm.hpp
-2022/04/06 | 2281 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
-2022/04/06 | 3063 | graphics/asymptote/LspCpp/third_party/uri/src/detail/grammar.hpp
-2022/04/06 | 2313 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
-2022/04/06 | 639 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
-2022/04/06 | 2035 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
-2022/04/06 | 594 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
-2022/04/06 | 2996 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
-2022/04/06 | 710 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
-2022/04/06 | 10414 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.cpp
-2022/04/06 | 563 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.hpp
-2022/04/06 | 1830 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
-2022/04/06 | 2526 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
-2022/04/06 | 714 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
-2022/04/06 | 16661 | graphics/asymptote/LspCpp/third_party/uri/src/Makefile
-2022/04/06 | 4227 | graphics/asymptote/LspCpp/third_party/uri/src/uri_builder.cpp
-2022/04/06 | 18382 | graphics/asymptote/LspCpp/third_party/uri/src/uri.cpp
-2022/04/06 | 1916 | graphics/asymptote/LspCpp/third_party/uri/src/uri_errors.cpp
-2022/04/06 | 1039 | graphics/asymptote/LspCpp/third_party/uri/test/CMakeLists.txt
-2022/04/06 | 572 | graphics/asymptote/LspCpp/third_party/uri/test/invalid_urls.txt
-2022/04/06 | 4347 | graphics/asymptote/LspCpp/third_party/uri/test/optional_test.cpp
-2022/04/06 | 483 | graphics/asymptote/LspCpp/third_party/uri/test/string_utility.hpp
-2022/04/06 | 2053 | graphics/asymptote/LspCpp/third_party/uri/test/test_uri.hpp
-2022/04/06 | 22505 | graphics/asymptote/LspCpp/third_party/uri/test/uri_builder_test.cpp
-2022/04/06 | 3139 | graphics/asymptote/LspCpp/third_party/uri/test/uri_comparison_test.cpp
-2022/04/06 | 5319 | graphics/asymptote/LspCpp/third_party/uri/test/uri_encoding_test.cpp
-2022/04/06 | 8767 | graphics/asymptote/LspCpp/third_party/uri/test/uri_normalization_test.cpp
-2022/04/06 | 3870 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_path_test.cpp
-2022/04/06 | 2578 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_scheme_test.cpp
-2022/04/06 | 18327 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_test.cpp
-2022/04/06 | 2682 | graphics/asymptote/LspCpp/third_party/uri/test/uri_reference_test.cpp
-2022/04/06 | 10168 | graphics/asymptote/LspCpp/third_party/uri/test/uri_resolve_test.cpp
-2022/04/06 | 1419 | graphics/asymptote/LspCpp/third_party/uri/test/uri_stream_test.cpp
-2022/04/06 | 33275 | graphics/asymptote/LspCpp/third_party/uri/test/uri_test.cpp
-2022/04/06 | 1116 | graphics/asymptote/LspCpp/third_party/uri/test/valid_urls.txt
-2022/04/06 | 1291 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
-2022/04/06 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
-2022/04/06 | 55726 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
-2022/04/06 | 2123 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
-2022/04/06 | 12474 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
-2022/04/06 | 10928 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
-2022/04/06 | 3306 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
-2022/04/06 | 3298 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
-2022/04/06 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
-2022/04/06 | 10989 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
-2022/04/06 | 1734 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
-2022/04/06 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
-2022/04/06 | 2143 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
-2022/04/06 | 5578 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp
-2022/04/06 | 1032 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp
-2022/04/06 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
-2022/04/06 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
-2022/04/06 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
-2022/04/06 | 4626 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp
-2022/04/06 | 1002 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp
-2022/04/06 | 21544 | graphics/asymptote/lspserv.cc
-2022/04/06 | 6528 | graphics/asymptote/lspserv.h
-2022/04/06 | 6641 | graphics/asymptote/main.cc
-2022/04/06 | 12842 | graphics/asymptote/Makefile.in
-2022/04/06 | 920 | graphics/asymptote/makeUnique.h
-2022/04/06 | 2960 | graphics/asymptote/material.h
-2022/04/06 | 6414 | graphics/asymptote/mathop.h
-2022/04/06 | 5095 | graphics/asymptote/memory.h
-2022/04/06 | 714 | graphics/asymptote/mod.h
-2022/04/06 | 908 | graphics/asymptote/modifier.h
-2022/04/06 | 8037 | graphics/asymptote/name.cc
-2022/04/06 | 5691 | graphics/asymptote/name.h
-2022/04/06 | 4285 | graphics/asymptote/newexp.cc
-2022/04/06 | 1274 | graphics/asymptote/newexp.h
-2022/04/06 | 916 | graphics/asymptote/opcodes.h
-2022/04/06 | 1050 | graphics/asymptote/opsymbols.pl
-2022/04/06 | 5308 | graphics/asymptote/pair.h
-2022/04/06 | 4873 | graphics/asymptote/parser.cc
-2022/04/06 | 1171 | graphics/asymptote/parser.h
-2022/04/06 | 5262 | graphics/asymptote/patches/bison.patch
-2022/04/06 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
-2022/04/06 | 1299 | graphics/asymptote/patches/dvipdf
-2022/04/06 | 113 | graphics/asymptote/patches/fixmem.reg
-2022/04/06 | 1524 | graphics/asymptote/patches/flex.patch
-2022/04/06 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
-2022/04/06 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
-2022/04/06 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
-2022/04/06 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
-2022/04/06 | 1082 | graphics/asymptote/patches/README
-2022/04/06 | 37991 | graphics/asymptote/path3.cc
-2022/04/06 | 10585 | graphics/asymptote/path3.h
-2022/04/06 | 33417 | graphics/asymptote/path.cc
-2022/04/06 | 11663 | graphics/asymptote/path.h
-2022/04/06 | 1594 | graphics/asymptote/pen.cc
-2022/04/06 | 27958 | graphics/asymptote/pen.h
-2022/04/06 | 42852 | graphics/asymptote/picture.cc
-2022/04/06 | 3472 | graphics/asymptote/picture.h
-2022/04/06 | 5250 | graphics/asymptote/pipestream.cc
-2022/04/06 | 2614 | graphics/asymptote/pipestream.h
-2022/04/06 | 138 | graphics/asymptote/Pipfile
-2022/04/06 | 2542 | graphics/asymptote/policy.h
-2022/04/06 | 650 | graphics/asymptote/prcfile.h
-2022/04/06 | 974 | graphics/asymptote/prc/Makefile
-2022/04/06 | 71201 | graphics/asymptote/prc/oPRCFile.cc
-2022/04/06 | 51671 | graphics/asymptote/prc/oPRCFile.h
-2022/04/06 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
-2022/04/06 | 2518 | graphics/asymptote/prc/PRCbitStream.h
-2022/04/06 | 177246 | graphics/asymptote/prc/PRCdouble.cc
-2022/04/06 | 3765 | graphics/asymptote/prc/PRCdouble.h
-2022/04/06 | 30208 | graphics/asymptote/prc/PRC.h
-2022/04/06 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
-2022/04/06 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
-2022/04/06 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
-2022/04/06 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
-2022/04/06 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
-2022/04/06 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
-2022/04/06 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
-2022/04/06 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
-2022/04/06 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
-2022/04/06 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
-2022/04/06 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
-2022/04/06 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
-2022/04/06 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
-2022/04/06 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
-2022/04/06 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
-2022/04/06 | 95 | graphics/asymptote/prc/test.asy
-2022/04/06 | 36243 | graphics/asymptote/prc/test.cc
-2022/04/06 | 66751 | graphics/asymptote/prc/writePRC.cc
-2022/04/06 | 48481 | graphics/asymptote/prc/writePRC.h
-2022/04/06 | 116010 | graphics/asymptote/predicates.cc
-2022/04/06 | 986 | graphics/asymptote/predicates.h
-2022/04/06 | 1236 | graphics/asymptote/primitives.h
-2022/04/06 | 23904 | graphics/asymptote/process.cc
-2022/04/06 | 4919 | graphics/asymptote/process.h
-2022/04/06 | 2378 | graphics/asymptote/profile.py
-2022/04/06 | 9923 | graphics/asymptote/profiler.h
-2022/04/06 | 3265 | graphics/asymptote/program.cc
-2022/04/06 | 2561 | graphics/asymptote/program.h
-2022/04/06 | 19085 | graphics/asymptote/psfile.cc
-2022/04/06 | 9021 | graphics/asymptote/psfile.h
-2022/04/06 | 2505 | graphics/asymptote/README
-2022/04/06 | 1698 | graphics/asymptote/record.cc
-2022/04/06 | 2732 | graphics/asymptote/record.h
-2022/04/06 | 1096 | graphics/asymptote/refaccess.cc
-2022/04/06 | 1936 | graphics/asymptote/refaccess.h
-2022/04/06 | 129022 | graphics/asymptote/ReleaseNotes
-2022/04/06 | 62 | graphics/asymptote/revision.cc
-2022/04/06 | 3441 | graphics/asymptote/rounding.h
-2022/04/06 | 73246 | graphics/asymptote/runarray.cc
-2022/04/06 | 1492 | graphics/asymptote/runarray.h
-2022/04/06 | 48409 | graphics/asymptote/runarray.in
-2022/04/06 | 2661 | graphics/asymptote/runbacktrace.cc
-2022/04/06 | 169 | graphics/asymptote/runbacktrace.h
-2022/04/06 | 831 | graphics/asymptote/runbacktrace.in
-2022/04/06 | 17798 | graphics/asymptote/runfile.cc
-2022/04/06 | 969 | graphics/asymptote/runfile.h
-2022/04/06 | 5987 | graphics/asymptote/runfile.in
-2022/04/06 | 8096 | graphics/asymptote/runhistory.cc
-2022/04/06 | 161 | graphics/asymptote/runhistory.h
-2022/04/06 | 5064 | graphics/asymptote/runhistory.in
-2022/04/06 | 15833 | graphics/asymptote/runlabel.cc
-2022/04/06 | 153 | graphics/asymptote/runlabel.h
-2022/04/06 | 12093 | graphics/asymptote/runlabel.in
-2022/04/06 | 21926 | graphics/asymptote/runmath.cc
-2022/04/06 | 269 | graphics/asymptote/runmath.h
-2022/04/06 | 8856 | graphics/asymptote/runmath.in
-2022/04/06 | 16483 | graphics/asymptote/runpair.cc
-2022/04/06 | 299 | graphics/asymptote/runpair.h
-2022/04/06 | 4156 | graphics/asymptote/runpair.in
-2022/04/06 | 25701 | graphics/asymptote/runpath3d.cc
-2022/04/06 | 186 | graphics/asymptote/runpath3d.h
-2022/04/06 | 8008 | graphics/asymptote/runpath3d.in
-2022/04/06 | 26844 | graphics/asymptote/runpath.cc
-2022/04/06 | 177 | graphics/asymptote/runpath.h
-2022/04/06 | 8439 | graphics/asymptote/runpath.in
-2022/04/06 | 57944 | graphics/asymptote/runpicture.cc
-2022/04/06 | 191 | graphics/asymptote/runpicture.h
-2022/04/06 | 20090 | graphics/asymptote/runpicture.in
-2022/04/06 | 18739 | graphics/asymptote/runstring.cc
-2022/04/06 | 188 | graphics/asymptote/runstring.h
-2022/04/06 | 9867 | graphics/asymptote/runstring.in
-2022/04/06 | 12604 | graphics/asymptote/runsystem.cc
-2022/04/06 | 157 | graphics/asymptote/runsystem.h
-2022/04/06 | 5111 | graphics/asymptote/runsystem.in
-2022/04/06 | 1341 | graphics/asymptote/runtimebase.in
-2022/04/06 | 60939 | graphics/asymptote/runtime.cc
-2022/04/06 | 1163 | graphics/asymptote/runtime.h
-2022/04/06 | 20633 | graphics/asymptote/runtime.in
-2022/04/06 | 7274 | graphics/asymptote/runtime.pl
-2022/04/06 | 13944 | graphics/asymptote/runtriple.cc
-2022/04/06 | 320 | graphics/asymptote/runtriple.h
-2022/04/06 | 2707 | graphics/asymptote/runtriple.in
-2022/04/06 | 2136 | graphics/asymptote/seconds.h
-2022/04/06 | 54731 | graphics/asymptote/settings.cc
-2022/04/06 | 2707 | graphics/asymptote/settings.h
-2022/04/06 | 3553 | graphics/asymptote/shaders.cc
-2022/04/06 | 830 | graphics/asymptote/shaders.h
-2022/04/06 | 6634 | graphics/asymptote/simpson.cc
-2022/04/06 | 14532 | graphics/asymptote/stack.cc
-2022/04/06 | 3295 | graphics/asymptote/stack.h
-2022/04/06 | 942 | graphics/asymptote/statistics.h
-2022/04/06 | 14795 | graphics/asymptote/stm.cc
-2022/04/06 | 5183 | graphics/asymptote/stm.h
-2022/04/06 | 9104 | graphics/asymptote/symbol.cc
-2022/04/06 | 2776 | graphics/asymptote/symbol.h
-2022/04/06 | 24784 | graphics/asymptote/symbolmaps.cc
-2022/04/06 | 28328 | graphics/asymptote/symbolmaps.h
-2022/04/06 | 2697 | graphics/asymptote/table.h
-2022/04/06 | 620 | graphics/asymptote/tests/arith/integer.asy
-2022/04/06 | 449 | graphics/asymptote/tests/arith/pair.asy
-2022/04/06 | 193 | graphics/asymptote/tests/arith/random.asy
-2022/04/06 | 383 | graphics/asymptote/tests/arith/real.asy
-2022/04/06 | 1710 | graphics/asymptote/tests/arith/roots.asy
-2022/04/06 | 639 | graphics/asymptote/tests/arith/transform.asy
-2022/04/06 | 244 | graphics/asymptote/tests/arith/triple.asy
-2022/04/06 | 936 | graphics/asymptote/tests/array/array.asy
-2022/04/06 | 680 | graphics/asymptote/tests/array/delete.asy
-2022/04/06 | 737 | graphics/asymptote/tests/array/determinant.asy
-2022/04/06 | 1927 | graphics/asymptote/tests/array/fields.asy
-2022/04/06 | 4841 | graphics/asymptote/tests/array/slice.asy
-2022/04/06 | 966 | graphics/asymptote/tests/array/solve.asy
-2022/04/06 | 746 | graphics/asymptote/tests/array/sort.asy
-2022/04/06 | 1096 | graphics/asymptote/tests/array/transpose.asy
-2022/04/06 | 276 | graphics/asymptote/tests/bench/6000circles.asy
-2022/04/06 | 2222 | graphics/asymptote/tests/frames/loop.asy
-2022/04/06 | 202 | graphics/asymptote/tests/frames/stat2.asy
-2022/04/06 | 158 | graphics/asymptote/tests/frames/stat.asy
-2022/04/06 | 62 | graphics/asymptote/tests/gc/array.asy
-2022/04/06 | 102 | graphics/asymptote/tests/gc/file.asy
-2022/04/06 | 54 | graphics/asymptote/tests/gc/funcall.asy
-2022/04/06 | 65 | graphics/asymptote/tests/gc/guide.asy
-2022/04/06 | 143 | graphics/asymptote/tests/gc/label.asy
-2022/04/06 | 124 | graphics/asymptote/tests/gc/path.asy
-2022/04/06 | 72 | graphics/asymptote/tests/gc/pen.asy
-2022/04/06 | 193 | graphics/asymptote/tests/gc/shipout.asy
-2022/04/06 | 77 | graphics/asymptote/tests/gc/string.asy
-2022/04/06 | 129 | graphics/asymptote/tests/gc/struct.asy
-2022/04/06 | 70 | graphics/asymptote/tests/gc/transform.asy
-2022/04/06 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
-2022/04/06 | 11907 | graphics/asymptote/tests/gsl/random.asy
-2022/04/06 | 1209 | graphics/asymptote/tests/imp/unravel.asy
-2022/04/06 | 308 | graphics/asymptote/tests/Makefile
-2022/04/06 | 18 | graphics/asymptote/tests/output/circle.asy
-2022/04/06 | 22 | graphics/asymptote/tests/output/line.asy
-2022/04/06 | 1284 | graphics/asymptote/tests/output/Makefile
-2022/04/06 | 1384 | graphics/asymptote/tests/pic/trans.asy
-2022/04/06 | 236 | graphics/asymptote/tests/string/erase.asy
-2022/04/06 | 182 | graphics/asymptote/tests/string/find.asy
-2022/04/06 | 109 | graphics/asymptote/tests/string/insert.asy
-2022/04/06 | 132 | graphics/asymptote/tests/string/length.asy
-2022/04/06 | 187 | graphics/asymptote/tests/string/rfind.asy
-2022/04/06 | 118 | graphics/asymptote/tests/string/substr.asy
-2022/04/06 | 238 | graphics/asymptote/tests/TestLib.asy
-2022/04/06 | 159 | graphics/asymptote/tests/types/cast.asy
-2022/04/06 | 6503 | graphics/asymptote/tests/types/constructor.asy
-2022/04/06 | 155 | graphics/asymptote/tests/types/ecast.asy
-2022/04/06 | 3375 | graphics/asymptote/tests/types/guide.asy
-2022/04/06 | 224 | graphics/asymptote/tests/types/init.asy
-2022/04/06 | 4242 | graphics/asymptote/tests/types/keyword.asy
-2022/04/06 | 4072 | graphics/asymptote/tests/types/order.asy
-2022/04/06 | 2731 | graphics/asymptote/tests/types/resolve.asy
-2022/04/06 | 308 | graphics/asymptote/tests/types/shadow.asy
-2022/04/06 | 1331 | graphics/asymptote/tests/types/spec.asy
-2022/04/06 | 1189 | graphics/asymptote/tests/types/var.asy
-2022/04/06 | 14283 | graphics/asymptote/testv3d.asy
-2022/04/06 | 17540 | graphics/asymptote/texfile.cc
-2022/04/06 | 13440 | graphics/asymptote/texfile.h
-2022/04/06 | 667 | graphics/asymptote/tinyexr.cc
-2022/04/06 | 1293 | graphics/asymptote/TODO
-2022/04/06 | 6288 | graphics/asymptote/transform.h
-2022/04/06 | 10224 | graphics/asymptote/tr.cc
-2022/04/06 | 3912 | graphics/asymptote/tr.h
-2022/04/06 | 9784 | graphics/asymptote/triple.h
-2022/04/06 | 14072 | graphics/asymptote/types.cc
-2022/04/06 | 15451 | graphics/asymptote/types.h
-2022/04/06 | 10093 | graphics/asymptote/util.cc
-2022/04/06 | 4602 | graphics/asymptote/util.h
-2022/04/06 | 10066 | graphics/asymptote/v3dfile.cc
-2022/04/06 | 4870 | graphics/asymptote/v3dfile.h
-2022/04/06 | 1075 | graphics/asymptote/v3dheadertypes.csv
-2022/04/06 | 1239 | graphics/asymptote/v3dheadertypes.h
-2022/04/06 | 1611 | graphics/asymptote/v3dheadertypes.py
-2022/04/06 | 422 | graphics/asymptote/v3dtypes.csv
-2022/04/06 | 548 | graphics/asymptote/v3dtypes.h
-2022/04/06 | 821 | graphics/asymptote/v3dtypes.py
-2022/04/06 | 2004 | graphics/asymptote/varinit.cc
-2022/04/06 | 2012 | graphics/asymptote/varinit.h
-2022/04/06 | 901 | graphics/asymptote/virtualfieldaccess.cc
-2022/04/06 | 2328 | graphics/asymptote/virtualfieldaccess.h
-2022/04/06 | 766 | graphics/asymptote/vm.h
-2022/04/06 | 222 | graphics/asymptote/wce
-2022/04/06 | 4531 | graphics/asymptote/webgl/fragment.glsl
-2022/04/06 | 92297 | graphics/asymptote/webgl/gl.js
-2022/04/06 | 820 | graphics/asymptote/webgl/license
-2022/04/06 | 1728 | graphics/asymptote/webgl/vertex.glsl
-2022/04/06 | 8668 | graphics/asymptote/xstream.h
-2022/04/06 | 26695463 | graphics/asymptote.zip
+2022/08/06 | 242 | graphics/asymptote/BUGS
+2022/08/06 | 1588 | graphics/asymptote/build-scripts/asy-format.el
+2022/08/06 | 210 | graphics/asymptote/build-scripts/asy-indent.el
+2022/08/06 | 1232 | graphics/asymptote/build-scripts/build-asygl
+2022/08/06 | 2471 | graphics/asymptote/build-scripts/build-asymptote
+2022/08/06 | 3556 | graphics/asymptote/build-scripts/build-asymptote.dos
+2022/08/06 | 1578 | graphics/asymptote/build-scripts/cc-format.el
+2022/08/06 | 183 | graphics/asymptote/build-scripts/cc-indent.el
+2022/08/06 | 2239 | graphics/asymptote/build-scripts/HOWTO-MSWindows
+2022/08/06 | 297 | graphics/asymptote/build-scripts/README-binaries
+2022/08/06 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
+2022/08/06 | 31342 | graphics/asymptote/builtin.cc
+2022/08/06 | 1630 | graphics/asymptote/builtin.h
+2022/08/06 | 1151 | graphics/asymptote/callable.cc
+2022/08/06 | 1640 | graphics/asymptote/callable.h
+2022/08/06 | 1190 | graphics/asymptote/camperror.cc
+2022/08/06 | 814 | graphics/asymptote/camperror.h
+2022/08/06 | 13357 | graphics/asymptote/camp.l
+2022/08/06 | 130266 | graphics/asymptote/camp.tab.cc
+2022/08/06 | 6190 | graphics/asymptote/camp.tab.h
+2022/08/06 | 20029 | graphics/asymptote/camp.y
+2022/08/06 | 4629 | graphics/asymptote/castop.h
+2022/08/06 | 1876 | graphics/asymptote/cc-mode2.el
+2022/08/06 | 1640960 | graphics/asymptote/ChangeLog
+2022/08/06 | 7790 | graphics/asymptote/coder.cc
+2022/08/06 | 11642 | graphics/asymptote/coder.h
+2022/08/06 | 1126 | graphics/asymptote/coenv.cc
+2022/08/06 | 908 | graphics/asymptote/coenv.h
+2022/08/06 | 2187 | graphics/asymptote/common.h
+2022/08/06 | 48441 | graphics/asymptote/config.guess
+2022/08/06 | 7260 | graphics/asymptote/config.h.in
+2022/08/06 | 31609 | graphics/asymptote/config.sub
+2022/08/06 | 293655 | graphics/asymptote/configure
+2022/08/06 | 17405 | graphics/asymptote/configure.ac
+2022/08/06 | 26 | graphics/asymptote/_config.yml
+2022/08/06 | 3676 | graphics/asymptote/constructor.cc
+2022/08/06 | 241 | graphics/asymptote/cudareflect/common.h
+2022/08/06 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
+2022/08/06 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
+2022/08/06 | 883 | graphics/asymptote/cudareflect/helper.cuh
+2022/08/06 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
+2022/08/06 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
+2022/08/06 | 4371 | graphics/asymptote/cudareflect/kernel.cu
+2022/08/06 | 445 | graphics/asymptote/cudareflect/kernel.h
+2022/08/06 | 7780 | graphics/asymptote/cudareflect/main.cc
+2022/08/06 | 548 | graphics/asymptote/cudareflect/Makefile
+2022/08/06 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
+2022/08/06 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
+2022/08/06 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
+2022/08/06 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
+2022/08/06 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
+2022/08/06 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
+2022/08/06 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
+2022/08/06 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
+2022/08/06 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
+2022/08/06 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
+2022/08/06 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
+2022/08/06 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
+2022/08/06 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
+2022/08/06 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
+2022/08/06 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
+2022/08/06 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
+2022/08/06 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
+2022/08/06 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
+2022/08/06 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
+2022/08/06 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
+2022/08/06 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
+2022/08/06 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
+2022/08/06 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
+2022/08/06 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
+2022/08/06 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
+2022/08/06 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
+2022/08/06 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
+2022/08/06 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
+2022/08/06 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
+2022/08/06 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
+2022/08/06 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
+2022/08/06 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
+2022/08/06 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
+2022/08/06 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
+2022/08/06 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
+2022/08/06 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
+2022/08/06 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
+2022/08/06 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
+2022/08/06 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
+2022/08/06 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
+2022/08/06 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
+2022/08/06 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
+2022/08/06 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
+2022/08/06 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
+2022/08/06 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
+2022/08/06 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
+2022/08/06 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
+2022/08/06 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
+2022/08/06 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
+2022/08/06 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
+2022/08/06 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
+2022/08/06 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
+2022/08/06 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
+2022/08/06 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
+2022/08/06 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
+2022/08/06 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
+2022/08/06 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
+2022/08/06 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
+2022/08/06 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
+2022/08/06 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
+2022/08/06 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
+2022/08/06 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
+2022/08/06 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
+2022/08/06 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
+2022/08/06 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
+2022/08/06 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
+2022/08/06 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
+2022/08/06 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
+2022/08/06 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
+2022/08/06 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
+2022/08/06 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
+2022/08/06 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
+2022/08/06 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
+2022/08/06 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
+2022/08/06 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
+2022/08/06 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
+2022/08/06 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
+2022/08/06 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
+2022/08/06 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
+2022/08/06 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
+2022/08/06 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
+2022/08/06 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
+2022/08/06 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
+2022/08/06 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
+2022/08/06 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
+2022/08/06 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
+2022/08/06 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
+2022/08/06 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
+2022/08/06 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
+2022/08/06 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
+2022/08/06 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
+2022/08/06 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
+2022/08/06 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
+2022/08/06 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
+2022/08/06 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
+2022/08/06 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
+2022/08/06 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
+2022/08/06 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
+2022/08/06 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
+2022/08/06 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
+2022/08/06 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
+2022/08/06 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
+2022/08/06 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
+2022/08/06 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
+2022/08/06 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
+2022/08/06 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
+2022/08/06 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
+2022/08/06 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
+2022/08/06 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
+2022/08/06 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
+2022/08/06 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
+2022/08/06 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
+2022/08/06 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
+2022/08/06 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
+2022/08/06 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
+2022/08/06 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
+2022/08/06 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
+2022/08/06 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
+2022/08/06 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
+2022/08/06 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
+2022/08/06 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
+2022/08/06 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
+2022/08/06 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
+2022/08/06 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
+2022/08/06 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
+2022/08/06 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
+2022/08/06 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
+2022/08/06 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
+2022/08/06 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
+2022/08/06 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
+2022/08/06 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
+2022/08/06 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
+2022/08/06 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
+2022/08/06 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
+2022/08/06 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
+2022/08/06 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
+2022/08/06 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
+2022/08/06 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
+2022/08/06 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
+2022/08/06 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
+2022/08/06 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
+2022/08/06 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
+2022/08/06 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
+2022/08/06 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
+2022/08/06 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
+2022/08/06 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
+2022/08/06 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
+2022/08/06 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
+2022/08/06 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
+2022/08/06 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
+2022/08/06 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
+2022/08/06 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
+2022/08/06 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
+2022/08/06 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
+2022/08/06 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
+2022/08/06 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
+2022/08/06 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
+2022/08/06 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
+2022/08/06 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
+2022/08/06 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
+2022/08/06 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
+2022/08/06 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
+2022/08/06 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
+2022/08/06 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
+2022/08/06 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
+2022/08/06 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
+2022/08/06 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
+2022/08/06 | 270497 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
+2022/08/06 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
+2022/08/06 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
+2022/08/06 | 1950 | graphics/asymptote/cudareflect/utils.cuh
+2022/08/06 | 26693 | graphics/asymptote/dec.cc
+2022/08/06 | 17734 | graphics/asymptote/dec.h
+2022/08/06 | 5883 | graphics/asymptote/Delaunay.cc
+2022/08/06 | 384 | graphics/asymptote/Delaunay.h
+2022/08/06 | 9114 | graphics/asymptote/doc/asy.1
+2022/08/06 | 1005 | graphics/asymptote/doc/asy.1.begin
+2022/08/06 | 333 | graphics/asymptote/doc/asy.1.end
+2022/08/06 | 2800 | graphics/asymptote/doc/asycolors.sty
+2022/08/06 | 18095 | graphics/asymptote/doc/asy-latex.dtx
+2022/08/06 | 206981 | graphics/asymptote/doc/asy-latex.pdf
+2022/08/06 | 1299081 | graphics/asymptote/doc/asymptote.pdf
+2022/08/06 | 9805 | graphics/asymptote/doc/asymptote.sty
+2022/08/06 | 395983 | graphics/asymptote/doc/asymptote.texi
+2022/08/06 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
+2022/08/06 | 20051 | graphics/asymptote/doc/asyRefCard.tex
+2022/08/06 | 246 | graphics/asymptote/doc/axis3.asy
+2022/08/06 | 416 | graphics/asymptote/doc/bezier2.asy
+2022/08/06 | 81 | graphics/asymptote/doc/bezier.asy
+2022/08/06 | 234 | graphics/asymptote/doc/beziercurve.asy
+2022/08/06 | 41 | graphics/asymptote/doc/bigdiagonal.asy
+2022/08/06 | 306 | graphics/asymptote/doc/binarytreetest.asy
+2022/08/06 | 677 | graphics/asymptote/doc/Bode.asy
+2022/08/06 | 524 | graphics/asymptote/doc/brokenaxis.asy
+2022/08/06 | 1391 | graphics/asymptote/doc/CAD1.asy
+2022/08/06 | 198570 | graphics/asymptote/doc/CAD.pdf
+2022/08/06 | 10196 | graphics/asymptote/doc/CAD.tex
+2022/08/06 | 518 | graphics/asymptote/doc/CDlabel.asy
+2022/08/06 | 4348 | graphics/asymptote/doc/colo-asy.tex
+2022/08/06 | 49 | graphics/asymptote/doc/colons.asy
+2022/08/06 | 1620 | graphics/asymptote/doc/colors.asy
+2022/08/06 | 243 | graphics/asymptote/doc/cube.asy
+2022/08/06 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
+2022/08/06 | 218 | graphics/asymptote/doc/datagraph.asy
+2022/08/06 | 24 | graphics/asymptote/doc/diagonal.asy
+2022/08/06 | 2979 | graphics/asymptote/doc/diatom.asy
+2022/08/06 | 4067 | graphics/asymptote/doc/diatom.csv
+2022/08/06 | 49 | graphics/asymptote/doc/dots.asy
+2022/08/06 | 1051 | graphics/asymptote/doc/eetomumu.asy
+2022/08/06 | 2034 | graphics/asymptote/doc/elliptic.asy
+2022/08/06 | 912 | graphics/asymptote/doc/errorbars.asy
+2022/08/06 | 202 | graphics/asymptote/doc/exp.asy
+2022/08/06 | 343 | graphics/asymptote/doc/externalprc.tex
+2022/08/06 | 19597 | graphics/asymptote/doc/external-proposal.html
+2022/08/06 | 25154 | graphics/asymptote/doc/extra/intro.asy
+2022/08/06 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
+2022/08/06 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
+2022/08/06 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
+2022/08/06 | 13663 | graphics/asymptote/doc/FAQ/install-sh
+2022/08/06 | 1000 | graphics/asymptote/doc/FAQ/Makefile
+2022/08/06 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
+2022/08/06 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
+2022/08/06 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
+2022/08/06 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
+2022/08/06 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
+2022/08/06 | 238 | graphics/asymptote/doc/filegraph.asy
+2022/08/06 | 26 | graphics/asymptote/doc/filegraph.dat
+2022/08/06 | 1053 | graphics/asymptote/doc/fillcontour.asy
+2022/08/06 | 604 | graphics/asymptote/doc/flow.asy
+2022/08/06 | 897 | graphics/asymptote/doc/flowchartdemo.asy
+2022/08/06 | 464 | graphics/asymptote/doc/GaussianSurface.asy
+2022/08/06 | 376 | graphics/asymptote/doc/generalaxis3.asy
+2022/08/06 | 277 | graphics/asymptote/doc/generalaxis.asy
+2022/08/06 | 754 | graphics/asymptote/doc/graphmarkers.asy
+2022/08/06 | 219 | graphics/asymptote/doc/graphwithderiv.asy
+2022/08/06 | 426 | graphics/asymptote/doc/grid3xyz.asy
+2022/08/06 | 279 | graphics/asymptote/doc/hatch.asy
+2022/08/06 | 423 | graphics/asymptote/doc/helix.asy
+2022/08/06 | 324 | graphics/asymptote/doc/HermiteSpline.asy
+2022/08/06 | 441 | graphics/asymptote/doc/histogram.asy
+2022/08/06 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
+2022/08/06 | 500 | graphics/asymptote/doc/Hobbydir.asy
+2022/08/06 | 378 | graphics/asymptote/doc/icon.asy
+2022/08/06 | 401 | graphics/asymptote/doc/image.asy
+2022/08/06 | 922 | graphics/asymptote/doc/imagecontour.asy
+2022/08/06 | 13663 | graphics/asymptote/doc/install-sh
+2022/08/06 | 357 | graphics/asymptote/doc/irregularcontour.asy
+2022/08/06 | 442 | graphics/asymptote/doc/join3.asy
+2022/08/06 | 261 | graphics/asymptote/doc/join.asy
+2022/08/06 | 417 | graphics/asymptote/doc/knots.asy
+2022/08/06 | 121 | graphics/asymptote/doc/labelsquare.asy
+2022/08/06 | 144 | graphics/asymptote/doc/latexmkrc
+2022/08/06 | 150 | graphics/asymptote/doc/latexmkrc_asydir
+2022/08/06 | 3125 | graphics/asymptote/doc/latexusage.tex
+2022/08/06 | 1008 | graphics/asymptote/doc/leastsquares.asy
+2022/08/06 | 6318 | graphics/asymptote/doc/leastsquares.dat
+2022/08/06 | 396 | graphics/asymptote/doc/legend.asy
+2022/08/06 | 366 | graphics/asymptote/doc/lineargraph0.asy
+2022/08/06 | 373 | graphics/asymptote/doc/lineargraph.asy
+2022/08/06 | 415 | graphics/asymptote/doc/linetype.asy
+2022/08/06 | 423 | graphics/asymptote/doc/log2graph.asy
+2022/08/06 | 262 | graphics/asymptote/doc/loggraph.asy
+2022/08/06 | 382 | graphics/asymptote/doc/loggrid.asy
+2022/08/06 | 480 | graphics/asymptote/doc/logimage.asy
+2022/08/06 | 617 | graphics/asymptote/doc/logo.asy
+2022/08/06 | 314 | graphics/asymptote/doc/logticks.asy
+2022/08/06 | 3023 | graphics/asymptote/doc/Makefile.in
+2022/08/06 | 293 | graphics/asymptote/doc/makepen.asy
+2022/08/06 | 2674 | graphics/asymptote/doc/markers1.asy
+2022/08/06 | 877 | graphics/asymptote/doc/markers2.asy
+2022/08/06 | 288 | graphics/asymptote/doc/mexicanhat.asy
+2022/08/06 | 374 | graphics/asymptote/doc/monthaxis.asy
+2022/08/06 | 458 | graphics/asymptote/doc/multicontour.asy
+2022/08/06 | 115 | graphics/asymptote/doc/onecontour.asy
+2022/08/06 | 240 | graphics/asymptote/doc/parametricgraph.asy
+2022/08/06 | 498 | graphics/asymptote/doc/penfunctionimage.asy
+2022/08/06 | 219 | graphics/asymptote/doc/penimage.asy
+2022/08/06 | 2771 | graphics/asymptote/doc/pixel.pdf
+2022/08/06 | 354 | graphics/asymptote/doc/planes.asy
+2022/08/06 | 475798 | graphics/asymptote/doc/png/asymptote.info
+2022/08/06 | 1469 | graphics/asymptote/doc/png/Makefile.in
+2022/08/06 | 49 | graphics/asymptote/doc/quartercircle.asy
+2022/08/06 | 354 | graphics/asymptote/doc/reloadpdf.tex
+2022/08/06 | 157 | graphics/asymptote/doc/saddle.asy
+2022/08/06 | 355 | graphics/asymptote/doc/scaledgraph.asy
+2022/08/06 | 792 | graphics/asymptote/doc/secondaryaxis.asy
+2022/08/06 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
+2022/08/06 | 256 | graphics/asymptote/doc/shadedtiling.asy
+2022/08/06 | 154 | graphics/asymptote/doc/slopefield1.asy
+2022/08/06 | 52 | graphics/asymptote/doc/square.asy
+2022/08/06 | 341 | graphics/asymptote/doc/subpictures.asy
+2022/08/06 | 123 | graphics/asymptote/doc/superpath.asy
+2022/08/06 | 81215 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
+2022/08/06 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
+2022/08/06 | 390 | graphics/asymptote/doc/tile.asy
+2022/08/06 | 396 | graphics/asymptote/doc/triangulate.asy
+2022/08/06 | 186 | graphics/asymptote/doc/unitcircle3.asy
+2022/08/06 | 147 | graphics/asymptote/doc/vectorfield.asy
+2022/08/06 | 1746 | graphics/asymptote/doc/westnile.asy
+2022/08/06 | 4727 | graphics/asymptote/doc/westnile.csv
+2022/08/06 | 880 | graphics/asymptote/doc/xasy.1x
+2022/08/06 | 1851 | graphics/asymptote/drawclipbegin.h
+2022/08/06 | 1197 | graphics/asymptote/drawclipend.h
+2022/08/06 | 11468 | graphics/asymptote/drawelement.h
+2022/08/06 | 4597 | graphics/asymptote/drawfill.cc
+2022/08/06 | 6525 | graphics/asymptote/drawfill.h
+2022/08/06 | 494 | graphics/asymptote/drawgrestore.h
+2022/08/06 | 2880 | graphics/asymptote/drawgroup.h
+2022/08/06 | 464 | graphics/asymptote/drawgsave.h
+2022/08/06 | 3024 | graphics/asymptote/drawimage.h
+2022/08/06 | 6787 | graphics/asymptote/drawlabel.cc
+2022/08/06 | 2134 | graphics/asymptote/drawlabel.h
+2022/08/06 | 1096 | graphics/asymptote/drawlayer.h
+2022/08/06 | 5542 | graphics/asymptote/drawpath3.cc
+2022/08/06 | 5767 | graphics/asymptote/drawpath3.h
+2022/08/06 | 4862 | graphics/asymptote/drawpath.cc
+2022/08/06 | 669 | graphics/asymptote/drawpath.h
+2022/08/06 | 24712 | graphics/asymptote/drawsurface.cc
+2022/08/06 | 23567 | graphics/asymptote/drawsurface.h
+2022/08/06 | 1266 | graphics/asymptote/drawverbatim.h
+2022/08/06 | 17987 | graphics/asymptote/entry.cc
+2022/08/06 | 13615 | graphics/asymptote/entry.h
+2022/08/06 | 5441 | graphics/asymptote/env.cc
+2022/08/06 | 1142 | graphics/asymptote/envcompleter.cc
+2022/08/06 | 845 | graphics/asymptote/envcompleter.h
+2022/08/06 | 4570 | graphics/asymptote/env.h
+2022/08/06 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
+2022/08/06 | 2279 | graphics/asymptote/errormsg.cc
+2022/08/06 | 5621 | graphics/asymptote/errormsg.h
+2022/08/06 | 9251 | graphics/asymptote/errors
+2022/08/06 | 6911 | graphics/asymptote/errortest.asy
+2022/08/06 | 43335 | graphics/asymptote/examples/100d.pdb1
+2022/08/06 | 657 | graphics/asymptote/examples/100d.views
+2022/08/06 | 163 | graphics/asymptote/examples/1overx.asy
+2022/08/06 | 4158 | graphics/asymptote/examples/advection.asy
+2022/08/06 | 375 | graphics/asymptote/examples/AiryDisk.asy
+2022/08/06 | 245 | graphics/asymptote/examples/alignbox.asy
+2022/08/06 | 2830 | graphics/asymptote/examples/alignedaxis.asy
+2022/08/06 | 946 | graphics/asymptote/examples/animations/cube.asy
+2022/08/06 | 160672 | graphics/asymptote/examples/animations/dice.u3d
+2022/08/06 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
+2022/08/06 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
+2022/08/06 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
+2022/08/06 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
+2022/08/06 | 414 | graphics/asymptote/examples/animations/glmovie.asy
+2022/08/06 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
+2022/08/06 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
+2022/08/06 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
+2022/08/06 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
+2022/08/06 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
+2022/08/06 | 856 | graphics/asymptote/examples/animations/sphere.asy
+2022/08/06 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
+2022/08/06 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
+2022/08/06 | 1120 | graphics/asymptote/examples/animations/wheel.asy
+2022/08/06 | 236 | graphics/asymptote/examples/annotation.asy
+2022/08/06 | 1240 | graphics/asymptote/examples/arrows3.asy
+2022/08/06 | 61 | graphics/asymptote/examples/axialshade.asy
+2022/08/06 | 496 | graphics/asymptote/examples/bars3.asy
+2022/08/06 | 1033 | graphics/asymptote/examples/basealign.asy
+2022/08/06 | 407 | graphics/asymptote/examples/BezierPatch.asy
+2022/08/06 | 581 | graphics/asymptote/examples/BezierSaddle.asy
+2022/08/06 | 1548 | graphics/asymptote/examples/BezierSurface.asy
+2022/08/06 | 199 | graphics/asymptote/examples/BezierTriangle.asy
+2022/08/06 | 154 | graphics/asymptote/examples/billboard.asy
+2022/08/06 | 513 | graphics/asymptote/examples/buildcycle.asy
+2022/08/06 | 233 | graphics/asymptote/examples/cardioid.asy
+2022/08/06 | 485 | graphics/asymptote/examples/cards.asy
+2022/08/06 | 688 | graphics/asymptote/examples/centroidfg.asy
+2022/08/06 | 322 | graphics/asymptote/examples/cheese.asy
+2022/08/06 | 576 | graphics/asymptote/examples/circles.asy
+2022/08/06 | 228 | graphics/asymptote/examples/circumcircle.asy
+2022/08/06 | 762 | graphics/asymptote/examples/clockarray.asy
+2022/08/06 | 264 | graphics/asymptote/examples/coag.asy
+2022/08/06 | 436 | graphics/asymptote/examples/colorpatch.asy
+2022/08/06 | 472 | graphics/asymptote/examples/colorplanes.asy
+2022/08/06 | 739 | graphics/asymptote/examples/condor.asy
+2022/08/06 | 495 | graphics/asymptote/examples/cones.asy
+2022/08/06 | 1778 | graphics/asymptote/examples/conicurv.asy
+2022/08/06 | 254 | graphics/asymptote/examples/contextfonts.asy
+2022/08/06 | 802 | graphics/asymptote/examples/controlsystem.asy
+2022/08/06 | 123 | graphics/asymptote/examples/Coons.asy
+2022/08/06 | 235 | graphics/asymptote/examples/cos2theta.asy
+2022/08/06 | 582 | graphics/asymptote/examples/cos3.asy
+2022/08/06 | 460 | graphics/asymptote/examples/cosaddition.asy
+2022/08/06 | 5537 | graphics/asymptote/examples/cpkcolors.asy
+2022/08/06 | 572 | graphics/asymptote/examples/curvedlabel3.asy
+2022/08/06 | 177 | graphics/asymptote/examples/curvedlabel.asy
+2022/08/06 | 1835 | graphics/asymptote/examples/cyclohexane.asy
+2022/08/06 | 352 | graphics/asymptote/examples/cylinder.asy
+2022/08/06 | 506 | graphics/asymptote/examples/delu.asy
+2022/08/06 | 509 | graphics/asymptote/examples/dimension.asy
+2022/08/06 | 1216 | graphics/asymptote/examples/dragon.asy
+2022/08/06 | 1298 | graphics/asymptote/examples/electromagnetic.asy
+2022/08/06 | 325 | graphics/asymptote/examples/elevation.asy
+2022/08/06 | 398 | graphics/asymptote/examples/epix.asy
+2022/08/06 | 242 | graphics/asymptote/examples/equilateral.asy
+2022/08/06 | 548 | graphics/asymptote/examples/equilchord.asy
+2022/08/06 | 579 | graphics/asymptote/examples/exp3.asy
+2022/08/06 | 519 | graphics/asymptote/examples/extrudedcontour.asy
+2022/08/06 | 498 | graphics/asymptote/examples/fano.asy
+2022/08/06 | 973 | graphics/asymptote/examples/fequlogo.asy
+2022/08/06 | 727 | graphics/asymptote/examples/fermi.asy
+2022/08/06 | 980 | graphics/asymptote/examples/filesurface.asy
+2022/08/06 | 5531 | graphics/asymptote/examples/filesurface.dat
+2022/08/06 | 4244 | graphics/asymptote/examples/fin.asy
+2022/08/06 | 710 | graphics/asymptote/examples/fjortoft.asy
+2022/08/06 | 558 | graphics/asymptote/examples/floatingdisk.asy
+2022/08/06 | 500 | graphics/asymptote/examples/floor.asy
+2022/08/06 | 683 | graphics/asymptote/examples/fractaltree.asy
+2022/08/06 | 1185 | graphics/asymptote/examples/functionshading.asy
+2022/08/06 | 499 | graphics/asymptote/examples/galleon.asy
+2022/08/06 | 713 | graphics/asymptote/examples/gamma3.asy
+2022/08/06 | 439 | graphics/asymptote/examples/gamma.asy
+2022/08/06 | 679 | graphics/asymptote/examples/genusthree.asy
+2022/08/06 | 1164 | graphics/asymptote/examples/genustwo.asy
+2022/08/06 | 383 | graphics/asymptote/examples/Gouraud.asy
+2022/08/06 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
+2022/08/06 | 76 | graphics/asymptote/examples/grid.asy
+2022/08/06 | 459 | graphics/asymptote/examples/hierarchy.asy
+2022/08/06 | 315 | graphics/asymptote/examples/hyperboloid.asy
+2022/08/06 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
+2022/08/06 | 1111 | graphics/asymptote/examples/imagehistogram.asy
+2022/08/06 | 610 | graphics/asymptote/examples/impact.asy
+2022/08/06 | 598 | graphics/asymptote/examples/integraltest.asy
+2022/08/06 | 4809 | graphics/asymptote/examples/interpolate1.asy
+2022/08/06 | 289 | graphics/asymptote/examples/jump.asy
+2022/08/06 | 1352 | graphics/asymptote/examples/Klein.asy
+2022/08/06 | 182 | graphics/asymptote/examples/label3.asy
+2022/08/06 | 196 | graphics/asymptote/examples/label3ribbon.asy
+2022/08/06 | 187 | graphics/asymptote/examples/label3solid.asy
+2022/08/06 | 632 | graphics/asymptote/examples/label3zoom.asy
+2022/08/06 | 264 | graphics/asymptote/examples/labelbox.asy
+2022/08/06 | 1114 | graphics/asymptote/examples/laserlattice.asy
+2022/08/06 | 136 | graphics/asymptote/examples/latticeshading.asy
+2022/08/06 | 690 | graphics/asymptote/examples/layers.asy
+2022/08/06 | 460 | graphics/asymptote/examples/lever.asy
+2022/08/06 | 654 | graphics/asymptote/examples/limit.asy
+2022/08/06 | 1910 | graphics/asymptote/examples/linearregression.asy
+2022/08/06 | 168 | graphics/asymptote/examples/lines.asy
+2022/08/06 | 1040 | graphics/asymptote/examples/lmfit1.asy
+2022/08/06 | 206 | graphics/asymptote/examples/log.asy
+2022/08/06 | 349 | graphics/asymptote/examples/logdown.asy
+2022/08/06 | 1461 | graphics/asymptote/examples/logo3.asy
+2022/08/06 | 196 | graphics/asymptote/examples/lowint.asy
+2022/08/06 | 657 | graphics/asymptote/examples/lowupint.asy
+2022/08/06 | 479 | graphics/asymptote/examples/magnetic.asy
+2022/08/06 | 879 | graphics/asymptote/examples/markregular.asy
+2022/08/06 | 1968 | graphics/asymptote/examples/mergeExample.asy
+2022/08/06 | 5216 | graphics/asymptote/examples/mosaic.asy
+2022/08/06 | 2504 | graphics/asymptote/examples/mosquito.asy
+2022/08/06 | 1566 | graphics/asymptote/examples/near_earth.asy
+2022/08/06 | 703 | graphics/asymptote/examples/NURBScurve.asy
+2022/08/06 | 1088 | graphics/asymptote/examples/NURBSsphere.asy
+2022/08/06 | 1598 | graphics/asymptote/examples/NURBSsurface.asy
+2022/08/06 | 1251 | graphics/asymptote/examples/odetest.asy
+2022/08/06 | 308 | graphics/asymptote/examples/oneoverx.asy
+2022/08/06 | 810 | graphics/asymptote/examples/orthocenter.asy
+2022/08/06 | 254 | graphics/asymptote/examples/parametricelevation.asy
+2022/08/06 | 407 | graphics/asymptote/examples/parametricsurface.asy
+2022/08/06 | 711 | graphics/asymptote/examples/partialsurface.asy
+2022/08/06 | 1055 | graphics/asymptote/examples/partitionExample.asy
+2022/08/06 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
+2022/08/06 | 3335 | graphics/asymptote/examples/pdb.asy
+2022/08/06 | 361 | graphics/asymptote/examples/phase.asy
+2022/08/06 | 22873 | graphics/asymptote/examples/piicon.png
+2022/08/06 | 362 | graphics/asymptote/examples/pipeintersection.asy
+2022/08/06 | 3857 | graphics/asymptote/examples/pipes.asy
+2022/08/06 | 418 | graphics/asymptote/examples/planeproject.asy
+2022/08/06 | 930 | graphics/asymptote/examples/polararea.asy
+2022/08/06 | 628 | graphics/asymptote/examples/polarcircle.asy
+2022/08/06 | 326 | graphics/asymptote/examples/polardatagraph.asy
+2022/08/06 | 641 | graphics/asymptote/examples/pOrbital.asy
+2022/08/06 | 954 | graphics/asymptote/examples/poster.asy
+2022/08/06 | 58 | graphics/asymptote/examples/progrid.asy
+2022/08/06 | 373 | graphics/asymptote/examples/projectelevation.asy
+2022/08/06 | 427 | graphics/asymptote/examples/projectrevolution.asy
+2022/08/06 | 747 | graphics/asymptote/examples/pseudosphere.asy
+2022/08/06 | 557 | graphics/asymptote/examples/Pythagoras.asy
+2022/08/06 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
+2022/08/06 | 734 | graphics/asymptote/examples/quilt.asy
+2022/08/06 | 345 | graphics/asymptote/examples/rainbow.asy
+2022/08/06 | 78 | graphics/asymptote/examples/randompath3.asy
+2022/08/06 | 1537 | graphics/asymptote/examples/refs.bib
+2022/08/06 | 990 | graphics/asymptote/examples/RiemannSphere.asy
+2022/08/06 | 348 | graphics/asymptote/examples/RiemannSurface.asy
+2022/08/06 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
+2022/08/06 | 141 | graphics/asymptote/examples/ring.asy
+2022/08/06 | 184 | graphics/asymptote/examples/roll.asy
+2022/08/06 | 1309 | graphics/asymptote/examples/roundpath.asy
+2022/08/06 | 288 | graphics/asymptote/examples/sacone3D.asy
+2022/08/06 | 445 | graphics/asymptote/examples/sacone.asy
+2022/08/06 | 341 | graphics/asymptote/examples/sacylinder3D.asy
+2022/08/06 | 400 | graphics/asymptote/examples/sacylinder.asy
+2022/08/06 | 66 | graphics/asymptote/examples/shade.asy
+2022/08/06 | 111 | graphics/asymptote/examples/shadestroke.asy
+2022/08/06 | 1065 | graphics/asymptote/examples/shellmethod.asy
+2022/08/06 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
+2022/08/06 | 410 | graphics/asymptote/examples/Sierpinski.asy
+2022/08/06 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
+2022/08/06 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
+2022/08/06 | 327 | graphics/asymptote/examples/sin1x.asy
+2022/08/06 | 579 | graphics/asymptote/examples/sin3.asy
+2022/08/06 | 591 | graphics/asymptote/examples/sinc.asy
+2022/08/06 | 378 | graphics/asymptote/examples/sinxlex.asy
+2022/08/06 | 3358 | graphics/asymptote/examples/slidedemo.asy
+2022/08/06 | 341 | graphics/asymptote/examples/slidedemo_.bbl
+2022/08/06 | 2023 | graphics/asymptote/examples/slope.asy
+2022/08/06 | 520 | graphics/asymptote/examples/smoothelevation.asy
+2022/08/06 | 2680 | graphics/asymptote/examples/soccerball.asy
+2022/08/06 | 2362 | graphics/asymptote/examples/spectrum.asy
+2022/08/06 | 141 | graphics/asymptote/examples/sphere.asy
+2022/08/06 | 150 | graphics/asymptote/examples/spheresilhouette.asy
+2022/08/06 | 162 | graphics/asymptote/examples/sphereskeleton.asy
+2022/08/06 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
+2022/08/06 | 424 | graphics/asymptote/examples/spiral3.asy
+2022/08/06 | 210 | graphics/asymptote/examples/spiral.asy
+2022/08/06 | 608 | graphics/asymptote/examples/spline.asy
+2022/08/06 | 2191 | graphics/asymptote/examples/splitpatch.asy
+2022/08/06 | 38 | graphics/asymptote/examples/spring0.asy
+2022/08/06 | 43 | graphics/asymptote/examples/spring2.asy
+2022/08/06 | 667 | graphics/asymptote/examples/spring.asy
+2022/08/06 | 674 | graphics/asymptote/examples/sqrtx01.asy
+2022/08/06 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
+2022/08/06 | 145 | graphics/asymptote/examples/star.asy
+2022/08/06 | 162 | graphics/asymptote/examples/stereoscopic.asy
+2022/08/06 | 59 | graphics/asymptote/examples/stroke3.asy
+2022/08/06 | 300 | graphics/asymptote/examples/strokepath.asy
+2022/08/06 | 175 | graphics/asymptote/examples/strokeshade.asy
+2022/08/06 | 198 | graphics/asymptote/examples/tanh.asy
+2022/08/06 | 14378 | graphics/asymptote/examples/teapot.asy
+2022/08/06 | 34 | graphics/asymptote/examples/teapotIBL.asy
+2022/08/06 | 303 | graphics/asymptote/examples/tensor.asy
+2022/08/06 | 547 | graphics/asymptote/examples/tetra.asy
+2022/08/06 | 312 | graphics/asymptote/examples/textpath.asy
+2022/08/06 | 8429 | graphics/asymptote/examples/thermodynamics.asy
+2022/08/06 | 576 | graphics/asymptote/examples/threeviews.asy
+2022/08/06 | 104 | graphics/asymptote/examples/tiling.asy
+2022/08/06 | 419 | graphics/asymptote/examples/torus.asy
+2022/08/06 | 188 | graphics/asymptote/examples/transparency.asy
+2022/08/06 | 250 | graphics/asymptote/examples/transparentCubes.asy
+2022/08/06 | 602 | graphics/asymptote/examples/treetest.asy
+2022/08/06 | 589 | graphics/asymptote/examples/trefoilknot.asy
+2022/08/06 | 972 | graphics/asymptote/examples/triads.asy
+2022/08/06 | 207 | graphics/asymptote/examples/triangle.asy
+2022/08/06 | 441 | graphics/asymptote/examples/triangles.asy
+2022/08/06 | 251 | graphics/asymptote/examples/triceratops.asy
+2022/08/06 | 291 | graphics/asymptote/examples/trumpet.asy
+2022/08/06 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
+2022/08/06 | 40665 | graphics/asymptote/examples/tvgen.asy
+2022/08/06 | 868 | graphics/asymptote/examples/twistedtubes.asy
+2022/08/06 | 433 | graphics/asymptote/examples/twoSpheres.asy
+2022/08/06 | 24924 | graphics/asymptote/examples/uhrturm.obj
+2022/08/06 | 322 | graphics/asymptote/examples/unitcircle.asy
+2022/08/06 | 430 | graphics/asymptote/examples/unitoctant.asy
+2022/08/06 | 714 | graphics/asymptote/examples/unitoctantx.asy
+2022/08/06 | 199 | graphics/asymptote/examples/upint.asy
+2022/08/06 | 525 | graphics/asymptote/examples/vectorfield3.asy
+2022/08/06 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
+2022/08/06 | 839 | graphics/asymptote/examples/venn3.asy
+2022/08/06 | 626 | graphics/asymptote/examples/venn.asy
+2022/08/06 | 802 | graphics/asymptote/examples/vertexshading.asy
+2022/08/06 | 360 | graphics/asymptote/examples/washer.asy
+2022/08/06 | 1010 | graphics/asymptote/examples/washermethod.asy
+2022/08/06 | 628 | graphics/asymptote/examples/wedge.asy
+2022/08/06 | 1030 | graphics/asymptote/examples/workcone.asy
+2022/08/06 | 978 | graphics/asymptote/examples/worksheet.asy
+2022/08/06 | 2626 | graphics/asymptote/examples/worldmap.asy
+2022/08/06 | 1261761 | graphics/asymptote/examples/worldmap.dat
+2022/08/06 | 580 | graphics/asymptote/examples/xsin1x.asy
+2022/08/06 | 3739 | graphics/asymptote/examples/xstitch.asy
+2022/08/06 | 743 | graphics/asymptote/examples/xxsq01.asy
+2022/08/06 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
+2022/08/06 | 825 | graphics/asymptote/examples/xxsq01y.asy
+2022/08/06 | 222 | graphics/asymptote/examples/yingyang.asy
+2022/08/06 | 37889 | graphics/asymptote/exp.cc
+2022/08/06 | 30307 | graphics/asymptote/exp.h
+2022/08/06 | 1188 | graphics/asymptote/EXRFiles.cc
+2022/08/06 | 454 | graphics/asymptote/EXRFiles.h
+2022/08/06 | 178 | graphics/asymptote/fftw++asy.cc
+2022/08/06 | 1694 | graphics/asymptote/fftw++.cc
+2022/08/06 | 45411 | graphics/asymptote/fftw++.h
+2022/08/06 | 4866 | graphics/asymptote/fileio.cc
+2022/08/06 | 21360 | graphics/asymptote/fileio.h
+2022/08/06 | 1245 | graphics/asymptote/findsym.pl
+2022/08/06 | 1020 | graphics/asymptote/flatguide.cc
+2022/08/06 | 4209 | graphics/asymptote/flatguide.h
+2022/08/06 | 654 | graphics/asymptote/fpu.h
+2022/08/06 | 2164 | graphics/asymptote/frame.h
+2022/08/06 | 9772 | graphics/asymptote/fundec.cc
+2022/08/06 | 4895 | graphics/asymptote/fundec.h
+2022/08/06 | 1183225 | graphics/asymptote/gc-8.2.0.tar.gz
+2022/08/06 | 6275 | graphics/asymptote/generate_enums.py
+2022/08/06 | 3153 | graphics/asymptote/genv.cc
+2022/08/06 | 1626 | graphics/asymptote/genv.h
+2022/08/06 | 4520 | graphics/asymptote/getopt1.c
+2022/08/06 | 30147 | graphics/asymptote/getopt.c
+2022/08/06 | 6650 | graphics/asymptote/getopt.h
+2022/08/06 | 202 | graphics/asymptote/glew.c
+2022/08/06 | 1235777 | graphics/asymptote/GL/glew.c
+2022/08/06 | 1186601 | graphics/asymptote/GL/glew.h
+2022/08/06 | 73435 | graphics/asymptote/GL/glxew.h
+2022/08/06 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
+2022/08/06 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
+2022/08/06 | 66477 | graphics/asymptote/glrender.cc
+2022/08/06 | 9319 | graphics/asymptote/glrender.h
+2022/08/06 | 818 | graphics/asymptote/GLTextures.cc
+2022/08/06 | 3634 | graphics/asymptote/GLTextures.h
+2022/08/06 | 63314 | graphics/asymptote/GL/wglew.h
+2022/08/06 | 50437 | graphics/asymptote/gsl.cc
+2022/08/06 | 22 | graphics/asymptote/GUI/configs/__init__.py
+2022/08/06 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
+2022/08/06 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
+2022/08/06 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
+2022/08/06 | 100 | graphics/asymptote/GUI/DebugFlags.py
+2022/08/06 | 1149 | graphics/asymptote/guide.cc
+2022/08/06 | 294 | graphics/asymptote/guideflags.h
+2022/08/06 | 6725 | graphics/asymptote/guide.h
+2022/08/06 | 1751 | graphics/asymptote/GUI/GuidesManager.py
+2022/08/06 | 23 | graphics/asymptote/GUI/__init__.py
+2022/08/06 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
+2022/08/06 | 5272 | graphics/asymptote/GUI/labelEditor.py
+2022/08/06 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
+2022/08/06 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
+2022/08/06 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
+2022/08/06 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
+2022/08/06 | 2948 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
+2022/08/06 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
+2022/08/06 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
+2022/08/06 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
+2022/08/06 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
+2022/08/06 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
+2022/08/06 | 57 | graphics/asymptote/GUI/requirements.txt
+2022/08/06 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
+2022/08/06 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
+2022/08/06 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
+2022/08/06 | 790 | graphics/asymptote/GUI/res/icons/android-camera.svg
+2022/08/06 | 683 | graphics/asymptote/GUI/res/icons/android-close.svg
+2022/08/06 | 1302 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
+2022/08/06 | 664 | graphics/asymptote/GUI/res/icons/android-delete.svg
+2022/08/06 | 620 | graphics/asymptote/GUI/res/icons/android-done.svg
+2022/08/06 | 810 | graphics/asymptote/GUI/res/icons/android-expand.svg
+2022/08/06 | 840 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
+2022/08/06 | 1467 | graphics/asymptote/GUI/res/icons/android-hand.svg
+2022/08/06 | 1108 | graphics/asymptote/GUI/res/icons/android-locate.svg
+2022/08/06 | 752 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
+2022/08/06 | 831 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
+2022/08/06 | 795 | graphics/asymptote/GUI/res/icons/android-refresh.svg
+2022/08/06 | 705 | graphics/asymptote/GUI/res/icons/arrow-move.svg
+2022/08/06 | 631 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
+2022/08/06 | 986 | graphics/asymptote/GUI/res/icons/brush.svg
+2022/08/06 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
+2022/08/06 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
+2022/08/06 | 111 | graphics/asymptote/GUI/res/icons/center.asy
+2022/08/06 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
+2022/08/06 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
+2022/08/06 | 858 | graphics/asymptote/GUI/res/icons/center.svg
+2022/08/06 | 771 | graphics/asymptote/GUI/res/icons/check.svg
+2022/08/06 | 1000 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
+2022/08/06 | 985 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
+2022/08/06 | 743 | graphics/asymptote/GUI/res/icons/circle.svg
+2022/08/06 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
+2022/08/06 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
+2022/08/06 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
+2022/08/06 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
+2022/08/06 | 829 | graphics/asymptote/GUI/res/icons/close-round.svg
+2022/08/06 | 1180 | graphics/asymptote/GUI/res/icons/code.svg
+2022/08/06 | 863 | graphics/asymptote/GUI/res/icons/edit.svg
+2022/08/06 | 988 | graphics/asymptote/GUI/res/icons/eye.svg
+2022/08/06 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
+2022/08/06 | 1732 | graphics/asymptote/GUI/res/icons/grid.svg
+2022/08/06 | 951 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
+2022/08/06 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
+2022/08/06 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
+2022/08/06 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
+2022/08/06 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
+2022/08/06 | 750 | graphics/asymptote/GUI/res/icons/plus-round.svg
+2022/08/06 | 1808 | graphics/asymptote/GUI/res/icons.qrc
+2022/08/06 | 1090 | graphics/asymptote/GUI/res/icons/redo.svg
+2022/08/06 | 663 | graphics/asymptote/GUI/res/icons/save.svg
+2022/08/06 | 1899 | graphics/asymptote/GUI/res/icons/social-python.svg
+2022/08/06 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
+2022/08/06 | 284 | graphics/asymptote/GUI/res/icons/text.svg
+2022/08/06 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
+2022/08/06 | 1047 | graphics/asymptote/GUI/res/icons/undo.svg
+2022/08/06 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
+2022/08/06 | 393 | graphics/asymptote/GUI/setup.py
+2022/08/06 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
+2022/08/06 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
+2022/08/06 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
+2022/08/06 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
+2022/08/06 | 94910 | graphics/asymptote/GUI/Window1.py
+2022/08/06 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
+2022/08/06 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
+2022/08/06 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
+2022/08/06 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
+2022/08/06 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
+2022/08/06 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
+2022/08/06 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
+2022/08/06 | 79003 | graphics/asymptote/GUI/windows/window1.ui
+2022/08/06 | 60074 | graphics/asymptote/GUI/xasy2asy.py
+2022/08/06 | 1183 | graphics/asymptote/GUI/xasyArgs.py
+2022/08/06 | 14085 | graphics/asymptote/GUI/xasyBezierInterface.py
+2022/08/06 | 4084 | graphics/asymptote/GUI/xasyFile.py
+2022/08/06 | 6717 | graphics/asymptote/GUI/xasyOptions.py
+2022/08/06 | 611 | graphics/asymptote/GUI/xasy.py
+2022/08/06 | 586 | graphics/asymptote/GUI/xasyStrings.py
+2022/08/06 | 733 | graphics/asymptote/GUI/xasySvg.py
+2022/08/06 | 1015 | graphics/asymptote/GUI/xasyTransform.py
+2022/08/06 | 1542 | graphics/asymptote/GUI/xasyUtils.py
+2022/08/06 | 238 | graphics/asymptote/GUI/xasyValidator.py
+2022/08/06 | 12823 | graphics/asymptote/impdatum.cc
+2022/08/06 | 127 | graphics/asymptote/index.html
+2022/08/06 | 10445 | graphics/asymptote/INSTALL
+2022/08/06 | 15645 | graphics/asymptote/install-sh
+2022/08/06 | 1982 | graphics/asymptote/inst.h
+2022/08/06 | 5689 | graphics/asymptote/interact.cc
+2022/08/06 | 1345 | graphics/asymptote/interact.h
+2022/08/06 | 5733 | graphics/asymptote/item.h
+2022/08/06 | 11221 | graphics/asymptote/jsfile.cc
+2022/08/06 | 2623 | graphics/asymptote/jsfile.h
+2022/08/06 | 609 | graphics/asymptote/keywords.cc
+2022/08/06 | 1253 | graphics/asymptote/keywords.pl
+2022/08/06 | 22345 | graphics/asymptote/knot.cc
+2022/08/06 | 12259 | graphics/asymptote/knot.h
+2022/08/06 | 342 | graphics/asymptote/lexical.h
+2022/08/06 | 83449 | graphics/asymptote/lex.yy.cc
+2022/08/06 | 506313 | graphics/asymptote/libatomic_ops-7.6.12.tar.gz
+2022/08/06 | 35147 | graphics/asymptote/LICENSE
+2022/08/06 | 7639 | graphics/asymptote/LICENSE.LESSER
+2022/08/06 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
+2022/08/06 | 2194 | graphics/asymptote/locate.cc
+2022/08/06 | 631 | graphics/asymptote/locate.h
+2022/08/06 | 12054 | graphics/asymptote/LspCpp/CMakeLists.txt
+2022/08/06 | 4925 | graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
+2022/08/06 | 3597 | graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
+2022/08/06 | 4853 | graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
+2022/08/06 | 8105 | graphics/asymptote/LspCpp/examples/WebsocketExample.cpp
+2022/08/06 | 460 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Cancellation.h
+2022/08/06 | 867 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Condition.h
+2022/08/06 | 7671 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Context.h
+2022/08/06 | 1665 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Endpoint.h
+2022/08/06 | 217 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/GCThreadContext.h
+2022/08/06 | 2845 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/json.h
+2022/08/06 | 1159 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsRequestId.h
+2022/08/06 | 1600 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsResponseMessage.h
+2022/08/06 | 30640 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/macro_map.h
+2022/08/06 | 628 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/message.h
+2022/08/06 | 4580 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageIssue.h
+2022/08/06 | 2122 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageJsonHandler.h
+2022/08/06 | 241 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageProducer.h
+2022/08/06 | 1475 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/NotificationInMessage.h
+2022/08/06 | 10070 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RemoteEndPoint.h
+2022/08/06 | 1774 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RequestInMessage.h
+2022/08/06 | 1765 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/ScopeExit.h
+2022/08/06 | 10581 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
+2022/08/06 | 2930 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/stream.h
+2022/08/06 | 1000 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/StreamMessageProducer.h
+2022/08/06 | 1183 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/TcpServer.h
+2022/08/06 | 6386 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
+2022/08/06 | 6369 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/traits.h
+2022/08/06 | 2424 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/WebSocketServer.h
+2022/08/06 | 706 | graphics/asymptote/LspCpp/include/LibLsp/lsp/AbsolutePath.h
+2022/08/06 | 8521 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
+2022/08/06 | 1567 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/registerCapability.h
+2022/08/06 | 1019 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/unregisterCapability.h
+2022/08/06 | 2636 | graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
+2022/08/06 | 236 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Directory.h
+2022/08/06 | 587 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
+2022/08/06 | 625 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
+2022/08/06 | 382 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/buildWorkspace.h
+2022/08/06 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
+2022/08/06 | 827 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
+2022/08/06 | 1002 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
+2022/08/06 | 631 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
+2022/08/06 | 294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/classFileContents.h
+2022/08/06 | 1109 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/codeActionResult.h
+2022/08/06 | 901 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/executeCommand.h
+2022/08/06 | 579 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/findLinks.h
+2022/08/06 | 565 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateAccessors.h
+2022/08/06 | 617 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateConstructors.h
+2022/08/06 | 828 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
+2022/08/06 | 738 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
+2022/08/06 | 514 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateToString.h
+2022/08/06 | 1673 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
+2022/08/06 | 2104 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
+2022/08/06 | 325 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
+2022/08/06 | 320 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/Move.h
+2022/08/06 | 301 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/organizeImports.h
+2022/08/06 | 907 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/OverridableMethod.h
+2022/08/06 | 309 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
+2022/08/06 | 748 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
+2022/08/06 | 722 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
+2022/08/06 | 229 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
+2022/08/06 | 4688 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
+2022/08/06 | 203 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
+2022/08/06 | 482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialized.h
+2022/08/06 | 1380 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialize.h
+2022/08/06 | 3418 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
+2022/08/06 | 1150 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
+2022/08/06 | 18994 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
+2022/08/06 | 22502 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
+2022/08/06 | 6889 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
+2022/08/06 | 693 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
+2022/08/06 | 487 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
+2022/08/06 | 4578 | graphics/asymptote/LspCpp/include/LibLsp/lsp/IProgressMonitor.h
+2022/08/06 | 2974 | graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
+2022/08/06 | 1808 | graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
+2022/08/06 | 4118 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lru_cache.h
+2022/08/06 | 3294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
+2022/08/06 | 1213 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
+2022/08/06 | 1328 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
+2022/08/06 | 778 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsDocumentUri.h
+2022/08/06 | 1192 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
+2022/08/06 | 1105 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
+2022/08/06 | 1411 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_code_action.h
+2022/08/06 | 7152 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
+2022/08/06 | 3834 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
+2022/08/06 | 1143 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsPosition.h
+2022/08/06 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsRange.h
+2022/08/06 | 3004 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
+2022/08/06 | 688 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentEdit.h
+2022/08/06 | 424 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentIdentifier.h
+2022/08/06 | 676 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentItem.h
+2022/08/06 | 667 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
+2022/08/06 | 2514 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
+2022/08/06 | 1154 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
+2022/08/06 | 2482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
+2022/08/06 | 3917 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/Markup.h
+2022/08/06 | 27859 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/string_ref.h
+2022/08/06 | 74 | graphics/asymptote/LspCpp/include/LibLsp/lsp/method_type.h
+2022/08/06 | 588 | graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
+2022/08/06 | 348 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ParentProcessWatcher.h
+2022/08/06 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProcessIoService.h
+2022/08/06 | 176 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProtocolJsonHandler.h
+2022/08/06 | 2675 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
+2022/08/06 | 1185 | graphics/asymptote/LspCpp/include/LibLsp/lsp/SimpleTimer.h
+2022/08/06 | 4265 | graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
+2022/08/06 | 3731 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
+2022/08/06 | 2668 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_action.h
+2022/08/06 | 1129 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
+2022/08/06 | 1615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/colorPresentation.h
+2022/08/06 | 2524 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
+2022/08/06 | 934 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/declaration_definition.h
+2022/08/06 | 1493 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
+2022/08/06 | 768 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_close.h
+2022/08/06 | 937 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
+2022/08/06 | 1056 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
+2022/08/06 | 808 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
+2022/08/06 | 1831 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/documentColor.h
+2022/08/06 | 1244 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
+2022/08/06 | 1814 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
+2022/08/06 | 1665 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/foldingRange.h
+2022/08/06 | 792 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/formatting.h
+2022/08/06 | 566 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/highlight.h
+2022/08/06 | 1617 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
+2022/08/06 | 488 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/implementation.h
+2022/08/06 | 1267 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
+2022/08/06 | 1054 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/onTypeFormatting.h
+2022/08/06 | 1033 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
+2022/08/06 | 751 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/publishDiagnostics.h
+2022/08/06 | 872 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/range_formatting.h
+2022/08/06 | 1195 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
+2022/08/06 | 1098 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/rename.h
+2022/08/06 | 223 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCodeLens.h
+2022/08/06 | 489 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCompletionItem.h
+2022/08/06 | 789 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
+2022/08/06 | 1440 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
+2022/08/06 | 2632 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/semanticHighlighting.h
+2022/08/06 | 9945 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
+2022/08/06 | 3391 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
+2022/08/06 | 490 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/type_definition.h
+2022/08/06 | 4199 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
+2022/08/06 | 1924 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
+2022/08/06 | 4899 | graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
+2022/08/06 | 2257 | graphics/asymptote/LspCpp/include/LibLsp/lsp/windows/MessageNotify.h
+2022/08/06 | 2149 | graphics/asymptote/LspCpp/include/LibLsp/lsp/working_files.h
+2022/08/06 | 1077 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
+2022/08/06 | 1161 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h
+2022/08/06 | 580 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_configuration.h
+2022/08/06 | 1352 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_watched_files.h
+2022/08/06 | 1321 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
+2022/08/06 | 794 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/execute_command.h
+2022/08/06 | 428 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/symbol.h
+2022/08/06 | 953 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
+2022/08/06 | 54109 | graphics/asymptote/LspCpp/include/optional.hpp
+2022/08/06 | 1066 | graphics/asymptote/LspCpp/LICENSE
+2022/08/06 | 1219 | graphics/asymptote/LspCpp/README.md
+2022/08/06 | 964 | graphics/asymptote/LspCpp/src/jsonrpc/Context.cpp
+2022/08/06 | 1201 | graphics/asymptote/LspCpp/src/jsonrpc/Endpoint.cpp
+2022/08/06 | 277 | graphics/asymptote/LspCpp/src/jsonrpc/GCThreadContext.cpp
+2022/08/06 | 2144 | graphics/asymptote/LspCpp/src/jsonrpc/message.cpp
+2022/08/06 | 1190 | graphics/asymptote/LspCpp/src/jsonrpc/MessageJsonHandler.cpp
+2022/08/06 | 54109 | graphics/asymptote/LspCpp/src/jsonrpc/optional.hpp
+2022/08/06 | 17088 | graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
+2022/08/06 | 4822 | graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
+2022/08/06 | 4396 | graphics/asymptote/LspCpp/src/jsonrpc/StreamMessageProducer.cpp
+2022/08/06 | 9003 | graphics/asymptote/LspCpp/src/jsonrpc/TcpServer.cpp
+2022/08/06 | 465 | graphics/asymptote/LspCpp/src/jsonrpc/threaded_queue.cpp
+2022/08/06 | 10251 | graphics/asymptote/LspCpp/src/jsonrpc/WebSocketServer.cpp
+2022/08/06 | 1074 | graphics/asymptote/LspCpp/src/lsp/initialize.cpp
+2022/08/06 | 23507 | graphics/asymptote/LspCpp/src/lsp/lsp.cpp
+2022/08/06 | 1673 | graphics/asymptote/LspCpp/src/lsp/lsp_diagnostic.cpp
+2022/08/06 | 33695 | graphics/asymptote/LspCpp/src/lsp/Markup.cpp
+2022/08/06 | 2913 | graphics/asymptote/LspCpp/src/lsp/ParentProcessWatcher.cpp
+2022/08/06 | 23931 | graphics/asymptote/LspCpp/src/lsp/ProtocolJsonHandler.cpp
+2022/08/06 | 11255 | graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
+2022/08/06 | 15976 | graphics/asymptote/LspCpp/src/lsp/utils.cpp
+2022/08/06 | 5350 | graphics/asymptote/LspCpp/src/lsp/working_files.cpp
+2022/08/06 | 2662 | graphics/asymptote/LspCpp/third_party/rapidjson/appveyor.yml
+2022/08/06 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/abcde.txt
+2022/08/06 | 582 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/glossary.json
+2022/08/06 | 872 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/menu.json
+2022/08/06 | 103 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/readme.txt
+2022/08/06 | 687491 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/sample.json
+2022/08/06 | 3467 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/webapp.json
+2022/08/06 | 601 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/widget.json
+2022/08/06 | 4375 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/draft-04/schema
+2022/08/06 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16bebom.json
+2022/08/06 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16be.json
+2022/08/06 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16lebom.json
+2022/08/06 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16le.json
+2022/08/06 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32bebom.json
+2022/08/06 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32be.json
+2022/08/06 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32lebom.json
+2022/08/06 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32le.json
+2022/08/06 | 319 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8bom.json
+2022/08/06 | 316 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8.json
+2022/08/06 | 58 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail10.json
+2022/08/06 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail11.json
+2022/08/06 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail12.json
+2022/08/06 | 43 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail13.json
+2022/08/06 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail14.json
+2022/08/06 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail15.json
+2022/08/06 | 8 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail16.json
+2022/08/06 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail17.json
+2022/08/06 | 50 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail18.json
+2022/08/06 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail19.json
+2022/08/06 | 60 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail1.json
+2022/08/06 | 23 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail20.json
+2022/08/06 | 32 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail21.json
+2022/08/06 | 33 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail22.json
+2022/08/06 | 20 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail23.json
+2022/08/06 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail24.json
+2022/08/06 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail25.json
+2022/08/06 | 38 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail26.json
+2022/08/06 | 14 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail27.json
+2022/08/06 | 15 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail28.json
+2022/08/06 | 4 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail29.json
+2022/08/06 | 17 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail2.json
+2022/08/06 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail30.json
+2022/08/06 | 7 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail31.json
+2022/08/06 | 40 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail32.json
+2022/08/06 | 12 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail33.json
+2022/08/06 | 37 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail3.json
+2022/08/06 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail4.json
+2022/08/06 | 24 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail5.json
+2022/08/06 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail6.json
+2022/08/06 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail7.json
+2022/08/06 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail8.json
+2022/08/06 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail9.json
+2022/08/06 | 1441 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass1.json
+2022/08/06 | 52 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass2.json
+2022/08/06 | 148 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass3.json
+2022/08/06 | 173 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/readme.txt
+2022/08/06 | 9059 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/bin/jsonschema_suite
+2022/08/06 | 1057 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/LICENSE
+2022/08/06 | 4787 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/README.md
+2022/08/06 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json
+2022/08/06 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/integer.json
+2022/08/06 | 110 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/subSchemas.json
+2022/08/06 | 2257 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json
+2022/08/06 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json
+2022/08/06 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/default.json
+2022/08/06 | 2989 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/dependencies.json
+2022/08/06 | 1936 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/disallow.json
+2022/08/06 | 1544 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json
+2022/08/06 | 1964 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/enum.json
+2022/08/06 | 2591 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/extends.json
+2022/08/06 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/items.json
+2022/08/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maximum.json
+2022/08/06 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxItems.json
+2022/08/06 | 895 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxLength.json
+2022/08/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minimum.json
+2022/08/06 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minItems.json
+2022/08/06 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minLength.json
+2022/08/06 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json
+2022/08/06 | 6751 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/format.json
+2022/08/06 | 463 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json
+2022/08/06 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json
+2022/08/06 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/pattern.json
+2022/08/06 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json
+2022/08/06 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/properties.json
+2022/08/06 | 4385 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/ref.json
+2022/08/06 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/refRemote.json
+2022/08/06 | 1282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/required.json
+2022/08/06 | 13217 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/type.json
+2022/08/06 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json
+2022/08/06 | 2282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json
+2022/08/06 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json
+2022/08/06 | 3025 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/allOf.json
+2022/08/06 | 1608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/anyOf.json
+2022/08/06 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/default.json
+2022/08/06 | 854 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/definitions.json
+2022/08/06 | 3139 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/dependencies.json
+2022/08/06 | 1975 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/enum.json
+2022/08/06 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/items.json
+2022/08/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maximum.json
+2022/08/06 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxItems.json
+2022/08/06 | 896 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxLength.json
+2022/08/06 | 759 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json
+2022/08/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minimum.json
+2022/08/06 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minItems.json
+2022/08/06 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minLength.json
+2022/08/06 | 725 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minProperties.json
+2022/08/06 | 1525 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json
+2022/08/06 | 2266 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/not.json
+2022/08/06 | 1607 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/oneOf.json
+2022/08/06 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json
+2022/08/06 | 4608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/format.json
+2022/08/06 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json
+2022/08/06 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/pattern.json
+2022/08/06 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json
+2022/08/06 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/properties.json
+2022/08/06 | 4366 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/ref.json
+2022/08/06 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/refRemote.json
+2022/08/06 | 923 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/required.json
+2022/08/06 | 9298 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/type.json
+2022/08/06 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json
+2022/08/06 | 134 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tox.ini
+2022/08/06 | 30003 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/alotofkeys.json
+2022/08/06 | 849 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/booleans.json
+2022/08/06 | 1698 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/floats.json
+2022/08/06 | 4202 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/guids.json
+2022/08/06 | 1098 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/integers.json
+2022/08/06 | 15142 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/mixed.json
+2022/08/06 | 802 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/nulls.json
+2022/08/06 | 33764 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/paragraphs.json
+2022/08/06 | 86 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/readme.txt
+2022/08/06 | 3157 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
+2022/08/06 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/allOf_address.json
+2022/08/06 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/anyOf_address.json
+2022/08/06 | 1315 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/idandref.json
+2022/08/06 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/oneOf_address.json
+2022/08/06 | 6818 | graphics/asymptote/LspCpp/third_party/rapidjson/CHANGELOG.md
+2022/08/06 | 10312 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
+2022/08/06 | 828 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeModules/FindGTestSrc.cmake
+2022/08/06 | 2175 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/LICENSE
+2022/08/06 | 2603 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
+2022/08/06 | 678 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/README.md
+2022/08/06 | 1052 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/CMakeLists.txt
+2022/08/06 | 912 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.dot
+2022/08/06 | 16569 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.png
+2022/08/06 | 2239 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.dot
+2022/08/06 | 37281 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.png
+2022/08/06 | 1915 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.dot
+2022/08/06 | 92378 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.png
+2022/08/06 | 176 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/makefile
+2022/08/06 | 935 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.dot
+2022/08/06 | 16081 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.png
+2022/08/06 | 1502 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.dot
+2022/08/06 | 41517 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.png
+2022/08/06 | 1454 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.dot
+2022/08/06 | 36371 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.png
+2022/08/06 | 1427 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.dot
+2022/08/06 | 32887 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.png
+2022/08/06 | 1435 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.dot
+2022/08/06 | 43670 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.png
+2022/08/06 | 1456 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.dot
+2022/08/06 | 44634 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.png
+2022/08/06 | 1775 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.dot
+2022/08/06 | 99993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.png
+2022/08/06 | 15464 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.md
+2022/08/06 | 15393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.zh-cn.md
+2022/08/06 | 103393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.in
+2022/08/06 | 103478 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.zh-cn.in
+2022/08/06 | 6708 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.md
+2022/08/06 | 6860 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.zh-cn.md
+2022/08/06 | 15364 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.md
+2022/08/06 | 15030 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.zh-cn.md
+2022/08/06 | 5005 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
+2022/08/06 | 4805 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.zh-cn.md
+2022/08/06 | 22426 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.md
+2022/08/06 | 21956 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.zh-cn.md
+2022/08/06 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/docker/debian/Dockerfile
+2022/08/06 | 5259 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.png
+2022/08/06 | 4230 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.svg
+2022/08/06 | 6572 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/doxygenextra.css
+2022/08/06 | 6090 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/DoxygenLayout.xml
+2022/08/06 | 256 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/footer.html
+2022/08/06 | 1137 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/header.html
+2022/08/06 | 363 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/npm.md
+2022/08/06 | 1268 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.md
+2022/08/06 | 1236 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.zh-cn.md
+2022/08/06 | 8883 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.md
+2022/08/06 | 8532 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.zh-cn.md
+2022/08/06 | 21276 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.md
+2022/08/06 | 19967 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.zh-cn.md
+2022/08/06 | 17993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
+2022/08/06 | 9765 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.zh-cn.md
+2022/08/06 | 14531 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.md
+2022/08/06 | 14325 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.zh-cn.md
+2022/08/06 | 22121 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.md
+2022/08/06 | 21546 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.zh-cn.md
+2022/08/06 | 7130 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.cpp
+2022/08/06 | 3567 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.h
+2022/08/06 | 6862 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archivertest.cpp
+2022/08/06 | 2577 | graphics/asymptote/LspCpp/third_party/rapidjson/example/capitalize/capitalize.cpp
+2022/08/06 | 982 | graphics/asymptote/LspCpp/third_party/rapidjson/example/CMakeLists.txt
+2022/08/06 | 1015 | graphics/asymptote/LspCpp/third_party/rapidjson/example/condense/condense.cpp
+2022/08/06 | 5946 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkeydom/filterkeydom.cpp
+2022/08/06 | 4979 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkey/filterkey.cpp
+2022/08/06 | 6022 | graphics/asymptote/LspCpp/third_party/rapidjson/example/jsonx/jsonx.cpp
+2022/08/06 | 9461 | graphics/asymptote/LspCpp/third_party/rapidjson/example/lookaheadparser/lookaheadparser.cpp
+2022/08/06 | 2814 | graphics/asymptote/LspCpp/third_party/rapidjson/example/messagereader/messagereader.cpp
+2022/08/06 | 5150 | graphics/asymptote/LspCpp/third_party/rapidjson/example/parsebyparts/parsebyparts.cpp
+2022/08/06 | 2245 | graphics/asymptote/LspCpp/third_party/rapidjson/example/prettyauto/prettyauto.cpp
+2022/08/06 | 1019 | graphics/asymptote/LspCpp/third_party/rapidjson/example/pretty/pretty.cpp
+2022/08/06 | 8705 | graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
+2022/08/06 | 4590 | graphics/asymptote/LspCpp/third_party/rapidjson/example/serialize/serialize.cpp
+2022/08/06 | 685 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simpledom/simpledom.cpp
+2022/08/06 | 2259 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplepullreader/simplepullreader.cpp
+2022/08/06 | 1868 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplereader/simplereader.cpp
+2022/08/06 | 1031 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplewriter/simplewriter.cpp
+2022/08/06 | 1610 | graphics/asymptote/LspCpp/third_party/rapidjson/example/sortkeys/sortkeys.cpp
+2022/08/06 | 943 | graphics/asymptote/LspCpp/third_party/rapidjson/example/traverseaspointer.cpp
+2022/08/06 | 6263 | graphics/asymptote/LspCpp/third_party/rapidjson/example/tutorial/tutorial.cpp
+2022/08/06 | 94 | graphics/asymptote/LspCpp/third_party/rapidjson/include_dirs.js
+2022/08/06 | 22522 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
+2022/08/06 | 2260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h
+2022/08/06 | 132820 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
+2022/08/06 | 10660 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodedstream.h
+2022/08/06 | 29260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodings.h
+2022/08/06 | 8831 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
+2022/08/06 | 9744 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
+2022/08/06 | 2980 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filereadstream.h
+2022/08/06 | 3125 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filewritestream.h
+2022/08/06 | 4013 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/fwd.h
+2022/08/06 | 9271 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
+2022/08/06 | 2045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/clzll.h
+2022/08/06 | 11559 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
+2022/08/06 | 8433 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
+2022/08/06 | 2973 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/ieee754.h
+2022/08/06 | 10110 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/itoa.h
+2022/08/06 | 6620 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/meta.h
+2022/08/06 | 3574 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/pow10.h
+2022/08/06 | 26120 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/regex.h
+2022/08/06 | 7163 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/stack.h
+2022/08/06 | 2726 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strfunc.h
+2022/08/06 | 9045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strtod.h
+2022/08/06 | 1398 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/swap.h
+2022/08/06 | 4061 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/istreamwrapper.h
+2022/08/06 | 2539 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorybuffer.h
+2022/08/06 | 2646 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorystream.h
+2022/08/06 | 8372 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h
+2022/08/06 | 9386 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h
+2022/08/06 | 2310 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/ostreamwrapper.h
+2022/08/06 | 63725 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
+2022/08/06 | 10518 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/prettywriter.h
+2022/08/06 | 25599 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
+2022/08/06 | 94336 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
+2022/08/06 | 121147 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
+2022/08/06 | 6732 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stream.h
+2022/08/06 | 3972 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stringbuffer.h
+2022/08/06 | 19752 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/uri.h
+2022/08/06 | 26856 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/writer.h
+2022/08/06 | 355 | graphics/asymptote/LspCpp/third_party/rapidjson/library.json
+2022/08/06 | 5152 | graphics/asymptote/LspCpp/third_party/rapidjson/license.txt
+2022/08/06 | 561 | graphics/asymptote/LspCpp/third_party/rapidjson/package.json
+2022/08/06 | 3407 | graphics/asymptote/LspCpp/third_party/rapidjson/rapidjson.autopkg
+2022/08/06 | 983 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfig.cmake.in
+2022/08/06 | 469 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfigVersion.cmake.in
+2022/08/06 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSON.pc.in
+2022/08/06 | 11146 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.md
+2022/08/06 | 8795 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.zh-cn.md
+2022/08/06 | 491 | graphics/asymptote/LspCpp/third_party/rapidjson/test/CMakeLists.txt
+2022/08/06 | 834 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/CMakeLists.txt
+2022/08/06 | 35467 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/misctest.cpp
+2022/08/06 | 975 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.cpp
+2022/08/06 | 5756 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.h
+2022/08/06 | 4456 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/platformtest.cpp
+2022/08/06 | 16302 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/rapidjsontest.cpp
+2022/08/06 | 7218 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/schematest.cpp
+2022/08/06 | 9040 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/allocatorstest.cpp
+2022/08/06 | 4420 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/bigintegertest.cpp
+2022/08/06 | 1092 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/clzlltest.cpp
+2022/08/06 | 3060 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/CMakeLists.txt
+2022/08/06 | 3733 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
+2022/08/06 | 21279 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/documenttest.cpp
+2022/08/06 | 3441 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/dtoatest.cpp
+2022/08/06 | 12004 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
+2022/08/06 | 19344 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodingstest.cpp
+2022/08/06 | 4389 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/filestreamtest.cpp
+2022/08/06 | 5837 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/fwdtest.cpp
+2022/08/06 | 5419 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/istreamwrappertest.cpp
+2022/08/06 | 3956 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/itoatest.cpp
+2022/08/06 | 4753 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/jsoncheckertest.cpp
+2022/08/06 | 2401 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/namespacetest.cpp
+2022/08/06 | 2478 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
+2022/08/06 | 1457 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/platformtest.cpp
+2022/08/06 | 62786 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
+2022/08/06 | 10350 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/prettywritertest.cpp
+2022/08/06 | 98539 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/readertest.cpp
+2022/08/06 | 17263 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/regextest.cpp
+2022/08/06 | 125009 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
+2022/08/06 | 7020 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
+2022/08/06 | 1316 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strfunctest.cpp
+2022/08/06 | 5544 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/stringbuffertest.cpp
+2022/08/06 | 4256 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strtodtest.cpp
+2022/08/06 | 1527 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.cpp
+2022/08/06 | 3979 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.h
+2022/08/06 | 28158 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
+2022/08/06 | 57599 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
+2022/08/06 | 17932 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/writertest.cpp
+2022/08/06 | 242 | graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
+2022/08/06 | 3294 | graphics/asymptote/LspCpp/third_party/rapidjson/travis-doxygen.sh
+2022/08/06 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/future.hpp
+2022/08/06 | 2088 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/locking_ptr.hpp
+2022/08/06 | 13824 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/pool_core.hpp
+2022/08/06 | 1006 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/scope_guard.hpp
+2022/08/06 | 2817 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/worker_thread.hpp
+2022/08/06 | 2649 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/future.hpp
+2022/08/06 | 663 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool.hpp
+2022/08/06 | 2000 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool_adaptors.hpp
+2022/08/06 | 7632 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool.hpp
+2022/08/06 | 6550 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/scheduling_policies.hpp
+2022/08/06 | 1957 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/shutdown_policies.hpp
+2022/08/06 | 2396 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
+2022/08/06 | 4345 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/task_adaptors.hpp
+2022/08/06 | 3723 | graphics/asymptote/LspCpp/third_party/threadpool/CHANGE_LOG
+2022/08/06 | 221 | graphics/asymptote/LspCpp/third_party/threadpool/COPYING
+2022/08/06 | 319 | graphics/asymptote/LspCpp/third_party/threadpool/Jamfile.v2
+2022/08/06 | 32 | graphics/asymptote/LspCpp/third_party/threadpool/Jamrules
+2022/08/06 | 5196 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.dox
+2022/08/06 | 1134 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design_header.htm
+2022/08/06 | 1322 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.txt
+2022/08/06 | 5202 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.dox
+2022/08/06 | 1122 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples_header.htm
+2022/08/06 | 113 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.txt
+2022/08/06 | 643 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/common_footer.htm
+2022/08/06 | 625 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/overview_footer.htm
+2022/08/06 | 994 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/common_footer.htm
+2022/08/06 | 967 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/overview_footer.htm
+2022/08/06 | 184 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/index.html
+2022/08/06 | 801 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/Makefile
+2022/08/06 | 5221 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.dox
+2022/08/06 | 1188 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview_header.htm
+2022/08/06 | 8296 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.txt
+2022/08/06 | 8411 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference.dox
+2022/08/06 | 1283 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference_header.htm
+2022/08/06 | 7619 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/threadpool.css
+2022/08/06 | 5203 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.dox
+2022/08/06 | 1332 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial_header.htm
+2022/08/06 | 6350 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.txt
+2022/08/06 | 195 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/Jamfile.v2
+2022/08/06 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/mergesort.cpp
+2022/08/06 | 194 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/Jamfile.v2
+2022/08/06 | 986 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/quickstart.cpp
+2022/08/06 | 321 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/README
+2022/08/06 | 2315 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp
+2022/08/06 | 199 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/Jamfile.v2
+2022/08/06 | 190 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/Jamfile.v2
+2022/08/06 | 5265 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/tutorial.cpp
+2022/08/06 | 1338 | graphics/asymptote/LspCpp/third_party/threadpool/LICENSE_1_0.txt
+2022/08/06 | 1125 | graphics/asymptote/LspCpp/third_party/threadpool/Makefile
+2022/08/06 | 67 | graphics/asymptote/LspCpp/third_party/threadpool/project-root.jam
+2022/08/06 | 279 | graphics/asymptote/LspCpp/third_party/threadpool/README
+2022/08/06 | 1088 | graphics/asymptote/LspCpp/third_party/threadpool/TODO
+2022/08/06 | 1216 | graphics/asymptote/LspCpp/third_party/uri/CHANGELOG.md
+2022/08/06 | 648 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
+2022/08/06 | 3036 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
+2022/08/06 | 188 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/cmake_clean.cmake
+2022/08/06 | 113 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.make
+2022/08/06 | 107 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.ts
+2022/08/06 | 423 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
+2022/08/06 | 22 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/progress.make
+2022/08/06 | 2 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/progress.marks
+2022/08/06 | 1703 | graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
+2022/08/06 | 3282 | graphics/asymptote/LspCpp/third_party/uri/CMakeLists.txt
+2022/08/06 | 6104 | graphics/asymptote/LspCpp/third_party/uri/deps/BUILD.bazel
+2022/08/06 | 4160 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/linux-presubmit.sh
+2022/08/06 | 2608 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/macos-presubmit.sh
+2022/08/06 | 784 | graphics/asymptote/LspCpp/third_party/uri/deps/CMakeLists.txt
+2022/08/06 | 5683 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTING.md
+2022/08/06 | 2223 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTORS
+2022/08/06 | 86552 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/advanced.md
+2022/08/06 | 342 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/community_created_documentation.md
+2022/08/06 | 18 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_config.yml
+2022/08/06 | 1200 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_data/navigation.yml
+2022/08/06 | 29900 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/faq.md
+2022/08/06 | 7364 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cheat_sheet.md
+2022/08/06 | 145014 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cook_book.md
+2022/08/06 | 14980 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_faq.md
+2022/08/06 | 29203 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_for_dummies.md
+2022/08/06 | 1034 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/index.md
+2022/08/06 | 2319 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_layouts/default.html
+2022/08/06 | 5062 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/pkgconfig.md
+2022/08/06 | 929 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/platforms.md
+2022/08/06 | 19136 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/primer.md
+2022/08/06 | 5204 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-bazel.md
+2022/08/06 | 5054 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-cmake.md
+2022/08/06 | 6872 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/actions.md
+2022/08/06 | 21535 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/assertions.md
+2022/08/06 | 20123 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/matchers.md
+2022/08/06 | 20974 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/mocking.md
+2022/08/06 | 43830 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/testing.md
+2022/08/06 | 1118 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/samples.md
+2022/08/06 | 2915 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_sass/main.scss
+2022/08/06 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock_main.pc.in
+2022/08/06 | 347 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock.pc.in
+2022/08/06 | 8129 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/CMakeLists.txt
+2022/08/06 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/docs/README.md
+2022/08/06 | 61667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-actions.h
+2022/08/06 | 6097 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-cardinalities.h
+2022/08/06 | 25503 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-function-mocker.h
+2022/08/06 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock.h
+2022/08/06 | 207686 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-matchers.h
+2022/08/06 | 30920 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-actions.h
+2022/08/06 | 3419 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-matchers.h
+2022/08/06 | 10476 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-nice-strict.h
+2022/08/06 | 76445 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-spec-builders.h
+2022/08/06 | 314 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-generated-actions.h
+2022/08/06 | 1918 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-matchers.h
+2022/08/06 | 1953 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-port.h
+2022/08/06 | 510 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/README.md
+2022/08/06 | 18448 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-internal-utils.h
+2022/08/06 | 4807 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-port.h
+2022/08/06 | 13491 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-pp.h
+2022/08/06 | 1538 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/README.md
+2022/08/06 | 2107 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-all.cc
+2022/08/06 | 5262 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-cardinalities.cc
+2022/08/06 | 8528 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock.cc
+2022/08/06 | 9267 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-internal-utils.cc
+2022/08/06 | 3011 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock_main.cc
+2022/08/06 | 17951 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-matchers.cc
+2022/08/06 | 33482 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-spec-builders.cc
+2022/08/06 | 3266 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/BUILD.bazel
+2022/08/06 | 51302 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-actions_test.cc
+2022/08/06 | 2335 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_all_test.cc
+2022/08/06 | 12321 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-cardinalities_test.cc
+2022/08/06 | 3280 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_ex_test.cc
+2022/08/06 | 33667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-function-mocker_test.cc
+2022/08/06 | 28114 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-internal-utils_test.cc
+2022/08/06 | 3230 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test_.cc
+2022/08/06 | 4357 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test.py
+2022/08/06 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link2_test.cc
+2022/08/06 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.cc
+2022/08/06 | 19604 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.h
+2022/08/06 | 287695 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-matchers_test.cc
+2022/08/06 | 53373 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-more-actions_test.cc
+2022/08/06 | 15529 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-nice-strict_test.cc
+2022/08/06 | 8561 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_.cc
+2022/08/06 | 13612 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_golden.txt
+2022/08/06 | 6175 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test.py
+2022/08/06 | 1977 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-port_test.cc
+2022/08/06 | 8789 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp-string_test.cc
+2022/08/06 | 3517 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp_test.cc
+2022/08/06 | 74749 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-spec-builders_test.cc
+2022/08/06 | 7287 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_stress_test.cc
+2022/08/06 | 6412 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test.cc
+2022/08/06 | 3218 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test_utils.py
+2022/08/06 | 284 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/Config.cmake.in
+2022/08/06 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest_main.pc.in
+2022/08/06 | 311 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest.pc.in
+2022/08/06 | 14575 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/internal_utils.cmake
+2022/08/06 | 499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/libgtest.la.in
+2022/08/06 | 11937 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/CMakeLists.txt
+2022/08/06 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/docs/README.md
+2022/08/06 | 8307 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-assertion-result.h
+2022/08/06 | 14651 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-death-test.h
+2022/08/06 | 88387 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest.h
+2022/08/06 | 33240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-matchers.h
+2022/08/06 | 8120 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-message.h
+2022/08/06 | 22663 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-param-test.h
+2022/08/06 | 15043 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_pred_impl.h
+2022/08/06 | 36540 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-printers.h
+2022/08/06 | 2499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_prod.h
+2022/08/06 | 10073 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-spi.h
+2022/08/06 | 6944 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-test-part.h
+2022/08/06 | 15959 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-typed-test.h
+2022/08/06 | 1858 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest.h
+2022/08/06 | 1873 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-port.h
+2022/08/06 | 2094 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-printers.h
+2022/08/06 | 1753 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/README.md
+2022/08/06 | 13366 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-death-test-internal.h
+2022/08/06 | 9856 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-filepath.h
+2022/08/06 | 61699 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-internal.h
+2022/08/06 | 35217 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-param-util.h
+2022/08/06 | 4207 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port-arch.h
+2022/08/06 | 85342 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port.h
+2022/08/06 | 7304 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-string.h
+2022/08/06 | 6252 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-type-util.h
+2022/08/06 | 8894 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/README.md
+2022/08/06 | 4247 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/prime_tables.h
+2022/08/06 | 4985 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample10_unittest.cc
+2022/08/06 | 2470 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.cc
+2022/08/06 | 1919 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.h
+2022/08/06 | 5111 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1_unittest.cc
+2022/08/06 | 2260 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.cc
+2022/08/06 | 2982 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.h
+2022/08/06 | 3917 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2_unittest.cc
+2022/08/06 | 5375 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3-inl.h
+2022/08/06 | 5360 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3_unittest.cc
+2022/08/06 | 2110 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.cc
+2022/08/06 | 2132 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.h
+2022/08/06 | 1995 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4_unittest.cc
+2022/08/06 | 6585 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample5_unittest.cc
+2022/08/06 | 8861 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample6_unittest.cc
+2022/08/06 | 4620 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample7_unittest.cc
+2022/08/06 | 6194 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample8_unittest.cc
+2022/08/06 | 5925 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample9_unittest.cc
+2022/08/06 | 2201 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-all.cc
+2022/08/06 | 3025 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-assertion-result.cc
+2022/08/06 | 252536 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest.cc
+2022/08/06 | 62413 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-death-test.cc
+2022/08/06 | 14081 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-filepath.cc
+2022/08/06 | 46854 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-internal-inl.h
+2022/08/06 | 1968 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest_main.cc
+2022/08/06 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-matchers.cc
+2022/08/06 | 47582 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-port.cc
+2022/08/06 | 18474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-printers.cc
+2022/08/06 | 4126 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-test-part.cc
+2022/08/06 | 3780 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-typed-test.cc
+2022/08/06 | 15318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/BUILD.bazel
+2022/08/06 | 3240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest_.cc
+2022/08/06 | 7322 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest.py
+2022/08/06 | 8386 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test_.cc
+2022/08/06 | 10023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test.py
+2022/08/06 | 2505 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test_.cc
+2022/08/06 | 4896 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test.py
+2022/08/06 | 3601 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test_ex_test.cc
+2022/08/06 | 47993 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test-test.cc
+2022/08/06 | 3704 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test_.cc
+2022/08/06 | 4173 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test.py
+2022/08/06 | 5595 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest_.cc
+2022/08/06 | 14915 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest.py
+2022/08/06 | 22642 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filepath-test.cc
+2022/08/06 | 3466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest_.cc
+2022/08/06 | 21466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest.py
+2022/08/06 | 2286 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest_.cc
+2022/08/06 | 5254 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest.py
+2022/08/06 | 5705 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-outfiles-test.py
+2022/08/06 | 24483 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-output-unittest.py
+2022/08/06 | 24474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-listener-test.cc
+2022/08/06 | 4668 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest_.cc
+2022/08/06 | 6543 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest.py
+2022/08/06 | 5265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-message-test.cc
+2022/08/06 | 7957 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-options-test.cc
+2022/08/06 | 36152 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test_.cc
+2022/08/06 | 42714 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test-golden-lin.txt
+2022/08/06 | 12648 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test.py
+2022/08/06 | 2813 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test2-test.cc
+2022/08/06 | 2023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test_.cc
+2022/08/06 | 2400 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test.py
+2022/08/06 | 2138 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test_.cc
+2022/08/06 | 2355 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test.py
+2022/08/06 | 40998 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.cc
+2022/08/06 | 2282 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.h
+2022/08/06 | 40876 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-port-test.cc
+2022/08/06 | 63842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-printers-test.cc
+2022/08/06 | 1949 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test_.cc
+2022/08/06 | 2265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test.py
+2022/08/06 | 3219 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test_.cc
+2022/08/06 | 12539 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test.py
+2022/08/06 | 8112 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-test-part-test.cc
+2022/08/06 | 3069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test_.cc
+2022/08/06 | 5658 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test.py
+2022/08/06 | 1878 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test_.cc
+2022/08/06 | 2495 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test.py
+2022/08/06 | 2239 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_all_test.cc
+2022/08/06 | 3842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_assert_by_exception_test.cc
+2022/08/06 | 6418 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_environment_test.cc
+2022/08/06 | 2088 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test_.cc
+2022/08/06 | 6037 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test.py
+2022/08/06 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_json_test_utils.py
+2022/08/06 | 3197 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest_.cc
+2022/08/06 | 9502 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest.py
+2022/08/06 | 1841 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_main_unittest.cc
+2022/08/06 | 2403 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_no_test_unittest.cc
+2022/08/06 | 77498 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_pred_impl_unittest.cc
+2022/08/06 | 4283 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_premature_exit_test.cc
+2022/08/06 | 2147 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_prod_test.cc
+2022/08/06 | 7180 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_repeat_test.cc
+2022/08/06 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_check_output_test.py
+2022/08/06 | 2230 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_environment_check_output_test.py
+2022/08/06 | 2069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_in_environment_setup_test.cc
+2022/08/06 | 2005 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_test.cc
+2022/08/06 | 2175 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_sole_header_test.cc
+2022/08/06 | 9318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_stress_test.cc
+2022/08/06 | 1923 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test_.cc
+2022/08/06 | 2496 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test.py
+2022/08/06 | 3767 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_macro_stack_footprint_test.cc
+2022/08/06 | 8407 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_utils.py
+2022/08/06 | 3392 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_throw_on_failure_ex_test.cc
+2022/08/06 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test2_test.cc
+2022/08/06 | 14089 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.cc
+2022/08/06 | 2396 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.h
+2022/08/06 | 13060 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-unittest-api_test.cc
+2022/08/06 | 261756 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_unittest.cc
+2022/08/06 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile1_test_.cc
+2022/08/06 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile2_test_.cc
+2022/08/06 | 5415 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfiles_test.py
+2022/08/06 | 6376 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest_.cc
+2022/08/06 | 20639 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest.py
+2022/08/06 | 9327 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_test_utils.py
+2022/08/06 | 1675 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.cc
+2022/08/06 | 2130 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.h
+2022/08/06 | 1475 | graphics/asymptote/LspCpp/third_party/uri/deps/LICENSE
+2022/08/06 | 4613 | graphics/asymptote/LspCpp/third_party/uri/deps/README.md
+2022/08/06 | 781 | graphics/asymptote/LspCpp/third_party/uri/deps/WORKSPACE
+2022/08/06 | 74120 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile
+2022/08/06 | 74016 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile.in
+2022/08/06 | 16552 | graphics/asymptote/LspCpp/third_party/uri/include/network/optional.hpp
+2022/08/06 | 7731 | graphics/asymptote/LspCpp/third_party/uri/include/network/string_view.hpp
+2022/08/06 | 572 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/config.hpp
+2022/08/06 | 1898 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+2022/08/06 | 4438 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+2022/08/06 | 2151 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+2022/08/06 | 2073 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+2022/08/06 | 1031 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri.hpp
+2022/08/06 | 6917 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+2022/08/06 | 2459 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+2022/08/06 | 21998 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri.hpp
+2022/08/06 | 1710 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_io.hpp
+2022/08/06 | 1338 | graphics/asymptote/LspCpp/third_party/uri/LICENSE_1_0.txt
+2022/08/06 | 7049 | graphics/asymptote/LspCpp/third_party/uri/Makefile
+2022/08/06 | 2328 | graphics/asymptote/LspCpp/third_party/uri/README.rst
+2022/08/06 | 648 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
+2022/08/06 | 20942 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
+2022/08/06 | 1104 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean.cmake
+2022/08/06 | 43 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean_target.cmake
+2022/08/06 | 67309 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
+2022/08/06 | 79178 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
+2022/08/06 | 118 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
+2022/08/06 | 2295 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
+2022/08/06 | 95 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/depend.make
+2022/08/06 | 413 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
+2022/08/06 | 457 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/link.txt
+2022/08/06 | 199 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/progress.make
+2022/08/06 | 2 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/progress.marks
+2022/08/06 | 1540 | graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
+2022/08/06 | 1008 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeLists.txt
+2022/08/06 | 2115 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
+2022/08/06 | 2100 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm.hpp
+2022/08/06 | 2281 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
+2022/08/06 | 3063 | graphics/asymptote/LspCpp/third_party/uri/src/detail/grammar.hpp
+2022/08/06 | 2313 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
+2022/08/06 | 639 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+2022/08/06 | 2035 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
+2022/08/06 | 594 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+2022/08/06 | 2996 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
+2022/08/06 | 710 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+2022/08/06 | 10414 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.cpp
+2022/08/06 | 563 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+2022/08/06 | 1830 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+2022/08/06 | 2526 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
+2022/08/06 | 714 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+2022/08/06 | 16661 | graphics/asymptote/LspCpp/third_party/uri/src/Makefile
+2022/08/06 | 4227 | graphics/asymptote/LspCpp/third_party/uri/src/uri_builder.cpp
+2022/08/06 | 18382 | graphics/asymptote/LspCpp/third_party/uri/src/uri.cpp
+2022/08/06 | 1916 | graphics/asymptote/LspCpp/third_party/uri/src/uri_errors.cpp
+2022/08/06 | 1039 | graphics/asymptote/LspCpp/third_party/uri/test/CMakeLists.txt
+2022/08/06 | 572 | graphics/asymptote/LspCpp/third_party/uri/test/invalid_urls.txt
+2022/08/06 | 4347 | graphics/asymptote/LspCpp/third_party/uri/test/optional_test.cpp
+2022/08/06 | 483 | graphics/asymptote/LspCpp/third_party/uri/test/string_utility.hpp
+2022/08/06 | 2053 | graphics/asymptote/LspCpp/third_party/uri/test/test_uri.hpp
+2022/08/06 | 22505 | graphics/asymptote/LspCpp/third_party/uri/test/uri_builder_test.cpp
+2022/08/06 | 3139 | graphics/asymptote/LspCpp/third_party/uri/test/uri_comparison_test.cpp
+2022/08/06 | 5319 | graphics/asymptote/LspCpp/third_party/uri/test/uri_encoding_test.cpp
+2022/08/06 | 8767 | graphics/asymptote/LspCpp/third_party/uri/test/uri_normalization_test.cpp
+2022/08/06 | 3870 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_path_test.cpp
+2022/08/06 | 2578 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_scheme_test.cpp
+2022/08/06 | 18327 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_test.cpp
+2022/08/06 | 2682 | graphics/asymptote/LspCpp/third_party/uri/test/uri_reference_test.cpp
+2022/08/06 | 10168 | graphics/asymptote/LspCpp/third_party/uri/test/uri_resolve_test.cpp
+2022/08/06 | 1419 | graphics/asymptote/LspCpp/third_party/uri/test/uri_stream_test.cpp
+2022/08/06 | 33275 | graphics/asymptote/LspCpp/third_party/uri/test/uri_test.cpp
+2022/08/06 | 1116 | graphics/asymptote/LspCpp/third_party/uri/test/valid_urls.txt
+2022/08/06 | 1291 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
+2022/08/06 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
+2022/08/06 | 55726 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
+2022/08/06 | 2123 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
+2022/08/06 | 12474 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
+2022/08/06 | 10928 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
+2022/08/06 | 3306 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
+2022/08/06 | 3298 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
+2022/08/06 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
+2022/08/06 | 10989 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
+2022/08/06 | 1734 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
+2022/08/06 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
+2022/08/06 | 2143 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
+2022/08/06 | 5578 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp
+2022/08/06 | 1032 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp
+2022/08/06 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
+2022/08/06 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
+2022/08/06 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
+2022/08/06 | 4626 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp
+2022/08/06 | 1002 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp
+2022/08/06 | 21507 | graphics/asymptote/lspserv.cc
+2022/08/06 | 6528 | graphics/asymptote/lspserv.h
+2022/08/06 | 6673 | graphics/asymptote/main.cc
+2022/08/06 | 12907 | graphics/asymptote/Makefile.in
+2022/08/06 | 920 | graphics/asymptote/makeUnique.h
+2022/08/06 | 2960 | graphics/asymptote/material.h
+2022/08/06 | 6414 | graphics/asymptote/mathop.h
+2022/08/06 | 5115 | graphics/asymptote/memory.h
+2022/08/06 | 714 | graphics/asymptote/mod.h
+2022/08/06 | 908 | graphics/asymptote/modifier.h
+2022/08/06 | 8037 | graphics/asymptote/name.cc
+2022/08/06 | 5691 | graphics/asymptote/name.h
+2022/08/06 | 4285 | graphics/asymptote/newexp.cc
+2022/08/06 | 1274 | graphics/asymptote/newexp.h
+2022/08/06 | 916 | graphics/asymptote/opcodes.h
+2022/08/06 | 1050 | graphics/asymptote/opsymbols.pl
+2022/08/06 | 5308 | graphics/asymptote/pair.h
+2022/08/06 | 4873 | graphics/asymptote/parser.cc
+2022/08/06 | 1171 | graphics/asymptote/parser.h
+2022/08/06 | 5262 | graphics/asymptote/patches/bison.patch
+2022/08/06 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
+2022/08/06 | 1299 | graphics/asymptote/patches/dvipdf
+2022/08/06 | 113 | graphics/asymptote/patches/fixmem.reg
+2022/08/06 | 1524 | graphics/asymptote/patches/flex.patch
+2022/08/06 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
+2022/08/06 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
+2022/08/06 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
+2022/08/06 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
+2022/08/06 | 1082 | graphics/asymptote/patches/README
+2022/08/06 | 37991 | graphics/asymptote/path3.cc
+2022/08/06 | 10585 | graphics/asymptote/path3.h
+2022/08/06 | 33417 | graphics/asymptote/path.cc
+2022/08/06 | 11663 | graphics/asymptote/path.h
+2022/08/06 | 1594 | graphics/asymptote/pen.cc
+2022/08/06 | 27958 | graphics/asymptote/pen.h
+2022/08/06 | 42828 | graphics/asymptote/picture.cc
+2022/08/06 | 3472 | graphics/asymptote/picture.h
+2022/08/06 | 5250 | graphics/asymptote/pipestream.cc
+2022/08/06 | 2614 | graphics/asymptote/pipestream.h
+2022/08/06 | 138 | graphics/asymptote/Pipfile
+2022/08/06 | 2542 | graphics/asymptote/policy.h
+2022/08/06 | 650 | graphics/asymptote/prcfile.h
+2022/08/06 | 974 | graphics/asymptote/prc/Makefile
+2022/08/06 | 71201 | graphics/asymptote/prc/oPRCFile.cc
+2022/08/06 | 51671 | graphics/asymptote/prc/oPRCFile.h
+2022/08/06 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
+2022/08/06 | 2518 | graphics/asymptote/prc/PRCbitStream.h
+2022/08/06 | 177246 | graphics/asymptote/prc/PRCdouble.cc
+2022/08/06 | 3765 | graphics/asymptote/prc/PRCdouble.h
+2022/08/06 | 30208 | graphics/asymptote/prc/PRC.h
+2022/08/06 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
+2022/08/06 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
+2022/08/06 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
+2022/08/06 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
+2022/08/06 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
+2022/08/06 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
+2022/08/06 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
+2022/08/06 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
+2022/08/06 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
+2022/08/06 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
+2022/08/06 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
+2022/08/06 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
+2022/08/06 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
+2022/08/06 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
+2022/08/06 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
+2022/08/06 | 95 | graphics/asymptote/prc/test.asy
+2022/08/06 | 36243 | graphics/asymptote/prc/test.cc
+2022/08/06 | 66751 | graphics/asymptote/prc/writePRC.cc
+2022/08/06 | 48481 | graphics/asymptote/prc/writePRC.h
+2022/08/06 | 116010 | graphics/asymptote/predicates.cc
+2022/08/06 | 986 | graphics/asymptote/predicates.h
+2022/08/06 | 1236 | graphics/asymptote/primitives.h
+2022/08/06 | 23904 | graphics/asymptote/process.cc
+2022/08/06 | 4919 | graphics/asymptote/process.h
+2022/08/06 | 2378 | graphics/asymptote/profile.py
+2022/08/06 | 9923 | graphics/asymptote/profiler.h
+2022/08/06 | 3265 | graphics/asymptote/program.cc
+2022/08/06 | 2561 | graphics/asymptote/program.h
+2022/08/06 | 19511 | graphics/asymptote/psfile.cc
+2022/08/06 | 9021 | graphics/asymptote/psfile.h
+2022/08/06 | 2505 | graphics/asymptote/README
+2022/08/06 | 1698 | graphics/asymptote/record.cc
+2022/08/06 | 2732 | graphics/asymptote/record.h
+2022/08/06 | 1096 | graphics/asymptote/refaccess.cc
+2022/08/06 | 1936 | graphics/asymptote/refaccess.h
+2022/08/06 | 129968 | graphics/asymptote/ReleaseNotes
+2022/08/06 | 62 | graphics/asymptote/revision.cc
+2022/08/06 | 3441 | graphics/asymptote/rounding.h
+2022/08/06 | 76339 | graphics/asymptote/runarray.cc
+2022/08/06 | 1492 | graphics/asymptote/runarray.h
+2022/08/06 | 50934 | graphics/asymptote/runarray.in
+2022/08/06 | 2661 | graphics/asymptote/runbacktrace.cc
+2022/08/06 | 169 | graphics/asymptote/runbacktrace.h
+2022/08/06 | 831 | graphics/asymptote/runbacktrace.in
+2022/08/06 | 17798 | graphics/asymptote/runfile.cc
+2022/08/06 | 969 | graphics/asymptote/runfile.h
+2022/08/06 | 5987 | graphics/asymptote/runfile.in
+2022/08/06 | 8096 | graphics/asymptote/runhistory.cc
+2022/08/06 | 161 | graphics/asymptote/runhistory.h
+2022/08/06 | 5064 | graphics/asymptote/runhistory.in
+2022/08/06 | 15253 | graphics/asymptote/runlabel.cc
+2022/08/06 | 153 | graphics/asymptote/runlabel.h
+2022/08/06 | 11513 | graphics/asymptote/runlabel.in
+2022/08/06 | 21874 | graphics/asymptote/runmath.cc
+2022/08/06 | 269 | graphics/asymptote/runmath.h
+2022/08/06 | 8804 | graphics/asymptote/runmath.in
+2022/08/06 | 16483 | graphics/asymptote/runpair.cc
+2022/08/06 | 299 | graphics/asymptote/runpair.h
+2022/08/06 | 4156 | graphics/asymptote/runpair.in
+2022/08/06 | 25701 | graphics/asymptote/runpath3d.cc
+2022/08/06 | 186 | graphics/asymptote/runpath3d.h
+2022/08/06 | 8008 | graphics/asymptote/runpath3d.in
+2022/08/06 | 26844 | graphics/asymptote/runpath.cc
+2022/08/06 | 177 | graphics/asymptote/runpath.h
+2022/08/06 | 8439 | graphics/asymptote/runpath.in
+2022/08/06 | 57944 | graphics/asymptote/runpicture.cc
+2022/08/06 | 191 | graphics/asymptote/runpicture.h
+2022/08/06 | 20090 | graphics/asymptote/runpicture.in
+2022/08/06 | 18739 | graphics/asymptote/runstring.cc
+2022/08/06 | 188 | graphics/asymptote/runstring.h
+2022/08/06 | 9867 | graphics/asymptote/runstring.in
+2022/08/06 | 12604 | graphics/asymptote/runsystem.cc
+2022/08/06 | 157 | graphics/asymptote/runsystem.h
+2022/08/06 | 5111 | graphics/asymptote/runsystem.in
+2022/08/06 | 1341 | graphics/asymptote/runtimebase.in
+2022/08/06 | 61659 | graphics/asymptote/runtime.cc
+2022/08/06 | 1163 | graphics/asymptote/runtime.h
+2022/08/06 | 20796 | graphics/asymptote/runtime.in
+2022/08/06 | 7274 | graphics/asymptote/runtime.pl
+2022/08/06 | 13944 | graphics/asymptote/runtriple.cc
+2022/08/06 | 320 | graphics/asymptote/runtriple.h
+2022/08/06 | 2707 | graphics/asymptote/runtriple.in
+2022/08/06 | 2136 | graphics/asymptote/seconds.h
+2022/08/06 | 54963 | graphics/asymptote/settings.cc
+2022/08/06 | 2707 | graphics/asymptote/settings.h
+2022/08/06 | 3553 | graphics/asymptote/shaders.cc
+2022/08/06 | 830 | graphics/asymptote/shaders.h
+2022/08/06 | 6634 | graphics/asymptote/simpson.cc
+2022/08/06 | 14532 | graphics/asymptote/stack.cc
+2022/08/06 | 3295 | graphics/asymptote/stack.h
+2022/08/06 | 942 | graphics/asymptote/statistics.h
+2022/08/06 | 14795 | graphics/asymptote/stm.cc
+2022/08/06 | 5183 | graphics/asymptote/stm.h
+2022/08/06 | 9104 | graphics/asymptote/symbol.cc
+2022/08/06 | 2776 | graphics/asymptote/symbol.h
+2022/08/06 | 24784 | graphics/asymptote/symbolmaps.cc
+2022/08/06 | 28328 | graphics/asymptote/symbolmaps.h
+2022/08/06 | 2697 | graphics/asymptote/table.h
+2022/08/06 | 620 | graphics/asymptote/tests/arith/integer.asy
+2022/08/06 | 449 | graphics/asymptote/tests/arith/pair.asy
+2022/08/06 | 193 | graphics/asymptote/tests/arith/random.asy
+2022/08/06 | 383 | graphics/asymptote/tests/arith/real.asy
+2022/08/06 | 1710 | graphics/asymptote/tests/arith/roots.asy
+2022/08/06 | 639 | graphics/asymptote/tests/arith/transform.asy
+2022/08/06 | 244 | graphics/asymptote/tests/arith/triple.asy
+2022/08/06 | 936 | graphics/asymptote/tests/array/array.asy
+2022/08/06 | 680 | graphics/asymptote/tests/array/delete.asy
+2022/08/06 | 737 | graphics/asymptote/tests/array/determinant.asy
+2022/08/06 | 1927 | graphics/asymptote/tests/array/fields.asy
+2022/08/06 | 4841 | graphics/asymptote/tests/array/slice.asy
+2022/08/06 | 966 | graphics/asymptote/tests/array/solve.asy
+2022/08/06 | 746 | graphics/asymptote/tests/array/sort.asy
+2022/08/06 | 1096 | graphics/asymptote/tests/array/transpose.asy
+2022/08/06 | 276 | graphics/asymptote/tests/bench/6000circles.asy
+2022/08/06 | 2222 | graphics/asymptote/tests/frames/loop.asy
+2022/08/06 | 202 | graphics/asymptote/tests/frames/stat2.asy
+2022/08/06 | 158 | graphics/asymptote/tests/frames/stat.asy
+2022/08/06 | 62 | graphics/asymptote/tests/gc/array.asy
+2022/08/06 | 102 | graphics/asymptote/tests/gc/file.asy
+2022/08/06 | 54 | graphics/asymptote/tests/gc/funcall.asy
+2022/08/06 | 65 | graphics/asymptote/tests/gc/guide.asy
+2022/08/06 | 143 | graphics/asymptote/tests/gc/label.asy
+2022/08/06 | 124 | graphics/asymptote/tests/gc/path.asy
+2022/08/06 | 72 | graphics/asymptote/tests/gc/pen.asy
+2022/08/06 | 193 | graphics/asymptote/tests/gc/shipout.asy
+2022/08/06 | 77 | graphics/asymptote/tests/gc/string.asy
+2022/08/06 | 129 | graphics/asymptote/tests/gc/struct.asy
+2022/08/06 | 70 | graphics/asymptote/tests/gc/transform.asy
+2022/08/06 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
+2022/08/06 | 11907 | graphics/asymptote/tests/gsl/random.asy
+2022/08/06 | 1209 | graphics/asymptote/tests/imp/unravel.asy
+2022/08/06 | 308 | graphics/asymptote/tests/Makefile
+2022/08/06 | 18 | graphics/asymptote/tests/output/circle.asy
+2022/08/06 | 22 | graphics/asymptote/tests/output/line.asy
+2022/08/06 | 1284 | graphics/asymptote/tests/output/Makefile
+2022/08/06 | 1384 | graphics/asymptote/tests/pic/trans.asy
+2022/08/06 | 236 | graphics/asymptote/tests/string/erase.asy
+2022/08/06 | 182 | graphics/asymptote/tests/string/find.asy
+2022/08/06 | 109 | graphics/asymptote/tests/string/insert.asy
+2022/08/06 | 132 | graphics/asymptote/tests/string/length.asy
+2022/08/06 | 187 | graphics/asymptote/tests/string/rfind.asy
+2022/08/06 | 118 | graphics/asymptote/tests/string/substr.asy
+2022/08/06 | 238 | graphics/asymptote/tests/TestLib.asy
+2022/08/06 | 159 | graphics/asymptote/tests/types/cast.asy
+2022/08/06 | 6503 | graphics/asymptote/tests/types/constructor.asy
+2022/08/06 | 155 | graphics/asymptote/tests/types/ecast.asy
+2022/08/06 | 3375 | graphics/asymptote/tests/types/guide.asy
+2022/08/06 | 224 | graphics/asymptote/tests/types/init.asy
+2022/08/06 | 4242 | graphics/asymptote/tests/types/keyword.asy
+2022/08/06 | 4072 | graphics/asymptote/tests/types/order.asy
+2022/08/06 | 2731 | graphics/asymptote/tests/types/resolve.asy
+2022/08/06 | 308 | graphics/asymptote/tests/types/shadow.asy
+2022/08/06 | 1331 | graphics/asymptote/tests/types/spec.asy
+2022/08/06 | 1189 | graphics/asymptote/tests/types/var.asy
+2022/08/06 | 14283 | graphics/asymptote/testv3d.asy
+2022/08/06 | 17540 | graphics/asymptote/texfile.cc
+2022/08/06 | 13440 | graphics/asymptote/texfile.h
+2022/08/06 | 667 | graphics/asymptote/tinyexr.cc
+2022/08/06 | 1293 | graphics/asymptote/TODO
+2022/08/06 | 6288 | graphics/asymptote/transform.h
+2022/08/06 | 10224 | graphics/asymptote/tr.cc
+2022/08/06 | 3912 | graphics/asymptote/tr.h
+2022/08/06 | 9784 | graphics/asymptote/triple.h
+2022/08/06 | 14072 | graphics/asymptote/types.cc
+2022/08/06 | 15451 | graphics/asymptote/types.h
+2022/08/06 | 10131 | graphics/asymptote/util.cc
+2022/08/06 | 4602 | graphics/asymptote/util.h
+2022/08/06 | 9755 | graphics/asymptote/v3dfile.cc
+2022/08/06 | 4481 | graphics/asymptote/v3dfile.h
+2022/08/06 | 1075 | graphics/asymptote/v3dheadertypes.csv
+2022/08/06 | 1239 | graphics/asymptote/v3dheadertypes.h
+2022/08/06 | 1611 | graphics/asymptote/v3dheadertypes.py
+2022/08/06 | 422 | graphics/asymptote/v3dtypes.csv
+2022/08/06 | 548 | graphics/asymptote/v3dtypes.h
+2022/08/06 | 821 | graphics/asymptote/v3dtypes.py
+2022/08/06 | 2004 | graphics/asymptote/varinit.cc
+2022/08/06 | 2012 | graphics/asymptote/varinit.h
+2022/08/06 | 901 | graphics/asymptote/virtualfieldaccess.cc
+2022/08/06 | 2328 | graphics/asymptote/virtualfieldaccess.h
+2022/08/06 | 766 | graphics/asymptote/vm.h
+2022/08/06 | 222 | graphics/asymptote/wce
+2022/08/06 | 4531 | graphics/asymptote/webgl/fragment.glsl
+2022/08/06 | 101221 | graphics/asymptote/webgl/gl.js
+2022/08/06 | 820 | graphics/asymptote/webgl/license
+2022/08/06 | 1728 | graphics/asymptote/webgl/vertex.glsl
+2022/08/06 | 8668 | graphics/asymptote/xstream.h
+2022/08/07 | 26705241 | 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
@@ -159571,13 +159572,13 @@
2010/12/25 | 80 | graphics/pgf/contrib/tikz-qtree/tikz-qtree.sty
2012/04/23 | 7407 | graphics/pgf/contrib/tikz-qtree/tikz-qtree.tex
2012/04/23 | 120116 | graphics/pgf/contrib/tikz-qtree.zip
-2018/02/19 | 259993 | graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.pdf
-2018/02/19 | 5378 | graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex
-2018/06/13 | 518421 | graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.pdf
-2018/06/13 | 59878 | graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.tex
-2018/06/14 | 1438 | graphics/pgf/contrib/tikz-relay/README.txt
-2018/06/13 | 53411 | graphics/pgf/contrib/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex
-2018/06/15 | 664101 | graphics/pgf/contrib/tikz-relay.zip
+2022/08/07 | 265601 | graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.pdf
+2022/08/07 | 5388 | graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex
+2022/08/07 | 661245 | graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.pdf
+2022/08/07 | 66801 | graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.tex
+2022/08/07 | 1464 | graphics/pgf/contrib/tikz-relay/README.txt
+2022/08/07 | 55117 | graphics/pgf/contrib/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex
+2022/08/07 | 810894 | graphics/pgf/contrib/tikz-relay.zip
2013/05/22 | 311 | graphics/pgf/contrib/tikzscale/3Dplot.tikz
2013/05/22 | 198 | graphics/pgf/contrib/tikzscale/beamer/alt.tikz
2013/05/22 | 151 | graphics/pgf/contrib/tikzscale/beamer/invisible.tikz
@@ -230690,53 +230691,53 @@
2016/02/03 | 1428 | macros/latex/contrib/tagpair/tagpair.sty
2016/09/23 | 3615 | macros/latex/contrib/tagpair/tagpair.tex
2016/09/23 | 71796 | macros/latex/contrib/tagpair.zip
-2022/05/29 | 8652 | macros/latex/contrib/tagpdf/ex-AF-file.pdf
-2022/05/29 | 1237 | macros/latex/contrib/tagpdf/ex-AF-file.tex
-2022/05/29 | 17742 | macros/latex/contrib/tagpdf/ex-alt-actualtext-luatex.pdf
-2022/05/29 | 4153 | macros/latex/contrib/tagpdf/ex-alt-actualtext.tex
-2022/05/29 | 6626 | macros/latex/contrib/tagpdf/ex-attribute-luatex.pdf
-2022/05/29 | 1398 | macros/latex/contrib/tagpdf/ex-attribute.tex
-2022/05/29 | 7854 | macros/latex/contrib/tagpdf/ex-formula-problem-luatex.pdf
-2022/05/29 | 1019 | macros/latex/contrib/tagpdf/ex-formula-problem.tex
-2022/05/29 | 22818 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
-2022/05/29 | 2150 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex
-2022/05/29 | 16888 | macros/latex/contrib/tagpdf/ex-patch-list-luatex.pdf
-2022/05/29 | 2528 | macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex
-2022/05/29 | 2637 | macros/latex/contrib/tagpdf/ex-patch-list.tex
-2022/05/29 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
-2022/05/29 | 4284 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma.tex
-2022/05/29 | 21067 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.pdf
-2022/05/29 | 5797 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex
-2022/05/29 | 6842 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
-2022/05/29 | 1073 | macros/latex/contrib/tagpdf/ex-softhyphen.tex
-2022/05/29 | 4618 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
-2022/05/29 | 777 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
-2022/05/29 | 1537 | macros/latex/contrib/tagpdf/ex-structure-obsolete.tex
-2022/05/29 | 19363 | macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
-2022/05/29 | 801 | macros/latex/contrib/tagpdf/ex-tagpdf-template.tex
-2022/01/13 | 8281 | macros/latex/contrib/tagpdf/global-ex.png
-2022/05/29 | 2022 | macros/latex/contrib/tagpdf/link-figure-input.tex
-2022/01/13 | 141163 | macros/latex/contrib/tagpdf/pac3.PNG
-2022/05/29 | 1176 | macros/latex/contrib/tagpdf/README.md
-2022/05/29 | 40036 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
-2022/05/29 | 1730 | macros/latex/contrib/tagpdf/tagpdf.bib
-2022/05/29 | 28260 | macros/latex/contrib/tagpdf/tagpdf-checks.dtx
-2022/05/29 | 1209028 | macros/latex/contrib/tagpdf/tagpdf-code.pdf
-2022/05/29 | 2262 | macros/latex/contrib/tagpdf/tagpdf-code.tex
-2022/05/29 | 8113 | macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
-2022/05/29 | 18978 | macros/latex/contrib/tagpdf/tagpdf.dtx
-2022/05/29 | 3178 | macros/latex/contrib/tagpdf/tagpdf.ins
-2022/05/29 | 25822 | macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
-2022/05/29 | 13439 | macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
-2022/05/29 | 15242 | macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
-2022/05/29 | 488903 | macros/latex/contrib/tagpdf/tagpdf.pdf
-2022/05/29 | 19600 | macros/latex/contrib/tagpdf/tagpdf-roles.dtx
-2022/05/29 | 5107 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
-2022/05/29 | 45505 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
-2022/05/29 | 99417 | macros/latex/contrib/tagpdf/tagpdf.tex
-2022/05/29 | 13243 | macros/latex/contrib/tagpdf/tagpdf-tree.dtx
-2022/05/29 | 26800 | macros/latex/contrib/tagpdf/tagpdf-user.dtx
-2022/05/30 | 2007170 | macros/latex/contrib/tagpdf.zip
+2022/08/07 | 8652 | macros/latex/contrib/tagpdf/ex-AF-file.pdf
+2022/08/07 | 1237 | macros/latex/contrib/tagpdf/ex-AF-file.tex
+2022/08/07 | 17742 | macros/latex/contrib/tagpdf/ex-alt-actualtext-luatex.pdf
+2022/08/07 | 4153 | macros/latex/contrib/tagpdf/ex-alt-actualtext.tex
+2022/08/07 | 6626 | macros/latex/contrib/tagpdf/ex-attribute-luatex.pdf
+2022/08/07 | 1398 | macros/latex/contrib/tagpdf/ex-attribute.tex
+2022/08/07 | 7854 | macros/latex/contrib/tagpdf/ex-formula-problem-luatex.pdf
+2022/08/07 | 1019 | macros/latex/contrib/tagpdf/ex-formula-problem.tex
+2022/08/07 | 22818 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
+2022/08/07 | 2150 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex
+2022/08/07 | 16888 | macros/latex/contrib/tagpdf/ex-patch-list-luatex.pdf
+2022/08/07 | 2528 | macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex
+2022/08/07 | 2637 | macros/latex/contrib/tagpdf/ex-patch-list.tex
+2022/08/07 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
+2022/08/07 | 4284 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma.tex
+2022/08/07 | 21067 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.pdf
+2022/08/07 | 5797 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex
+2022/08/07 | 6842 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
+2022/08/07 | 1073 | macros/latex/contrib/tagpdf/ex-softhyphen.tex
+2022/08/07 | 4618 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
+2022/08/07 | 777 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
+2022/08/07 | 1537 | macros/latex/contrib/tagpdf/ex-structure-obsolete.tex
+2022/08/07 | 19363 | macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
+2022/08/07 | 801 | macros/latex/contrib/tagpdf/ex-tagpdf-template.tex
+2022/08/07 | 8281 | macros/latex/contrib/tagpdf/global-ex.png
+2022/08/07 | 2022 | macros/latex/contrib/tagpdf/link-figure-input.tex
+2022/08/07 | 141163 | macros/latex/contrib/tagpdf/pac3.PNG
+2022/08/07 | 1176 | macros/latex/contrib/tagpdf/README.md
+2022/08/07 | 40036 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
+2022/08/07 | 1730 | macros/latex/contrib/tagpdf/tagpdf.bib
+2022/08/07 | 28601 | macros/latex/contrib/tagpdf/tagpdf-checks.dtx
+2022/08/07 | 1240587 | macros/latex/contrib/tagpdf/tagpdf-code.pdf
+2022/08/07 | 2262 | macros/latex/contrib/tagpdf/tagpdf-code.tex
+2022/08/07 | 8113 | macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
+2022/08/07 | 21795 | macros/latex/contrib/tagpdf/tagpdf.dtx
+2022/08/07 | 3211 | macros/latex/contrib/tagpdf/tagpdf.ins
+2022/08/07 | 25856 | macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
+2022/08/07 | 13465 | macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
+2022/08/07 | 15239 | macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
+2022/08/07 | 492426 | macros/latex/contrib/tagpdf/tagpdf.pdf
+2022/08/07 | 19600 | macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+2022/08/07 | 5107 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
+2022/08/07 | 50220 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
+2022/08/07 | 101278 | macros/latex/contrib/tagpdf/tagpdf.tex
+2022/08/07 | 13275 | macros/latex/contrib/tagpdf/tagpdf-tree.dtx
+2022/08/07 | 27127 | macros/latex/contrib/tagpdf/tagpdf-user.dtx
+2022/08/07 | 2043972 | macros/latex/contrib/tagpdf.zip
2007/08/04 | 1263 | macros/latex/contrib/talk/example.tex
2007/08/04 | 465 | macros/latex/contrib/talk/Makefile
2007/08/04 | 2162 | macros/latex/contrib/talk/README
@@ -236683,114 +236684,114 @@
2015/10/04 | 263467 | macros/luatex/generic/luatexbase/luatexbase.pdf
2015/10/04 | 450 | macros/luatex/generic/luatexbase/README.md
2015/10/04 | 270547 | macros/luatex/generic/luatexbase.zip
-2022/07/03 | 1536 | macros/luatex/generic/luatexja/COPYING
-2022/07/03 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
-2022/07/03 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
-2022/07/03 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
-2022/07/03 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
-2022/07/03 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
-2022/07/03 | 397581 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
-2022/07/03 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
-2022/07/03 | 456577 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
-2022/07/03 | 541249 | macros/luatex/generic/luatexja/doc/luatexja.dtx
-2022/07/03 | 717582 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
-2022/07/03 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
-2022/07/03 | 1149384 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
-2022/07/03 | 390299 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
-2022/07/03 | 57155 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
-2022/07/03 | 3796 | macros/luatex/generic/luatexja/README
-2022/07/03 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
-2022/07/03 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
-2022/07/03 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
-2022/07/03 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
-2022/07/03 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
-2022/07/03 | 29572 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
-2022/07/03 | 10311 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
-2022/07/03 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
-2022/07/03 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
-2022/07/03 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
-2022/07/03 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
-2022/07/03 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
-2022/07/03 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
-2022/07/03 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
-2022/07/03 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
-2022/07/03 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
-2022/07/03 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
-2022/07/03 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
-2022/07/03 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
-2022/07/03 | 13899 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
-2022/07/03 | 11508 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
-2022/07/03 | 26934 | macros/luatex/generic/luatexja/src/lltjext.sty
-2022/07/03 | 21867 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
-2022/07/03 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
-2022/07/03 | 6203 | macros/luatex/generic/luatexja/src/ltj-base.sty
-2022/07/03 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
-2022/07/03 | 177686 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
-2022/07/03 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
-2022/07/03 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
-2022/07/03 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
-2022/07/03 | 39938 | macros/luatex/generic/luatexja/src/ltj-direction.lua
-2022/07/03 | 3425 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
-2022/07/03 | 154928 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
-2022/07/03 | 55450 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
-2022/07/03 | 48685 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
-2022/07/03 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
-2022/07/03 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
-2022/07/03 | 6235 | macros/luatex/generic/luatexja/src/ltj-latex.sty
-2022/07/03 | 3755 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
-2022/07/03 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
-2022/07/03 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
-2022/07/03 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
-2022/07/03 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
-2022/07/03 | 8609 | macros/luatex/generic/luatexja/src/ltj-otf.lua
-2022/07/03 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty
-2022/07/03 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
-2022/07/03 | 14929 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
-2022/07/03 | 32183 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
-2022/07/03 | 189093 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
-2022/07/03 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
-2022/07/03 | 13238 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
-2022/07/03 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
-2022/07/03 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
-2022/07/03 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
-2022/07/03 | 29814 | macros/luatex/generic/luatexja/src/luatexja-core.sty
-2022/07/03 | 22346 | macros/luatex/generic/luatexja/src/luatexja.lua
-2022/07/03 | 2042 | macros/luatex/generic/luatexja/src/luatexja.sty
-2022/07/03 | 12716 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
-2022/07/03 | 6529 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
-2022/07/03 | 49557 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
-2022/07/03 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
-2022/07/03 | 4196 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
-2022/07/03 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
-2022/07/03 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
-2022/07/03 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
-2022/07/03 | 1611 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
-2022/07/03 | 19234 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
-2022/07/03 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
-2022/07/03 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
-2022/07/03 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
-2022/07/03 | 3893 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
-2022/07/03 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
-2022/07/03 | 5682 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
-2022/07/03 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
-2022/07/03 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
-2022/07/03 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
-2022/07/03 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
-2022/07/03 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
-2022/07/03 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
-2022/07/03 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
-2022/07/03 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
-2022/07/03 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
-2022/07/03 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
-2022/07/03 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
-2022/07/03 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
-2022/07/03 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
-2022/07/03 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
-2022/07/03 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
-2022/07/03 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
-2022/07/03 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
-2022/07/03 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
-2022/07/03 | 3835931 | macros/luatex/generic/luatexja.zip
+2022/08/07 | 1536 | macros/luatex/generic/luatexja/COPYING
+2022/08/07 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
+2022/08/07 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
+2022/08/07 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
+2022/08/07 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
+2022/08/07 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
+2022/08/07 | 397581 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
+2022/08/07 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
+2022/08/07 | 456577 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
+2022/08/07 | 541346 | macros/luatex/generic/luatexja/doc/luatexja.dtx
+2022/08/07 | 717626 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+2022/08/07 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
+2022/08/07 | 1149406 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+2022/08/07 | 390299 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
+2022/08/07 | 57155 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
+2022/08/07 | 3796 | macros/luatex/generic/luatexja/README
+2022/08/07 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
+2022/08/07 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
+2022/08/07 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+2022/08/07 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+2022/08/07 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
+2022/08/07 | 29572 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+2022/08/07 | 10311 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
+2022/08/07 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
+2022/08/07 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
+2022/08/07 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
+2022/08/07 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
+2022/08/07 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
+2022/08/07 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
+2022/08/07 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
+2022/08/07 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
+2022/08/07 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
+2022/08/07 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
+2022/08/07 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
+2022/08/07 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
+2022/08/07 | 13899 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
+2022/08/07 | 11508 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
+2022/08/07 | 26934 | macros/luatex/generic/luatexja/src/lltjext.sty
+2022/08/07 | 21879 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
+2022/08/07 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
+2022/08/07 | 6214 | macros/luatex/generic/luatexja/src/ltj-base.sty
+2022/08/07 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
+2022/08/07 | 177686 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
+2022/08/07 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
+2022/08/07 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
+2022/08/07 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
+2022/08/07 | 39581 | macros/luatex/generic/luatexja/src/ltj-direction.lua
+2022/08/07 | 3425 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+2022/08/07 | 154928 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
+2022/08/07 | 55553 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+2022/08/07 | 48551 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
+2022/08/07 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
+2022/08/07 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
+2022/08/07 | 6235 | macros/luatex/generic/luatexja/src/ltj-latex.sty
+2022/08/07 | 3804 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+2022/08/07 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
+2022/08/07 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
+2022/08/07 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
+2022/08/07 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
+2022/08/07 | 8609 | macros/luatex/generic/luatexja/src/ltj-otf.lua
+2022/08/07 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty
+2022/08/07 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+2022/08/07 | 14929 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+2022/08/07 | 32183 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
+2022/08/07 | 189093 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
+2022/08/07 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
+2022/08/07 | 13238 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
+2022/08/07 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
+2022/08/07 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
+2022/08/07 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
+2022/08/07 | 29814 | macros/luatex/generic/luatexja/src/luatexja-core.sty
+2022/08/07 | 22453 | macros/luatex/generic/luatexja/src/luatexja.lua
+2022/08/07 | 2042 | macros/luatex/generic/luatexja/src/luatexja.sty
+2022/08/07 | 12716 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
+2022/08/07 | 6529 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+2022/08/07 | 49557 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+2022/08/07 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
+2022/08/07 | 4196 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
+2022/08/07 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
+2022/08/07 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
+2022/08/07 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
+2022/08/07 | 1611 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
+2022/08/07 | 19234 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+2022/08/07 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
+2022/08/07 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
+2022/08/07 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
+2022/08/07 | 3893 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
+2022/08/07 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
+2022/08/07 | 5682 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
+2022/08/07 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+2022/08/07 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
+2022/08/07 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
+2022/08/07 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
+2022/08/07 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
+2022/08/07 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
+2022/08/07 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
+2022/08/07 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
+2022/08/07 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
+2022/08/07 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
+2022/08/07 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
+2022/08/07 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
+2022/08/07 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
+2022/08/07 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
+2022/08/07 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
+2022/08/07 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
+2022/08/07 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
+2022/08/07 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
+2022/08/07 | 3835934 | macros/luatex/generic/luatexja.zip
2022/03/20 | 9193 | macros/luatex/generic/luatexko/ChangeLog
2022/03/20 | 339172 | macros/luatex/generic/luatexko/luatexko-doc.pdf
2022/03/20 | 35829 | macros/luatex/generic/luatexko/luatexko-doc.tex
@@ -286420,9 +286421,9 @@
2022/06/24 | 480 | systems/texlive/tlnet/archive/l2tabu.r63708.tar.xz
2019/02/28 | 227412 | systems/texlive/tlnet/archive/l2tabu-spanish.doc.r15878.tar.xz
2019/02/28 | 448 | systems/texlive/tlnet/archive/l2tabu-spanish.r15878.tar.xz
-2022/07/03 | 886556 | systems/texlive/tlnet/archive/l3backend.doc.r63794.tar.xz
-2022/07/03 | 15412 | systems/texlive/tlnet/archive/l3backend.r63794.tar.xz
-2022/07/03 | 32940 | systems/texlive/tlnet/archive/l3backend.source.r63794.tar.xz
+2022/08/07 | 888132 | systems/texlive/tlnet/archive/l3backend.doc.r64066.tar.xz
+2022/08/07 | 15452 | systems/texlive/tlnet/archive/l3backend.r64066.tar.xz
+2022/08/07 | 33016 | systems/texlive/tlnet/archive/l3backend.source.r64066.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/l3build.aarch64-linux.r46894.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/l3build.amd64-freebsd.r46894.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/l3build.amd64-netbsd.r46894.tar.xz
@@ -286445,9 +286446,9 @@
2022/04/21 | 3505696 | systems/texlive/tlnet/archive/l3experimental.doc.r63089.tar.xz
2022/04/21 | 23644 | systems/texlive/tlnet/archive/l3experimental.r63089.tar.xz
2022/04/21 | 80180 | systems/texlive/tlnet/archive/l3experimental.source.r63089.tar.xz
-2022/07/16 | 11851628 | systems/texlive/tlnet/archive/l3kernel.doc.r63904.tar.xz
-2022/07/16 | 172516 | systems/texlive/tlnet/archive/l3kernel.r63904.tar.xz
-2022/07/16 | 591652 | systems/texlive/tlnet/archive/l3kernel.source.r63904.tar.xz
+2022/08/07 | 11848044 | systems/texlive/tlnet/archive/l3kernel.doc.r64066.tar.xz
+2022/08/07 | 173260 | systems/texlive/tlnet/archive/l3kernel.r64066.tar.xz
+2022/08/07 | 592832 | systems/texlive/tlnet/archive/l3kernel.source.r64066.tar.xz
2022/06/24 | 1853024 | systems/texlive/tlnet/archive/l3packages.doc.r63705.tar.xz
2022/06/24 | 21936 | systems/texlive/tlnet/archive/l3packages.r63705.tar.xz
2022/06/24 | 45700 | systems/texlive/tlnet/archive/l3packages.source.r63705.tar.xz
@@ -291862,7 +291863,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
-2022/08/06 | 419224 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64053.tar.xz
+2022/08/07 | 419224 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64062.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
@@ -291886,7 +291887,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
-2022/08/06 | 113568 | systems/texlive/tlnet/archive/texlive-scripts.r64053.tar.xz
+2022/08/07 | 113536 | systems/texlive/tlnet/archive/texlive-scripts.r64062.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2022/04/19 | 36296 | systems/texlive/tlnet/archive/texlive-scripts.win32.r63068.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -293708,16 +293709,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
2022/07/17 | 124404 | systems/texlive/tlnet/install-tl
-2022/08/06 | 5808532 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/08/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/08/06 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/08/07 | 5832927 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/08/07 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/08/07 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2022/08/06 | 20466577 | systems/texlive/tlnet/install-tl-windows.exe
-2022/08/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/08/06 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/08/06 | 25493435 | systems/texlive/tlnet/install-tl.zip
-2022/08/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/08/06 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/08/07 | 20435428 | systems/texlive/tlnet/install-tl-windows.exe
+2022/08/07 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/08/07 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/08/07 | 25516475 | systems/texlive/tlnet/install-tl.zip
+2022/08/07 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/08/07 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2022/04/03 | 1229 | systems/texlive/tlnet/README.md
2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022
2022/02/28 | 7791 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -293727,7 +293728,7 @@
2022/02/28 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2022/05/27 | 49794 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2022/08/05 | 7539 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2022/08/06 | 7488 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/07/21 | 222477 | 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
@@ -293747,6 +293748,7 @@
2021/03/06 | 493600 | systems/texlive/tlnet/tlpkg/installer/wget/wget.x86_64-darwinlegacy
2019/03/02 | 754648 | systems/texlive/tlnet/tlpkg/installer/wget/wget.x86_64-linuxmusl
2016/04/18 | 600712 | systems/texlive/tlnet/tlpkg/installer/wget/wget.x86_64-solaris
+2022/08/06 | 45070 | systems/texlive/tlnet/tlpkg/installer/wtestopenfiles.exe
2021/02/26 | 191176 | systems/texlive/tlnet/tlpkg/installer/xz/xz.aarch64-linux
2021/03/06 | 196432 | systems/texlive/tlnet/tlpkg/installer/xz/xz.amd64-freebsd
2021/02/27 | 179944 | systems/texlive/tlnet/tlpkg/installer/xz/xz.amd64-netbsd
@@ -293769,12 +293771,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
-2022/08/06 | 17575886 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/08/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/08/07 | 17575922 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/08/07 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2022/08/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/08/06 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/08/06 | 2397004 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/08/07 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/08/07 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/08/07 | 2395976 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2022/08/01 | 42206 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -299037,7 +299039,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
-2022/08/06 | 658037 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/08/07 | 658037 | 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
@@ -300714,9 +300716,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2022/07/26 | 39695 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2022/07/30 | 43515 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/08/06 | 288549 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/08/06 | 1482144 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/08/06 | 1361464 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/08/07 | 288549 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/08/07 | 1480790 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/08/07 | 1361845 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2022/07/26 | 13519 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2022/07/30 | 14474 | 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
@@ -300957,102 +300959,102 @@
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
-2022/08/06 | 658512 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/08/06 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/08/06 | 1161752 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/08/06 | 31586 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/08/06 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/08/06 | 65129 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/08/06 | 95467 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2022/08/06 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/08/06 | 31562 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/08/06 | 394144 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/08/06 | 37051 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/08/06 | 57504 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/08/06 | 270467 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/08/06 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/08/06 | 103246 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/08/06 | 24211 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/08/06 | 481894 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/08/06 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/08/06 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/08/06 | 45794 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/08/06 | 135465 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/08/06 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/08/06 | 112979 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/08/06 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/08/06 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/08/06 | 63241 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/08/06 | 155431 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/08/06 | 79063 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/08/06 | 81449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2022/08/06 | 295945 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/08/06 | 25117 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/08/06 | 112877 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/08/06 | 73264 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/08/06 | 115579 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/08/06 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/08/06 | 565081 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/08/06 | 247207 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/08/06 | 169679 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2022/08/06 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/08/06 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/08/06 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/08/06 | 682215 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/08/06 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/08/06 | 527570 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/08/06 | 103599 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/08/06 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/08/06 | 74099 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/08/06 | 32075 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/08/06 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/08/06 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/08/06 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/08/06 | 104922 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/08/06 | 140011 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/08/06 | 325484 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/08/06 | 181725 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/08/06 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/08/06 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/08/06 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/08/06 | 48038 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/08/06 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/08/06 | 213847 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/08/06 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/08/06 | 824995 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/08/06 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/08/06 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/08/06 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/08/06 | 1323745 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/08/06 | 23948 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/08/06 | 37507 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/08/06 | 72977 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/08/06 | 58634 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/08/06 | 769652 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/08/06 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2022/08/06 | 52628 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/08/06 | 63803 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/08/06 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/08/06 | 18510 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2022/08/06 | 70938 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/08/06 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/08/06 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/08/06 | 107437 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2022/08/06 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/08/06 | 62360 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/08/06 | 41190 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/08/06 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/08/06 | 73685 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/08/06 | 352464 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/08/06 | 57502 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/08/06 | 630436 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/08/06 | 43528 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/08/06 | 288531 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/08/06 | 1478524 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/08/06 | 1362233 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/08/06 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/08/07 | 658512 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/08/07 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/08/07 | 1161751 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/08/07 | 31587 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/08/07 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/08/07 | 65130 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/08/07 | 95469 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/08/07 | 77211 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/08/07 | 31562 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/08/07 | 394143 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/08/07 | 37049 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/08/07 | 57505 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/08/07 | 270467 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/08/07 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/08/07 | 103247 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/08/07 | 24212 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/08/07 | 481893 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/08/07 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/08/07 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/08/07 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/08/07 | 135465 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/08/07 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/08/07 | 112980 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/08/07 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/08/07 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/08/07 | 63241 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/08/07 | 155430 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/08/07 | 79065 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/08/07 | 81448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/08/07 | 295944 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/08/07 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/08/07 | 112878 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/08/07 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/08/07 | 115579 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/08/07 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/08/07 | 565080 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/08/07 | 247205 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/08/07 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/08/07 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/08/07 | 18381 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/08/07 | 30569 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/08/07 | 682215 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/08/07 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/08/07 | 527570 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/08/07 | 103597 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/08/07 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/08/07 | 74098 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/08/07 | 32073 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/08/07 | 8825 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/08/07 | 209138 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/08/07 | 286684 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/08/07 | 104920 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/08/07 | 140011 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/08/07 | 325483 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/08/07 | 181724 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/08/07 | 55319 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/08/07 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/08/07 | 43617 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/08/07 | 48039 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/08/07 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/08/07 | 213847 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/08/07 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/08/07 | 824995 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/08/07 | 203419 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/08/07 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/08/07 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/08/07 | 1323745 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/08/07 | 23948 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/08/07 | 37506 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/08/07 | 72977 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/08/07 | 58632 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/08/07 | 769653 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/08/07 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/08/07 | 52628 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/08/07 | 63802 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/08/07 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/08/07 | 18511 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/08/07 | 70939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/08/07 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/08/07 | 68146 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/08/07 | 107436 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/08/07 | 2821670 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/08/07 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/08/07 | 41190 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/08/07 | 33862 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/08/07 | 73686 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/08/07 | 352464 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/08/07 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/08/07 | 630436 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/08/07 | 43527 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/08/07 | 288550 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/08/07 | 1478310 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/08/07 | 1361301 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/08/07 | 14433 | 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
-2022/08/06 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/08/07 | 1172 | 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
@@ -301539,7 +301541,7 @@
2022/02/22 | 6917 | 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
-2022/08/06 | 962 | systems/win32/miktex/tm/packages/pr.ini
+2022/08/07 | 962 | 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
@@ -303472,7 +303474,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2022/08/07 | 186 | timestamp
+2022/08/08 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2022/02/28 | 917 | usergrps/dante/dtk/doc/beispiel.bib
@@ -304806,39 +304808,40 @@
1999/06/04 | 27445 | usergrps/uktug/baskervi/baskrep.cls
1999/05/12 | 7702 | usergrps/uktug/baskervi/epstopdf
1997/10/01 | 444 | usergrps/uktug/baskervi/README
-2022/05/13 | 9628 | usergrps/usergrps/bg.html
-2022/05/13 | 9297 | usergrps/usergrps/br.html
-2022/05/13 | 9590 | usergrps/usergrps/cn.html
-2022/05/13 | 9753 | usergrps/usergrps/cz.html
-2022/05/13 | 9878 | usergrps/usergrps/de.html
-2022/05/13 | 9257 | usergrps/usergrps/dk.html
-2022/05/13 | 9161 | usergrps/usergrps/ee.html
-2022/05/13 | 9386 | usergrps/usergrps/esc.html
-2022/05/13 | 9531 | usergrps/usergrps/es.html
-2022/05/13 | 9632 | usergrps/usergrps/fr.html
-2022/05/13 | 9407 | usergrps/usergrps/gr.html
-2022/05/13 | 9811 | usergrps/usergrps/hu.html
-2022/05/13 | 9307 | usergrps/usergrps/ie.html
-2022/05/13 | 6366 | usergrps/usergrps/index.html
-2022/05/13 | 9282 | usergrps/usergrps/is.html
-2022/05/13 | 9534 | usergrps/usergrps/it.html
-2022/05/13 | 9251 | usergrps/usergrps/kh.html
-2022/05/13 | 9651 | usergrps/usergrps/kr.html
-2022/05/13 | 9544 | usergrps/usergrps/labels.pdf
+2022/08/07 | 9678 | usergrps/usergrps/bg.html
+2022/08/07 | 9347 | usergrps/usergrps/br.html
+2022/08/07 | 9640 | usergrps/usergrps/cn.html
+2022/08/07 | 9803 | usergrps/usergrps/cz.html
+2022/08/07 | 9928 | usergrps/usergrps/de.html
+2022/08/07 | 9307 | usergrps/usergrps/dk.html
+2022/08/07 | 9211 | usergrps/usergrps/ee.html
+2022/08/07 | 9436 | usergrps/usergrps/esc.html
+2022/08/07 | 9581 | usergrps/usergrps/es.html
+2022/08/07 | 9682 | usergrps/usergrps/fr.html
+2022/08/07 | 9457 | usergrps/usergrps/gr.html
+2022/08/07 | 9861 | usergrps/usergrps/hu.html
+2022/08/07 | 9357 | usergrps/usergrps/ie.html
+2022/08/07 | 6409 | usergrps/usergrps/index.html
+2022/08/07 | 9332 | usergrps/usergrps/is.html
+2022/08/07 | 9584 | usergrps/usergrps/it.html
+2022/08/07 | 9301 | usergrps/usergrps/kh.html
+2022/08/07 | 9701 | usergrps/usergrps/kr.html
+2022/08/07 | 9541 | usergrps/usergrps/labels.pdf
2022/05/12 | 2105 | usergrps/usergrps/labels.tex
-2022/05/13 | 9298 | usergrps/usergrps/lt.html
-2022/05/13 | 32529 | usergrps/usergrps/lugs.html
-2022/05/13 | 48794 | usergrps/usergrps/lugs.pdf
-2022/05/13 | 20621 | usergrps/usergrps/lugs.tex
-2022/05/13 | 9241 | usergrps/usergrps/mx.html
-2022/05/13 | 9580 | usergrps/usergrps/nl.html
-2022/05/13 | 9352 | usergrps/usergrps/no.html
-2022/05/13 | 9816 | usergrps/usergrps/pl.html
-2022/05/13 | 9380 | usergrps/usergrps/pt.html
-2022/05/13 | 9422 | usergrps/usergrps/us.html
-2022/05/13 | 9291 | usergrps/usergrps/uy.html
-2022/05/13 | 9362 | usergrps/usergrps/vn.html
-2022/05/13 | 9301 | usergrps/usergrps/za.html
+2022/08/07 | 9348 | usergrps/usergrps/lt.html
+2022/08/07 | 33096 | usergrps/usergrps/lugs.html
+2022/08/07 | 48884 | usergrps/usergrps/lugs.pdf
+2022/08/07 | 20954 | usergrps/usergrps/lugs.tex
+2022/08/07 | 9291 | usergrps/usergrps/mx.html
+2022/08/07 | 9630 | usergrps/usergrps/nl.html
+2022/08/07 | 9402 | usergrps/usergrps/no.html
+2022/08/07 | 9866 | usergrps/usergrps/pl.html
+2022/08/07 | 9430 | usergrps/usergrps/pt.html
+2022/08/07 | 9286 | usergrps/usergrps/tw.html
+2022/08/07 | 9472 | usergrps/usergrps/us.html
+2022/08/07 | 9341 | usergrps/usergrps/uy.html
+2022/08/07 | 9412 | usergrps/usergrps/vn.html
+2022/08/07 | 9351 | usergrps/usergrps/za.html
1992/12/06 | 2551 | web/aplweb/announcement
1993/11/03 | 802292 | web/aplweb/aplweba.zip
1993/11/03 | 771814 | web/aplweb/aplwebb.zip
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 4ced41c683..3ef4a02bab 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 8336622cf6..3ce78522e3 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,138 +1,2354 @@
+2022/08/07 | 9928 | usergrps/usergrps/de.html
+2022/08/07 | 9866 | usergrps/usergrps/pl.html
+2022/08/07 | 9861 | usergrps/usergrps/hu.html
+2022/08/07 | 9803 | usergrps/usergrps/cz.html
+2022/08/07 | 9701 | usergrps/usergrps/kr.html
+2022/08/07 | 9682 | usergrps/usergrps/fr.html
+2022/08/07 | 9678 | usergrps/usergrps/bg.html
+2022/08/07 | 9640 | usergrps/usergrps/cn.html
+2022/08/07 | 9630 | usergrps/usergrps/nl.html
+2022/08/07 | 962 | systems/win32/miktex/tm/packages/pr.ini
+2022/08/07 | 9584 | usergrps/usergrps/it.html
+2022/08/07 | 9581 | usergrps/usergrps/es.html
+2022/08/07 | 95469 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/08/07 | 9541 | usergrps/usergrps/labels.pdf
+2022/08/07 | 9472 | usergrps/usergrps/us.html
+2022/08/07 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
+2022/08/07 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
+2022/08/07 | 9457 | usergrps/usergrps/gr.html
+2022/08/07 | 9436 | usergrps/usergrps/esc.html
+2022/08/07 | 9430 | usergrps/usergrps/pt.html
+2022/08/07 | 9412 | usergrps/usergrps/vn.html
+2022/08/07 | 9402 | usergrps/usergrps/no.html
+2022/08/07 | 9357 | usergrps/usergrps/ie.html
+2022/08/07 | 9351 | usergrps/usergrps/za.html
+2022/08/07 | 9348 | usergrps/usergrps/lt.html
+2022/08/07 | 9347 | usergrps/usergrps/br.html
+2022/08/07 | 9341 | usergrps/usergrps/uy.html
+2022/08/07 | 9332 | usergrps/usergrps/is.html
+2022/08/07 | 9307 | usergrps/usergrps/dk.html
+2022/08/07 | 9301 | usergrps/usergrps/kh.html
+2022/08/07 | 9291 | usergrps/usergrps/mx.html
+2022/08/07 | 9286 | usergrps/usergrps/tw.html
+2022/08/07 | 9211 | usergrps/usergrps/ee.html
+2022/08/07 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
+2022/08/07 | 888132 | systems/texlive/tlnet/archive/l3backend.doc.r64066.tar.xz
+2022/08/07 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
+2022/08/07 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/08/07 | 8825 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/08/07 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
+2022/08/07 | 8652 | macros/latex/contrib/tagpdf/ex-AF-file.pdf
+2022/08/07 | 8609 | macros/luatex/generic/luatexja/src/ltj-otf.lua
+2022/08/07 | 8436736 | graphics/asymptote/binaries/i386-windows/texlive/asy.exe
+2022/08/07 | 8318976 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
+2022/08/07 | 8281 | macros/latex/contrib/tagpdf/global-ex.png
+2022/08/07 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
+2022/08/07 | 824995 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/08/07 | 81448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/08/07 | 8113 | macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
+2022/08/07 | 810894 | graphics/pgf/contrib/tikz-relay.zip
+2022/08/07 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
+2022/08/07 | 801 | macros/latex/contrib/tagpdf/ex-tagpdf-template.tex
+2022/08/07 | 79065 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/08/07 | 7854 | macros/latex/contrib/tagpdf/ex-formula-problem-luatex.pdf
+2022/08/07 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
+2022/08/07 | 777 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
+2022/08/07 | 77211 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/08/07 | 769653 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/08/07 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
+2022/08/07 | 74098 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/08/07 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
+2022/08/07 | 73686 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/08/07 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/08/07 | 72977 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/08/07 | 717626 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+2022/08/07 | 70939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/08/07 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+2022/08/07 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
+2022/08/07 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
+2022/08/07 | 6842 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
+2022/08/07 | 682215 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/08/07 | 68146 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/08/07 | 66801 | graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.tex
+2022/08/07 | 6626 | macros/latex/contrib/tagpdf/ex-attribute-luatex.pdf
+2022/08/07 | 661245 | graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.pdf
+2022/08/07 | 658512 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/08/07 | 658037 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/08/07 | 6529 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+2022/08/07 | 65130 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/08/07 | 6409 | usergrps/usergrps/index.html
+2022/08/07 | 63802 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/08/07 | 63241 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/08/07 | 630436 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/08/07 | 6235 | macros/luatex/generic/luatexja/src/ltj-latex.sty
+2022/08/07 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/08/07 | 6214 | macros/luatex/generic/luatexja/src/ltj-base.sty
+2022/08/07 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
+2022/08/07 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
+2022/08/07 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/08/07 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
+2022/08/07 | 592832 | systems/texlive/tlnet/archive/l3kernel.source.r64066.tar.xz
+2022/08/07 | 58632 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/08/07 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
+2022/08/07 | 5832927 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/08/07 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
+2022/08/07 | 5797 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex
+2022/08/07 | 57505 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/08/07 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/08/07 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/08/07 | 57155 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
+2022/08/07 | 5682 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
+2022/08/07 | 565080 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/08/07 | 55553 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+2022/08/07 | 55319 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/08/07 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
+2022/08/07 | 55117 | graphics/pgf/contrib/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex
+2022/08/07 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
+2022/08/07 | 541346 | macros/luatex/generic/luatexja/doc/luatexja.dtx
+2022/08/07 | 5388 | graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex
+2022/08/07 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
+2022/08/07 | 527570 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/08/07 | 52628 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/08/07 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/08/07 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
+2022/08/07 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/08/07 | 5107 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
+2022/08/07 | 50220 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
+2022/08/07 | 49557 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+2022/08/07 | 492426 | macros/latex/contrib/tagpdf/tagpdf.pdf
+2022/08/07 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/08/07 | 48884 | usergrps/usergrps/lugs.pdf
+2022/08/07 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/08/07 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
+2022/08/07 | 48551 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
+2022/08/07 | 481893 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/08/07 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
+2022/08/07 | 48039 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/08/07 | 4618 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
+2022/08/07 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/08/07 | 456577 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
+2022/08/07 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/08/07 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/08/07 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/08/07 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/08/07 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty
+2022/08/07 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
+2022/08/07 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/08/07 | 43617 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/08/07 | 43527 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/08/07 | 4284 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma.tex
+2022/08/07 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
+2022/08/07 | 4196 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
+2022/08/07 | 419224 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64062.tar.xz
+2022/08/07 | 4153 | macros/latex/contrib/tagpdf/ex-alt-actualtext.tex
+2022/08/07 | 41190 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/08/07 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/08/07 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
+2022/08/07 | 40036 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
+2022/08/07 | 397581 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
+2022/08/07 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
+2022/08/07 | 39581 | macros/luatex/generic/luatexja/src/ltj-direction.lua
+2022/08/07 | 394143 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/08/07 | 390299 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
+2022/08/07 | 3893 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
+2022/08/07 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
+2022/08/07 | 3835934 | macros/luatex/generic/luatexja.zip
+2022/08/07 | 3804 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+2022/08/07 | 3796 | macros/luatex/generic/luatexja/README
+2022/08/07 | 37506 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/08/07 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
+2022/08/07 | 37049 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/08/07 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
+2022/08/07 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
+2022/08/07 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/08/07 | 352464 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/08/07 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/08/07 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
+2022/08/07 | 3425 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+2022/08/07 | 33862 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/08/07 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
+2022/08/07 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
+2022/08/07 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
+2022/08/07 | 33096 | usergrps/usergrps/lugs.html
+2022/08/07 | 33016 | systems/texlive/tlnet/archive/l3backend.source.r64066.tar.xz
+2022/08/07 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
+2022/08/07 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/08/07 | 325483 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/08/07 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
+2022/08/07 | 32183 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
+2022/08/07 | 3211 | macros/latex/contrib/tagpdf/tagpdf.ins
+2022/08/07 | 32073 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/08/07 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
+2022/08/07 | 31587 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/08/07 | 31562 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/08/07 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
+2022/08/07 | 30569 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/08/07 | 29814 | macros/luatex/generic/luatexja/src/luatexja-core.sty
+2022/08/07 | 295944 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/08/07 | 29572 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+2022/08/07 | 288550 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/08/07 | 288549 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/08/07 | 286684 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/08/07 | 28601 | macros/latex/contrib/tagpdf/tagpdf-checks.dtx
+2022/08/07 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/08/07 | 2821670 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/08/07 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/08/07 | 27127 | macros/latex/contrib/tagpdf/tagpdf-user.dtx
+2022/08/07 | 270467 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/08/07 | 26934 | macros/luatex/generic/luatexja/src/lltjext.sty
+2022/08/07 | 26705241 | graphics/asymptote.zip
+2022/08/07 | 265601 | graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.pdf
+2022/08/07 | 2637 | macros/latex/contrib/tagpdf/ex-patch-list.tex
+2022/08/07 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
+2022/08/07 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
+2022/08/07 | 25856 | macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
+2022/08/07 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
+2022/08/07 | 25516475 | systems/texlive/tlnet/install-tl.zip
+2022/08/07 | 2528 | macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex
+2022/08/07 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/08/07 | 247205 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/08/07 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/08/07 | 24212 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/08/07 | 2395976 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/08/07 | 23948 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/08/07 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+2022/08/07 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
+2022/08/07 | 22818 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
+2022/08/07 | 2262 | macros/latex/contrib/tagpdf/tagpdf-code.tex
+2022/08/07 | 22453 | macros/luatex/generic/luatexja/src/luatexja.lua
+2022/08/07 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
+2022/08/07 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
+2022/08/07 | 21879 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
+2022/08/07 | 21795 | macros/latex/contrib/tagpdf/tagpdf.dtx
+2022/08/07 | 2150 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex
+2022/08/07 | 213847 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/08/07 | 21067 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.pdf
+2022/08/07 | 20954 | usergrps/usergrps/lugs.tex
+2022/08/07 | 209138 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/08/07 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
+2022/08/07 | 2043972 | macros/latex/contrib/tagpdf.zip
+2022/08/07 | 20435428 | systems/texlive/tlnet/install-tl-windows.exe
+2022/08/07 | 2042 | macros/luatex/generic/luatexja/src/luatexja.sty
+2022/08/07 | 203419 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/08/07 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/08/07 | 2022 | macros/latex/contrib/tagpdf/link-figure-input.tex
+2022/08/07 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
+2022/08/07 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
+2022/08/07 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
+2022/08/07 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/08/07 | 19600 | macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+2022/08/07 | 19363 | macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
+2022/08/07 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
+2022/08/07 | 19234 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+2022/08/07 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
+2022/08/07 | 189093 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
+2022/08/07 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
+2022/08/07 | 18511 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/08/07 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
+2022/08/07 | 18381 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/08/07 | 181724 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/08/07 | 177686 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
+2022/08/07 | 17742 | macros/latex/contrib/tagpdf/ex-alt-actualtext-luatex.pdf
+2022/08/07 | 17575922 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/08/07 | 173260 | systems/texlive/tlnet/archive/l3kernel.r64066.tar.xz
+2022/08/07 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/08/07 | 1730 | macros/latex/contrib/tagpdf/tagpdf.bib
+2022/08/07 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/08/07 | 16888 | macros/latex/contrib/tagpdf/ex-patch-list-luatex.pdf
+2022/08/07 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
+2022/08/07 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+2022/08/07 | 1611 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
+2022/08/07 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+2022/08/07 | 155430 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/08/07 | 154928 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
+2022/08/07 | 15452 | systems/texlive/tlnet/archive/l3backend.r64066.tar.xz
+2022/08/07 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/08/07 | 1537 | macros/latex/contrib/tagpdf/ex-structure-obsolete.tex
+2022/08/07 | 1536 | macros/luatex/generic/luatexja/COPYING
+2022/08/07 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/08/07 | 15239 | macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
+2022/08/07 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/08/07 | 14929 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+2022/08/07 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
+2022/08/07 | 1480790 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/08/07 | 1478310 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/08/07 | 1464 | graphics/pgf/contrib/tikz-relay/README.txt
+2022/08/07 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/08/07 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/08/07 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/08/07 | 14433 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/08/07 | 141163 | macros/latex/contrib/tagpdf/pac3.PNG
+2022/08/07 | 140011 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/08/07 | 1398 | macros/latex/contrib/tagpdf/ex-attribute.tex
+2022/08/07 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
+2022/08/07 | 13899 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
+2022/08/07 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
+2022/08/07 | 1361845 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/08/07 | 1361301 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/08/07 | 135465 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/08/07 | 13465 | macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
+2022/08/07 | 13275 | macros/latex/contrib/tagpdf/tagpdf-tree.dtx
+2022/08/07 | 13238 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
+2022/08/07 | 1323745 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/08/07 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
+2022/08/07 | 12716 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
+2022/08/07 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
+2022/08/07 | 1240587 | macros/latex/contrib/tagpdf/tagpdf-code.pdf
+2022/08/07 | 1237 | macros/latex/contrib/tagpdf/ex-AF-file.tex
+2022/08/07 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
+2022/08/07 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
+2022/08/07 | 11848044 | systems/texlive/tlnet/archive/l3kernel.doc.r64066.tar.xz
+2022/08/07 | 1176 | macros/latex/contrib/tagpdf/README.md
+2022/08/07 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/08/07 | 1161751 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/08/07 | 115579 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/08/07 | 11508 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
+2022/08/07 | 1149406 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+2022/08/07 | 113536 | systems/texlive/tlnet/archive/texlive-scripts.r64062.tar.xz
+2022/08/07 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
+2022/08/07 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
+2022/08/07 | 112980 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/08/07 | 112878 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/08/07 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/08/07 | 107436 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/08/07 | 1073 | macros/latex/contrib/tagpdf/ex-softhyphen.tex
+2022/08/07 | 104920 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/08/07 | 103597 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/08/07 | 103247 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/08/07 | 10311 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
+2022/08/07 | 1019 | macros/latex/contrib/tagpdf/ex-formula-problem.tex
+2022/08/07 | 101278 | macros/latex/contrib/tagpdf/tagpdf.tex
+2022/08/06 | 99 | graphics/asymptote/base/asy_filetype.vim
+2022/08/06 | 99993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.png
2022/08/06 | 9984 | systems/texlive/tlnet/archive/create-theorem.r64055.tar.xz
-2022/08/06 | 962 | systems/win32/miktex/tm/packages/pr.ini
-2022/08/06 | 95467 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/08/06 | 994 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/common_footer.htm
+2022/08/06 | 9945 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
+2022/08/06 | 9923 | graphics/asymptote/profiler.h
+2022/08/06 | 990 | graphics/asymptote/examples/RiemannSphere.asy
+2022/08/06 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
+2022/08/06 | 988 | graphics/asymptote/GUI/res/icons/eye.svg
+2022/08/06 | 986 | graphics/asymptote/predicates.h
+2022/08/06 | 986 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/quickstart.cpp
+2022/08/06 | 986 | graphics/asymptote/GUI/res/icons/brush.svg
+2022/08/06 | 9867 | graphics/asymptote/runstring.in
+2022/08/06 | 985 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
+2022/08/06 | 9856 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-filepath.h
+2022/08/06 | 98539 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/readertest.cpp
+2022/08/06 | 983 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfig.cmake.in
+2022/08/06 | 982 | graphics/asymptote/LspCpp/third_party/rapidjson/example/CMakeLists.txt
+2022/08/06 | 9826 | graphics/asymptote/base/rationalSimplex.asy
+2022/08/06 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
+2022/08/06 | 980 | graphics/asymptote/examples/filesurface.asy
+2022/08/06 | 9805 | graphics/asymptote/doc/asymptote.sty
+2022/08/06 | 978 | graphics/asymptote/examples/worksheet.asy
+2022/08/06 | 9784 | graphics/asymptote/triple.h
+2022/08/06 | 9772 | graphics/asymptote/fundec.cc
+2022/08/06 | 9765 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.zh-cn.md
+2022/08/06 | 975 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.cpp
+2022/08/06 | 9755 | graphics/asymptote/v3dfile.cc
+2022/08/06 | 974 | graphics/asymptote/prc/Makefile
+2022/08/06 | 9744 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
+2022/08/06 | 973 | graphics/asymptote/examples/fequlogo.asy
+2022/08/06 | 972 | graphics/asymptote/examples/triads.asy
+2022/08/06 | 969 | graphics/asymptote/runfile.h
+2022/08/06 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
+2022/08/06 | 967 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer_sf/overview_footer.htm
+2022/08/06 | 966 | graphics/asymptote/tests/array/solve.asy
+2022/08/06 | 964 | graphics/asymptote/LspCpp/src/jsonrpc/Context.cpp
+2022/08/06 | 95 | graphics/asymptote/prc/test.asy
+2022/08/06 | 95 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/depend.make
+2022/08/06 | 9562 | graphics/asymptote/base/bezulate.asy
+2022/08/06 | 954 | graphics/asymptote/examples/poster.asy
+2022/08/06 | 953 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
+2022/08/06 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
+2022/08/06 | 951 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
+2022/08/06 | 9502 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest.py
+2022/08/06 | 94 | graphics/asymptote/LspCpp/third_party/rapidjson/include_dirs.js
+2022/08/06 | 94910 | graphics/asymptote/GUI/Window1.py
+2022/08/06 | 946 | graphics/asymptote/examples/animations/cube.asy
+2022/08/06 | 9461 | graphics/asymptote/LspCpp/third_party/rapidjson/example/lookaheadparser/lookaheadparser.cpp
+2022/08/06 | 943 | graphics/asymptote/LspCpp/third_party/rapidjson/example/traverseaspointer.cpp
+2022/08/06 | 94336 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
+2022/08/06 | 942 | graphics/asymptote/statistics.h
+2022/08/06 | 9386 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h
+2022/08/06 | 937 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
+2022/08/06 | 936 | graphics/asymptote/tests/array/array.asy
+2022/08/06 | 935 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.dot
+2022/08/06 | 934 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/declaration_definition.h
+2022/08/06 | 9334 | graphics/asymptote/base/plain_paths.asy
+2022/08/06 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
+2022/08/06 | 9327 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_test_utils.py
+2022/08/06 | 9319 | graphics/asymptote/glrender.h
+2022/08/06 | 9318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_stress_test.cc
+2022/08/06 | 930 | graphics/asymptote/examples/polararea.asy
+2022/08/06 | 929 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/platforms.md
+2022/08/06 | 9298 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/type.json
+2022/08/06 | 9271 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
+2022/08/06 | 9267 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-internal-utils.cc
+2022/08/06 | 9251 | graphics/asymptote/errors
+2022/08/06 | 923 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/required.json
+2022/08/06 | 92378 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.png
+2022/08/06 | 922 | graphics/asymptote/doc/imagecontour.asy
+2022/08/06 | 920 | graphics/asymptote/makeUnique.h
+2022/08/06 | 916 | graphics/asymptote/opcodes.h
+2022/08/06 | 912 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.dot
+2022/08/06 | 912 | graphics/asymptote/doc/errorbars.asy
+2022/08/06 | 9114 | graphics/asymptote/doc/asy.1
+2022/08/06 | 9104 | graphics/asymptote/symbol.cc
+2022/08/06 | 908 | graphics/asymptote/modifier.h
+2022/08/06 | 908 | graphics/asymptote/coenv.h
+2022/08/06 | 908 | graphics/asymptote/base/map.asy
+2022/08/06 | 9088 | graphics/asymptote/application.h
+2022/08/06 | 907 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/OverridableMethod.h
+2022/08/06 | 9059 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/bin/jsonschema_suite
+2022/08/06 | 9045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strtod.h
+2022/08/06 | 9040 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/allocatorstest.cpp
+2022/08/06 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
+2022/08/06 | 9021 | graphics/asymptote/psfile.h
+2022/08/06 | 901 | graphics/asymptote/virtualfieldaccess.cc
+2022/08/06 | 901 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/executeCommand.h
2022/08/06 | 90040 | systems/texlive/tlnet/archive/xecjk.source.r64059.tar.xz
-2022/08/06 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/08/06 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/08/06 | 9003 | graphics/asymptote/LspCpp/src/jsonrpc/TcpServer.cpp
+2022/08/06 | 8 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail16.json
+2022/08/06 | 897 | graphics/asymptote/doc/flowchartdemo.asy
+2022/08/06 | 896 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxLength.json
+2022/08/06 | 895 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxLength.json
+2022/08/06 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
+2022/08/06 | 8894 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/README.md
+2022/08/06 | 8883 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.md
+2022/08/06 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minLength.json
+2022/08/06 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minLength.json
+2022/08/06 | 886 | graphics/asymptote/angle.h
+2022/08/06 | 8861 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample6_unittest.cc
+2022/08/06 | 883 | graphics/asymptote/cudareflect/helper.cuh
+2022/08/06 | 88387 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest.h
+2022/08/06 | 8831 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
+2022/08/06 | 880 | graphics/asymptote/doc/xasy.1x
+2022/08/06 | 8804 | graphics/asymptote/runmath.in
+2022/08/06 | 879 | graphics/asymptote/examples/markregular.asy
+2022/08/06 | 8795 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.zh-cn.md
+2022/08/06 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
+2022/08/06 | 8789 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp-string_test.cc
+2022/08/06 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
+2022/08/06 | 877 | graphics/asymptote/doc/markers2.asy
+2022/08/06 | 8767 | graphics/asymptote/LspCpp/third_party/uri/test/uri_normalization_test.cpp
+2022/08/06 | 872 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/menu.json
+2022/08/06 | 872 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/range_formatting.h
+2022/08/06 | 8711 | graphics/asymptote/base/plain_pens.asy
+2022/08/06 | 8705 | graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
+2022/08/06 | 86 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/readme.txt
+2022/08/06 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
+2022/08/06 | 868 | graphics/asymptote/examples/twistedtubes.asy
+2022/08/06 | 867 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Condition.h
+2022/08/06 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
+2022/08/06 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
+2022/08/06 | 8668 | graphics/asymptote/xstream.h
+2022/08/06 | 86552 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/advanced.md
+2022/08/06 | 863 | graphics/asymptote/GUI/res/icons/edit.svg
+2022/08/06 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
+2022/08/06 | 85989 | graphics/asymptote/base/three.asy
+2022/08/06 | 858 | graphics/asymptote/GUI/res/icons/center.svg
+2022/08/06 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/pattern.json
+2022/08/06 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/pattern.json
+2022/08/06 | 856 | graphics/asymptote/examples/animations/sphere.asy
+2022/08/06 | 8561 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_.cc
+2022/08/06 | 854 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/definitions.json
2022/08/06 | 8536 | systems/texlive/tlnet/archive/projlib.doc.r64056.tar.xz
+2022/08/06 | 85342 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port.h
+2022/08/06 | 8532 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.zh-cn.md
+2022/08/06 | 8528 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock.cc
+2022/08/06 | 8521 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
+2022/08/06 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
+2022/08/06 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/oneOf_address.json
+2022/08/06 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/anyOf_address.json
+2022/08/06 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/allOf_address.json
+2022/08/06 | 849 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/booleans.json
+2022/08/06 | 848 | graphics/asymptote/base/shaders/sum2.glsl
+2022/08/06 | 845 | graphics/asymptote/envcompleter.h
+2022/08/06 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
+2022/08/06 | 8439 | graphics/asymptote/runpath.in
+2022/08/06 | 8433 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
+2022/08/06 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProcessIoService.h
+2022/08/06 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsRange.h
+2022/08/06 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
+2022/08/06 | 8429 | graphics/asymptote/examples/thermodynamics.asy
+2022/08/06 | 8411 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference.dox
+2022/08/06 | 840 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
+2022/08/06 | 8407 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_utils.py
+2022/08/06 | 839 | graphics/asymptote/examples/venn3.asy
2022/08/06 | 83900 | systems/texlive/tlnet/archive/create-theorem.doc.r64055.tar.xz
-2022/08/06 | 824995 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/08/06 | 81449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2022/08/06 | 79063 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/08/06 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/08/06 | 769652 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/08/06 | 74099 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/08/06 | 73685 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/08/06 | 73264 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/08/06 | 72977 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/08/06 | 70938 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/08/06 | 682215 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/08/06 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/08/06 | 658512 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/08/06 | 658037 | systems/win32/miktex/tm/packages/files.csv.lzma
-2022/08/06 | 65129 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/08/06 | 63803 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/08/06 | 63241 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/08/06 | 630436 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/08/06 | 62360 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/08/06 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/08/06 | 58634 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/08/06 | 5808532 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/08/06 | 57504 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/08/06 | 57502 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/08/06 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/08/06 | 565081 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/08/06 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/08/06 | 527570 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/08/06 | 52628 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/08/06 | 52369 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/08/06 | 52037 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/08/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2022/08/06 | 48852 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/08/06 | 481894 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/08/06 | 48038 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/08/06 | 45794 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/08/06 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/08/06 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2022/08/06 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/08/06 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/08/06 | 8386 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test_.cc
+2022/08/06 | 8372 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h
+2022/08/06 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
+2022/08/06 | 834 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/CMakeLists.txt
+2022/08/06 | 83449 | graphics/asymptote/lex.yy.cc
+2022/08/06 | 8342 | graphics/asymptote/base/simplex.asy
+2022/08/06 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
+2022/08/06 | 831 | graphics/asymptote/runbacktrace.in
+2022/08/06 | 831 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
+2022/08/06 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
+2022/08/06 | 830 | graphics/asymptote/shaders.h
+2022/08/06 | 8307 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-assertion-result.h
+2022/08/06 | 829 | graphics/asymptote/GUI/res/icons/close-round.svg
+2022/08/06 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
+2022/08/06 | 8296 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.txt
+2022/08/06 | 828 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeModules/FindGTestSrc.cmake
+2022/08/06 | 828 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
+2022/08/06 | 827 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
+2022/08/06 | 825 | graphics/asymptote/examples/xxsq01y.asy
+2022/08/06 | 8240 | graphics/asymptote/base/asy-kate.sh
+2022/08/06 | 821 | graphics/asymptote/v3dtypes.py
+2022/08/06 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
+2022/08/06 | 820 | graphics/asymptote/webgl/license
+2022/08/06 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
+2022/08/06 | 81 | graphics/asymptote/doc/bezier.asy
+2022/08/06 | 818 | graphics/asymptote/GLTextures.cc
+2022/08/06 | 814 | graphics/asymptote/camperror.h
+2022/08/06 | 8129 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/CMakeLists.txt
+2022/08/06 | 81215 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
+2022/08/06 | 8120 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-message.h
+2022/08/06 | 8112 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-test-part-test.cc
+2022/08/06 | 810 | graphics/asymptote/GUI/res/icons/android-expand.svg
+2022/08/06 | 810 | graphics/asymptote/examples/orthocenter.asy
+2022/08/06 | 8105 | graphics/asymptote/LspCpp/examples/WebsocketExample.cpp
+2022/08/06 | 8096 | graphics/asymptote/runhistory.cc
+2022/08/06 | 808 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
+2022/08/06 | 8037 | graphics/asymptote/name.cc
+2022/08/06 | 802 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/nulls.json
+2022/08/06 | 802 | graphics/asymptote/examples/vertexshading.asy
+2022/08/06 | 802 | graphics/asymptote/examples/controlsystem.asy
+2022/08/06 | 801 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/Makefile
+2022/08/06 | 8014 | graphics/asymptote/base/stats.asy
+2022/08/06 | 8008 | graphics/asymptote/runpath3d.in
+2022/08/06 | 7 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail31.json
+2022/08/06 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
+2022/08/06 | 795 | graphics/asymptote/GUI/res/icons/android-refresh.svg
+2022/08/06 | 7957 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-options-test.cc
+2022/08/06 | 794 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/execute_command.h
+2022/08/06 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
+2022/08/06 | 792 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/formatting.h
+2022/08/06 | 792 | graphics/asymptote/doc/secondaryaxis.asy
+2022/08/06 | 79178 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
+2022/08/06 | 790 | graphics/asymptote/GUI/res/icons/android-camera.svg
+2022/08/06 | 79003 | graphics/asymptote/GUI/windows/window1.ui
+2022/08/06 | 78 | graphics/asymptote/examples/randompath3.asy
+2022/08/06 | 789 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
+2022/08/06 | 784 | graphics/asymptote/LspCpp/third_party/uri/deps/CMakeLists.txt
+2022/08/06 | 781 | graphics/asymptote/LspCpp/third_party/uri/deps/WORKSPACE
+2022/08/06 | 77 | graphics/asymptote/tests/gc/string.asy
+2022/08/06 | 7790 | graphics/asymptote/coder.cc
+2022/08/06 | 778 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsDocumentUri.h
+2022/08/06 | 7780 | graphics/asymptote/cudareflect/main.cc
+2022/08/06 | 77498 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_pred_impl_unittest.cc
+2022/08/06 | 7731 | graphics/asymptote/LspCpp/third_party/uri/include/network/string_view.hpp
+2022/08/06 | 771 | graphics/asymptote/GUI/res/icons/check.svg
+2022/08/06 | 770 | graphics/asymptote/asy.rc
+2022/08/06 | 76 | graphics/asymptote/examples/grid.asy
+2022/08/06 | 768 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_close.h
+2022/08/06 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
+2022/08/06 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
+2022/08/06 | 7671 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Context.h
+2022/08/06 | 766 | graphics/asymptote/vm.h
+2022/08/06 | 76445 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-spec-builders.h
+2022/08/06 | 7639 | graphics/asymptote/LICENSE.LESSER
+2022/08/06 | 7634 | graphics/asymptote/base/plain.asy
+2022/08/06 | 76339 | graphics/asymptote/runarray.cc
+2022/08/06 | 7632 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool.hpp
+2022/08/06 | 762 | graphics/asymptote/examples/clockarray.asy
+2022/08/06 | 7619 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/threadpool.css
+2022/08/06 | 759 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json
+2022/08/06 | 754 | graphics/asymptote/doc/graphmarkers.asy
+2022/08/06 | 752 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
+2022/08/06 | 751 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/publishDiagnostics.h
+2022/08/06 | 750 | graphics/asymptote/GUI/res/icons/plus-round.svg
+2022/08/06 | 74 | graphics/asymptote/LspCpp/include/LibLsp/lsp/method_type.h
+2022/08/06 | 748 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
+2022/08/06 | 7488 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2022/08/06 | 747 | graphics/asymptote/examples/pseudosphere.asy
+2022/08/06 | 74749 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-spec-builders_test.cc
+2022/08/06 | 746 | graphics/asymptote/tests/array/sort.asy
+2022/08/06 | 743 | graphics/asymptote/GUI/res/icons/circle.svg
+2022/08/06 | 743 | graphics/asymptote/examples/xxsq01.asy
+2022/08/06 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
+2022/08/06 | 74120 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile
+2022/08/06 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32lebom.json
+2022/08/06 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32bebom.json
+2022/08/06 | 7407 | graphics/asymptote/base/graph_splinetype.asy
+2022/08/06 | 74016 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile.in
+2022/08/06 | 739 | graphics/asymptote/examples/condor.asy
+2022/08/06 | 738 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
+2022/08/06 | 737 | graphics/asymptote/tests/array/determinant.asy
+2022/08/06 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32le.json
+2022/08/06 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32be.json
+2022/08/06 | 7364 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cheat_sheet.md
+2022/08/06 | 734 | graphics/asymptote/examples/quilt.asy
+2022/08/06 | 73435 | graphics/asymptote/GL/glxew.h
+2022/08/06 | 733 | graphics/asymptote/GUI/xasySvg.py
+2022/08/06 | 7322 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest.py
+2022/08/06 | 730 | graphics/asymptote/base/shaders/sum1.glsl
+2022/08/06 | 7304 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-string.h
+2022/08/06 | 7302 | graphics/asymptote/base/markers.asy
+2022/08/06 | 72 | graphics/asymptote/tests/gc/pen.asy
+2022/08/06 | 729 | graphics/asymptote/base/labelpath.asy
+2022/08/06 | 72889 | graphics/asymptote/base/three_surface.asy
+2022/08/06 | 7287 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_stress_test.cc
+2022/08/06 | 727 | graphics/asymptote/examples/fermi.asy
+2022/08/06 | 7274 | graphics/asymptote/runtime.pl
+2022/08/06 | 7260 | graphics/asymptote/config.h.in
+2022/08/06 | 725 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minProperties.json
+2022/08/06 | 722 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
+2022/08/06 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
+2022/08/06 | 7218 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/schematest.cpp
+2022/08/06 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
+2022/08/06 | 7180 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_repeat_test.cc
+2022/08/06 | 7163 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/stack.h
+2022/08/06 | 7152 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
+2022/08/06 | 714 | graphics/asymptote/mod.h
+2022/08/06 | 714 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+2022/08/06 | 714 | graphics/asymptote/examples/unitoctantx.asy
+2022/08/06 | 713 | graphics/asymptote/examples/gamma3.asy
+2022/08/06 | 71368 | graphics/asymptote/base/asy-mode.el
+2022/08/06 | 7130 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.cpp
+2022/08/06 | 71201 | graphics/asymptote/prc/oPRCFile.cc
+2022/08/06 | 711 | graphics/asymptote/examples/partialsurface.asy
+2022/08/06 | 710 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+2022/08/06 | 710 | graphics/asymptote/examples/fjortoft.asy
+2022/08/06 | 70 | graphics/asymptote/tests/gc/transform.asy
+2022/08/06 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
+2022/08/06 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxItems.json
+2022/08/06 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxItems.json
+2022/08/06 | 706 | graphics/asymptote/LspCpp/include/LibLsp/lsp/AbsolutePath.h
+2022/08/06 | 705 | graphics/asymptote/GUI/res/icons/arrow-move.svg
+2022/08/06 | 7049 | graphics/asymptote/LspCpp/third_party/uri/Makefile
+2022/08/06 | 703 | graphics/asymptote/examples/NURBScurve.asy
+2022/08/06 | 7020 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
+2022/08/06 | 70102 | graphics/asymptote/base/graph3.asy
+2022/08/06 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
+2022/08/06 | 6944 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-test-part.h
+2022/08/06 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
+2022/08/06 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minItems.json
+2022/08/06 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minItems.json
+2022/08/06 | 693 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
+2022/08/06 | 6917 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+2022/08/06 | 6911 | graphics/asymptote/errortest.asy
+2022/08/06 | 690 | graphics/asymptote/examples/layers.asy
+2022/08/06 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
+2022/08/06 | 688 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentEdit.h
+2022/08/06 | 688 | graphics/asymptote/examples/centroidfg.asy
+2022/08/06 | 6889 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
+2022/08/06 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
+2022/08/06 | 687491 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/sample.json
+2022/08/06 | 6872 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/actions.md
+2022/08/06 | 6862 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archivertest.cpp
+2022/08/06 | 6860 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.zh-cn.md
+2022/08/06 | 685 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simpledom/simpledom.cpp
+2022/08/06 | 683 | graphics/asymptote/GUI/res/icons/android-close.svg
+2022/08/06 | 683 | graphics/asymptote/examples/fractaltree.asy
+2022/08/06 | 6818 | graphics/asymptote/LspCpp/third_party/rapidjson/CHANGELOG.md
+2022/08/06 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
+2022/08/06 | 680 | graphics/asymptote/tests/array/delete.asy
+2022/08/06 | 67 | graphics/asymptote/LspCpp/third_party/threadpool/project-root.jam
+2022/08/06 | 679 | graphics/asymptote/examples/genusthree.asy
+2022/08/06 | 678 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/README.md
+2022/08/06 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
+2022/08/06 | 6787 | graphics/asymptote/drawlabel.cc
+2022/08/06 | 677 | graphics/asymptote/doc/Bode.asy
+2022/08/06 | 677 | graphics/asymptote/base/shaders/vertex.glsl
+2022/08/06 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
+2022/08/06 | 676 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentItem.h
+2022/08/06 | 6751 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/format.json
+2022/08/06 | 674 | graphics/asymptote/examples/sqrtx01.asy
+2022/08/06 | 6732 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stream.h
+2022/08/06 | 67309 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
+2022/08/06 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
+2022/08/06 | 6725 | graphics/asymptote/guide.h
+2022/08/06 | 6717 | graphics/asymptote/GUI/xasyOptions.py
+2022/08/06 | 6714 | graphics/asymptote/base/shaders/fragment.glsl
+2022/08/06 | 670 | graphics/asymptote/base/v3dtypes.asy
+2022/08/06 | 6708 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.md
+2022/08/06 | 66 | graphics/asymptote/examples/shade.asy
+2022/08/06 | 669 | graphics/asymptote/drawpath.h
+2022/08/06 | 667 | graphics/asymptote/tinyexr.cc
+2022/08/06 | 667 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
+2022/08/06 | 667 | graphics/asymptote/examples/spring.asy
+2022/08/06 | 66751 | graphics/asymptote/prc/writePRC.cc
+2022/08/06 | 6673 | graphics/asymptote/main.cc
+2022/08/06 | 6650 | graphics/asymptote/getopt.h
+2022/08/06 | 664 | graphics/asymptote/GUI/res/icons/android-delete.svg
+2022/08/06 | 66477 | graphics/asymptote/glrender.cc
+2022/08/06 | 663 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool.hpp
+2022/08/06 | 663 | graphics/asymptote/GUI/res/icons/save.svg
+2022/08/06 | 66352 | graphics/asymptote/base/webgl/asygl.js
+2022/08/06 | 6634 | graphics/asymptote/simpson.cc
+2022/08/06 | 6620 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/meta.h
+2022/08/06 | 65 | graphics/asymptote/tests/gc/guide.asy
+2022/08/06 | 6585 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample5_unittest.cc
+2022/08/06 | 657 | graphics/asymptote/examples/lowupint.asy
+2022/08/06 | 657 | graphics/asymptote/examples/100d.views
+2022/08/06 | 657 | graphics/asymptote/base/reload.js
+2022/08/06 | 6572 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/doxygenextra.css
+2022/08/06 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
+2022/08/06 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
+2022/08/06 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
+2022/08/06 | 6550 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/scheduling_policies.hpp
+2022/08/06 | 654 | graphics/asymptote/fpu.h
+2022/08/06 | 654 | graphics/asymptote/examples/limit.asy
+2022/08/06 | 6543 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest.py
+2022/08/06 | 6528 | graphics/asymptote/lspserv.h
+2022/08/06 | 6525 | graphics/asymptote/drawfill.h
+2022/08/06 | 650 | graphics/asymptote/prcfile.h
+2022/08/06 | 6503 | graphics/asymptote/tests/types/constructor.asy
+2022/08/06 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
+2022/08/06 | 648 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
+2022/08/06 | 648 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
+2022/08/06 | 643 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/common_footer.htm
+2022/08/06 | 64207 | graphics/asymptote/base/graph.asy
+2022/08/06 | 641 | graphics/asymptote/examples/pOrbital.asy
+2022/08/06 | 6418 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_environment_test.cc
+2022/08/06 | 6414 | graphics/asymptote/mathop.h
+2022/08/06 | 6412 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test.cc
+2022/08/06 | 639 | graphics/asymptote/tests/arith/transform.asy
+2022/08/06 | 639 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+2022/08/06 | 6386 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
+2022/08/06 | 63842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-printers-test.cc
+2022/08/06 | 6376 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest_.cc
+2022/08/06 | 63725 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
+2022/08/06 | 6370 | graphics/asymptote/asymptote.nsi
+2022/08/06 | 6369 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/traits.h
+2022/08/06 | 6350 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.txt
+2022/08/06 | 63314 | graphics/asymptote/GL/wglew.h
+2022/08/06 | 632 | graphics/asymptote/examples/label3zoom.asy
+2022/08/06 | 631 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
+2022/08/06 | 631 | graphics/asymptote/locate.h
+2022/08/06 | 631 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
+2022/08/06 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
+2022/08/06 | 6318 | graphics/asymptote/doc/leastsquares.dat
+2022/08/06 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
+2022/08/06 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
+2022/08/06 | 62 | graphics/asymptote/tests/gc/array.asy
+2022/08/06 | 62 | graphics/asymptote/revision.cc
+2022/08/06 | 628 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/message.h
+2022/08/06 | 628 | graphics/asymptote/examples/wedge.asy
+2022/08/06 | 628 | graphics/asymptote/examples/polarcircle.asy
+2022/08/06 | 6288 | graphics/asymptote/transform.h
+2022/08/06 | 6287 | graphics/asymptote/base/plain_prethree.asy
+2022/08/06 | 6278 | graphics/asymptote/base/plain_filldraw.asy
+2022/08/06 | 62786 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
+2022/08/06 | 6275 | graphics/asymptote/generate_enums.py
+2022/08/06 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
+2022/08/06 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
+2022/08/06 | 626 | graphics/asymptote/examples/venn.asy
+2022/08/06 | 6263 | graphics/asymptote/LspCpp/third_party/rapidjson/example/tutorial/tutorial.cpp
+2022/08/06 | 625 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/footer/overview_footer.htm
+2022/08/06 | 625 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
+2022/08/06 | 6252 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-type-util.h
+2022/08/06 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
+2022/08/06 | 62413 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-death-test.cc
+2022/08/06 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
+2022/08/06 | 620 | graphics/asymptote/tests/arith/integer.asy
+2022/08/06 | 620 | graphics/asymptote/GUI/res/icons/android-done.svg
+2022/08/06 | 61 | graphics/asymptote/examples/axialshade.asy
+2022/08/06 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
+2022/08/06 | 6194 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample8_unittest.cc
+2022/08/06 | 6190 | graphics/asymptote/camp.tab.h
+2022/08/06 | 617 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateConstructors.h
+2022/08/06 | 617 | graphics/asymptote/doc/logo.asy
+2022/08/06 | 6175 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test.py
+2022/08/06 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
+2022/08/06 | 61699 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-internal.h
+2022/08/06 | 61667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-actions.h
+2022/08/06 | 61659 | graphics/asymptote/runtime.cc
+2022/08/06 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
+2022/08/06 | 6159 | graphics/asymptote/base/plain_strings.asy
+2022/08/06 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
+2022/08/06 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
+2022/08/06 | 611 | graphics/asymptote/GUI/xasy.py
+2022/08/06 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
+2022/08/06 | 610 | graphics/asymptote/examples/impact.asy
+2022/08/06 | 6104 | graphics/asymptote/LspCpp/third_party/uri/deps/BUILD.bazel
+2022/08/06 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
+2022/08/06 | 60 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail1.json
+2022/08/06 | 609 | graphics/asymptote/keywords.cc
+2022/08/06 | 6097 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-cardinalities.h
+2022/08/06 | 6090 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/DoxygenLayout.xml
+2022/08/06 | 608 | graphics/asymptote/examples/spline.asy
+2022/08/06 | 608 | graphics/asymptote/base/size10.asy
+2022/08/06 | 604 | graphics/asymptote/doc/flow.asy
+2022/08/06 | 6037 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test.py
+2022/08/06 | 602 | graphics/asymptote/examples/treetest.asy
+2022/08/06 | 6022 | graphics/asymptote/LspCpp/third_party/rapidjson/example/jsonx/jsonx.cpp
+2022/08/06 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
+2022/08/06 | 601 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/widget.json
+2022/08/06 | 600 | graphics/asymptote/base/size11.asy
+2022/08/06 | 60074 | graphics/asymptote/GUI/xasy2asy.py
+2022/08/06 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail30.json
+2022/08/06 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/abcde.txt
+2022/08/06 | 59 | graphics/asymptote/examples/stroke3.asy
+2022/08/06 | 598 | graphics/asymptote/examples/integraltest.asy
+2022/08/06 | 5987 | graphics/asymptote/runfile.in
+2022/08/06 | 5975 | graphics/asymptote/base/three_tube.asy
+2022/08/06 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
+2022/08/06 | 594 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+2022/08/06 | 5946 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkeydom/filterkeydom.cpp
+2022/08/06 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
+2022/08/06 | 5925 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample9_unittest.cc
+2022/08/06 | 591 | graphics/asymptote/examples/sinc.asy
+2022/08/06 | 58 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail10.json
+2022/08/06 | 58 | graphics/asymptote/examples/progrid.asy
+2022/08/06 | 589 | graphics/asymptote/examples/trefoilknot.asy
+2022/08/06 | 588 | graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
+2022/08/06 | 5883 | graphics/asymptote/Delaunay.cc
+2022/08/06 | 587 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
+2022/08/06 | 586 | graphics/asymptote/GUI/xasyStrings.py
+2022/08/06 | 5837 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/fwdtest.cpp
+2022/08/06 | 582 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/glossary.json
+2022/08/06 | 582 | graphics/asymptote/examples/cos3.asy
+2022/08/06 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
+2022/08/06 | 581 | graphics/asymptote/examples/BezierSaddle.asy
+2022/08/06 | 580 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_configuration.h
+2022/08/06 | 580 | graphics/asymptote/examples/xsin1x.asy
+2022/08/06 | 57 | graphics/asymptote/GUI/requirements.txt
+2022/08/06 | 579 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/findLinks.h
+2022/08/06 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
+2022/08/06 | 579 | graphics/asymptote/examples/sin3.asy
+2022/08/06 | 579 | graphics/asymptote/examples/exp3.asy
+2022/08/06 | 57944 | graphics/asymptote/runpicture.cc
+2022/08/06 | 578 | graphics/asymptote/base/annotate.asy
+2022/08/06 | 5789 | graphics/asymptote/base/trembling.asy
+2022/08/06 | 576 | graphics/asymptote/examples/threeviews.asy
+2022/08/06 | 576 | graphics/asymptote/examples/circles.asy
+2022/08/06 | 5767 | graphics/asymptote/drawpath3.h
+2022/08/06 | 57599 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
+2022/08/06 | 5756 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.h
+2022/08/06 | 5735 | graphics/asymptote/base/plain_scaling.asy
+2022/08/06 | 5733 | graphics/asymptote/item.h
+2022/08/06 | 572 | graphics/asymptote/LspCpp/third_party/uri/test/invalid_urls.txt
+2022/08/06 | 572 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/config.hpp
+2022/08/06 | 572 | graphics/asymptote/examples/curvedlabel3.asy
+2022/08/06 | 5712 | graphics/asymptote/bezierpatch.h
+2022/08/06 | 5705 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-outfiles-test.py
+2022/08/06 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
+2022/08/06 | 5691 | graphics/asymptote/name.h
+2022/08/06 | 5689 | graphics/asymptote/interact.cc
+2022/08/06 | 5683 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTING.md
+2022/08/06 | 566 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/highlight.h
+2022/08/06 | 565 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateAccessors.h
+2022/08/06 | 5658 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test.py
+2022/08/06 | 563 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+2022/08/06 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
+2022/08/06 | 5621 | graphics/asymptote/errormsg.h
+2022/08/06 | 561 | graphics/asymptote/LspCpp/third_party/rapidjson/package.json
+2022/08/06 | 55991 | graphics/asymptote/base/smoothcontour3.asy
+2022/08/06 | 5595 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest_.cc
+2022/08/06 | 558 | graphics/asymptote/examples/floatingdisk.asy
+2022/08/06 | 557 | graphics/asymptote/examples/Pythagoras.asy
+2022/08/06 | 5578 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp
+2022/08/06 | 55726 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
+2022/08/06 | 5544 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/stringbuffertest.cpp
+2022/08/06 | 5542 | graphics/asymptote/drawpath3.cc
+2022/08/06 | 5537 | graphics/asymptote/examples/cpkcolors.asy
+2022/08/06 | 5531 | graphics/asymptote/examples/filesurface.dat
+2022/08/06 | 5521 | graphics/asymptote/base/rational.asy
+2022/08/06 | 54 | graphics/asymptote/tests/gc/funcall.asy
+2022/08/06 | 54963 | graphics/asymptote/settings.cc
+2022/08/06 | 548 | graphics/asymptote/v3dtypes.h
+2022/08/06 | 548 | graphics/asymptote/examples/equilchord.asy
+2022/08/06 | 548 | graphics/asymptote/cudareflect/Makefile
+2022/08/06 | 547 | graphics/asymptote/examples/tetra.asy
+2022/08/06 | 5441 | graphics/asymptote/env.cc
+2022/08/06 | 5419 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/istreamwrappertest.cpp
+2022/08/06 | 5415 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfiles_test.py
+2022/08/06 | 54109 | graphics/asymptote/LspCpp/src/jsonrpc/optional.hpp
+2022/08/06 | 54109 | graphics/asymptote/LspCpp/include/optional.hpp
+2022/08/06 | 5375 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3-inl.h
+2022/08/06 | 5360 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3_unittest.cc
+2022/08/06 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
+2022/08/06 | 5350 | graphics/asymptote/LspCpp/src/lsp/working_files.cpp
+2022/08/06 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
+2022/08/06 | 53373 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-more-actions_test.cc
+2022/08/06 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
+2022/08/06 | 5319 | graphics/asymptote/LspCpp/third_party/uri/test/uri_encoding_test.cpp
+2022/08/06 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
+2022/08/06 | 5308 | graphics/asymptote/pair.h
+2022/08/06 | 52 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass2.json
+2022/08/06 | 52 | graphics/asymptote/doc/square.asy
+2022/08/06 | 5279 | graphics/asymptote/base/bsp.asy
+2022/08/06 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
+2022/08/06 | 5272 | graphics/asymptote/GUI/labelEditor.py
+2022/08/06 | 5265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-message-test.cc
+2022/08/06 | 5265 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/tutorial.cpp
+2022/08/06 | 5262 | graphics/asymptote/patches/bison.patch
+2022/08/06 | 5262 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-cardinalities.cc
+2022/08/06 | 525 | graphics/asymptote/examples/vectorfield3.asy
+2022/08/06 | 5259 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.png
+2022/08/06 | 5254 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest.py
+2022/08/06 | 5250 | graphics/asymptote/pipestream.cc
+2022/08/06 | 524 | graphics/asymptote/doc/brokenaxis.asy
+2022/08/06 | 5238 | graphics/asymptote/base/animation.asy
+2022/08/06 | 5221 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview.dox
+2022/08/06 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
+2022/08/06 | 5216 | graphics/asymptote/examples/mosaic.asy
+2022/08/06 | 520 | graphics/asymptote/examples/smoothelevation.asy
+2022/08/06 | 5204 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-bazel.md
+2022/08/06 | 5203 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial.dox
+2022/08/06 | 5202 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.dox
+2022/08/06 | 519 | graphics/asymptote/examples/extrudedcontour.asy
+2022/08/06 | 5196 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.dox
+2022/08/06 | 518 | graphics/asymptote/doc/CDlabel.asy
+2022/08/06 | 5183 | graphics/asymptote/stm.h
+2022/08/06 | 51671 | graphics/asymptote/prc/oPRCFile.h
+2022/08/06 | 5152 | graphics/asymptote/LspCpp/third_party/rapidjson/license.txt
+2022/08/06 | 5150 | graphics/asymptote/LspCpp/third_party/rapidjson/example/parsebyparts/parsebyparts.cpp
+2022/08/06 | 514 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateToString.h
+2022/08/06 | 513 | graphics/asymptote/examples/buildcycle.asy
+2022/08/06 | 51302 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-actions_test.cc
+2022/08/06 | 5115 | graphics/asymptote/memory.h
+2022/08/06 | 5111 | graphics/asymptote/runsystem.in
+2022/08/06 | 5111 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1_unittest.cc
+2022/08/06 | 510 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/README.md
+2022/08/06 | 50 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail18.json
+2022/08/06 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
+2022/08/06 | 50 | graphics/asymptote/base/babel.asy
+2022/08/06 | 509 | graphics/asymptote/examples/dimension.asy
+2022/08/06 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
+2022/08/06 | 50934 | graphics/asymptote/runarray.in
+2022/08/06 | 506 | graphics/asymptote/examples/delu.asy
+2022/08/06 | 5064 | graphics/asymptote/runhistory.in
+2022/08/06 | 506313 | graphics/asymptote/libatomic_ops-7.6.12.tar.gz
+2022/08/06 | 5062 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/pkgconfig.md
+2022/08/06 | 5054 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-cmake.md
+2022/08/06 | 504 | graphics/asymptote/absyn.cc
+2022/08/06 | 50437 | graphics/asymptote/gsl.cc
+2022/08/06 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
+2022/08/06 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
+2022/08/06 | 500 | graphics/asymptote/examples/floor.asy
+2022/08/06 | 500 | graphics/asymptote/doc/Hobbydir.asy
+2022/08/06 | 5005 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
+2022/08/06 | 4 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail29.json
+2022/08/06 | 49 | graphics/asymptote/doc/quartercircle.asy
+2022/08/06 | 49 | graphics/asymptote/doc/dots.asy
+2022/08/06 | 49 | graphics/asymptote/doc/colons.asy
+2022/08/06 | 499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/libgtest.la.in
+2022/08/06 | 499 | graphics/asymptote/examples/galleon.asy
+2022/08/06 | 4992 | graphics/asymptote/base/tube.asy
+2022/08/06 | 498 | graphics/asymptote/examples/fano.asy
+2022/08/06 | 498 | graphics/asymptote/doc/penfunctionimage.asy
+2022/08/06 | 4985 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample10_unittest.cc
+2022/08/06 | 4979 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkey/filterkey.cpp
+2022/08/06 | 496 | graphics/asymptote/examples/bars3.asy
+2022/08/06 | 495 | graphics/asymptote/examples/cones.asy
+2022/08/06 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
+2022/08/06 | 494 | graphics/asymptote/drawgrestore.h
+2022/08/06 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
+2022/08/06 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
+2022/08/06 | 4925 | graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
+2022/08/06 | 491 | graphics/asymptote/LspCpp/third_party/rapidjson/test/CMakeLists.txt
+2022/08/06 | 4919 | graphics/asymptote/process.h
+2022/08/06 | 490 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/type_definition.h
+2022/08/06 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
+2022/08/06 | 489 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCompletionItem.h
+2022/08/06 | 4899 | graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
+2022/08/06 | 4896 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test.py
+2022/08/06 | 4895 | graphics/asymptote/fundec.h
+2022/08/06 | 488 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/implementation.h
+2022/08/06 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
+2022/08/06 | 487 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
+2022/08/06 | 4873 | graphics/asymptote/parser.cc
+2022/08/06 | 4866 | graphics/asymptote/fileio.cc
+2022/08/06 | 4862 | graphics/asymptote/drawpath.cc
+2022/08/06 | 485 | graphics/asymptote/examples/cards.asy
+2022/08/06 | 4853 | graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
+2022/08/06 | 48481 | graphics/asymptote/prc/writePRC.h
+2022/08/06 | 48441 | graphics/asymptote/config.guess
+2022/08/06 | 4841 | graphics/asymptote/tests/array/slice.asy
+2022/08/06 | 483 | graphics/asymptote/LspCpp/third_party/uri/test/string_utility.hpp
+2022/08/06 | 482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialized.h
+2022/08/06 | 4822 | graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
+2022/08/06 | 4811 | graphics/asymptote/base/x11colors.asy
+2022/08/06 | 480 | graphics/asymptote/doc/logimage.asy
+2022/08/06 | 4809 | graphics/asymptote/examples/interpolate1.asy
+2022/08/06 | 4807 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-port.h
+2022/08/06 | 4805 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.zh-cn.md
+2022/08/06 | 479 | graphics/asymptote/examples/magnetic.asy
+2022/08/06 | 47993 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test-test.cc
+2022/08/06 | 4787 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/README.md
+2022/08/06 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
+2022/08/06 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
+2022/08/06 | 47582 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-port.cc
+2022/08/06 | 475798 | graphics/asymptote/doc/png/asymptote.info
+2022/08/06 | 4753 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/jsoncheckertest.cpp
+2022/08/06 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
+2022/08/06 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
+2022/08/06 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
+2022/08/06 | 4735 | graphics/asymptote/array.cc
+2022/08/06 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
+2022/08/06 | 472 | graphics/asymptote/examples/colorplanes.asy
+2022/08/06 | 4727 | graphics/asymptote/doc/westnile.csv
+2022/08/06 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
+2022/08/06 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
+2022/08/06 | 469 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfigVersion.cmake.in
+2022/08/06 | 4688 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
+2022/08/06 | 46854 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-internal-inl.h
+2022/08/06 | 4668 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest_.cc
+2022/08/06 | 465 | graphics/asymptote/LspCpp/src/jsonrpc/threaded_queue.cpp
+2022/08/06 | 46531 | graphics/asymptote/base/plain_picture.asy
+2022/08/06 | 464 | graphics/asymptote/drawgsave.h
+2022/08/06 | 464 | graphics/asymptote/doc/GaussianSurface.asy
+2022/08/06 | 463 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json
+2022/08/06 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
+2022/08/06 | 4629 | graphics/asymptote/castop.h
+2022/08/06 | 4626 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp
+2022/08/06 | 4620 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample7_unittest.cc
+2022/08/06 | 4613 | graphics/asymptote/LspCpp/third_party/uri/deps/README.md
+2022/08/06 | 460 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Cancellation.h
+2022/08/06 | 460 | graphics/asymptote/examples/lever.asy
+2022/08/06 | 460 | graphics/asymptote/examples/cosaddition.asy
+2022/08/06 | 4608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/format.json
+2022/08/06 | 4602 | graphics/asymptote/util.h
+2022/08/06 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
+2022/08/06 | 459 | graphics/asymptote/examples/hierarchy.asy
+2022/08/06 | 4597 | graphics/asymptote/drawfill.cc
+2022/08/06 | 4590 | graphics/asymptote/LspCpp/third_party/rapidjson/example/serialize/serialize.cpp
+2022/08/06 | 458 | graphics/asymptote/doc/multicontour.asy
+2022/08/06 | 4580 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageIssue.h
+2022/08/06 | 457 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/link.txt
+2022/08/06 | 4578 | graphics/asymptote/LspCpp/include/LibLsp/lsp/IProgressMonitor.h
+2022/08/06 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
+2022/08/06 | 4570 | graphics/asymptote/env.h
+2022/08/06 | 454 | graphics/asymptote/EXRFiles.h
+2022/08/06 | 45411 | graphics/asymptote/fftw++.h
2022/08/06 | 45360 | systems/texlive/tlnet/archive/texlogsieve.r64060.tar.xz
-2022/08/06 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/08/06 | 4531 | graphics/asymptote/webgl/fragment.glsl
+2022/08/06 | 4520 | graphics/asymptote/getopt1.c
+2022/08/06 | 4514 | graphics/asymptote/bbox.h
+2022/08/06 | 45070 | systems/texlive/tlnet/tlpkg/installer/wtestopenfiles.exe
+2022/08/06 | 449 | graphics/asymptote/tests/arith/pair.asy
+2022/08/06 | 4487 | graphics/asymptote/base/plain_shipout.asy
+2022/08/06 | 4481 | graphics/asymptote/v3dfile.h
+2022/08/06 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
+2022/08/06 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
+2022/08/06 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/mergesort.cpp
+2022/08/06 | 4465 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/future.hpp
+2022/08/06 | 44634 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.png
+2022/08/06 | 445 | graphics/asymptote/examples/sacone.asy
+2022/08/06 | 445 | graphics/asymptote/cudareflect/kernel.h
+2022/08/06 | 4456 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/platformtest.cpp
+2022/08/06 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
+2022/08/06 | 4438 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+2022/08/06 | 442 | graphics/asymptote/doc/join3.asy
+2022/08/06 | 4420 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/bigintegertest.cpp
+2022/08/06 | 441 | graphics/asymptote/examples/triangles.asy
+2022/08/06 | 441 | graphics/asymptote/doc/histogram.asy
+2022/08/06 | 43 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean_target.cmake
+2022/08/06 | 43 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail13.json
+2022/08/06 | 43 | graphics/asymptote/examples/spring2.asy
+2022/08/06 | 439 | graphics/asymptote/examples/gamma.asy
+2022/08/06 | 4396 | graphics/asymptote/LspCpp/src/jsonrpc/StreamMessageProducer.cpp
+2022/08/06 | 4389 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/filestreamtest.cpp
+2022/08/06 | 4385 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/ref.json
2022/08/06 | 438549 | systems/win32/miktex/tm/packages/wrapstuff__doc.tar.lzma
+2022/08/06 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
+2022/08/06 | 43830 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/testing.md
+2022/08/06 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
2022/08/06 | 437732 | systems/texlive/tlnet/archive/wrapstuff.doc.r64058.tar.xz
-2022/08/06 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/08/06 | 43528 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/08/06 | 419224 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64053.tar.xz
-2022/08/06 | 41190 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/08/06 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/08/06 | 394144 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/08/06 | 37507 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/08/06 | 37051 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/08/06 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/08/06 | 352464 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/08/06 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/08/06 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/08/06 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/08/06 | 325484 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/08/06 | 32075 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/08/06 | 31586 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/08/06 | 31562 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/08/06 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/08/06 | 295945 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/08/06 | 288549 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/08/06 | 288531 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/08/06 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/08/06 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/08/06 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/08/06 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/08/06 | 270467 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/08/06 | 4375 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/draft-04/schema
+2022/08/06 | 4371 | graphics/asymptote/cudareflect/kernel.cu
+2022/08/06 | 436 | graphics/asymptote/examples/colorpatch.asy
+2022/08/06 | 43670 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.png
+2022/08/06 | 4366 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/ref.json
+2022/08/06 | 4357 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test.py
+2022/08/06 | 4348 | graphics/asymptote/doc/colo-asy.tex
+2022/08/06 | 4347 | graphics/asymptote/LspCpp/third_party/uri/test/optional_test.cpp
+2022/08/06 | 4345 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/task_adaptors.hpp
+2022/08/06 | 433 | graphics/asymptote/examples/twoSpheres.asy
+2022/08/06 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
+2022/08/06 | 43335 | graphics/asymptote/examples/100d.pdb1
+2022/08/06 | 430 | graphics/asymptote/examples/unitoctant.asy
+2022/08/06 | 42 | graphics/asymptote/base/animate.asy
+2022/08/06 | 428 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/symbol.h
+2022/08/06 | 4286 | graphics/asymptote/asy.ico
+2022/08/06 | 4285 | graphics/asymptote/newexp.cc
+2022/08/06 | 4283 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_premature_exit_test.cc
+2022/08/06 | 42828 | graphics/asymptote/picture.cc
+2022/08/06 | 427 | graphics/asymptote/examples/projectrevolution.asy
+2022/08/06 | 42714 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test-golden-lin.txt
+2022/08/06 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
+2022/08/06 | 426 | graphics/asymptote/doc/grid3xyz.asy
+2022/08/06 | 4265 | graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
+2022/08/06 | 4256 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strtodtest.cpp
+2022/08/06 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
+2022/08/06 | 424 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentIdentifier.h
+2022/08/06 | 424 | graphics/asymptote/examples/spiral3.asy
+2022/08/06 | 4247 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/prime_tables.h
+2022/08/06 | 4244 | graphics/asymptote/examples/fin.asy
+2022/08/06 | 4242 | graphics/asymptote/tests/types/keyword.asy
+2022/08/06 | 423 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
+2022/08/06 | 423 | graphics/asymptote/doc/log2graph.asy
+2022/08/06 | 423 | graphics/asymptote/doc/helix.asy
+2022/08/06 | 4230 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.svg
+2022/08/06 | 422 | graphics/asymptote/v3dtypes.csv
+2022/08/06 | 4227 | graphics/asymptote/LspCpp/third_party/uri/src/uri_builder.cpp
+2022/08/06 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
+2022/08/06 | 4209 | graphics/asymptote/flatguide.h
+2022/08/06 | 4207 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port-arch.h
+2022/08/06 | 4202 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/guids.json
+2022/08/06 | 41 | graphics/asymptote/doc/bigdiagonal.asy
+2022/08/06 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
+2022/08/06 | 419 | graphics/asymptote/examples/torus.asy
+2022/08/06 | 419 | graphics/asymptote/base/shaders/compress.glsl
+2022/08/06 | 4199 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
+2022/08/06 | 418 | graphics/asymptote/examples/planeproject.asy
+2022/08/06 | 417 | graphics/asymptote/doc/knots.asy
+2022/08/06 | 4173 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test.py
+2022/08/06 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
+2022/08/06 | 416 | graphics/asymptote/doc/bezier2.asy
+2022/08/06 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
+2022/08/06 | 4160 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/linux-presubmit.sh
+2022/08/06 | 415 | graphics/asymptote/doc/linetype.asy
+2022/08/06 | 4158 | graphics/asymptote/examples/advection.asy
+2022/08/06 | 4156 | graphics/asymptote/runpair.in
+2022/08/06 | 41517 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.png
+2022/08/06 | 414 | graphics/asymptote/examples/animations/glmovie.asy
+2022/08/06 | 413 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
+2022/08/06 | 4126 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-test-part.cc
+2022/08/06 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
+2022/08/06 | 4118 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lru_cache.h
+2022/08/06 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
+2022/08/06 | 410 | graphics/asymptote/examples/Sierpinski.asy
+2022/08/06 | 40 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail32.json
+2022/08/06 | 40998 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.cc
+2022/08/06 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
+2022/08/06 | 4088 | graphics/asymptote/base/plain_boxes.asy
+2022/08/06 | 40876 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-port-test.cc
+2022/08/06 | 4084 | graphics/asymptote/GUI/xasyFile.py
+2022/08/06 | 407 | graphics/asymptote/examples/parametricsurface.asy
+2022/08/06 | 407 | graphics/asymptote/examples/BezierPatch.asy
+2022/08/06 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
+2022/08/06 | 4072 | graphics/asymptote/tests/types/order.asy
+2022/08/06 | 4067 | graphics/asymptote/doc/diatom.csv
+2022/08/06 | 40665 | graphics/asymptote/examples/tvgen.asy
+2022/08/06 | 4061 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/istreamwrapper.h
+2022/08/06 | 401 | graphics/asymptote/doc/image.asy
+2022/08/06 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
+2022/08/06 | 4013 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/fwd.h
+2022/08/06 | 400 | graphics/asymptote/examples/sacylinder.asy
+2022/08/06 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
+2022/08/06 | 39 | graphics/asymptote/base/nopapersize.ps
+2022/08/06 | 398 | graphics/asymptote/examples/epix.asy
+2022/08/06 | 3979 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.h
+2022/08/06 | 3972 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stringbuffer.h
+2022/08/06 | 396 | graphics/asymptote/doc/triangulate.asy
+2022/08/06 | 396 | graphics/asymptote/doc/legend.asy
+2022/08/06 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
+2022/08/06 | 395983 | graphics/asymptote/doc/asymptote.texi
+2022/08/06 | 3956 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/itoatest.cpp
+2022/08/06 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
+2022/08/06 | 393 | graphics/asymptote/GUI/setup.py
+2022/08/06 | 3936 | graphics/asymptote/base/interpolate.asy
+2022/08/06 | 3917 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2_unittest.cc
+2022/08/06 | 3917 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/Markup.h
+2022/08/06 | 3912 | graphics/asymptote/tr.h
+2022/08/06 | 390 | graphics/asymptote/doc/tile.asy
+2022/08/06 | 38 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail26.json
+2022/08/06 | 38 | graphics/asymptote/examples/spring0.asy
+2022/08/06 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
+2022/08/06 | 3870 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_path_test.cpp
+2022/08/06 | 3857 | graphics/asymptote/examples/pipes.asy
+2022/08/06 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json
+2022/08/06 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json
+2022/08/06 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
+2022/08/06 | 384 | graphics/asymptote/Delaunay.h
+2022/08/06 | 3842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_assert_by_exception_test.cc
+2022/08/06 | 383 | graphics/asymptote/tests/arith/real.asy
+2022/08/06 | 383 | graphics/asymptote/examples/Gouraud.asy
+2022/08/06 | 3834 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
+2022/08/06 | 382 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/buildWorkspace.h
+2022/08/06 | 382 | graphics/asymptote/doc/loggrid.asy
+2022/08/06 | 37 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail3.json
+2022/08/06 | 37991 | graphics/asymptote/path3.cc
+2022/08/06 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
+2022/08/06 | 378 | graphics/asymptote/examples/sinxlex.asy
+2022/08/06 | 378 | graphics/asymptote/doc/icon.asy
+2022/08/06 | 37889 | graphics/asymptote/exp.cc
+2022/08/06 | 3780 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-typed-test.cc
+2022/08/06 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
+2022/08/06 | 376 | graphics/asymptote/doc/generalaxis3.asy
+2022/08/06 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
+2022/08/06 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
+2022/08/06 | 3767 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_macro_stack_footprint_test.cc
+2022/08/06 | 3765 | graphics/asymptote/prc/PRCdouble.h
+2022/08/06 | 375 | graphics/asymptote/examples/AiryDisk.asy
+2022/08/06 | 374 | graphics/asymptote/doc/monthaxis.asy
+2022/08/06 | 373 | graphics/asymptote/examples/projectelevation.asy
+2022/08/06 | 373 | graphics/asymptote/doc/lineargraph.asy
+2022/08/06 | 3739 | graphics/asymptote/examples/xstitch.asy
+2022/08/06 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
+2022/08/06 | 3733 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
+2022/08/06 | 3731 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
+2022/08/06 | 37281 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.png
+2022/08/06 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-matchers.cc
+2022/08/06 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock.h
+2022/08/06 | 3723 | graphics/asymptote/LspCpp/third_party/threadpool/CHANGE_LOG
+2022/08/06 | 3719 | graphics/asymptote/base/three_light.asy
+2022/08/06 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
+2022/08/06 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16lebom.json
+2022/08/06 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16bebom.json
+2022/08/06 | 3706 | graphics/asymptote/base/plain_constants.asy
+2022/08/06 | 3704 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test_.cc
+2022/08/06 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
+2022/08/06 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16le.json
+2022/08/06 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16be.json
+2022/08/06 | 3676 | graphics/asymptote/constructor.cc
+2022/08/06 | 366 | graphics/asymptote/doc/lineargraph0.asy
+2022/08/06 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
+2022/08/06 | 36540 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-printers.h
+2022/08/06 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
+2022/08/06 | 3640 | graphics/asymptote/bbox3.h
+2022/08/06 | 363 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/npm.md
+2022/08/06 | 36371 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.png
+2022/08/06 | 3634 | graphics/asymptote/GLTextures.h
+2022/08/06 | 362 | graphics/asymptote/examples/pipeintersection.asy
+2022/08/06 | 36243 | graphics/asymptote/prc/test.cc
+2022/08/06 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
+2022/08/06 | 361 | graphics/asymptote/examples/phase.asy
+2022/08/06 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
+2022/08/06 | 36152 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test_.cc
+2022/08/06 | 360 | graphics/asymptote/examples/washer.asy
+2022/08/06 | 3601 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test_ex_test.cc
+2022/08/06 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
+2022/08/06 | 35 | graphics/asymptote/base/fontsize.asy
+2022/08/06 | 3597 | graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
+2022/08/06 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
+2022/08/06 | 357 | graphics/asymptote/doc/irregularcontour.asy
+2022/08/06 | 3574 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/pow10.h
+2022/08/06 | 3567 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.h
+2022/08/06 | 355 | graphics/asymptote/LspCpp/third_party/rapidjson/library.json
+2022/08/06 | 355 | graphics/asymptote/doc/scaledgraph.asy
+2022/08/06 | 3556 | graphics/asymptote/build-scripts/build-asymptote.dos
+2022/08/06 | 3553 | graphics/asymptote/shaders.cc
+2022/08/06 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest_main.pc.in
+2022/08/06 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock_main.pc.in
+2022/08/06 | 354 | graphics/asymptote/doc/reloadpdf.tex
+2022/08/06 | 354 | graphics/asymptote/doc/planes.asy
+2022/08/06 | 354 | graphics/asymptote/base/pstoedit.asy
+2022/08/06 | 35467 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/misctest.cpp
+2022/08/06 | 352 | graphics/asymptote/examples/cylinder.asy
+2022/08/06 | 35217 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-param-util.h
+2022/08/06 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
+2022/08/06 | 3517 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp_test.cc
+2022/08/06 | 35147 | graphics/asymptote/LICENSE
+2022/08/06 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail17.json
+2022/08/06 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail15.json
+2022/08/06 | 34 | graphics/asymptote/examples/teapotIBL.asy
+2022/08/06 | 34 | graphics/asymptote/autogen.sh
+2022/08/06 | 349 | graphics/asymptote/examples/logdown.asy
+2022/08/06 | 348 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ParentProcessWatcher.h
+2022/08/06 | 348 | graphics/asymptote/examples/RiemannSurface.asy
+2022/08/06 | 347 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock.pc.in
+2022/08/06 | 3472 | graphics/asymptote/picture.h
+2022/08/06 | 3467 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/webapp.json
+2022/08/06 | 3466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest_.cc
+2022/08/06 | 345 | graphics/asymptote/examples/rainbow.asy
+2022/08/06 | 3441 | graphics/asymptote/rounding.h
+2022/08/06 | 3441 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/dtoatest.cpp
+2022/08/06 | 343 | graphics/asymptote/doc/externalprc.tex
+2022/08/06 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
+2022/08/06 | 342 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/community_created_documentation.md
+2022/08/06 | 342 | graphics/asymptote/lexical.h
+2022/08/06 | 341 | graphics/asymptote/examples/slidedemo_.bbl
+2022/08/06 | 341 | graphics/asymptote/examples/sacylinder3D.asy
+2022/08/06 | 341 | graphics/asymptote/doc/subpictures.asy
+2022/08/06 | 3419 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-matchers.h
+2022/08/06 | 3418 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
+2022/08/06 | 3407 | graphics/asymptote/LspCpp/third_party/rapidjson/rapidjson.autopkg
+2022/08/06 | 33 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail22.json
+2022/08/06 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
+2022/08/06 | 3392 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_throw_on_failure_ex_test.cc
+2022/08/06 | 3391 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
+2022/08/06 | 33764 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/paragraphs.json
+2022/08/06 | 3375 | graphics/asymptote/tests/types/guide.asy
+2022/08/06 | 3374 | graphics/asymptote/base/roundedpath.asy
+2022/08/06 | 33695 | graphics/asymptote/LspCpp/src/lsp/Markup.cpp
+2022/08/06 | 33667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-function-mocker_test.cc
+2022/08/06 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json
+2022/08/06 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json
+2022/08/06 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
+2022/08/06 | 3358 | graphics/asymptote/examples/slidedemo.asy
+2022/08/06 | 33482 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-spec-builders.cc
+2022/08/06 | 3346 | graphics/asymptote/base/shaders/blend.glsl
+2022/08/06 | 33417 | graphics/asymptote/path.cc
+2022/08/06 | 333 | graphics/asymptote/doc/asy.1.end
+2022/08/06 | 3335 | graphics/asymptote/examples/pdb.asy
+2022/08/06 | 33275 | graphics/asymptote/LspCpp/third_party/uri/test/uri_test.cpp
+2022/08/06 | 33240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-matchers.h
+2022/08/06 | 3306 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
+2022/08/06 | 32 | graphics/asymptote/LspCpp/third_party/threadpool/Jamrules
+2022/08/06 | 32 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail21.json
+2022/08/06 | 3298 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
+2022/08/06 | 3297 | graphics/asymptote/access.cc
+2022/08/06 | 3295 | graphics/asymptote/stack.h
+2022/08/06 | 3294 | graphics/asymptote/LspCpp/third_party/rapidjson/travis-doxygen.sh
+2022/08/06 | 3294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
+2022/08/06 | 32887 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.png
+2022/08/06 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
+2022/08/06 | 3282 | graphics/asymptote/LspCpp/third_party/uri/CMakeLists.txt
+2022/08/06 | 3280 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_ex_test.cc
+2022/08/06 | 327 | graphics/asymptote/examples/sin1x.asy
+2022/08/06 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
+2022/08/06 | 3278 | graphics/asymptote/base/obj.asy
+2022/08/06 | 326 | graphics/asymptote/examples/polardatagraph.asy
+2022/08/06 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
+2022/08/06 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
+2022/08/06 | 3266 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/BUILD.bazel
+2022/08/06 | 3265 | graphics/asymptote/program.cc
+2022/08/06 | 325 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
+2022/08/06 | 325 | graphics/asymptote/examples/elevation.asy
+2022/08/06 | 324 | graphics/asymptote/doc/HermiteSpline.asy
+2022/08/06 | 3240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest_.cc
+2022/08/06 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
+2022/08/06 | 3230 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test_.cc
+2022/08/06 | 322 | graphics/asymptote/examples/unitcircle.asy
+2022/08/06 | 322 | graphics/asymptote/examples/cheese.asy
+2022/08/06 | 321 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/README
+2022/08/06 | 3219 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test_.cc
+2022/08/06 | 3218 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test_utils.py
+2022/08/06 | 321820 | graphics/asymptote/base/geometry.asy
+2022/08/06 | 320 | graphics/asymptote/runtriple.h
+2022/08/06 | 320 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/Move.h
+2022/08/06 | 3204 | graphics/asymptote/asymptote.spec
+2022/08/06 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail14.json
+2022/08/06 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail12.json
+2022/08/06 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
+2022/08/06 | 319 | graphics/asymptote/LspCpp/third_party/threadpool/Jamfile.v2
+2022/08/06 | 319 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8bom.json
+2022/08/06 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
+2022/08/06 | 3197 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest_.cc
+2022/08/06 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
+2022/08/06 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
+2022/08/06 | 316 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8.json
+2022/08/06 | 31609 | graphics/asymptote/config.sub
+2022/08/06 | 315 | graphics/asymptote/examples/hyperboloid.asy
+2022/08/06 | 3157 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
+2022/08/06 | 3153 | graphics/asymptote/genv.cc
+2022/08/06 | 314 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-generated-actions.h
+2022/08/06 | 314 | graphics/asymptote/doc/logticks.asy
+2022/08/06 | 314 | graphics/asymptote/base/graph_settings.asy
+2022/08/06 | 3139 | graphics/asymptote/LspCpp/third_party/uri/test/uri_comparison_test.cpp
+2022/08/06 | 3139 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/dependencies.json
+2022/08/06 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
+2022/08/06 | 31342 | graphics/asymptote/builtin.cc
+2022/08/06 | 312 | graphics/asymptote/examples/textpath.asy
+2022/08/06 | 3125 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filewritestream.h
+2022/08/06 | 3125 | graphics/asymptote/doc/latexusage.tex
+2022/08/06 | 311 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest.pc.in
+2022/08/06 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
+2022/08/06 | 309 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
+2022/08/06 | 30920 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-actions.h
+2022/08/06 | 308 | graphics/asymptote/tests/types/shadow.asy
+2022/08/06 | 308 | graphics/asymptote/tests/Makefile
+2022/08/06 | 308 | graphics/asymptote/examples/oneoverx.asy
+2022/08/06 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json
+2022/08/06 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json
+2022/08/06 | 306 | graphics/asymptote/doc/binarytreetest.asy
+2022/08/06 | 3069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test_.cc
+2022/08/06 | 30640 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/macro_map.h
+2022/08/06 | 3063 | graphics/asymptote/LspCpp/third_party/uri/src/detail/grammar.hpp
+2022/08/06 | 3060 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/CMakeLists.txt
+2022/08/06 | 303 | graphics/asymptote/examples/tensor.asy
+2022/08/06 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
+2022/08/06 | 3036 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
+2022/08/06 | 30307 | graphics/asymptote/exp.h
+2022/08/06 | 3025 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-assertion-result.cc
+2022/08/06 | 3025 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/allOf.json
+2022/08/06 | 3024 | graphics/asymptote/drawimage.h
+2022/08/06 | 3023 | graphics/asymptote/doc/Makefile.in
+2022/08/06 | 30208 | graphics/asymptote/prc/PRC.h
+2022/08/06 | 301 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/organizeImports.h
+2022/08/06 | 301 | graphics/asymptote/base/shaders/count.glsl
+2022/08/06 | 30147 | graphics/asymptote/getopt.c
+2022/08/06 | 3011 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock_main.cc
+2022/08/06 | 300 | graphics/asymptote/examples/strokepath.asy
+2022/08/06 | 3004 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
+2022/08/06 | 30003 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/alotofkeys.json
+2022/08/06 | 2 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/progress.marks
+2022/08/06 | 2 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/progress.marks
+2022/08/06 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail25.json
+2022/08/06 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail11.json
+2022/08/06 | 299 | graphics/asymptote/runpair.h
+2022/08/06 | 2996 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
+2022/08/06 | 29900 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/faq.md
+2022/08/06 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
+2022/08/06 | 2989 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/dependencies.json
+2022/08/06 | 2982 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.h
+2022/08/06 | 2980 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filereadstream.h
+2022/08/06 | 297 | graphics/asymptote/build-scripts/README-binaries
+2022/08/06 | 2979 | graphics/asymptote/doc/diatom.asy
+2022/08/06 | 2974 | graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
+2022/08/06 | 2973 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/ieee754.h
+2022/08/06 | 2964 | graphics/asymptote/access.h
+2022/08/06 | 2960 | graphics/asymptote/material.h
+2022/08/06 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
+2022/08/06 | 294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/classFileContents.h
+2022/08/06 | 294 | graphics/asymptote/guideflags.h
+2022/08/06 | 2948 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
+2022/08/06 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
+2022/08/06 | 293 | graphics/asymptote/doc/makepen.asy
+2022/08/06 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
+2022/08/06 | 293655 | graphics/asymptote/configure
+2022/08/06 | 2930 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/stream.h
+2022/08/06 | 29260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodings.h
+2022/08/06 | 29203 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_for_dummies.md
+2022/08/06 | 291 | graphics/asymptote/examples/trumpet.asy
+2022/08/06 | 2915 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_sass/main.scss
+2022/08/06 | 2913 | graphics/asymptote/LspCpp/src/lsp/ParentProcessWatcher.cpp
+2022/08/06 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
+2022/08/06 | 289 | graphics/asymptote/examples/jump.asy
+2022/08/06 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
+2022/08/06 | 289 | graphics/asymptote/base/res/notes.txt
+2022/08/06 | 288 | graphics/asymptote/examples/sacone3D.asy
+2022/08/06 | 288 | graphics/asymptote/doc/mexicanhat.asy
+2022/08/06 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/properties.json
+2022/08/06 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/properties.json
+2022/08/06 | 2880 | graphics/asymptote/drawgroup.h
+2022/08/06 | 287695 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-matchers_test.cc
+2022/08/06 | 284 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/Config.cmake.in
+2022/08/06 | 284 | graphics/asymptote/GUI/res/icons/text.svg
+2022/08/06 | 2845 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/json.h
+2022/08/06 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
+2022/08/06 | 28328 | graphics/asymptote/symbolmaps.h
+2022/08/06 | 2830 | graphics/asymptote/examples/alignedaxis.asy
+2022/08/06 | 2817 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/worker_thread.hpp
+2022/08/06 | 28158 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
+2022/08/06 | 2814 | graphics/asymptote/LspCpp/third_party/rapidjson/example/messagereader/messagereader.cpp
+2022/08/06 | 2813 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test2-test.cc
+2022/08/06 | 28114 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-internal-utils_test.cc
+2022/08/06 | 2800 | graphics/asymptote/doc/asycolors.sty
+2022/08/06 | 279 | graphics/asymptote/LspCpp/third_party/threadpool/README
+2022/08/06 | 279 | graphics/asymptote/doc/hatch.asy
+2022/08/06 | 27958 | graphics/asymptote/pen.h
+2022/08/06 | 27859 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/string_ref.h
+2022/08/06 | 277 | graphics/asymptote/LspCpp/src/jsonrpc/GCThreadContext.cpp
+2022/08/06 | 277 | graphics/asymptote/doc/generalaxis.asy
+2022/08/06 | 2776 | graphics/asymptote/symbol.h
+2022/08/06 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
+2022/08/06 | 2771 | graphics/asymptote/doc/pixel.pdf
+2022/08/06 | 276 | graphics/asymptote/tests/bench/6000circles.asy
+2022/08/06 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
+2022/08/06 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json
+2022/08/06 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json
+2022/08/06 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
+2022/08/06 | 2732 | graphics/asymptote/record.h
+2022/08/06 | 2731 | graphics/asymptote/tests/types/resolve.asy
+2022/08/06 | 2726 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strfunc.h
+2022/08/06 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
+2022/08/06 | 2707 | graphics/asymptote/settings.h
+2022/08/06 | 2707 | graphics/asymptote/runtriple.in
+2022/08/06 | 270497 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
+2022/08/06 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail7.json
+2022/08/06 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail6.json
+2022/08/06 | 26 | graphics/asymptote/doc/filegraph.dat
+2022/08/06 | 26 | graphics/asymptote/_config.yml
+2022/08/06 | 269 | graphics/asymptote/runmath.h
+2022/08/06 | 2697 | graphics/asymptote/table.h
+2022/08/06 | 268 | graphics/asymptote/base/asy-init.el
+2022/08/06 | 26856 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/writer.h
+2022/08/06 | 26844 | graphics/asymptote/runpath.cc
+2022/08/06 | 2682 | graphics/asymptote/LspCpp/third_party/uri/test/uri_reference_test.cpp
+2022/08/06 | 2680 | graphics/asymptote/examples/soccerball.asy
+2022/08/06 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
+2022/08/06 | 2675 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
+2022/08/06 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
+2022/08/06 | 2674 | graphics/asymptote/doc/markers1.asy
+2022/08/06 | 26693 | graphics/asymptote/dec.cc
+2022/08/06 | 2668 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_action.h
+2022/08/06 | 2662 | graphics/asymptote/LspCpp/third_party/rapidjson/appveyor.yml
+2022/08/06 | 2661 | graphics/asymptote/runbacktrace.cc
+2022/08/06 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
+2022/08/06 | 264 | graphics/asymptote/examples/labelbox.asy
+2022/08/06 | 264 | graphics/asymptote/examples/coag.asy
+2022/08/06 | 2649 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/future.hpp
+2022/08/06 | 2649 | graphics/asymptote/base/patterns.asy
+2022/08/06 | 2646 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorystream.h
+2022/08/06 | 2636 | graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
+2022/08/06 | 2632 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/semanticHighlighting.h
+2022/08/06 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
+2022/08/06 | 262 | graphics/asymptote/doc/loggraph.asy
+2022/08/06 | 2626 | graphics/asymptote/examples/worldmap.asy
+2022/08/06 | 2623 | graphics/asymptote/jsfile.h
+2022/08/06 | 261 | graphics/asymptote/doc/join.asy
+2022/08/06 | 261756 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_unittest.cc
+2022/08/06 | 2614 | graphics/asymptote/pipestream.h
+2022/08/06 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json
+2022/08/06 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json
+2022/08/06 | 26120 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/regex.h
+2022/08/06 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
+2022/08/06 | 2608 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/macos-presubmit.sh
+2022/08/06 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
+2022/08/06 | 2603 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
+2022/08/06 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
+2022/08/06 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/integer.json
+2022/08/06 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json
+2022/08/06 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
+2022/08/06 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
+2022/08/06 | 2591 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/extends.json
+2022/08/06 | 2578 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_scheme_test.cpp
+2022/08/06 | 2577 | graphics/asymptote/LspCpp/third_party/rapidjson/example/capitalize/capitalize.cpp
+2022/08/06 | 25701 | graphics/asymptote/runpath3d.cc
+2022/08/06 | 256 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/footer.html
+2022/08/06 | 256 | graphics/asymptote/doc/shadedtiling.asy
+2022/08/06 | 25651 | graphics/asymptote/bezierpatch.cc
+2022/08/06 | 2561 | graphics/asymptote/program.h
+2022/08/06 | 25599 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
2022/08/06 | 25584 | systems/texlive/tlnet/archive/projlib.source.r64056.tar.xz
-2022/08/06 | 25493435 | systems/texlive/tlnet/install-tl.zip
+2022/08/06 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
+2022/08/06 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
+2022/08/06 | 25503 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-function-mocker.h
+2022/08/06 | 254 | graphics/asymptote/examples/parametricelevation.asy
+2022/08/06 | 254 | graphics/asymptote/examples/contextfonts.asy
+2022/08/06 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
+2022/08/06 | 2542 | graphics/asymptote/policy.h
2022/08/06 | 25400 | systems/texlive/tlnet/archive/projlib.r64056.tar.xz
-2022/08/06 | 25117 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/08/06 | 247207 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/08/06 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/08/06 | 2539 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorybuffer.h
+2022/08/06 | 25357 | graphics/asymptote/base/lmfit.asy
+2022/08/06 | 2526 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
+2022/08/06 | 252536 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest.cc
+2022/08/06 | 2524 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
+2022/08/06 | 251 | graphics/asymptote/examples/triceratops.asy
+2022/08/06 | 251 | graphics/asymptote/base/metapost.asy
+2022/08/06 | 2518 | graphics/asymptote/prc/PRCbitStream.h
+2022/08/06 | 25154 | graphics/asymptote/doc/extra/intro.asy
+2022/08/06 | 2514 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
+2022/08/06 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
+2022/08/06 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
+2022/08/06 | 250 | graphics/asymptote/examples/transparentCubes.asy
+2022/08/06 | 2505 | graphics/asymptote/README
+2022/08/06 | 2505 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test_.cc
+2022/08/06 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
+2022/08/06 | 2505 | graphics/asymptote/binaries/i386-windows/README
+2022/08/06 | 2504 | graphics/asymptote/examples/mosquito.asy
+2022/08/06 | 24 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail5.json
+2022/08/06 | 24 | graphics/asymptote/doc/diagonal.asy
+2022/08/06 | 2499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_prod.h
+2022/08/06 | 2496 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test.py
+2022/08/06 | 2495 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test.py
+2022/08/06 | 2492 | graphics/asymptote/base/three_margins.asy
+2022/08/06 | 24924 | graphics/asymptote/examples/uhrturm.obj
+2022/08/06 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
+2022/08/06 | 2482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
+2022/08/06 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
+2022/08/06 | 2478 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
+2022/08/06 | 24784 | graphics/asymptote/symbolmaps.cc
+2022/08/06 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
+2022/08/06 | 2471 | graphics/asymptote/build-scripts/build-asymptote
+2022/08/06 | 24712 | graphics/asymptote/drawsurface.cc
+2022/08/06 | 2470 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.cc
+2022/08/06 | 246 | graphics/asymptote/doc/axis3.asy
+2022/08/06 | 245 | graphics/asymptote/examples/alignbox.asy
+2022/08/06 | 2459 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+2022/08/06 | 2451 | graphics/asymptote/base/labelpath3.asy
+2022/08/06 | 244 | graphics/asymptote/tests/arith/triple.asy
+2022/08/06 | 24483 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-output-unittest.py
+2022/08/06 | 24474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-listener-test.cc
+2022/08/06 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
+2022/08/06 | 243 | graphics/asymptote/doc/cube.asy
2022/08/06 | 24340 | systems/texlive/tlnet/archive/uni-titlepage.source.r64057.tar.xz
-2022/08/06 | 24211 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/08/06 | 2397004 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
-2022/08/06 | 23948 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/08/06 | 242 | graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
+2022/08/06 | 242 | graphics/asymptote/examples/equilateral.asy
+2022/08/06 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
+2022/08/06 | 242 | graphics/asymptote/BUGS
+2022/08/06 | 2424 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/WebSocketServer.h
+2022/08/06 | 241 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageProducer.h
+2022/08/06 | 241 | graphics/asymptote/cudareflect/common.h
+2022/08/06 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_check_output_test.py
+2022/08/06 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_json_test_utils.py
+2022/08/06 | 240 | graphics/asymptote/doc/parametricgraph.asy
+2022/08/06 | 2403 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_no_test_unittest.cc
+2022/08/06 | 2401 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/namespacetest.cpp
+2022/08/06 | 2400 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test.py
+2022/08/06 | 23 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail20.json
+2022/08/06 | 23 | graphics/asymptote/GUI/__init__.py
+2022/08/06 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
+2022/08/06 | 2396 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.h
+2022/08/06 | 2396 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/size_policies.hpp
+2022/08/06 | 23931 | graphics/asymptote/LspCpp/src/lsp/ProtocolJsonHandler.cpp
+2022/08/06 | 23904 | graphics/asymptote/process.cc
+2022/08/06 | 238 | graphics/asymptote/tests/TestLib.asy
+2022/08/06 | 238 | graphics/asymptote/GUI/xasyValidator.py
+2022/08/06 | 238 | graphics/asymptote/doc/filegraph.asy
+2022/08/06 | 2378 | graphics/asymptote/profile.py
+2022/08/06 | 23717 | graphics/asymptote/base/three_arrows.asy
+2022/08/06 | 236 | graphics/asymptote/tests/string/erase.asy
+2022/08/06 | 236 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Directory.h
+2022/08/06 | 236 | graphics/asymptote/examples/annotation.asy
+2022/08/06 | 2362 | graphics/asymptote/examples/spectrum.asy
+2022/08/06 | 235 | graphics/asymptote/examples/cos2theta.asy
+2022/08/06 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
+2022/08/06 | 23567 | graphics/asymptote/drawsurface.h
+2022/08/06 | 2355 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test.py
+2022/08/06 | 23507 | graphics/asymptote/LspCpp/src/lsp/lsp.cpp
+2022/08/06 | 234 | graphics/asymptote/doc/beziercurve.asy
+2022/08/06 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
+2022/08/06 | 233 | graphics/asymptote/examples/cardioid.asy
+2022/08/06 | 2335 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_all_test.cc
+2022/08/06 | 2328 | graphics/asymptote/virtualfieldaccess.h
+2022/08/06 | 2328 | graphics/asymptote/LspCpp/third_party/uri/README.rst
+2022/08/06 | 2319 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_layouts/default.html
+2022/08/06 | 2315 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp
+2022/08/06 | 2313 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
+2022/08/06 | 2310 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/ostreamwrapper.h
+2022/08/06 | 2310 | graphics/asymptote/base/plain_margins.asy
+2022/08/06 | 22 | graphics/asymptote/tests/output/line.asy
+2022/08/06 | 22 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/progress.make
+2022/08/06 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail9.json
+2022/08/06 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail19.json
+2022/08/06 | 22 | graphics/asymptote/GUI/configs/__init__.py
+2022/08/06 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSON.pc.in
+2022/08/06 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/docker/debian/Dockerfile
+2022/08/06 | 229 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
+2022/08/06 | 2295 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
+2022/08/06 | 22946 | graphics/asymptote/base/syzygy.asy
+2022/08/06 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
+2022/08/06 | 228 | graphics/asymptote/examples/circumcircle.asy
+2022/08/06 | 22873 | graphics/asymptote/examples/piicon.png
+2022/08/06 | 2286 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest_.cc
+2022/08/06 | 2282 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.h
+2022/08/06 | 2282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json
+2022/08/06 | 2281 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
+2022/08/06 | 2279 | graphics/asymptote/errormsg.cc
+2022/08/06 | 2277 | graphics/asymptote/base/texcolors.asy
+2022/08/06 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
+2022/08/06 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
+2022/08/06 | 2266 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/not.json
+2022/08/06 | 2266 | graphics/asymptote/align.h
+2022/08/06 | 22663 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-param-test.h
+2022/08/06 | 2265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test.py
+2022/08/06 | 22642 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filepath-test.cc
+2022/08/06 | 2260 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.cc
+2022/08/06 | 2260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h
+2022/08/06 | 2259 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplepullreader/simplepullreader.cpp
+2022/08/06 | 2257 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json
+2022/08/06 | 2257 | graphics/asymptote/LspCpp/include/LibLsp/lsp/windows/MessageNotify.h
+2022/08/06 | 22522 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
+2022/08/06 | 22505 | graphics/asymptote/LspCpp/third_party/uri/test/uri_builder_test.cpp
+2022/08/06 | 22502 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
+2022/08/06 | 224 | graphics/asymptote/tests/types/init.asy
+2022/08/06 | 2245 | graphics/asymptote/LspCpp/third_party/rapidjson/example/prettyauto/prettyauto.cpp
+2022/08/06 | 22426 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.md
+2022/08/06 | 223 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCodeLens.h
+2022/08/06 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
+2022/08/06 | 2239 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_all_test.cc
+2022/08/06 | 2239 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.dot
+2022/08/06 | 2239 | graphics/asymptote/build-scripts/HOWTO-MSWindows
+2022/08/06 | 22345 | graphics/asymptote/knot.cc
+2022/08/06 | 2230 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_environment_check_output_test.py
+2022/08/06 | 222 | graphics/asymptote/wce
+2022/08/06 | 222 | graphics/asymptote/examples/yingyang.asy
+2022/08/06 | 2223 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTORS
+2022/08/06 | 2222 | graphics/asymptote/tests/frames/loop.asy
+2022/08/06 | 221 | graphics/asymptote/LspCpp/third_party/threadpool/COPYING
2022/08/06 | 221848 | systems/texlive/tlnet/archive/xecjk.r64059.tar.xz
-2022/08/06 | 213847 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/08/06 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/08/06 | 20466577 | systems/texlive/tlnet/install-tl-windows.exe
-2022/08/06 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/08/06 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/08/06 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/08/06 | 18510 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/08/06 | 22121 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.md
+2022/08/06 | 2201 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-all.cc
+2022/08/06 | 219 | graphics/asymptote/doc/penimage.asy
+2022/08/06 | 219 | graphics/asymptote/doc/graphwithderiv.asy
+2022/08/06 | 21998 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri.hpp
+2022/08/06 | 21956 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.zh-cn.md
+2022/08/06 | 2194 | graphics/asymptote/locate.cc
+2022/08/06 | 2191 | graphics/asymptote/examples/splitpatch.asy
+2022/08/06 | 218 | graphics/asymptote/doc/datagraph.asy
+2022/08/06 | 2187 | graphics/asymptote/common.h
+2022/08/06 | 2187 | graphics/asymptote/base/plain_debugger.asy
+2022/08/06 | 21874 | graphics/asymptote/runmath.cc
+2022/08/06 | 217 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/GCThreadContext.h
+2022/08/06 | 2175 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_sole_header_test.cc
+2022/08/06 | 2175 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/LICENSE
+2022/08/06 | 2164 | graphics/asymptote/frame.h
+2022/08/06 | 21546 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.zh-cn.md
+2022/08/06 | 21535 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/assertions.md
+2022/08/06 | 2151 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+2022/08/06 | 21507 | graphics/asymptote/lspserv.cc
+2022/08/06 | 2149 | graphics/asymptote/LspCpp/include/LibLsp/lsp/working_files.h
+2022/08/06 | 2147 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_prod_test.cc
+2022/08/06 | 2146 | graphics/asymptote/abs3doutfile.h
+2022/08/06 | 21466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest.py
+2022/08/06 | 2144 | graphics/asymptote/LspCpp/src/jsonrpc/message.cpp
+2022/08/06 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
+2022/08/06 | 21448 | graphics/asymptote/base/feynman.asy
+2022/08/06 | 2143 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
+2022/08/06 | 2138 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test_.cc
+2022/08/06 | 2136 | graphics/asymptote/seconds.h
+2022/08/06 | 21360 | graphics/asymptote/fileio.h
+2022/08/06 | 2134 | graphics/asymptote/drawlabel.h
+2022/08/06 | 2132 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.h
+2022/08/06 | 2130 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.h
+2022/08/06 | 21279 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/documenttest.cpp
+2022/08/06 | 21276 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.md
+2022/08/06 | 2123 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
+2022/08/06 | 2122 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageJsonHandler.h
+2022/08/06 | 2115 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
+2022/08/06 | 2110 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.cc
+2022/08/06 | 210 | graphics/asymptote/examples/spiral.asy
+2022/08/06 | 210 | graphics/asymptote/build-scripts/asy-indent.el
+2022/08/06 | 2109 | graphics/asymptote/base/drawtree.asy
+2022/08/06 | 2107 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-all.cc
+2022/08/06 | 2104 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
+2022/08/06 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
+2022/08/06 | 2100 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm.hpp
+2022/08/06 | 20 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail23.json
+2022/08/06 | 20989 | graphics/asymptote/base/plain_bounds.asy
+2022/08/06 | 20974 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/mocking.md
+2022/08/06 | 2094 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-printers.h
+2022/08/06 | 209457 | graphics/asymptote/asy.list
+2022/08/06 | 20942 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
+2022/08/06 | 2088 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test_.cc
+2022/08/06 | 2088 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/locking_ptr.hpp
+2022/08/06 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
+2022/08/06 | 207 | graphics/asymptote/examples/triangle.asy
+2022/08/06 | 20796 | graphics/asymptote/runtime.in
+2022/08/06 | 207686 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-matchers.h
+2022/08/06 | 2073 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+2022/08/06 | 206 | graphics/asymptote/examples/log.asy
+2022/08/06 | 2069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_in_environment_setup_test.cc
+2022/08/06 | 206981 | graphics/asymptote/doc/asy-latex.pdf
+2022/08/06 | 20639 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest.py
+2022/08/06 | 205495 | graphics/asymptote/base/colormap.asy
+2022/08/06 | 2053 | graphics/asymptote/LspCpp/third_party/uri/test/test_uri.hpp
+2022/08/06 | 2045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/clzll.h
+2022/08/06 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
+2022/08/06 | 203 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
+2022/08/06 | 2035 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
+2022/08/06 | 2034 | graphics/asymptote/doc/elliptic.asy
+2022/08/06 | 2031 | graphics/asymptote/base/slopefield.asy
+2022/08/06 | 202 | graphics/asymptote/tests/frames/stat2.asy
+2022/08/06 | 202 | graphics/asymptote/glew.c
+2022/08/06 | 202 | graphics/asymptote/doc/exp.asy
+2022/08/06 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
+2022/08/06 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
+2022/08/06 | 20277 | graphics/asymptote/base/contour.asy
+2022/08/06 | 2023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test_.cc
+2022/08/06 | 2023 | graphics/asymptote/examples/slope.asy
+2022/08/06 | 2012 | graphics/asymptote/varinit.h
+2022/08/06 | 20123 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/matchers.md
+2022/08/06 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
+2022/08/06 | 20090 | graphics/asymptote/runpicture.in
+2022/08/06 | 2005 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_test.cc
+2022/08/06 | 20051 | graphics/asymptote/doc/asyRefCard.tex
+2022/08/06 | 2004 | graphics/asymptote/varinit.cc
+2022/08/06 | 20029 | graphics/asymptote/camp.y
+2022/08/06 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
+2022/08/06 | 2000 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/pool_adaptors.hpp
+2022/08/06 | 199 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/progress.make
+2022/08/06 | 199 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/Jamfile.v2
+2022/08/06 | 199 | graphics/asymptote/examples/upint.asy
+2022/08/06 | 199 | graphics/asymptote/examples/BezierTriangle.asy
+2022/08/06 | 19967 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.zh-cn.md
+2022/08/06 | 1995 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4_unittest.cc
+2022/08/06 | 198 | graphics/asymptote/examples/tanh.asy
+2022/08/06 | 198570 | graphics/asymptote/doc/CAD.pdf
+2022/08/06 | 1982 | graphics/asymptote/inst.h
+2022/08/06 | 1977 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-port_test.cc
+2022/08/06 | 1975 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/enum.json
+2022/08/06 | 1975 | graphics/asymptote/array.h
+2022/08/06 | 19752 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/uri.h
+2022/08/06 | 19729 | graphics/asymptote/base/plain_arrows.asy
+2022/08/06 | 196 | graphics/asymptote/examples/lowint.asy
+2022/08/06 | 196 | graphics/asymptote/examples/label3ribbon.asy
+2022/08/06 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
+2022/08/06 | 1968 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest_main.cc
+2022/08/06 | 1968 | graphics/asymptote/examples/mergeExample.asy
+2022/08/06 | 1964 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/enum.json
+2022/08/06 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/refRemote.json
+2022/08/06 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/refRemote.json
+2022/08/06 | 19604 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.h
+2022/08/06 | 195 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/example/mergesort/Jamfile.v2
+2022/08/06 | 19597 | graphics/asymptote/doc/external-proposal.html
+2022/08/06 | 1957 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/shutdown_policies.hpp
+2022/08/06 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile2_test_.cc
+2022/08/06 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile1_test_.cc
+2022/08/06 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test2_test.cc
+2022/08/06 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
+2022/08/06 | 1953 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-port.h
+2022/08/06 | 19511 | graphics/asymptote/psfile.cc
+2022/08/06 | 1950 | graphics/asymptote/cudareflect/utils.cuh
+2022/08/06 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
+2022/08/06 | 194 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/quickstart/Jamfile.v2
+2022/08/06 | 1949 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test_.cc
+2022/08/06 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
+2022/08/06 | 193 | graphics/asymptote/tests/gc/shipout.asy
+2022/08/06 | 193 | graphics/asymptote/tests/arith/random.asy
+2022/08/06 | 1936 | graphics/asymptote/refaccess.h
+2022/08/06 | 1936 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/disallow.json
+2022/08/06 | 19344 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodingstest.cpp
+2022/08/06 | 192 | graphics/asymptote/base/shaders/zero.glsl
+2022/08/06 | 1927 | graphics/asymptote/tests/array/fields.asy
+2022/08/06 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
+2022/08/06 | 1924 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
+2022/08/06 | 1923 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test_.cc
+2022/08/06 | 191 | graphics/asymptote/runpicture.h
+2022/08/06 | 1919 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.h
+2022/08/06 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
+2022/08/06 | 1918 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-matchers.h
+2022/08/06 | 1916 | graphics/asymptote/LspCpp/third_party/uri/src/uri_errors.cpp
+2022/08/06 | 1915 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.dot
+2022/08/06 | 19136 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/primer.md
+2022/08/06 | 1910 | graphics/asymptote/examples/linearregression.asy
+2022/08/06 | 190 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/tutorial/Jamfile.v2
+2022/08/06 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
+2022/08/06 | 18 | graphics/asymptote/tests/output/circle.asy
+2022/08/06 | 18 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_config.yml
+2022/08/06 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
+2022/08/06 | 1899 | graphics/asymptote/GUI/res/icons/social-python.svg
+2022/08/06 | 18994 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
+2022/08/06 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
+2022/08/06 | 1898 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+2022/08/06 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
+2022/08/06 | 188 | graphics/asymptote/runstring.h
+2022/08/06 | 188 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/cmake_clean.cmake
+2022/08/06 | 188 | graphics/asymptote/examples/transparency.asy
+2022/08/06 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
+2022/08/06 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
+2022/08/06 | 187 | graphics/asymptote/tests/string/rfind.asy
+2022/08/06 | 187 | graphics/asymptote/examples/label3solid.asy
+2022/08/06 | 1878 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test_.cc
+2022/08/06 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.cc
+2022/08/06 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link2_test.cc
+2022/08/06 | 1876 | graphics/asymptote/cc-mode2.el
+2022/08/06 | 1873 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-port.h
+2022/08/06 | 18739 | graphics/asymptote/runstring.cc
+2022/08/06 | 186 | graphics/asymptote/runpath3d.h
+2022/08/06 | 186 | graphics/asymptote/doc/unitcircle3.asy
+2022/08/06 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
+2022/08/06 | 1868 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplereader/simplereader.cpp
+2022/08/06 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
+2022/08/06 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
+2022/08/06 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
+2022/08/06 | 1858 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest.h
+2022/08/06 | 18578 | graphics/asymptote/application.cc
+2022/08/06 | 1851 | graphics/asymptote/drawclipbegin.h
+2022/08/06 | 184 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/index.html
+2022/08/06 | 184 | graphics/asymptote/examples/roll.asy
+2022/08/06 | 18474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-printers.cc
+2022/08/06 | 18448 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-internal-utils.h
+2022/08/06 | 1841 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_main_unittest.cc
+2022/08/06 | 183 | graphics/asymptote/build-scripts/cc-indent.el
2022/08/06 | 1838924 | systems/texlive/tlnet/archive/uni-titlepage.doc.r64057.tar.xz
-2022/08/06 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/08/06 | 181725 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/08/06 | 17575886 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/08/06 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/08/06 | 169679 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/08/06 | 18382 | graphics/asymptote/LspCpp/third_party/uri/src/uri.cpp
+2022/08/06 | 1835 | graphics/asymptote/examples/cyclohexane.asy
+2022/08/06 | 18327 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_test.cpp
+2022/08/06 | 1831 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/documentColor.h
+2022/08/06 | 1830 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+2022/08/06 | 182 | graphics/asymptote/tests/string/find.asy
+2022/08/06 | 182 | graphics/asymptote/examples/label3.asy
+2022/08/06 | 1828 | graphics/asymptote/beziercurve.cc
+2022/08/06 | 1814 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
+2022/08/06 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
+2022/08/06 | 18095 | graphics/asymptote/doc/asy-latex.dtx
+2022/08/06 | 1808 | graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
+2022/08/06 | 1808 | graphics/asymptote/GUI/res/icons.qrc
+2022/08/06 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
+2022/08/06 | 17 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail2.json
+2022/08/06 | 17993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
+2022/08/06 | 17987 | graphics/asymptote/entry.cc
+2022/08/06 | 17958 | graphics/asymptote/asy-keywords.el
+2022/08/06 | 17951 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-matchers.cc
+2022/08/06 | 17932 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/writertest.cpp
+2022/08/06 | 178 | graphics/asymptote/fftw++asy.cc
+2022/08/06 | 177 | graphics/asymptote/runpath.h
+2022/08/06 | 177 | graphics/asymptote/examples/curvedlabel.asy
+2022/08/06 | 17798 | graphics/asymptote/runfile.cc
+2022/08/06 | 1778 | graphics/asymptote/examples/conicurv.asy
+2022/08/06 | 1775 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.dot
+2022/08/06 | 1774 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RequestInMessage.h
+2022/08/06 | 17734 | graphics/asymptote/dec.h
+2022/08/06 | 177246 | graphics/asymptote/prc/PRCdouble.cc
+2022/08/06 | 176 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/makefile
+2022/08/06 | 176 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProtocolJsonHandler.h
+2022/08/06 | 1765 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/ScopeExit.h
+2022/08/06 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
+2022/08/06 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
+2022/08/06 | 175 | graphics/asymptote/examples/strokeshade.asy
+2022/08/06 | 17540 | graphics/asymptote/texfile.cc
+2022/08/06 | 1753 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/README.md
+2022/08/06 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
+2022/08/06 | 1752 | graphics/asymptote/base/shaders/sum3.glsl
+2022/08/06 | 1751 | graphics/asymptote/GUI/GuidesManager.py
+2022/08/06 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
+2022/08/06 | 1746 | graphics/asymptote/doc/westnile.asy
+2022/08/06 | 17405 | graphics/asymptote/configure.ac
+2022/08/06 | 173 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/readme.txt
+2022/08/06 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
+2022/08/06 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
+2022/08/06 | 1734 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
+2022/08/06 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
+2022/08/06 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
+2022/08/06 | 1732 | graphics/asymptote/GUI/res/icons/grid.svg
+2022/08/06 | 1728 | graphics/asymptote/webgl/vertex.glsl
+2022/08/06 | 17263 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/regextest.cpp
+2022/08/06 | 1710 | graphics/asymptote/tests/arith/roots.asy
+2022/08/06 | 1710 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_io.hpp
+2022/08/06 | 17088 | graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
+2022/08/06 | 1703 | graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
+2022/08/06 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail8.json
+2022/08/06 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail4.json
+2022/08/06 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail24.json
+2022/08/06 | 169 | graphics/asymptote/runbacktrace.h
+2022/08/06 | 1698 | graphics/asymptote/record.cc
+2022/08/06 | 1698 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/floats.json
+2022/08/06 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
+2022/08/06 | 1694 | graphics/asymptote/fftw++.cc
+2022/08/06 | 168 | graphics/asymptote/examples/lines.asy
+2022/08/06 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
+2022/08/06 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
+2022/08/06 | 1675 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.cc
+2022/08/06 | 1673 | graphics/asymptote/LspCpp/src/lsp/lsp_diagnostic.cpp
+2022/08/06 | 1673 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
+2022/08/06 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
+2022/08/06 | 16661 | graphics/asymptote/LspCpp/third_party/uri/src/Makefile
+2022/08/06 | 1665 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/foldingRange.h
+2022/08/06 | 1665 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Endpoint.h
2022/08/06 | 16635 | systems/win32/miktex/tm/packages/wrapstuff__source.tar.lzma
+2022/08/06 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
+2022/08/06 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
+2022/08/06 | 16569 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.png
+2022/08/06 | 16552 | graphics/asymptote/LspCpp/third_party/uri/include/network/optional.hpp
+2022/08/06 | 16492 | graphics/asymptote/base/plain_Label.asy
+2022/08/06 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
+2022/08/06 | 16483 | graphics/asymptote/runpair.cc
+2022/08/06 | 1640 | graphics/asymptote/callable.h
+2022/08/06 | 1640960 | graphics/asymptote/ChangeLog
+2022/08/06 | 163 | graphics/asymptote/examples/1overx.asy
2022/08/06 | 16376 | systems/texlive/tlnet/archive/wrapstuff.source.r64058.tar.xz
+2022/08/06 | 1630 | graphics/asymptote/builtin.h
+2022/08/06 | 16302 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/rapidjsontest.cpp
+2022/08/06 | 162 | graphics/asymptote/examples/stereoscopic.asy
+2022/08/06 | 162 | graphics/asymptote/examples/sphereskeleton.asy
+2022/08/06 | 1626 | graphics/asymptote/genv.h
2022/08/06 | 1622808 | systems/texlive/tlnet/archive/xecjk.doc.r64059.tar.xz
-2022/08/06 | 155431 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/08/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/08/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/08/06 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2022/08/06 | 1482144 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/08/06 | 1478524 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/08/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/08/06 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/08/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/08/06 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2022/08/06 | 140011 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/08/06 | 1362233 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/08/06 | 1361464 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2022/08/06 | 135465 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/08/06 | 1323745 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/08/06 | 1620 | graphics/asymptote/doc/colors.asy
+2022/08/06 | 161 | graphics/asymptote/runhistory.h
+2022/08/06 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
+2022/08/06 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
+2022/08/06 | 1617 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
+2022/08/06 | 1615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/colorPresentation.h
+2022/08/06 | 1612 | graphics/asymptote/asy-list.pl
+2022/08/06 | 1611 | graphics/asymptote/v3dheadertypes.py
+2022/08/06 | 1610 | graphics/asymptote/LspCpp/third_party/rapidjson/example/sortkeys/sortkeys.cpp
+2022/08/06 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
+2022/08/06 | 1608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/anyOf.json
+2022/08/06 | 16089 | graphics/asymptote/base/slide.asy
+2022/08/06 | 16081 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.png
+2022/08/06 | 1607 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/oneOf.json
+2022/08/06 | 160672 | graphics/asymptote/examples/animations/dice.u3d
+2022/08/06 | 1600 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsResponseMessage.h
+2022/08/06 | 15 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail28.json
+2022/08/06 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
+2022/08/06 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
+2022/08/06 | 159 | graphics/asymptote/tests/types/cast.asy
+2022/08/06 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
+2022/08/06 | 1598 | graphics/asymptote/examples/NURBSsurface.asy
+2022/08/06 | 15976 | graphics/asymptote/LspCpp/src/lsp/utils.cpp
+2022/08/06 | 15959 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-typed-test.h
+2022/08/06 | 1594 | graphics/asymptote/pen.cc
+2022/08/06 | 158 | graphics/asymptote/tests/frames/stat.asy
+2022/08/06 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
+2022/08/06 | 1588 | graphics/asymptote/build-scripts/asy-format.el
+2022/08/06 | 157 | graphics/asymptote/runsystem.h
+2022/08/06 | 157 | graphics/asymptote/doc/saddle.asy
+2022/08/06 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
+2022/08/06 | 1578 | graphics/asymptote/build-scripts/cc-format.el
+2022/08/06 | 1567 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/registerCapability.h
+2022/08/06 | 1566 | graphics/asymptote/examples/near_earth.asy
+2022/08/06 | 15645 | graphics/asymptote/install-sh
+2022/08/06 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
+2022/08/06 | 15601 | graphics/asymptote/base/ode.asy
+2022/08/06 | 155 | graphics/asymptote/tests/types/ecast.asy
+2022/08/06 | 15529 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-nice-strict_test.cc
+2022/08/06 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
+2022/08/06 | 154 | graphics/asymptote/examples/billboard.asy
+2022/08/06 | 154 | graphics/asymptote/doc/slopefield1.asy
+2022/08/06 | 1548 | graphics/asymptote/examples/BezierSurface.asy
+2022/08/06 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
+2022/08/06 | 15464 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.md
+2022/08/06 | 15451 | graphics/asymptote/types.h
+2022/08/06 | 1544 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json
+2022/08/06 | 1542 | graphics/asymptote/GUI/xasyUtils.py
+2022/08/06 | 1540 | graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
+2022/08/06 | 153 | graphics/asymptote/runlabel.h
+2022/08/06 | 15393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.zh-cn.md
+2022/08/06 | 1538 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/README.md
+2022/08/06 | 15382 | graphics/asymptote/base/palette.asy
+2022/08/06 | 1537 | graphics/asymptote/examples/refs.bib
+2022/08/06 | 15364 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.md
+2022/08/06 | 15318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/BUILD.bazel
+2022/08/06 | 1527 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.cpp
+2022/08/06 | 15277 | graphics/asymptote/base/flowchart.asy
+2022/08/06 | 1525 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json
+2022/08/06 | 15253 | graphics/asymptote/runlabel.cc
+2022/08/06 | 1524 | graphics/asymptote/patches/flex.patch
+2022/08/06 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
+2022/08/06 | 15142 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/mixed.json
+2022/08/06 | 150 | graphics/asymptote/examples/spheresilhouette.asy
+2022/08/06 | 150 | graphics/asymptote/doc/latexmkrc_asydir
+2022/08/06 | 15043 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_pred_impl.h
+2022/08/06 | 15030 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.zh-cn.md
+2022/08/06 | 1502 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.dot
+2022/08/06 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
+2022/08/06 | 15004 | graphics/asymptote/base/v3d.asy
+2022/08/06 | 14 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail27.json
+2022/08/06 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
+2022/08/06 | 14980 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_faq.md
+2022/08/06 | 1493 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
+2022/08/06 | 1492 | graphics/asymptote/runarray.h
+2022/08/06 | 14915 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest.py
+2022/08/06 | 148 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass3.json
+2022/08/06 | 147 | graphics/asymptote/doc/vectorfield.asy
+2022/08/06 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
+2022/08/06 | 14795 | graphics/asymptote/stm.cc
+2022/08/06 | 1475 | graphics/asymptote/LspCpp/third_party/uri/deps/LICENSE
+2022/08/06 | 1475 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/NotificationInMessage.h
+2022/08/06 | 14749 | graphics/asymptote/base/contour3.asy
+2022/08/06 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
+2022/08/06 | 1469 | graphics/asymptote/doc/png/Makefile.in
+2022/08/06 | 1467 | graphics/asymptote/GUI/res/icons/android-hand.svg
+2022/08/06 | 14651 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-death-test.h
+2022/08/06 | 1461 | graphics/asymptote/examples/logo3.asy
+2022/08/06 | 145 | graphics/asymptote/examples/star.asy
+2022/08/06 | 1457 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/platformtest.cpp
+2022/08/06 | 14575 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/internal_utils.cmake
+2022/08/06 | 1456 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.dot
+2022/08/06 | 1454 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.dot
+2022/08/06 | 14532 | graphics/asymptote/stack.cc
+2022/08/06 | 14531 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.md
+2022/08/06 | 145014 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cook_book.md
+2022/08/06 | 144 | graphics/asymptote/doc/latexmkrc
+2022/08/06 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
+2022/08/06 | 1441 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass1.json
+2022/08/06 | 1440 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
+2022/08/06 | 143 | graphics/asymptote/tests/gc/label.asy
+2022/08/06 | 14378 | graphics/asymptote/examples/teapot.asy
+2022/08/06 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
+2022/08/06 | 1435 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.dot
+2022/08/06 | 14325 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.zh-cn.md
+2022/08/06 | 14283 | graphics/asymptote/testv3d.asy
+2022/08/06 | 1427 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.dot
+2022/08/06 | 141 | graphics/asymptote/examples/sphere.asy
+2022/08/06 | 141 | graphics/asymptote/examples/ring.asy
+2022/08/06 | 1419 | graphics/asymptote/LspCpp/third_party/uri/test/uri_stream_test.cpp
+2022/08/06 | 1411 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_code_action.h
+2022/08/06 | 14089 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.cc
+2022/08/06 | 14085 | graphics/asymptote/GUI/xasyBezierInterface.py
+2022/08/06 | 14081 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-filepath.cc
+2022/08/06 | 14072 | graphics/asymptote/types.cc
+2022/08/06 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
+2022/08/06 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/docs/README.md
+2022/08/06 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/docs/README.md
+2022/08/06 | 1398 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/swap.h
+2022/08/06 | 13980 | graphics/asymptote/arrayop.h
+2022/08/06 | 13944 | graphics/asymptote/runtriple.cc
+2022/08/06 | 1391 | graphics/asymptote/doc/CAD1.asy
+2022/08/06 | 138 | graphics/asymptote/Pipfile
+2022/08/06 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
+2022/08/06 | 1384 | graphics/asymptote/tests/pic/trans.asy
+2022/08/06 | 13824 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/pool_core.hpp
+2022/08/06 | 1380 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialize.h
+2022/08/06 | 1375 | graphics/asymptote/base/tree.asy
+2022/08/06 | 136 | graphics/asymptote/examples/latticeshading.asy
+2022/08/06 | 13663 | graphics/asymptote/doc/install-sh
+2022/08/06 | 13663 | graphics/asymptote/doc/FAQ/install-sh
+2022/08/06 | 13615 | graphics/asymptote/entry.h
+2022/08/06 | 13612 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_golden.txt
+2022/08/06 | 13605 | graphics/asymptote/base/grid3.asy
+2022/08/06 | 1352 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_watched_files.h
+2022/08/06 | 1352 | graphics/asymptote/examples/Klein.asy
+2022/08/06 | 134 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tox.ini
+2022/08/06 | 13491 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-pp.h
+2022/08/06 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
+2022/08/06 | 13477 | graphics/asymptote/base/asy.vim
+2022/08/06 | 1345 | graphics/asymptote/interact.h
+2022/08/06 | 13440 | graphics/asymptote/texfile.h
+2022/08/06 | 1341 | graphics/asymptote/runtimebase.in
+2022/08/06 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
+2022/08/06 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
+2022/08/06 | 1338 | graphics/asymptote/LspCpp/third_party/uri/LICENSE_1_0.txt
+2022/08/06 | 1338 | graphics/asymptote/LspCpp/third_party/threadpool/LICENSE_1_0.txt
+2022/08/06 | 1337 | graphics/asymptote/base/v3dheadertypes.asy
+2022/08/06 | 13366 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-death-test-internal.h
+2022/08/06 | 13357 | graphics/asymptote/camp.l
+2022/08/06 | 1332 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/tutorial_header.htm
+2022/08/06 | 1331 | graphics/asymptote/tests/types/spec.asy
+2022/08/06 | 132 | graphics/asymptote/tests/string/length.asy
+2022/08/06 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
+2022/08/06 | 1328 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
+2022/08/06 | 132820 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
+2022/08/06 | 1322 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design.txt
+2022/08/06 | 1321 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
+2022/08/06 | 13217 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/type.json
+2022/08/06 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
+2022/08/06 | 1316 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strfunctest.cpp
+2022/08/06 | 1316 | graphics/asymptote/base/shaders/sum2fast.glsl
+2022/08/06 | 1315 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/idandref.json
+2022/08/06 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
+2022/08/06 | 1309 | graphics/asymptote/examples/roundpath.asy
+2022/08/06 | 13060 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-unittest-api_test.cc
+2022/08/06 | 1302 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
+2022/08/06 | 130266 | graphics/asymptote/camp.tab.cc
+2022/08/06 | 12 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail33.json
+2022/08/06 | 129 | graphics/asymptote/tests/gc/struct.asy
+2022/08/06 | 129 | graphics/asymptote/base/shaders/screen.glsl
+2022/08/06 | 1299 | graphics/asymptote/patches/dvipdf
+2022/08/06 | 129968 | graphics/asymptote/ReleaseNotes
+2022/08/06 | 1299081 | graphics/asymptote/doc/asymptote.pdf
+2022/08/06 | 1298 | graphics/asymptote/examples/electromagnetic.asy
+2022/08/06 | 1293 | graphics/asymptote/TODO
+2022/08/06 | 1291 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
+2022/08/06 | 12907 | graphics/asymptote/Makefile.in
+2022/08/06 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
+2022/08/06 | 1284 | graphics/asymptote/tests/output/Makefile
+2022/08/06 | 1283 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/reference_header.htm
+2022/08/06 | 1282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/required.json
+2022/08/06 | 12823 | graphics/asymptote/impdatum.cc
+2022/08/06 | 1280 | graphics/asymptote/beziercurve.h
+2022/08/06 | 127 | graphics/asymptote/index.html
+2022/08/06 | 1276 | graphics/asymptote/base/asymptote.py
+2022/08/06 | 1274 | graphics/asymptote/newexp.h
+2022/08/06 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/default.json
+2022/08/06 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/default.json
+2022/08/06 | 1268 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.md
+2022/08/06 | 1267 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
+2022/08/06 | 1266 | graphics/asymptote/drawverbatim.h
+2022/08/06 | 12648 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test.py
+2022/08/06 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
+2022/08/06 | 1261761 | graphics/asymptote/examples/worldmap.dat
+2022/08/06 | 12604 | graphics/asymptote/runsystem.cc
+2022/08/06 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
+2022/08/06 | 1253 | graphics/asymptote/keywords.pl
+2022/08/06 | 12539 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test.py
+2022/08/06 | 12534 | graphics/asymptote/ax_pthread.m4
+2022/08/06 | 1251 | graphics/asymptote/examples/odetest.asy
+2022/08/06 | 125009 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
+2022/08/06 | 124 | graphics/asymptote/tests/gc/path.asy
+2022/08/06 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
+2022/08/06 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
+2022/08/06 | 12474 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
+2022/08/06 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
+2022/08/06 | 1245 | graphics/asymptote/findsym.pl
+2022/08/06 | 1244 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
+2022/08/06 | 1240 | graphics/asymptote/examples/arrows3.asy
+2022/08/06 | 123 | graphics/asymptote/examples/Coons.asy
+2022/08/06 | 123 | graphics/asymptote/doc/superpath.asy
+2022/08/06 | 1239 | graphics/asymptote/v3dheadertypes.h
+2022/08/06 | 1236 | graphics/asymptote/primitives.h
+2022/08/06 | 1236 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.zh-cn.md
+2022/08/06 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
+2022/08/06 | 1235777 | graphics/asymptote/GL/glew.c
+2022/08/06 | 1232 | graphics/asymptote/build-scripts/build-asygl
+2022/08/06 | 12321 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-cardinalities_test.cc
+2022/08/06 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
+2022/08/06 | 12259 | graphics/asymptote/knot.h
+2022/08/06 | 121 | graphics/asymptote/doc/labelsquare.asy
+2022/08/06 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
+2022/08/06 | 1219 | graphics/asymptote/LspCpp/README.md
+2022/08/06 | 1216 | graphics/asymptote/LspCpp/third_party/uri/CHANGELOG.md
+2022/08/06 | 1216 | graphics/asymptote/examples/dragon.asy
+2022/08/06 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
+2022/08/06 | 1213 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
+2022/08/06 | 1213 | graphics/asymptote/base/plain_arcs.asy
+2022/08/06 | 121147 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
+2022/08/06 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
+2022/08/06 | 1209 | graphics/asymptote/tests/imp/unravel.asy
+2022/08/06 | 12054 | graphics/asymptote/LspCpp/CMakeLists.txt
+2022/08/06 | 1201 | graphics/asymptote/LspCpp/src/jsonrpc/Endpoint.cpp
+2022/08/06 | 12012 | graphics/asymptote/base/solids.asy
+2022/08/06 | 1200 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_data/navigation.yml
+2022/08/06 | 12004 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
+2022/08/06 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
+2022/08/06 | 1197 | graphics/asymptote/drawclipend.h
+2022/08/06 | 1195 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
+2022/08/06 | 11937 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/CMakeLists.txt
+2022/08/06 | 1192 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
2022/08/06 | 11912 | systems/win32/miktex/tm/packages/wrapstuff.tar.lzma
+2022/08/06 | 1190 | graphics/asymptote/LspCpp/src/jsonrpc/MessageJsonHandler.cpp
+2022/08/06 | 1190 | graphics/asymptote/camperror.cc
+2022/08/06 | 11907 | graphics/asymptote/tests/gsl/random.asy
+2022/08/06 | 118 | graphics/asymptote/tests/string/substr.asy
+2022/08/06 | 118 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
+2022/08/06 | 1189 | graphics/asymptote/tests/types/var.asy
+2022/08/06 | 1188 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/overview_header.htm
+2022/08/06 | 1188 | graphics/asymptote/EXRFiles.cc
+2022/08/06 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
+2022/08/06 | 1186601 | graphics/asymptote/GL/glew.h
+2022/08/06 | 1185 | graphics/asymptote/LspCpp/include/LibLsp/lsp/SimpleTimer.h
+2022/08/06 | 1185 | graphics/asymptote/examples/functionshading.asy
+2022/08/06 | 1183 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/TcpServer.h
+2022/08/06 | 1183 | graphics/asymptote/GUI/xasyArgs.py
+2022/08/06 | 1183225 | graphics/asymptote/gc-8.2.0.tar.gz
+2022/08/06 | 1180 | graphics/asymptote/GUI/res/icons/code.svg
+2022/08/06 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
+2022/08/06 | 1178 | graphics/asymptote/base/embed.asy
2022/08/06 | 11744 | systems/texlive/tlnet/archive/wrapstuff.r64058.tar.xz
-2022/08/06 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini
-2022/08/06 | 1161752 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/08/06 | 115579 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/08/06 | 1171 | graphics/asymptote/parser.h
+2022/08/06 | 11663 | graphics/asymptote/path.h
+2022/08/06 | 11656 | graphics/asymptote/base/binarytree.asy
+2022/08/06 | 1164 | graphics/asymptote/examples/genustwo.asy
+2022/08/06 | 11642 | graphics/asymptote/coder.h
+2022/08/06 | 1163 | graphics/asymptote/runtime.h
+2022/08/06 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
+2022/08/06 | 1161 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h
+2022/08/06 | 116010 | graphics/asymptote/predicates.cc
+2022/08/06 | 115 | graphics/asymptote/doc/onecontour.asy
+2022/08/06 | 1159 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsRequestId.h
+2022/08/06 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
+2022/08/06 | 11559 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
+2022/08/06 | 1154 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
+2022/08/06 | 11541 | graphics/asymptote/aspy.py
+2022/08/06 | 1151 | graphics/asymptote/callable.cc
+2022/08/06 | 11513 | graphics/asymptote/runlabel.in
+2022/08/06 | 1150 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
+2022/08/06 | 1149 | graphics/asymptote/guide.cc
+2022/08/06 | 11468 | graphics/asymptote/drawelement.h
+2022/08/06 | 1143 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsPosition.h
+2022/08/06 | 1142 | graphics/asymptote/envcompleter.cc
2022/08/06 | 114172 | systems/texlive/tlnet/archive/texlogsieve.doc.r64060.tar.xz
-2022/08/06 | 113568 | systems/texlive/tlnet/archive/texlive-scripts.r64053.tar.xz
-2022/08/06 | 112979 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/08/06 | 112877 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/08/06 | 109651 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/08/06 | 107437 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/08/06 | 1140 | graphics/asymptote/absyn.h
+2022/08/06 | 113 | graphics/asymptote/patches/fixmem.reg
+2022/08/06 | 113 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.make
+2022/08/06 | 113 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples.txt
+2022/08/06 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
+2022/08/06 | 1137 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/header.html
+2022/08/06 | 11373 | graphics/asymptote/base/plain_markers.asy
+2022/08/06 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/items.json
+2022/08/06 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/items.json
+2022/08/06 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
+2022/08/06 | 1134 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/design_header.htm
+2022/08/06 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
+2022/08/06 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
+2022/08/06 | 1129 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
+2022/08/06 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
+2022/08/06 | 1126 | graphics/asymptote/coenv.cc
+2022/08/06 | 1125 | graphics/asymptote/LspCpp/third_party/threadpool/Makefile
+2022/08/06 | 11255 | graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
+2022/08/06 | 1122 | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/doc/examples_header.htm
+2022/08/06 | 11221 | graphics/asymptote/jsfile.cc
+2022/08/06 | 1120 | graphics/asymptote/examples/animations/wheel.asy
+2022/08/06 | 1120 | graphics/asymptote/base/external.asy
+2022/08/06 | 111 | graphics/asymptote/GUI/res/icons/center.asy
+2022/08/06 | 111 | graphics/asymptote/examples/shadestroke.asy
+2022/08/06 | 1118 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/samples.md
+2022/08/06 | 1116 | graphics/asymptote/LspCpp/third_party/uri/test/valid_urls.txt
+2022/08/06 | 1114 | graphics/asymptote/examples/laserlattice.asy
+2022/08/06 | 11146 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.md
+2022/08/06 | 11122 | graphics/asymptote/base/math.asy
+2022/08/06 | 1111 | graphics/asymptote/examples/imagehistogram.asy
+2022/08/06 | 110 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/subSchemas.json
+2022/08/06 | 1109 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/codeActionResult.h
+2022/08/06 | 1108 | graphics/asymptote/GUI/res/icons/android-locate.svg
+2022/08/06 | 1105 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
+2022/08/06 | 1104 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean.cmake
+2022/08/06 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
+2022/08/06 | 109 | graphics/asymptote/tests/string/insert.asy
+2022/08/06 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
+2022/08/06 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
+2022/08/06 | 1098 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/integers.json
+2022/08/06 | 1098 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/rename.h
+2022/08/06 | 10989 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
+2022/08/06 | 1096 | graphics/asymptote/tests/array/transpose.asy
+2022/08/06 | 1096 | graphics/asymptote/refaccess.cc
+2022/08/06 | 1096 | graphics/asymptote/drawlayer.h
+2022/08/06 | 1092 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/clzlltest.cpp
+2022/08/06 | 10928 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
+2022/08/06 | 1090 | graphics/asymptote/GUI/res/icons/redo.svg
+2022/08/06 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
+2022/08/06 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
+2022/08/06 | 1088 | graphics/asymptote/LspCpp/third_party/threadpool/TODO
+2022/08/06 | 1088 | graphics/asymptote/examples/NURBSsphere.asy
+2022/08/06 | 10840 | graphics/asymptote/base/CAD.asy
+2022/08/06 | 1082 | graphics/asymptote/patches/README
+2022/08/06 | 107 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.ts
+2022/08/06 | 1077 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
+2022/08/06 | 1075 | graphics/asymptote/v3dheadertypes.csv
+2022/08/06 | 1074 | graphics/asymptote/LspCpp/src/lsp/initialize.cpp
+2022/08/06 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
+2022/08/06 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
+2022/08/06 | 1066 | graphics/asymptote/LspCpp/LICENSE
+2022/08/06 | 10660 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodedstream.h
+2022/08/06 | 1065 | graphics/asymptote/examples/shellmethod.asy
+2022/08/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minimum.json
+2022/08/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maximum.json
+2022/08/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minimum.json
+2022/08/06 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maximum.json
+2022/08/06 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
+2022/08/06 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
+2022/08/06 | 10585 | graphics/asymptote/path3.h
+2022/08/06 | 10581 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
+2022/08/06 | 1057 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/LICENSE
2022/08/06 | 10576 | systems/texlive/tlnet/archive/uni-titlepage.r64057.tar.xz
-2022/08/06 | 104922 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/08/06 | 103599 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/08/06 | 103246 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/08/06 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
+2022/08/06 | 1056 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
+2022/08/06 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
+2022/08/06 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
+2022/08/06 | 1055 | graphics/asymptote/examples/partitionExample.asy
+2022/08/06 | 1054 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/onTypeFormatting.h
+2022/08/06 | 1053 | graphics/asymptote/doc/fillcontour.asy
+2022/08/06 | 1052 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/CMakeLists.txt
+2022/08/06 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
+2022/08/06 | 1051 | graphics/asymptote/doc/eetomumu.asy
+2022/08/06 | 10518 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/prettywriter.h
+2022/08/06 | 1050 | graphics/asymptote/opsymbols.pl
+2022/08/06 | 104 | graphics/asymptote/examples/tiling.asy
+2022/08/06 | 1047 | graphics/asymptote/GUI/res/icons/undo.svg
+2022/08/06 | 10476 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-nice-strict.h
+2022/08/06 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
+2022/08/06 | 10445 | graphics/asymptote/INSTALL
+2022/08/06 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
+2022/08/06 | 10414 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.cpp
+2022/08/06 | 1040 | graphics/asymptote/examples/lmfit1.asy
+2022/08/06 | 103 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/readme.txt
+2022/08/06 | 1039 | graphics/asymptote/LspCpp/third_party/uri/test/CMakeLists.txt
+2022/08/06 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
+2022/08/06 | 10350 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/prettywritertest.cpp
+2022/08/06 | 1034 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/index.md
+2022/08/06 | 103478 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.zh-cn.in
+2022/08/06 | 1033 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
+2022/08/06 | 1033 | graphics/asymptote/examples/basealign.asy
+2022/08/06 | 103393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.in
+2022/08/06 | 1032 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp
+2022/08/06 | 1031 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri.hpp
+2022/08/06 | 1031 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplewriter/simplewriter.cpp
+2022/08/06 | 10312 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
+2022/08/06 | 1030 | graphics/asymptote/examples/workcone.asy
+2022/08/06 | 102 | graphics/asymptote/tests/gc/file.asy
+2022/08/06 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
+2022/08/06 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
+2022/08/06 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
+2022/08/06 | 10251 | graphics/asymptote/LspCpp/src/jsonrpc/WebSocketServer.cpp
+2022/08/06 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
+2022/08/06 | 10224 | graphics/asymptote/tr.cc
+2022/08/06 | 1020 | graphics/asymptote/flatguide.cc
+2022/08/06 | 1019 | graphics/asymptote/LspCpp/third_party/rapidjson/example/pretty/pretty.cpp
+2022/08/06 | 1019 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/unregisterCapability.h
+2022/08/06 | 10196 | graphics/asymptote/doc/CAD.tex
+2022/08/06 | 10168 | graphics/asymptote/LspCpp/third_party/uri/test/uri_resolve_test.cpp
+2022/08/06 | 1015 | graphics/asymptote/LspCpp/third_party/rapidjson/example/condense/condense.cpp
+2022/08/06 | 1015 | graphics/asymptote/GUI/xasyTransform.py
+2022/08/06 | 10131 | graphics/asymptote/util.cc
+2022/08/06 | 101221 | graphics/asymptote/webgl/gl.js
+2022/08/06 | 10110 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/itoa.h
+2022/08/06 | 1010 | graphics/asymptote/examples/washermethod.asy
+2022/08/06 | 100 | graphics/asymptote/GUI/DebugFlags.py
+2022/08/06 | 1008 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeLists.txt
+2022/08/06 | 1008 | graphics/asymptote/doc/leastsquares.asy
+2022/08/06 | 10073 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-spi.h
+2022/08/06 | 10070 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RemoteEndPoint.h
+2022/08/06 | 1006 | graphics/asymptote/LspCpp/third_party/threadpool/boost/threadpool/detail/scope_guard.hpp
+2022/08/06 | 1005 | graphics/asymptote/doc/asy.1.begin
+2022/08/06 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
+2022/08/06 | 1002 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp
+2022/08/06 | 1002 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
+2022/08/06 | 10023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test.py
+2022/08/06 | 1000 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/StreamMessageProducer.h
+2022/08/06 | 1000 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
+2022/08/06 | 1000 | graphics/asymptote/doc/FAQ/Makefile
+2022/08/06 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
2022/08/05 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
2022/08/05 | 97777 | macros/latex/contrib/create-theorem/create-theorem.sty
2022/08/05 | 970216 | install/macros/latex/contrib/l3backend.tds.zip
@@ -159,7 +2375,6 @@
2022/08/05 | 78509 | macros/latex/contrib/l3kernel/l3str.dtx
2022/08/05 | 7720 | systems/texlive/tlnet/archive/media4svg.r64046.tar.xz
2022/08/05 | 76279 | macros/latex/contrib/l3kernel/l3skip.dtx
-2022/08/05 | 7539 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/08/05 | 7454 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
2022/08/05 | 74225 | macros/latex/contrib/l3kernel/l3msg.dtx
2022/08/05 | 73835 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
@@ -572,7 +2787,6 @@
2022/08/01 | 678803 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
2022/08/01 | 627828 | systems/texlive/tlnet/archive/colortbl.doc.r64015.tar.xz
2022/08/01 | 50200 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
-2022/08/01 | 42206 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2022/08/01 | 3948 | systems/texlive/tlnet/archive/yb-book.r64017.tar.xz
2022/08/01 | 39408 | macros/latex/contrib/postnotes/postnotes.tex
2022/08/01 | 3676 | systems/texlive/tlnet/archive/colortbl.r64015.tar.xz
@@ -589,19 +2803,3 @@
2022/08/01 | 111667 | macros/xetex/latex/hfutthesis/hfutthesis.cls
2022/08/01 | 104452 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
2022/08/01 | 10007 | macros/latex/contrib/biblatex-contrib/biblatex-software/software.bbx
-2022/07/31 | 97095 | graphics/pgf/contrib/bodeplot/bodeplot.dtx
-2022/07/31 | 640665 | macros/latex/contrib/colortbl.zip
-2022/07/31 | 5868 | systems/texlive/tlnet/archive/unbtex.r64008.tar.xz
-2022/07/31 | 534 | graphics/pgf/contrib/customdice/README.md
-2022/07/31 | 534 | customdice/README.md
-2022/07/31 | 45786 | graphics/pgf/contrib/customdice/customdice.dtx
-2022/07/31 | 45786 | customdice/customdice.dtx
-2022/07/31 | 417 | graphics/pgf/contrib/customdice/customdice.ins
-2022/07/31 | 417 | customdice/customdice.ins
-2022/07/31 | 369482 | graphics/pgf/contrib/customdice/customdice.pdf
-2022/07/31 | 369482 | customdice/customdice.pdf
-2022/07/31 | 3623 | graphics/pgf/contrib/bodeplot/README.md
-2022/07/31 | 1632 | systems/texlive/tlnet/archive/collection-publishers.r64009.tar.xz
-2022/07/31 | 1441108 | systems/texlive/tlnet/archive/unbtex.doc.r64008.tar.xz
-2022/07/31 | 1416 | graphics/pgf/contrib/bodeplot/bodeplot.ins
-2022/07/31 | 1062592 | graphics/pgf/contrib/bodeplot/bodeplot.pdf
diff --git a/graphics/asymptote/ChangeLog b/graphics/asymptote/ChangeLog
index b27606df60..ba7cb8a609 100644
--- a/graphics/asymptote/ChangeLog
+++ b/graphics/asymptote/ChangeLog
@@ -1,3 +1,688 @@
+commit 94c770a177aae2dc11e19f70cc9f22ff649d7cea
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Aug 6 22:17:24 2022 +0200
+
+ Update asygl.
+
+commit 9893d408fec128d76b50e3bef24ef6181beef0bc
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Aug 6 22:12:33 2022 +0200
+
+ Use floating point WebGL colors.
+
+commit 89dac594687cd2892851a685c52a092e86db85a7
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Aug 6 06:52:30 2022 +1000
+
+ Avoid global variables in AsyGL library.
+
+commit 0ab3eae561e21fcf5a906becf75483291db032d3
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Aug 3 22:14:33 2022 +0200
+
+ Preserve the terminal environment under MSDOS by ignoring the wait flag.
+
+commit 87f76fb7e5f3387643491fa123c18cf2be987006
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Aug 1 23:36:30 2022 +0200
+
+ Enforce a unique normal and pen for each vertex in a PRC triangle group.
+
+commit 8e28af4e33a62630f82652552988c02267821578
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Jul 29 21:10:05 2022 +0200
+
+ Revert "Simplify code."
+
+ This reverts commit 587a21490bf6d3892ddeab36dc8d8acdd3cec32c.
+
+commit 52170aac260c33ead0eddef60c527bcde782348c
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Jul 29 19:19:55 2022 +0200
+
+ Fix patch mode.
+
+commit b401886d804f4c5e870c69339c50dd76a97f0ea5
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Jul 29 19:08:18 2022 +0200
+
+ Revert "Simplify code."
+
+ This reverts commit dc9d231185c9b01bd8d32c2bbbc87001caa1f4d8.
+
+commit c53b2c5fd4cc2d4bbf4afb071534786c09e70542
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Jul 29 12:53:45 2022 +0200
+
+ Fix segmentation fault.
+
+commit 0703107b953e0610a96776d059904af1cfb1c83e
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Jul 29 12:13:03 2022 +0200
+
+ Fix segmentation fault.
+
+commit 3433888b9a26fa85995617bfdc1e51137b198692
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Jul 28 05:55:22 2022 +1000
+
+ Fix defaultfilename for v3d files.
+
+commit 12740e6ff703bbab76629f065dd574f6242d130d
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Jul 28 05:45:36 2022 +1000
+
+ Revert commented diagnostic.
+
+commit ec217a2261828eed41835da88c9bfa97af5ec2bc
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jul 26 20:47:12 2022 +0200
+
+ Move v3d specification back to GitHub now that LaTeX markdown is supported.
+
+commit cb6aeda7ff3c1ed42bb04ed45ba26ce5061797f1
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jul 26 15:18:10 2022 +0200
+
+ List ambiguous functions.
+
+commit 60df18eea453855571ee4a2cc3f45878a4fe52d9
+Merge: fa284421 4fe6f9fb
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jul 26 04:17:33 2022 -0600
+
+ Merge pull request #327 from jamadagni/master
+
+ Additions to geometry.asy
+
+commit fa28442195bd99b9bac87e3ff752953ac57ee172
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jul 26 12:05:54 2022 +0200
+
+ Remove extraneous include.
+
+commit 3514430ddbdbf89e21b560202c06801c42ab590f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jul 26 12:05:24 2022 +0200
+
+ Optimize dvisvgm output.
+
+commit a7588cad36589cc3df2b1bc66123e8c94b681a39
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jul 26 11:57:05 2022 +0200
+
+ Make dvisvgmMultipleFiles true by default.
+
+commit 8f18ae72e3f12db006aabb23a5045c149a9a821a
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jul 25 14:21:16 2022 -0600
+
+ Fix BUG #329: Fraction bars in labels are always black with PDF texengines.
+
+commit 4fe6f9fb1633ebcfff637bf2140f042b7d802245
+Author: Shriramana Sharma <samjnaa@gmail.com>
+Date: Thu Jul 14 22:34:15 2022 +0530
+
+ add fill and filldraw for circle,ellipse,triangle,triangle[]
+
+commit 8b8ad63d73e25bc098840c61b16a869184a6cdb2
+Author: Shriramana Sharma <samjnaa@gmail.com>
+Date: Thu Jul 14 20:19:38 2022 +0530
+
+ add path operator ecast(segment)
+
+commit 006cb4c48cae38fdd710a885df0d38fa172ed640
+Author: Shriramana Sharma <samjnaa@gmail.com>
+Date: Thu Jul 14 19:57:20 2022 +0530
+
+ add path operator cast(triangle), fix points order
+
+commit dc9d231185c9b01bd8d32c2bbbc87001caa1f4d8
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Jul 14 09:22:08 2022 -0600
+
+ Simplify code.
+
+commit b7db8911e3b2cbcc3c6330312b49acb0e06213b9
+Author: Shriramana Sharma <samjnaa@gmail.com>
+Date: Thu Jul 14 19:47:02 2022 +0530
+
+ rename geometry.orthocentercenter to geometry.orthocenter
+
+commit 587a21490bf6d3892ddeab36dc8d8acdd3cec32c
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Jul 13 16:56:14 2022 -0600
+
+ Simplify code.
+
+commit 3961ec5be64d394e86e89d4ca30b176d4b5ecf62
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jul 10 10:52:38 2022 -0600
+
+ Fix issue #320.
+
+commit 694902944ba06f3c77dad9bc0bcc4e465fa7e1d4
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Jul 9 20:12:27 2022 -0600
+
+ Address issue #320.
+
+commit 33bf1141c1bb787bd5518dcfa9f73a4f48d37dfa
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Jul 6 23:05:40 2022 -0600
+
+ Output mean color only for PRC.
+
+commit 7cbd28939b01da0f96980864698d7d704c9c1a9c
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jul 5 00:45:07 2022 -0600
+
+ Delete troublesome style file.
+
+commit 534d1361a7343dfc653a8b129d3392c0baba68f3
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jul 5 00:41:00 2022 -0600
+
+ Update asygl.
+
+commit 6cea12dfe927edec9aa784ab4b133f9b12ebde1d
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jul 5 00:36:47 2022 -0600
+
+ WebGL: Support backwards compatibility.
+
+commit 323eb79327cf179491107d4ec3e3d6e994b324aa
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jul 4 23:56:02 2022 -0600
+
+ WebGL: Compute Bezier curve bounds.
+
+commit 482d04bdad8a25d274d1719f6653ff4d4c7b3250
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jul 4 17:05:47 2022 -0600
+
+ WEBGL: Compute triangle group bounds.
+
+commit 00cd7219a9794f21ecd3209411889b25523322e0
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jul 4 00:04:25 2022 -0600
+
+ WEBGL: Compute Bezier triangle bounds in WebGL. Remove Min and Max.
+
+commit 42bc4a3b4e0f187e265c353fc9e7766cf8165b95
+Merge: a45aaa1e 30ad132f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jul 3 22:09:06 2022 -0600
+
+ Merge branch 'master' into webglbounds.
+
+commit 30ad132f3a7dd182792d24a150aaa45de332ee8b
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jul 3 19:34:37 2022 -0600
+
+ Simplify workflow.
+
+commit e15ba5b1e764cff6b75520d41c8fb96a03730d4e
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jul 3 18:56:08 2022 -0600
+
+ Fix BUG #319: Rename NOCACHE to NoOutputFonts to address yet another Ghostscript backwards incompatibility (in Ghostscript version 9.56).
+
+commit 12a778be453f9319faeac99edfa25c0498bf2024
+Merge: d393a76b 48625bd2
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Jun 29 13:06:59 2022 -0600
+
+ Merge branch 'compute3'.
+
+commit 48625bd2b66ca904af42e308c5bf8d0b5571de39
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Jun 29 13:03:58 2022 -0600
+
+ Fix typo.
+
+commit d393a76b3960455b4285806771e705faa54c20d8
+Merge: 0669e4fb d8cacc97
+Author: Supakorn 'Jamie' Rassameemasmuang <jamievlin@outlook.com>
+Date: Tue Jun 21 15:44:12 2022 -0600
+
+ Merge pull request #317 from vectorgraphics/dependabot/pip/GUI/numpy-1.22.0
+
+ Bump numpy from 1.21.0 to 1.22.0 in /GUI
+
+commit d8cacc97b70f35914ba89baf8c564af93af42edc
+Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
+Date: Tue Jun 21 21:32:47 2022 +0000
+
+ Bump numpy from 1.21.0 to 1.22.0 in /GUI
+
+ Bumps [numpy](https://github.com/numpy/numpy) from 1.21.0 to 1.22.0.
+ - [Release notes](https://github.com/numpy/numpy/releases)
+ - [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst)
+ - [Commits](https://github.com/numpy/numpy/compare/v1.21.0...v1.22.0)
+
+ ---
+ updated-dependencies:
+ - dependency-name: numpy
+ dependency-type: direct:production
+ ...
+
+ Signed-off-by: dependabot[bot] <support@github.com>
+
+commit 8677a0f1a2571f1b38fc1589cf12f6341f69b659
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jun 12 10:32:22 2022 -0600
+
+ TRANSPARENCY: Save 4 bytes in shuffle array.
+
+commit a45aaa1e948343e6a6d86391f26f4f132e17e6bd
+Merge: 5f676ec6 0669e4fb
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Jun 9 19:01:27 2022 -0600
+
+ Merge branch 'master' into webglbounds.
+
+commit 0669e4fb0fc358ae9555d3db375f3568365b740b
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Jun 9 19:00:57 2022 -0600
+
+ Compute tight bounds of Bezier patches and triangles.
+
+commit 5f676ec6a4cc13ce7e382f8b5204df700e97e2b4
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Jun 9 17:35:45 2022 -0600
+
+ Compute Bezier patch bounds in WebGL.
+
+commit 4f51b82701aea7a9c14b89aa833fa10152f2d8c1
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Jun 9 17:26:50 2022 -0600
+
+ Fix formatting.
+
+commit 2879110f7a1ebb3c03cfbb01d68bfc4edbce466a
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jun 6 21:45:14 2022 -0600
+
+ Derive size from offset in blend shader.
+
+commit 597d08b0ae468babf8c9a7b956d14c11415c1946
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jun 5 13:06:39 2022 -0600
+
+ Update to latest prefixsum shader.
+
+commit 75baa00f90034b6de5ccb2dc57b10d723effb4e3
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Jun 4 21:02:02 2022 -0600
+
+ Restore zero shader.
+
+commit a95c328913df1d0b6ec0ecdb89dae48577556525
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Jun 3 00:45:00 2022 -0600
+
+ Automatically choose optimal sum2 shader.
+
+commit ba6fcdce8f4e90da7944a9ddec6fbd0ab617181e
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Jun 2 16:05:07 2022 -0600
+
+ Optimize sum shaders.
+
+commit 5db78fbb79c6711d250748e47a08381eff4f9a04
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu Jun 2 09:26:49 2022 -0600
+
+ Generalize sum2 shader.
+
+commit 70a7c559bbac4e1939552b4228704bdf60a753df
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Jun 1 16:10:04 2022 -0600
+
+ Use optimized binomial tree reduce in sum1 shader.
+
+commit 9b853eead5d61728663ed5c457b4764800a70f17
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue May 31 13:33:33 2022 -0600
+
+ Optimize sum1 shader.
+
+commit aa4700c2d91fcd17fd1768bd7df45ccd788c20d7
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue May 31 11:58:45 2022 -0600
+
+ Revert cd7092db3a5f297df6b735c91b4989caf8e60609.
+
+commit be2310a8affc0abf3e8d330489e2ff1f491c3df9
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue May 31 11:20:20 2022 -0600
+
+ Fix memory barriers.
+
+commit 7df45601fd0e38a252e4c68929ed54d9c286e971
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue May 31 10:45:45 2022 -0600
+
+ Fix memory barriers; optimize Hillis-Steele algorithm.
+
+commit 64ca0f99828ac592896b524aa79b043101210e24
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon May 30 23:05:02 2022 -0600
+
+ Add missing shader.
+
+commit 411ffcbc0b0cf626a36ab66bb342656a1e1da2e4
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon May 30 19:00:48 2022 -0600
+
+ Finish partial sums.
+
+commit 8519ee922db934d05f0945b93ef17e4b24fe6ea2
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon May 30 10:58:37 2022 -0600
+
+ Implement bezier(real a, real b, real c, real d, real t).
+
+commit a728266f13a123f772294b50e2a58b50c28091ef
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 23:24:34 2022 -0600
+
+ Avoid unnecessary differential computations.
+
+commit c5ff5bd2628c05dcf52acd6502a851d78cce3510
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 23:18:15 2022 -0600
+
+ Defer fragment buffer resizing as long as possible.
+
+commit 952e340b05bbd3b6ad5f191f74e0669a5055c2ac
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 23:06:37 2022 -0600
+
+ Fix noGPUindexing.
+
+commit 044dc63915cb19f8106f2e8ebb5df91cf15cdf4f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 22:59:22 2022 -0600
+
+ Disable subdivision crack adjustments for transparent patches.
+
+commit 8bd698940d42574cbe6c7a3c7170039157b43196
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 22:46:26 2022 -0600
+
+ Fix commit f57b4f8b9ead42f092cb706960bf10b6b8d55e30.
+
+commit 8931b432b64b6b90e934bc502c62fffe47a4a8cb
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 22:11:32 2022 -0600
+
+ Standardize names.
+
+commit bf9e1ee6c40f9de385992ecef5ca0b8c46f3f63b
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 21:55:36 2022 -0600
+
+ Improve performance.
+
+commit 77d25cd8a9151b5a32ecb6169b5973284a28a955
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 19:13:12 2022 -0600
+
+ Fix maximum depth detection.
+
+commit cd7092db3a5f297df6b735c91b4989caf8e60609
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 15:49:18 2022 -0600
+
+ Use atomicCounterExchange to reset compression counter.
+
+commit e407a7c34129589fcbb0a86d42925592e7d3f8b0
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 14:42:47 2022 -0600
+
+ Finish implementing feedback to CPU.
+
+commit f57b4f8b9ead42f092cb706960bf10b6b8d55e30
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 10:51:02 2022 -0600
+
+ Send feedback to CPU.
+
+commit 5801785e5729fda77f88fabdd7ddbd0e53a48851
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 00:57:57 2022 -0600
+
+ Revert "Store opaqueDepth in alpha channel of opaqueColor."
+
+ This reverts commit 431d19384d090f11daeed3dc449dc61d2ed5e309.
+
+commit 431d19384d090f11daeed3dc449dc61d2ed5e309
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 29 00:04:35 2022 -0600
+
+ Store opaqueDepth in alpha channel of opaqueColor.
+
+commit a35d30b911d256832fe067f638aec75fdad79814
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat May 28 23:28:28 2022 -0600
+
+ Test 2-stage algorithm.
+
+commit 64942510ac5d30470cdd22e777cd0b1a38a6ff69
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat May 28 23:00:33 2022 -0600
+
+ Test 3-stage algorithm.
+
+commit e84bf41ae59bb60cdff9357fc0c7f7faf8933174
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat May 28 11:19:37 2022 -0600
+
+ Add const qualifier.
+
+commit 0f0a04b64cccd21c656ec7a69565f43cf8e6a7b7
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri May 27 23:26:36 2022 -0600
+
+ Implement GPUblockSize.
+
+commit 58ddb9f87dcee756366d82b48424c3fe1bac19d9
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri May 27 23:02:11 2022 -0600
+
+ Disable GPUcompression by default.
+
+commit 7dae0ee579ba48d52d4687b79e87506e989a8ce2
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri May 27 22:48:47 2022 -0600
+
+ Use a single improved shader to avoid bank conflicts.
+
+commit 4712edd628e9742417b7d83b4d38d2721bae370e
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed May 25 09:32:56 2022 -0600
+
+ Simplify code.
+
+commit 1bfbb8215540524f4182744d836031d2223915ed
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed May 25 09:27:17 2022 -0600
+
+ Revert "Perform all sums on the GPU."
+
+ This reverts commit 574eb027cf53064cfb27e8ab09333a7775b2e094.
+
+commit 574eb027cf53064cfb27e8ab09333a7775b2e094
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon May 23 22:59:08 2022 -0600
+
+ Perform all sums on the GPU.
+
+commit d270aa2012843aa592d2ada3b390ded7c1c3c35f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon May 23 19:28:39 2022 -0600
+
+ Implement Hillis-Steele algorithm in second stage.
+
+commit b182742a8ac29f1fbf1f37228492a09236c0e0ce
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon May 23 17:35:04 2022 -0600
+
+ Add another compute shader stage to reduce bandwidth to CPU.
+
+commit 85e78f59600fde0f6214212012c80ff539474a13
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon May 23 16:10:44 2022 -0600
+
+ Avoid use of localSumBuffer.
+
+commit 4d4159b5ec2eafa2bb3ba0837d863690af66ce4e
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon May 23 15:30:10 2022 -0600
+
+ Use a single compute shader.
+
+commit 13aa6344ac37b2303deb1e4e6d6a24d9b260762f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Thu May 19 20:57:45 2022 -0600
+
+ Improve documentation of rotate(real, triple).
+
+commit c1ec3a89279d567cf4a910557546137aac2c0ee3
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat May 14 12:27:51 2022 -0600
+
+ Increment version to 2.82.
+
+commit 920c0886c23e20db270d04337e59c4d9e069dc63
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri May 13 23:17:54 2022 -0600
+
+ Fix CYGWIN warning.
+
+commit c895e09915302ae276740f1cc91afd834658ae37
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri May 13 22:31:19 2022 -0600
+
+ Fix bug #313: opaque rendering on platforms lacking GL_ARB_fragment_shader_interlock.
+
+commit fc7dac6887136289035eaa4f7f60fcbee1dc3967
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed May 11 18:29:56 2022 -0600
+
+ Update documentation.
+
+commit d54736762baaf6b675311c0e5791f6aa5792ae57
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed May 11 16:40:43 2022 -0600
+
+ Document surface constructor for solids of revolution.
+
+commit f910ea19eee9f240045594bf049f363cc8181ac4
+Merge: de70a958 72b0fe36
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue May 10 22:20:00 2022 -0600
+
+ Merge branch 'Qt'.
+
+commit de70a958b3844210142a9066b20bfce2a62bde4f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue May 10 21:38:21 2022 -0600
+
+ Zero offset buffer when required.
+
+commit 72b0fe3685729e059337082dcd5585ae7fa20f50
+Author: chaumont-arch <chaumont@ualberta.ca>
+Date: Sun May 8 22:38:36 2022 -0600
+
+ XASY: Fix crashes from opening xasy files.
+
+commit a14f4a75cd8f6d0f9cf6c4217e70baa690e4a1ad
+Author: chaumont-arch <chaumont@ualberta.ca>
+Date: Thu May 5 23:11:47 2022 -0600
+
+ XASY: Fix bounding box drawing issue.
+
+commit 27d52fa7a6356cda473eb24acac77e822c6fb09d
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue May 3 12:20:43 2022 -0600
+
+ Port to MacOS.
+
+commit e23a5527b710aa3cbf83d1d0a682aa5c6a49b62c
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Apr 24 10:24:46 2022 -0600
+
+ Fix bug #310: Missing slash in temporary file path.
+
+commit 365df5651ce0728fa3607d05ae1396668f374197
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Apr 10 09:35:38 2022 -0600
+
+ Rename example.
+
+commit 253349484d7d76aeb639428f02e5c08779fbe094
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Apr 10 00:31:20 2022 -0600
+
+ Add missing typedef.
+
+commit 29967ac62cb69bf3e3196b8cdf5e714007eabce2
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Apr 10 00:20:20 2022 -0600
+
+ Fix last commit.
+
+commit 6f10abaa6611c52cb8040b5715218287202b5510
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Apr 10 00:18:32 2022 -0600
+
+ Consult pkg-config for readline library.
+
+commit 5af8022000bd9d3ab21e7c3548e92e9d59dd3c07
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Apr 10 00:11:15 2022 -0600
+
+ Fix issue #40: Consult pkg-config.
+
+commit 4bd54e14498523c06a2e4cecf20e7c4c6851299d
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Apr 8 23:23:37 2022 -0600
+
+ Fix issue #309.
+
+commit 2ffee49a7e3fe5180a96332d529eae8bfe7a8316
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Apr 9 14:49:43 2022 +1000
+
+ Move global typedef within namespace.
+
+commit 8f2ce216a6f5537d74a6b691fcd416a344570007
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Apr 8 17:03:24 2022 -0600
+
+ Implement real Schur decomposition.
+
+commit 0f2ad99bcd3b7cb85ba66d4576ada8438da9c288
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Apr 8 16:23:26 2022 -0600
+
+ Implement Schur decomposition.
+
+commit 5b705e7dece21fb809a43e25b4e97c1707a21152
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Apr 5 23:28:53 2022 -0600
+
+ Add example; remove empty directories.
+
+commit b00f9fc3c2bf1b3b3cb311faf7098c149088e3cb
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Apr 5 21:48:56 2022 -0600
+
+ Increment version to 2.81.
+
commit 52f5c99018d24883f6e115ae72beaa88a15d0669
Author: John Bowman <bowman@ualberta.ca>
Date: Tue Apr 5 11:32:10 2022 -0600
diff --git a/graphics/asymptote/GUI/Window1.py b/graphics/asymptote/GUI/Window1.py
index 134d3cd196..3da918ff6c 100644
--- a/graphics/asymptote/GUI/Window1.py
+++ b/graphics/asymptote/GUI/Window1.py
@@ -1060,9 +1060,10 @@ class MainWindow1(Qw.QMainWindow):
for item in xasyObjects['objects']:
key=item['transfKey']
- if(key) in obj.transfKeymap.keys():
- continue
- obj.maxKey=max(obj.maxKey,int(key))
+ if existsAsy:
+ if(key) in obj.transfKeymap.keys():
+ continue
+ obj.maxKey=max(obj.maxKey,int(key))
if item['type'] == 'xasyScript':
print("Uh oh, there should not be any asy objects loaded")
@@ -1083,7 +1084,8 @@ class MainWindow1(Qw.QMainWindow):
print("ERROR")
self.asy2psmap = x2a.asyTransform(xasyObjects['asy2psmap'])
- self.globalObjectCounter = obj.maxKey+1
+ if existsAsy:
+ self.globalObjectCounter = obj.maxKey+1
self.asyfyCanvas()
@@ -2046,7 +2048,7 @@ class MainWindow1(Qw.QMainWindow):
with Qg.QPainter(self.postCanvasPixmap) as postCanvas:
postCanvas.setRenderHints(self.mainCanvas.renderHints())
postCanvas.setTransform(self.getScrsTransform())
- # self.makePenCosmetic(postCanvas)
+ self.makePenCosmetic(postCanvas)
self.drawTransformPreview(postCanvas)
diff --git a/graphics/asymptote/GUI/requirements.txt b/graphics/asymptote/GUI/requirements.txt
index b319223a3c..6e0a44196a 100644
--- a/graphics/asymptote/GUI/requirements.txt
+++ b/graphics/asymptote/GUI/requirements.txt
@@ -1,4 +1,4 @@
-numpy==1.21.0
+numpy==1.22.0
cson==0.7
PyQt5==5.11
rsvg-convert==2.42.3
diff --git a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
index 11f101c700..51cd33465d 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -2,8 +2,8 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# Relative path conversion top directories.
-set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.80/LspCpp")
-set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.80/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.82/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.82/LspCpp")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
diff --git a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
index 8dde621948..68cd85974d 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
+++ b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
@@ -56,10 +56,10 @@ RM = /usr/bin/cmake -E rm -f
EQUALS = =
# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.80/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.82/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.80/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.82/LspCpp
# Utility rule file for doc.
@@ -70,8 +70,8 @@ include third_party/uri/CMakeFiles/doc.dir/compiler_depend.make
include third_party/uri/CMakeFiles/doc.dir/progress.make
third_party/uri/CMakeFiles/doc:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating API documentation with Doxygen"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri && /bin/doxygen /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/Doxyfile
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating API documentation with Doxygen"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri && /bin/doxygen /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/Doxyfile
doc: third_party/uri/CMakeFiles/doc
doc: third_party/uri/CMakeFiles/doc.dir/build.make
@@ -82,10 +82,10 @@ third_party/uri/CMakeFiles/doc.dir/build: doc
.PHONY : third_party/uri/CMakeFiles/doc.dir/build
third_party/uri/CMakeFiles/doc.dir/clean:
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri && $(CMAKE_COMMAND) -P CMakeFiles/doc.dir/cmake_clean.cmake
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri && $(CMAKE_COMMAND) -P CMakeFiles/doc.dir/cmake_clean.cmake
.PHONY : third_party/uri/CMakeFiles/doc.dir/clean
third_party/uri/CMakeFiles/doc.dir/depend:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.80/LspCpp /usr/local/src/asymptote-2.80/LspCpp/third_party/uri /usr/local/src/asymptote-2.80/LspCpp /usr/local/src/asymptote-2.80/LspCpp/third_party/uri /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake --color=$(COLOR)
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.82/LspCpp /usr/local/src/asymptote-2.82/LspCpp/third_party/uri /usr/local/src/asymptote-2.82/LspCpp /usr/local/src/asymptote-2.82/LspCpp/third_party/uri /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : third_party/uri/CMakeFiles/doc.dir/depend
diff --git a/graphics/asymptote/LspCpp/third_party/uri/Doxyfile b/graphics/asymptote/LspCpp/third_party/uri/Doxyfile
index 27a544f618..cd61995ea9 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/Doxyfile
+++ b/graphics/asymptote/LspCpp/third_party/uri/Doxyfile
@@ -128,7 +128,7 @@ FULL_PATH_NAMES = YES
# If left blank the directory from which doxygen is run is used as the
# path to strip.
-STRIP_FROM_PATH = /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/
+STRIP_FROM_PATH = /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells
@@ -626,7 +626,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include
+INPUT = /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -658,7 +658,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.
-EXCLUDE = /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail
+EXCLUDE = /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
@@ -821,7 +821,7 @@ COLS_IN_ALPHA_INDEX = 5
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
# should be ignored while generating the index headers.
-IGNORE_PREFIX = /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/uri/src/
+IGNORE_PREFIX = /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/uri/src/
#---------------------------------------------------------------------------
# configuration options related to the HTML output
diff --git a/graphics/asymptote/LspCpp/third_party/uri/Makefile b/graphics/asymptote/LspCpp/third_party/uri/Makefile
index dde375604f..86b0d21ac4 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/Makefile
+++ b/graphics/asymptote/LspCpp/third_party/uri/Makefile
@@ -60,10 +60,10 @@ RM = /usr/bin/cmake -E rm -f
EQUALS = =
# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.80/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.82/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.80/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.82/LspCpp
#=============================================================================
# Targets provided globally by CMake.
@@ -135,14 +135,14 @@ install/strip/fast: preinstall/fast
# The main all target
all: cmake_check_build_system
- cd /usr/local/src/asymptote-2.80/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.80/LspCpp/CMakeFiles /usr/local/src/asymptote-2.80/LspCpp/third_party/uri//CMakeFiles/progress.marks
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/all
- $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.80/LspCpp/CMakeFiles 0
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.82/LspCpp/CMakeFiles /usr/local/src/asymptote-2.82/LspCpp/third_party/uri//CMakeFiles/progress.marks
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.82/LspCpp/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/clean
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/clean
.PHONY : clean
# The main clean target
@@ -151,22 +151,22 @@ clean/fast: clean
# Prepare targets for installation.
preinstall: all
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
.PHONY : preinstall/fast
# clear depends
depend:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
# Convenience name for target.
third_party/uri/CMakeFiles/doc.dir/rule:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/CMakeFiles/doc.dir/rule
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/CMakeFiles/doc.dir/rule
.PHONY : third_party/uri/CMakeFiles/doc.dir/rule
# Convenience name for target.
@@ -175,7 +175,7 @@ doc: third_party/uri/CMakeFiles/doc.dir/rule
# fast build rule for target.
doc/fast:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/CMakeFiles/doc.dir/build.make third_party/uri/CMakeFiles/doc.dir/build
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/CMakeFiles/doc.dir/build.make third_party/uri/CMakeFiles/doc.dir/build
.PHONY : doc/fast
# Help Target
@@ -202,6 +202,6 @@ help:
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
diff --git a/graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake b/graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
index d656f1a2ea..22997663f4 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
@@ -1,4 +1,4 @@
-# Install script for directory: /usr/local/src/asymptote-2.80/LspCpp/third_party/uri
+# Install script for directory: /usr/local/src/asymptote-2.82/LspCpp/third_party/uri
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@@ -43,12 +43,12 @@ if(NOT DEFINED CMAKE_OBJDUMP)
endif()
if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE DIRECTORY FILES "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include")
+ file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE DIRECTORY FILES "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include")
endif()
if(NOT CMAKE_INSTALL_LOCAL_ONLY)
# Include the install script for each subdirectory.
- include("/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/cmake_install.cmake")
+ include("/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/cmake_install.cmake")
endif()
diff --git a/graphics/asymptote/LspCpp/third_party/uri/deps/docs/assets/css/style.scss b/graphics/asymptote/LspCpp/third_party/uri/deps/docs/assets/css/style.scss
deleted file mode 100644
index bb30f418da..0000000000
--- a/graphics/asymptote/LspCpp/third_party/uri/deps/docs/assets/css/style.scss
+++ /dev/null
@@ -1,5 +0,0 @@
----
----
-
-@import "jekyll-theme-primer";
-@import "main";
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
index 11f101c700..51cd33465d 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -2,8 +2,8 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
# Relative path conversion top directories.
-set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.80/LspCpp")
-set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.80/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.82/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.82/LspCpp")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
index a8b5372c91..75668a664f 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
@@ -8,14 +8,14 @@ set(CMAKE_DEPENDS_LANGUAGES
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
- "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o.d"
- "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_normalize.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o.d"
- "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o.d"
- "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o.d"
- "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_resolve.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o.d"
- "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o.d"
- "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_builder.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o.d"
- "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_errors.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o.d"
+ "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o.d"
+ "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_normalize.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o.d"
+ "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o.d"
+ "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o.d"
+ "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_resolve.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o.d"
+ "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o.d"
+ "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_builder.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o.d"
+ "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_errors.cpp" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o" "gcc" "third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o.d"
)
# Targets to which this target links.
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
index 721c2f3e07..cf80107ca1 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
@@ -56,10 +56,10 @@ RM = /usr/bin/cmake -E rm -f
EQUALS = =
# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.80/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.82/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.80/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.82/LspCpp
# Include any dependencies generated for this target.
include third_party/uri/src/CMakeFiles/network-uri.dir/depend.make
@@ -75,114 +75,114 @@ include third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o: third_party/uri/src/uri.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o -MF CMakeFiles/network-uri.dir/uri.cpp.o.d -o CMakeFiles/network-uri.dir/uri.cpp.o -c /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o -MF CMakeFiles/network-uri.dir/uri.cpp.o.d -o CMakeFiles/network-uri.dir/uri.cpp.o -c /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/uri.cpp.i"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri.cpp > CMakeFiles/network-uri.dir/uri.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri.cpp > CMakeFiles/network-uri.dir/uri.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/uri.cpp.s"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri.cpp -o CMakeFiles/network-uri.dir/uri.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri.cpp -o CMakeFiles/network-uri.dir/uri.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o: third_party/uri/src/uri_builder.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o -MF CMakeFiles/network-uri.dir/uri_builder.cpp.o.d -o CMakeFiles/network-uri.dir/uri_builder.cpp.o -c /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_builder.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o -MF CMakeFiles/network-uri.dir/uri_builder.cpp.o.d -o CMakeFiles/network-uri.dir/uri_builder.cpp.o -c /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_builder.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/uri_builder.cpp.i"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_builder.cpp > CMakeFiles/network-uri.dir/uri_builder.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_builder.cpp > CMakeFiles/network-uri.dir/uri_builder.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/uri_builder.cpp.s"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_builder.cpp -o CMakeFiles/network-uri.dir/uri_builder.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_builder.cpp -o CMakeFiles/network-uri.dir/uri_builder.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o: third_party/uri/src/uri_errors.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o -MF CMakeFiles/network-uri.dir/uri_errors.cpp.o.d -o CMakeFiles/network-uri.dir/uri_errors.cpp.o -c /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_errors.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o -MF CMakeFiles/network-uri.dir/uri_errors.cpp.o.d -o CMakeFiles/network-uri.dir/uri_errors.cpp.o -c /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_errors.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/uri_errors.cpp.i"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_errors.cpp > CMakeFiles/network-uri.dir/uri_errors.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_errors.cpp > CMakeFiles/network-uri.dir/uri_errors.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/uri_errors.cpp.s"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_errors.cpp -o CMakeFiles/network-uri.dir/uri_errors.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_errors.cpp -o CMakeFiles/network-uri.dir/uri_errors.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o: third_party/uri/src/detail/uri_parse.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o -c /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o -c /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse.cpp > CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse.cpp > CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse.cpp -o CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse.cpp -o CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o: third_party/uri/src/detail/uri_parse_authority.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o -c /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o -c /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp > CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp > CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp -o CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp -o CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o: third_party/uri/src/detail/uri_advance_parts.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o -c /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o -c /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp > CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp > CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp -o CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp -o CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o: third_party/uri/src/detail/uri_normalize.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o -c /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o -c /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_normalize.cpp > CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_normalize.cpp > CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_normalize.cpp -o CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_normalize.cpp -o CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o: third_party/uri/src/detail/uri_resolve.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o: third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o -c /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o -MF CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o.d -o CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o -c /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_resolve.cpp > CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_resolve.cpp > CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_resolve.cpp -o CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_resolve.cpp -o CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s
# Object files for target network-uri
network__uri_OBJECTS = \
@@ -208,19 +208,19 @@ third_party/uri/src/libnetwork-uri.a: third_party/uri/src/CMakeFiles/network-uri
third_party/uri/src/libnetwork-uri.a: third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
third_party/uri/src/libnetwork-uri.a: third_party/uri/src/CMakeFiles/network-uri.dir/build.make
third_party/uri/src/libnetwork-uri.a: third_party/uri/src/CMakeFiles/network-uri.dir/link.txt
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/usr/local/src/asymptote-2.80/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Linking CXX static library libnetwork-uri.a"
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean_target.cmake
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/network-uri.dir/link.txt --verbose=$(VERBOSE)
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/usr/local/src/asymptote-2.82/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Linking CXX static library libnetwork-uri.a"
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean_target.cmake
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/network-uri.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
third_party/uri/src/CMakeFiles/network-uri.dir/build: third_party/uri/src/libnetwork-uri.a
.PHONY : third_party/uri/src/CMakeFiles/network-uri.dir/build
third_party/uri/src/CMakeFiles/network-uri.dir/clean:
- cd /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean.cmake
+ cd /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean.cmake
.PHONY : third_party/uri/src/CMakeFiles/network-uri.dir/clean
third_party/uri/src/CMakeFiles/network-uri.dir/depend:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.80/LspCpp /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.80/LspCpp /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake --color=$(COLOR)
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.82/LspCpp /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.82/LspCpp /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : third_party/uri/src/CMakeFiles/network-uri.dir/depend
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
index cbae0e9b8d..c777aff35a 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
@@ -2,10 +2,10 @@
# Generated by "Unix Makefiles" Generator, CMake Version 3.22
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
/usr/include/c++/11/string
/usr/include/c++/11/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -171,7 +171,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
/usr/include/c++/11/typeinfo
/usr/include/c++/11/bits/nested_exception.h
/usr/include/c++/11/bits/streambuf.tcc
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/optional.hpp
/usr/include/c++/11/memory
/usr/include/c++/11/bits/stl_uninitialized.h
/usr/include/c++/11/bits/stl_tempbuf.h
@@ -198,16 +198,16 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
/usr/include/c++/11/bits/algorithmfwd.h
/usr/include/c++/11/bits/stl_heap.h
/usr/include/c++/11/bits/uniform_int_dist.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/11/cassert
/usr/include/assert.h
/usr/include/c++/11/limits
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri.hpp
/usr/include/c++/11/iterator
/usr/include/c++/11/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -401,21 +401,21 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
/usr/include/c++/11/bits/atomic_base.h
/usr/include/c++/11/bits/atomic_lockfree_defines.h
/usr/include/c++/11/backward/auto_ptr.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/11/cassert
/usr/include/assert.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
/usr/include/c++/11/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
/usr/include/c++/11/vector
/usr/include/c++/11/bits/stl_vector.h
/usr/include/c++/11/bits/stl_bvector.h
@@ -436,14 +436,14 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
/usr/include/c++/11/bits/codecvt.h
/usr/include/c++/11/bits/locale_facets_nonio.tcc
/usr/include/c++/11/bits/locale_conv.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/algorithm.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/algorithm.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse.cpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/11/string
/usr/include/c++/11/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -618,7 +618,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
/usr/include/c++/11/bits/stl_tempbuf.h
/usr/include/c++/11/bits/uniform_int_dist.h
/usr/include/c++/11/limits
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/grammar.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/grammar.hpp
/usr/include/c++/11/locale
/usr/include/c++/11/bits/locale_facets.h
/usr/include/c++/11/cwctype
@@ -643,8 +643,8 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
/usr/include/c++/11/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/optional.hpp
/usr/include/c++/11/memory
/usr/include/c++/11/bits/stl_uninitialized.h
/usr/include/c++/11/bits/stl_raw_storage_iter.h
@@ -662,10 +662,10 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
/usr/include/c++/11/backward/auto_ptr.h
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
/usr/include/c++/11/string
/usr/include/c++/11/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -831,7 +831,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
/usr/include/c++/11/typeinfo
/usr/include/c++/11/bits/nested_exception.h
/usr/include/c++/11/bits/streambuf.tcc
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/optional.hpp
/usr/include/c++/11/memory
/usr/include/c++/11/bits/stl_uninitialized.h
/usr/include/c++/11/bits/stl_tempbuf.h
@@ -858,11 +858,11 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
/usr/include/c++/11/bits/algorithmfwd.h
/usr/include/c++/11/bits/stl_heap.h
/usr/include/c++/11/bits/uniform_int_dist.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/11/cassert
/usr/include/assert.h
/usr/include/c++/11/limits
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/grammar.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/grammar.hpp
/usr/include/c++/11/locale
/usr/include/c++/11/bits/locale_facets.h
/usr/include/c++/11/cwctype
@@ -884,10 +884,10 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
/usr/include/strings.h
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri.hpp
/usr/include/c++/11/iterator
/usr/include/c++/11/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -1081,25 +1081,25 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
/usr/include/c++/11/bits/atomic_base.h
/usr/include/c++/11/bits/atomic_lockfree_defines.h
/usr/include/c++/11/backward/auto_ptr.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/11/cassert
/usr/include/assert.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
/usr/include/c++/11/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
/usr/include/c++/11/cstddef
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri.cpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri.cpp
/usr/include/stdc-predef.h
/usr/include/c++/11/cassert
/usr/include/c++/11/x86_64-redhat-linux/bits/c++config.h
@@ -1296,7 +1296,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
/usr/include/c++/11/functional
/usr/include/c++/11/bits/refwrap.h
/usr/include/c++/11/bits/std_function.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri.hpp
/usr/include/c++/11/iterator
/usr/include/c++/11/bits/stream_iterator.h
/usr/include/c++/11/memory
@@ -1313,31 +1313,31 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
/usr/include/c++/11/bits/atomic_base.h
/usr/include/c++/11/bits/atomic_lockfree_defines.h
/usr/include/c++/11/backward/auto_ptr.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/string_view.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
/usr/include/c++/11/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
/usr/include/c++/11/vector
/usr/include/c++/11/bits/stl_vector.h
/usr/include/c++/11/bits/stl_bvector.h
/usr/include/c++/11/bits/vector.tcc
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/algorithm.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/algorithm.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_builder.cpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_builder.cpp
/usr/include/stdc-predef.h
/usr/include/c++/11/locale
/usr/include/c++/11/bits/localefwd.h
@@ -1523,8 +1523,8 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
/usr/include/c++/11/array
/usr/include/c++/11/bits/uses_allocator.h
/usr/include/c++/11/bits/invoke.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri.hpp
/usr/include/c++/11/iterator
/usr/include/c++/11/bits/stream_iterator.h
/usr/include/c++/11/algorithm
@@ -1550,25 +1550,25 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
/usr/include/c++/11/bits/atomic_base.h
/usr/include/c++/11/bits/atomic_lockfree_defines.h
/usr/include/c++/11/backward/auto_ptr.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/11/cassert
/usr/include/assert.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
/usr/include/c++/11/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/detail/algorithm.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/detail/algorithm.hpp
third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/uri_errors.cpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/uri_errors.cpp
/usr/include/stdc-predef.h
/usr/include/c++/11/string
/usr/include/c++/11/x86_64-redhat-linux/bits/c++config.h
@@ -1717,7 +1717,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
/usr/include/c++/11/bits/functional_hash.h
/usr/include/c++/11/bits/hash_bytes.h
/usr/include/c++/11/bits/basic_string.tcc
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
/usr/include/c++/11/system_error
/usr/include/c++/11/x86_64-redhat-linux/bits/error_constants.h
/usr/include/c++/11/stdexcept
@@ -1726,5 +1726,5 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
/usr/include/c++/11/bits/cxxabi_init_exception.h
/usr/include/c++/11/typeinfo
/usr/include/c++/11/bits/nested_exception.h
- /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include/network/uri/config.hpp
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
index 0f19377248..001b66741d 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
@@ -4,7 +4,7 @@
# compile CXX with /bin/c++
CXX_DEFINES =
-CXX_INCLUDES = -I/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src -I/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/include
+CXX_INCLUDES = -I/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src -I/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/include
CXX_FLAGS = -fPIE -D_FILE_OFFSET_BITS=64 -DUSEGC -I../gc-8.2.0/include -std=c++11 -Wall -Werror -Wno-parentheses -O2 -g -DNDEBUG
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/Makefile b/graphics/asymptote/LspCpp/third_party/uri/src/Makefile
index e4b5c4c937..fca7499fb8 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/Makefile
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/Makefile
@@ -60,10 +60,10 @@ RM = /usr/bin/cmake -E rm -f
EQUALS = =
# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.80/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.82/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.80/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.82/LspCpp
#=============================================================================
# Targets provided globally by CMake.
@@ -135,14 +135,14 @@ install/strip/fast: preinstall/fast
# The main all target
all: cmake_check_build_system
- cd /usr/local/src/asymptote-2.80/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.80/LspCpp/CMakeFiles /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src//CMakeFiles/progress.marks
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/all
- $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.80/LspCpp/CMakeFiles 0
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.82/LspCpp/CMakeFiles /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src//CMakeFiles/progress.marks
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.82/LspCpp/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/clean
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/clean
.PHONY : clean
# The main clean target
@@ -151,22 +151,22 @@ clean/fast: clean
# Prepare targets for installation.
preinstall: all
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
.PHONY : preinstall/fast
# clear depends
depend:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
# Convenience name for target.
third_party/uri/src/CMakeFiles/network-uri.dir/rule:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/CMakeFiles/network-uri.dir/rule
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/CMakeFiles/network-uri.dir/rule
.PHONY : third_party/uri/src/CMakeFiles/network-uri.dir/rule
# Convenience name for target.
@@ -175,7 +175,7 @@ network-uri: third_party/uri/src/CMakeFiles/network-uri.dir/rule
# fast build rule for target.
network-uri/fast:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/build
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/build
.PHONY : network-uri/fast
detail/uri_advance_parts.o: detail/uri_advance_parts.cpp.o
@@ -183,7 +183,7 @@ detail/uri_advance_parts.o: detail/uri_advance_parts.cpp.o
# target to build an object file
detail/uri_advance_parts.cpp.o:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
.PHONY : detail/uri_advance_parts.cpp.o
detail/uri_advance_parts.i: detail/uri_advance_parts.cpp.i
@@ -191,7 +191,7 @@ detail/uri_advance_parts.i: detail/uri_advance_parts.cpp.i
# target to preprocess a source file
detail/uri_advance_parts.cpp.i:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.i
.PHONY : detail/uri_advance_parts.cpp.i
detail/uri_advance_parts.s: detail/uri_advance_parts.cpp.s
@@ -199,7 +199,7 @@ detail/uri_advance_parts.s: detail/uri_advance_parts.cpp.s
# target to generate assembly for a file
detail/uri_advance_parts.cpp.s:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.s
.PHONY : detail/uri_advance_parts.cpp.s
detail/uri_normalize.o: detail/uri_normalize.cpp.o
@@ -207,7 +207,7 @@ detail/uri_normalize.o: detail/uri_normalize.cpp.o
# target to build an object file
detail/uri_normalize.cpp.o:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
.PHONY : detail/uri_normalize.cpp.o
detail/uri_normalize.i: detail/uri_normalize.cpp.i
@@ -215,7 +215,7 @@ detail/uri_normalize.i: detail/uri_normalize.cpp.i
# target to preprocess a source file
detail/uri_normalize.cpp.i:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
.PHONY : detail/uri_normalize.cpp.i
detail/uri_normalize.s: detail/uri_normalize.cpp.s
@@ -223,7 +223,7 @@ detail/uri_normalize.s: detail/uri_normalize.cpp.s
# target to generate assembly for a file
detail/uri_normalize.cpp.s:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.s
.PHONY : detail/uri_normalize.cpp.s
detail/uri_parse.o: detail/uri_parse.cpp.o
@@ -231,7 +231,7 @@ detail/uri_parse.o: detail/uri_parse.cpp.o
# target to build an object file
detail/uri_parse.cpp.o:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
.PHONY : detail/uri_parse.cpp.o
detail/uri_parse.i: detail/uri_parse.cpp.i
@@ -239,7 +239,7 @@ detail/uri_parse.i: detail/uri_parse.cpp.i
# target to preprocess a source file
detail/uri_parse.cpp.i:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
.PHONY : detail/uri_parse.cpp.i
detail/uri_parse.s: detail/uri_parse.cpp.s
@@ -247,7 +247,7 @@ detail/uri_parse.s: detail/uri_parse.cpp.s
# target to generate assembly for a file
detail/uri_parse.cpp.s:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.s
.PHONY : detail/uri_parse.cpp.s
detail/uri_parse_authority.o: detail/uri_parse_authority.cpp.o
@@ -255,7 +255,7 @@ detail/uri_parse_authority.o: detail/uri_parse_authority.cpp.o
# target to build an object file
detail/uri_parse_authority.cpp.o:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
.PHONY : detail/uri_parse_authority.cpp.o
detail/uri_parse_authority.i: detail/uri_parse_authority.cpp.i
@@ -263,7 +263,7 @@ detail/uri_parse_authority.i: detail/uri_parse_authority.cpp.i
# target to preprocess a source file
detail/uri_parse_authority.cpp.i:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.i
.PHONY : detail/uri_parse_authority.cpp.i
detail/uri_parse_authority.s: detail/uri_parse_authority.cpp.s
@@ -271,7 +271,7 @@ detail/uri_parse_authority.s: detail/uri_parse_authority.cpp.s
# target to generate assembly for a file
detail/uri_parse_authority.cpp.s:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.s
.PHONY : detail/uri_parse_authority.cpp.s
detail/uri_resolve.o: detail/uri_resolve.cpp.o
@@ -279,7 +279,7 @@ detail/uri_resolve.o: detail/uri_resolve.cpp.o
# target to build an object file
detail/uri_resolve.cpp.o:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
.PHONY : detail/uri_resolve.cpp.o
detail/uri_resolve.i: detail/uri_resolve.cpp.i
@@ -287,7 +287,7 @@ detail/uri_resolve.i: detail/uri_resolve.cpp.i
# target to preprocess a source file
detail/uri_resolve.cpp.i:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
.PHONY : detail/uri_resolve.cpp.i
detail/uri_resolve.s: detail/uri_resolve.cpp.s
@@ -295,7 +295,7 @@ detail/uri_resolve.s: detail/uri_resolve.cpp.s
# target to generate assembly for a file
detail/uri_resolve.cpp.s:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.s
.PHONY : detail/uri_resolve.cpp.s
uri.o: uri.cpp.o
@@ -303,7 +303,7 @@ uri.o: uri.cpp.o
# target to build an object file
uri.cpp.o:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
.PHONY : uri.cpp.o
uri.i: uri.cpp.i
@@ -311,7 +311,7 @@ uri.i: uri.cpp.i
# target to preprocess a source file
uri.cpp.i:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.i
.PHONY : uri.cpp.i
uri.s: uri.cpp.s
@@ -319,7 +319,7 @@ uri.s: uri.cpp.s
# target to generate assembly for a file
uri.cpp.s:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.s
.PHONY : uri.cpp.s
uri_builder.o: uri_builder.cpp.o
@@ -327,7 +327,7 @@ uri_builder.o: uri_builder.cpp.o
# target to build an object file
uri_builder.cpp.o:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
.PHONY : uri_builder.cpp.o
uri_builder.i: uri_builder.cpp.i
@@ -335,7 +335,7 @@ uri_builder.i: uri_builder.cpp.i
# target to preprocess a source file
uri_builder.cpp.i:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.i
.PHONY : uri_builder.cpp.i
uri_builder.s: uri_builder.cpp.s
@@ -343,7 +343,7 @@ uri_builder.s: uri_builder.cpp.s
# target to generate assembly for a file
uri_builder.cpp.s:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.s
.PHONY : uri_builder.cpp.s
uri_errors.o: uri_errors.cpp.o
@@ -351,7 +351,7 @@ uri_errors.o: uri_errors.cpp.o
# target to build an object file
uri_errors.cpp.o:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
.PHONY : uri_errors.cpp.o
uri_errors.i: uri_errors.cpp.i
@@ -359,7 +359,7 @@ uri_errors.i: uri_errors.cpp.i
# target to preprocess a source file
uri_errors.cpp.i:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.i
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.i
.PHONY : uri_errors.cpp.i
uri_errors.s: uri_errors.cpp.s
@@ -367,7 +367,7 @@ uri_errors.s: uri_errors.cpp.s
# target to generate assembly for a file
uri_errors.cpp.s:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.s
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(MAKE) $(MAKESILENT) -f third_party/uri/src/CMakeFiles/network-uri.dir/build.make third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.s
.PHONY : uri_errors.cpp.s
# Help Target
@@ -418,6 +418,6 @@ help:
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
- cd /usr/local/src/asymptote-2.80/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+ cd /usr/local/src/asymptote-2.82/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake b/graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
index 317e18a983..7adcfd9711 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
@@ -1,4 +1,4 @@
-# Install script for directory: /usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src
+# Install script for directory: /usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
@@ -43,6 +43,6 @@ if(NOT DEFINED CMAKE_OBJDUMP)
endif()
if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/usr/local/src/asymptote-2.80/LspCpp/third_party/uri/src/libnetwork-uri.a")
+ file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/usr/local/src/asymptote-2.82/LspCpp/third_party/uri/src/libnetwork-uri.a")
endif()
diff --git a/graphics/asymptote/Makefile.in b/graphics/asymptote/Makefile.in
index 2e6bec801f..a59ebd9d8d 100644
--- a/graphics/asymptote/Makefile.in
+++ b/graphics/asymptote/Makefile.in
@@ -355,7 +355,10 @@ cleaner: FORCE clean
distclean: FORCE cleaner
cd doc && $(MAKE) distclean
- cd LspCpp && rm -rf CMakeCache.txt CMakeDoxyfile.in CMakeDoxygenDefaults.cmake CMakeFiles Makefile cmake_install.cmake
+ cd LspCpp && rm -rf CMakeCache.txt CMakeDoxyfile.in \
+ CMakeDoxygenDefaults.cmake CMakeFiles Makefile cmake_install.cmake \
+ third_party/uri/src/CMakeFiles/network-uri.dir/detail
+
cleanest: FORCE maintainer-clean
maintainer-clean: FORCE distclean
diff --git a/graphics/asymptote/ReleaseNotes b/graphics/asymptote/ReleaseNotes
index 6262a7d7df..94ce0070a8 100644
--- a/graphics/asymptote/ReleaseNotes
+++ b/graphics/asymptote/ReleaseNotes
@@ -1,4 +1,25 @@
+Release Notes for Version 2.82
+Support for Ghostscript 9.56 was added.
+Ambiguous functions are listed.
+The dvisvgmMultipleFiles option is now enabled by default.
+A bug in generating PDF labels was fixed.
+The mean color of multicoloured patches is output only for PRC code.
+Subdivision crack adjustments were disabled for transparent patches.
+The OpenGL transparency shader was further accelerated.
+WebGL bounding boxes are now computed by the client upon loading.
+Version 1.02 of the AsyGL library was released.
+
+Release Notes for Version 2.81
+
+Schur decompositions were implemented. A bug in uniform() was fixed.
+The Xasy bounding box and a crash when opening Xasy files were fixed.
+The transparency offset buffer is zeroed when GPU compression is unavailable.
+The surface constructor for solids of revolution was documented.
+Support for pkg-config was added. Opaque rendering on platforms lacking
+GL_ARB_fragment_shader_interlock was fixed.
+
Release Notes for Version 2.80
+
Compression of empty transparent pixel counts and other optimizations were
implemented in the transparency shader. A weighted least-squares fit was added.
diff --git a/graphics/asymptote/abs3doutfile.h b/graphics/asymptote/abs3doutfile.h
index 78568c14a9..2a6041e775 100644
--- a/graphics/asymptote/abs3doutfile.h
+++ b/graphics/asymptote/abs3doutfile.h
@@ -19,56 +19,52 @@ protected:
bool singleprecision;
public:
abs3Doutfile(bool singleprecision=false) : singleprecision(singleprecision) {}
- virtual ~abs3Doutfile() = default;
+ virtual ~abs3Doutfile()=default;
virtual void close()=0;
- virtual void addPatch(triple const* controls, triple const& Min, triple const& Max, prc::RGBAColour const* c) = 0;
+ virtual void addPatch(triple const* controls, prc::RGBAColour const* c)=0;
virtual void addStraightPatch(
- triple const* controls, triple const& Min, triple const& Max, prc::RGBAColour const* c) = 0;
+ triple const* controls, prc::RGBAColour const* c)=0;
virtual void addBezierTriangle(
- triple const* controls, triple const& Min, triple const& Max, prc::RGBAColour const* c) = 0;
+ triple const* controls, prc::RGBAColour const* c)=0;
virtual void addStraightBezierTriangle(
- triple const* controls, triple const& Min, triple const& Max, prc::RGBAColour const* c) = 0;
+ triple const* controls, prc::RGBAColour const* c)=0;
#ifdef HAVE_LIBGLM
- virtual void addMaterial(Material const& mat) = 0;
+ virtual void addMaterial(Material const& mat)=0;
#endif
- virtual void addSphere(triple const& center, double radius) = 0;
+ virtual void addSphere(triple const& center, double radius)=0;
- virtual void addHemisphere(triple const& center, double radius, double const& polar, double const& azimuth) = 0;
+ virtual void addHemisphere(triple const& center, double radius, double const& polar, double const& azimuth)=0;
virtual void addCylinder(triple const& center, double radius, double height,
double const& polar, const double& azimuth,
- bool core) = 0;
+ bool core)=0;
virtual void addDisk(triple const& center, double radius,
- double const& polar, const double& azimuth) = 0;
+ double const& polar, const double& azimuth)=0;
- virtual void addTube(const triple* g, double width,
- const triple& Min, const triple& Max, bool core) = 0;
+ virtual void addTube(const triple* g, double width, bool core)=0;
virtual void addTriangles(size_t nP, const triple* P, size_t nN,
const triple* N, size_t nC, const prc::RGBAColour* C,
size_t nI, const uint32_t (* PI)[3],
- const uint32_t (* NI)[3], const uint32_t (* CI)[3],
- const triple& Min, const triple& Max) = 0;
+ const uint32_t (* NI)[3],
+ const uint32_t (* CI)[3])=0;
virtual void addCurve(const triple& z0, const triple& c0,
- const triple& c1, const triple& z1,
- const triple& Min, const triple& Max) = 0;
+ const triple& c1, const triple& z1)=0;
- virtual void addCurve(const triple& z0, const triple& z1,
- const triple& Min, const triple& Max) = 0;
+ virtual void addCurve(const triple& z0, const triple& z1)=0;
- virtual void addPixel(const triple& z0, double width,
- const triple& Min, const triple& Max) = 0;
+ virtual void addPixel(const triple& z0, double width)=0;
- virtual void precision(int digits) = 0;
+ virtual void precision(int digits)=0;
};
diff --git a/graphics/asymptote/asy-keywords.el b/graphics/asymptote/asy-keywords.el
index a66ff28210..73b5e633c1 100644
--- a/graphics/asymptote/asy-keywords.el
+++ b/graphics/asymptote/asy-keywords.el
@@ -2,16 +2,16 @@
;; This file is automatically generated by asy-list.pl.
;; Changes will be overwritten.
;;
-(defvar asy-keywords-version "2.80")
+(defvar asy-keywords-version "2.82")
(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 ))
(defvar asy-type-name '(
-Braid FitResult Label Legend Solution TreeNode abscissa arc arrowhead binarytree binarytreeNode block bool bool3 bounds bqe circle conic coord coordsys cputime ellipse evaluatedpoint file filltype frame grid3 guide horner hsv hyperbola int inversion key light line linefit marginT marker mass node object pair parabola patch path path3 pen picture point position positionedvector projection rational real revolution scaleT scientific segment side simplex slice solution splitface string surface tensionSpecifier ticklocate ticksgridT tickvalues transform transformation tree triangle trilinear triple vector vertex void ))
+Braid FitResult Label Legend Solution TreeNode abscissa arc arrowhead binarytree binarytreeNode block bool bool3 bounds bqe circle conic coord coordsys cputime ellipse evaluatedpoint file filltype frame grid3 guide horner hsv hyperbola int inversion key light line linefit marginT marker mass node object pair parabola patch path path3 pen picture point position positionedvector projection rational real realschur revolution scaleT schur scientific segment side simplex slice solution splitface string surface tensionSpecifier ticklocate ticksgridT tickvalues transform transformation tree triangle trilinear triple vector vertex void ))
(defvar asy-function-name '(
-AND Align Arc ArcArrow ArcArrows Arrow Arrows AtA Automatic AvantGarde B03 B13 B23 B33 BBox BWRainbow BWRainbow2 Bar Bars BeginArcArrow BeginArrow BeginBar BeginDotMargin BeginMargin BeginPenMargin Blank Bookman Bottom BottomTop Bounds Break Broken BrokenLog CLZ CTZ Ceil Circle CircleBarIntervalMarker Cos Courier CrossIntervalMarker DOSendl DOSnewl DefaultFormat DefaultLogFormat Degrees Dir DotMargin DotMargins Dotted Draw Drawline Embed EndArcArrow EndArrow EndBar EndDotMargin EndMargin EndPenMargin Fill FillDraw Finite Floor Format Full Gaussian Gaussrand Gaussrandpair Gradient Grayscale Helvetica Hermite HookHead InOutTicks InTicks Jn Label Landscape Left LeftRight LeftTicks Legend Linear Log LogFormat Margin Margins Mark MidArcArrow MidArrow NOT NewCenturySchoolBook NoBox NoMargin NoModifier NoTicks NoTicks3 NoZero NoZeroFormat None OR OmitFormat OmitTick OmitTickInterval OmitTickIntervals OutTicks Ox Oy Palatino PaletteTicks Pen PenMargin PenMargins Pentype Portrait RGB RadialShade RadialShadeDraw Rainbow Range Relative Right RightTicks Rotate Round SQR Scale ScaleX ScaleY ScaleZ Seascape Shift Sin Slant Spline StickIntervalMarker Straight Symbol Tan TeXify Ticks Ticks3 TildeIntervalMarker TimesRoman Top TrueMargin UnFill UpsideDown Wheel X XEquals XOR XY XYEquals XYZero XYgrid XZEquals XZZero XZero XZgrid Y YEquals YXgrid YZ YZEquals YZZero YZero YZgrid Yn Z ZX ZXgrid ZYgrid ZapfChancery ZapfDingbats _begingroup3 _cputime _draw _eval _findroot _image _labelpath _projection _shipout _strokepath _texpath aCos aSin aTan abort abs abs2 accel acos acosh acot acsc activatequote add addArrow addMargins addSaveFunction addpenarc addpenline addseg adjust alias align all altitude angabscissa angle angledegrees angpoint animate annotate anticomplementary antipedal apply approximate arc arcarrowsize arccircle arcdir arcfromcenter arcfromfocus arclength arcnodesnumber arcpoint arcsubtended arcsubtendedcenter arctime arctopath array arrow arrow2 arrowbase arrowbasepoints arrowsize ascii asec asin asinh ask assert asy asycode asydir asyfigure asyfilecode asyinclude asywrite atan atan2 atanh atbreakpoint atexit attach attract atupdate autoformat autoscale autoscale3 axes axes3 axialshade axis axiscoverage azimuth babel background bangles bar barmarksize barsize basealign baseline bbox beep begin beginclip begingroup beginpoint between bevel bezier bezierP bezierPP bezierPPP bezulate bibliography bibliographystyle binarytree binarytreeNode binomial bins bisector bisectorpoint bispline bispline0 bitreverse blend blockconnector box bqe brace breakpoint breakpoints brick buildRestoreDefaults buildRestoreThunk buildcycle bulletcolor byte byteinv calculateScaling canonical canonicalcartesiansystem cartesiansystem case1 case2 case3 cbrt cd ceil center centerToFocus centroid cevian change2 changecoordsys checkSegment check_fpt_zero checkconditionlength checker checkincreasing checklengths checkposition checkpt checkptincube checktriangle choose circle circlebarframe circlemarkradius circlenodesnumber circumcenter circumcircle clamped clear clip clipdraw close cmyk code colatitude collect collinear color colorless colors colorspace comma compassmark complement complementary concat concurrent cone conic conicnodesnumber conictype conj connect containmentTree contains contour contour3 controlSpecifier convert coordinates coordsys copy copyPairOrTriple cos cosh cot countIntersections cputime crop cropcode cross crossframe crosshatch crossmarksize csc cubicroots curabscissa curlSpecifier curpoint currentarrow currentexitfunction currentmomarrow currentpolarconicroutine curve cut cutafter cutbefore cyclic cylinder deactivatequote debugger deconstruct defaultdir defaultformat defaultpen defined degenerate degrees delete deletepreamble determinant diagonal diamond diffdiv dir dirSpecifier dirtime display distance divisors do_overpaint dot dotframe dotsize downcase draw drawAll drawCylinder drawDisk drawDoubleLine drawFermion drawGhost drawGluon drawMomArrow drawPhoton drawScalar drawSphere drawTube drawVertex drawVertexBox drawVertexBoxO drawVertexBoxX drawVertexO drawVertexOX drawVertexTriangle drawVertexTriangleO drawVertexX drawarrow drawarrow2 drawbeziertriangle drawline drawpixel drawstrokepath drawtick duplicate elle ellipse ellipsenodesnumber embed embed3 embedplayer empty enclose end endclip endgroup endgroup3 endl endpoint endpoints eof eol equation equations erase erasestep erf erfc error errorbar errorbars eval excenter excircle exit exitfunction exp expfactors expi expm1 exradius extend extension extouch fabs factorial fermat fft fhorner figure file filecode fill filldraw filloutside fillrule filltype find findall findroot finite finiteDifferenceJacobian firstcut firstframe fit fit2 fixedscaling floor flush fmdefaults fmod focusToCenter font fontcommand fontsize foot format frac frequency fromCenter fromFocus fspline functionshade gamma gcd generate_random_backtrace generateticks gergonne getc getint getpair getreal getstring gettriple gluon gouraudshade graph graphic graphicscale graphwithderiv gray grestore grid grid3 gsave halfbox hatch hdiffdiv hermite hex histogram history hline hprojection hsv hyperbola hyperbolanodesnumber hyperlink hypot identity image implicitsurface importv3d incenter incentral incircle increasing incrementposition indexedfigure initdefaults initialized input inradius insert inside insphere integrate interactive interior interp interpolate intersect intersection intersectionpoint intersectionpoints intersections intouch inverse inversion invisible is3D isDuplicate isnan isogonal isogonalconjugate isometry isotomic isotomicconjugate isparabola italic item jobname key kurtosis kurtosisexcess label labelaxis labelmargin labelpath labels labeltick labelx labelx3 labely labely3 labelz labelz3 lastcut latex latitude latticeshade layer layout lcm ldexp leastsquares legend legenditem length lexorder lift light limits line linear linecap lineinversion linejoin linemargin lineskip linetype linewidth link list lm_enorm lm_evaluate_default lm_lmdif lm_lmpar lm_minimize lm_print_default lm_print_quiet lm_qrfac lm_qrsolv locale locate locatefile location log log10 log1p logaxiscoverage longitude lookup make3dgrid makeMappingArray makeNode makecircle makedraw makepen maketriangle map mapArray mapTemplate margin markangle markangleradius markanglespace markarc marker markinterval marknodes markrightangle markthin markuniform mass masscenter massformat math max max3 maxAfterTransform maxbezier maxbound maxcoords maxlength maxratio maxtimes mean medial median midpoint min min3 minAfterTransform minbezier minbound minipage minratio mintimes miterlimit mktemp momArrowPath momarrowsize monotonic multifigure nGrad nativeformat natural newl newpage newslide newton newtree nextframe nextnormal nextpage nib nodabscissa node none norm normalout normalvideo notaknot nowarn numberpage nurb object offset onpath opacity opposite orient orientation origin orthic orthocentercenter outdirectory outformat outline outname outprefix output overloadedMessage overwrite pack pad pairs palette parabola parabolanodesnumber parallel parallelogram partialsum patchwithnormals path path3 pathbetween pathinface pattern pause pdf pedal periodic perp perpendicular perpendicularmark phantom phi1 phi2 phi3 phi4 photon piecewisestraight point polar polarconicroutine polargraph polygon popcount postcontrol postscript pow10 ppoint prc prc0 prconly precision precontrol prepend primitive printBytecode print_random_addresses progress project projection projecttospan projecttospan_findcoeffs purge pwhermite quadpatches quadrant quadraticroots quantize quarticroots quotient radialshade radians radicalcenter radicalline radius rand randompath rationalidentity rd readline realmult realquarticroots rectangle rectangular rectify reflect relabscissa relative relativedistance reldir relpoint reltime remainder remark removeDuplicates rename render replace report resetdefaultpen restore restoredefaults reverse reversevideo rf rfind rgb rgba rgbint rms rotate rotateO rotation round roundbox roundedpath roundrectangle samecoordsys sameside sample save savedefaults saveline scale scale3 scaleO scaleT scaleless scientific search searchtree sec secondaryX secondaryY seconds section sector seek seekeof segment segmentlimits sequence setpens sgn sgnd sharpangle sharpdegrees shift shiftless shipout shipout3 show simeq simplex simplexInit simplexPhase1 simplexPhase2 simplexTableau simplexWrite simpson sin sinh size size3 skewness skip slant sleep slice slope slopefield solve solveBVP sort sourceline sphere split sqrt square srand standardizecoordsys stdev step stickframe stickmarksize stickmarkspace stop straight straightness string stripdirectory stripextension stripfile stripsuffix strokepath subdivide subitem subpath substr sum surface symmedial symmedian system tab tableau tan tangent tangential tangents tanh tell tensionSpecifier tensorshade tex texcolor texify texpath texpreamble texreset texshipout texsize texstring textpath thick thin tick tickMax tickMax3 tickMin tickMin3 ticklabelshift ticklocate tildeframe tildemarksize tile tiling time times title titlepage topbox transform transformation transpose trembleFuzz triangle triangleAbc triangleabc triangletoquads trianglewithnormals triangulate tricoef tridiagonal trilinear trim truepoint tube type uncycle unfill uniform unique unit unitrand unitsize unityroot unstraighten upcase updatefunction uperiodic upscale uptodate usepackage usersetting usetypescript usleep value variance variancebiased vbox vector vectorfield verbatim view vline vperiodic vprojection warn warning windingnumber write xasyKEY xaxis xaxis3 xaxis3At xaxisAt xequals xlimits xmap xpart xscale xscaleO xtick xtick3 xtrans yaxis yaxis3 yaxis3At yaxisAt yequals ylimits ypart yscale yscaleO ytick ytick3 ytrans zaxis3 zaxis3At zero zlimits zpart ztick ztick3 ztrans ))
+AND Align Arc ArcArrow ArcArrows Arrow Arrows AtA Automatic AvantGarde B03 B13 B23 B33 BBox BWRainbow BWRainbow2 Bar Bars BeginArcArrow BeginArrow BeginBar BeginDotMargin BeginMargin BeginPenMargin Blank Bookman Bottom BottomTop Bounds Break Broken BrokenLog CLZ CTZ Ceil Circle CircleBarIntervalMarker Cos Courier CrossIntervalMarker DOSendl DOSnewl DefaultFormat DefaultLogFormat Degrees Dir DotMargin DotMargins Dotted Draw Drawline Embed EndArcArrow EndArrow EndBar EndDotMargin EndMargin EndPenMargin Fill FillDraw Finite Floor Format Full Gaussian Gaussrand Gaussrandpair Gradient Grayscale Helvetica Hermite HookHead InOutTicks InTicks Jn Label Landscape Left LeftRight LeftTicks Legend Linear Log LogFormat Margin Margins Mark MidArcArrow MidArrow NOT NewCenturySchoolBook NoBox NoMargin NoModifier NoTicks NoTicks3 NoZero NoZeroFormat None OR OmitFormat OmitTick OmitTickInterval OmitTickIntervals OutTicks Ox Oy Palatino PaletteTicks Pen PenMargin PenMargins Pentype Portrait RGB RadialShade RadialShadeDraw Rainbow Range Relative Right RightTicks Rotate Round SQR Scale ScaleX ScaleY ScaleZ Seascape Shift Sin Slant Spline StickIntervalMarker Straight Symbol Tan TeXify Ticks Ticks3 TildeIntervalMarker TimesRoman Top TrueMargin UnFill UpsideDown Wheel X XEquals XOR XY XYEquals XYZero XYgrid XZEquals XZZero XZero XZgrid Y YEquals YXgrid YZ YZEquals YZZero YZero YZgrid Yn Z ZX ZXgrid ZYgrid ZapfChancery ZapfDingbats _begingroup3 _cputime _draw _eval _findroot _image _labelpath _projection _schur _shipout _strokepath _texpath aCos aSin aTan abort abs abs2 accel acos acosh acot acsc activatequote add addArrow addMargins addSaveFunction addpenarc addpenline addseg adjust alias align all altitude angabscissa angle angledegrees angpoint animate annotate anticomplementary antipedal apply approximate arc arcarrowsize arccircle arcdir arcfromcenter arcfromfocus arclength arcnodesnumber arcpoint arcsubtended arcsubtendedcenter arctime arctopath array arrow arrow2 arrowbase arrowbasepoints arrowsize ascii asec asin asinh ask assert asy asycode asydir asyfigure asyfilecode asyinclude asywrite atan atan2 atanh atbreakpoint atexit attach attract atupdate autoformat autoscale autoscale3 axes axes3 axialshade axis axiscoverage azimuth babel background bangles bar barmarksize barsize basealign baseline bbox beep begin beginclip begingroup beginpoint between bevel bezier bezierP bezierPP bezierPPP bezulate bibliography bibliographystyle binarytree binarytreeNode binomial bins bisector bisectorpoint bispline bispline0 bitreverse blend blockconnector box bqe brace breakpoint breakpoints brick buildRestoreDefaults buildRestoreThunk buildcycle bulletcolor byte byteinv calculateScaling canonical canonicalcartesiansystem cartesiansystem case1 case2 case3 cbrt cd ceil center centerToFocus centroid cevian change2 changecoordsys checkSegment check_fpt_zero checkconditionlength checker checkincreasing checklengths checkposition checkpt checkptincube checktriangle choose circle circlebarframe circlemarkradius circlenodesnumber circumcenter circumcircle clamped clear clip clipdraw close cmyk code colatitude collect collinear color colorless colors colorspace comma compassmark complement complementary concat concurrent cone conic conicnodesnumber conictype conj connect containmentTree contains contour contour3 controlSpecifier convert coordinates coordsys copy copyPairOrTriple cos cosh cot countIntersections cputime crop cropcode cross crossframe crosshatch crossmarksize csc cubicroots curabscissa curlSpecifier curpoint currentarrow currentexitfunction currentmomarrow currentpolarconicroutine curve cut cutafter cutbefore cyclic cylinder deactivatequote debugger deconstruct defaultdir defaultformat defaultpen defined degenerate degrees delete deletepreamble determinant diagonal diamond diffdiv dir dirSpecifier dirtime display distance divisors do_overpaint dot dotframe dotsize downcase draw drawAll drawCylinder drawDisk drawDoubleLine drawFermion drawGhost drawGluon drawMomArrow drawPhoton drawScalar drawSphere drawTube drawVertex drawVertexBox drawVertexBoxO drawVertexBoxX drawVertexO drawVertexOX drawVertexTriangle drawVertexTriangleO drawVertexX drawarrow drawarrow2 drawbeziertriangle drawline drawpixel drawstrokepath drawtick duplicate elle ellipse ellipsenodesnumber embed embed3 embedplayer empty enclose end endclip endgroup endgroup3 endl endpoint endpoints eof eol equation equations erase erasestep erf erfc error errorbar errorbars eval excenter excircle exit exitfunction exp expfactors expi expm1 exradius extend extension extouch fabs factorial fermat fft fhorner figure file filecode fill filldraw filloutside fillrule filltype find findall findroot finite finiteDifferenceJacobian firstcut firstframe fit fit2 fixedscaling floor flush fmdefaults fmod focusToCenter font fontcommand fontsize foot format frac frequency fromCenter fromFocus fspline functionshade gamma gcd generate_random_backtrace generateticks gergonne getc getint getpair getreal getstring gettriple gluon gouraudshade graph graphic graphicscale graphwithderiv gray grestore grid grid3 gsave halfbox hatch hdiffdiv hermite hex histogram history hline hprojection hsv hyperbola hyperbolanodesnumber hyperlink hypot identity image implicitsurface importv3d incenter incentral incircle increasing incrementposition indexedfigure initdefaults initialized input inradius insert inside insphere integrate interactive interior interp interpolate intersect intersection intersectionpoint intersectionpoints intersections intouch inverse inversion invisible is3D isDuplicate isnan isogonal isogonalconjugate isometry isotomic isotomicconjugate isparabola italic item jobname key kurtosis kurtosisexcess label labelaxis labelmargin labelpath labels labeltick labelx labelx3 labely labely3 labelz labelz3 lastcut latex latitude latticeshade layer layout lcm ldexp leastsquares legend legenditem length lexorder lift light limits line linear linecap lineinversion linejoin linemargin lineskip linetype linewidth link list lm_enorm lm_evaluate_default lm_lmdif lm_lmpar lm_minimize lm_print_default lm_print_quiet lm_qrfac lm_qrsolv locale locate locatefile location log log10 log1p logaxiscoverage longitude lookup make3dgrid makeMappingArray makeNode makecircle makedraw makepen maketriangle map mapArray mapTemplate margin markangle markangleradius markanglespace markarc marker markinterval marknodes markrightangle markthin markuniform mass masscenter massformat math max max3 maxAfterTransform maxbezier maxbound maxcoords maxlength maxratio maxtimes mean medial median midpoint min min3 minAfterTransform minbezier minbound minipage minratio mintimes miterlimit mktemp momArrowPath momarrowsize monotonic multifigure nGrad nativeformat natural newl newpage newslide newton newtree nextframe nextnormal nextpage nib nodabscissa node none norm normalout normalvideo notaknot nowarn numberpage nurb object offset onpath opacity opposite orient orientation origin orthic orthocenter orthocentercenter outdirectory outformat outline outname outprefix output overloadedMessage overwrite pack pad pairs palette parabola parabolanodesnumber parallel parallelogram partialsum patchwithnormals path path3 pathbetween pathinface pattern pause pdf pedal periodic perp perpendicular perpendicularmark phantom phi1 phi2 phi3 phi4 photon piecewisestraight point polar polarconicroutine polargraph polygon popcount postcontrol postscript pow10 ppoint prc prc0 prconly precision precontrol prepend primitive printBytecode print_random_addresses progress project projection projecttospan projecttospan_findcoeffs purge pwhermite quadpatches quadrant quadraticroots quantize quarticroots quotient radialshade radians radicalcenter radicalline radius rand randompath rationalidentity rd readline realmult realquarticroots rectangle rectangular rectify reflect relabscissa relative relativedistance reldir relpoint reltime remainder remark removeDuplicates rename render replace report resetdefaultpen restore restoredefaults reverse reversevideo rf rfind rgb rgba rgbint rms rotate rotateO rotation round roundbox roundedpath roundrectangle samecoordsys sameside sample save savedefaults saveline scale scale3 scaleO scaleT scaleless schur scientific search searchtree sec secondaryX secondaryY seconds section sector seek seekeof segment segmentlimits sequence setpens sgn sgnd sharpangle sharpdegrees shift shiftless shipout shipout3 show simeq simplex simplexInit simplexPhase1 simplexPhase2 simplexTableau simplexWrite simpson sin sinh size size3 skewness skip slant sleep slice slope slopefield solve solveBVP sort sourceline sphere split sqrt square srand standardizecoordsys stdev step stickframe stickmarksize stickmarkspace stop straight straightness string stripdirectory stripextension stripfile stripsuffix strokepath subdivide subitem subpath substr sum surface symmedial symmedian system tab tableau tan tangent tangential tangents tanh tell tensionSpecifier tensorshade tex texcolor texify texpath texpreamble texreset texshipout texsize texstring textpath thick thin tick tickMax tickMax3 tickMin tickMin3 ticklabelshift ticklocate tildeframe tildemarksize tile tiling time times title titlepage topbox transform transformation transpose trembleFuzz triangle triangleAbc triangleabc triangletoquads trianglewithnormals triangulate tricoef tridiagonal trilinear trim truepoint tube type uncycle unfill uniform unique unit unitrand unitsize unityroot unstraighten upcase updatefunction uperiodic upscale uptodate usepackage usersetting usetypescript usleep value variance variancebiased vbox vector vectorfield verbatim view vline vperiodic vprojection warn warning windingnumber write xasyKEY xaxis xaxis3 xaxis3At xaxisAt xequals xlimits xmap xpart xscale xscaleO xtick xtick3 xtrans yaxis yaxis3 yaxis3At yaxisAt yequals ylimits ypart yscale yscaleO ytick ytick3 ytrans zaxis3 zaxis3At zero zlimits zpart ztick ztick3 ztrans ))
(defvar asy-variable-name '(
Accent AliceBlue Align Allow AntiqueWhite Apricot Aqua Aquamarine Aspect Azure BeginPoint Beige Bisque Bittersweet Black BlanchedAlmond Blue BlueGreen BlueViolet Blues Both BrBG Break BrickRed Brown BuGn BuPu BurlyWood BurntOrange CCW CMRmap CW CadetBlue CarnationPink Center Centered Cerulean Chartreuse Chocolate Coeff Coral CornflowerBlue Cornsilk Crimson Crop Cyan Dandelion Dark2 DarkBlue DarkCyan DarkGoldenrod DarkGray DarkGreen DarkKhaki DarkMagenta DarkOliveGreen DarkOrange DarkOrchid DarkRed DarkSalmon DarkSeaGreen DarkSlateBlue DarkSlateGray DarkTurquoise DarkViolet DeepPink DeepSkyBlue DefaultHead DimGray DodgerBlue Dotted Down Draw E ENE EPS ESE E_Euler E_PC E_RK2 E_RK3BS Emerald EndPoint Euler Fill FillDraw FireBrick FloralWhite ForestGreen Fuchsia Gainsboro GhostWhite GnBu Gold Goldenrod Gray Green GreenYellow Greens Greys Honeydew HookHead Horizontal HotPink I IgnoreAspect IndianRed Indigo Infinity Ivory JOIN_IN JOIN_OUT JungleGreen Khaki LM_DWARF LM_MACHEP LM_SQRT_DWARF LM_SQRT_GIANT LM_USERTOL Label Lavender LavenderBlush LawnGreen Left LeftJustified LeftSide LemonChiffon LightBlue LightCoral LightCyan LightGoldenrodYellow LightGreen LightGrey LightPink LightSalmon LightSeaGreen LightSkyBlue LightSlateGray LightSteelBlue LightYellow Lime LimeGreen Linear Linen Log Logarithmic Magenta Mahogany Mark MarkFill MarkFillable MarkPath Maroon Max MediumAquamarine MediumBlue MediumOrchid MediumPurple MediumSeaGreen MediumSlateBlue MediumSpringGreen MediumTurquoise MediumVioletRed Melon MidPoint MidnightBlue Min MintCream MistyRose Moccasin Move MoveQuiet Mulberry N NE NNE NNW NULL_VERTEX NW NavajoWhite Navy NavyBlue NoAlign NoCrop NoFill NoSide OldLace Olive OliveDrab OliveGreen OrRd Orange OrangeRed Oranges Orchid Ox Oy PC PRGn Paired PaleGoldenrod PaleGreen PaleTurquoise PaleVioletRed PapayaWhip Pastel1 Pastel2 Peach PeachPuff Periwinkle Peru PiYG PineGreen Pink Plum PowderBlue ProcessBlue PuBu PuBuGn PuOr PuRd Purple Purples RELEASE RK2 RK3 RK3BS RK4 RK5 RK5DP RK5F RawSienna RdBu RdGy RdPu RdYlBu RdYlGn Red RedOrange RedViolet Reds Rhodamine Right RightJustified RightSide RosyBrown RoyalBlue RoyalPurple RubineRed S SE SSE SSW SW SaddleBrown Salmon SandyBrown SeaGreen Seashell Sepia Set1 Set2 Set3 Sienna Silver SimpleHead SkyBlue SlateBlue SlateGray Snow Spectral SpringGreen SteelBlue Suppress SuppressQuiet Tan TeXHead Teal TealBlue Thistle Ticksize Tomato Turquoise UnFill Up VERSION Value Vertical Violet VioletRed W WNW WSW Wheat White WhiteSmoke WildStrawberry XHIGH XLOW XYAlign YAlign YHIGH YLOW Yellow YellowGreen YellowOrange YlGn YlGnBu YlOrBr YlOrRd ZHIGH ZLOW _outpipe aboveequationskip addpenarc addpenline align allowstepping angularsystem animationdelay appendsuffix arcarrowangle arcarrowfactor arrow2sizelimit arrowangle arrowbarb arrowdir arrowfactor arrowhookfactor arrowlength arrowsizelimit arrowtexfactor authorpen autumn axis axiscoverage axislabelfactor background backgroundcolor backgroundpen barfactor barmarksizefactor basealign baselinetemplate bernstein beveljoin bigvertexpen bigvertexsize binary black blue bm bone bottom bp bracedefaultratio braceinnerangle bracemidangle braceouterangle brg brown bullet bwr byfoci byvertices camerafactor chartreuse circlemarkradiusfactor circlenodesnumberfactor circleprecision circlescale cividis cm codefile codepen codeskip colorPen coloredNodes coloredSegments conditionlength conicnodesfactor cool coolwarm copper count cputimeformat crossmarksizefactor currentcoordsys currentlight currentpatterns currentpen currentpicture currentposition currentprojection curvilinearsystem cuttings cyan darkblue darkbrown darkcyan darkgray darkgreen darkgrey darkmagenta darkolive darkred dashdotted dashed datepen dateskip debuggerlines debugging deepblue deepcyan deepgray deepgreen deepgrey deepmagenta deepred deepyellow default defaultControl defaultS defaultbackpen defaultcoordsys defaultexcursion defaultfilename defaultformat defaultmassformat defaultpen defaultseparator diamond differentlengths dot dotfactor dotfilltype dotframe dotted doublelinepen doublelinespacing down duplicateFuzz ellipsenodesnumberfactor eps epsgeo epsilon evenodd expansionfactor extendcap fermionpen figureborder figuremattpen file3 firstnode firststep foregroundcolor fuchsia fuzz gapfactor ghostpen gist_earth gist_ncar gist_stern gluonamplitude gluonpen gluonratio gray green grey hatchepsilon havepagenumber heavyblue heavycyan heavygray heavygreen heavygrey heavymagenta heavyred hline hot hsv hwratio hyperbolanodesnumberfactor identity identity4 ignore implicitshipout inch inches includegraphicscommand inf inferno infinity institutionpen intMax intMin invert invisible itempen itemskip itemstep jet labelmargin landscape lastnode left legendhskip legendlinelength legendmargin legendmarkersize legendmaxrelativewidth legendvskip lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightolive lightred lightyellow linemargin lm_infmsg lm_shortmsg longdashdotted longdashed magenta magma magneticRadius mantissaBits markangleradius markangleradiusfactor markanglespace markanglespacefactor maxDenominator maxrefinements mediumblue mediumcyan mediumgray mediumgreen mediumgrey mediummagenta mediumred mediumyellow middle minDistDefault minblockheight minblockwidth mincirclediameter minipagemargin minipagewidth minvertexangle miterjoin mm momarrowfactor momarrowlength momarrowmargin momarrowoffset momarrowpen monoPen morepoints nCircle nan newbulletcolor ngraph nil nipy_spectral nmesh nobasealign nodeMarginDefault nodesystem nomarker nopoint noprimary nullpath nullpen numarray ocgindex oldbulletcolor olive orange origin overpaint page pageheight pagemargin pagenumberalign pagenumberpen pagenumberposition pagewidth paleblue palecyan palegray palegreen palegrey palemagenta palered paleyellow parabolanodesnumberfactor perpfactor phi photonamplitude photonpen photonratio pi pink plain plain_bounds plain_scaling plasma plus preamblenodes pt purple r3 r4a r4b randMax realDigits realEpsilon realMax realMin red relativesystem reverse right roundcap roundjoin royalblue salmon saveFunctions scalarpen seismic sequencereal settings signedtrailingzero simplex solid spinner spring springgreen sqrtEpsilon squarecap squarepen startposition stdin stdout stepfactor stepfraction steppagenumberpen stepping stickframe stickmarksizefactor stickmarkspacefactor summer swap tab10 tab20 tab20b tab20c textpen ticksize tildeframe tildemarksizefactor tinv titlealign titlepagepen titlepageposition titlepen titleskip top trailingzero treeLevelStep treeMinNodeWidth treeNodeStep trembleAngle trembleFrequency trembleRandom tubegranularity twilight twilight_shifted undefined unitcircle unitsquare up urlpen urlskip v3dheadertypes v3dtypes version vertexpen vertexsize viewportmargin viewportsize viridis vline white winter wistia wye yellow ylabelwidth zeroTransform zerotickfuzz zerowinding ))
diff --git a/graphics/asymptote/asy.list b/graphics/asymptote/asy.list
index 9a8bf1ca2c..80f333e14d 100644
--- a/graphics/asymptote/asy.list
+++ b/graphics/asymptote/asy.list
@@ -986,6 +986,7 @@ bool alias(ScaleT a, ScaleT b);
bool alias(side a, side b);
bool alias(arrowhead a, arrowhead b);
bool alias(picture[] a, picture[] b);
+bool alias(schur a, schur b);
bool alias(int[] a, int[] b);
bool alias(string[][] a, string[][] b);
bool alias(slice a, slice b);
@@ -1021,6 +1022,7 @@ bool alias(coord a, coord b);
bool alias(autoscaleT a, autoscaleT b);
bool alias(align a, align b);
bool alias(marker[] a, marker[] b);
+bool alias(realschur a, realschur b);
bool alias(real[] a, real[] b);
bool alias(pen[] a, pen[] b);
bool alias(hsv a, hsv b);
@@ -1202,6 +1204,7 @@ projection projection(triple camera, triple up=<default>, triple target=<default
void endl(file file);
path diamond;
marginT TrueMargin(path, pen)(real begin, real end=<default>);
+real bezier(real a, real b, real c, real d, real t);
pair bezier(pair a, pair b, pair c, pair d, real t);
triple bezier(triple a, triple b, triple c, triple d, real t);
pair SSE;
@@ -1419,10 +1422,12 @@ scaling operator init();
ScaleT operator init();
side operator init();
arrowhead operator init();
+schur operator init();
coord operator init();
coord operator init();
autoscaleT operator init();
align operator init();
+realschur operator init();
bool3 operator init();
bounds operator init();
scaleT operator init();
@@ -1615,6 +1620,7 @@ bool operator ==(coord a, coord b);
bool operator ==(coord a, coord b);
bool operator ==(autoscaleT a, autoscaleT b);
bool operator ==(align a, align b);
+bool operator ==(realschur a, realschur b);
bool operator ==(hsv a, hsv b);
bool operator ==(freezableBounds a, freezableBounds b);
bool operator ==(transformation a, transformation b);
@@ -1629,6 +1635,7 @@ bool operator ==(scaling a, scaling b);
bool operator ==(ScaleT a, ScaleT b);
bool operator ==(side a, side b);
bool operator ==(arrowhead a, arrowhead b);
+bool operator ==(schur a, schur b);
bool operator ==(bool a, bool3 b);
bool operator ==(slice a, slice b);
bool operator ==(simplex a, simplex b);
@@ -1687,6 +1694,7 @@ bool operator !=(coord a, coord b);
bool operator !=(coord a, coord b);
bool operator !=(autoscaleT a, autoscaleT b);
bool operator !=(align a, align b);
+bool operator !=(realschur a, realschur b);
bool operator !=(hsv a, hsv b);
bool operator !=(freezableBounds a, freezableBounds b);
bool operator !=(transformation a, transformation b);
@@ -1701,6 +1709,7 @@ bool operator !=(scaling a, scaling b);
bool operator !=(ScaleT a, ScaleT b);
bool operator !=(side a, side b);
bool operator !=(arrowhead a, arrowhead b);
+bool operator !=(schur a, schur b);
bool operator !=(bool a, bool3 b);
bool operator !=(slice a, slice b);
bool operator !=(simplex a, simplex b);
@@ -1947,6 +1956,8 @@ void deactivatequote(picture pic=<default>);
string format(string format, int x, string locale=<default>);
string format(string format, bool forcemath=<default>, string separator, real x, string locale=<default>);
string format(string format=<default>, bool forcemath=<default>, real x, string locale=<default>);
+real[][][] _schur(real[][] a);
+pair[][][] _schur(pair[][] a);
real expm1(real x);
real[] expm1(real[] a);
void activatequote(picture pic=<default>);
@@ -1983,6 +1994,8 @@ frame dotframe(pen p=<default>, filltype filltype=<default>);
real realMax;
pair NE;
real realMin;
+realschur schur(real[][] a);
+schur schur(pair[][] a);
path nib(pen p);
file _outpipe;
void gouraudshade(frame f, path[] g, bool stroke=<default>, pen fillrule=<default>, pen[] p, pair[] z, int[] edges, bool copy=<default>);
@@ -2296,7 +2309,7 @@ void draw(picture pic=<default>, Label L=<default>, hyperbola h, align align=<de
void draw(picture pic=<default>, Label L=<default>, explicit conic co, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
void draw(picture pic=<default>, Label L=<default>, arc a, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
void draw(picture pic=<default>, triangle t, pen p=<default>, marker marker=<default>);
-void draw(picture pic=<default>, triangle[] t, pen p=<default>, marker marker=<default>);
+void draw(picture pic=<default>, triangle[] ts, pen p=<default>, marker marker=<default>);
coordsys defaultcoordsys;
string defaultmassformat;
line radicalline(circle c1, circle c2);
@@ -2366,6 +2379,8 @@ int sgnd(real x);
int sgnd(int x);
circle excircle(point A, point B, point C);
circle excircle(side side);
+point orthocenter(point A, point B, point C);
+point orthocenter(triangle t);
line extend(line l);
point intersectionpoint(line l1, line l2);
pair[] intersectionpoints(pair A, pair B, real a, real b, real c, real d, real f, real g);
@@ -2408,10 +2423,10 @@ point[] intersectionpoints(arc a, conic co);
point[] intersectionpoints(arc a1, arc a2);
point[] intersectionpoints(line l, arc a);
point[] intersectionpoints(arc a, line l);
-point intouch(side side);
-triangle intouch(triangle t);
point orthocentercenter(point A, point B, point C);
point orthocentercenter(triangle t);
+point intouch(side side);
+triangle intouch(triangle t);
real rf(real x, real y, real z);
bool concurrent(... line[] l);
real inradius(point A, point B, point C);
@@ -2493,6 +2508,10 @@ point centroid(point A, point B, point C);
point centroid(triangle t);
int angularsystem;
path square(pair z1, pair z2);
+void filldraw(picture pic=<default>, circle c, pen fillpen=<default>, pen drawpen=<default>);
+void filldraw(picture pic=<default>, ellipse el, pen fillpen=<default>, pen drawpen=<default>);
+void filldraw(picture pic=<default>, triangle t, pen fillpen=<default>, pen drawpen=<default>);
+void filldraw(picture pic=<default>, triangle[] ts, pen fillpen=<default>, pen drawpen=<default>);
point symmedian(triangle t);
point symmedian(side side);
line symmedian(vertex V);
@@ -2740,11 +2759,13 @@ mass[] operator cast(point[] P);
mass operator cast(pair m);
path operator cast(mass M);
guide operator cast(mass M);
+path operator cast(triangle t);
line operator cast(side side);
point operator cast(vertex V);
point operator cast(trilinear tri);
circle operator cast(inversion i);
inversion operator cast(circle c);
+path operator ecast(segment s);
circle operator ecast(ellipse el);
ellipse operator ecast(conic co);
parabola operator ecast(conic co);
@@ -2792,6 +2813,10 @@ bool operator @(point m, line l);
bool operator @(point M, conic co);
bool operator @(point M, explicit circle c);
bool operator @(point M, arc a);
+void fill(picture pic=<default>, circle c, pen p=<default>);
+void fill(picture pic=<default>, ellipse el, pen p=<default>);
+void fill(picture pic=<default>, triangle t, pen p=<default>);
+void fill(picture pic=<default>, triangle[] ts, pen p=<default>);
triangle triangle(line l1, line l2, line l3);
trilinear trilinear(triangle t, real a, real b, real c);
trilinear trilinear(triangle t, point M);
@@ -2999,8 +3024,8 @@ guide polargraph(picture pic=<default>, real[] r, real[] theta, guide join(... g
void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>);
-tickvalues NoZero(tickvalues);
string NoZeroFormat(real);
+tickvalues NoZero(tickvalues);
guide Hermite(... guide[])(real[] splinetype(real[], real[]));
guide Hermite(... guide[]);
path Circle(pair c, real r, int n=<default>);
@@ -3018,12 +3043,12 @@ void yequals(picture pic=<default>, Label L=<default>, real y, bool extend=<defa
pair Scale(picture pic=<default>, pair z);
real ScaleX(picture pic=<default>, real x);
real ScaleY(picture pic=<default>, real y);
-void xaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
tickvalues generateticks(int sign, Label F=<default>, string ticklabel(real)=<default>, int N, int n=<default>, real Step=<default>, real step=<default>, real Size=<default>, real size=<default>, transform T, pair side, path g, real limit, pen p, ticklocate locate, int[] divisor, bool opposite);
+void checkconditionlength(int x, int y);
+void xaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
void yaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
void xaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
void yaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool autorotate=<default>);
-void checkconditionlength(int x, int y);
real xtrans(transform t, real x);
void Top(picture, axisT)(bool extend=<default>);
void Top(picture, axisT);
@@ -3267,10 +3292,10 @@ grid3(picture pic)[][] XYZgrid(position pos=<default>);
grid3(picture pic)[][] XYZgrid;
grid3(picture pic)[] ZYZgrid(position pos=<default>);
grid3(picture pic)[] ZYZgrid;
-grid3 XZgrid(picture pic)(position pos=<default>);
-grid3 XZgrid(picture pic);
grid3(picture pic)[] YZYgrid(position pos=<default>);
grid3(picture pic)[] YZYgrid;
+grid3 XZgrid(picture pic)(position pos=<default>);
+grid3 XZgrid(picture pic);
grid3 YZgrid(picture pic)(position pos=<default>);
grid3 YZgrid(picture pic);
real fspline(real)(real[] x, real[] y, real[] splinetype(real[], real[])=<default>);
@@ -3534,8 +3559,8 @@ void display(frame f, real margin=<default>, pair align=<default>, pen p=<defaul
void display(string[] s, real margin=<default>, string[] captions=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool final=<default>);
void display(string s, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool final=<default>);
void multifigure(string[] slist, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool step=<default>);
-int page;
void subitem(string s, pen p=<default>);
+int page;
pen pagenumberpen;
pair pagenumberalign;
pair pagenumberposition;
@@ -3566,8 +3591,8 @@ void asycode(bool center=<default>, string s, string options=<default>, string c
void exitfunction();
bool havepagenumber;
real pageheight;
-void item(string s, pen p=<default>, bool step=<default>);
real pagewidth;
+void item(string s, pen p=<default>, bool step=<default>);
picture background;
void background();
pen backgroundcolor;
@@ -3579,9 +3604,9 @@ pair dateskip;
pair titlealign;
pen titlepagepen;
void titlepage(string title, string author, string institution=<default>, string date=<default>, string url=<default>, bool newslide=<default>);
-pen authorpen;
pair titlepageposition;
pen codepen;
+pen authorpen;
void erasestep(int erasenode);
bool checkposition();
void setpens(pen red=<default>, pen blue=<default>, pen steppen=<default>);
@@ -3707,16 +3732,17 @@ real stdev(real[] A);
real variance(real[] A);
real legendmarkersize;
real variancebiased(real[] A);
+linefit operator init();
real Gaussian(real x, real sigma);
real Gaussian(real x);
pair Gaussrandpair();
-linefit operator init();
real Gaussrand();
real skewness(real[] A);
linefit leastsquares(real[] x, real[] y);
linefit leastsquares(real[] x, real[] y, real[] w);
real kurtosis(real[] A);
real kurtosisexcess(real[] A);
+real hwratio;
Relation r4a;
pair[] endpoints(guide[] a);
Relation r3;
@@ -3735,7 +3761,6 @@ Syzygy operator init();
Relation r4b;
Component wye;
pair max(pair[] z);
-real hwratio;
pen Orchid;
pen WildStrawberry;
pen Magenta;
@@ -3764,8 +3789,8 @@ pen BurntOrange;
pen Tan;
pen Aquamarine;
pen Brown;
-pen Lavender;
pen RubineRed;
+pen Lavender;
pen TealBlue;
pen White;
pen Purple;
@@ -3779,27 +3804,27 @@ pen Dandelion;
pen Black;
pen NavyBlue;
pen Rhodamine;
+pen ProcessBlue;
pen YellowOrange;
pen Maroon;
-pen ProcessBlue;
pen YellowGreen;
pen LimeGreen;
pen Green;
pen GreenYellow;
-pen Sepia;
pen Emerald;
+pen Sepia;
pen Mulberry;
pen RedViolet;
pen SkyBlue;
pen SeaGreen;
pen VioletRed;
-pen Violet;
pen Periwinkle;
+pen Violet;
pen Thistle;
pen Yellow;
pen JungleGreen;
-pen DarkOrchid;
pen CornflowerBlue;
+pen DarkOrchid;
pen RoyalBlue;
pen Melon;
pen RoyalPurple;
@@ -3850,22 +3875,22 @@ pen DarkOrange;
pen CadetBlue;
pen DeepPink;
pen SpringGreen;
-pen Silver;
pen MidnightBlue;
pen Olive;
+pen Silver;
pen OliveDrab;
pen Salmon;
pen Chocolate;
-pen Linen;
-pen SandyBrown;
pen Cyan;
pen Gainsboro;
+pen Linen;
+pen SandyBrown;
pen Ivory;
pen PapayaWhip;
pen Red;
pen Pink;
-pen DeepSkyBlue;
pen MintCream;
+pen DeepSkyBlue;
pen DarkTurquoise;
pen Gray;
pen MediumBlue;
@@ -3882,8 +3907,8 @@ pen Blue;
pen Gold;
pen BlueViolet;
pen Goldenrod;
-pen Cornsilk;
pen ForestGreen;
+pen Cornsilk;
pen Chartreuse;
pen NavajoWhite;
pen Tan;
@@ -3891,18 +3916,18 @@ pen DarkMagenta;
pen AntiqueWhite;
pen PaleTurquoise;
pen IndianRed;
+pen Crimson;
pen Seashell;
pen Aquamarine;
-pen Crimson;
pen Azure;
pen Brown;
-pen LawnGreen;
pen BurlyWood;
pen Moccasin;
-pen Lavender;
pen DarkBlue;
-pen GhostWhite;
+pen LawnGreen;
+pen Lavender;
pen Peru;
+pen GhostWhite;
pen White;
pen Purple;
pen WhiteSmoke;
@@ -3922,8 +3947,8 @@ pen PeachPuff;
pen Snow;
pen Maroon;
pen YellowGreen;
-pen Lime;
pen LimeGreen;
+pen Lime;
pen SteelBlue;
pen OldLace;
pen Green;
@@ -3937,10 +3962,10 @@ pen PowderBlue;
pen DarkGray;
pen DarkGreen;
pen DarkGoldenrod;
-pen Aqua;
pen SkyBlue;
pen SeaGreen;
pen DarkViolet;
+pen Aqua;
pen Teal;
pen AliceBlue;
pen Violet;
@@ -3964,12 +3989,12 @@ pen LightSalmon;
pen LightSeaGreen;
pen LightSkyBlue;
pen Navy;
-pen Sienna;
pen PaleVioletRed;
-pen DarkOrchid;
+pen Sienna;
pen CornflowerBlue;
pen LightSlateGray;
pen LightSteelBlue;
+pen DarkOrchid;
pen rgbint(int r, int g, int b);
pen LightYellow;
pen Coral;
diff --git a/graphics/asymptote/asymptote.spec b/graphics/asymptote/asymptote.spec
index c177aa59b1..1323f4f3ea 100644
--- a/graphics/asymptote/asymptote.spec
+++ b/graphics/asymptote/asymptote.spec
@@ -3,7 +3,7 @@
%global __python %{__python3}
Name: asymptote
-Version: 2.80
+Version: 2.82
Release: 1%{?dist}
Summary: Descriptive vector graphics language
diff --git a/graphics/asymptote/base/asy-kate.sh b/graphics/asymptote/base/asy-kate.sh
index 5f482b376d..4212b1cb85 100644
--- a/graphics/asymptote/base/asy-kate.sh
+++ b/graphics/asymptote/base/asy-kate.sh
@@ -2,7 +2,7 @@
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!-- based on asy-keywords.el and Highlighting file asymptote.xml by Christoph Hormann-->
-<language version="1.0" kateversion="3.2.2" name="asymptote" section="Sources" extensions="*.asy" mimetype="text/x-asymptote" licence="LGPL" author="Carsten Brenner">
+<language version="1.0" kateversion="3.2.2" name="Asymptote" section="Sources" extensions="*.asy" mimetype="text/x-asymptote" licence="LGPL" author="Carsten Brenner">
<highlighting>
' > asymptote.xml
@@ -122,7 +122,7 @@ echo '
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Extensions" defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0"/>
<itemData name="Float" defStyleNum="dsFloat"/>
- <itemData name="Function" defStyleNum="dsFunction" />
+ <itemData name="Function" defStyleNum="dsFunction" />
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
diff --git a/graphics/asymptote/base/geometry.asy b/graphics/asymptote/base/geometry.asy
index 9f4be8d15c..9f0631f447 100644
--- a/graphics/asymptote/base/geometry.asy
+++ b/graphics/asymptote/base/geometry.asy
@@ -1556,6 +1556,11 @@ segment operator cast(line l)
return segment(l.A, l.B);
}
+path operator ecast(segment s)
+{
+ return s.A -- s.B;
+}
+
/*<asyxml><operator type = "line" signature="*(transform,line)"><code></asyxml>*/
line operator *(transform t, line l)
{/*<asyxml></code><documentation>Provide transform * line</documentation></operator></asyxml>*/
@@ -3738,6 +3743,17 @@ void draw(picture pic = currentpicture, Label L = "", circle c,
else draw(pic, L, (path)c, align, p, arrow, bar, margin, legend, marker);
}
+void fill(picture pic = currentpicture, circle c, pen p = currentpen)
+{
+ if (!degenerate(c)) fill(pic, (path)c, p);
+}
+
+void filldraw(picture pic = currentpicture, circle c, pen fillpen = currentpen, pen drawpen = currentpen)
+{
+ fill(pic, c, fillpen);
+ draw(pic, c, drawpen);
+}
+
/*<asyxml><function type="void" signature="draw(picture,Label,ellipse,align,pen,arrowbar,arrowbar,margin,Label,marker)"><code></asyxml>*/
void draw(picture pic = currentpicture, Label L = "", ellipse el,
align align = NoAlign, pen p = currentpen,
@@ -3748,6 +3764,17 @@ void draw(picture pic = currentpicture, Label L = "", ellipse el,
else draw(pic, L, (path)el, align, p, arrow, bar, margin, legend, marker);
}
+void fill(picture pic = currentpicture, ellipse el, pen p = currentpen)
+{
+ if (!degenerate(el)) fill(pic, (path)el, p);
+}
+
+void filldraw(picture pic = currentpicture, ellipse el, pen fillpen = currentpen, pen drawpen = currentpen)
+{
+ fill(pic, el, fillpen);
+ draw(pic, el, drawpen);
+}
+
/*<asyxml><function type="void" signature="draw(picture,Label,parabola,align,pen,arrowbar,arrowbar,margin,Label,marker)"><code></asyxml>*/
void draw(picture pic = currentpicture, Label L = "", parabola parabola,
align align = NoAlign, pen p = currentpen,
@@ -5383,8 +5410,8 @@ void dot(picture pic = currentpicture, Label L, explicit mass M, align align = N
// *=======================================================*
// *.......................TRIANGLES.......................*
-/*<asyxml><function type="point" signature="orthocentercenter(point,point,point)"><code></asyxml>*/
-point orthocentercenter(point A, point B, point C)
+/*<asyxml><function type="point" signature="orthocenter(point,point,point)"><code></asyxml>*/
+point orthocenter(point A, point B, point C)
{/*<asyxml></code><documentation>Return the orthocenter of the triangle ABC.</documentation></function></asyxml>*/
point[] P = standardizecoordsys(A, B, C);
coordsys R = P[0].coordsys;
@@ -5539,9 +5566,9 @@ struct triangle {/*<asyxml></code><documentation></documentation></asyxml>*/
real gamma() {return degrees(acos((a()^2 + b()^2 - c()^2)/(2a() * b())));}
/*<asyxml><method type = "path" signature="Path()"><code></asyxml>*/
- path Path()
+ path Path() // retained for backward compatibility
{/*<asyxml></code><documentation>The path of the triangle.</documentation></method></asyxml>*/
- return A--C--B--cycle;
+ return A--B--C--cycle;
}
/*<asyxml><struct signature="side"><code></asyxml>*/
@@ -5584,6 +5611,8 @@ struct triangle {/*<asyxml></code><documentation></documentation></asyxml>*/
}/*<asyxml></struct></asyxml>*/
+path operator cast(triangle t) { return t.A -- t.B -- t.C -- cycle; }
+
from triangle unravel side; // The structure 'side' is now available outside the triangle structure.
from triangle unravel vertex; // The structure 'vertex' is now available outside the triangle structure.
@@ -5715,10 +5744,10 @@ line altitude(side side)
return altitude(opposite(side));
}
-/*<asyxml><function type="point" signature="orthocentercenter(triangle)"><code></asyxml>*/
-point orthocentercenter(triangle t)
+/*<asyxml><function type="point" signature="orthocenter(triangle)"><code></asyxml>*/
+point orthocenter(triangle t)
{/*<asyxml></code><documentation>Return the orthocenter of the triangle t.</documentation></function></asyxml>*/
- return orthocentercenter(t.A, t.B, t.C);
+ return orthocenter(t.A, t.B, t.C);
}
/*<asyxml><function type="point" signature="centroid(triangle)"><code></asyxml>*/
@@ -6276,13 +6305,34 @@ void show(picture pic = currentpicture,
/*<asyxml><function type="void" signature="draw(picture,triangle,pen,marker)"><code></asyxml>*/
void draw(picture pic = currentpicture, triangle t, pen p = currentpen, marker marker = nomarker)
{/*<asyxml></code><documentation>Draw sides of the triangle 't' on picture 'pic' using pen 'p'.</documentation></function></asyxml>*/
- draw(pic, t.Path(), p, marker);
+ draw(pic, (path)t, p, marker);
+}
+
+void fill(picture pic = currentpicture, triangle t, pen p = currentpen)
+{
+ fill(pic, (path)t, p);
+}
+
+void filldraw(picture pic = currentpicture, triangle t, pen fillpen = currentpen, pen drawpen = currentpen)
+{
+ fill(pic, t, fillpen);
+ draw(pic, t, drawpen);
}
/*<asyxml><function type="void" signature="draw(picture,triangle[],pen,marker)"><code></asyxml>*/
-void draw(picture pic = currentpicture, triangle[] t, pen p = currentpen, marker marker = nomarker)
+void draw(picture pic = currentpicture, triangle[] ts, pen p = currentpen, marker marker = nomarker)
{/*<asyxml></code><documentation>Draw sides of the triangles 't' on picture 'pic' using pen 'p'.</documentation></function></asyxml>*/
- for(int i = 0; i < t.length; ++i) draw(pic, t[i], p, marker);
+ for(triangle t: ts) draw(pic, t, p, marker);
+}
+
+void fill(picture pic = currentpicture, triangle[] ts, pen p = currentpen)
+{
+ for(triangle t: ts) fill(pic, t, p);
+}
+
+void filldraw(picture pic = currentpicture, triangle[] ts, pen fillpen = currentpen, pen drawpen = currentpen)
+{
+ for(triangle t: ts) filldraw(pic, t, fillpen, drawpen);
}
/*<asyxml><function type="void" signature="drawline(picture,triangle,pen)"><code></asyxml>*/
@@ -7192,9 +7242,18 @@ path arc(explicit pair B, explicit pair A, explicit pair C, real r)
return arc(A, abs(r), BA, CA, (r < 0) ^ ((BA-CA) % 360 < 180) ? CW : CCW);
}
+point orthocentercenter(point A, point B, point C)
+{
+ return orthocenter(A, B, C);
+}
+
+point orthocentercenter(triangle t)
+{
+ return orthocenter(t.A, t.B, t.C);
+}
+
// *.......End of compatibility routines........*
// *=======================================================*
// *........................FOOTER.........................*
// *=======================================================*
-
diff --git a/graphics/asymptote/base/plain.asy b/graphics/asymptote/base/plain.asy
index cac6aa0722..084fedd758 100644
--- a/graphics/asymptote/base/plain.asy
+++ b/graphics/asymptote/base/plain.asy
@@ -171,7 +171,7 @@ string[] reverse(string[] a) {return a[reverse(a.length)];}
real[] uniform(real a, real b, int n)
{
if(n <= 0) return new real[];
- return a+(b-a)/n*sequence(n+1);
+ return a+sequence(n+1)/n*(b-a);
}
void eval(string s, bool embedded=false)
@@ -264,7 +264,7 @@ struct cputime {
cputime cputime()
{
static processtime last;
- real [] a=_cputime();
+ real[] a=_cputime();
cputime cputime;
real clock=a[4];
cputime.parent.user=a[0];
@@ -302,6 +302,34 @@ void write(string s="", cputime c, string format=cputimeformat,
write(stdout,s,c,format,suffix);
}
+struct realschur {
+ real[][] U;
+ real[][] T;
+}
+
+realschur schur(real[][] a)
+{
+ real[][][] S=_schur(a);
+ realschur schur;
+ schur.U=S[0];
+ schur.T=S[1];
+ return schur;
+}
+
+struct schur {
+ pair[][] U;
+ pair[][] T;
+}
+
+schur schur(pair[][] a)
+{
+ pair[][][] S=_schur(a);
+ schur schur;
+ schur.U=S[0];
+ schur.T=S[1];
+ return schur;
+}
+
if(settings.autoimport != "") {
string s=settings.autoimport;
settings.autoimport="";
diff --git a/graphics/asymptote/base/plain_arrows.asy b/graphics/asymptote/base/plain_arrows.asy
index 79ee403af3..a172a0d07f 100644
--- a/graphics/asymptote/base/plain_arrows.asy
+++ b/graphics/asymptote/base/plain_arrows.asy
@@ -53,39 +53,39 @@ path arrowbase(path r, pair y, real t, real size)
arrowhead DefaultHead;
DefaultHead.head=new path(path g, position position=EndPoint, pen p=currentpen,
real size=0, real angle=arrowangle) {
- if(size == 0) size=DefaultHead.size(p);
- bool relative=position.relative;
- real position=position.position.x;
- if(relative) position=reltime(g,position);
- path r=subpath(g,position,0);
- pair x=point(r,0);
- real t=arctime(r,size);
- pair y=point(r,t);
- path base=arrowbase(r,y,t,size);
- path left=rotate(-angle,x)*r;
- path right=rotate(angle,x)*r;
- real[] T=arrowbasepoints(base,left,right);
- pair denom=point(right,T[1])-y;
- real factor=denom != 0 ? length((point(left,T[0])-y)/denom) : 1;
- path left=rotate(-angle*factor,x)*r;
- path right=rotate(angle*factor,x)*r;
- real[] T=arrowbasepoints(base,left,right);
- return subpath(left,0,T[0])--subpath(right,T[1],0)&cycle;
+ if(size == 0) size=DefaultHead.size(p);
+ bool relative=position.relative;
+ real position=position.position.x;
+ if(relative) position=reltime(g,position);
+ path r=subpath(g,position,0);
+ pair x=point(r,0);
+ real t=arctime(r,size);
+ pair y=point(r,t);
+ path base=arrowbase(r,y,t,size);
+ path left=rotate(-angle,x)*r;
+ path right=rotate(angle,x)*r;
+ real[] T=arrowbasepoints(base,left,right);
+ pair denom=point(right,T[1])-y;
+ real factor=denom != 0 ? length((point(left,T[0])-y)/denom) : 1;
+ path left=rotate(-angle*factor,x)*r;
+ path right=rotate(angle*factor,x)*r;
+ real[] T=arrowbasepoints(base,left,right);
+ return subpath(left,0,T[0])--subpath(right,T[1],0)&cycle;
};
arrowhead SimpleHead;
SimpleHead.head=new path(path g, position position=EndPoint, pen p=currentpen,
real size=0, real angle=arrowangle) {
- if(size == 0) size=SimpleHead.size(p);
- bool relative=position.relative;
- real position=position.position.x;
- if(relative) position=reltime(g,position);
- path r=subpath(g,position,0);
- pair x=point(r,0);
- real t=arctime(r,size);
- path left=rotate(-angle,x)*r;
- path right=rotate(angle,x)*r;
- return subpath(left,t,0)--subpath(right,0,t);
+ if(size == 0) size=SimpleHead.size(p);
+ bool relative=position.relative;
+ real position=position.position.x;
+ if(relative) position=reltime(g,position);
+ path r=subpath(g,position,0);
+ pair x=point(r,0);
+ real t=arctime(r,size);
+ path left=rotate(-angle,x)*r;
+ path right=rotate(angle,x)*r;
+ return subpath(left,t,0)--subpath(right,0,t);
};
arrowhead HookHead(real dir=arrowdir, real barb=arrowbarb)
@@ -94,34 +94,34 @@ arrowhead HookHead(real dir=arrowdir, real barb=arrowbarb)
a.head=new path(path g, position position=EndPoint, pen p=currentpen,
real size=0, real angle=arrowangle)
{
- if(size == 0) size=a.size(p);
- angle=min(angle*arrowhookfactor,45);
- bool relative=position.relative;
- real position=position.position.x;
- if(relative) position=reltime(g,position);
- path r=subpath(g,position,0);
- pair x=point(r,0);
- real t=arctime(r,size);
- pair y=point(r,t);
- path base=arrowbase(r,y,t,size);
- path left=rotate(-angle,x)*r;
- path right=rotate(angle,x)*r;
- real[] T=arrowbasepoints(base,left,right,1);
- pair denom=point(right,T[1])-y;
- real factor=denom != 0 ? length((point(left,T[0])-y)/denom) : 1;
- path left=rotate(-angle*factor,x)*r;
- path right=rotate(angle*factor,x)*r;
- real[] T=arrowbasepoints(base,left,right,1);
- left=subpath(left,0,T[0]);
- right=subpath(right,T[1],0);
- pair pl0=point(left,0), pl1=relpoint(left,1);
- pair pr0=relpoint(right,0), pr1=relpoint(right,1);
- pair M=(pl1+pr0)/2;
- pair v=barb*unit(M-pl0);
- pl1=pl1+v; pr0=pr0+v;
- left=pl0{dir(-dir+degrees(M-pl0,false))}..pl1--M;
- right=M--pr0..pr1{dir(dir+degrees(pr1-M,false))};
- return left--right&cycle;
+ if(size == 0) size=a.size(p);
+ angle=min(angle*arrowhookfactor,45);
+ bool relative=position.relative;
+ real position=position.position.x;
+ if(relative) position=reltime(g,position);
+ path r=subpath(g,position,0);
+ pair x=point(r,0);
+ real t=arctime(r,size);
+ pair y=point(r,t);
+ path base=arrowbase(r,y,t,size);
+ path left=rotate(-angle,x)*r;
+ path right=rotate(angle,x)*r;
+ real[] T=arrowbasepoints(base,left,right,1);
+ pair denom=point(right,T[1])-y;
+ real factor=denom != 0 ? length((point(left,T[0])-y)/denom) : 1;
+ path left=rotate(-angle*factor,x)*r;
+ path right=rotate(angle*factor,x)*r;
+ real[] T=arrowbasepoints(base,left,right,1);
+ left=subpath(left,0,T[0]);
+ right=subpath(right,T[1],0);
+ pair pl0=point(left,0), pl1=relpoint(left,1);
+ pair pr0=relpoint(right,0), pr1=relpoint(right,1);
+ pair M=(pl1+pr0)/2;
+ pair v=barb*unit(M-pl0);
+ pl1=pl1+v; pr0=pr0+v;
+ left=pl0{dir(-dir+degrees(M-pl0,false))}..pl1--M;
+ right=M--pr0..pr1{dir(dir+degrees(pr1-M,false))};
+ return left--right&cycle;
};
return a;
}
@@ -130,34 +130,34 @@ arrowhead HookHead=HookHead();
arrowhead TeXHead;
TeXHead.size=new real(pen p)
{
- static real hcoef=2.1; // 84/40=abs(base-hint)/base_height
- return hcoef*arrowtexfactor*linewidth(p);
+ static real hcoef=2.1; // 84/40=abs(base-hint)/base_height
+ return hcoef*arrowtexfactor*linewidth(p);
};
TeXHead.arcsize=TeXHead.size;
TeXHead.head=new path(path g, position position=EndPoint, pen p=currentpen,
real size=0, real angle=arrowangle) {
- static real wcoef=1/84; // 1/abs(base-hint)
- static path texhead=scale(wcoef)*
- ((0,20) .. controls (-75,75) and (-108,158) ..
- (-108,166) .. controls (-108,175) and (-100,178) ..
- (-93,178) .. controls (-82,178) and (-80,173) ..
- (-77,168) .. controls (-62,134) and (-30,61) ..
- (70,14) .. controls (82,8) and (84,7) ..
- (84,0) .. controls (84,-7) and (82,-8) ..
- (70,-14) .. controls (-30,-61) and (-62,-134) ..
- (-77,-168) .. controls (-80,-173) and (-82,-178) ..
- (-93,-178) .. controls (-100,-178) and (-108,-175)..
- (-108,-166).. controls (-108,-158) and (-75,-75) ..
- (0,-20)--cycle);
- if(size == 0) size=TeXHead.size(p);
- path gp=scale(size)*texhead;
- bool relative=position.relative;
- real position=position.position.x;
- if(relative) position=reltime(g,position);
- path r=subpath(g,position,0);
- pair y=point(r,arctime(r,size));
- return shift(y)*rotate(degrees(-dir(r,arctime(r,0.5*size))))*gp;
+ static real wcoef=1/84; // 1/abs(base-hint)
+ static path texhead=scale(wcoef)*
+ ((0,20) .. controls (-75,75) and (-108,158) ..
+ (-108,166) .. controls (-108,175) and (-100,178) ..
+ (-93,178) .. controls (-82,178) and (-80,173) ..
+ (-77,168) .. controls (-62,134) and (-30,61) ..
+ (70,14) .. controls (82,8) and (84,7) ..
+ (84,0) .. controls (84,-7) and (82,-8) ..
+ (70,-14) .. controls (-30,-61) and (-62,-134) ..
+ (-77,-168) .. controls (-80,-173) and (-82,-178) ..
+ (-93,-178) .. controls (-100,-178) and (-108,-175)..
+ (-108,-166).. controls (-108,-158) and (-75,-75) ..
+ (0,-20)--cycle);
+ if(size == 0) size=TeXHead.size(p);
+ path gp=scale(size)*texhead;
+ bool relative=position.relative;
+ real position=position.position.x;
+ if(relative) position=reltime(g,position);
+ path r=subpath(g,position,0);
+ pair y=point(r,arctime(r,size));
+ return shift(y)*rotate(degrees(-dir(r,arctime(r,0.5*size))))*gp;
};
TeXHead.defaultfilltype=new filltype(pen p) {return Fill(p);};
diff --git a/graphics/asymptote/base/shaders/blend.glsl b/graphics/asymptote/base/shaders/blend.glsl
index 8a656e06c9..2db4f30abe 100644
--- a/graphics/asymptote/base/shaders/blend.glsl
+++ b/graphics/asymptote/base/shaders/blend.glsl
@@ -1,31 +1,14 @@
layout(binding=0, std430) buffer offsetBuffer
{
+ uint maxDepth;
uint offset[];
};
-#ifdef GPUINDEXING
-uniform uint elements;
-uniform uint offset2;
-uniform uint m1;
-uniform uint m2;
-uniform uint r;
-
-layout(binding=2, std430) buffer localSumBuffer
-{
- uint localSum[];
-};
-
-layout(binding=3, std430) buffer globalSumBuffer
-{
- uint globalSum[];
-};
-#define count offset
-#else
layout(binding=2, std430) buffer countBuffer
{
+ uint maxSize;
uint count[];
};
-#endif
layout(binding=4, std430) buffer fragmentBuffer
{
@@ -42,7 +25,6 @@ layout(binding=6, std430) buffer opaqueBuffer {
};
layout(binding=7, std430) buffer opaqueDepthBuffer {
- uint maxSize;
float opaqueDepth[];
};
@@ -82,7 +64,12 @@ void main()
}
#endif
+#ifdef GPUINDEXING
+ uint listIndex=offset[element];
+ uint size=offset[element+1u]-listIndex;
+#else
uint size=count[element];
+#endif
#ifndef GPUCOMPRESS
if(size == 0u) {
@@ -94,11 +81,7 @@ void main()
outColor=OpaqueDepth != 0.0 ? opaqueColor[pixel] : background;
-#ifdef GPUINDEXING
- uint p=element < r*(m1+1u) ? element/(m1+1u) : (element-r)/m1;
- uint listIndex=localSum[p]+localSum[offset2+p/m2]+globalSum[p/(m2*m2)]+
- offset[elements+element];
-#else
+#ifndef GPUINDEXING
uint listIndex=offset[element]-size;
#endif
@@ -146,9 +129,9 @@ void main()
if(OpaqueDepth != 0.0)
opaqueDepth[pixel]=0.0;
} else {
- atomicMax(maxSize,size);
+ atomicMax(maxDepth,size);
#ifndef GPUINDEXING
- count[0]=maxSize;
+ maxSize=maxDepth;
#endif
for(uint i=k+1u; i < size; i++) {
vec4 temp=fragment[listIndex+i];
diff --git a/graphics/asymptote/base/shaders/compress.glsl b/graphics/asymptote/base/shaders/compress.glsl
index 2f64d24c88..26b4e1041e 100644
--- a/graphics/asymptote/base/shaders/compress.glsl
+++ b/graphics/asymptote/base/shaders/compress.glsl
@@ -1,16 +1,3 @@
-#ifdef GPUINDEXING
-layout(binding=0, std430) buffer offsetBuffer
-{
- uint offset[];
-};
-#define count offset
-#else
-layout(binding=2, std430) buffer countBuffer
-{
- uint count[];
-};
-#endif
-
layout(binding=0) uniform atomic_uint elements;
layout(binding=1, std430) buffer indexBuffer
@@ -18,6 +5,12 @@ layout(binding=1, std430) buffer indexBuffer
uint index[];
};
+layout(binding=2, std430) buffer countBuffer
+{
+ uint maxSize;
+ uint count[];
+};
+
uniform uint width;
void main()
diff --git a/graphics/asymptote/base/shaders/count.glsl b/graphics/asymptote/base/shaders/count.glsl
index bd06331d77..f64b25ed44 100644
--- a/graphics/asymptote/base/shaders/count.glsl
+++ b/graphics/asymptote/base/shaders/count.glsl
@@ -1,15 +1,15 @@
#ifdef GPUCOMPRESS
layout(binding=1, std430) buffer indexBuffer
-#else
-#ifdef GPUINDEXING
-layout(binding=0, std430) buffer offsetBuffer
+{
+ uint index[];
+};
#else
layout(binding=2, std430) buffer countBuffer
-#endif
-#endif
{
+ uint maxSize;
uint index[];
};
+#endif
uniform uint width;
diff --git a/graphics/asymptote/base/shaders/fragment.glsl b/graphics/asymptote/base/shaders/fragment.glsl
index 79f2573402..6f42f7d491 100644
--- a/graphics/asymptote/base/shaders/fragment.glsl
+++ b/graphics/asymptote/base/shaders/fragment.glsl
@@ -32,29 +32,14 @@ float Roughness;
layout(binding=0, std430) buffer offsetBuffer
{
+ uint maxDepth;
uint offset[];
};
-#ifdef GPUINDEXING
-#if defined(TRANSPARENT) || (!defined(HAVE_INTERLOCK) && !defined(OPAQUE))
-uniform uint elements;
-uniform uint offset2;
-uniform uint m1;
-uniform uint m2;
-uniform uint r;
-#endif
-layout(binding=2, std430) buffer localSumBuffer
-{
- uint localSum[];
-};
-
-layout(binding=3, std430) buffer globalSumBuffer
-{
- uint globalSum[];
-};
-#else
+#ifndef GPUINDEXING
layout(binding=2, std430) buffer countBuffer
{
+ uint maxSize;
uint count[];
};
#endif
@@ -76,7 +61,6 @@ layout(binding=6, std430) buffer opaqueBuffer
layout(binding=7, std430) buffer opaqueDepthBuffer
{
- uint maxSize;
float opaqueDepth[];
};
@@ -294,9 +278,7 @@ void main()
#if defined(TRANSPARENT) || (!defined(HAVE_INTERLOCK) && !defined(OPAQUE))
uint element=INDEX(pixel);
#ifdef GPUINDEXING
- uint p=element < r*(m1+1u) ? element/(m1+1u) : (element-r)/m1;
- uint listIndex=localSum[p]+localSum[offset2+p/m2]+globalSum[p/(m2*m2)]+
- atomicAdd(offset[elements+element],-1u)-1u;
+ uint listIndex=atomicAdd(offset[element],-1u)-1u;
#else
uint listIndex=offset[element]-atomicAdd(count[element],1u)-1u;
#endif
diff --git a/graphics/asymptote/base/shaders/sum1.glsl b/graphics/asymptote/base/shaders/sum1.glsl
index f1fa8454b0..e54744a1d4 100644
--- a/graphics/asymptote/base/shaders/sum1.glsl
+++ b/graphics/asymptote/base/shaders/sum1.glsl
@@ -1,36 +1,40 @@
-layout(local_size_x=LOCAL_SIZE_X) in;
+layout(local_size_x=LOCALSIZE) in;
+
+const uint groupSize=LOCALSIZE*BLOCKSIZE;
uniform uint elements;
-layout(binding=0, std430) buffer offsetBuffer
+layout(binding=2, std430) buffer countBuffer
{
- uint offset[];
+ uint maxSize;
+ uint count[];
};
-layout(binding=2, std430) buffer localSumBuffer
+layout(binding=3, std430) buffer globalSumBuffer
{
- uint localSum[];
+ uint globalSum[];
};
-void main(void)
+shared uint groupSum[LOCALSIZE];
+
+void main()
{
- uint id=gl_GlobalInvocationID.x;
-
- uint m=elements/(gl_WorkGroupSize.x*gl_NumWorkGroups.x);
- uint r=elements-m*gl_WorkGroupSize.x*gl_NumWorkGroups.x;
- uint row,stop;
- if(id < r) {
- row=m*id+id;
- stop=row+m+1u;
- } else {
- row=m*id+r;
- stop=row+m;
- }
+ uint id=gl_LocalInvocationID.x;
+ uint dataOffset=gl_WorkGroupID.x*groupSize+id;
+ uint stop=dataOffset+groupSize;
+ uint sum=0u;
+ for(uint i=dataOffset; i < stop; i += LOCALSIZE)
+ sum += count[i];
- uint Sum=offset[row];
- offset[elements+row]=Sum;
- for(uint i=row+1u; i < stop; ++i)
- offset[elements+i]=Sum += offset[i];
+ groupSum[id]=sum;
+ barrier();
+
+ for(uint s=LOCALSIZE/2; s > 0u; s >>= 1u) {
+ if(id < s)
+ groupSum[id] += groupSum[id+s];
+ barrier();
+ }
- localSum[id+1u]=Sum;
+ if(id == 0u)
+ globalSum[gl_WorkGroupID.x]=groupSum[0u];
}
diff --git a/graphics/asymptote/base/shaders/sum2.glsl b/graphics/asymptote/base/shaders/sum2.glsl
index 11bf0064eb..17b5efeaee 100644
--- a/graphics/asymptote/base/shaders/sum2.glsl
+++ b/graphics/asymptote/base/shaders/sum2.glsl
@@ -1,22 +1,43 @@
-layout(local_size_x=LOCAL_SIZE_X) in;
+layout(local_size_x=LOCALSIZE) in;
-uniform uint offset2;
+const uint groupSize=LOCALSIZE*BLOCKSIZE;
-layout(binding=2, std430) buffer localSumBuffer
+uniform uint blockSize;
+
+layout(binding=3, std430) buffer globalSumBuffer
{
- uint localSum[];
+ uint globalSum[];
};
-void main(void)
+shared uint groupSum[LOCALSIZE];
+
+void main()
{
- uint id=gl_GlobalInvocationID.x;
+ uint localSum[groupSize];
+ uint id=gl_LocalInvocationID.x;
+
+ uint dataOffset=blockSize*id;
+ uint sum=0u;
+ for(uint i=0; i < blockSize; ++i) {
+ localSum[i]=sum;
+ sum += globalSum[dataOffset+i];
+ }
- uint row=LOCAL_SIZE_X*id;
- uint stop=row+LOCAL_SIZE_X;
+ groupSum[id]=sum;
+ barrier();
- uint Sum=localSum[row];
- for(uint i=row+1u; i < stop; ++i)
- localSum[i]=Sum += localSum[i];
+ for(uint shift=1u; shift < LOCALSIZE; shift *= 2u) {
+ uint read;
+ if(shift <= id)
+ read=groupSum[id]+groupSum[id-shift];
+ barrier();
+ if(shift <= id)
+ groupSum[id]=read;
+ barrier();
+ }
- localSum[offset2+id+1u]=Sum;
+ // shift local sums and store
+ uint shift=id > 0u ? groupSum[id-1u] : 0u;
+ for(uint i=0u; i < blockSize; ++i)
+ globalSum[dataOffset+i]=localSum[i]+shift;
}
diff --git a/graphics/asymptote/base/shaders/sum2fast.glsl b/graphics/asymptote/base/shaders/sum2fast.glsl
new file mode 100644
index 0000000000..d0c93c0957
--- /dev/null
+++ b/graphics/asymptote/base/shaders/sum2fast.glsl
@@ -0,0 +1,59 @@
+layout(local_size_x=LOCALSIZE) in;
+
+const uint groupSize=LOCALSIZE*BLOCKSIZE;
+
+layout(binding=3, std430) buffer globalSumBuffer
+{
+ uint globalSum[];
+};
+
+layout(binding=8, std430) buffer feedbackBuffer
+{
+ uint maxSize;
+ uint fragments;
+};
+
+shared uint shuffle[groupSize+LOCALSIZE-1u];
+shared uint groupSum[LOCALSIZE+1u];
+
+void main()
+{
+ uint id=gl_LocalInvocationID.x;
+
+// avoid bank conflicts and coalesce global memory accesses
+ uint shuffleOffset=id/BLOCKSIZE+id;
+ const uint stride=LOCALSIZE/BLOCKSIZE+LOCALSIZE;
+ for(uint i=0u; i < BLOCKSIZE; i++)
+ shuffle[shuffleOffset+i*stride]=globalSum[id+i*LOCALSIZE];
+
+ barrier();
+
+ uint Offset=id*BLOCKSIZE+id;
+ uint stop=Offset+BLOCKSIZE;
+ uint sum=0u;
+ for(uint i=Offset; i < stop; ++i) {
+ uint value=shuffle[i];
+ shuffle[i]=sum;
+ sum += value;
+ }
+
+ if(id == 0u)
+ groupSum[0u]=0u;
+ groupSum[id+1u]=sum;
+ barrier();
+
+ // Apply Hillis-Steele algorithm over all sums in workgroup
+ for(uint shift=1u; shift < LOCALSIZE; shift *= 2u) {
+ uint read;
+ if(shift <= id)
+ read=groupSum[id]+groupSum[id-shift];
+ barrier();
+ if(shift <= id)
+ groupSum[id]=read;
+ barrier();
+ }
+
+ for(uint i=0u; i < BLOCKSIZE; i++)
+ globalSum[id+i*LOCALSIZE]=
+ shuffle[shuffleOffset+i*stride]+groupSum[(i*LOCALSIZE+id)/BLOCKSIZE];
+}
diff --git a/graphics/asymptote/base/shaders/sum3.glsl b/graphics/asymptote/base/shaders/sum3.glsl
index 8e6e94bf45..4ee5203060 100644
--- a/graphics/asymptote/base/shaders/sum3.glsl
+++ b/graphics/asymptote/base/shaders/sum3.glsl
@@ -1,11 +1,19 @@
-layout(local_size_x=LOCAL_SIZE_X) in;
+layout(local_size_x=LOCALSIZE) in;
+
+const uint groupSize=LOCALSIZE*BLOCKSIZE;
-uniform uint offset2;
uniform uint final;
-layout(binding=2, std430) buffer localSumBuffer
+layout(binding=0, std430) buffer offsetBuffer
+{
+ uint maxDepth;
+ uint offset[];
+};
+
+layout(binding=2, std430) buffer countBuffer
{
- uint localSum[];
+ uint maxSize;
+ uint count[];
};
layout(binding=3, std430) buffer globalSumBuffer
@@ -13,27 +21,60 @@ layout(binding=3, std430) buffer globalSumBuffer
uint globalSum[];
};
-layout(binding=7, std430) buffer opaqueDepthBuffer
+layout(binding=8, std430) buffer feedbackBuffer
{
- uint maxSize;
- float opaqueDepth[];
+ uint size;
+ uint fragments;
};
-void main(void)
+shared uint shuffle[groupSize+LOCALSIZE-1u];
+shared uint groupSum[LOCALSIZE+1u];
+
+void main()
{
- uint id=gl_GlobalInvocationID.x;
- uint row=offset2+LOCAL_SIZE_X*id;
- uint stop=row+LOCAL_SIZE_X;
-
- uint Sum=localSum[row];
- for(uint i=row+1u; i < stop; ++i)
- localSum[i]=Sum += localSum[i];
-
- uint id1=id+1u;
- if(id1 < gl_WorkGroupSize.x*gl_NumWorkGroups.x)
- globalSum[id1]=Sum;
- else {
- globalSum[0]=maxSize;
- globalSum[id1]=Sum+localSum[offset2-1u]+localSum[final];
+ uint id=gl_LocalInvocationID.x;
+
+// avoid bank conflicts and coalesce global memory accesses
+ uint dataOffset=gl_WorkGroupID.x*groupSize+id;
+ uint shuffleOffset=id/BLOCKSIZE+id;
+ const uint stride=LOCALSIZE/BLOCKSIZE+LOCALSIZE;
+ for(uint i=0u; i < BLOCKSIZE; i++)
+ shuffle[shuffleOffset+i*stride]=count[dataOffset+i*LOCALSIZE];
+
+ barrier();
+
+ uint Offset=id*BLOCKSIZE+id;
+ uint stop=Offset+BLOCKSIZE;
+
+ uint sum=0u;
+ for(uint i=Offset; i < stop; ++i)
+ shuffle[i]=sum += shuffle[i];
+
+ if(id == 0u)
+ groupSum[0u]=0u;
+ groupSum[id+1u]=sum;
+ barrier();
+
+ // Apply Hillis-Steele algorithm over all sums in workgroup
+ for(uint shift=1u; shift < LOCALSIZE; shift *= 2u) {
+ uint read;
+ if(shift <= id)
+ read=groupSum[id]+groupSum[id-shift];
+ barrier();
+ if(shift <= id)
+ groupSum[id]=read;
+ barrier();
+ }
+
+ uint groupOffset=globalSum[gl_WorkGroupID.x];
+ for(uint i=0u; i < BLOCKSIZE; ++i)
+ offset[dataOffset+i*LOCALSIZE]=shuffle[shuffleOffset+i*stride]+
+ groupSum[(i*LOCALSIZE+id)/BLOCKSIZE]+groupOffset;
+
+ uint diff=final-dataOffset;
+ if(diff < groupSize && diff % LOCALSIZE == 0) {
+ size=maxDepth;
+ maxDepth=0u;
+ fragments=offset[final+1u]=offset[final];
}
}
diff --git a/graphics/asymptote/base/shaders/zero.glsl b/graphics/asymptote/base/shaders/zero.glsl
index 747f44b3bc..06a5359e6d 100644
--- a/graphics/asymptote/base/shaders/zero.glsl
+++ b/graphics/asymptote/base/shaders/zero.glsl
@@ -1,5 +1,6 @@
layout(binding=2, std430) buffer countBuffer
{
+ uint maxSize;
uint count[];
};
diff --git a/graphics/asymptote/base/three_surface.asy b/graphics/asymptote/base/three_surface.asy
index 95f41a6181..04f269f73f 100644
--- a/graphics/asymptote/base/three_surface.asy
+++ b/graphics/asymptote/base/three_surface.asy
@@ -1384,7 +1384,8 @@ void draw3D(frame f, patch s, material m,
if(prc() && light.on())
straight=false; // PRC vertex colors (for quads only) ignore lighting
m=material(m);
- m.diffuse(mean(s.colors));
+ if(prc())
+ m.diffuse(mean(s.colors));
}
m=material(m,light,s.colors.length > 0);
@@ -1423,7 +1424,7 @@ void draw(frame f, triple[] v, int[][] vi,
triple[] n={}, int[][] ni={}, material m=currentpen, pen[] p={},
int[][] pi={}, light light=currentlight, render render=defaultrender)
{
- bool normals=n.length > 0;
+ bool normals=ni.length > 0;
if(!normals) {
ni=new int[vi.length][3];
normals=computeNormals(v,vi,n,ni) > 0;
@@ -1431,6 +1432,35 @@ void draw(frame f, triple[] v, int[][] vi,
if(p.length > 0)
m=mean(p);
m=material(m,light);
+
+ if(prc()) {
+ int[] vertexNormal=new int[ni.length];
+ int[] vertexPen=new int[pi.length];
+
+ bool pens=pi.length > 0;
+
+ for(int i=0; i < vi.length; ++i) {
+ int[] vii=vi[i];
+ int[] nii=ni[i];
+ for(int j=0; j < 3; ++j) {
+ int V=vii[j];
+ vertexNormal[V]=nii[j];
+ if(pens)
+ vertexPen[V]=pi[i][j];
+ }
+ }
+
+ for(int i=0; i < vi.length; ++i) {
+ int[] vii=vi[i];
+ for(int j=0; j < 3; ++j) {
+ int V=vii[j];
+ ni[i][j]=vertexNormal[V];
+ if(pens)
+ pi[i][j]=vertexPen[V];
+ }
+ }
+ }
+
draw(f,v,vi,render.interaction.center,n,ni,
m.p,m.opacity,m.shininess,m.metallic,m.fresnel0,p,pi,
render.interaction.type);
@@ -1441,8 +1471,7 @@ void draw(picture pic=currentpicture, triple[] v, int[][] vi,
triple[] n={}, int[][] ni={}, material m=currentpen, pen[] p={},
int[][] pi={}, light light=currentlight, render render=defaultrender)
{
- bool prc=prc();
- bool normals=n.length > 0;
+ bool normals=ni.length > 0;
if(!normals) {
ni=new int[vi.length][3];
normals=computeNormals(v,vi,n,ni) > 0;
diff --git a/graphics/asymptote/base/v3dheadertypes.asy b/graphics/asymptote/base/v3dheadertypes.asy
index 96da507ec8..2beb9608d8 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 2022-04-05 20:52:21.949166
+// Generated at 2022-08-06 23:21:24.974497
struct v3dheadertypes
{
diff --git a/graphics/asymptote/base/v3dtypes.asy b/graphics/asymptote/base/v3dtypes.asy
index b3d11e2e68..e578ef51da 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 2022-04-05 20:52:21.903691
+// Generated at 2022-08-06 23:21:24.890912
struct v3dtypes
{
diff --git a/graphics/asymptote/base/webgl/asygl.js b/graphics/asymptote/base/webgl/asygl.js
index f33ee3ef54..4de87cda58 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,A=c*g-m*u,I=c*v-f*u,P=d*g-m*p,E=d*v-f*p,y=m*v-f*g,L=x*y-w*E+M*P+b*I-T*A+S*R;if(!L)return null;return L=1/L,e[0]=(o*y-l*E+h*P)*L,e[1]=(n*E-a*y-r*P)*L,e[2]=(p*S-g*T+v*b)*L,e[3]=(m*T-d*S-f*b)*L,e[4]=(l*I-s*y-h*A)*L,e[5]=(i*y-n*I+r*A)*L,e[6]=(g*M-u*S-v*w)*L,e[7]=(c*S-m*M+f*w)*L,e[8]=(s*E-o*I+h*R)*L,e[9]=(a*I-i*E-r*R)*L,e[10]=(u*T-p*M+v*x)*L,e[11]=(d*M-c*T-f*x)*L,e[12]=(o*A-s*P-l*R)*L,e[13]=(i*P-a*A+n*R)*L,e[14]=(p*w-u*b-g*x)*L,e[15]=(c*b-d*w+m*x)*L,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,A,I,P,E,y=n[0],L=n[1],D=n[2],O=Math.sqrt(y*y+L*L+D*D);if(Math.abs(O)<a.EPSILON)return null;y*=O=1/O,L*=O,D*=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=y*y*o+s,b=L*y*o+D*r,T=D*y*o-L*r,S=y*L*o-D*r,R=L*L*o+s,A=D*L*o+y*r,I=y*D*o+L*r,P=L*D*o-y*r,E=D*D*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*A,e[5]=h*S+f*R+v*A,e[6]=c*S+u*R+x*A,e[7]=d*S+p*R+w*A,e[8]=l*I+m*P+g*E,e[9]=h*I+f*P+v*E,e[10]=c*I+u*P+x*E,e[11]=d*I+p*P+w*E,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 Transform,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,pi=Math.acos(-1),radians=pi/180;let Zoom,lastZoom,xshift,yshift,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(),Temp=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),A=[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],I=[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],P=this.normal(A[12],A[13],A[14],A[15],A[11],A[7],A[3]);abs2(P)<=this.epsilon&&(P=this.normal(A[12],A[13],A[14],A[15],A[2],A[1],A[0]),abs2(P)<=this.epsilon&&(P=this.normal(A[0],A[4],A[8],A[12],A[11],A[7],A[3])));let E=this.normal(I[3],I[2],I[1],I[0],I[4],I[8],I[12]);abs2(E)<=this.epsilon&&(E=this.normal(I[3],I[2],I[1],I[0],I[13],I[14],I[15]),abs2(E)<=this.epsilon&&(E=this.normal(I[15],I[11],I[7],I[3],I[4],I[8],I[12])));let y=this.Epsilon,L=[.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(I[12],I[8],I[4],I[0]));L=[L[0]-y*e[0],L[1]-y*e[1],L[2]-y*e[2]]}else L=A[15];let D=[.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(A[3],A[7],A[11],A[15]));D=[D[0]-y*e[0],D[1]-y*e[1],D[2]-y*e[2]]}else D=I[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(L,P,e),w=this.data.Vertex(D,E,v);this.Render(A,t,i,x,w,r,s,L,D,h,c,!1,m,f,u,e,v),this.Render(I,w,x,a,n,D,L,o,l,!1,c,d,m,v,e,p,g)}else{let e=this.vertex(L,P),f=this.vertex(D,E);this.Render(A,t,i,e,f,r,s,L,D,h,c,!1,m),this.Render(I,f,e,a,n,D,L,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),A=[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],I=[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],P=this.normal(A[0],A[4],A[8],A[12],A[13],A[14],A[15]);abs2(P)<=this.epsilon&&(P=this.normal(A[0],A[4],A[8],A[12],A[11],A[7],A[3]),abs2(P)<=this.epsilon&&(P=this.normal(A[3],A[2],A[1],A[0],A[13],A[14],A[15])));let E=this.normal(I[15],I[11],I[7],I[3],I[2],I[1],I[0]);abs2(E)<=this.epsilon&&(E=this.normal(I[15],I[11],I[7],I[3],I[4],I[8],I[12]),abs2(E)<=this.epsilon&&(E=this.normal(I[12],I[13],I[14],I[15],I[2],I[1],I[0])));let y=this.Epsilon,L=[.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(I[0],I[1],I[2],I[3]));L=[L[0]-y*e[0],L[1]-y*e[1],L[2]-y*e[2]]}else L=A[12];let D=[.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(A[15],A[14],A[13],A[12]));D=[D[0]-y*e[0],D[1]-y*e[1],D[2]-y*e[2]]}else D=I[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(L,P,e),w=this.data.Vertex(D,E,v);this.Render(A,t,x,w,n,r,L,D,l,h,!1,d,m,f,e,v,g),this.Render(I,x,i,a,w,L,s,o,D,h,c,d,!1,e,u,p,v)}else{let e=this.vertex(L,P),f=this.vertex(D,E);this.Render(A,t,e,f,n,r,L,D,l,h,!1,d,m),this.Render(I,e,i,a,f,L,s,o,D,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]),A=new Split3(M,e[13],e[14],b),I=new Split3(x,e[4],e[8],M),P=new Split3(T.m0,S.m0,R.m0,A.m0),E=new Split3(T.m3,S.m3,R.m3,A.m3),y=new Split3(T.m5,S.m5,R.m5,A.m5),L=new Split3(T.m4,S.m4,R.m4,A.m4),D=new Split3(T.m2,S.m2,R.m2,A.m2),O=new Split3(w,e[7],e[11],b),B=[x,T.m0,T.m3,T.m5,I.m0,P.m0,E.m0,y.m0,I.m3,P.m3,E.m3,y.m3,I.m5,P.m5,E.m5,y.m5],N=[I.m5,P.m5,E.m5,y.m5,I.m4,P.m4,E.m4,y.m4,I.m2,P.m2,E.m2,y.m2,M,A.m0,A.m3,A.m5],z=[y.m5,L.m5,D.m5,O.m5,y.m4,L.m4,D.m4,O.m4,y.m2,L.m2,D.m2,O.m2,A.m5,A.m4,A.m2,b],_=[T.m5,T.m4,T.m2,w,y.m0,L.m0,D.m0,O.m0,y.m3,L.m3,D.m3,O.m3,y.m5,L.m5,D.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]),W=this.Epsilon,X=[.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]));X=[X[0]-W*e[0],X[1]-W*e[1],X[2]-W*e[2]]}else X=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]-W*e[0],j[1]-W*e[1],j[2]-W*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]-W*e[0],Z[1]-W*e[1],Z[2]-W*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]-W*e[0],k[1]-W*e[1],k[2]-W*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(X,V,e),T=this.data.Vertex(j,U,v),S=this.data.Vertex(Z,H,x),R=this.data.Vertex(k,G,w),A=this.data.Vertex(C,F,M);this.Render(B,t,b,A,R,r,X,C,k,h,!1,!1,m,f,e,M,w),this.Render(N,b,i,T,A,X,s,j,C,h,c,!1,!1,e,u,v,M),this.Render(z,A,T,a,S,C,j,o,Z,!1,c,d,!1,M,v,p,x),this.Render(_,R,A,S,n,k,C,Z,l,!1,!1,d,m,w,M,x,g)}else{let e=this.vertex(X,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,X,C,k,h,!1,!1,m),this.Render(N,e,i,f,g,X,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])],A=[.5*(x[0]+p[0]),.5*(x[1]+p[1]),.5*(x[2]+p[2])],I=[.5*(b[0]+v[0]),.5*(b[1]+v[1]),.5*(b[2]+v[2])],P=[.5*(b[0]+M[0]),.5*(b[1]+M[1]),.5*(b[2]+M[2])],E=[.5*(p[0]+v[0]),.5*(p[1]+v[1]),.5*(p[2]+v[2])],y=[.5*(p[0]+f[0]),.5*(p[1]+f[1]),.5*(p[2]+f[2])],L=[.5*(v[0]+g[0]),.5*(v[1]+g[1]),.5*(v[2]+g[2])],D=[.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]+A[0]),.5*(S[1]+A[1]),.5*(S[2]+A[2])],_=[.5*(R[0]+P[0]),.5*(R[1]+P[1]),.5*(R[2]+P[2])],C=[.5*(A[0]+y[0]),.5*(A[1]+y[1]),.5*(A[2]+y[2])],V=[.5*I[0]+.25*(v[0]+u[0]),.5*I[1]+.25*(v[1]+u[1]),.5*I[2]+.25*(v[2]+u[2])],U=[.5*(P[0]+D[0]),.5*(P[1]+D[1]),.5*(P[2]+D[2])],H=[.5*E[0]+.25*(v[0]+M[0]),.5*E[1]+.25*(v[1]+M[1]),.5*E[2]+.25*(v[2]+M[2])],G=[.25*(x[0]+v[0])+.5*L[0],.25*(x[1]+v[1])+.5*L[1],.25*(x[2]+v[2])+.5*L[2]],F=[.5*(O[0]+B[0]),.5*(O[1]+B[1]),.5*(O[2]+B[2])],W=[.5*(B[0]+N[0]),.5*(B[1]+N[1]),.5*(B[2]+N[2])],X=[.5*(H[0]+F[0]),.5*(H[1]+F[1]),.5*(H[2]+F[2])],j=[.5*(H[0]+W[0]),.5*(H[1]+W[1]),.5*(H[2]+W[2])],Z=[.5*(F[0]+W[0]),.5*(F[1]+W[1]),.5*(F[2]+W[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,y,F,[.5*(E[0]+O[0]),.5*(E[1]+O[1]),.5*(E[2]+O[2])],C,Z,X,K,Q],ee=[Z,W,j,N,[.5*(L[0]+D[0]),.5*(L[1]+D[1]),.5*(L[2]+D[2])],k,w,D,U,q],te=[Q,$,z,Y,[.5*(S[0]+I[0]),.5*(S[1]+I[1]),.5*(S[2]+I[2])],S,q,_,R,T],ie=[q,Y,k,$,[.25*(A[0]+P[0]+B[0]+v[0]),.25*(A[1]+P[1]+B[1]+v[1]),.25*(A[2]+P[2]+B[2]+v[2])],j,Q,K,X,Z],ae=this.normal(Z,j,k,q,Y,$,Q),ne=this.normal(q,Y,$,Q,K,X,Z),re=this.normal(Q,K,X,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(),window.top.asyWebApplication&&window.top.asyWebApplication.setProjection(""),window.parent.asyProjection=!1}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(Temp,[center.x,center.y,center.z]),mat4.invert(cjMatInv,Temp),mat4.multiply(e,t,cjMatInv),mat4.multiply(e,Temp,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(Temp,2*n*ArcballFactor*r/Zoom,s),mat4.multiply(rotMat,Temp,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 Camera(){let e=Array(3),t=Array(3),i=Array(3),a=center.x,n=center.y,r=.5*(viewParam.zmin+viewParam.zmax);for(let s=0;s<3;++s){let o=0,l=0,h=0,c=4*s;for(let e=0;e<4;++e){let t=4*e,i=rotMat[t],s=rotMat[t+1],d=rotMat[t+2],m=rotMat[t+3],f=Transform[c+e];o+=f*(m-a*i-n*s-r*d),h+=f*s,l+=f*(m-a*i-n*s)}e[s]=o,t[s]=h,i[s]=l}return[e,t,i]}function projection(){if(null==Transform)return"";let e,t,i;[e,t,i]=Camera();let a=orthographic?" orthographic(":" perspective(",n="".padStart(a.length),r="currentprojection=\n"+a+"camera=("+e+"),\n"+n+"up=("+t+"),\n"+n+"target=("+i+"),\n"+n+"zoom="+Zoom*initialZoom/zoom0;return orthographic||(r+=",\n"+n+"angle="+2*Math.atan(Math.tan(.5*angleOfView)/Zoom)/radians),0==xshift&&0==yshift||(r+=",\n"+n+"viewportshift=("+xshift+","+yshift+")"),orthographic||(r+=",\n"+n+"autoadjust=false"),r+=");\n",window.parent.asyProjection=!0,r}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();break;case"c":showCamera()}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;xshift=(i/e+viewportShift[0])*Zoom,yshift=(a/t+viewportShift[1])*Zoom;let r=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*xshift,a=t*r*yshift;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*r/n,i=e*r*xshift,a=2*t*yshift;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*xshift,a=2*e*yshift;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(),window.top.asyWebApplication&&window.top.asyWebApplication.setProjection(projection())}function showCamera(){window.top.asyWebApplication||prompt("Ctrl+c Enter to copy currentprojection to clipboard; then append to asy file:",projection())}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,window.top.asyWebApplication&&""==window.top.asyWebApplication.getProjection()&&(window.parent.asyProjection=!1),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&&!window.parent.asyProjection&&canvasWidth<canvasHeight*e&&(zoom0*=canvasWidth/(canvasHeight*e))}canvas.width=canvasWidth,canvas.height=canvasHeight;window.innerWidth,window.innerHeight;let e=1/zoom0;viewportShift[0]*=e,viewportShift[1]*=e,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],A=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,A))}}}}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(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var i=e();for(var n in i)("object"==typeof exports?exports:t)[n]=i[n]}}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=1)}([function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setMatrixArrayType=function(t){e.ARRAY_TYPE=t},e.toRadian=function(t){return t*r},e.equals=function(t,e){return Math.abs(t-e)<=n*Math.max(1,Math.abs(t),Math.abs(e))};var n=e.EPSILON=1e-6;e.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,e.RANDOM=Math.random;var r=Math.PI/180},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.mat4=e.mat3=void 0;var n=s(i(2)),r=s(i(3));function s(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}e.mat3=n,e.mat4=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.create=function(){var t=new n.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},e.invert=function(t,e){var i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],h=e[6],l=e[7],c=e[8],d=c*a-o*l,m=-c*s+o*h,f=l*s-a*h,u=i*d+n*m+r*f;if(!u)return null;return u=1/u,t[0]=d*u,t[1]=(-c*n+r*l)*u,t[2]=(o*n-r*a)*u,t[3]=m*u,t[4]=(c*i-r*h)*u,t[5]=(-o*i+r*s)*u,t[6]=f*u,t[7]=(-l*i+n*h)*u,t[8]=(a*i-n*s)*u,t};var n=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}(i(0))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.create=function(){var t=new n.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.invert=function(t,e){var i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],h=e[6],l=e[7],c=e[8],d=e[9],m=e[10],f=e[11],u=e[12],p=e[13],v=e[14],x=e[15],g=i*o-n*a,w=i*h-r*a,M=i*l-s*a,b=n*h-r*o,R=n*l-s*o,T=r*l-s*h,y=c*p-d*u,A=c*v-m*u,E=c*x-f*u,I=d*v-m*p,L=d*x-f*p,N=m*x-f*v,O=g*N-w*L+M*I+b*E-R*A+T*y;if(!O)return null;return O=1/O,t[0]=(o*N-h*L+l*I)*O,t[1]=(r*L-n*N-s*I)*O,t[2]=(p*T-v*R+x*b)*O,t[3]=(m*R-d*T-f*b)*O,t[4]=(h*E-a*N-l*A)*O,t[5]=(i*N-r*E+s*A)*O,t[6]=(v*M-u*T-x*w)*O,t[7]=(c*T-m*M+f*w)*O,t[8]=(a*L-o*E+l*y)*O,t[9]=(n*E-i*L-s*y)*O,t[10]=(u*R-p*M+x*g)*O,t[11]=(d*M-c*R-f*g)*O,t[12]=(o*A-a*I-h*y)*O,t[13]=(i*I-n*A+r*y)*O,t[14]=(p*w-u*b-v*g)*O,t[15]=(c*b-d*w+m*g)*O,t},e.multiply=r,e.translate=function(t,e,i){var n=i[0],r=i[1],s=i[2],a=void 0,o=void 0,h=void 0,l=void 0,c=void 0,d=void 0,m=void 0,f=void 0,u=void 0,p=void 0,v=void 0,x=void 0;e===t?(t[12]=e[0]*n+e[4]*r+e[8]*s+e[12],t[13]=e[1]*n+e[5]*r+e[9]*s+e[13],t[14]=e[2]*n+e[6]*r+e[10]*s+e[14],t[15]=e[3]*n+e[7]*r+e[11]*s+e[15]):(a=e[0],o=e[1],h=e[2],l=e[3],c=e[4],d=e[5],m=e[6],f=e[7],u=e[8],p=e[9],v=e[10],x=e[11],t[0]=a,t[1]=o,t[2]=h,t[3]=l,t[4]=c,t[5]=d,t[6]=m,t[7]=f,t[8]=u,t[9]=p,t[10]=v,t[11]=x,t[12]=a*n+c*r+u*s+e[12],t[13]=o*n+d*r+p*s+e[13],t[14]=h*n+m*r+v*s+e[14],t[15]=l*n+f*r+x*s+e[15]);return t},e.rotate=function(t,e,i,r){var s,a,o,h,l,c,d,m,f,u,p,v,x,g,w,M,b,R,T,y,A,E,I,L,N=r[0],O=r[1],_=r[2],P=Math.sqrt(N*N+O*O+_*_);if(Math.abs(P)<n.EPSILON)return null;N*=P=1/P,O*=P,_*=P,s=Math.sin(i),a=Math.cos(i),o=1-a,h=e[0],l=e[1],c=e[2],d=e[3],m=e[4],f=e[5],u=e[6],p=e[7],v=e[8],x=e[9],g=e[10],w=e[11],M=N*N*o+a,b=O*N*o+_*s,R=_*N*o-O*s,T=N*O*o-_*s,y=O*O*o+a,A=_*O*o+N*s,E=N*_*o+O*s,I=O*_*o-N*s,L=_*_*o+a,t[0]=h*M+m*b+v*R,t[1]=l*M+f*b+x*R,t[2]=c*M+u*b+g*R,t[3]=d*M+p*b+w*R,t[4]=h*T+m*y+v*A,t[5]=l*T+f*y+x*A,t[6]=c*T+u*y+g*A,t[7]=d*T+p*y+w*A,t[8]=h*E+m*I+v*L,t[9]=l*E+f*I+x*L,t[10]=c*E+u*I+g*L,t[11]=d*E+p*I+w*L,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t},e.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},e.fromRotation=function(t,e,i){var r,s,a,o=i[0],h=i[1],l=i[2],c=Math.sqrt(o*o+h*h+l*l);if(Math.abs(c)<n.EPSILON)return null;return o*=c=1/c,h*=c,l*=c,r=Math.sin(e),s=Math.cos(e),a=1-s,t[0]=o*o*a+s,t[1]=h*o*a+l*r,t[2]=l*o*a-h*r,t[3]=0,t[4]=o*h*a-l*r,t[5]=h*h*a+s,t[6]=l*h*a+o*r,t[7]=0,t[8]=o*l*a+h*r,t[9]=h*l*a-o*r,t[10]=l*l*a+s,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.frustum=function(t,e,i,n,r,s,a){var o=1/(i-e),h=1/(r-n),l=1/(s-a);return t[0]=2*s*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*s*h,t[6]=0,t[7]=0,t[8]=(i+e)*o,t[9]=(r+n)*h,t[10]=(a+s)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=a*s*2*l,t[15]=0,t},e.ortho=function(t,e,i,n,r,s,a){var o=1/(e-i),h=1/(n-r),l=1/(s-a);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+i)*o,t[13]=(r+n)*h,t[14]=(a+s)*l,t[15]=1,t};var n=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}(i(0));function r(t,e,i){var n=e[0],r=e[1],s=e[2],a=e[3],o=e[4],h=e[5],l=e[6],c=e[7],d=e[8],m=e[9],f=e[10],u=e[11],p=e[12],v=e[13],x=e[14],g=e[15],w=i[0],M=i[1],b=i[2],R=i[3];return t[0]=w*n+M*o+b*d+R*p,t[1]=w*r+M*h+b*m+R*v,t[2]=w*s+M*l+b*f+R*x,t[3]=w*a+M*c+b*u+R*g,w=i[4],M=i[5],b=i[6],R=i[7],t[4]=w*n+M*o+b*d+R*p,t[5]=w*r+M*h+b*m+R*v,t[6]=w*s+M*l+b*f+R*x,t[7]=w*a+M*c+b*u+R*g,w=i[8],M=i[9],b=i[10],R=i[11],t[8]=w*n+M*o+b*d+R*p,t[9]=w*r+M*h+b*m+R*v,t[10]=w*s+M*l+b*f+R*x,t[11]=w*a+M*c+b*u+R*g,w=i[12],M=i[13],b=i[14],R=i[15],t[12]=w*n+M*o+b*d+R*p,t[13]=w*r+M*h+b*m+R*v,t[14]=w*s+M*l+b*f+R*x,t[15]=w*a+M*c+b*u+R*g,t}}])})),function(){document.asy={canvasWidth:0,canvasHeight:0,absolute:!1,minBound:[0,0,0],maxBound:[0,0,0],orthographic:!1,angleOfView:0,initialZoom:0,viewportShift:[0,0],viewportMargin:[0,0],background:[],zoomFactor:0,zoomPinchFactor:0,zoomPinchCap:0,zoomStep:0,shiftHoldDistance:0,shiftWaitTime:0,vibrateTime:0,ibl:!1,webgl2:!1,imageURL:"",image:"",Transform:[],Centers:[]};let t,e,i,n,r,s,a,o=document.asy,h=[],l=[],c=[],d=0,m=2;const f=Math.acos(-1),u=f/180,p=Math.ceil(1-Math.log2(Number.EPSILON));let v,x,g,w,M,b,R,T=mat4.create(),y=mat4.create(),A=mat4.create(),E=mat4.create(),I=mat3.create(),L=mat3.create(),N=mat4.create(),O=mat4.create(),_={x:0,y:0,z:0},P={x:0,y:0},S={xmin:0,xmax:0,ymin:0,ymax:0,zmin:0,zmax:0},U=!0,V=0,B=!1,D=null,C=null,F=[],z=[],H=[],X=[],G=null,W=null,j=null;function k(){o.embedded||st(),rt(o.ibl)}class Y{constructor(t,e,i,n,r,s){this.diffuse=t,this.emissive=e,this.specular=i,this.shininess=n,this.metallic=r,this.fresnel0=s}setUniform(e,i){let n=n=>t.getUniformLocation(e,"Materials["+i+"]."+n);t.uniform4fv(n("diffuse"),new Float32Array(this.diffuse)),t.uniform4fv(n("emissive"),new Float32Array(this.emissive)),t.uniform4fv(n("specular"),new Float32Array(this.specular)),t.uniform4f(n("parameters"),this.shininess,this.metallic,this.fresnel0,0)}}let $,q,K,Z,Q,J,tt,et,it;class nt{constructor(t,e){this.direction=t,this.color=e}setUniform(e,i){let n=n=>t.getUniformLocation(e,"Lights["+i+"]."+n);t.uniform3fv(n("direction"),new Float32Array(this.direction)),t.uniform3fv(n("color"),new Float32Array(this.color))}}function rt(e=!1){let i=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS);r=Math.floor((i-14)/4),m=Math.min(Math.max(m,c.length),r),pixelOpt=["WIDTH"],materialOpt=["NORMAL"],colorOpt=["NORMAL","COLOR"],transparentOpt=["NORMAL","COLOR","TRANSPARENT"],e&&(materialOpt.push("USE_IBL"),transparentOpt.push("USE_IBL")),xe=Lt(pixelOpt),ge=Lt(materialOpt),we=Lt(colorOpt),Me=Lt(transparentOpt)}function st(){t.deleteProgram(Me),t.deleteProgram(we),t.deleteProgram(ge),t.deleteProgram(xe)}function at(){let i=o.webgl2?window.top.document.asygl2[e]:window.top.document.asygl[e];i.gl=t,i.nlights=l.length,i.Nmaterials=m,i.maxMaterials=r,i.pixelShader=xe,i.materialShader=ge,i.colorShader=we,i.transparentShader=Me}function ot(t,e){let i;return o.webgl2&&(i=t.getContext("webgl2",{alpha:e}),o.embedded&&!i)?(o.webgl2=!1,o.ibl=!1,ht(!1),null):(i||(o.webgl2=!1,o.ibl=!1,i=t.getContext("webgl",{alpha:e})),i||alert("Could not initialize WebGL"),i)}function ht(s=!0){if(o.ibl&&(o.webgl2=!0),e=o.background[3]<1,o.embedded){let a=window.top.document;if(s&&(n=o.canvas.getContext("2d")),i=o.webgl2?a.offscreen2:a.offscreen,i||(i=a.createElement("canvas"),o.webgl2?a.offscreen2=i:a.offscreen=i),o.webgl2?a.asygl2||(a.asygl2=Array(2)):a.asygl||(a.asygl=Array(2)),asygl=o.webgl2?a.asygl2:a.asygl,asygl[e]&&asygl[e].gl)!function(){let i=o.webgl2?window.top.document.asygl2[e]:window.top.document.asygl[e];t=i.gl,d=i.nlights,m=i.Nmaterials,r=i.maxMaterials,xe=i.pixelShader,ge=i.materialShader,we=i.colorShader,Me=i.transparentShader}(),(l.length!=d||Math.min(c.length,r)>m)&&(rt(),at());else{if(rc=ot(i,e),!rc)return;t=rc,rt(),o.webgl2?a.asygl2[e]={}:a.asygl[e]={},at()}}else t=ot(o.canvas,e),rt();$=t.getExtension("OES_element_index_uint"),q=t.TRIANGLES,K=new mt(t.POINTS),Z=new mt(t.LINES),Q=new mt,J=new mt,tt=new mt,et=new mt}function lt(t,e,i,n=[]){let r=o.webgl2?"300 es":"100",s=Array(...n),a=[["nlights",0==V?l.length:0],["Nmaterials",m]],h=[["int","Nlights",Math.max(l.length,1)]];o.webgl2&&s.push("WEBGL2"),o.ibl&&a.push(["ROUGHNESS_STEP_COUNT",8..toFixed(2)]),o.orthographic&&s.push("ORTHOGRAPHIC"),macros_str=a.map(t=>`#define ${t[0]} ${t[1]}`).join("\n"),define_str=s.map(t=>"#define "+t).join("\n"),const_str=h.map(t=>`const ${t[0]} ${t[1]}=${t[2]};`).join("\n"),ext_str=[].map(t=>`#extension ${t}: enable`).join("\n"),shaderSrc=`#version ${r}\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${e}\n `;let c=t.createShader(i);return t.shaderSource(c,shaderSrc),t.compileShader(c),t.getShaderParameter(c,t.COMPILE_STATUS)?c:(alert(t.getShaderInfoLog(c)),null)}function ct(e,i,n,r=t.ARRAY_BUFFER){return e.length>0&&(0==i&&(i=t.createBuffer(),n=!0),t.bindBuffer(r,i),n&&t.bufferData(r,e,t.STATIC_DRAW)),i}function dt(e,i,n=e.indices){if(0==e.indices.length)return;let r=i!=xe;!function(e,i){let n=i==xe;t.useProgram(i),t.enableVertexAttribArray(Tt),n&&t.enableVertexAttribArray(It);let r=!n&&l.length>0;r&&t.enableVertexAttribArray(yt);t.enableVertexAttribArray(At),i.projViewMatUniform=t.getUniformLocation(i,"projViewMat"),i.viewMatUniform=t.getUniformLocation(i,"viewMat"),i.normMatUniform=t.getUniformLocation(i,"normMat"),(i==we||i==Me)&&t.enableVertexAttribArray(Et);if(r)for(let t=0;t<l.length;++t)l[t].setUniform(i,t);for(let t=0;t<e.materials.length;++t)e.materials[t].setUniform(i,t);t.uniformMatrix4fv(i.projViewMatUniform,!1,E),t.uniformMatrix4fv(i.viewMatUniform,!1,A),t.uniformMatrix3fv(i.normMatUniform,!1,I)}(e,i),null!=W&&(t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,j),t.uniform1i(t.getUniformLocation(i,"reflBRDFSampler"),0),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,W),t.uniform1i(t.getUniformLocation(i,"diffuseSampler"),1),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,G),t.uniform1i(t.getUniformLocation(i,"reflImgSampler"),2));let s=U||e.partial||!e.rendered;e.verticesBuffer=ct(new Float32Array(e.vertices),e.verticesBuffer,s),t.vertexAttribPointer(Tt,3,t.FLOAT,!1,r?24:16,0),r?l.length>0&&t.vertexAttribPointer(yt,3,t.FLOAT,!1,24,12):t.vertexAttribPointer(It,1,t.FLOAT,!1,16,12),e.materialsBuffer=ct(new Int16Array(e.materialIndices),e.materialsBuffer,s),t.vertexAttribPointer(At,1,t.SHORT,!1,2,0),i!=we&&i!=Me||(e.colorsBuffer=ct(new Float32Array(e.colors),e.colorsBuffer,s),t.vertexAttribPointer(Et,4,t.FLOAT,!0,0,0)),e.indicesBuffer=ct($?new Uint32Array(n):new Uint16Array(n),e.indicesBuffer,s,t.ELEMENT_ARRAY_BUFFER),e.rendered=!0,t.drawElements(r?V?t.LINES:e.type:t.POINTS,n.length,$?t.UNSIGNED_INT:t.UNSIGNED_SHORT,0)}class mt{constructor(t){this.type=t||q,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(t,e){return this.vertices.push(t[0]),this.vertices.push(t[1]),this.vertices.push(t[2]),this.vertices.push(e[0]),this.vertices.push(e[1]),this.vertices.push(e[2]),this.materialIndices.push(it),this.nvertices++}Vertex(t,e,i=[0,0,0,0]){return this.vertices.push(t[0]),this.vertices.push(t[1]),this.vertices.push(t[2]),this.vertices.push(e[0]),this.vertices.push(e[1]),this.vertices.push(e[2]),this.materialIndices.push(it),this.colors.push(i[0]),this.colors.push(i[1]),this.colors.push(i[2]),this.colors.push(i[3]),this.nvertices++}vertex0(t,e){return this.vertices.push(t[0]),this.vertices.push(t[1]),this.vertices.push(t[2]),this.vertices.push(e),this.materialIndices.push(it),this.nvertices++}iVertex(t,e,i,n=[0,0,0,0]){let r=6*t;this.vertices[r]=e[0],this.vertices[r+1]=e[1],this.vertices[r+2]=e[2],this.vertices[r+3]=i[0],this.vertices[r+4]=i[1],this.vertices[r+5]=i[2],this.materialIndices[t]=it;let s=4*t;this.colors[s]=n[0],this.colors[s+1]=n[1],this.colors[s+2]=n[2],this.colors[s+3]=n[3],this.indices.push(t)}append(t){ft(this.vertices,t.vertices),ft(this.materialIndices,t.materialIndices),ft(this.colors,t.colors),function(t,e,i){let n=t.length,r=e.length;t.length+=e.length;for(let s=0;s<r;++s)t[n+s]=e[s]+i}(this.indices,t.indices,this.nvertices),this.nvertices+=t.nvertices}}function ft(t,e){let i=t.length,n=e.length;t.length+=n;for(let r=0;r<n;++r)t[i+r]=e[r]}class ut{constructor(){this.data=new mt,this.Onscreen=!1,this.m=[]}offscreen(t){let e=E,i=t[0],n=i[0],r=i[1],s=i[2],a=1/(e[3]*n+e[7]*r+e[11]*s+e[15]);this.x=this.X=(e[0]*n+e[4]*r+e[8]*s+e[12])*a,this.y=this.Y=(e[1]*n+e[5]*r+e[9]*s+e[13])*a;for(let i=1,n=t.length;i<n;++i){let n=t[i],r=n[0],s=n[1],a=n[2],o=1/(e[3]*r+e[7]*s+e[11]*a+e[15]),h=(e[0]*r+e[4]*s+e[8]*a+e[12])*o,l=(e[1]*r+e[5]*s+e[9]*a+e[13])*o;h<this.x?this.x=h:h>this.X&&(this.X=h),l<this.y?this.y=l:l>this.Y&&(this.Y=l)}return(this.X<-1.01||this.x>1.01||this.Y<-1.01||this.y>1.01)&&(this.Onscreen=!1,!0)}T(t){let e=this.c[0],i=this.c[1],n=this.c[2],r=t[0]-e,s=t[1]-i,a=t[2]-n;return[r*I[0]+s*I[3]+a*I[6]+e,r*I[1]+s*I[4]+a*I[7]+i,r*I[2]+s*I[5]+a*I[8]+n]}Tcorners(t,e){return[this.T(t),this.T([t[0],t[1],e[2]]),this.T([t[0],e[1],t[2]]),this.T([t[0],e[1],e[2]]),this.T([e[0],t[1],t[2]]),this.T([e[0],t[1],e[2]]),this.T([e[0],e[1],t[2]]),this.T(e)]}setMaterial(t,e){null==t.materialTable[this.MaterialIndex]&&(t.materials.length>=m&&(t.partial=!0,e()),t.materialTable[this.MaterialIndex]=t.materials.length,t.materials.push(c[this.MaterialIndex])),it=t.materialTable[this.MaterialIndex]}render(){let t;var e,i;if(this.setMaterialIndex(),0==this.CenterIndex?(e=this.Min,i=this.Max,t=[e,[e[0],e[1],i[2]],[e[0],i[1],e[2]],[e[0],i[1],i[2]],[i[0],e[1],e[2]],[i[0],e[1],i[2]],[i[0],i[1],e[2]],i]):(this.c=o.Centers[this.CenterIndex-1],t=this.Tcorners(this.Min,this.Max)),this.offscreen(t))return this.data.clear(),void this.notRendered();let n,r=this.controlpoints;if(0==this.CenterIndex){if(!U&&this.Onscreen)return void this.append();n=r}else{let t=r.length;n=Array(t);for(let e=0;e<t;++e)n[e]=this.T(r[e])}let s=o.orthographic?1:this.Min[2]/o.maxBound[2],a=.75*Math.hypot(s*(S.xmax-S.xmin),s*(S.ymax-S.ymin))/b;this.res2=a*a,this.Epsilon=.1*a,this.data.clear(),this.notRendered(),this.Onscreen=!0,this.process(n)}}function pt(t,e){let i=t[0],n=t.length;for(let r=1;r<n;++r)i=e(i,t[r]);return i}class vt extends ut{constructor(t,e,i,n,r,s){super(),this.controlpoints=t,this.CenterIndex=e,this.MaterialIndex=i,this.color=n;let a=t.length;if(n){let t=n[0][3]+n[1][3]+n[2][3];this.transparent=16==a||4==a?t+n[3][3]<1020:t<765}else this.transparent=c[i].diffuse[3]<1;this.vertex=this.transparent?this.data.Vertex.bind(this.data):this.data.vertex.bind(this.data);let o=this.L2norm2(this.controlpoints),h=Math.sqrt(1e3*Number.EPSILON*o);this.epsilon=o*Number.EPSILON,this.Min=r||this.Bounds(this.controlpoints,Math.min,h),this.Max=s||this.Bounds(this.controlpoints,Math.max,h)}setMaterialIndex(){this.transparent?this.setMaterial(tt,Ie):this.color?this.setMaterial(J,Ae):this.setMaterial(Q,ye)}cornerbound(t,e){let i=e(t[0],t[3]);return i=e(i,t[12]),e(i,t[15])}controlbound(t,e){let i=e(t[1],t[2]);return i=e(i,t[4]),i=e(i,t[5]),i=e(i,t[6]),i=e(i,t[7]),i=e(i,t[8]),i=e(i,t[9]),i=e(i,t[10]),i=e(i,t[11]),i=e(i,t[13]),e(i,t[14])}bound(t,e,i,n,r){if(i=e(i,this.cornerbound(t,e)),e(-1,1)*(i-this.controlbound(t,e))>=-n||0==r)return i;--r,n*=2;let s=new Nt(t[0],t[1],t[2],t[3]),a=new Nt(t[4],t[5],t[6],t[7]),o=new Nt(t[8],t[9],t[10],t[11]),h=new Nt(t[12],t[13],t[14],t[15]),l=new Nt(t[0],t[4],t[8],t[12]),c=new Nt(s.m0,a.m0,o.m0,h.m0),d=new Nt(s.m3,a.m3,o.m3,h.m3),m=new Nt(s.m5,a.m5,o.m5,h.m5),f=new Nt(s.m4,a.m4,o.m4,h.m4),u=new Nt(s.m2,a.m2,o.m2,h.m2),p=new Nt(t[3],t[7],t[11],t[15]),v=[t[0],s.m0,s.m3,s.m5,l.m0,c.m0,d.m0,m.m0,l.m3,c.m3,d.m3,m.m3,l.m5,c.m5,d.m5,m.m5];i=this.bound(v,e,i,n,r);let x=[l.m5,c.m5,d.m5,m.m5,l.m4,c.m4,d.m4,m.m4,l.m2,c.m2,d.m2,m.m2,t[12],h.m0,h.m3,h.m5];i=this.bound(x,e,i,n,r);let g=[m.m5,f.m5,u.m5,p.m5,m.m4,f.m4,u.m4,p.m4,m.m2,f.m2,u.m2,p.m2,h.m5,h.m4,h.m2,t[15]];i=this.bound(g,e,i,n,r);let w=[s.m5,s.m4,s.m2,t[3],m.m0,f.m0,u.m0,p.m0,m.m3,f.m3,u.m3,p.m3,m.m5,f.m5,u.m5,p.m5];return this.bound(w,e,i,n,r)}cornerboundtri(t,e){let i=e(t[0],t[6]);return e(i,t[9])}controlboundtri(t,e){let i=e(t[1],t[2]);return i=e(i,t[3]),i=e(i,t[4]),i=e(i,t[5]),i=e(i,t[7]),e(i,t[8])}boundtri(t,e,i,n,r){if(i=e(i,this.cornerboundtri(t,e)),e(-1,1)*(i-this.controlboundtri(t,e))>=-n||0==r)return i;--r,n*=2;let s=new _t(t),a=[s.l003,s.l102,s.l012,s.l201,s.l111,s.l021,s.l300,s.l210,s.l120,s.l030];i=this.boundtri(a,e,i,n,r);let o=[s.l300,s.r102,s.r012,s.r201,s.r111,s.r021,s.r300,s.r210,s.r120,s.r030];i=this.boundtri(o,e,i,n,r);let h=[s.l030,s.u102,s.u012,s.u201,s.u111,s.u021,s.r030,s.u210,s.u120,s.u030];i=this.boundtri(h,e,i,n,r);let l=[s.r030,s.u201,s.r021,s.u102,s.c111,s.r012,s.l030,s.l120,s.l210,s.l300];return this.boundtri(l,e,i,n,r)}Bounds(t,e,i){let n=Array(3),r=t.length,s=Array(r);for(let a=0;a<3;++a){for(let e=0;e<r;++e)s[e]=t[e][a];n[a]=16==r?this.bound(s,e,s[0],i,p):10==r?this.boundtri(s,e,s[0],i,p):pt(s,e)}return[n[0],n[1],n[2]]}L2norm2(t){let e=t[0],i=0,n=t.length;for(let r=1;r<n;++r)i=Math.max(i,St([t[r][0]-e[0],t[r][1]-e[1],t[r][2]-e[2]]));return i}processTriangle(t){let e=t[0],i=t[1],n=t[2],r=Pt(Vt([i[0]-e[0],i[1]-e[1],i[2]-e[2]],[n[0]-e[0],n[1]-e[1],n[2]-e[2]]));if(!this.offscreen([e,i,n])){let t,s,a;this.color?(t=this.data.Vertex(e,r,this.color[0]),s=this.data.Vertex(i,r,this.color[1]),a=this.data.Vertex(n,r,this.color[2])):(t=this.vertex(e,r),s=this.vertex(i,r),a=this.vertex(n,r)),0==V?(this.data.indices.push(t),this.data.indices.push(s),this.data.indices.push(a)):(this.data.indices.push(t),this.data.indices.push(s),this.data.indices.push(s),this.data.indices.push(a),this.data.indices.push(a),this.data.indices.push(t)),this.append()}}processQuad(t){let e=t[0],i=t[1],n=t[2],r=t[3],s=Vt([i[0]-e[0],i[1]-e[1],i[2]-e[2]],[n[0]-i[0],n[1]-i[1],n[2]-i[2]]),a=Vt([n[0]-r[0],n[1]-r[1],n[2]-r[2]],[r[0]-e[0],r[1]-e[1],r[2]-e[2]]),o=Pt([s[0]+a[0],s[1]+a[1],s[2]+a[2]]);if(!this.offscreen([e,i,n,r])){let t,s,a,h;this.color?(t=this.data.Vertex(e,o,this.color[0]),s=this.data.Vertex(i,o,this.color[1]),a=this.data.Vertex(n,o,this.color[2]),h=this.data.Vertex(r,o,this.color[3])):(t=this.vertex(e,o),s=this.vertex(i,o),a=this.vertex(n,o),h=this.vertex(r,o)),0==V?(this.data.indices.push(t),this.data.indices.push(s),this.data.indices.push(a),this.data.indices.push(t),this.data.indices.push(a),this.data.indices.push(h)):(this.data.indices.push(t),this.data.indices.push(s),this.data.indices.push(s),this.data.indices.push(a),this.data.indices.push(a),this.data.indices.push(h),this.data.indices.push(h),this.data.indices.push(t)),this.append()}}curve(t,e,i,n,r){new wt([t[e],t[i],t[n],t[r]],0,it,this.Min,this.Max).render()}process(t){if(this.transparent&&1!=V&&(it=this.color?-1-it:1+it),10==t.length)return this.process3(t);if(3==t.length)return this.processTriangle(t);if(4==t.length)return this.processQuad(t);if(1==V)return this.curve(t,0,4,8,12),this.curve(t,12,13,14,15),this.curve(t,15,11,7,3),void this.curve(t,3,2,1,0);let e=t[0],i=t[3],n=t[12],r=t[15],s=this.normal(i,t[2],t[1],e,t[4],t[8],n);St(s)<this.epsilon&&(s=this.normal(i,t[2],t[1],e,t[13],t[14],r),St(s)<this.epsilon&&(s=this.normal(r,t[11],t[7],i,t[4],t[8],n)));let a=this.normal(e,t[4],t[8],n,t[13],t[14],r);St(a)<this.epsilon&&(a=this.normal(e,t[4],t[8],n,t[11],t[7],i),St(a)<this.epsilon&&(a=this.normal(i,t[2],t[1],e,t[13],t[14],r)));let o=this.normal(n,t[13],t[14],r,t[11],t[7],i);St(o)<this.epsilon&&(o=this.normal(n,t[13],t[14],r,t[2],t[1],e),St(o)<this.epsilon&&(o=this.normal(e,t[4],t[8],n,t[11],t[7],i)));let h=this.normal(r,t[11],t[7],i,t[2],t[1],e);if(St(h)<this.epsilon&&(h=this.normal(r,t[11],t[7],i,t[4],t[8],n),St(h)<this.epsilon&&(h=this.normal(n,t[13],t[14],r,t[2],t[1],e))),this.color){let l=this.color[0],c=this.color[1],d=this.color[2],m=this.color[3],f=this.data.Vertex(e,s,l),u=this.data.Vertex(n,a,c),p=this.data.Vertex(r,o,d),v=this.data.Vertex(i,h,m);this.Render(t,f,u,p,v,e,n,r,i,!1,!1,!1,!1,l,c,d,m)}else{let l=this.vertex(e,s),c=this.vertex(n,a),d=this.vertex(r,o),m=this.vertex(i,h);this.Render(t,l,c,d,m,e,n,r,i,!1,!1,!1,!1)}this.data.indices.length>0&&this.append()}append(){this.transparent?tt.append(this.data):this.color?J.append(this.data):Q.append(this.data)}notRendered(){this.transparent?tt.rendered=!1:this.color?J.rendered=!1:Q.rendered=!1}Render(t,e,i,n,r,s,a,o,h,l,c,d,m,f,u,p,v){let x=this.Distance(t);if(x[0]<this.res2&&x[1]<this.res2)this.offscreen([s,a,o])||(0==V?(this.data.indices.push(e),this.data.indices.push(i),this.data.indices.push(n)):(this.data.indices.push(e),this.data.indices.push(i),this.data.indices.push(i),this.data.indices.push(n))),this.offscreen([s,o,h])||(0==V?(this.data.indices.push(e),this.data.indices.push(n),this.data.indices.push(r)):(this.data.indices.push(n),this.data.indices.push(r),this.data.indices.push(r),this.data.indices.push(e)));else{if(this.offscreen(t))return;let g=t[0],w=t[3],M=t[12],b=t[15];if(x[0]<this.res2){let x=new Ot(g,t[1],t[2],w),R=new Ot(t[4],t[5],t[6],t[7]),T=new Ot(t[8],t[9],t[10],t[11]),y=new Ot(M,t[13],t[14],b),A=[g,x.m0,x.m3,x.m5,t[4],R.m0,R.m3,R.m5,t[8],T.m0,T.m3,T.m5,M,y.m0,y.m3,y.m5],E=[x.m5,x.m4,x.m2,w,R.m5,R.m4,R.m2,t[7],T.m5,T.m4,T.m2,t[11],y.m5,y.m4,y.m2,b],I=this.normal(A[12],A[13],A[14],A[15],A[11],A[7],A[3]);St(I)<=this.epsilon&&(I=this.normal(A[12],A[13],A[14],A[15],A[2],A[1],A[0]),St(I)<=this.epsilon&&(I=this.normal(A[0],A[4],A[8],A[12],A[11],A[7],A[3])));let L=this.normal(E[3],E[2],E[1],E[0],E[4],E[8],E[12]);St(L)<=this.epsilon&&(L=this.normal(E[3],E[2],E[1],E[0],E[13],E[14],E[15]),St(L)<=this.epsilon&&(L=this.normal(E[15],E[11],E[7],E[3],E[4],E[8],E[12])));let N=this.Epsilon,O=[.5*(a[0]+o[0]),.5*(a[1]+o[1]),.5*(a[2]+o[2])];if(!c)if(c=zt(M,t[13],t[14],b)<this.res2){let t=Pt(this.differential(E[12],E[8],E[4],E[0]));O=[O[0]-N*t[0],O[1]-N*t[1],O[2]-N*t[2]]}else O=A[15];let _=[.5*(h[0]+s[0]),.5*(h[1]+s[1]),.5*(h[2]+s[2])];if(!m)if(m=zt(g,t[1],t[2],w)<this.res2){let t=Pt(this.differential(A[3],A[7],A[11],A[15]));_=[_[0]-N*t[0],_[1]-N*t[1],_[2]-N*t[2]]}else _=E[0];if(f){let t=Array(4),x=Array(4);for(let e=0;e<4;++e)t[e]=.5*(u[e]+p[e]),x[e]=.5*(v[e]+f[e]);let g=this.data.Vertex(O,I,t),w=this.data.Vertex(_,L,x);this.Render(A,e,i,g,w,s,a,O,_,l,c,!1,m,f,u,t,x),this.Render(E,w,g,n,r,_,O,o,h,!1,c,d,m,x,t,p,v)}else{let t=this.vertex(O,I),f=this.vertex(_,L);this.Render(A,e,i,t,f,s,a,O,_,l,c,!1,m),this.Render(E,f,t,n,r,_,O,o,h,!1,c,d,m)}return}if(x[1]<this.res2){let x=new Ot(g,t[4],t[8],M),R=new Ot(t[1],t[5],t[9],t[13]),T=new Ot(t[2],t[6],t[10],t[14]),y=new Ot(w,t[7],t[11],b),A=[g,t[1],t[2],w,x.m0,R.m0,T.m0,y.m0,x.m3,R.m3,T.m3,y.m3,x.m5,R.m5,T.m5,y.m5],E=[x.m5,R.m5,T.m5,y.m5,x.m4,R.m4,T.m4,y.m4,x.m2,R.m2,T.m2,y.m2,M,t[13],t[14],b],I=this.normal(A[0],A[4],A[8],A[12],A[13],A[14],A[15]);St(I)<=this.epsilon&&(I=this.normal(A[0],A[4],A[8],A[12],A[11],A[7],A[3]),St(I)<=this.epsilon&&(I=this.normal(A[3],A[2],A[1],A[0],A[13],A[14],A[15])));let L=this.normal(E[15],E[11],E[7],E[3],E[2],E[1],E[0]);St(L)<=this.epsilon&&(L=this.normal(E[15],E[11],E[7],E[3],E[4],E[8],E[12]),St(L)<=this.epsilon&&(L=this.normal(E[12],E[13],E[14],E[15],E[2],E[1],E[0])));let N=this.Epsilon,O=[.5*(s[0]+a[0]),.5*(s[1]+a[1]),.5*(s[2]+a[2])];if(!l)if(l=zt(g,t[4],t[8],M)<this.res2){let t=Pt(this.differential(E[0],E[1],E[2],E[3]));O=[O[0]-N*t[0],O[1]-N*t[1],O[2]-N*t[2]]}else O=A[12];let _=[.5*(o[0]+h[0]),.5*(o[1]+h[1]),.5*(o[2]+h[2])];if(!d)if(d=zt(b,t[11],t[7],w)<this.res2){let t=Pt(this.differential(A[15],A[14],A[13],A[12]));_=[_[0]-N*t[0],_[1]-N*t[1],_[2]-N*t[2]]}else _=E[3];if(f){let t=Array(4),x=Array(4);for(let e=0;e<4;++e)t[e]=.5*(f[e]+u[e]),x[e]=.5*(p[e]+v[e]);let g=this.data.Vertex(O,I,t),w=this.data.Vertex(_,L,x);this.Render(A,e,g,w,r,s,O,_,h,l,!1,d,m,f,t,x,v),this.Render(E,g,i,n,w,O,a,o,_,l,c,d,!1,t,u,p,x)}else{let t=this.vertex(O,I),f=this.vertex(_,L);this.Render(A,e,t,f,r,s,O,_,h,l,!1,d,m),this.Render(E,t,i,n,f,O,a,o,_,l,c,d,!1)}return}let R=new Ot(g,t[1],t[2],w),T=new Ot(t[4],t[5],t[6],t[7]),y=new Ot(t[8],t[9],t[10],t[11]),A=new Ot(M,t[13],t[14],b),E=new Ot(g,t[4],t[8],M),I=new Ot(R.m0,T.m0,y.m0,A.m0),L=new Ot(R.m3,T.m3,y.m3,A.m3),N=new Ot(R.m5,T.m5,y.m5,A.m5),O=new Ot(R.m4,T.m4,y.m4,A.m4),_=new Ot(R.m2,T.m2,y.m2,A.m2),P=new Ot(w,t[7],t[11],b),S=[g,R.m0,R.m3,R.m5,E.m0,I.m0,L.m0,N.m0,E.m3,I.m3,L.m3,N.m3,E.m5,I.m5,L.m5,N.m5],U=[E.m5,I.m5,L.m5,N.m5,E.m4,I.m4,L.m4,N.m4,E.m2,I.m2,L.m2,N.m2,M,A.m0,A.m3,A.m5],V=[N.m5,O.m5,_.m5,P.m5,N.m4,O.m4,_.m4,P.m4,N.m2,O.m2,_.m2,P.m2,A.m5,A.m4,A.m2,b],B=[R.m5,R.m4,R.m2,w,N.m0,O.m0,_.m0,P.m0,N.m3,O.m3,_.m3,P.m3,N.m5,O.m5,_.m5,P.m5],D=S[15],C=this.normal(S[0],S[4],S[8],S[12],S[13],S[14],S[15]);St(C)<this.epsilon&&(C=this.normal(S[0],S[4],S[8],S[12],S[11],S[7],S[3]),St(C)<this.epsilon&&(C=this.normal(S[3],S[2],S[1],S[0],S[13],S[14],S[15])));let F=this.normal(U[12],U[13],U[14],U[15],U[11],U[7],U[3]);St(F)<this.epsilon&&(F=this.normal(U[12],U[13],U[14],U[15],U[2],U[1],U[0]),St(F)<this.epsilon&&(F=this.normal(U[0],U[4],U[8],U[12],U[11],U[7],U[3])));let z=this.normal(V[15],V[11],V[7],V[3],V[2],V[1],V[0]);St(z)<this.epsilon&&(z=this.normal(V[15],V[11],V[7],V[3],V[4],V[8],V[12]),St(z)<this.epsilon&&(z=this.normal(V[12],V[13],V[14],V[15],V[2],V[1],V[0])));let H=this.normal(B[3],B[2],B[1],B[0],B[4],B[8],B[12]);St(H)<this.epsilon&&(H=this.normal(B[3],B[2],B[1],B[0],B[13],B[14],B[15]),St(H)<this.epsilon&&(H=this.normal(B[15],B[11],B[7],B[3],B[4],B[8],B[12])));let X=this.normal(V[3],V[2],V[1],D,V[4],V[8],V[12]),G=this.Epsilon,W=[.5*(s[0]+a[0]),.5*(s[1]+a[1]),.5*(s[2]+a[2])];if(!l)if(l=zt(g,t[4],t[8],M)<this.res2){let t=Pt(this.differential(U[0],U[1],U[2],U[3]));W=[W[0]-G*t[0],W[1]-G*t[1],W[2]-G*t[2]]}else W=S[12];let j=[.5*(a[0]+o[0]),.5*(a[1]+o[1]),.5*(a[2]+o[2])];if(!c)if(c=zt(M,t[13],t[14],b)<this.res2){let t=Pt(this.differential(V[12],V[8],V[4],V[0]));j=[j[0]-G*t[0],j[1]-G*t[1],j[2]-G*t[2]]}else j=U[15];let k=[.5*(o[0]+h[0]),.5*(o[1]+h[1]),.5*(o[2]+h[2])];if(!d)if(d=zt(b,t[11],t[7],w)<this.res2){let t=Pt(this.differential(B[15],B[14],B[13],B[12]));k=[k[0]-G*t[0],k[1]-G*t[1],k[2]-G*t[2]]}else k=V[3];let Y=[.5*(h[0]+s[0]),.5*(h[1]+s[1]),.5*(h[2]+s[2])];if(!m)if(m=zt(g,t[1],t[2],w)<this.res2){let t=Pt(this.differential(S[3],S[7],S[11],S[15]));Y=[Y[0]-G*t[0],Y[1]-G*t[1],Y[2]-G*t[2]]}else Y=B[0];if(f){let t=Array(4),x=Array(4),g=Array(4),w=Array(4),M=Array(4);for(let e=0;e<4;++e)t[e]=.5*(f[e]+u[e]),x[e]=.5*(u[e]+p[e]),g[e]=.5*(p[e]+v[e]),w[e]=.5*(v[e]+f[e]),M[e]=.5*(t[e]+g[e]);let b=this.data.Vertex(W,C,t),R=this.data.Vertex(j,F,x),T=this.data.Vertex(k,z,g),y=this.data.Vertex(Y,H,w),A=this.data.Vertex(D,X,M);this.Render(S,e,b,A,y,s,W,D,Y,l,!1,!1,m,f,t,M,w),this.Render(U,b,i,R,A,W,a,j,D,l,c,!1,!1,t,u,x,M),this.Render(V,A,R,n,T,D,j,o,k,!1,c,d,!1,M,x,p,g),this.Render(B,y,A,T,r,Y,D,k,h,!1,!1,d,m,w,M,g,v)}else{let t=this.vertex(W,C),f=this.vertex(j,F),u=this.vertex(k,z),p=this.vertex(Y,H),v=this.vertex(D,X);this.Render(S,e,t,v,p,s,W,D,Y,l,!1,!1,m),this.Render(U,t,i,f,v,W,a,j,D,l,c,!1,!1),this.Render(V,v,f,n,u,D,j,o,k,!1,c,d,!1),this.Render(B,p,v,u,r,Y,D,k,h,!1,!1,d,m)}}}process3(t){if(1==V)return this.curve(t,0,1,3,6),this.curve(t,6,7,8,9),void this.curve(t,9,5,2,0);let e=t[0],i=t[6],n=t[9],r=this.normal(n,t[5],t[2],e,t[1],t[3],i),s=this.normal(e,t[1],t[3],i,t[7],t[8],n),a=this.normal(i,t[7],t[8],n,t[5],t[2],e);if(this.color){let o=this.color[0],h=this.color[1],l=this.color[2],c=this.data.Vertex(e,r,o),d=this.data.Vertex(i,s,h),m=this.data.Vertex(n,a,l);this.Render3(t,c,d,m,e,i,n,!1,!1,!1,o,h,l)}else{let o=this.vertex(e,r),h=this.vertex(i,s),l=this.vertex(n,a);this.Render3(t,o,h,l,e,i,n,!1,!1,!1)}this.data.indices.length>0&&this.append()}Render3(t,e,i,n,r,s,a,o,h,l,c,d,m){if(this.Distance3(t)<this.res2)this.offscreen([r,s,a])||(0==V?(this.data.indices.push(e),this.data.indices.push(i),this.data.indices.push(n)):(this.data.indices.push(e),this.data.indices.push(i),this.data.indices.push(i),this.data.indices.push(n),this.data.indices.push(n),this.data.indices.push(e)));else{if(this.offscreen(t))return;let f=t[0],u=t[1],p=t[2],v=t[3],x=t[4],g=t[5],w=t[6],M=t[7],b=t[8],R=t[9],T=[.5*(R[0]+g[0]),.5*(R[1]+g[1]),.5*(R[2]+g[2])],y=[.5*(R[0]+b[0]),.5*(R[1]+b[1]),.5*(R[2]+b[2])],A=[.5*(g[0]+p[0]),.5*(g[1]+p[1]),.5*(g[2]+p[2])],E=[.5*(b[0]+x[0]),.5*(b[1]+x[1]),.5*(b[2]+x[2])],I=[.5*(b[0]+M[0]),.5*(b[1]+M[1]),.5*(b[2]+M[2])],L=[.5*(p[0]+x[0]),.5*(p[1]+x[1]),.5*(p[2]+x[2])],N=[.5*(p[0]+f[0]),.5*(p[1]+f[1]),.5*(p[2]+f[2])],O=[.5*(x[0]+v[0]),.5*(x[1]+v[1]),.5*(x[2]+v[2])],_=[.5*(M[0]+w[0]),.5*(M[1]+w[1]),.5*(M[2]+w[2])],P=[.5*(f[0]+u[0]),.5*(f[1]+u[1]),.5*(f[2]+u[2])],S=[.5*(u[0]+v[0]),.5*(u[1]+v[1]),.5*(u[2]+v[2])],U=[.5*(v[0]+w[0]),.5*(v[1]+w[1]),.5*(v[2]+w[2])],V=[.5*(T[0]+A[0]),.5*(T[1]+A[1]),.5*(T[2]+A[2])],B=[.5*(y[0]+I[0]),.5*(y[1]+I[1]),.5*(y[2]+I[2])],D=[.5*(A[0]+N[0]),.5*(A[1]+N[1]),.5*(A[2]+N[2])],C=[.5*E[0]+.25*(x[0]+u[0]),.5*E[1]+.25*(x[1]+u[1]),.5*E[2]+.25*(x[2]+u[2])],F=[.5*(I[0]+_[0]),.5*(I[1]+_[1]),.5*(I[2]+_[2])],z=[.5*L[0]+.25*(x[0]+M[0]),.5*L[1]+.25*(x[1]+M[1]),.5*L[2]+.25*(x[2]+M[2])],H=[.25*(g[0]+x[0])+.5*O[0],.25*(g[1]+x[1])+.5*O[1],.25*(g[2]+x[2])+.5*O[2]],X=[.5*(P[0]+S[0]),.5*(P[1]+S[1]),.5*(P[2]+S[2])],G=[.5*(S[0]+U[0]),.5*(S[1]+U[1]),.5*(S[2]+U[2])],W=[.5*(z[0]+X[0]),.5*(z[1]+X[1]),.5*(z[2]+X[2])],j=[.5*(z[0]+G[0]),.5*(z[1]+G[1]),.5*(z[2]+G[2])],k=[.5*(X[0]+G[0]),.5*(X[1]+G[1]),.5*(X[2]+G[2])],Y=[.5*(H[0]+F[0]),.5*(H[1]+F[1]),.5*(H[2]+F[2])],$=[.5*(B[0]+H[0]),.5*(B[1]+H[1]),.5*(B[2]+H[2])],q=[.5*(B[0]+F[0]),.5*(B[1]+F[1]),.5*(B[2]+F[2])],K=[.5*(V[0]+C[0]),.5*(V[1]+C[1]),.5*(V[2]+C[2])],Z=[.5*(D[0]+C[0]),.5*(D[1]+C[1]),.5*(D[2]+C[2])],Q=[.5*(V[0]+D[0]),.5*(V[1]+D[1]),.5*(V[2]+D[2])],J=[f,P,N,X,[.5*(L[0]+P[0]),.5*(L[1]+P[1]),.5*(L[2]+P[2])],D,k,W,Z,Q],tt=[k,G,j,U,[.5*(O[0]+_[0]),.5*(O[1]+_[1]),.5*(O[2]+_[2])],Y,w,_,F,q],et=[Q,K,V,$,[.5*(T[0]+E[0]),.5*(T[1]+E[1]),.5*(T[2]+E[2])],T,q,B,y,R],it=[q,$,Y,K,[.25*(A[0]+I[0]+S[0]+x[0]),.25*(A[1]+I[1]+S[1]+x[1]),.25*(A[2]+I[2]+S[2]+x[2])],j,Q,Z,W,k],nt=this.normal(k,j,Y,q,$,K,Q),rt=this.normal(q,$,K,Q,Z,W,k),st=this.normal(Q,Z,W,k,j,Y,q),at=this.Epsilon,ot=[.5*(s[0]+a[0]),.5*(s[1]+a[1]),.5*(s[2]+a[2])];if(!o)if(o=zt(w,M,b,R)<this.res2){let t=Pt(this.sumdifferential(it[0],it[2],it[5],it[9],it[1],it[3],it[6]));ot=[ot[0]-at*t[0],ot[1]-at*t[1],ot[2]-at*t[2]]}else ot=q;let ht=[.5*(a[0]+r[0]),.5*(a[1]+r[1]),.5*(a[2]+r[2])];if(!h)if(h=zt(f,p,g,R)<this.res2){let t=Pt(this.sumdifferential(it[6],it[3],it[1],it[0],it[7],it[8],it[9]));ht=[ht[0]-at*t[0],ht[1]-at*t[1],ht[2]-at*t[2]]}else ht=Q;let lt=[.5*(r[0]+s[0]),.5*(r[1]+s[1]),.5*(r[2]+s[2])];if(!l)if(l=zt(f,u,v,w)<this.res2){let t=Pt(this.sumdifferential(it[9],it[8],it[7],it[6],it[5],it[2],it[0]));lt=[lt[0]-at*t[0],lt[1]-at*t[1],lt[2]-at*t[2]]}else lt=k;if(c){let t=Array(4),f=Array(4),u=Array(4);for(let e=0;e<4;++e)t[e]=.5*(d[e]+m[e]),f[e]=.5*(m[e]+c[e]),u[e]=.5*(c[e]+d[e]);let p=this.data.Vertex(ot,nt,t),v=this.data.Vertex(ht,rt,f),x=this.data.Vertex(lt,st,u);this.Render3(J,e,x,v,r,lt,ht,!1,h,l,c,u,f),this.Render3(tt,x,i,p,lt,s,ot,o,!1,l,u,d,t),this.Render3(et,v,p,n,ht,ot,a,o,h,!1,f,t,m),this.Render3(it,p,v,x,ot,ht,lt,!1,!1,!1,t,f,u)}else{let t=this.vertex(ot,nt),c=this.vertex(ht,rt),d=this.vertex(lt,st);this.Render3(J,e,d,c,r,lt,ht,!1,h,l),this.Render3(tt,d,i,t,lt,s,ot,o,!1,l),this.Render3(et,c,t,n,ht,ot,a,o,h,!1),this.Render3(it,t,c,d,ot,ht,lt,!1,!1,!1)}}}Distance(t){let e=t[0],i=t[3],n=t[12],r=t[15],s=Ht(e,n,i,r);s=Math.max(zt(e,t[4],t[8],n)),s=Math.max(s,zt(t[1],t[5],t[9],t[13])),s=Math.max(s,zt(i,t[7],t[11],r)),s=Math.max(s,zt(t[2],t[6],t[10],t[14]));let a=Ht(e,i,n,r);return a=Math.max(a,zt(e,t[1],t[2],i)),a=Math.max(a,zt(t[4],t[5],t[6],t[7])),a=Math.max(a,zt(t[8],t[9],t[10],t[11])),a=Math.max(a,zt(n,t[13],t[14],r)),[s,a]}Distance3(t){let e=t[0],i=t[4],n=t[6],r=t[9],s=St([(e[0]+n[0]+r[0])*(1/3)-i[0],(e[1]+n[1]+r[1])*(1/3)-i[1],(e[2]+n[2]+r[2])*(1/3)-i[2]]);return s=Math.max(s,zt(e,t[1],t[3],n)),s=Math.max(s,zt(e,t[2],t[5],r)),Math.max(s,zt(n,t[7],t[8],r))}differential(t,e,i,n){let r=[3*(e[0]-t[0]),3*(e[1]-t[1]),3*(e[2]-t[2])];return St(r)>this.epsilon?r:(r=Ct(t,e,i),St(r)>this.epsilon?r:Ft(t,e,i,n))}sumdifferential(t,e,i,n,r,s,a){let o=this.differential(t,e,i,n),h=this.differential(t,r,s,a);return[o[0]+h[0],o[1]+h[1],o[2]+h[2]]}normal(t,e,i,n,r,s,a){let o=3*(r[0]-n[0]),h=3*(r[1]-n[1]),l=3*(r[2]-n[2]),c=3*(i[0]-n[0]),d=3*(i[1]-n[1]),m=3*(i[2]-n[2]),f=[h*m-l*d,l*c-o*m,o*d-h*c];if(St(f)>this.epsilon)return f;let u=[c,d,m],p=[o,h,l],v=Ct(n,i,e),x=Ct(n,r,s),g=Vt(x,u),w=Vt(p,v);if(f=[g[0]+w[0],g[1]+w[1],g[2]+w[2]],St(f)>this.epsilon)return f;let M=Ft(n,i,e,t),b=Ft(n,r,s,a);g=Vt(p,M),w=Vt(b,u);let R=Vt(x,v);return f=[g[0]+w[0]+R[0],g[1]+w[1]+R[1],g[2]+w[2]+R[2]],St(f)>this.epsilon?f:(g=Vt(b,v),w=Vt(x,M),f=[g[0]+w[0],g[1]+w[1],g[2]+w[2]],St(f)>this.epsilon?f:Vt(b,M))}}function xt(t){return 0<=t&&t<=1}class gt{constructor(t,e,i){const n=1e3*Number.EPSILON,r=n*n;if(Math.abs(t)<=n*Math.abs(e)+r*Math.abs(i))Math.abs(e)>n*Math.abs(i)?(this.roots=1,this.t1=-i/e):0==i?(this.roots=1,this.t1=0):this.roots=0;else{let r=.5*e/t,s=e*r;if(Math.abs(s)<=n*Math.abs(i)){let e=-i/t;e>=0?(this.roots=2,this.t2=Math.sqrt(e),this.t1=-this.t2):this.roots=0}else{let t=-2*i/s;if(t>-1){this.roots=2;let e=r*function(t){return t/(Math.sqrt(1+t)+1)}(t),i=-e-2*r;i<=e?(this.t1=i,this.t2=e):(this.t1=e,this.t2=i)}else-1==t?(this.roots=1,this.t1=this.t2=-r):this.roots=0}}}}class wt extends ut{constructor(t,e,i,n,r){if(super(),this.controlpoints=t,this.CenterIndex=e,this.MaterialIndex=i,n&&r)this.Min=n,this.Max=r;else{let t=this.Bounds(this.controlpoints);this.Min=t[0],this.Max=t[1]}}Bounds(t){let e=Array(3),i=Array(3),n=t.length,r=Array(n);for(let h=0;h<3;++h){for(let e=0;e<n;++e)r[e]=t[e][h];let l,c;if(l=c=r[0],4==n){l=Math.min(l,r[3]),c=Math.max(c,r[3]);let t=(s=r[0],a=r[1],o=r[2],[r[3]-s+3*(a-o),2*(s+o)-4*a,a-s]),e=new gt(t[0],t[1],t[2]);if(0!=e.roots&&xt(e.t1)){let t=Bt(r[0],r[1],r[2],r[3],e.t1);l=Math.min(l,t),c=Math.max(c,t)}if(2==e.roots&&xt(e.t2)){let t=Bt(r[0],r[1],r[2],r[3],e.t2);l=Math.min(l,t),c=Math.max(c,t)}}else{let t=r[1];l=Math.min(l,t),c=Math.max(c,t)}e[h]=l,i[h]=c}var s,a,o;return[[e[0],e[1],e[2]],[i[0],i[1],i[2]]]}setMaterialIndex(){this.setMaterial(Z,Te)}processLine(t){let e=t[0],i=t[1];if(!this.offscreen([e,i])){let t=[0,0,1];this.data.indices.push(this.data.vertex(e,t)),this.data.indices.push(this.data.vertex(i,t)),this.append()}}process(t){if(2==t.length)return this.processLine(t);let e=t[0],i=t[1],n=t[2],r=t[3],s=this.normal(Dt(e,i),Ct(e,i,n)),a=this.normal(Dt(n,r),Ct(r,n,i)),o=this.data.vertex(e,s),h=this.data.vertex(r,a);this.Render(t,o,h),this.data.indices.length>0&&this.append()}append(){Z.append(this.data)}notRendered(){Z.rendered=!1}Render(t,e,i){let n=t[0],r=t[1],s=t[2],a=t[3];if(zt(n,r,s,a)<this.res2)this.offscreen([n,a])||(this.data.indices.push(e),this.data.indices.push(i));else{if(this.offscreen(t))return;let o=[.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])],l=[.5*(s[0]+a[0]),.5*(s[1]+a[1]),.5*(s[2]+a[2])],c=[.5*(o[0]+h[0]),.5*(o[1]+h[1]),.5*(o[2]+h[2])],d=[.5*(h[0]+l[0]),.5*(h[1]+l[1]),.5*(h[2]+l[2])],m=[.5*(c[0]+d[0]),.5*(c[1]+d[1]),.5*(c[2]+d[2])],f=[n,o,c,m],u=[m,d,l,a],p=this.normal(function(t,e,i,n){return[i[0]+n[0]-t[0]-e[0],i[1]+n[1]-t[1]-e[1],i[2]+n[2]-t[2]-e[2]]}(n,r,s,a),function(t,e,i,n){return[3*t[0]-5*e[0]+i[0]+n[0],3*t[1]-5*e[1]+i[1]+n[1],3*t[2]-5*e[2]+i[2]+n[2]]}(n,r,s,a)),v=this.data.vertex(m,p);this.Render(f,e,v),this.Render(u,v,i)}}normal(t,e){let i=Ut(t,t),n=Ut(t,e);return[i*e[0]-n*t[0],i*e[1]-n*t[1],i*e[2]-n*t[2]]}}class Mt extends ut{constructor(t,e,i){super(),this.controlpoint=t,this.width=e,this.CenterIndex=0,this.MaterialIndex=i,this.Min=t,this.Max=t}setMaterialIndex(){this.setMaterial(K,Re)}process(t){this.data.indices.push(this.data.vertex0(this.controlpoint,this.width)),this.append()}append(){K.append(this.data)}notRendered(){K.rendered=!1}}class bt extends ut{constructor(t,e){super(),this.CenterIndex=t,this.MaterialIndex=e,this.Min=this.Bounds(F,Math.min),this.Max=this.Bounds(F,Math.max),this.controlpoints=F,this.Normals=z,this.Colors=H,this.Indices=X,F=[],z=[],H=[],X=[],this.transparent=c[this.MaterialIndex].diffuse[3]<1}Bounds(t,e){let i=Array(3),n=t.length,r=Array(n);for(let s=0;s<3;++s){for(let e=0;e<n;++e)r[e]=t[e][s];i[s]=pt(r,e)}return[i[0],i[1],i[2]]}setMaterialIndex(){this.transparent?this.setMaterial(tt,Ie):this.setMaterial(et,Ee)}process(t){this.data.vertices=new Array(6*t.length),it=this.Colors.length>0?-1-it:1+it;for(let e=0,i=this.Indices.length;e<i;++e){let i=this.Indices[e],n=i[0],r=t[n[0]],s=t[n[1]],a=t[n[2]];if(!this.offscreen([r,s,a])){let t=i.length>1?i[1]:n;if(t&&0!=t.length||(t=n),this.Colors.length>0){let e=i.length>2?i[2]:n;e&&0!=e.length||(e=n);let o=this.Colors[e[0]],h=this.Colors[e[1]],l=this.Colors[e[2]];this.transparent|=o[3]+h[3]+l[3]<765,0==V?(this.data.iVertex(n[0],r,this.Normals[t[0]],o),this.data.iVertex(n[1],s,this.Normals[t[1]],h),this.data.iVertex(n[2],a,this.Normals[t[2]],l)):(this.data.iVertex(n[0],r,this.Normals[t[0]],o),this.data.iVertex(n[1],s,this.Normals[t[1]],h),this.data.iVertex(n[1],s,this.Normals[t[1]],h),this.data.iVertex(n[2],a,this.Normals[t[2]],l),this.data.iVertex(n[2],a,this.Normals[t[2]],l),this.data.iVertex(n[0],r,this.Normals[t[0]],o))}else 0==V?(this.data.iVertex(n[0],r,this.Normals[t[0]]),this.data.iVertex(n[1],s,this.Normals[t[1]]),this.data.iVertex(n[2],a,this.Normals[t[2]])):(this.data.iVertex(n[0],r,this.Normals[t[0]]),this.data.iVertex(n[1],s,this.Normals[t[1]]),this.data.iVertex(n[1],s,this.Normals[t[1]]),this.data.iVertex(n[2],a,this.Normals[t[2]]),this.data.iVertex(n[2],a,this.Normals[t[2]]),this.data.iVertex(n[0],r,this.Normals[t[0]]))}}this.data.nvertices=t.length,this.data.indices.length>0&&this.append()}append(){this.transparent?tt.append(this.data):et.append(this.data)}notRendered(){this.transparent?tt.rendered=!1:et.rendered=!1}}function Rt(){M=-Math.tan(.5*o.angleOfView)*o.maxBound[2],_.x=_.y=0,_.z=.5*(o.minBound[2]+o.maxBound[2]),x=v=o.zoom0,S.zmin=o.minBound[2],S.zmax=o.maxBound[2],P.x=P.y=0,Oe(),U=!0,Ne()}let Tt=0,yt=1,At=2,Et=3,It=4;function Lt(e=[]){let i=lt(t,vertex,t.VERTEX_SHADER,e),n=lt(t,fragment,t.FRAGMENT_SHADER,e),r=t.createProgram();return t.attachShader(r,i),t.attachShader(r,n),t.bindAttribLocation(r,Tt,"position"),t.bindAttribLocation(r,yt,"normal"),t.bindAttribLocation(r,At,"materialIndex"),t.bindAttribLocation(r,Et,"color"),t.bindAttribLocation(r,It,"width"),t.linkProgram(r),t.getProgramParameter(r,t.LINK_STATUS)||alert("Could not initialize shaders"),r}class Nt{constructor(t,e,i,n){this.m0=.5*(t+e);let r=.5*(e+i);this.m2=.5*(i+n),this.m3=.5*(this.m0+r),this.m4=.5*(r+this.m2),this.m5=.5*(this.m3+this.m4)}}class Ot{constructor(t,e,i,n){this.m0=[.5*(t[0]+e[0]),.5*(t[1]+e[1]),.5*(t[2]+e[2])];let r=.5*(e[0]+i[0]),s=.5*(e[1]+i[1]),a=.5*(e[2]+i[2]);this.m2=[.5*(i[0]+n[0]),.5*(i[1]+n[1]),.5*(i[2]+n[2])],this.m3=[.5*(this.m0[0]+r),.5*(this.m0[1]+s),.5*(this.m0[2]+a)],this.m4=[.5*(r+this.m2[0]),.5*(s+this.m2[1]),.5*(a+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])]}}class _t{constructor(t){this.l003=t[0];let e=t[1],i=t[2],n=t[3],r=t[4],s=t[5];this.r300=t[6];let a=t[7],o=t[8];this.u030=t[9],this.u021=.5*(this.u030+s),this.u120=.5*(this.u030+o);let h=.5*(s+i),l=.5*(o+r),c=.5*(o+a),d=.5*(i+r);this.l012=.5*(i+this.l003);let m=.5*(r+n);this.r210=.5*(a+this.r300),this.l102=.5*(this.l003+e);let f=.5*(e+n);this.r201=.5*(n+this.r300),this.u012=.5*(this.u021+h),this.u210=.5*(this.u120+c),this.l021=.5*(h+this.l012);let u=.5*l+.25*(r+e);this.r120=.5*(c+this.r210);let p=.5*d+.25*(r+a),v=.25*(s+r)+.5*m;this.l201=.5*(this.l102+f),this.r102=.5*(f+this.r201),this.l210=.5*(p+this.l201),this.r012=.5*(p+this.r102),this.l300=.5*(this.l201+this.r102),this.r021=.5*(v+this.r120),this.u201=.5*(this.u210+v),this.r030=.5*(this.u210+this.r120),this.u102=.5*(this.u012+u),this.l120=.5*(this.l021+u),this.l030=.5*(this.u012+this.l021),this.l111=.5*(d+this.l102),this.r111=.5*(m+this.r210),this.u111=.5*(this.u021+l),this.c111=.25*(h+c+f+r)}}function Pt(t){let e=1/(Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2])||1);return[t[0]*e,t[1]*e,t[2]*e]}function St(t){return t[0]*t[0]+t[1]*t[1]+t[2]*t[2]}function Ut(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Vt(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Bt(t,e,i,n,r){let s=1-r,a=s*s;return a*s*t+r*(3*(a*e+r*s*i)+r*r*n)}function Dt(t,e){return[e[0]-t[0],e[1]-t[1],e[2]-t[2]]}function Ct(t,e,i){return[3*(t[0]+i[0])-6*e[0],3*(t[1]+i[1])-6*e[1],3*(t[2]+i[2])-6*e[2]]}function Ft(t,e,i,n){return[n[0]-t[0]+3*(e[0]-i[0]),n[1]-t[1]+3*(e[1]-i[1]),n[2]-t[2]+3*(e[2]-i[2])]}function zt(t,e,i,n){let r=[1/3*(n[0]-t[0]),1/3*(n[1]-t[1]),1/3*(n[2]-t[2])];return Math.max(St([e[0]-r[0]-t[0],e[1]-r[1]-t[1],e[2]-r[2]-t[2]]),St([n[0]-r[0]-i[0],n[1]-r[1]-i[1],n[2]-r[2]-i[2]]))}function Ht(t,e,i,n){let r=[e[0]-t[0],e[1]-t[1],e[2]-t[2]],s=[n[0]-i[0],n[1]-i[1],n[2]-i[2]];return Math.max(St(Vt(r,Pt(s))),St(Vt(s,Pt(r))))/9}function Xt(t){return[Math.min(t[0][0],t[1][0],t[2][0],t[3][0],t[4][0],t[5][0],t[6][0],t[7][0]),Math.min(t[0][1],t[1][1],t[2][1],t[3][1],t[4][1],t[5][1],t[6][1],t[7][1]),Math.min(t[0][2],t[1][2],t[2][2],t[3][2],t[4][2],t[5][2],t[6][2],t[7][2])]}function Gt(t){return[Math.max(t[0][0],t[1][0],t[2][0],t[3][0],t[4][0],t[5][0],t[6][0],t[7][0]),Math.max(t[0][1],t[1][1],t[2][1],t[3][1],t[4][1],t[5][1],t[6][1],t[7][1]),Math.max(t[0][2],t[1][2],t[2][2],t[3][2],t[4][2],t[5][2],t[6][2],t[7][2])]}function Wt(t){ae||oe(),B=!0,D=t.clientX,C=t.clientY}let jt,kt,Yt=!1;function $t(t){return Math.hypot(t[0].pageX-t[1].pageX,t[0].pageY-t[1].pageY)}function qt(t){t.preventDefault(),ae||oe();let e=t.targetTouches;ue=pe=Yt=!1,fe||(1!=e.length||B||(kt=(new Date).getTime(),touchId=e[0].identifier,D=e[0].pageX,C=e[0].pageY),2!=e.length||B||(touchId=e[0].identifier,jt=$t(e),Yt=!0))}function Kt(t){B=!1}function Zt(t,e,i,n,r){if(t==i&&e==n)return;let[s,a]=function(t,e){let i=ne(t),n=ne(e),r=Ut(i,n);return[r>1?0:r<-1?f:Math.acos(r),Pt(Vt(i,n))]}([t,-e],[i,-n]);mat4.fromRotation(O,2*r*R*s/v,a),mat4.multiply(T,O,T)}function Qt(t,e,i,n){let r=1/v;P.x+=(i-t)*r*s,P.y-=(n-e)*r*a}function Jt(t,e,i,n){o.orthographic?Qt(t,e,i,n):(_.x+=(i-t)*(S.xmax-S.xmin),_.y-=(n-e)*(S.ymax-S.ymin))}function te(){var t,e;t=A,e=T,mat4.fromTranslation(O,[_.x,_.y,_.z]),mat4.invert(N,O),mat4.multiply(t,e,N),mat4.multiply(t,O,t),mat4.translate(A,A,[_.x,_.y,0]),mat3.fromMat4(L,A),mat3.invert(I,L),mat4.multiply(E,y,A)}function ee(){let t=Math.sqrt(Number.MAX_VALUE),e=1/t;v<=e&&(v=e),v>=t&&(v=t),(1.5*v<x||v>1.5*x)&&(U=!0,x=v)}function ie(t){let e=o.zoomStep*a*t;const i=Math.log(.1*Number.MAX_VALUE)/Math.log(o.zoomFactor);Math.abs(e)<i&&(v*=o.zoomFactor**e,ee())}function ne(t){let e=t[0],i=t[1],n=Math.hypot(e,i);return n>1&&(denom=1/n,e*=denom,i*=denom),[e,i,Math.sqrt(Math.max(1-i*i-e*e,0))]}function re(t,e,i,n){ie(e-n)}function se(t,e,i,n=1){let r;switch(i){case 1:r=Zt;break;case 2:r=Qt;break;case 3:r=re;break;case 4:r=Jt;break;default:r=(t,e,i,n)=>{}}r((D-s)/s,(C-a)/a,(t-s)/s,(e-a)/a,n),D=t,C=e,Oe(),Ne()}let ae=0;function oe(){ae=1,o.canvas.addEventListener("wheel",de,!1)}function he(){let t,e,i;[t,e,i]=function(){let t=Array(3),e=Array(3),i=Array(3),n=_.x,r=_.y,s=.5*(S.zmin+S.zmax);for(let a=0;a<3;++a){let h=0,l=0,c=0,d=4*a;for(let t=0;t<4;++t){let e=4*t,i=T[e],a=T[e+1],m=T[e+2],f=T[e+3],u=o.Transform[d+t];h+=u*(f-n*i-r*a-s*m),c+=u*a,l+=u*(f-n*i-r*a)}t[a]=h,e[a]=c,i[a]=l}return[t,e,i]}();let n=o.orthographic?" orthographic(":" perspective(",r="".padStart(n.length),s="currentprojection=\n"+n+"camera=("+t+"),\n"+r+"up=("+e+"),\n"+r+"target=("+i+"),\n"+r+"zoom="+v*o.initialZoom/o.zoom0;return o.orthographic||(s+=",\n"+r+"angle="+2*Math.atan(Math.tan(.5*o.angleOfView)/v)/u),0==g&&0==w||(s+=",\n"+r+"viewportshift=("+g+","+w+")"),o.orthographic||(s+=",\n"+r+"autoadjust=false"),s+=");\n",window.parent.asyProjection=!0,s}function le(t){if(ae||oe(),o.embedded&&ae&&27==t.keyCode)return ae=0,void o.canvas.removeEventListener("wheel",de,!1);let e=[];switch(t.key){case"x":e=[1,0,0];break;case"y":e=[0,1,0];break;case"z":e=[0,0,1];break;case"h":mat4.identity(T),Rt(),window.top.asyWebApplication&&window.top.asyWebApplication.setProjection(""),window.parent.asyProjection=!1;break;case"m":++V,3==V&&(V=0),2!=V&&(o.embedded||st(),rt(o.ibl)),U=!0,Ne();break;case"+":case"=":case">":v*=o.zoomFactor,ce();break;case"-":case"_":case"<":v/=o.zoomFactor,ce();break;case"c":window.top.asyWebApplication||prompt("Ctrl+c Enter to copy currentprojection to clipboard; then append to asy file:",he())}e.length>0&&(mat4.rotate(T,T,.1,e),te(),Ne())}function ce(){ee(),Oe(),Ne()}function de(t){t.preventDefault(),t.deltaY<0?v*=o.zoomFactor:v/=o.zoomFactor,ce()}function me(t){if(!B)return;let e,i=t.clientX,n=t.clientY;e=t.getModifierState("Control")?2:t.getModifierState("Shift")?3:t.getModifierState("Alt")?4:1,se(i,n,e)}let fe=!1,ue=!1,pe=!1;function ve(t){if(t.preventDefault(),fe)return;let e=t.targetTouches;if(!Yt&&1==e.length&&touchId==e[0].identifier){let t=e[0].pageX,i=e[0].pageY,n=t-D,r=i-C,s=n*n+r*r<=o.shiftHoldDistance*o.shiftHoldDistance;if(s&&!ue&&!pe&&(new Date).getTime()-kt>o.shiftWaitTime&&(navigator.vibrate&&window.navigator.vibrate(o.vibrateTime),ue=!0),ue)se(t,i,2);else if(!s){pe=!0,se(e[0].pageX,e[0].pageY,1,.5)}}if(Yt&&!ue&&2==e.length&&touchId==e[0].identifier){let t=$t(e),i=t-jt;fe=!0,i*=o.zoomPinchFactor,i>o.zoomPinchCap&&(i=o.zoomPinchCap),i<-o.zoomPinchCap&&(i=-o.zoomPinchCap),ie(i/b),jt=t,ue=pe=fe=!1,Oe(),Ne()}}let xe,ge,we,Me,be=[];function Re(){dt(K,xe),K.clear()}function Te(){dt(Z,ge),Z.clear()}function ye(){dt(Q,ge),Q.clear()}function Ae(){dt(J,we),J.clear()}function Ee(){dt(et,Me),et.rendered=!1,et.clear()}function Ie(){let e=tt.indices;if(V>0)return dt(tt,Me,e),void tt.clear();if(e.length>0){!function(t){let e=A[2],i=A[6],n=A[10];be.length=t.length;for(let r=0;r<t.length;++r){let s=6*r;be[r]=e*t[s]+i*t[s+1]+n*t[s+2]}}(tt.vertices);let i=e.length/3,n=Array(i).fill().map((t,e)=>e);n.sort((function(t,i){let n=3*t;Ia=e[n],Ib=e[n+1],Ic=e[n+2];let r=3*i;return IA=e[r],IB=e[r+1],IC=e[r+2],be[Ia]+be[Ib]+be[Ic]<be[IA]+be[IB]+be[IC]?-1:1}));let r=Array(e.length);for(let t=0;t<i;++t){let i=3*n[t];r[3*t]=e[i],r[3*t+1]=e[i+1],r[3*t+2]=e[i+2]}t.depthMask(!1),dt(tt,Me,r),tt.rendered=!1,t.depthMask(!0)}tt.clear()}function Le(){Re(),Te(),ye(),Ae(),Ee(),Ie(),requestAnimationFrame(Le)}function Ne(){o.embedded&&(i.width=o.canvasWidth,i.height=o.canvasHeight,_e()),t.clearColor(o.background[0],o.background[1],o.background[2],o.background[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT);for(const t of h)t.render();Le(),o.embedded&&(n.clearRect(0,0,o.canvasWidth,o.canvasHeight),n.drawImage(i,0,0)),0==V&&(U=!1)}function Oe(){!function(t,e,i,n){let r=t/e;g=(i/t+o.viewportShift[0])*v,w=(n/e+o.viewportShift[1])*v;let s=1/v;if(o.orthographic){let t=o.maxBound[0]-o.minBound[0],e=o.maxBound[1]-o.minBound[1];if(t<e*r){let t=.5*e*r*s,i=2*t*g,n=e*s*w;S.xmin=-t-i,S.xmax=t-i,S.ymin=o.minBound[1]*s-n,S.ymax=o.maxBound[1]*s-n}else{let e=.5*t*s/r,i=t*s*g,n=2*e*w;S.xmin=o.minBound[0]*s-i,S.xmax=o.maxBound[0]*s-i,S.ymin=-e-n,S.ymax=e-n}}else{let t=M*s,e=t*r,i=2*e*g,n=2*t*w;S.xmin=-e-i,S.xmax=e-i,S.ymin=-t-n,S.ymax=t-n}}(o.canvasWidth,o.canvasHeight,P.x,P.y),(o.orthographic?mat4.ortho:mat4.frustum)(y,S.xmin,S.xmax,S.ymin,S.ymax,-S.zmax,-S.zmin),te(),window.top.asyWebApplication&&window.top.asyWebApplication.setProjection(he())}function _e(){t.viewportWidth=o.canvasWidth,t.viewportHeight=o.canvasHeight,t.viewport(.5*(o.canvas.width-o.canvasWidth),.5*(o.canvas.height-o.canvasHeight),o.canvasWidth,o.canvasHeight),t.scissor(0,0,o.canvas.width,o.canvas.height)}function Pe(t,e){t>void 0&&(t=void 0),e>void 0&&(e=void 0),P.x*=t/o.canvasWidth,P.y*=e/o.canvasHeight,o.canvasWidth=t,o.canvasHeight=e,o.embedded&&(o.canvas.width=i.width=o.canvasWidth,o.canvas.height=i.height=o.canvasHeight),b=Math.hypot(o.canvasWidth,o.canvasHeight),s=.5*o.canvas.width,a=.5*o.canvas.height,R=1+8*Math.hypot(o.viewportMargin[0],o.viewportMargin[1])/b,_e(),Oe(),U=!0}function Se(){if(o.zoom0=o.initialZoom,window.top.asyWebApplication&&""==window.top.asyWebApplication.getProjection()&&(window.parent.asyProjection=!1),o.absolute&&!o.embedded)o.canvasWidth=o.canvasWith0*window.devicePixelRatio,o.canvasHeight=o.canvasHeight0*window.devicePixelRatio;else{let t=o.canvasWith0/o.canvasHeight0;o.canvasWidth=Math.max(window.innerWidth-10,10),o.canvasHeight=Math.max(window.innerHeight-10,10),!o.orthographic&&!window.parent.asyProjection&&o.canvasWidth<o.canvasHeight*t&&(o.zoom0*=o.canvasWidth/(o.canvasHeight*t))}o.canvas.width=o.canvasWidth,o.canvas.height=o.canvasHeight;window.innerWidth,window.innerHeight;let t=1/o.zoom0;o.viewportShift[0]*=t,o.viewportShift[1]*=t,Pe(o.canvasWidth,o.canvasHeight),Rt()}class Ue{constructor(t,e){if(this.center=t,e){let t=e[0],i=e[1];this.ct=Math.cos(t),this.st=Math.sin(t),this.cp=Math.cos(i),this.sp=Math.sin(i)}}T0(t){return[t[0]+this.center[0],t[1]+this.center[1],t[2]+this.center[2]]}T(t){let e=t[0],i=t[1],n=t[2],r=e*this.ct+n*this.st;return[r*this.cp-i*this.sp+this.center[0],r*this.sp+i*this.cp+this.center[1],-e*this.st+n*this.ct+this.center[2]]}}function Ve(t,e,i){let n=[t(e),t([e[0],e[1],i[2]]),t([e[0],i[1],e[2]]),t([e[0],i[1],i[2]]),t([i[0],e[1],e[2]]),t([i[0],e[1],i[2]]),t([i[0],i[1],e[2]]),t(i)];return[Xt(n),Gt(n)]}let Be=4/3*(Math.sqrt(2)-1);async function De(t){return(await fetch(t)).arrayBuffer()}function Ce(t){return t.getBytes().filter((t,e)=>e%4!=3)}function Fe(e,i,n=t.RGB16F){let r=e.width(),s=e.height(),a=t.createTexture();return t.activeTexture(t.TEXTURE0+i),t.bindTexture(t.TEXTURE_2D,a),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,n,r,s,0,t.RGB,t.FLOAT,Ce(e)),a}window.webGLStart=function(){o.canvas=document.getElementById("Asymptote"),o.embedded=window.top.document!=document,ht(),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),t.enable(t.DEPTH_TEST),t.enable(t.SCISSOR_TEST),o.canvas.onmousedown=Wt,document.onmouseup=Kt,document.onmousemove=me,o.canvas.onkeydown=le,o.embedded||oe(),o.canvas.addEventListener("touchstart",qt,!1),o.canvas.addEventListener("touchend",Kt,!1),o.canvas.addEventListener("touchcancel",Kt,!1),o.canvas.addEventListener("touchleave",Kt,!1),o.canvas.addEventListener("touchmove",ve,!1),document.addEventListener("keydown",le,!1),o.canvasWith0=o.canvasWidth,o.canvasHeight0=o.canvasHeight,mat4.identity(T),0!=window.innerWidth&&0!=window.innerHeight&&Se(),window.addEventListener("resize",Se,!1),o.ibl&&async function(){let e=o.imageURL+o.image+"/";function i(t){return new Promise(e=>setTimeout(e,t))}for(;!Module.EXRLoader;)await i(0);promises=[De(o.imageURL+"refl.exr").then(t=>{let e=new Module.EXRLoader(t);j=Fe(e,0)}),De(e+"diffuse.exr").then(t=>{let e=new Module.EXRLoader(t);W=Fe(e,1)})],refl_promise=[],refl_promise.push(De(e+"refl0.exr"));for(let t=1;t<=8;++t)refl_promise.push(De(e+"refl"+t+"w.exr"));finished_promise=Promise.all(refl_promise).then(e=>{let i=t.createTexture();t.activeTexture(t.TEXTURE0+2),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.bindTexture(t.TEXTURE_2D,i),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAX_LEVEL,e.length-1),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameterf(t.TEXTURE_2D,t.TEXTURE_MIN_LOD,0),t.texParameterf(t.TEXTURE_2D,t.TEXTURE_MAX_LOD,8);for(let i=0;i<e.length;++i){let n=new Module.EXRLoader(e[i]);t.texImage2D(t.TEXTURE_2D,i,t.RGB16F,n.width(),n.height(),0,t.RGB,t.FLOAT,Ce(n))}G=i}),promises.push(finished_promise),await Promise.all(promises)}().then(k).then(Rt)},window.light=function(t,e){l.push(new nt(t,e))},window.material=function(t,e,i,n,r,s){c.push(new Y(t,e,i,n,r,s))},window.patch=function(t,e,i,n){h.push(new vt(t,e,i,n))},window.curve=function(t,e,i){h.push(new wt(t,e,i))},window.pixel=function(t,e,i){h.push(new Mt(t,e,i))},window.triangles=function(t,e){h.push(new bt(t,e))},window.sphere=function(t,e,i,n,r){let s,a,o,l,c,d,m=.524670512339254,f=.595936986722291,u=.954967051233925,p=.0820155480083437,v=.996685028842544,x=.0549670512339254,g=.998880711874577,w=.0405017186586849,M=[[[1,0,0],[1,0,m],[f,0,u],[p,0,v],[1,Be,0],[1,Be,m],[f,Be*f,u],[p,Be*p,v],[Be,1,0],[Be,1,m],[Be*f,f,u],[Be*p,p,v],[0,1,0],[0,1,m],[0,f,u],[0,p,v]],[[p,0,v],[p,Be*p,v],[x,0,g],[Be*p,p,v],[w,w,1],[.05*Be,0,1],[0,p,v],[0,x,g],[0,.05*Be,1],[0,0,1]]],b=new Ue(t,r);function R(t){let e=Array(t.length);for(let i=0;i<t.length;++i){let n=t[i];e[i]=c([s*n[0],a*n[1],o*n[2]])}return e}r?(l=1,d=0,c=b.T.bind(b)):(l=-1,d=-e,c=b.T0.bind(b));let T=Ve(c,[-e,-e,d],[e,e,e]),y=T[0],A=T[1];for(let t=-1;t<=1;t+=2){s=t*e;for(let t=-1;t<=1;t+=2){a=t*e;for(let t=l;t<=1;t+=2){o=t*e;for(let t=0;t<2;++t)h.push(new vt(R(M[t]),i,n,null,y,A))}}}},window.disk=function(t,e,i,n,r){let s=1-2*Be/3,a=[[1,0,0],[1,-Be,0],[Be,-1,0],[0,-1,0],[1,Be,0],[s,0,0],[0,-s,0],[-Be,-1,0],[Be,1,0],[0,s,0],[-s,0,0],[-1,-Be,0],[0,1,0],[-Be,1,0],[-1,Be,0],[-1,0,0]],o=new Ue(t,r),l=Ve(o.T.bind(o),[-e,-e,0],[e,e,0]);h.push(new vt(function(t){let i=Array(t.length);for(let n=0;n<t.length;++n){let r=t[n];i[n]=o.T([e*r[0],e*r[1],0])}return i}(a),i,n,null,l[0],l[1]))},window.cylinder=function(t,e,i,n,r,s,a){let o,l,c=[[1,0,0],[1,0,1/3],[1,0,2/3],[1,0,1],[1,Be,0],[1,Be,1/3],[1,Be,2/3],[1,Be,1],[Be,1,0],[Be,1,1/3],[Be,1,2/3],[Be,1,1],[0,1,0],[0,1,1/3],[0,1,2/3],[0,1,1]],d=new Ue(t,s);function m(t){let e=Array(t.length);for(let n=0;n<t.length;++n){let r=t[n];e[n]=d.T([o*r[0],l*r[1],i*r[2]])}return e}let f=Ve(d.T.bind(d),[-e,-e,0],[e,e,i]),u=f[0],p=f[1];for(let t=-1;t<=1;t+=2){o=t*e;for(let t=-1;t<=1;t+=2)l=t*e,h.push(new vt(m(c),n,r,null,u,p))}if(a){let e=d.T([0,0,i]);h.push(new wt([t,e],n,r,t,e))}},window.tube=function(t,e,i,n,r){let s=function(t,e,i,n,r){class s{constructor(t,e,i){this.p=t,this.r=e,this.t=i,this.s=Vt(i,e)}}let a=Number.EPSILON*Math.max(St(t),St(e),St(i),St(n));function o(r){if(1==r){let r=[n[0]-i[0],n[1]-i[1],n[2]-i[2]];return St(r)>a?Pt(r):(r=[2*i[0]-e[0]-n[0],2*i[1]-e[1]-n[1],2*i[2]-e[2]-n[2]],St(r)>a?Pt(r):[n[0]-t[0]+3*(e[0]-i[0]),n[1]-t[1]+3*(e[1]-i[1]),n[2]-t[2]+3*(e[2]-i[2])])}let s=[n[0]-t[0]+3*(e[0]-i[0]),n[1]-t[1]+3*(e[1]-i[1]),n[2]-t[2]+3*(e[2]-i[2])],o=[2*(t[0]+i[0])-4*e[0],2*(t[1]+i[1])-4*e[1],2*(t[2]+i[2])-4*e[2]],h=[e[0]-t[0],e[1]-t[1],e[2]-t[2]],l=r*r,c=[s[0]*l+o[0]*r+h[0],s[1]*l+o[1]*r+h[1],s[2]*l+o[2]*r+h[2]];return St(c)>a?Pt(c):(l=2*r,c=[s[0]*l+o[0],s[1]*l+o[1],s[2]*l+o[2]],St(c)>a?Pt(c):Pt(s))}let h=Array(r.length),l=[e[0]-t[0],e[1]-t[1],e[2]-t[2]];St(l)<a&&(l=[t[0]-2*e[0]+i[0],t[1]-2*e[1]+i[1],t[2]-2*e[2]+i[2]],St(l)<a&&(l=[n[0]-t[0]+3*(e[0]-i[0]),n[1]-t[1]+3*(e[1]-i[1]),n[2]-t[2]+3*(e[2]-i[2])])),l=Pt(l);let c=function(t){let e=Vt(t,[0,1,0]),i=Number.EPSILON*St(t);return St(e)>i?Pt(e):(e=Vt(t,[0,0,1]),St(e)>i?Pt(e):[1,0,0])}(l);h[0]=new s(t,c,l);for(let a=1;a<r.length;++a){let l=h[a-1],c=r[a],d=1-c,m=d*d,f=m*d,u=3*c;m*=u,d*=u*c;let p=c*c*c,v=[f*t[0]+m*e[0]+d*i[0]+p*n[0],f*t[1]+m*e[1]+d*i[1]+p*n[1],f*t[2]+m*e[2]+d*i[2]+p*n[2]],x=[v[0]-l.p[0],v[1]-l.p[1],v[2]-l.p[2]];if(0!=x[0]||0!=x[1]||0!=x[2]){let t=l.r,e=Pt(x),i=l.t,n=Ut(e,i),r=[i[0]-2*n*e[0],i[1]-2*n*e[1],i[2]-2*n*e[2]];i=o(c);let d=2*Ut(e,t),m=[t[0]-d*e[0],t[1]-d*e[1],t[2]-d*e[2]],f=Pt([i[0]-r[0],i[1]-r[1],i[2]-r[2]]),u=2*Ut(f,m);m=[m[0]-u*f[0],m[1]-u*f[1],m[2]-u*f[2]],h[a]=new s(v,Pt(m),Pt(i))}else h[a]=h[a-1]}return h}(t[0],t[1],t[2],t[3],[0,1/3,2/3,1]),a=Be*e,o=[[e,0],[e,a],[a,e],[0,e]];function l(e,r,a,l){let c=Array(16);for(let i=0;i<4;++i){let n=s[i],h=n.r[0],d=n.s[0],m=h*e+d*r,f=h*a+d*l;h=n.r[1],d=n.s[1];let u=h*e+d*r,p=h*a+d*l;h=n.r[2],d=n.s[2];let v=h*e+d*r,x=h*a+d*l,g=t[i],w=g[0];w1=g[1],w2=g[2];for(let t=0;t<4;++t){let e=o[t],n=e[0],r=e[1];c[4*i+t]=[m*n+f*r+w,u*n+p*r+w1,v*n+x*r+w2]}}h.push(new vt(c,i,n))}l(1,0,0,1),l(0,-1,1,0),l(-1,0,0,-1),l(0,1,-1,0),r&&h.push(new wt(t,i,n))}}();
diff --git a/graphics/asymptote/bezierpatch.cc b/graphics/asymptote/bezierpatch.cc
index f210c538c2..775c282e0c 100644
--- a/graphics/asymptote/bezierpatch.cc
+++ b/graphics/asymptote/bezierpatch.cc
@@ -23,12 +23,16 @@ const double FillFactor=0.1;
void BezierPatch::init(double res)
{
res2=res*res;
- Epsilon=FillFactor*res;
- MaterialIndex=transparent ?
- (color ? -1-materialIndex : 1+materialIndex) : materialIndex;
-
- pvertex=transparent ? &vertexBuffer::tvertex : &vertexBuffer::vertex;
+ if(transparent) {
+ Epsilon=0.0;
+ MaterialIndex=color ? -1-materialIndex : 1+materialIndex;
+ pvertex=&vertexBuffer::tvertex;
+ } else {
+ Epsilon=FillFactor*res;
+ MaterialIndex=materialIndex;
+ pvertex=&vertexBuffer::vertex;
+ }
}
void BezierPatch::render(const triple *p, bool straight, GLfloat *c0)
@@ -222,16 +226,18 @@ void BezierPatch::render(const triple *p,
triple m0=0.5*(P1+P2);
if(!flat1) {
- if((flat1=Straightness(p12,p[13],p[14],p15) < res2))
- m0 -= Epsilon*unit(differential(s1[12],s1[8],s1[4],s1[0]));
- else m0=s0[15];
+ if((flat1=Straightness(p12,p[13],p[14],p15) < res2)) {
+ if(Epsilon)
+ m0 -= Epsilon*unit(differential(s1[12],s1[8],s1[4],s1[0]));
+ } else m0=s0[15];
}
triple m1=0.5*(P3+P0);
if(!flat3) {
- if((flat3=Straightness(p0,p[1],p[2],p3) < res2))
- m1 -= Epsilon*unit(differential(s0[3],s0[7],s0[11],s0[15]));
- else m1=s1[0];
+ if((flat3=Straightness(p0,p[1],p[2],p3) < res2)) {
+ if(Epsilon)
+ m1 -= Epsilon*unit(differential(s0[3],s0[7],s0[11],s0[15]));
+ } else m1=s1[0];
}
if(color) {
@@ -312,16 +318,18 @@ void BezierPatch::render(const triple *p,
triple m0=0.5*(P0+P1);
if(!flat0) {
- if((flat0=Straightness(p0,p[4],p[8],p12) < res2))
- m0 -= Epsilon*unit(differential(s1[0],s1[1],s1[2],s1[3]));
- else m0=s0[12];
+ if((flat0=Straightness(p0,p[4],p[8],p12) < res2)) {
+ if(Epsilon)
+ m0 -= Epsilon*unit(differential(s1[0],s1[1],s1[2],s1[3]));
+ } else m0=s0[12];
}
triple m1=0.5*(P2+P3);
if(!flat2) {
- if((flat2=Straightness(p15,p[11],p[7],p3) < res2))
- m1 -= Epsilon*unit(differential(s0[15],s0[14],s0[13],s0[12]));
- else m1=s1[3];
+ if((flat2=Straightness(p15,p[11],p[7],p3) < res2)) {
+ if(Epsilon)
+ m1 -= Epsilon*unit(differential(s0[15],s0[14],s0[13],s0[12]));
+ } else m1=s1[3];
}
if(color) {
@@ -428,30 +436,34 @@ void BezierPatch::render(const triple *p,
triple m0=0.5*(P0+P1);
if(!flat0) {
- if((flat0=Straightness(p0,p[4],p[8],p12) < res2))
- m0 -= Epsilon*unit(differential(s1[0],s1[1],s1[2],s1[3]));
- else m0=s0[12];
+ if((flat0=Straightness(p0,p[4],p[8],p12) < res2)) {
+ if(Epsilon)
+ m0 -= Epsilon*unit(differential(s1[0],s1[1],s1[2],s1[3]));
+ } else m0=s0[12];
}
triple m1=0.5*(P1+P2);
if(!flat1) {
- if((flat1=Straightness(p12,p[13],p[14],p15) < res2))
- m1 -= Epsilon*unit(differential(s2[12],s2[8],s2[4],s2[0]));
- else m1=s1[15];
+ if((flat1=Straightness(p12,p[13],p[14],p15) < res2)) {
+ if(Epsilon)
+ m1 -= Epsilon*unit(differential(s2[12],s2[8],s2[4],s2[0]));
+ } else m1=s1[15];
}
triple m2=0.5*(P2+P3);
if(!flat2) {
- if((flat2=Straightness(p15,p[11],p[7],p3) < res2))
- m2 -= Epsilon*unit(differential(s3[15],s3[14],s3[13],s3[12]));
- else m2=s2[3];
+ if((flat2=Straightness(p15,p[11],p[7],p3) < res2)) {
+ if(Epsilon)
+ m2 -= Epsilon*unit(differential(s3[15],s3[14],s3[13],s3[12]));
+ } else m2=s2[3];
}
triple m3=0.5*(P3+P0);
if(!flat3) {
- if((flat3=Straightness(p0,p[1],p[2],p3) < res2))
- m3 -= Epsilon*unit(differential(s0[3],s0[7],s0[11],s0[15]));
- else m3=s3[0];
+ if((flat3=Straightness(p0,p[1],p[2],p3) < res2)) {
+ if(Epsilon)
+ m3 -= Epsilon*unit(differential(s0[3],s0[7],s0[11],s0[15]));
+ } else m3=s3[0];
}
if(color) {
@@ -681,26 +693,29 @@ void BezierTriangle::render(const triple *p,
triple m0=0.5*(P1+P2);
if(!flat0) {
- if((flat0=Straightness(r300,p210,p120,u030) < res2))
- m0 -= Epsilon*unit(differential(c[0],c[2],c[5],c[9])+
- differential(c[0],c[1],c[3],c[6]));
- else m0=r030;
+ if((flat0=Straightness(r300,p210,p120,u030) < res2)) {
+ if(Epsilon)
+ m0 -= Epsilon*unit(differential(c[0],c[2],c[5],c[9])+
+ differential(c[0],c[1],c[3],c[6]));
+ } else m0=r030;
}
triple m1=0.5*(P2+P0);
if(!flat1) {
- if((flat1=Straightness(l003,p012,p021,u030) < res2))
- m1 -= Epsilon*unit(differential(c[6],c[3],c[1],c[0])+
- differential(c[6],c[7],c[8],c[9]));
- else m1=l030;
+ if((flat1=Straightness(l003,p012,p021,u030) < res2)) {
+ if(Epsilon)
+ m1 -= Epsilon*unit(differential(c[6],c[3],c[1],c[0])+
+ differential(c[6],c[7],c[8],c[9]));
+ } else m1=l030;
}
triple m2=0.5*(P0+P1);
if(!flat2) {
- if((flat2=Straightness(l003,p102,p201,r300) < res2))
- m2 -= Epsilon*unit(differential(c[9],c[8],c[7],c[6])+
- differential(c[9],c[5],c[2],c[0]));
- else m2=l300;
+ if((flat2=Straightness(l003,p102,p201,r300) < res2)) {
+ if(Epsilon)
+ m2 -= Epsilon*unit(differential(c[9],c[8],c[7],c[6])+
+ differential(c[9],c[5],c[2],c[0]));
+ } else m2=l300;
}
if(color) {
diff --git a/graphics/asymptote/binaries/x86_64-windows/cygwin1.dll b/graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
index 6480df87f2..fcd3430a86 100644
--- a/graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
+++ b/graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
Binary files differ
diff --git a/graphics/asymptote/build-scripts/build-asygl b/graphics/asymptote/build-scripts/build-asygl
index 559b08c08b..0c8eeb88f7 100755
--- a/graphics/asymptote/build-scripts/build-asygl
+++ b/graphics/asymptote/build-scripts/build-asygl
@@ -9,7 +9,7 @@ UGLIFYOPT=""; \
else \
UGLIFY=terser; \
UGLIFYOPTIONS="-m -c --comments"; \
-fi
+fi
GL_MATRIX_VERSION=2.4.0
GL_MATRIX_DIR=gl-matrix-$GL_MATRIX_VERSION
@@ -34,7 +34,7 @@ echo "let vertex=\`" > $SHADERS
echo "\`;" | cat webgl/vertex.glsl - >> $SHADERS
echo "let fragment=\`" >> $SHADERS
echo "\`;" | cat webgl/fragment.glsl - >> $SHADERS
-cat webgl/license $GL_MATRIX_DIR_PRUNED/LICENSE.js \
- $SHADERS $GL_MATRIX_DIR_PRUNED/dist/gl-matrix.js webgl/gl.js | \
+echo | cat webgl/license $GL_MATRIX_DIR_PRUNED/LICENSE.js \
+ $SHADERS $GL_MATRIX_DIR_PRUNED/dist/gl-matrix.js - webgl/gl.js | \
$UGLIFY $UGLIFYOPTIONS > base/webgl/asygl.js
rm $SHADERS
diff --git a/graphics/asymptote/config.h.in b/graphics/asymptote/config.h.in
index fd317eab6b..891681e848 100644
--- a/graphics/asymptote/config.h.in
+++ b/graphics/asymptote/config.h.in
@@ -21,6 +21,9 @@
/* Define to 1 if you have the <editline/readline.h> header file. */
#undef HAVE_EDITLINE_READLINE_H
+/* Define to 1 if you have the <Eigen/Dense> header file. */
+#undef HAVE_EIGEN_DENSE
+
/* Define to 1 if you have the `feenableexcept' function. */
#undef HAVE_FEENABLEEXCEPT
diff --git a/graphics/asymptote/configure b/graphics/asymptote/configure
index bc4951f56e..f4395d377f 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.80.
+# Generated by GNU Autoconf 2.69 for Asymptote 2.82.
#
# Report bugs to <https://github.com/vectorgraphics/asymptote/issues>.
#
@@ -581,8 +581,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Asymptote'
PACKAGE_TARNAME='asymptote'
-PACKAGE_VERSION='2.80'
-PACKAGE_STRING='Asymptote 2.80'
+PACKAGE_VERSION='2.82'
+PACKAGE_STRING='Asymptote 2.82'
PACKAGE_BUGREPORT='https://github.com/vectorgraphics/asymptote/issues'
PACKAGE_URL=''
@@ -734,6 +734,7 @@ enable_curl
enable_readline
enable_static
enable_fftw
+enable_eigen
enable_gsl
enable_gl
enable_offscreen
@@ -1304,7 +1305,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.80 to adapt to many kinds of systems.
+\`configure' configures Asymptote 2.82 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1370,7 +1371,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Asymptote 2.80:";;
+ short | recursive ) echo "Configuration of Asymptote 2.82:";;
esac
cat <<\_ACEOF
@@ -1391,6 +1392,7 @@ Optional Features:
--enable-readline[=yes] enable GNU Readline Library
--enable-static[=no] link against static libraries
--enable-fftw[=yes] enable FFTW Library
+ --enable-eigen[=yes] enable Eigen Library
--enable-gsl[=yes] enable GNU Scientific Library
--enable-gl[=yes] enable OpenGL Library
--enable-offscreen[=no] use OSMesa library to implement offscreen rendering
@@ -1489,7 +1491,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Asymptote configure 2.80
+Asymptote configure 2.82
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2075,7 +2077,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.80, which was
+It was created by Asymptote $as_me 2.82, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -5900,7 +5902,7 @@ fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ASYGLVERSION=1.01
+ASYGLVERSION=1.02
GCVERSION=8.2.0
ATOMICVERSION=7.6.12
@@ -6064,8 +6066,6 @@ $as_echo "$as_me: *** Enabling GC backtrace debugging; remember to make gc-clean
fi
-INCL=$INCL" -I/usr/include/tirpc"
-
if test "$OSTYPE" = "msdos"; then
CPPFLAGS=$CPPFLAGS" -D__MSDOS__ -I/usr/include/w32api -I/usr/include -DCALLBACK=__stdcall $INCL"
else
@@ -6890,6 +6890,8 @@ fi
if test "x$enable_readline" != "xno"; then
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags readline`
+LDFLAGS="$LDFLAGS "`pkg-config --libs readline`
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7529,7 +7531,8 @@ fi
if test "x$enable_fftw" != "xno"; then
-
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags fftw3`
+LDFLAGS="$LDFLAGS "`pkg-config --libs fftw3`
ac_fn_cxx_check_header_mongrel "$LINENO" "fftw3.h" "ac_cv_header_fftw3_h" "$ac_includes_default"
if test "x$ac_cv_header_fftw3_h" = xyes; then :
@@ -7649,6 +7652,28 @@ fi
fi
+# Check whether --enable-eigen was given.
+if test "${enable_eigen+set}" = set; then :
+ enableval=$enable_eigen;
+fi
+
+
+if test "x$enable_eigen" != "xno"; then
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags eigen3`
+for ac_header in Eigen/Dense
+do :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "Eigen/Dense" "ac_cv_header_Eigen_Dense" "$ac_includes_default"
+if test "x$ac_cv_header_Eigen_Dense" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_EIGEN_DENSE 1
+_ACEOF
+
+fi
+
+done
+
+fi
+
# Checks for header files.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
@@ -7728,6 +7753,14 @@ fi
done
+case "$OSTYPE" in
+ darwin*)
+ ;;
+ *)
+ CPPFLAGS="$CPPFLAGS "`pkg-config --cflags libtirpc`
+ LDFLAGS="$LDFLAGS "`pkg-config --libs libtirpc`
+ ;;
+esac
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7813,6 +7846,8 @@ fi
if test "x$enable_gsl" != "xno"; then
+ CPPFLAGS="$CPPFLAGS "`pkg-config --cflags gsl`
+ LDFLAGS="$LDFLAGS "`pkg-config --libs gsl`
ac_fn_cxx_check_header_mongrel "$LINENO" "gsl/gsl_sf.h" "ac_cv_header_gsl_gsl_sf_h" "$ac_includes_default"
if test "x$ac_cv_header_gsl_gsl_sf_h" = xyes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gsl_sf_debye_6 in -lgsl" >&5
@@ -9486,7 +9521,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.80, which was
+This file was extended by Asymptote $as_me 2.82, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -9548,7 +9583,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.80
+Asymptote config.status 2.82
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 786fe9438c..9e5b1a8c13 100644
--- a/graphics/asymptote/configure.ac
+++ b/graphics/asymptote/configure.ac
@@ -3,7 +3,7 @@
# this file.
AC_PREREQ(2)
-AC_INIT([Asymptote],[2.80],[https://github.com/vectorgraphics/asymptote/issues])
+AC_INIT([Asymptote],[2.82],[https://github.com/vectorgraphics/asymptote/issues])
VERSION=$PACKAGE_VERSION
AC_SUBST(VERSION)
m4_include([ax_pthread.m4])
@@ -148,7 +148,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
DEFINE([<unordered_map>])),
[AC_CHECK_HEADER(ext/hash_map,,OPTIONS=$OPTIONS"-DNOHASH ")])])
-ASYGLVERSION=1.01
+ASYGLVERSION=1.02
GCVERSION=8.2.0
ATOMICVERSION=7.6.12
@@ -236,8 +236,6 @@ AC_ARG_ENABLE(gc-full-debug,
fi
])
-INCL=$INCL" -I/usr/include/tirpc"
-
if test "$OSTYPE" = "msdos"; then
CPPFLAGS=$CPPFLAGS" -D__MSDOS__ -I/usr/include/w32api -I/usr/include -DCALLBACK=__stdcall $INCL"
else
@@ -350,6 +348,8 @@ LDFLAGS=$LDFLAGS0
])
if test "x$enable_readline" != "xno"; then
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags readline`
+LDFLAGS="$LDFLAGS "`pkg-config --libs readline`
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([
#include <stdio.h>
@@ -374,19 +374,36 @@ AC_ARG_ENABLE(fftw,
[AS_HELP_STRING(--enable-fftw[[[=yes]]],enable FFTW Library)])
if test "x$enable_fftw" != "xno"; then
-
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags fftw3`
+LDFLAGS="$LDFLAGS "`pkg-config --libs fftw3`
AC_CHECK_HEADER(fftw3.h,
AC_CHECK_LIB_STATIC([fftw3],[fftw_execute],HAVE_LIBFFTW3,
AC_MSG_NOTICE([*** Could not find libfftw3: will compile without optional fast Fourier transforms. ***])),
AC_MSG_NOTICE([*** Header file fftw3.h not found: will compile without optional fast Fourier transforms. ***]))
fi
+AC_ARG_ENABLE(eigen,
+[AS_HELP_STRING(--enable-eigen[[[=yes]]],enable Eigen Library)])
+
+if test "x$enable_eigen" != "xno"; then
+CPPFLAGS="$CPPFLAGS "`pkg-config --cflags eigen3`
+AC_CHECK_HEADERS(Eigen/Dense)
+fi
+
# Checks for header files.
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([fenv.h stddef.h libintl.h])
AC_CHECK_HEADERS(fpu_control.h)
AC_CHECK_FUNCS([feenableexcept])
+case "$OSTYPE" in
+ darwin*)
+ ;;
+ *)
+ CPPFLAGS="$CPPFLAGS "`pkg-config --cflags libtirpc`
+ LDFLAGS="$LDFLAGS "`pkg-config --libs libtirpc`
+ ;;
+esac
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include "xstream.h"])],
[AC_SEARCH_LIBS([xdrstdio_create],[nsl tirpc])
@@ -398,6 +415,8 @@ AC_ARG_ENABLE(gsl,
[AS_HELP_STRING(--enable-gsl[[[=yes]]],enable GNU Scientific Library)])
if test "x$enable_gsl" != "xno"; then
+ CPPFLAGS="$CPPFLAGS "`pkg-config --cflags gsl`
+ LDFLAGS="$LDFLAGS "`pkg-config --libs gsl`
AC_CHECK_HEADER(gsl/gsl_sf.h,
AC_CHECK_LIB([gsl], gsl_sf_debye_6, [AC_DEFINE(HAVE_LIBGSL,1,
DEFINE_LIB[gsl]) LIBS=$LIBS"-lgsl -lgslcblas "],
diff --git a/graphics/asymptote/doc/CAD.pdf b/graphics/asymptote/doc/CAD.pdf
index 932ae62e56..ae3216bf64 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 3eea4bd647..3ae5ddb680 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
- 2022-04-06
+ 2022-08-06
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 47268f9dd2..63a205ed52 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 78cb8f197e..32ad13ce2f 100644
--- a/graphics/asymptote/doc/asy-latex.pdf
+++ b/graphics/asymptote/doc/asy-latex.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/asy.1 b/graphics/asymptote/doc/asy.1
index 92f7615415..04580bd473 100644
--- a/graphics/asymptote/doc/asy.1
+++ b/graphics/asymptote/doc/asy.1
@@ -31,6 +31,9 @@ in the user's home directory using the long form:
For a complete
description, see the Info files.
.TP
+.B \-GPUblockSize n
+Compute shader block size [8].
+.TP
.B \-GPUcompress
Compress GPU transparent fragment counts [false].
.TP
@@ -41,7 +44,7 @@ Compute indexing partial sums on GPU [true].
Use fragment shader interlock [true].
.TP
.B \-GPUlocalSize n
-Compute shader local size [16].
+Compute shader local size [256].
.TP
.B \-V,\-View
View output; command-line only.
@@ -116,7 +119,7 @@ Default output file precision [7].
Garbage collect using purge(divisor=n) [2].
.TP
.B \-dvisvgmMultipleFiles
-dvisvgm supports multiple files [false].
+dvisvgm supports multiple files [true].
.TP
.B \-embed
Embed rendered preview image [true].
diff --git a/graphics/asymptote/doc/asyRefCard.pdf b/graphics/asymptote/doc/asyRefCard.pdf
index 68ab41f84a..c1ba046670 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 c61d63c4a4..fe7bc493e3 100644
--- a/graphics/asymptote/doc/asymptote.pdf
+++ b/graphics/asymptote/doc/asymptote.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/asymptote.texi b/graphics/asymptote/doc/asymptote.texi
index ff7df7a7bb..3b47d1f57d 100644
--- a/graphics/asymptote/doc/asymptote.texi
+++ b/graphics/asymptote/doc/asymptote.texi
@@ -769,7 +769,7 @@ setlocal errorformat=%f:\ %l.%c:\ %m
Syntax highlighting support for the @acronym{KDE} editor @code{Kate}
can be enabled by running @code{asy-kate.sh} in the
@code{@value{Datadir}/asymptote} directory and putting the generated
-@code{asymptote.xml} file in @code{~/.kde/share/apps/katepart/syntax/}.
+@code{asymptote.xml} file in @code{~/.local/share/org.kde.syntax-highlighting/syntax/}.
@node Git, Uninstall, Editing modes, Installation
@section Git
@@ -4048,6 +4048,7 @@ value, @code{settings.scroll=0}, specifies continuous scrolling.
The routines
@cindex @code{getstring}
+@cindex @code{getint}
@cindex @code{getreal}
@cindex @code{getpair}
@cindex @code{gettriple}
@@ -4286,7 +4287,7 @@ structure. Trying to use a field of a null reference will cause an error.
@cindex @code{!=}
The function @code{bool alias(T,T)} checks to see if two structure references
refer to the same instance of the structure (or both to @code{null}).
-In example at the beginning of this section, @code{alias(foo,bar)}
+In the example at the beginning of this section, @code{alias(foo,bar)}
would return true, but @code{alias(foo,new T)} would return false, as @code{new
T} creates a new instance of the structure @code{T}. The boolean operators
@code{==} and @code{!=} are by default equivalent to @code{alias} and
@@ -5570,6 +5571,19 @@ using the given @code{sign};
returns the unnormalized three-dimensional Fourier transform of
@code{a} using the given @code{sign};
+@cindex @code{realschur}
+@cindex @code{schur}
+@item realschur schur(real[][] a)
+returns a struct @code{realschur} containing a unitary matrix @code{U} and
+a quasitriangular matrix @code{T} such that
+@code{a=U*T*transpose(U)};
+
+@cindex @code{schur}
+@item schur schur(pair[][] a)
+returns a struct @code{schur} containing a unitary matrix @code{U} and
+a triangular matrix @code{T} such that
+@code{a=U*T*conj(transpose(U))};
+
@cindex @code{dot}
@item real dot(real[] a, real[] b)
returns the dot product of the vectors @code{a} and @code{b};
@@ -6336,7 +6350,7 @@ External @code{Asymptote} code can be included with
@end verbatim
@noindent
so that @code{latexmk} will recognize when the code is changed. Note that
-@code{latemk} requires @code{perl}, available from @url{https://www.perl.org/}.
+@code{latexmk} requires @code{perl}, available from @url{https://www.perl.org/}.
@cindex @code{width}
@cindex @code{height}
@@ -8081,7 +8095,7 @@ the indices of the elements in @code{v} that form the vertices of each
triangle. Similarly, the arguments @code{n} and @code{ni} contain
optional normal data and @code{p} and @code{pi} contain optional pen
vertex data. If more than one normal or pen is specified for a vertex, the
-last one specified is used.
+last one is used.
An example of this tessellation facility is given in @code{@uref{https://asymptote.sourceforge.io/gallery/3Dwebgl/triangles.html,,triangles}@uref{https://asymptote.sourceforge.io/gallery/3Dwebgl/triangles.asy,,.asy}}.
@cindex @code{thin}
@@ -8262,7 +8276,7 @@ The @acronym{PRC} specification is available from
external viewer or conversion to an alternate 3D format with the Python
@code{pyv3d} library. The @code{V3D} specification and the
@code{pyv3d} library are available at
-@url{https://gitlab.com/vectorgraphics/v3d}.
+@url{https://github.com/vectorgraphics/v3d}.
A @code{V3D} file @code{file.v3d} may be imported and viewed by
@code{Asymptote} either by specifying @code{file.v3d} on the command line
@verbatim
@@ -8578,7 +8592,7 @@ by @code{y} in the @math{y} direction, and by @code{z} in the @math{z}
direction;
@cindex @code{rotate}
@item rotate(real angle, triple v)
-rotates by @code{angle} in degrees about an axis @code{v} through the origin;
+rotates by @code{angle} in degrees about the axis @code{O--v};
@item rotate(real angle, triple u, triple v)
rotates by @code{angle} in degrees about the axis @code{u--v};
@item reflect(triple u, triple v, triple w)
@@ -8985,6 +8999,22 @@ An optional splinetype @code{Spline} may be specified.
The boolean array or function @code{cond} can be used to control which
surface mesh cells are actually drawn (by default all mesh cells over
@code{box(a,b)} are drawn).
+
+@cindex @code{surface}
+One can also construct the surface generated by rotating a path @code{g}
+between @code{angle1} to @code{angle2} (in degrees) sampled @code{n}
+times about the line @code{c--c+axis}:
+@verbatim
+surface surface(triple c, path3 g, triple axis, int n=nslice,
+ real angle1=0, real angle2=360, pen color(int i, real j)=null);
+@end verbatim
+@noindent
+@cindex @code{color}
+The optional argument @code{color(int i, real j)} can be used to override the
+surface color at the point obtained by rotating vertex @code{i} by
+angle @code{j} (in degrees).
+
+@noindent
Surface lighting is illustrated in the example files
@code{@uref{https://asymptote.sourceforge.io/gallery/3Dwebgl/parametricsurface.html,,parametricsurface}@uref{https://asymptote.sourceforge.io/gallery/3Dwebgl/parametricsurface.asy,,.asy}} and @code{@uref{https://asymptote.sourceforge.io/gallery/3D graphs/sinc.html,,sinc}@uref{https://asymptote.sourceforge.io/gallery/3D graphs/sinc.asy,,.asy}}.
Lighting can be disabled by setting @code{light=nolight}, as in this example
@@ -9547,7 +9577,7 @@ To produce @acronym{SVG} output, you will need @code{dvisvgm} (version
You might need to adjust the configuration variable @code{libgs} to
point to the location of your @code{Ghostscript} library
@code{libgs.so} (or to an empty string, depending on how
-@code{dvisvgm} was configured). The 2.10 version (or later) of
+@code{dvisvgm} was configured). The 2.13.1 version (or later) of
@code{dvisvgm} can display @acronym{SVG} output (used by the
@code{xasy} editor) for embedded @acronym{EPS}, @acronym{PDF},
@acronym{PNG}, and @acronym{JPEG} images included with the
@@ -9788,10 +9818,11 @@ and the @code{librsvg} package on @code{MacOS X}; under
@url{https://sourceforge.net/projects/tumagcc/files/rsvg-convert-2.40.20.7z}
+@cindex @code{dvisvgmMultipleFiles}
Deconstruction of a picture into its components is fastest when using
-the @code{LaTeX} TeX engine. One can speed up deconstruction for
-other TeX engines using the 2.13.1 version or later of @code{dvisvgm}
-and setting @code{dvisvgmMultipleFiles=true;} in the @code{Asymptote} configuration file (@pxref{configuration file}).
+the @code{LaTeX} TeX engine. The default setting
+@code{dvisvgmMultipleFiles=true} speeds up deconstruction
+under @acronym{PDF} TeX engines.
@node GUI usage, , GUI installation, GUI
@section GUI usage
diff --git a/graphics/asymptote/doc/png/asymptote.info b/graphics/asymptote/doc/png/asymptote.info
index 2a51ec3389..7bb896355d 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.8 from
asymptote.texi.
-This file documents 'Asymptote', version 2.80.
+This file documents 'Asymptote', version 2.82.
<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.80.
+This file documents 'Asymptote', version 2.82.
<https://asymptote.sourceforge.io>
@@ -617,7 +617,7 @@ setlocal errorformat=%f:\ %l.%c:\ %m
Syntax highlighting support for the KDE editor 'Kate' can be enabled
by running 'asy-kate.sh' in the '/usr/local/share/asymptote' directory
and putting the generated 'asymptote.xml' file in
-'~/.kde/share/apps/katepart/syntax/'.
+'~/.local/share/org.kde.syntax-highlighting/syntax/'.

File: asymptote.info, Node: Git, Next: Uninstall, Prev: Editing modes, Up: Installation
@@ -3330,12 +3330,12 @@ an error.
The function 'bool alias(T,T)' checks to see if two structure
references refer to the same instance of the structure (or both to
-'null'). In example at the beginning of this section, 'alias(foo,bar)'
-would return true, but 'alias(foo,new T)' would return false, as 'new T'
-creates a new instance of the structure 'T'. The boolean operators '=='
-and '!=' are by default equivalent to 'alias' and '!alias' respectively,
-but may be overwritten for a particular type (for example, to do a deep
-comparison).
+'null'). In the example at the beginning of this section,
+'alias(foo,bar)' would return true, but 'alias(foo,new T)' would return
+false, as 'new T' creates a new instance of the structure 'T'. The
+boolean operators '==' and '!=' are by default equivalent to 'alias' and
+'!alias' respectively, but may be overwritten for a particular type (for
+example, to do a deep comparison).
Here is a simple example that illustrates the use of structures:
struct S {
@@ -4297,6 +4297,14 @@ of type 'T[]'.
returns the unnormalized three-dimensional Fourier transform of 'a'
using the given 'sign';
+'realschur schur(real[][] a)'
+ returns a struct 'realschur' containing a unitary matrix 'U' and a
+ quasitriangular matrix 'T' such that 'a=U*T*transpose(U)';
+
+'schur schur(pair[][] a)'
+ returns a struct 'schur' containing a unitary matrix 'U' and a
+ triangular matrix 'T' such that 'a=U*T*conj(transpose(U))';
+
'real dot(real[] a, real[] b)'
returns the dot product of the vectors 'a' and 'b';
@@ -4892,7 +4900,7 @@ in a file 'latexmkrc' in the same directory. External 'Asymptote' code
can be included with
\asyinclude[<options>]{<filename.asy>}
so that 'latexmk' will recognize when the code is changed. Note that
-'latemk' requires 'perl', available from <https://www.perl.org/>.
+'latexmk' requires 'perl', available from <https://www.perl.org/>.
One can specify 'width', 'height', 'keepAspect', 'viewportwidth',
'viewportheight', 'attach', and 'inline'. 'keyval'-style options to the
@@ -6990,8 +6998,8 @@ while the array 'vi' contains integer arrays of length 3 containing the
indices of the elements in 'v' that form the vertices of each triangle.
Similarly, the arguments 'n' and 'ni' contain optional normal data and
'p' and 'pi' contain optional pen vertex data. If more than one normal
-or pen is specified for a vertex, the last one specified is used. An
-example of this tessellation facility is given in 'triangles.asy'.
+or pen is specified for a vertex, the last one is used. An example of
+this tessellation facility is given in 'triangles.asy'.
Arbitrary thick three-dimensional curves and line caps (which the
'OpenGL' standard does not require implementations to provide) are
@@ -7130,7 +7138,7 @@ There are six choices for viewing 3D 'Asymptote' output:
5. Output a 'V3D' portable compressed binary file for viewing with an
external viewer or conversion to an alternate 3D format with the
Python 'pyv3d' library. The 'V3D' specification and the 'pyv3d'
- library are available at <https://gitlab.com/vectorgraphics/v3d>.
+ library are available at <https://github.com/vectorgraphics/v3d>.
A 'V3D' file 'file.v3d' may be imported and viewed by 'Asymptote'
either by specifying 'file.v3d' on the command line
asy -V file.v3d
@@ -7339,7 +7347,7 @@ following built-in transform3 types (the identity transformation is
scales by 'x' in the x direction, by 'y' in the y direction, and by
'z' in the z direction;
'rotate(real angle, triple v)'
- rotates by 'angle' in degrees about an axis 'v' through the origin;
+ rotates by 'angle' in degrees about the axis 'O--v';
'rotate(real angle, triple u, triple v)'
rotates by 'angle' in degrees about the axis 'u--v';
'reflect(triple u, triple v, triple w)'
@@ -7662,10 +7670,20 @@ over the parameter space 'box(a,b)', as illustrated in the example
'parametricsurface.asy'. An optional splinetype 'Spline' may be
specified. The boolean array or function 'cond' can be used to control
which surface mesh cells are actually drawn (by default all mesh cells
-over 'box(a,b)' are drawn). Surface lighting is illustrated in the
-example files 'parametricsurface.asy' and 'sinc.asy'. Lighting can be
-disabled by setting 'light=nolight', as in this example of a Gaussian
-surface:
+over 'box(a,b)' are drawn).
+
+ One can also construct the surface generated by rotating a path 'g'
+between 'angle1' to 'angle2' (in degrees) sampled 'n' times about the
+line 'c--c+axis':
+surface surface(triple c, path3 g, triple axis, int n=nslice,
+ real angle1=0, real angle2=360, pen color(int i, real j)=null);
+The optional argument 'color(int i, real j)' can be used to override the
+surface color at the point obtained by rotating vertex 'i' by angle 'j'
+(in degrees).
+
+Surface lighting is illustrated in the example files
+'parametricsurface.asy' and 'sinc.asy'. Lighting can be disabled by
+setting 'light=nolight', as in this example of a Gaussian surface:
import graph3;
size(200,0);
@@ -8266,10 +8284,11 @@ Usage: ../asy [options] [file ...]
Options (negate by replacing - with -no):
+-GPUblockSize n Compute shader block size [8]
-GPUcompress Compress GPU transparent fragment counts [false]
-GPUindexing Compute indexing partial sums on GPU [true]
-GPUinterlock Use fragment shader interlock [true]
--GPUlocalSize n Compute shader local size [16]
+-GPUlocalSize n Compute shader local size [256]
-V,-View View output; command-line only
-absolute Use absolute WebGL dimensions [false]
-a,-align C|B|T|Z Center, Bottom, Top, or Zero page alignment [C]
@@ -8294,7 +8313,7 @@ Options (negate by replacing - with -no):
-devicepixelratio n Ratio of physical to logical pixels [1]
-digits n Default output file precision [7]
-divisor n Garbage collect using purge(divisor=n) [2]
--dvisvgmMultipleFiles dvisvgm supports multiple files [false]
+-dvisvgmMultipleFiles dvisvgm supports multiple files [true]
-embed Embed rendered preview image [true]
-exitonEOF Exit interactive mode on EOF [true]
-fitscreen Fit rendered image to screen [true]
@@ -8432,9 +8451,10 @@ using the '-f' option (or 'outformat' setting).
later) from <https://dvisvgm.de>. You might need to adjust the
configuration variable 'libgs' to point to the location of your
'Ghostscript' library 'libgs.so' (or to an empty string, depending on
-how 'dvisvgm' was configured). The 2.10 version (or later) of 'dvisvgm'
-can display SVG output (used by the 'xasy' editor) for embedded EPS,
-PDF, PNG, and JPEG images included with the 'graphic()' function.
+how 'dvisvgm' was configured). The 2.13.1 version (or later) of
+'dvisvgm' can display SVG output (used by the 'xasy' editor) for
+embedded EPS, PDF, PNG, and JPEG images included with the 'graphic()'
+function.
'Asymptote' can also produce any output format supported by the
'ImageMagick' 'convert' program (version 6.3.5 or later recommended; an
@@ -8620,10 +8640,8 @@ available as
<https://sourceforge.net/projects/tumagcc/files/rsvg-convert-2.40.20.7z>
Deconstruction of a picture into its components is fastest when using
-the 'LaTeX' TeX engine. One can speed up deconstruction for other TeX
-engines using the 2.13.1 version or later of 'dvisvgm' and setting
-'dvisvgmMultipleFiles=true;' in the 'Asymptote' configuration file
-(*note configuration file::).
+the 'LaTeX' TeX engine. The default setting 'dvisvgmMultipleFiles=true'
+speeds up deconstruction under PDF TeX engines.

File: asymptote.info, Node: GUI usage, Prev: GUI installation, Up: GUI
@@ -8933,9 +8951,9 @@ Index
* ---: Bezier curves. (line 84)
* -=: Self & prefix operators.
(line 6)
-* -c: Options. (line 207)
-* -l: Options. (line 226)
-* -u: Options. (line 217)
+* -c: Options. (line 209)
+* -l: Options. (line 228)
+* -u: Options. (line 219)
* -V: Configuring. (line 6)
* -V <1>: Drawing in batch mode.
(line 16)
@@ -9014,8 +9032,8 @@ Index
* alias: Structures. (line 62)
* alias <1>: Arrays. (line 183)
* Align: label. (line 12)
-* aligndir: Options. (line 199)
-* all: Arrays. (line 342)
+* aligndir: Options. (line 201)
+* all: Arrays. (line 350)
* Allow: Pens. (line 363)
* and: Bezier curves. (line 56)
* AND: Arithmetic & logical.
@@ -9028,7 +9046,7 @@ Index
* animation <1>: animation. (line 6)
* annotate: annotate. (line 6)
* antialias: three. (line 261)
-* antialias <1>: Options. (line 169)
+* antialias <1>: Options. (line 170)
* append: Files. (line 38)
* append <1>: Arrays. (line 39)
* arc: Paths and guides. (line 24)
@@ -9082,7 +9100,7 @@ Index
* Asymptote Web Application: Description. (line 6)
* asymptote.sty: LaTeX usage. (line 6)
* asymptote.xml: Editing modes. (line 48)
-* ASYMPTOTE_CONFIG: Options. (line 140)
+* ASYMPTOTE_CONFIG: Options. (line 141)
* atan: Mathematical functions.
(line 6)
* aTan: Mathematical functions.
@@ -9097,7 +9115,7 @@ Index
* attach <1>: LaTeX usage. (line 50)
* attach <2>: graph. (line 406)
* autoadjust: three. (line 418)
-* autoimport: Options. (line 136)
+* autoimport: Options. (line 137)
* automatic scaling: graph. (line 710)
* automatic scaling <1>: graph. (line 710)
* axialshade: fill. (line 43)
@@ -9236,13 +9254,14 @@ Index
* cmyk: Pens. (line 38)
* colatitude: Data types. (line 159)
* color: Pens. (line 23)
+* color <1>: graph3. (line 133)
* coloredNodes: tube. (line 25)
* coloredpath: tube. (line 18)
* coloredSegments: tube. (line 25)
* colorless: Pens. (line 57)
* colors: Pens. (line 54)
* comma: Files. (line 65)
-* comma-separated-value mode: Arrays. (line 374)
+* comma-separated-value mode: Arrays. (line 382)
* command-line interface: Command-Line Interface.
(line 6)
* command-line options: Configuring. (line 91)
@@ -9257,13 +9276,13 @@ Index
* conditional <1>: Arithmetic & logical.
(line 61)
* config: Configuring. (line 74)
-* config <1>: Options. (line 140)
+* config <1>: Options. (line 141)
* configuration file: Configuring. (line 20)
-* configuration file <1>: Options. (line 140)
+* configuration file <1>: Options. (line 141)
* configuring: Configuring. (line 6)
* conj: Data types. (line 62)
* constructors: Structures. (line 91)
-* context: Options. (line 169)
+* context: Options. (line 170)
* continue: Programming. (line 48)
* continue <1>: Debugger. (line 31)
* contour: contour. (line 6)
@@ -9274,8 +9293,8 @@ Index
* convert: Configuring. (line 74)
* convert <1>: Files. (line 159)
* convert <2>: animation. (line 6)
-* convert <3>: Options. (line 169)
-* convertOptions: Options. (line 155)
+* convert <3>: Options. (line 170)
+* convertOptions: Options. (line 156)
* Coons shading: fill. (line 78)
* copy: Arrays. (line 176)
* cos: Mathematical functions.
@@ -9292,10 +9311,10 @@ Index
* cross <2>: graph. (line 480)
* crossframe: markers. (line 22)
* crosshatch: Pens. (line 302)
-* csv: Arrays. (line 374)
+* csv: Arrays. (line 382)
* CTZ: Arithmetic & logical.
(line 68)
-* cubicroots: Arrays. (line 331)
+* cubicroots: Arrays. (line 339)
* curl: Bezier curves. (line 66)
* curl <1>: three. (line 6)
* curlSpecifier: Paths and guides. (line 408)
@@ -9346,11 +9365,11 @@ Index
* delete <1>: Arrays. (line 39)
* description: Description. (line 6)
* devicepixelratio: three. (line 184)
-* diagonal: Arrays. (line 316)
+* diagonal: Arrays. (line 324)
* diamond: flowchart. (line 54)
* diffuse: three. (line 76)
* diffusepen: three. (line 66)
-* dimension: Arrays. (line 379)
+* dimension: Arrays. (line 387)
* dir: Search paths. (line 9)
* dir <1>: Data types. (line 90)
* dir <2>: Data types. (line 181)
@@ -9367,8 +9386,8 @@ Index
* dot: draw. (line 83)
* dot <1>: Data types. (line 103)
* dot <2>: Data types. (line 194)
-* dot <3>: Arrays. (line 271)
-* dot <4>: Arrays. (line 274)
+* dot <3>: Arrays. (line 279)
+* dot <4>: Arrays. (line 282)
* DotMargin: draw. (line 42)
* DotMargin3: three. (line 638)
* DotMargins: draw. (line 42)
@@ -9387,10 +9406,11 @@ Index
* drawline: math. (line 9)
* drawtree: drawtree. (line 6)
* dvips: Configuring. (line 74)
-* dvipsOptions: Options. (line 155)
+* dvipsOptions: Options. (line 156)
* dvisvgm: Configuring. (line 74)
-* dvisvgm <1>: Options. (line 174)
-* dvisvgmOptions: Options. (line 155)
+* dvisvgm <1>: Options. (line 175)
+* dvisvgmMultipleFiles: GUI installation. (line 20)
+* dvisvgmOptions: Options. (line 156)
* E: Labels. (line 18)
* E <1>: Mathematical functions.
(line 48)
@@ -9428,11 +9448,11 @@ Index
(line 25)
* environment variables: Configuring. (line 95)
* eof: Files. (line 97)
-* eof <1>: Arrays. (line 356)
+* eof <1>: Arrays. (line 364)
* eol: Files. (line 97)
-* eol <1>: Arrays. (line 356)
+* eol <1>: Arrays. (line 364)
* EPS: label. (line 78)
-* EPS <1>: Options. (line 169)
+* EPS <1>: Options. (line 170)
* erase: Drawing in interactive mode.
(line 11)
* erase <1>: Data types. (line 257)
@@ -9523,7 +9543,7 @@ Index
* fontsize: Pens. (line 192)
* for: Programming. (line 26)
* format: Data types. (line 290)
-* format <1>: Options. (line 169)
+* format <1>: Options. (line 170)
* forum: Help. (line 6)
* frame: Frames and pictures.
(line 7)
@@ -9543,6 +9563,7 @@ Index
(line 39)
* geometry: geometry. (line 6)
* getc: Files. (line 32)
+* getint: Files. (line 122)
* getpair: Files. (line 122)
* getreal: Files. (line 122)
* getstring: Files. (line 122)
@@ -9551,7 +9572,7 @@ Index
* globalwrite: Files. (line 40)
* globalwrite <1>: Files. (line 154)
* glOptions: three. (line 261)
-* glOptions <1>: Options. (line 155)
+* glOptions <1>: Options. (line 156)
* GNU Scientific Library: Mathematical functions.
(line 48)
* gouraudshade: fill. (line 63)
@@ -9560,7 +9581,7 @@ Index
* graph: graph. (line 6)
* graph3: graph3. (line 6)
* graphic: label. (line 78)
-* graphic <1>: Options. (line 174)
+* graphic <1>: Options. (line 175)
* graphical user interface: GUI. (line 6)
* graphwithderiv: graph. (line 670)
* gray: Pens. (line 25)
@@ -9574,7 +9595,7 @@ Index
(line 62)
* gsl: Mathematical functions.
(line 48)
-* gsOptions: Options. (line 155)
+* gsOptions: Options. (line 156)
* GUI: GUI. (line 6)
* GUI installation: GUI installation. (line 6)
* GUI usage: GUI usage. (line 6)
@@ -9604,8 +9625,8 @@ Index
* HTML5: three. (line 233)
* htmlviewer: Configuring. (line 20)
* htmlviewer <1>: Configuring. (line 43)
-* htmlviewerOptions: Options. (line 155)
-* hyperrefOptions: Options. (line 155)
+* htmlviewerOptions: Options. (line 156)
+* hyperrefOptions: Options. (line 156)
* hypot: Mathematical functions.
(line 6)
* I: Mathematical functions.
@@ -9615,7 +9636,7 @@ Index
* identity: Transforms. (line 24)
* identity <1>: Mathematical functions.
(line 6)
-* identity <2>: Arrays. (line 313)
+* identity <2>: Arrays. (line 321)
* identity4: three. (line 494)
* if: Programming. (line 26)
* IgnoreAspect: Frames and pictures.
@@ -9625,7 +9646,7 @@ Index
* image-based lighting: three. (line 104)
* ImageMagick: Configuring. (line 74)
* ImageMagick <1>: animation. (line 6)
-* ImageMagick <2>: Options. (line 169)
+* ImageMagick <2>: Options. (line 170)
* images: palette. (line 6)
* implicit casts: Casts. (line 6)
* implicit linear solver: MetaPost. (line 10)
@@ -9689,7 +9710,7 @@ Index
* intMax: Data types. (line 30)
* intMin: Data types. (line 30)
* inverse: Transforms. (line 16)
-* inverse <1>: Arrays. (line 319)
+* inverse <1>: Arrays. (line 327)
* invert: three. (line 484)
* invisible: Pens. (line 43)
* isnan: Data types. (line 35)
@@ -9734,7 +9755,7 @@ Index
(line 6)
* lastcut: Paths and guides. (line 266)
* lasy-mode: Editing modes. (line 6)
-* latex: Options. (line 169)
+* latex: Options. (line 170)
* LaTeX NFSS fonts: Pens. (line 206)
* LaTeX usage: LaTeX usage. (line 6)
* latexmk: LaTeX usage. (line 30)
@@ -9765,16 +9786,16 @@ Index
* lexorder: math. (line 63)
* lexorder <1>: math. (line 66)
* libcurl: Import. (line 94)
-* libgs: Options. (line 174)
+* libgs: Options. (line 175)
* libm routines: Mathematical functions.
(line 6)
* libsigsegv: Functions. (line 100)
* libsigsegv <1>: Help. (line 27)
* light: three. (line 76)
* limits: graph. (line 639)
-* line: Arrays. (line 356)
-* line <1>: Arrays. (line 360)
-* line mode: Arrays. (line 356)
+* line: Arrays. (line 364)
+* line <1>: Arrays. (line 368)
+* line mode: Arrays. (line 364)
* Linear: graph. (line 710)
* linecap: Pens. (line 139)
* linejoin: Pens. (line 149)
@@ -9800,8 +9821,8 @@ Index
* loop: Programming. (line 26)
* LSP: Language server protocol.
(line 6)
-* lualatex: Options. (line 169)
-* luatex: Options. (line 169)
+* lualatex: Options. (line 170)
+* luatex: Options. (line 170)
* MacOS X binary distributions: MacOS X binary distributions.
(line 6)
* MacOS X configuration: Compiling from UNIX source.
@@ -9907,7 +9928,7 @@ Index
* None <1>: draw. (line 26)
* none: Files. (line 65)
* normal: three. (line 542)
-* nosafe: Options. (line 194)
+* nosafe: Options. (line 196)
* NOT: Arithmetic & logical.
(line 68)
* notaknot: graph. (line 36)
@@ -9928,7 +9949,7 @@ Index
* obliqueZ: three. (line 378)
* ode: ode. (line 6)
* offset: Pens. (line 123)
-* offset <1>: Options. (line 199)
+* offset <1>: Options. (line 201)
* OmitTick: graph. (line 223)
* OmitTickInterval: graph. (line 223)
* OmitTickIntervals: graph. (line 223)
@@ -9960,7 +9981,7 @@ Index
* outprefix: Frames and pictures.
(line 91)
* output: Files. (line 38)
-* output <1>: Options. (line 169)
+* output <1>: Options. (line 170)
* OutTicks: graph3. (line 35)
* overloading functions: Functions. (line 55)
* overwrite: Pens. (line 360)
@@ -9993,11 +10014,11 @@ Index
* patterns: Pens. (line 271)
* patterns <1>: patterns. (line 6)
* PBR: three. (line 74)
-* PDF: Options. (line 169)
-* pdflatex: Options. (line 169)
-* pdfreloadOptions: Options. (line 155)
+* PDF: Options. (line 170)
+* pdflatex: Options. (line 170)
+* pdfreloadOptions: Options. (line 156)
* pdfviewer: Configuring. (line 20)
-* pdfviewerOptions: Options. (line 155)
+* pdfviewerOptions: Options. (line 156)
* pen: Pens. (line 6)
* PenMargin: draw. (line 42)
* PenMargin2: three. (line 638)
@@ -10054,13 +10075,13 @@ Index
* pstoedit: PostScript to Asymptote.
(line 6)
* psviewer: Configuring. (line 20)
-* psviewerOptions: Options. (line 155)
+* psviewerOptions: Options. (line 156)
* pt: Figure size. (line 18)
* public: Structures. (line 6)
* push: Arrays. (line 39)
* Python usage: Interactive mode. (line 72)
-* quadraticroots: Arrays. (line 322)
-* quadraticroots <1>: Arrays. (line 327)
+* quadraticroots: Arrays. (line 330)
+* quadraticroots <1>: Arrays. (line 335)
* quarticroots: math. (line 22)
* quick reference: Description. (line 92)
* quit: Drawing in interactive mode.
@@ -10084,9 +10105,9 @@ Index
(line 39)
* randMax: Mathematical functions.
(line 39)
-* read: Arrays. (line 396)
+* read: Arrays. (line 404)
* reading: Files. (line 12)
-* reading string arrays: Arrays. (line 366)
+* reading string arrays: Arrays. (line 374)
* readline: Files. (line 139)
* real: Data types. (line 35)
* realDigits: Data types. (line 35)
@@ -10094,6 +10115,7 @@ Index
* realMax: Data types. (line 35)
* realMin: Data types. (line 35)
* realmult: Data types. (line 100)
+* realschur: Arrays. (line 271)
* rectangle: flowchart. (line 34)
* recursion: Functions. (line 100)
* reference: Description. (line 92)
@@ -10107,7 +10129,7 @@ Index
* rename: Files. (line 156)
* render: three. (line 46)
* render <1>: three. (line 184)
-* render <2>: Options. (line 169)
+* render <2>: Options. (line 170)
* replace: Data types. (line 270)
* resetdefaultpen: Pens. (line 387)
* rest arguments: Rest arguments. (line 6)
@@ -10146,7 +10168,7 @@ Index
* runtime imports: Import. (line 102)
* Russian: Pens. (line 238)
* S: Labels. (line 18)
-* safe: Options. (line 194)
+* safe: Options. (line 196)
* save: Frames and pictures.
(line 288)
* saveline: Files. (line 139)
@@ -10159,6 +10181,8 @@ Index
* scale <4>: three. (line 509)
* scale3: three. (line 507)
* scaled graph: graph. (line 690)
+* schur: Arrays. (line 271)
+* schur <1>: Arrays. (line 275)
* scientific graph: graph. (line 387)
* scroll: Files. (line 113)
* search: Arrays. (line 166)
@@ -10178,7 +10202,7 @@ Index
(line 6)
* sequence: Arrays. (line 118)
* settings: Configuring. (line 20)
-* settings <1>: Options. (line 140)
+* settings <1>: Options. (line 141)
* sgn: Mathematical functions.
(line 26)
* shading: fill. (line 32)
@@ -10222,7 +10246,7 @@ Index
* size <4>: Frames and pictures.
(line 74)
* size <5>: three. (line 556)
-* size <6>: Options. (line 169)
+* size <6>: Options. (line 170)
* size3: three. (line 320)
* Slant: label. (line 42)
* slant: Transforms. (line 38)
@@ -10239,8 +10263,8 @@ Index
(line 48)
* solid: Pens. (line 102)
* solids: solids. (line 6)
-* solve: Arrays. (line 291)
-* solve <1>: Arrays. (line 307)
+* solve: Arrays. (line 299)
+* solve <1>: Arrays. (line 315)
* sort: Arrays. (line 186)
* sort <1>: Arrays. (line 190)
* sort <2>: Arrays. (line 205)
@@ -10292,9 +10316,10 @@ Index
* surface <2>: three. (line 128)
* surface <3>: three. (line 142)
* surface <4>: graph3. (line 99)
-* SVG: Options. (line 174)
+* surface <5>: graph3. (line 128)
+* SVG: Options. (line 175)
* system: Data types. (line 354)
-* system <1>: Options. (line 194)
+* system <1>: Options. (line 196)
* syzygy: syzygy. (line 6)
* tab: Files. (line 65)
* tab completion: Drawing in interactive mode.
@@ -10315,7 +10340,7 @@ Index
* tessellation: three. (line 154)
* tex: Frames and pictures.
(line 305)
-* tex <1>: Options. (line 169)
+* tex <1>: Options. (line 170)
* TeX fonts: Pens. (line 213)
* TeX string: Data types. (line 208)
* texcommand: Configuring. (line 74)
@@ -10366,7 +10391,7 @@ Index
* triangle: geometry. (line 6)
* triangles: three. (line 154)
* triangulate: contour. (line 192)
-* tridiagonal: Arrays. (line 278)
+* tridiagonal: Arrays. (line 286)
* trigonometric integrals: Mathematical functions.
(line 48)
* triple: Data types. (line 137)
@@ -10427,8 +10452,8 @@ Index
(line 6)
* vectorfield: graph. (line 1023)
* vectorfield <1>: graph. (line 1062)
-* vectorfield3: graph3. (line 157)
-* vectorization: Arrays. (line 335)
+* vectorfield3: graph3. (line 167)
+* vectorization: Arrays. (line 343)
* verbatim: Frames and pictures.
(line 297)
* vertex-dependent colors: three. (line 119)
@@ -10449,17 +10474,17 @@ Index
* wheel mouse: GUI. (line 6)
* while: Programming. (line 48)
* White: three. (line 76)
-* white-space string delimiter mode: Arrays. (line 366)
+* white-space string delimiter mode: Arrays. (line 374)
* width: LaTeX usage. (line 50)
* windingnumber: Paths and guides. (line 283)
-* word: Arrays. (line 366)
+* word: Arrays. (line 374)
* write: Files. (line 57)
-* write <1>: Arrays. (line 405)
+* write <1>: Arrays. (line 413)
* X: three. (line 335)
* xasy: GUI. (line 6)
* xaxis3: graph3. (line 7)
* xdr: Files. (line 80)
-* xelatex: Options. (line 169)
+* xelatex: Options. (line 170)
* XEquals: graph. (line 265)
* xequals: graph. (line 278)
* xlimits: graph. (line 639)
@@ -10531,143 +10556,143 @@ Node: Configuring15529
Node: Search paths20144
Node: Compiling from UNIX source21152
Node: Editing modes24303
-Node: Git26725
-Node: Uninstall27232
-Node: Tutorial27578
-Node: Drawing in batch mode28425
-Node: Drawing in interactive mode29301
-Node: Figure size30333
-Node: Labels31928
-Node: Paths32756
-Ref: unitcircle33372
-Node: Drawing commands35313
-Node: draw37121
-Ref: arrows38303
-Node: fill43818
-Ref: gradient shading44864
-Node: clip49478
-Node: label50227
-Ref: Label50827
-Node: Bezier curves56684
-Node: Programming60584
-Ref: array iteration62337
-Node: Data types62504
-Ref: format73272
-Node: Paths and guides77718
-Ref: circle77972
-Ref: extension87672
-Node: Pens94482
-Ref: fillrule102173
-Ref: basealign103077
-Ref: transparency106759
-Ref: makepen110353
-Ref: overwrite111237
-Node: Transforms112451
-Node: Frames and pictures114390
-Ref: envelope115548
-Ref: size116641
-Ref: unitsize117628
-Ref: shipout118701
-Ref: filltype121052
-Ref: add124465
-Ref: add about125407
-Ref: tex128437
-Node: Files129332
-Ref: cd130389
-Ref: scroll135291
-Node: Variable initializers138209
-Node: Structures140926
-Node: Operators148499
-Node: Arithmetic & logical148813
-Node: Self & prefix operators151183
-Node: User-defined operators151977
-Node: Implicit scaling152890
-Node: Functions153453
-Ref: stack overflow156570
-Node: Default arguments156852
-Node: Named arguments157608
-Node: Rest arguments160178
-Node: Mathematical functions163299
-Node: Arrays167956
-Ref: sort175395
-Ref: tridiagonal178306
-Ref: solve179537
-Node: Slices183677
-Node: Casts187585
-Node: Import189855
-Node: Static195425
-Node: LaTeX usage198311
-Node: Base modules204826
-Node: plain207303
-Node: simplex207977
-Node: math208250
-Node: interpolate210917
-Node: geometry211196
-Node: trembling211876
-Node: stats212145
-Node: patterns212404
-Node: markers212639
-Node: map214497
-Node: tree214921
-Node: binarytree215101
-Node: drawtree215768
-Node: syzygy215969
-Node: feynman216243
-Node: roundedpath216517
-Node: animation216799
-Ref: animate217220
-Node: embed218332
-Node: slide219286
-Node: MetaPost219617
-Node: babel220333
-Node: labelpath220565
-Node: labelpath3221385
-Node: annotate221696
-Node: CAD222166
-Node: graph222476
-Ref: ticks229635
-Ref: pathmarkers243357
-Ref: marker243827
-Ref: markuniform244181
-Ref: errorbars246040
-Ref: automatic scaling251169
-Node: palette262879
-Ref: images262997
-Ref: image267293
-Ref: logimage267814
-Ref: penimage268920
-Ref: penfunctionimage269183
-Node: three269955
-Ref: PostScript3D300255
-Node: obj301993
-Node: graph3302242
-Ref: GaussianSurface307524
-Node: grid3308674
-Node: solids309502
-Node: tube310494
-Node: flowchart312766
-Node: contour317409
-Node: contour3323917
-Node: smoothcontour3324229
-Node: slopefield325948
-Node: ode327437
-Node: Options327694
-Ref: configuration file335375
-Ref: settings335375
-Ref: texengines336639
-Ref: convert336639
-Node: Interactive mode340082
-Ref: history342231
-Node: GUI343534
-Node: GUI installation344084
-Node: GUI usage345126
-Node: Command-Line Interface346189
-Node: Language server protocol347631
-Node: PostScript to Asymptote349056
-Node: Help349834
-Node: Debugger351508
-Node: Credits353264
-Node: Index354489
+Node: Git26741
+Node: Uninstall27248
+Node: Tutorial27594
+Node: Drawing in batch mode28441
+Node: Drawing in interactive mode29317
+Node: Figure size30349
+Node: Labels31944
+Node: Paths32772
+Ref: unitcircle33388
+Node: Drawing commands35329
+Node: draw37137
+Ref: arrows38319
+Node: fill43834
+Ref: gradient shading44880
+Node: clip49494
+Node: label50243
+Ref: Label50843
+Node: Bezier curves56700
+Node: Programming60600
+Ref: array iteration62353
+Node: Data types62520
+Ref: format73288
+Node: Paths and guides77734
+Ref: circle77988
+Ref: extension87688
+Node: Pens94498
+Ref: fillrule102189
+Ref: basealign103093
+Ref: transparency106775
+Ref: makepen110369
+Ref: overwrite111253
+Node: Transforms112467
+Node: Frames and pictures114406
+Ref: envelope115564
+Ref: size116657
+Ref: unitsize117644
+Ref: shipout118717
+Ref: filltype121068
+Ref: add124481
+Ref: add about125423
+Ref: tex128453
+Node: Files129348
+Ref: cd130405
+Ref: scroll135307
+Node: Variable initializers138225
+Node: Structures140942
+Node: Operators148519
+Node: Arithmetic & logical148833
+Node: Self & prefix operators151203
+Node: User-defined operators151997
+Node: Implicit scaling152910
+Node: Functions153473
+Ref: stack overflow156590
+Node: Default arguments156872
+Node: Named arguments157628
+Node: Rest arguments160198
+Node: Mathematical functions163319
+Node: Arrays167976
+Ref: sort175415
+Ref: tridiagonal178653
+Ref: solve179884
+Node: Slices184024
+Node: Casts187932
+Node: Import190202
+Node: Static195772
+Node: LaTeX usage198658
+Node: Base modules205174
+Node: plain207651
+Node: simplex208325
+Node: math208598
+Node: interpolate211265
+Node: geometry211544
+Node: trembling212224
+Node: stats212493
+Node: patterns212752
+Node: markers212987
+Node: map214845
+Node: tree215269
+Node: binarytree215449
+Node: drawtree216116
+Node: syzygy216317
+Node: feynman216591
+Node: roundedpath216865
+Node: animation217147
+Ref: animate217568
+Node: embed218680
+Node: slide219634
+Node: MetaPost219965
+Node: babel220681
+Node: labelpath220913
+Node: labelpath3221733
+Node: annotate222044
+Node: CAD222514
+Node: graph222824
+Ref: ticks229983
+Ref: pathmarkers243705
+Ref: marker244175
+Ref: markuniform244529
+Ref: errorbars246388
+Ref: automatic scaling251517
+Node: palette263227
+Ref: images263345
+Ref: image267641
+Ref: logimage268162
+Ref: penimage269268
+Ref: penfunctionimage269531
+Node: three270303
+Ref: PostScript3D300578
+Node: obj302316
+Node: graph3302565
+Ref: GaussianSurface308308
+Node: grid3309458
+Node: solids310286
+Node: tube311278
+Node: flowchart313550
+Node: contour318193
+Node: contour3324701
+Node: smoothcontour3325013
+Node: slopefield326732
+Node: ode328221
+Node: Options328478
+Ref: configuration file336212
+Ref: settings336212
+Ref: texengines337476
+Ref: convert337476
+Node: Interactive mode340921
+Ref: history343070
+Node: GUI344373
+Node: GUI installation344923
+Node: GUI usage345851
+Node: Command-Line Interface346914
+Node: Language server protocol348356
+Node: PostScript to Asymptote349781
+Node: Help350559
+Node: Debugger352233
+Node: Credits353989
+Node: Index355214

End Tag Table
diff --git a/graphics/asymptote/drawpath3.cc b/graphics/asymptote/drawpath3.cc
index 20543e2eda..d512c62a7c 100644
--- a/graphics/asymptote/drawpath3.cc
+++ b/graphics/asymptote/drawpath3.cc
@@ -50,10 +50,10 @@ bool drawPath3::write(abs3Doutfile *out)
setcolors(diffuse,emissive,specular,shininess,metallic,fresnel0,out);
if(straight)
- out->addCurve(g.point((Int) 0),g.point((Int) 1),Min,Max);
+ out->addCurve(g.point((Int) 0),g.point((Int) 1));
else
out->addCurve(g.point((Int) 0),g.postcontrol((Int) 0),
- g.precontrol((Int) 1),g.point((Int) 1),Min,Max);
+ g.precontrol((Int) 1),g.point((Int) 1));
#endif
return true;
}
@@ -231,7 +231,7 @@ bool drawPixel::write(abs3Doutfile *out)
RGBAColour Black(0.0,0.0,0.0,color.A);
setcolors(color,color,Black,1.0,0.0,0.04,out);
- out->addPixel(v,width,Min,Max);
+ out->addPixel(v,width);
#endif
return true;
}
diff --git a/graphics/asymptote/drawsurface.cc b/graphics/asymptote/drawsurface.cc
index ac87bdb586..104b545668 100644
--- a/graphics/asymptote/drawsurface.cc
+++ b/graphics/asymptote/drawsurface.cc
@@ -118,18 +118,18 @@ void drawBezierPatch::bounds(const double* t, bbox3& b)
double c0=cx[0];
double fuzz=Fuzz*run::norm(cx,16);
- x=bound(cx,min,b.empty ? c0 : min(c0,b.left),fuzz,maxdepth);
- X=bound(cx,max,b.empty ? c0 : max(c0,b.right),fuzz,maxdepth);
+ x=bound(cx,min,c0,fuzz,maxdepth);
+ X=bound(cx,max,c0,fuzz,maxdepth);
c0=cy[0];
fuzz=Fuzz*run::norm(cy,16);
- y=bound(cy,min,b.empty ? c0 : min(c0,b.bottom),fuzz,maxdepth);
- Y=bound(cy,max,b.empty ? c0 : max(c0,b.top),fuzz,maxdepth);
+ y=bound(cy,min,c0,fuzz,maxdepth);
+ Y=bound(cy,max,c0,fuzz,maxdepth);
c0=cz[0];
fuzz=Fuzz*run::norm(cz,16);
- z=bound(cz,min,b.empty ? c0 : min(c0,b.near),fuzz,maxdepth);
- Z=bound(cz,max,b.empty ? c0 : max(c0,b.far),fuzz,maxdepth);
+ z=bound(cz,min,c0,fuzz,maxdepth);
+ Z=bound(cz,max,c0,fuzz,maxdepth);
}
b.add(x,y,z);
@@ -232,7 +232,7 @@ bool drawBezierPatch::write(abs3Doutfile *out)
out->precision(digits);
if(straight) {
triple Controls[]={controls[0],controls[12],controls[15],controls[3]};
- out->addStraightPatch(Controls,Min,Max,colors);
+ out->addStraightPatch(Controls,colors);
} else {
double prerender=renderResolution();
if(prerender) {
@@ -247,7 +247,7 @@ bool drawBezierPatch::write(abs3Doutfile *out)
Min,Max);
dt.write(out);
} else
- out->addPatch(controls,Min,Max,colors);
+ out->addPatch(controls,colors);
}
out->precision(getSetting<Int>("digits"));
@@ -378,18 +378,18 @@ void drawBezierTriangle::bounds(const double* t, bbox3& b)
double c0=cx[0];
double fuzz=Fuzz*run::norm(cx,10);
- x=boundtri(cx,min,b.empty ? c0 : min(c0,b.left),fuzz,maxdepth);
- X=boundtri(cx,max,b.empty ? c0 : max(c0,b.right),fuzz,maxdepth);
+ x=boundtri(cx,min,c0,fuzz,maxdepth);
+ X=boundtri(cx,max,c0,fuzz,maxdepth);
c0=cy[0];
fuzz=Fuzz*run::norm(cy,10);
- y=boundtri(cy,min,b.empty ? c0 : min(c0,b.bottom),fuzz,maxdepth);
- Y=boundtri(cy,max,b.empty ? c0 : max(c0,b.top),fuzz,maxdepth);
+ y=boundtri(cy,min,c0,fuzz,maxdepth);
+ Y=boundtri(cy,max,c0,fuzz,maxdepth);
c0=cz[0];
fuzz=Fuzz*run::norm(cz,10);
- z=boundtri(cz,min,b.empty ? c0 : min(c0,b.near),fuzz,maxdepth);
- Z=boundtri(cz,max,b.empty ? c0 : max(c0,b.far),fuzz,maxdepth);
+ z=boundtri(cz,min,c0,fuzz,maxdepth);
+ Z=boundtri(cz,max,c0,fuzz,maxdepth);
}
b.add(x,y,z);
@@ -493,7 +493,7 @@ bool drawBezierTriangle::write(abs3Doutfile *out)
out->precision(digits);
if(straight) {
triple Controls[]={controls[0],controls[6],controls[9]};
- out->addStraightBezierTriangle(Controls,Min,Max,colors);
+ out->addStraightBezierTriangle(Controls,colors);
} else {
double prerender=renderResolution();
if(prerender) {
@@ -508,7 +508,7 @@ bool drawBezierTriangle::write(abs3Doutfile *out)
Min,Max);
dt.write(out);
} else
- out->addBezierTriangle(controls,Min,Max,colors);
+ out->addBezierTriangle(controls,colors);
}
out->precision(getSetting<Int>("digits"));
@@ -911,7 +911,7 @@ bool drawTube::write(abs3Doutfile *out)
b.add(T*triple(M.getx(),M.gety(),m.getz()));
b.add(T*M);
- out->addTube(g,width,b.Min(),b.Max(),core);
+ out->addTube(g,width,core);
#endif
return true;
@@ -995,7 +995,7 @@ bool drawTriangles::write(abs3Doutfile *out)
} else drawElement::centerIndex=0;
setcolors(diffuse,emissive,specular,shininess,metallic,fresnel0,out);
- out->addTriangles(nP,P,nN,N,nC,C,nI,PI,NI,CI,Min,Max);
+ out->addTriangles(nP,P,nN,N,nC,C,nI,PI,NI,CI);
#endif
return true;
}
diff --git a/graphics/asymptote/examples/AiryDisk.asy b/graphics/asymptote/examples/AiryDisk.asy
new file mode 100644
index 0000000000..855abfaa95
--- /dev/null
+++ b/graphics/asymptote/examples/AiryDisk.asy
@@ -0,0 +1,16 @@
+import graph3;
+import gsl;
+
+size(10cm,15cm,IgnoreAspect);
+currentprojection=orthographic(150,50,1);
+
+real f(pair z) {real r=abs(z); return r == 0 ? 1 : (2.0*J(1,r)/r)^2;}
+
+real R=15;
+surface s=surface(f,(-R,-R),(R,R),100,Spline);
+
+draw(s,green);
+
+xaxis3("$x$",Bounds,InTicks);
+yaxis3("$y$",Bounds,InTicks);
+zaxis3(rotate(90)*"$I(\sqrt{x^2+y^2})$",Bounds,InTicks("$%#.1f$"));
diff --git a/graphics/asymptote/exp.cc b/graphics/asymptote/exp.cc
index 48a5c000f2..e1ae008bf8 100644
--- a/graphics/asymptote/exp.cc
+++ b/graphics/asymptote/exp.cc
@@ -849,7 +849,9 @@ application *callExp::resolve(coenv &e, overloaded *o, signature *source,
em << "call of function \'" << s;
else
em << "call with signature \'";
- em << *source << "\' is ambiguous";
+ em << *source << "\' is ambiguous:\n\n";
+ for(app_list::iterator p=l.begin(); p != l.end(); ++p)
+ em << *(*p)->getType() << "\n";
}
return 0;
diff --git a/graphics/asymptote/fileio.h b/graphics/asymptote/fileio.h
index d601f176d8..6fcd379ec3 100644
--- a/graphics/asymptote/fileio.h
+++ b/graphics/asymptote/fileio.h
@@ -56,9 +56,8 @@ inline void openpipeout()
int fd=intcast(settings::getSetting<Int>("outpipe"));
if(!pipeout && fd >= 0) pipeout=fdopen(fd,"w");
if(!pipeout) {
- ostringstream buf;
- buf << "Cannot open outpipe " << fd;
- reportError(buf);
+ cerr << "Cannot open outpipe " << fd << endl;
+ exit(-1);
}
}
diff --git a/graphics/asymptote/glrender.cc b/graphics/asymptote/glrender.cc
index 9b60846784..18d72d5c4d 100644
--- a/graphics/asymptote/glrender.cc
+++ b/graphics/asymptote/glrender.cc
@@ -88,18 +88,21 @@ GLint zeroShader;
GLint compressShader;
GLint sum1Shader;
GLint sum2Shader;
+GLint sum2fastShader;
GLint sum3Shader;
+GLuint fragments;
+
GLuint offsetBuffer;
GLuint indexBuffer;
GLuint elementsBuffer;
GLuint countBuffer;
-GLuint localSumBuffer;
GLuint globalSumBuffer;
GLuint fragmentBuffer;
GLuint depthBuffer;
GLuint opaqueBuffer;
GLuint opaqueDepthBuffer;
+GLuint feedbackBuffer;
bool ssbo;
bool interlock;
@@ -167,11 +170,11 @@ GLint gs2;
GLint gs;
GLint g;
GLuint processors;
-GLuint localsize;
-GLuint lastlocalsize;
-GLint maxgroups;
+GLuint localSize;
+GLuint blockSize;
+GLuint groupSize;
+//GLint maxgroups;
GLuint maxSize;
-GLuint lastSize;
bool outlinemode=false;
bool ibl=false;
@@ -543,30 +546,38 @@ void initComputeShaders()
{
string sum1=locateFile("shaders/sum1.glsl");
string sum2=locateFile("shaders/sum2.glsl");
+ string sum2fast=locateFile("shaders/sum2fast.glsl");
string sum3=locateFile("shaders/sum3.glsl");
- if(sum1.empty() || sum2.empty() || sum3.empty())
+ if(sum1.empty() || sum2.empty() || sum2fast.empty() || sum3.empty())
noShaders();
std::vector<ShaderfileModePair> shaders(1);
std::vector<std::string> shaderParams;
shaders[0]=ShaderfileModePair(sum1.c_str(),GL_COMPUTE_SHADER);
- ostringstream s;
- s << "LOCAL_SIZE_X " << localsize << "u" << endl;
+ ostringstream s,s2;
+ s << "LOCALSIZE " << gl::localSize << "u" << endl;
shaderParams.push_back(s.str().c_str());
+ s2 << "BLOCKSIZE " << gl::blockSize << "u" << endl;
+ shaderParams.push_back(s2.str().c_str());
GLuint rc=compileAndLinkShader(shaders,shaderParams,true,false,true);
if(rc == 0) {
GPUindexing=false; // Compute shaders are unavailable.
if(settings::verbose > 2)
cout << "No compute shader support" << endl;
} else {
- glGetIntegeri_v(GL_MAX_COMPUTE_WORK_GROUP_COUNT,0,&maxgroups);
- maxgroups=min(1024,maxgroups/(GLint) (localsize*localsize));
+// glGetIntegeri_v(GL_MAX_COMPUTE_WORK_GROUP_COUNT,0,&maxgroups);
+// maxgroups=min(1024,maxgroups/(GLint) (localSize*localSize));
camp::sum1Shader=rc;
shaders[0]=ShaderfileModePair(sum2.c_str(),GL_COMPUTE_SHADER);
- camp::sum2Shader=compileAndLinkShader(shaders,shaderParams,true,false,true);
+ camp::sum2Shader=compileAndLinkShader(shaders,shaderParams,true,false,
+ true);
+
+ shaders[0]=ShaderfileModePair(sum2fast.c_str(),GL_COMPUTE_SHADER);
+ camp::sum2fastShader=compileAndLinkShader(shaders,shaderParams,true,false,
+ true);
shaders[0]=ShaderfileModePair(sum3.c_str(),GL_COMPUTE_SHADER);
camp::sum3Shader=compileAndLinkShader(shaders,shaderParams,true,false,
@@ -701,7 +712,7 @@ void initShaders()
shaderParams.pop_back();
shaderParams.push_back("GENERAL");
- if(Mode == 2)
+ if(Mode != 0)
shaderParams.push_back("WIREFRAME");
camp::generalShader[0]=compileAndLinkShader(shaders,shaderParams,ssbo,
interlock);
@@ -717,10 +728,10 @@ void initShaders()
if(ssbo) {
if(GPUindexing)
shaderParams.push_back("GPUINDEXING");
- shaders[0]=ShaderfileModePair(screen.c_str(),GL_VERTEX_SHADER);
+ shaders[0]=ShaderfileModePair(screen.c_str(),GL_VERTEX_SHADER);
shaders[1]=ShaderfileModePair(compress.c_str(),GL_FRAGMENT_SHADER);
camp::compressShader=compileAndLinkShader(shaders,shaderParams,ssbo);
- if(GPUindexing)
+ if(GPUindexing)
shaderParams.pop_back();
else {
shaders[1]=ShaderfileModePair(zero.c_str(),GL_FRAGMENT_SHADER);
@@ -736,6 +747,7 @@ void deleteComputeShaders()
{
glDeleteProgram(camp::sum1Shader);
glDeleteProgram(camp::sum2Shader);
+ glDeleteProgram(camp::sum2fastShader);
glDeleteProgram(camp::sum3Shader);
}
@@ -765,12 +777,11 @@ void deleteShaders()
glDeleteProgram(camp::pixelShader);
}
-void resizeBlendShader()
+void resizeBlendShader(uint maxsize)
{
- gl::maxSize=ceilpow2(gl::maxSize);
+ gl::maxSize=ceilpow2(maxsize);
gl::deleteBlendShader();
gl::initBlendShader();
- gl::lastSize=gl::maxSize;
}
void setBuffers()
@@ -788,10 +799,10 @@ void setBuffers()
#ifdef HAVE_SSBO
glGenBuffers(1, &camp::offsetBuffer);
if(GPUindexing) {
- glGenBuffers(1, &camp::localSumBuffer);
glGenBuffers(1, &camp::globalSumBuffer);
- } else
- glGenBuffers(1, &camp::countBuffer);
+ glGenBuffers(1, &camp::feedbackBuffer);
+ }
+ glGenBuffers(1, &camp::countBuffer);
if(GPUcompress) {
glGenBuffers(1, &camp::indexBuffer);
glGenBuffers(1, &camp::elementsBuffer);
@@ -2155,7 +2166,7 @@ void glrender(const string& prefix, const picture *pic, const string& format,
#if defined(HAVE_COMPUTE_SHADER) && !defined(HAVE_LIBOSMESA)
GPUindexing=getSetting<bool>("GPUindexing");
- GPUcompress=NVIDIA() || getSetting<bool>("GPUcompress");
+ GPUcompress=getSetting<bool>("GPUcompress");
#else
GPUindexing=false;
GPUcompress=false;
@@ -2164,8 +2175,11 @@ void glrender(const string& prefix, const picture *pic, const string& format,
GLint val;
glGetIntegerv(GL_MAX_UNIFORM_BLOCK_SIZE,&val);
- if(GPUindexing)
- lastlocalsize=localsize=getSetting<Int>("GPUlocalSize");
+ if(GPUindexing) {
+ gl::localSize=getSetting<Int>("GPUlocalSize");
+ gl::blockSize=getSetting<Int>("GPUblockSize");
+ gl::groupSize=gl::localSize*gl::blockSize;
+ }
Maxmaterials=val/sizeof(Material);
if(nmaterials > Maxmaterials) nmaterials=Maxmaterials;
@@ -2328,108 +2342,108 @@ void compressCount()
glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT);
}
-void initPartialSums()
+void partialSums(bool readSize=false)
{
- gl::gs=gl::localsize*gl::g;
- gl::gs2=gl::localsize*gl::gs;
- gl::processors=gl::localsize*gl::gs2;
- GLuint zero=0;
- glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::localSumBuffer);
- glBufferData(GL_SHADER_STORAGE_BUFFER,
- (gl::processors+gl::gs2+2)*sizeof(GLuint),NULL,
- GL_DYNAMIC_DRAW);
- glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R32UI,GL_RED_INTEGER,
- GL_UNSIGNED_INT,&zero);
- glBindBufferBase(GL_SHADER_STORAGE_BUFFER,2,camp::localSumBuffer);
-
- glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::globalSumBuffer);
- glBufferData(GL_SHADER_STORAGE_BUFFER,(gl::gs+1)*sizeof(GLuint),NULL,
- GL_DYNAMIC_DRAW);
- glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R32UI,GL_RED_INTEGER,
- GL_UNSIGNED_INT,&zero);
- glBindBufferBase(GL_SHADER_STORAGE_BUFFER,3,camp::globalSumBuffer);
-}
-
-GLuint partialSums(bool readSize=false)
-{
- GLuint fragments;
- // Compute local partial sums on the GPU
+ // Compute partial sums on the GPU
glUseProgram(sum1Shader);
- glUniform1ui(glGetUniformLocation(sum1Shader,"elements"),gl::elements);
-
- glDispatchCompute(gl::gs2,1,1);
-
- glMemoryBarrier(GL_BUFFER_UPDATE_BARRIER_BIT);
-
- glUseProgram(sum2Shader);
- GLuint offset2=gl::processors+1;
- glUniform1ui(glGetUniformLocation(sum2Shader,"offset2"),offset2);
- glDispatchCompute(gl::gs,1,1);
+ glDispatchCompute(gl::g,1,1);
- glMemoryBarrier(GL_BUFFER_UPDATE_BARRIER_BIT);
+ if(gl::elements <= gl::groupSize*gl::groupSize)
+ glUseProgram(sum2fastShader);
+ else {
+ glUseProgram(sum2Shader);
+ glUniform1ui(glGetUniformLocation(sum2Shader,"blockSize"),
+ gl::ceilquotient(gl::g,gl::localSize));
+ }
+ glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT);
+ glDispatchCompute(1,1,1);
glUseProgram(sum3Shader);
- glUniform1ui(glGetUniformLocation(sum3Shader,"offset2"),offset2);
- glUniform1ui(glGetUniformLocation(sum3Shader,"final"),offset2+gl::gs2);
+ glUniform1ui(glGetUniformLocation(sum3Shader,"final"),gl::elements-1);
+ glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT);
glDispatchCompute(gl::g,1,1);
+}
- glMemoryBarrier(GL_BUFFER_UPDATE_BARRIER_BIT);
- // Compute global partial sums, including number of fragments, on the CPU
- GLuint *sum=(GLuint *) glMapBuffer(GL_SHADER_STORAGE_BUFFER,GL_READ_WRITE);
+void resizeFragmentBuffer()
+{
+ if(GPUindexing) {
+ glMemoryBarrier(GL_BUFFER_UPDATE_BARRIER_BIT);
+
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::feedbackBuffer);
+ GLuint *feedback=(GLuint *) glMapBuffer(GL_SHADER_STORAGE_BUFFER,GL_READ_ONLY);
- if(readSize) {
- gl::maxSize=sum[0];
- sum[0]=0;
- if(gl::maxSize > gl::lastSize)
- gl::resizeBlendShader();
+ GLuint maxDepth=feedback[0];
+ if(maxDepth > gl::maxSize)
+ gl::resizeBlendShader(maxDepth);
+
+ fragments=feedback[1];
+ glUnmapBuffer(GL_SHADER_STORAGE_BUFFER);
}
- fragments=sum[1];
- for(GLint i=2; i < gl::gs; ++i)
- sum[i]=fragments += sum[i];
- fragments += sum[gl::gs];
+ if(fragments > maxFragments) {
+ // Initialize the alpha buffer
+ maxFragments=11*fragments/10;
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::fragmentBuffer);
+ glBufferData(GL_SHADER_STORAGE_BUFFER,maxFragments*sizeof(glm::vec4),
+ NULL,GL_DYNAMIC_DRAW);
+ glBindBufferBase(GL_SHADER_STORAGE_BUFFER,4,camp::fragmentBuffer);
+
- glUnmapBuffer(GL_SHADER_STORAGE_BUFFER);
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::depthBuffer);
+ glBufferData(GL_SHADER_STORAGE_BUFFER,maxFragments*sizeof(GLfloat),
+ NULL,GL_DYNAMIC_DRAW);
+ glBindBufferBase(GL_SHADER_STORAGE_BUFFER,5,camp::depthBuffer);
- return fragments;
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::feedbackBuffer);
+ }
}
void refreshBuffers()
{
GLuint zero=0;
- GLuint fragments;
- gl::pixels=gl::Width*gl::Height;
+ gl::pixels=(gl::Width+1)*(gl::Height+1);
if(initSSBO) {
gl::processors=1;
+ GLuint Pixels;
+ if(GPUindexing) {
+ GLuint G=gl::ceilquotient(gl::pixels,gl::groupSize);
+ Pixels=gl::groupSize*G;
+
+ GLuint globalSize=gl::localSize*gl::ceilquotient(G,gl::localSize);
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::globalSumBuffer);
+ glBufferData(GL_SHADER_STORAGE_BUFFER,globalSize*sizeof(GLuint),NULL,
+ GL_DYNAMIC_READ);
+ glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R32UI,GL_RED_INTEGER,
+ GL_UNSIGNED_INT,&zero);
+ glBindBufferBase(GL_SHADER_STORAGE_BUFFER,3,camp::globalSumBuffer);
+ } else Pixels=gl::pixels;
+
glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::offsetBuffer);
- glBufferData(GL_SHADER_STORAGE_BUFFER,
- (GPUindexing ? 2 : 1)*(gl::pixels+1)*sizeof(GLuint),
+ glBufferData(GL_SHADER_STORAGE_BUFFER,(Pixels+2)*sizeof(GLuint),
NULL,GL_DYNAMIC_DRAW);
glBindBufferBase(GL_SHADER_STORAGE_BUFFER,0,camp::offsetBuffer);
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::countBuffer);
+ glBufferData(GL_SHADER_STORAGE_BUFFER,(Pixels+2)*sizeof(GLuint),
+ NULL,GL_DYNAMIC_DRAW);
+ glBindBufferBase(GL_SHADER_STORAGE_BUFFER,2,camp::countBuffer);
+
if(GPUcompress) {
glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::indexBuffer);
glBufferData(GL_SHADER_STORAGE_BUFFER,gl::pixels*sizeof(GLuint),
NULL,GL_DYNAMIC_DRAW);
glBindBufferBase(GL_SHADER_STORAGE_BUFFER,1,camp::indexBuffer);
- glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R32UI,GL_RED_INTEGER,
- GL_UNSIGNED_INT,&zero);
GLuint one=1;
glBindBuffer(GL_ATOMIC_COUNTER_BUFFER,camp::elementsBuffer);
glBufferData(GL_ATOMIC_COUNTER_BUFFER,sizeof(GLuint),&one,
GL_DYNAMIC_DRAW);
glBindBufferBase(GL_ATOMIC_COUNTER_BUFFER,0,camp::elementsBuffer);
- }
-
- if(!GPUindexing) {
- glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::countBuffer);
- glBufferData(GL_SHADER_STORAGE_BUFFER,(gl::pixels+1)*sizeof(GLuint),
- NULL,GL_DYNAMIC_DRAW);
- glBindBufferBase(GL_SHADER_STORAGE_BUFFER,2,camp::countBuffer);
- }
+ } else
+ glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R8UI,GL_RED_INTEGER,
+ GL_UNSIGNED_BYTE,&zero); // Clear the count buffer
glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::opaqueBuffer);
glBufferData(GL_SHADER_STORAGE_BUFFER,gl::pixels*sizeof(glm::vec4),NULL,
@@ -2443,10 +2457,25 @@ void refreshBuffers()
glBindBufferBase(GL_SHADER_STORAGE_BUFFER,7,camp::opaqueDepthBuffer);
const GLfloat zerof=0.0;
glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R32F,GL_RED,GL_FLOAT,&zerof);
+
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::feedbackBuffer);
+ glBufferData(GL_SHADER_STORAGE_BUFFER,2*sizeof(GLuint),NULL,
+ GL_DYNAMIC_DRAW);
+ glBindBufferBase(GL_SHADER_STORAGE_BUFFER,8,camp::feedbackBuffer);
+
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::feedbackBuffer);
+ initSSBO=false;
}
// Determine the fragment offsets
+ if(gl::exporting && GPUindexing && !GPUcompress) {
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::countBuffer);
+ glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R8UI,GL_RED_INTEGER,
+ GL_UNSIGNED_BYTE,&zero);
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::feedbackBuffer);
+ }
+
if(!interlock) {
drawBuffer(material1Data,countShader);
drawBuffer(materialData,countShader);
@@ -2462,7 +2491,6 @@ void refreshBuffers()
if(GPUcompress) {
compressCount();
-
GLuint *p=(GLuint *) glMapBuffer(GL_ATOMIC_COUNTER_BUFFER,GL_READ_WRITE);
gl::elements=GPUindexing ? p[0] : p[0]-1;
p[0]=1;
@@ -2471,52 +2499,37 @@ void refreshBuffers()
} else
gl::elements=gl::pixels;
- if(initSSBO) {
- if(GPUindexing) {
- double Tmin=HUGE_VAL;
- GLuint G=1;
- GLuint twos3=2*gl::localsize*gl::localsize*gl::localsize;
-
- if(twos3 > gl::elements) {
- gl::localsize=1;
- twos3=2;
- } else gl::localsize=settings::getSetting<Int>("GPUlocalSize");
-
- if(gl::localsize != gl::lastlocalsize) {
- gl::deleteComputeShaders();
- gl::initComputeShaders();
- gl::lastlocalsize=gl::localsize;
- }
+ if(GPUindexing) {
+ gl::g=gl::ceilquotient(gl::elements,gl::groupSize);
+ gl::elements=gl::groupSize*gl::g;
- GLint stop=min(gl::maxgroups,(GLint) (gl::elements/twos3));
- for(gl::g=2; gl::g <= stop; gl::g *= 2) {
- initPartialSums();
- partialSums();
- seconds();
+ if(settings::verbose > 3) {
+ static bool first=true;
+ if(first) {
partialSums();
- double T=seconds();
- if(T < Tmin) {
- Tmin=T;
- G=gl::g;
- }
+ first=false;
}
- gl::g=G;
- initPartialSums();
+ unsigned int N=10000;
+ seconds();
+ for(unsigned int i=0; i < N; ++i)
+ partialSums();
+ glFinish();
+ double T=seconds()/N;
+ cout << "elements=" << gl::elements << endl;
+ cout << "Tmin (ms)=" << T*1e3 << endl;
+ cout << "Megapixels/second=" << gl::elements/T/1e6 << endl;
}
- initSSBO=false;
- }
- if(GPUindexing)
- fragments=partialSums(true);
- else {
+ partialSums(true);
+ } else {
size_t size=gl::elements*sizeof(GLuint);
// Compute partial sums on the CPU
glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::countBuffer);
GLuint *p=(GLuint *) glMapBufferRange(GL_SHADER_STORAGE_BUFFER,
- 0,size+sizeof(GLuint),
+ 0,size+sizeof(GLuint),
GL_MAP_READ_BIT);
- gl::maxSize=p[0];
+ GLuint maxsize=p[0];
GLuint *count=p+1;
glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::offsetBuffer);
@@ -2535,36 +2548,16 @@ void refreshBuffers()
glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::countBuffer);
glUnmapBuffer(GL_SHADER_STORAGE_BUFFER);
- if(gl::exporting && !GPUindexing) {
- GLuint zero=0;
+ if(gl::exporting) {
glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::countBuffer);
glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R32UI,GL_RED_INTEGER,
GL_UNSIGNED_INT,&zero);
} else
clearCount();
- if(gl::maxSize > gl::lastSize)
- gl::resizeBlendShader();
- }
-
- if(fragments > maxFragments) {
- // Initialize the alpha buffer
- maxFragments=11*fragments/10;
- glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::fragmentBuffer);
- glBufferData(GL_SHADER_STORAGE_BUFFER,maxFragments*sizeof(glm::vec4),
- NULL,GL_DYNAMIC_DRAW);
- glBindBufferBase(GL_SHADER_STORAGE_BUFFER,4,camp::fragmentBuffer);
-
-
- glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::depthBuffer);
- glBufferData(GL_SHADER_STORAGE_BUFFER,maxFragments*sizeof(GLfloat),
- NULL,GL_DYNAMIC_DRAW);
- glBindBufferBase(GL_SHADER_STORAGE_BUFFER,5,camp::depthBuffer);
-
- if(GPUindexing)
- glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::globalSumBuffer);
+ if(maxsize > gl::maxSize)
+ gl::resizeBlendShader(maxsize);
}
-
gl::lastshader=-1;
}
@@ -2577,18 +2570,6 @@ void setUniforms(vertexBuffer& data, GLint shader)
if(normal)
glUniform1ui(glGetUniformLocation(shader,"width"),gl::Width);
-
- if(camp::ssbo && GPUindexing &&
- (shader == transparentShader || !interlock)) {
- GLuint offset2=1+gl::processors;
- glUniform1ui(glGetUniformLocation(shader,"elements"),gl::elements);
- glUniform1ui(glGetUniformLocation(shader,"offset2"),offset2);
- GLuint m=gl::elements/gl::processors;
- GLuint r=gl::elements-m*gl::processors;
- glUniform1ui(glGetUniformLocation(shader,"m1"),m);
- glUniform1ui(glGetUniformLocation(shader,"m2"),gl::localsize);
- glUniform1ui(glGetUniformLocation(shader,"r"),r);
- }
}
glUniformMatrix4fv(glGetUniformLocation(shader,"projViewMat"),1,GL_FALSE,
@@ -2747,16 +2728,6 @@ void aBufferTransparency()
glUseProgram(blendShader);
gl::lastshader=blendShader;
glUniform1ui(glGetUniformLocation(blendShader,"width"),gl::Width);
- if(GPUindexing) {
- GLuint offset2=gl::processors+1;
- glUniform1ui(glGetUniformLocation(blendShader,"elements"),gl::elements);
- glUniform1ui(glGetUniformLocation(blendShader,"offset2"),offset2);
- GLuint m=gl::elements/gl::processors;
- GLuint r=gl::elements-m*gl::processors;
- glUniform1ui(glGetUniformLocation(blendShader,"m1"),m);
- glUniform1ui(glGetUniformLocation(blendShader,"m2"),gl::localsize);
- glUniform1ui(glGetUniformLocation(blendShader,"r"),r);
- }
glUniform4f(glGetUniformLocation(blendShader,"background"),
gl::Background[0],gl::Background[1],gl::Background[2],
gl::Background[3]);
@@ -2792,7 +2763,10 @@ void drawBuffers()
if(camp::ssbo) {
if(transparent) {
refreshBuffers();
- if(!interlock) gl::copied=true;
+ if(!interlock) {
+ resizeFragmentBuffer();
+ gl::copied=true;
+ }
}
}
@@ -2804,6 +2778,7 @@ void drawBuffers()
if(transparent) {
gl::copied=true;
+ if(interlock) resizeFragmentBuffer();
drawTransparent();
}
Opaque=0;
diff --git a/graphics/asymptote/interact.cc b/graphics/asymptote/interact.cc
index 6e21f15116..1009b1d477 100644
--- a/graphics/asymptote/interact.cc
+++ b/graphics/asymptote/interact.cc
@@ -123,6 +123,10 @@ void pre_readline()
int fd=intcast(settings::getSetting<Int>("inpipe"));
if(fd >= 0) {
if(!fin) fin=fdopen(fd,"r");
+ if(!fin) {
+ cerr << "Cannot open inpipe " << fd << endl;
+ exit(-1);
+ }
Readline=readpipeline;
} else {
#if defined(HAVE_READLINE) && defined(HAVE_LIBCURSES)
diff --git a/graphics/asymptote/jsfile.cc b/graphics/asymptote/jsfile.cc
index 19eb66428f..7dc95c9bb6 100644
--- a/graphics/asymptote/jsfile.cc
+++ b/graphics/asymptote/jsfile.cc
@@ -8,6 +8,8 @@ using namespace settings;
namespace camp {
+const string s="document.asy.";
+
#ifndef HAVE_LIBGLM
size_t materialIndex=0;
#endif
@@ -140,59 +142,59 @@ void jsfile::open(string name)
out << newl << "<script>" << newl;
out << newl
- << "canvasWidth=" << gl::fullWidth << ";" << newl
- << "canvasHeight=" << gl::fullHeight << ";" << newl << newl
- << "webgl2=" << std::boolalpha << webgl2 << ";"
+ << s << "canvasWidth=" << gl::fullWidth << ";" << newl
+ << s << "canvasHeight=" << gl::fullHeight << ";" << newl << newl
+ << s << "webgl2=" << std::boolalpha << webgl2 << ";"
<< newl
- << "ibl=" << std::boolalpha << ibl << ";"
+ << s << "ibl=" << std::boolalpha << ibl << ";"
<< newl
- << "absolute=" << std::boolalpha << getSetting<bool>("absolute") << ";"
+ << s << "absolute=" << std::boolalpha << getSetting<bool>("absolute") << ";"
<< newl;
if(ibl) {
- out << "imageURL=\"" << getSetting<string>("imageURL")+"/\";" << newl;
- out << "image=\"" << getSetting<string>("image") << "\";" << newl << newl;
+ out << s << "imageURL=\"" << getSetting<string>("imageURL")+"/\";" << newl;
+ out << s << "image=\"" << getSetting<string>("image") << "\";" << newl << newl;
}
out << newl
- << "minBound=[" << gl::Xmin << "," << gl::Ymin << "," << gl::Zmin << "];"
+ << s << "minBound=[" << gl::Xmin << "," << gl::Ymin << "," << gl::Zmin << "];"
<< newl
- << "maxBound=[" << gl::Xmax << "," << gl::Ymax << "," << gl::Zmax << "];"
+ << s << "maxBound=[" << gl::Xmax << "," << gl::Ymax << "," << gl::Zmax << "];"
<< newl
- << "orthographic=" << gl::orthographic << ";"
+ << s << "orthographic=" << gl::orthographic << ";"
<< newl
- << "angleOfView=" << gl::Angle << ";"
+ << s << "angleOfView=" << gl::Angle << ";"
<< newl
- << "initialZoom=" << gl::Zoom0 << ";" << newl;
+ << s << "initialZoom=" << gl::Zoom0 << ";" << newl;
if(gl::Shift != pair(0.0,0.0))
- out << "viewportShift=" << gl::Shift*gl::Zoom0 << ";" << newl;
- out << "viewportMargin=" << gl::Margin << ";" << newl << newl
- << "zoomFactor=" << getSetting<double>("zoomfactor") << ";" << newl
- << "zoomPinchFactor=" << getSetting<double>("zoomPinchFactor") << ";"
+ out << s << "viewportShift=" << gl::Shift*gl::Zoom0 << ";" << newl;
+ out << s << "viewportMargin=" << gl::Margin << ";" << newl << newl
+ << s << "zoomFactor=" << getSetting<double>("zoomfactor") << ";" << newl
+ << s << "zoomPinchFactor=" << getSetting<double>("zoomPinchFactor") << ";"
<< newl
- << "zoomPinchCap=" << getSetting<double>("zoomPinchCap") << ";" << newl
- << "zoomStep=" << getSetting<double>("zoomstep") << ";" << newl
- << "shiftHoldDistance=" << getSetting<double>("shiftHoldDistance") << ";"
+ << s << "zoomPinchCap=" << getSetting<double>("zoomPinchCap") << ";" << newl
+ << s << "zoomStep=" << getSetting<double>("zoomstep") << ";" << newl
+ << s << "shiftHoldDistance=" << getSetting<double>("shiftHoldDistance") << ";"
<< newl
- << "shiftWaitTime=" << getSetting<double>("shiftWaitTime") << ";"
+ << s << "shiftWaitTime=" << getSetting<double>("shiftWaitTime") << ";"
<< newl
- << "vibrateTime=" << getSetting<double>("vibrateTime") << ";"
- << newl << newl
- << "Lights=[";
- for(size_t i=0; i < gl::nlights; ++i) {
- size_t i4=4*i;
- out << "new Light(" << newl
- << gl::Lights[i] << "," << newl
- << "[" << gl::Diffuse[i4] << "," << gl::Diffuse[i4+1] << ","
- << gl::Diffuse[i4+2] << "])," << newl;
- }
- out << "];" << newl << newl;
- out << "Background=[" << gl::Background[0] << "," << gl::Background[1] << ","
+ << s << "vibrateTime=" << getSetting<double>("vibrateTime") << ";"
+ << newl << newl;
+ out << s << "background=[" << gl::Background[0] << "," << gl::Background[1] << ","
<< gl::Background[2] << "," << gl::Background[3] << "];"
<< newl << newl;
- out << "Transform=[" << gl::T[0];
+ out << s << "Transform=[" << gl::T[0];
for(int i=1; i < 16; ++i)
out << "," << newl << gl::T[i];
out << "];" << newl << newl;
+ for(size_t i=0; i < gl::nlights; ++i) {
+ size_t i4=4*i;
+ out << "light(" << newl
+ << gl::Lights[i] << "," << newl
+ << "[" << gl::Diffuse[i4] << "," << gl::Diffuse[i4+1] << ","
+ << gl::Diffuse[i4+2] << "]);" << newl;
+ }
+ out << newl;
+
camp::clearCenters();
camp::clearMaterials();
#endif
@@ -204,7 +206,7 @@ void jsfile::finish(string name)
finished=true;
size_t ncenters=drawElement::centers.size();
if(ncenters > 0) {
- out << "Centers=[";
+ out << s << "Centers=[";
for(size_t i=0; i < ncenters; ++i)
out << newl << drawElement::centers[i] << ",";
out << newl << "];" << newl;
@@ -222,8 +224,7 @@ void jsfile::finish(string name)
void jsfile::addColor(const prc::RGBAColour& c)
{
- out << "[" << byte(c.R) << "," << byte(c.G) << "," << byte(c.B)
- << "," << byte(c.A) << "]";
+ out << "[" << c.R << "," << c.G << "," << c.B << "," << c.A << "]";
}
void jsfile::addIndices(const uint32_t *I)
@@ -232,7 +233,6 @@ void jsfile::addIndices(const uint32_t *I)
}
void jsfile::addRawPatch(triple const* controls, size_t n,
- const triple& Min, const triple& Max,
const prc::RGBAColour *c, size_t nc)
{
out << "patch([" << newl;
@@ -240,8 +240,7 @@ void jsfile::addRawPatch(triple const* controls, size_t n,
for(size_t i=0; i < last; ++i)
out << controls[i] << "," << newl;
out << controls[last] << newl << "],"
- << drawElement::centerIndex << "," << materialIndex << ","
- << newl << Min << "," << newl << Max;
+ << drawElement::centerIndex << "," << materialIndex;
if(c) {
out << ",[" << newl;
for(size_t i=0; i < nc; ++i) {
@@ -254,35 +253,31 @@ void jsfile::addRawPatch(triple const* controls, size_t n,
}
void jsfile::addCurve(const triple& z0, const triple& c0,
- const triple& c1, const triple& z1,
- const triple& Min, const triple& Max)
+ const triple& c1, const triple& z1)
{
out << "curve([" << newl;
out << z0 << "," << newl
<< c0 << "," << newl
<< c1 << "," << newl
<< z1 << newl << "],"
- << drawElement::centerIndex << "," << materialIndex << ","
- << newl << Min << "," << newl << Max << ");" << newl << newl;
+ << drawElement::centerIndex << "," << materialIndex
+ << ");" << newl << newl;
}
-void jsfile::addCurve(const triple& z0, const triple& z1,
- const triple& Min, const triple& Max)
+void jsfile::addCurve(const triple& z0, const triple& z1)
{
out << "curve([" << newl;
out << z0 << "," << newl
<< z1 << newl << "],"
- << drawElement::centerIndex << "," << materialIndex << ","
- << newl << Min << "," << newl << Max << ");" << newl << newl;
+ << drawElement::centerIndex << "," << materialIndex
+ << ");" << newl << newl;
}
-void jsfile::addPixel(const triple& z0, double width,
- const triple& Min, const triple& Max)
+void jsfile::addPixel(const triple& z0, double width)
{
out << "pixel(" << newl;
- out << z0 << "," << width << "," << newl
- << materialIndex << "," << newl << Min << "," << newl << Max << ");"
- << newl << newl;
+ out << z0 << "," << width << "," << newl << materialIndex
+ << ");" << newl << newl;
}
#ifdef HAVE_LIBGLM
@@ -297,8 +292,7 @@ void jsfile::addMaterial(Material const& material)
void jsfile::addTriangles(size_t nP, const triple* P, size_t nN,
const triple* N, size_t nC, const prc::RGBAColour* C,
size_t nI, const uint32_t (*PI)[3],
- const uint32_t (*NI)[3], const uint32_t (*CI)[3],
- const triple& Min, const triple& Max)
+ const uint32_t (*NI)[3], const uint32_t (*CI)[3])
{
for(size_t i=0; i < nP; ++i)
out << "Positions.push(" << P[i] << ");" << newl;
@@ -330,8 +324,8 @@ void jsfile::addTriangles(size_t nP, const triple* P, size_t nN,
out << "]);" << newl;
}
out << "triangles("
- << drawElement::centerIndex << "," << materialIndex << "," << newl
- << newl << Min << "," << newl << Max << ");" << newl << newl;
+ << drawElement::centerIndex << "," << materialIndex
+ << ");" << newl << newl;
}
void jsfile::addSphere(const triple& center, double radius)
@@ -371,9 +365,7 @@ void jsfile::addDisk(const triple& center, double radius,
<< ");" << newl << newl;
}
-void jsfile::addTube(const triple *g, double width,
- const triple& Min, const triple& Max, bool core)
-
+void jsfile::addTube(const triple *g, double width, bool core)
{
out << "tube(["
<< g[0] << "," << newl
@@ -381,37 +373,31 @@ void jsfile::addTube(const triple *g, double width,
<< g[2] << "," << newl
<< g[3] << newl << "],"
<< width << ","
- << drawElement::centerIndex << "," << materialIndex << ","
- << newl << Min << "," << newl << Max << "," << core <<");"
- << newl << newl;
+ << drawElement::centerIndex << "," << materialIndex << "," << core
+ << ");" << newl << newl;
}
-void jsfile::addPatch(triple const* controls,
- triple const& Min, triple const& Max,
- prc::RGBAColour const* c)
+void jsfile::addPatch(triple const* controls, prc::RGBAColour const* c)
{
- addRawPatch(controls,16,Min,Max,c,4);
+ addRawPatch(controls,16,c,4);
}
void jsfile::addStraightPatch(triple const* controls,
- triple const& Min, triple const& Max,
prc::RGBAColour const* c)
{
- addRawPatch(controls,4,Min,Max,c,4);
+ addRawPatch(controls,4,c,4);
}
void jsfile::addBezierTriangle(triple const* controls,
- triple const& Min, triple const& Max,
prc::RGBAColour const* c)
{
- addRawPatch(controls,10,Min,Max,c,3);
+ addRawPatch(controls,10,c,3);
}
void jsfile::addStraightBezierTriangle(triple const* controls,
- triple const& Min, triple const& Max,
prc::RGBAColour const* c)
{
- addRawPatch(controls,3,Min,Max,c,3);
+ addRawPatch(controls,3,c,3);
}
}
diff --git a/graphics/asymptote/jsfile.h b/graphics/asymptote/jsfile.h
index 9b4ca44dc1..385f2b0967 100644
--- a/graphics/asymptote/jsfile.h
+++ b/graphics/asymptote/jsfile.h
@@ -21,28 +21,23 @@ public:
void close() override;
void addCurve(const triple& z0, const triple& c0,
- const triple& c1, const triple& z1,
- const triple& Min, const triple& Max) override;
+ const triple& c1, const triple& z1) override;
- void addCurve(const triple& z0, const triple& z1,
- const triple& Min, const triple& Max) override;
+ void addCurve(const triple& z0, const triple& z1) override;
- void addPixel(const triple& z0, double width,
- const triple& Min, const triple& Max) override;
+ void addPixel(const triple& z0, double width) override;
void addTriangles(size_t nP, const triple* P, size_t nN, const triple* N,
size_t nC, const prc::RGBAColour* C, size_t nI,
const uint32_t (*PI)[3], const uint32_t (*NI)[3],
- const uint32_t (*CI)[3],
- const triple& Min, const triple& Max) override;
+ const uint32_t (*CI)[3]) override;
void addCylinder(const triple& center, double radius, double height,
const double& polar, const double& azimuth,
bool core) override;
void addDisk(const triple& center, double radius,
const double& polar, const double& azimuth) override;
- void addTube(const triple *g, double width,
- const triple& Min, const triple& Max, bool core) override;
+ void addTube(const triple *g, double width, bool core) override;
#ifdef HAVE_LIBGLM
void addMaterial(Material const& mat) override;
@@ -52,18 +47,17 @@ public:
void addHemisphere(triple const& center, double radius, double const& polar, double const& azimuth) override;
- void addPatch(triple const* controls, triple const& Min, triple const& Max, prc::RGBAColour const* c) override;
+ void addPatch(triple const* controls, prc::RGBAColour const* c) override;
- void
- addStraightPatch(triple const* controls, triple const& Min, triple const& Max, prc::RGBAColour const* c) override;
+ void addStraightPatch(triple const* controls,
+ prc::RGBAColour const* c) override;
- void
- addBezierTriangle(triple const* control, triple const& Min, triple const& Max, prc::RGBAColour const* c) override;
+ void addBezierTriangle(triple const* controls,
+ prc::RGBAColour const* c) override;
- void addStraightBezierTriangle(triple const* controls, triple const& Min, triple const& Max,
+ void addStraightBezierTriangle(triple const* controls,
prc::RGBAColour const* c) override;
-
void svgtohtml(string name);
void precision(int digits) override {out.precision(digits);}
@@ -82,8 +76,8 @@ protected:
void addColor(const prc::RGBAColour& c);
void addIndices(const uint32_t *I);
- void addRawPatch(const triple* controls, size_t n, const triple& Min,
- const triple& Max, const prc::RGBAColour *colors, size_t nc);
+ void addRawPatch(const triple* controls, size_t n,
+ const prc::RGBAColour *colors, size_t nc);
void addSphere(const triple& center, double radius, bool half=false,
const double& polar=0.0, const double& azimuth=0.0);
diff --git a/graphics/asymptote/lspserv.cc b/graphics/asymptote/lspserv.cc
index 90dcc6961d..42f135b35f 100644
--- a/graphics/asymptote/lspserv.cc
+++ b/graphics/asymptote/lspserv.cc
@@ -22,10 +22,6 @@
#include "process.h"
#include "locate.h"
-#define GC_THREADS
-
-#include "gc.h"
-
#define REGISTER_REQ_FN(typ, fn) remoteEndPoint->registerHandler(\
[this](typ::request const& req) { return this->fn(req); });
#define REGISTER_NOTIF_FN(typ, handler) remoteEndPoint->registerHandler(\
diff --git a/graphics/asymptote/main.cc b/graphics/asymptote/main.cc
index 4361e3dce4..6c69f669b9 100644
--- a/graphics/asymptote/main.cc
+++ b/graphics/asymptote/main.cc
@@ -193,9 +193,10 @@ void *asymain(void *A)
} else {
for(int ind=0; ind < n; ind++) {
string name=(getArg(ind));
- if(name == stripExt(name)+".v3d") {
+ string prefix=stripExt(name);
+ if(name == prefix+".v3d") {
interact::uptodate=false;
- runString("import v3d; defaultfilename=\""+stripDir(name)+
+ runString("import v3d; defaultfilename=\""+stripDir(prefix)+
"\"; importv3d(\""+name+"\");");
} else
processFile(name,n > 1);
diff --git a/graphics/asymptote/memory.h b/graphics/asymptote/memory.h
index 8e878ef712..180260bc9d 100644
--- a/graphics/asymptote/memory.h
+++ b/graphics/asymptote/memory.h
@@ -50,6 +50,7 @@
#define GC_THREADS
#ifdef __clang__
#define GC_ATTR_EXPLICIT
+#define GC_NOEXCEPT
#endif
#include <gc.h>
diff --git a/graphics/asymptote/picture.cc b/graphics/asymptote/picture.cc
index 6dacbec2b4..6a28ad712a 100644
--- a/graphics/asymptote/picture.cc
+++ b/graphics/asymptote/picture.cc
@@ -359,7 +359,6 @@ void texinit()
bool context=settings::context(getSetting<string>("tex"));
string dir=stripFile(outname());
- dir=dir.substr(0,dir.length()-1);
string logname;
if(!context) logname=dir;
logname += "texput.log";
@@ -371,6 +370,7 @@ void texinit()
writeable.close();
unlink(cname);
+ dir=dir.substr(0,dir.length()-1);
mem::vector<string> cmd;
cmd.push_back(texprogram());
string oldPath;
@@ -464,7 +464,7 @@ string dvisvgmCommand(mem::vector<string>& cmd, const string& outname)
string libgs=getSetting<string>("libgs");
if(!libgs.empty())
cmd.push_back("--libgs="+libgs);
-// cmd.push_back("--optimize"); // Requires dvisvgm > 2.9.1
+ cmd.push_back("--optimize");
push_split(cmd,getSetting<string>("dvisvgmOptions"));
string outfile=stripDir(outname);
if(!outfile.empty())
@@ -685,7 +685,7 @@ int picture::pdftoeps(const string& pdfname, const string& epsname, bool eps)
mem::vector<string> cmd;
cmd.push_back(getSetting<string>("gs"));
cmd.push_back("-q");
- cmd.push_back("-dNOCACHE");
+ cmd.push_back("-dNoOutputFonts");
cmd.push_back("-dNOPAUSE");
cmd.push_back("-dBATCH");
cmd.push_back("-P");
diff --git a/graphics/asymptote/psfile.cc b/graphics/asymptote/psfile.cc
index 6d882f4bed..924f3c1872 100644
--- a/graphics/asymptote/psfile.cc
+++ b/graphics/asymptote/psfile.cc
@@ -183,22 +183,37 @@ void psfile::epilogue()
void psfile::setcolor(const pen& p, const string& begin="",
const string& end="")
{
+ ostringstream buf;
if(p.cmyk() && (!lastpen.cmyk() ||
(p.cyan() != lastpen.cyan() ||
p.magenta() != lastpen.magenta() ||
p.yellow() != lastpen.yellow() ||
p.black() != lastpen.black()))) {
- *out << begin << p.cyan() << " " << p.magenta() << " " << p.yellow() << " "
- << p.black() << (pdf ? " k" : " setcmykcolor") << end << newl;
+ buf << begin << p.cyan() << " " << p.magenta() << " " << p.yellow() << " "
+ << p.black();
+ if(pdf) {
+ *out << buf.str() << " k" << end << newl;
+ *out << buf.str() << " K" << end << newl;
+ } else
+ *out << buf.str() << " setcmykcolor" << end << newl;
} else if(p.rgb() && (!lastpen.rgb() ||
(p.red() != lastpen.red() ||
p.green() != lastpen.green() ||
p.blue() != lastpen.blue()))) {
- *out << begin << p.red() << " " << p.green() << " " << p.blue()
- << (pdf ? " rg" : " setrgbcolor") << end << newl;
+ buf << begin << p.red() << " " << p.green() << " " << p.blue();
+ if(pdf) {
+ *out << buf.str() << " rg" << end << newl;
+ *out << buf.str() << " RG" << end << newl;
+ } else
+ *out << buf.str() << " setrgbcolor" << end << newl;
} else if(p.grayscale() && (!lastpen.grayscale() ||
p.gray() != lastpen.gray())) {
- *out << begin << p.gray() << (pdf ? " g" : " setgray") << end << newl;
+ buf << begin << p.gray();
+ if(pdf) {
+ *out << begin << p.gray() << " g" << end << newl;
+ *out << begin << p.gray() << " G" << end << newl;
+ } else
+ *out << begin << p.gray() << " setgray" << end << newl;
}
}
diff --git a/graphics/asymptote/revision.cc b/graphics/asymptote/revision.cc
index 88e864b455..bd8b881056 100644
--- a/graphics/asymptote/revision.cc
+++ b/graphics/asymptote/revision.cc
@@ -1,2 +1,2 @@
-const char *REVISION="2.80";
-const char *AsyGLVersion="1.01";
+const char *REVISION="2.82";
+const char *AsyGLVersion="1.02";
diff --git a/graphics/asymptote/runarray.cc b/graphics/asymptote/runarray.cc
index bfa4ff4285..3e7a6f7093 100644
--- a/graphics/asymptote/runarray.cc
+++ b/graphics/asymptote/runarray.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
@@ -61,7 +61,7 @@ function *realRealFunction();
#define CURRENTPEN processData().currentpen
-#line 22 "runarray.in"
+#line 23 "runarray.in"
#include "array.h"
#include "arrayop.h"
#include "triple.h"
@@ -77,6 +77,19 @@ static const char *installFFTW=
"Please install fftw3, then ./configure; make";
#endif
+#ifdef HAVE_EIGEN_DENSE
+#include <Eigen/Dense>
+typedef std::complex<double> Complex;
+static const char *square="matrix must be square";
+using Eigen::MatrixXd;
+using Eigen::MatrixXcd;
+using Eigen::RealSchur;
+using Eigen::ComplexSchur;
+#else
+static const char *installEIGEN=
+ "Please install eigen3, then ./configure; make";
+#endif
+
using namespace camp;
using namespace vm;
@@ -89,6 +102,7 @@ typedef array Intarray;
typedef array Intarray2;
typedef array realarray;
typedef array realarray2;
+typedef array realarray3;
typedef array pairarray;
typedef array pairarray2;
typedef array pairarray3;
@@ -99,6 +113,7 @@ using types::IntArray;
using types::IntArray2;
using types::realArray;
using types::realArray2;
+using types::realArray3;
using types::pairArray;
using types::pairArray2;
using types::pairArray3;
@@ -640,10 +655,10 @@ void integeroverflow(size_t i)
#endif
namespace run {
// Create an empty array.
-#line 594 "runarray.in"
+#line 610 "runarray.in"
void emptyArray(stack *Stack)
{
-#line 595 "runarray.in"
+#line 611 "runarray.in"
{Stack->push<array*>(new array(0)); return;}
}
@@ -652,11 +667,11 @@ void emptyArray(stack *Stack)
// is popped off the stack, followed by each dimension in reverse order.
// The array itself is technically a one dimensional array of one
// dimension arrays and so on.
-#line 604 "runarray.in"
+#line 620 "runarray.in"
void newDeepArray(stack *Stack)
{
Int depth=vm::pop<Int>(Stack);
-#line 605 "runarray.in"
+#line 621 "runarray.in"
assert(depth > 0);
Int *dims = new Int[depth];
@@ -675,11 +690,11 @@ void newDeepArray(stack *Stack)
// Creates an array with elements already specified. First, the number
// of elements is popped off the stack, followed by each element in
// reverse order.
-#line 624 "runarray.in"
+#line 640 "runarray.in"
void newInitializedArray(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
-#line 625 "runarray.in"
+#line 641 "runarray.in"
assert(n >= 0);
array *a = new array(n);
@@ -692,12 +707,12 @@ void newInitializedArray(stack *Stack)
// Similar to newInitializedArray, but after the n elements, append another
// array to it.
-#line 638 "runarray.in"
+#line 654 "runarray.in"
void newAppendedArray(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
array* tail=vm::pop<array*>(Stack);
-#line 639 "runarray.in"
+#line 655 "runarray.in"
assert(n >= 0);
array *a = new array(n);
@@ -714,14 +729,14 @@ void newAppendedArray(stack *Stack)
// typeDepth is the true depth of the array determined at compile-time when the
// operations for the array type are added. This typeDepth argument is
// automatically pushed on the stack and is not visible to the user.
-#line 656 "runarray.in"
+#line 672 "runarray.in"
void copyArrayValue(stack *Stack)
{
Int typeDepth=vm::pop<Int>(Stack);
Int depth=vm::pop<Int>(Stack,Int_MAX);
item value=vm::pop(Stack);
Int n=vm::pop<Int>(Stack);
-#line 657 "runarray.in"
+#line 673 "runarray.in"
if(n < 0) error("cannot create a negative length array");
if(depth < 0) error("cannot copy to a negative depth");
if(depth > typeDepth) depth=typeDepth;
@@ -732,13 +747,13 @@ void copyArrayValue(stack *Stack)
// typeDepth is the true depth of the array determined at compile-time when the
// operations for the array type are added. This typeDepth argument is
// automatically pushed on the stack and is not visible to the user.
-#line 668 "runarray.in"
+#line 684 "runarray.in"
void copyArray(stack *Stack)
{
Int typeDepth=vm::pop<Int>(Stack);
Int depth=vm::pop<Int>(Stack,Int_MAX);
array * a=vm::pop<array *>(Stack);
-#line 669 "runarray.in"
+#line 685 "runarray.in"
if(a == 0) vm::error(dereferenceNullArray);
if(depth < 0) error("cannot copy to a negative depth");
if(depth > typeDepth) depth=typeDepth;
@@ -746,12 +761,12 @@ void copyArray(stack *Stack)
}
// Read an element from an array. Checks for initialization & bounds.
-#line 677 "runarray.in"
+#line 693 "runarray.in"
void arrayRead(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 678 "runarray.in"
+#line 694 "runarray.in"
item& i=arrayRead(a,n);
if (i.empty()) {
ostringstream buf;
@@ -762,37 +777,37 @@ void arrayRead(stack *Stack)
}
// Slice a substring from an array.
-#line 689 "runarray.in"
+#line 705 "runarray.in"
void arraySliceRead(stack *Stack)
{
Int right=vm::pop<Int>(Stack);
Int left=vm::pop<Int>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 690 "runarray.in"
+#line 706 "runarray.in"
checkArray(a);
{Stack->push(a->slice(left, right)); return;}
}
// Slice a substring from an array. This implements the cases a[i:] and a[:]
// where the endpoint is not given, and assumed to be the length of the array.
-#line 697 "runarray.in"
+#line 713 "runarray.in"
void arraySliceReadToEnd(stack *Stack)
{
Int left=vm::pop<Int>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 698 "runarray.in"
+#line 714 "runarray.in"
size_t len=checkArray(a);
{Stack->push(a->slice(left, (Int)len)); return;}
}
// Read an element from an array of arrays. Check bounds and initialize
// as necessary.
-#line 705 "runarray.in"
+#line 721 "runarray.in"
void arrayArrayRead(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 706 "runarray.in"
+#line 722 "runarray.in"
item& i=arrayRead(a,n);
if (i.empty()) i=new array(0);
{Stack->push(i); return;}
@@ -800,13 +815,13 @@ void arrayArrayRead(stack *Stack)
// Write an element to an array. Increase size if necessary.
// TODO: Add arrayWriteAndPop
-#line 714 "runarray.in"
+#line 730 "runarray.in"
void arrayWrite(stack *Stack)
{
item value=vm::pop(Stack);
Int n=vm::pop<Int>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 715 "runarray.in"
+#line 731 "runarray.in"
size_t len=checkArray(a);
bool cyclic=a->cyclic();
if(cyclic && len > 0) n=imod(n,len);
@@ -820,27 +835,27 @@ void arrayWrite(stack *Stack)
{Stack->push(value); return;}
}
-#line 729 "runarray.in"
+#line 745 "runarray.in"
void arraySliceWrite(stack *Stack)
{
array * src=vm::pop<array *>(Stack);
Int right=vm::pop<Int>(Stack);
Int left=vm::pop<Int>(Stack);
array * dest=vm::pop<array *>(Stack);
-#line 730 "runarray.in"
+#line 746 "runarray.in"
checkArray(src);
checkArray(dest);
dest->setSlice(left, right, src);
{Stack->push<array*>(src); return;}
}
-#line 737 "runarray.in"
+#line 753 "runarray.in"
void arraySliceWriteToEnd(stack *Stack)
{
array * src=vm::pop<array *>(Stack);
Int left=vm::pop<Int>(Stack);
array * dest=vm::pop<array *>(Stack);
-#line 738 "runarray.in"
+#line 754 "runarray.in"
checkArray(src);
size_t len=checkArray(dest);
dest->setSlice(left, (Int) len, src);
@@ -848,20 +863,20 @@ void arraySliceWriteToEnd(stack *Stack)
}
// Returns the length of an array.
-#line 746 "runarray.in"
+#line 762 "runarray.in"
void arrayLength(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 747 "runarray.in"
+#line 763 "runarray.in"
{Stack->push<Int>((Int) checkArray(a)); return;}
}
// Returns an array of integers representing the keys of the array.
-#line 752 "runarray.in"
+#line 768 "runarray.in"
void arrayKeys(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 753 "runarray.in"
+#line 769 "runarray.in"
size_t size=checkArray(a);
array *keys=new array();
@@ -875,33 +890,33 @@ void arrayKeys(stack *Stack)
}
// Return the cyclic flag for an array.
-#line 767 "runarray.in"
+#line 783 "runarray.in"
void arrayCyclicFlag(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 768 "runarray.in"
+#line 784 "runarray.in"
checkArray(a);
{Stack->push<bool>(a->cyclic()); return;}
}
-#line 773 "runarray.in"
+#line 789 "runarray.in"
void arraySetCyclicFlag(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
bool b=vm::pop<bool>(Stack);
-#line 774 "runarray.in"
+#line 790 "runarray.in"
checkArray(a);
a->cyclic(b);
{Stack->push<bool>(b); return;}
}
// Check to see if an array element is initialized.
-#line 781 "runarray.in"
+#line 797 "runarray.in"
void arrayInitializedHelper(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
Int n=vm::pop<Int>(Stack);
-#line 782 "runarray.in"
+#line 798 "runarray.in"
size_t len=checkArray(a);
bool cyclic=a->cyclic();
if(cyclic && len > 0) n=imod(n,len);
@@ -911,62 +926,62 @@ void arrayInitializedHelper(stack *Stack)
}
// Returns the initialize method for an array.
-#line 792 "runarray.in"
+#line 808 "runarray.in"
void arrayInitialized(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 793 "runarray.in"
+#line 809 "runarray.in"
{Stack->push<callable*>(new thunk(new bfunc(arrayInitializedHelper),a)); return;}
}
// The helper function for the cyclic method that sets the cyclic flag.
-#line 798 "runarray.in"
+#line 814 "runarray.in"
void arrayCyclicHelper(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
bool b=vm::pop<bool>(Stack);
-#line 799 "runarray.in"
+#line 815 "runarray.in"
checkArray(a);
a->cyclic(b);
}
// Set the cyclic flag for an array.
-#line 805 "runarray.in"
+#line 821 "runarray.in"
void arrayCyclic(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 806 "runarray.in"
+#line 822 "runarray.in"
{Stack->push<callable*>(new thunk(new bfunc(arrayCyclicHelper),a)); return;}
}
// The helper function for the push method that does the actual operation.
-#line 811 "runarray.in"
+#line 827 "runarray.in"
void arrayPushHelper(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
item x=vm::pop(Stack);
-#line 812 "runarray.in"
+#line 828 "runarray.in"
checkArray(a);
a->push(x);
{Stack->push(x); return;}
}
// Returns the push method for an array.
-#line 819 "runarray.in"
+#line 835 "runarray.in"
void arrayPush(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 820 "runarray.in"
+#line 836 "runarray.in"
{Stack->push<callable*>(new thunk(new bfunc(arrayPushHelper),a)); return;}
}
// The helper function for the append method that appends b to a.
-#line 825 "runarray.in"
+#line 841 "runarray.in"
void arrayAppendHelper(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
array * b=vm::pop<array *>(Stack);
-#line 826 "runarray.in"
+#line 842 "runarray.in"
checkArray(a);
size_t size=checkArray(b);
for(size_t i=0; i < size; i++)
@@ -974,20 +989,20 @@ void arrayAppendHelper(stack *Stack)
}
// Returns the append method for an array.
-#line 834 "runarray.in"
+#line 850 "runarray.in"
void arrayAppend(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 835 "runarray.in"
+#line 851 "runarray.in"
{Stack->push<callable*>(new thunk(new bfunc(arrayAppendHelper),a)); return;}
}
// The helper function for the pop method.
-#line 840 "runarray.in"
+#line 856 "runarray.in"
void arrayPopHelper(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 841 "runarray.in"
+#line 857 "runarray.in"
size_t asize=checkArray(a);
if(asize == 0)
error("cannot pop element from empty array");
@@ -995,22 +1010,22 @@ void arrayPopHelper(stack *Stack)
}
// Returns the pop method for an array.
-#line 849 "runarray.in"
+#line 865 "runarray.in"
void arrayPop(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 850 "runarray.in"
+#line 866 "runarray.in"
{Stack->push<callable*>(new thunk(new bfunc(arrayPopHelper),a)); return;}
}
// The helper function for the insert method.
-#line 855 "runarray.in"
+#line 871 "runarray.in"
void arrayInsertHelper(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
array * x=vm::pop<array *>(Stack);
Int i=vm::pop<Int>(Stack);
-#line 856 "runarray.in"
+#line 872 "runarray.in"
size_t asize=checkArray(a);
checkArray(x);
if(a->cyclic() && asize > 0) i=imod(i,asize);
@@ -1020,39 +1035,39 @@ void arrayInsertHelper(stack *Stack)
}
// Returns the insert method for an array.
-#line 866 "runarray.in"
+#line 882 "runarray.in"
void arrayInsert(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 867 "runarray.in"
+#line 883 "runarray.in"
{Stack->push<callable*>(new thunk(new bfunc(arrayInsertHelper),a)); return;}
}
// Returns the delete method for an array.
-#line 872 "runarray.in"
+#line 888 "runarray.in"
void arrayDelete(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 873 "runarray.in"
+#line 889 "runarray.in"
{Stack->push<callable*>(new thunk(new bfunc(arrayDeleteHelper),a)); return;}
}
-#line 877 "runarray.in"
+#line 893 "runarray.in"
void arrayAlias(stack *Stack)
{
array * b=vm::pop<array *>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 878 "runarray.in"
+#line 894 "runarray.in"
{Stack->push<bool>(a==b); return;}
}
// Return array formed by indexing array a with elements of integer array b
-#line 883 "runarray.in"
+#line 899 "runarray.in"
void arrayIntArray(stack *Stack)
{
array * b=vm::pop<array *>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 884 "runarray.in"
+#line 900 "runarray.in"
size_t asize=checkArray(a);
size_t bsize=checkArray(b);
array *r=new array(bsize);
@@ -1070,13 +1085,13 @@ void arrayIntArray(stack *Stack)
// returns the complement of the integer array a in {0,2,...,n-1},
// so that b[complement(a,b.length)] yields the complement of b[a].
-#line 902 "runarray.in"
+#line 918 "runarray.in"
// Intarray* complement(Intarray *a, Int n);
void gen_runarray32(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
Intarray * a=vm::pop<Intarray *>(Stack);
-#line 903 "runarray.in"
+#line 919 "runarray.in"
size_t asize=checkArray(a);
array *r=new array(0);
bool *keep=new bool[n];
@@ -1093,12 +1108,12 @@ void gen_runarray32(stack *Stack)
}
// Generate the sequence {f(i) : i=0,1,...n-1} given a function f and integer n
-#line 920 "runarray.in"
+#line 936 "runarray.in"
void arraySequence(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
callable * f=vm::pop<callable *>(Stack);
-#line 921 "runarray.in"
+#line 937 "runarray.in"
if(n < 0) n=0;
array *a=new array(n);
for(Int i=0; i < n; ++i) {
@@ -1110,12 +1125,12 @@ void arraySequence(stack *Stack)
}
// Return the array {0,1,...n-1}
-#line 933 "runarray.in"
+#line 949 "runarray.in"
// Intarray* sequence(Int n);
void gen_runarray34(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
-#line 934 "runarray.in"
+#line 950 "runarray.in"
if(n < 0) n=0;
array *a=new array(n);
for(Int i=0; i < n; ++i) {
@@ -1125,12 +1140,12 @@ void gen_runarray34(stack *Stack)
}
// Apply a function to each element of an array
-#line 944 "runarray.in"
+#line 960 "runarray.in"
void arrayFunction(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
callable * f=vm::pop<callable *>(Stack);
-#line 945 "runarray.in"
+#line 961 "runarray.in"
size_t size=checkArray(a);
array *b=new array(size);
for(size_t i=0; i < size; ++i) {
@@ -1141,13 +1156,13 @@ void arrayFunction(stack *Stack)
{Stack->push<array*>(b); return;}
}
-#line 956 "runarray.in"
+#line 972 "runarray.in"
void arraySort(stack *Stack)
{
bool stable=vm::pop<bool>(Stack,true);
callable * less=vm::pop<callable *>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 957 "runarray.in"
+#line 973 "runarray.in"
array *c=copyArray(a);
compareFunc=less;
FuncStack=Stack;
@@ -1156,13 +1171,13 @@ void arraySort(stack *Stack)
{Stack->push<array*>(c); return;}
}
-#line 966 "runarray.in"
+#line 982 "runarray.in"
void arraySearch(stack *Stack)
{
callable * less=vm::pop<callable *>(Stack);
item key=vm::pop(Stack);
array * a=vm::pop<array *>(Stack);
-#line 967 "runarray.in"
+#line 983 "runarray.in"
size_t size=a->size();
compareFunc=less;
FuncStack=Stack;
@@ -1180,12 +1195,12 @@ void arraySearch(stack *Stack)
{Stack->push<Int>(0); return;}
}
-#line 985 "runarray.in"
+#line 1001 "runarray.in"
// bool all(boolarray *a);
void gen_runarray38(stack *Stack)
{
boolarray * a=vm::pop<boolarray *>(Stack);
-#line 986 "runarray.in"
+#line 1002 "runarray.in"
size_t size=checkArray(a);
bool c=true;
for(size_t i=0; i < size; i++)
@@ -1193,12 +1208,12 @@ void gen_runarray38(stack *Stack)
{Stack->push<bool>(c); return;}
}
-#line 994 "runarray.in"
+#line 1010 "runarray.in"
// boolarray* !(boolarray* a);
void gen_runarray39(stack *Stack)
{
boolarray* a=vm::pop<boolarray*>(Stack);
-#line 995 "runarray.in"
+#line 1011 "runarray.in"
size_t size=checkArray(a);
array *c=new array(size);
for(size_t i=0; i < size; i++)
@@ -1206,12 +1221,12 @@ void gen_runarray39(stack *Stack)
{Stack->push<boolarray*>(c); return;}
}
-#line 1003 "runarray.in"
+#line 1019 "runarray.in"
// Int sum(boolarray *a);
void gen_runarray40(stack *Stack)
{
boolarray * a=vm::pop<boolarray *>(Stack);
-#line 1004 "runarray.in"
+#line 1020 "runarray.in"
size_t size=checkArray(a);
Int sum=0;
for(size_t i=0; i < size; i++)
@@ -1219,11 +1234,11 @@ void gen_runarray40(stack *Stack)
{Stack->push<Int>(sum); return;}
}
-#line 1012 "runarray.in"
+#line 1028 "runarray.in"
void arrayConcat(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 1013 "runarray.in"
+#line 1029 "runarray.in"
// a is an array of arrays to be concatenated together.
// The signature is
// T[] concat(... T[][] a);
@@ -1250,11 +1265,11 @@ void arrayConcat(stack *Stack)
{Stack->push<array*>(result); return;}
}
-#line 1040 "runarray.in"
+#line 1056 "runarray.in"
void array2Transpose(stack *Stack)
{
array * a=vm::pop<array *>(Stack);
-#line 1041 "runarray.in"
+#line 1057 "runarray.in"
size_t asize=checkArray(a);
array *c=new array(0);
size_t csize=0;
@@ -1283,12 +1298,12 @@ void array2Transpose(stack *Stack)
// permutation (021 or 120, etc; original is 012).
// Transpose by sending respective members to the permutated locations:
// return the array obtained by putting a[i][j][k] into position perm{ijk}.
-#line 1070 "runarray.in"
+#line 1086 "runarray.in"
void array3Transpose(stack *Stack)
{
array * perm=vm::pop<array *>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 1071 "runarray.in"
+#line 1087 "runarray.in"
const size_t DIM=3;
if(checkArray(perm) != DIM) {
@@ -1372,13 +1387,13 @@ void array3Transpose(stack *Stack)
// Find the index of the nth true value in a boolean array or -1 if not found.
// If n is negative, search backwards.
-#line 1155 "runarray.in"
+#line 1171 "runarray.in"
// Int find(boolarray *a, Int n=1);
void gen_runarray44(stack *Stack)
{
Int n=vm::pop<Int>(Stack,1);
boolarray * a=vm::pop<boolarray *>(Stack);
-#line 1156 "runarray.in"
+#line 1172 "runarray.in"
size_t size=checkArray(a);
Int j=-1;
if(n > 0)
@@ -1395,12 +1410,12 @@ void gen_runarray44(stack *Stack)
}
// Find all indices of true values in a boolean array.
-#line 1173 "runarray.in"
+#line 1189 "runarray.in"
// Intarray* findall(boolarray *a);
void gen_runarray45(stack *Stack)
{
boolarray * a=vm::pop<boolarray *>(Stack);
-#line 1174 "runarray.in"
+#line 1190 "runarray.in"
size_t size=checkArray(a);
array *b=new array(0);
for(size_t i=0; i < size; i++) {
@@ -1413,13 +1428,13 @@ void gen_runarray45(stack *Stack)
// construct vector obtained by replacing those elements of b for which the
// corresponding elements of a are false by the corresponding element of c.
-#line 1187 "runarray.in"
+#line 1203 "runarray.in"
void arrayConditional(stack *Stack)
{
array * c=vm::pop<array *>(Stack);
array * b=vm::pop<array *>(Stack);
array * a=vm::pop<array *>(Stack);
-#line 1188 "runarray.in"
+#line 1204 "runarray.in"
size_t size=checkArray(a);
array *r=new array(size);
if(b && c) {
@@ -1443,22 +1458,22 @@ void arrayConditional(stack *Stack)
}
// Return an n x n identity matrix.
-#line 1212 "runarray.in"
+#line 1228 "runarray.in"
// realarray2* identity(Int n);
void gen_runarray47(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
-#line 1213 "runarray.in"
+#line 1229 "runarray.in"
{Stack->push<realarray2*>(Identity(n)); return;}
}
// Return the inverse of an n x n matrix a using Gauss-Jordan elimination.
-#line 1218 "runarray.in"
+#line 1234 "runarray.in"
// realarray2* inverse(realarray2 *a);
void gen_runarray48(stack *Stack)
{
realarray2 * a=vm::pop<realarray2 *>(Stack);
-#line 1219 "runarray.in"
+#line 1235 "runarray.in"
size_t n=checkArray(a);
double *A;
copyArray2C(A,a,true,0,NoGC);
@@ -1471,14 +1486,14 @@ void gen_runarray48(stack *Stack)
// Solve the linear equation ax=b by LU decomposition, returning the
// solution x, where a is an n x n matrix and b is an array of length n.
// If no solution exists, return an empty array.
-#line 1232 "runarray.in"
+#line 1248 "runarray.in"
// realarray* solve(realarray2 *a, realarray *b, bool warn=true);
void gen_runarray49(stack *Stack)
{
bool warn=vm::pop<bool>(Stack,true);
realarray * b=vm::pop<realarray *>(Stack);
realarray2 * a=vm::pop<realarray2 *>(Stack);
-#line 1233 "runarray.in"
+#line 1249 "runarray.in"
size_t n=checkArray(a);
if(n == 0) {Stack->push<realarray*>(new array(0)); return;}
@@ -1530,14 +1545,14 @@ void gen_runarray49(stack *Stack)
// Solve the linear equation ax=b by LU decomposition, returning the
// solution x, where a is an n x n matrix and b is an n x m matrix.
// If no solution exists, return an empty array.
-#line 1285 "runarray.in"
+#line 1301 "runarray.in"
// realarray2* solve(realarray2 *a, realarray2 *b, bool warn=true);
void gen_runarray50(stack *Stack)
{
bool warn=vm::pop<bool>(Stack,true);
realarray2 * b=vm::pop<realarray2 *>(Stack);
realarray2 * a=vm::pop<realarray2 *>(Stack);
-#line 1286 "runarray.in"
+#line 1302 "runarray.in"
size_t n=checkArray(a);
if(n == 0) {Stack->push<realarray2*>(new array(0)); return;}
@@ -1599,12 +1614,12 @@ void gen_runarray50(stack *Stack)
}
// Compute the determinant of an n x n matrix.
-#line 1348 "runarray.in"
+#line 1364 "runarray.in"
// real determinant(realarray2 *a);
void gen_runarray51(stack *Stack)
{
realarray2 * a=vm::pop<realarray2 *>(Stack);
-#line 1349 "runarray.in"
+#line 1365 "runarray.in"
real *A;
copyArray2C(A,a);
size_t n=checkArray(a);
@@ -1619,13 +1634,13 @@ void gen_runarray51(stack *Stack)
{Stack->push<real>(det); return;}
}
-#line 1364 "runarray.in"
+#line 1380 "runarray.in"
// realarray* *(realarray2 *a, realarray *b);
void gen_runarray52(stack *Stack)
{
realarray * b=vm::pop<realarray *>(Stack);
realarray2 * a=vm::pop<realarray2 *>(Stack);
-#line 1365 "runarray.in"
+#line 1381 "runarray.in"
size_t n=checkArray(a);
size_t m=checkArray(b);
array *c=new array(n);
@@ -1643,13 +1658,13 @@ void gen_runarray52(stack *Stack)
{Stack->push<realarray*>(c); return;}
}
-#line 1383 "runarray.in"
+#line 1399 "runarray.in"
// realarray* *(realarray *a, realarray2 *b);
void gen_runarray53(stack *Stack)
{
realarray2 * b=vm::pop<realarray2 *>(Stack);
realarray * a=vm::pop<realarray *>(Stack);
-#line 1384 "runarray.in"
+#line 1400 "runarray.in"
size_t n=checkArray(a);
if(n != checkArray(b)) error(incommensurate);
real *A;
@@ -1677,62 +1692,62 @@ void gen_runarray53(stack *Stack)
{Stack->push<realarray*>(c); return;}
}
-#line 1412 "runarray.in"
+#line 1428 "runarray.in"
// Intarray2* *(Intarray2 *a, Intarray2 *b);
void gen_runarray54(stack *Stack)
{
Intarray2 * b=vm::pop<Intarray2 *>(Stack);
Intarray2 * a=vm::pop<Intarray2 *>(Stack);
-#line 1413 "runarray.in"
+#line 1429 "runarray.in"
{Stack->push<Intarray2*>(mult<Int>(a,b)); return;}
}
-#line 1417 "runarray.in"
+#line 1433 "runarray.in"
// realarray2* *(realarray2 *a, realarray2 *b);
void gen_runarray55(stack *Stack)
{
realarray2 * b=vm::pop<realarray2 *>(Stack);
realarray2 * a=vm::pop<realarray2 *>(Stack);
-#line 1418 "runarray.in"
+#line 1434 "runarray.in"
{Stack->push<realarray2*>(mult<real>(a,b)); return;}
}
-#line 1422 "runarray.in"
+#line 1438 "runarray.in"
// pairarray2* *(pairarray2 *a, pairarray2 *b);
void gen_runarray56(stack *Stack)
{
pairarray2 * b=vm::pop<pairarray2 *>(Stack);
pairarray2 * a=vm::pop<pairarray2 *>(Stack);
-#line 1423 "runarray.in"
+#line 1439 "runarray.in"
{Stack->push<pairarray2*>(mult<pair>(a,b)); return;}
}
-#line 1427 "runarray.in"
+#line 1443 "runarray.in"
// triple *(realarray2 *t, triple v);
void gen_runarray57(stack *Stack)
{
triple v=vm::pop<triple>(Stack);
realarray2 * t=vm::pop<realarray2 *>(Stack);
-#line 1428 "runarray.in"
+#line 1444 "runarray.in"
{Stack->push<triple>(*t*v); return;}
}
-#line 1432 "runarray.in"
+#line 1448 "runarray.in"
// realarray2* AtA(realarray2 *a);
void gen_runarray58(stack *Stack)
{
realarray2 * a=vm::pop<realarray2 *>(Stack);
-#line 1433 "runarray.in"
+#line 1449 "runarray.in"
{Stack->push<realarray2*>(AtA<real>(a)); return;}
}
-#line 1437 "runarray.in"
+#line 1453 "runarray.in"
// pair project(triple v, realarray2 *t);
void gen_runarray59(stack *Stack)
{
realarray2 * t=vm::pop<realarray2 *>(Stack);
triple v=vm::pop<triple>(Stack);
-#line 1438 "runarray.in"
+#line 1454 "runarray.in"
size_t n=checkArray(t);
if(n != 4) error(incommensurate);
array *t0=read<array*>(t,0);
@@ -1757,13 +1772,13 @@ void gen_runarray59(stack *Stack)
}
// Compute the dot product of vectors a and b.
-#line 1463 "runarray.in"
+#line 1479 "runarray.in"
// real dot(realarray *a, realarray *b);
void gen_runarray60(stack *Stack)
{
realarray * b=vm::pop<realarray *>(Stack);
realarray * a=vm::pop<realarray *>(Stack);
-#line 1464 "runarray.in"
+#line 1480 "runarray.in"
size_t n=checkArrays(a,b);
real sum=0.0;
for(size_t i=0; i < n; ++i)
@@ -1772,13 +1787,13 @@ void gen_runarray60(stack *Stack)
}
// Compute the complex dot product of vectors a and b.
-#line 1473 "runarray.in"
+#line 1489 "runarray.in"
// pair dot(pairarray *a, pairarray *b);
void gen_runarray61(stack *Stack)
{
pairarray * b=vm::pop<pairarray *>(Stack);
pairarray * a=vm::pop<pairarray *>(Stack);
-#line 1474 "runarray.in"
+#line 1490 "runarray.in"
size_t n=checkArrays(a,b);
pair sum=zero;
for(size_t i=0; i < n; ++i)
@@ -1793,7 +1808,7 @@ void gen_runarray61(stack *Stack)
// [ a[2] b[2] c[2] ]
// [ ... ]
// [ c[n-1] a[n-1] b[n-1] ]
-#line 1489 "runarray.in"
+#line 1505 "runarray.in"
// realarray* tridiagonal(realarray *a, realarray *b, realarray *c, realarray *f);
void gen_runarray62(stack *Stack)
{
@@ -1801,7 +1816,7 @@ void gen_runarray62(stack *Stack)
realarray * c=vm::pop<realarray *>(Stack);
realarray * b=vm::pop<realarray *>(Stack);
realarray * a=vm::pop<realarray *>(Stack);
-#line 1490 "runarray.in"
+#line 1506 "runarray.in"
size_t n=checkArrays(a,b);
checkEqual(n,checkArray(c));
checkEqual(n,checkArray(f));
@@ -1898,7 +1913,7 @@ void gen_runarray62(stack *Stack)
}
// Root solve by Newton-Raphson
-#line 1587 "runarray.in"
+#line 1603 "runarray.in"
// real newton(Int iterations=100, callableReal *f, callableReal *fprime, real x, bool verbose=false);
void gen_runarray63(stack *Stack)
{
@@ -1907,7 +1922,7 @@ void gen_runarray63(stack *Stack)
callableReal * fprime=vm::pop<callableReal *>(Stack);
callableReal * f=vm::pop<callableReal *>(Stack);
Int iterations=vm::pop<Int>(Stack,100);
-#line 1589 "runarray.in"
+#line 1605 "runarray.in"
static const real fuzz=1000.0*DBL_EPSILON;
Int i=0;
size_t oldPrec=0;
@@ -1953,7 +1968,7 @@ void gen_runarray63(stack *Stack)
// Root solve by Newton-Raphson bisection
// cf. routine rtsafe (Press et al., Numerical Recipes, 1991).
-#line 1635 "runarray.in"
+#line 1651 "runarray.in"
// real newton(Int iterations=100, callableReal *f, callableReal *fprime, real x1, real x2, bool verbose=false);
void gen_runarray64(stack *Stack)
{
@@ -1963,7 +1978,7 @@ void gen_runarray64(stack *Stack)
callableReal * fprime=vm::pop<callableReal *>(Stack);
callableReal * f=vm::pop<callableReal *>(Stack);
Int iterations=vm::pop<Int>(Stack,100);
-#line 1637 "runarray.in"
+#line 1653 "runarray.in"
static const real fuzz=1000.0*DBL_EPSILON;
size_t oldPrec=0;
if(verbose)
@@ -2049,7 +2064,7 @@ void gen_runarray64(stack *Stack)
// In this implementation, the binary search is interleaved
// with a modified version of quadratic interpolation.
// This is a C++ port of the Asymptote routine written by Charles Staats III.
-#line 1723 "runarray.in"
+#line 1739 "runarray.in"
// real _findroot(callableReal *f, real a, real b, real tolerance, real fa, real fb);
void gen_runarray65(stack *Stack)
{
@@ -2059,7 +2074,7 @@ void gen_runarray65(stack *Stack)
real b=vm::pop<real>(Stack);
real a=vm::pop<real>(Stack);
callableReal * f=vm::pop<callableReal *>(Stack);
-#line 1725 "runarray.in"
+#line 1741 "runarray.in"
if(fa == 0.0) {Stack->push<real>(a); return;}
if(fb == 0.0) {Stack->push<real>(b); return;}
@@ -2151,7 +2166,7 @@ void gen_runarray65(stack *Stack)
{Stack->push<real>(a-(b-a)/(fb-fa)*fa); return;}
}
-#line 1817 "runarray.in"
+#line 1833 "runarray.in"
// real simpson(callableReal *f, real a, real b, real acc=DBL_EPSILON, real dxmax=0);
void gen_runarray66(stack *Stack)
{
@@ -2160,7 +2175,7 @@ void gen_runarray66(stack *Stack)
real b=vm::pop<real>(Stack);
real a=vm::pop<real>(Stack);
callableReal * f=vm::pop<callableReal *>(Stack);
-#line 1819 "runarray.in"
+#line 1835 "runarray.in"
real integral;
if(dxmax <= 0) dxmax=fabs(b-a);
callable *oldFunc=Func;
@@ -2173,13 +2188,13 @@ void gen_runarray66(stack *Stack)
}
// Compute the fast Fourier transform of a pair array
-#line 1832 "runarray.in"
+#line 1848 "runarray.in"
// pairarray* fft(pairarray *a, Int sign=1);
void gen_runarray67(stack *Stack)
{
Int sign=vm::pop<Int>(Stack,1);
pairarray * a=vm::pop<pairarray *>(Stack);
-#line 1833 "runarray.in"
+#line 1849 "runarray.in"
#ifdef HAVE_LIBFFTW3
unsigned n=(unsigned) checkArray(a);
array *c=new array(n);
@@ -2209,13 +2224,13 @@ void gen_runarray67(stack *Stack)
}
// Compute the fast Fourier transform of a 2D pair array
-#line 1863 "runarray.in"
+#line 1879 "runarray.in"
// pairarray2* fft(pairarray2 *a, Int sign=1);
void gen_runarray68(stack *Stack)
{
Int sign=vm::pop<Int>(Stack,1);
pairarray2 * a=vm::pop<pairarray2 *>(Stack);
-#line 1864 "runarray.in"
+#line 1880 "runarray.in"
#ifdef HAVE_LIBFFTW3
size_t n=checkArray(a);
size_t m=n == 0 ? 0 : checkArray(read<array*>(a,0));
@@ -2260,13 +2275,13 @@ void gen_runarray68(stack *Stack)
}
// Compute the fast Fourier transform of a 3D pair array
-#line 1909 "runarray.in"
+#line 1925 "runarray.in"
// pairarray3* fft(pairarray3 *a, Int sign=1);
void gen_runarray69(stack *Stack)
{
Int sign=vm::pop<Int>(Stack,1);
pairarray3 * a=vm::pop<pairarray3 *>(Stack);
-#line 1910 "runarray.in"
+#line 1926 "runarray.in"
#ifdef HAVE_LIBFFTW3
size_t n=checkArray(a);
array *a0=read<array*>(a,0);
@@ -2323,12 +2338,120 @@ void gen_runarray69(stack *Stack)
{Stack->push<pairarray3*>(c); return;}
}
-#line 1967 "runarray.in"
-// Intarray2* triangulate(pairarray *z);
+// Compute the real Schur decomposition of a 2D pair array
+#line 1984 "runarray.in"
+// realarray3* _schur(realarray2 *a);
void gen_runarray70(stack *Stack)
{
+ realarray2 * a=vm::pop<realarray2 *>(Stack);
+#line 1985 "runarray.in"
+#ifdef HAVE_EIGEN_DENSE
+ size_t n=checkArray(a);
+
+ MatrixXd A=MatrixXd::Random(n,n);
+ RealSchur<MatrixXd> schur(n);
+
+ array *S=new array(2);
+
+ if(n) {
+ for(size_t i=0; i < n; ++i) {
+ array *ai=read<array *>(a,i);
+ size_t aisize=checkArray(ai);
+ if(aisize != n) error(square);
+ for(size_t j=0; j < n; ++j)
+ A(i,j)=read<double>(ai,j);
+ }
+
+ schur.compute(A);
+ MatrixXd U=schur.matrixU();
+ MatrixXd T=schur.matrixT();
+
+ array *u=new array(n);
+ array *t=new array(n);
+ (*S)[0]=u;
+ (*S)[1]=t;
+
+ for(size_t i=0; i < n; ++i) {
+ array *ui=new array(n);
+ array *ti=new array(n);
+ (*u)[i]=ui;
+ (*t)[i]=ti;
+ for(size_t j=0; j < n; ++j) {
+ (*ui)[j]=U(i,j);
+ (*ti)[j]=T(i,j);
+ }
+ }
+ }
+#else
+ unused(a);
+ array *S=new array(0);
+ error(installEIGEN);
+#endif // HAVE_EIGEN_DENSE
+ {Stack->push<realarray3*>(S); return;}
+}
+
+// Compute the Schur decomposition of a 2D pair array
+#line 2032 "runarray.in"
+// pairarray3* _schur(pairarray2 *a);
+void gen_runarray71(stack *Stack)
+{
+ pairarray2 * a=vm::pop<pairarray2 *>(Stack);
+#line 2033 "runarray.in"
+#ifdef HAVE_EIGEN_DENSE
+ size_t n=checkArray(a);
+
+ MatrixXcd A=MatrixXcd::Random(n,n);
+ ComplexSchur<MatrixXcd> schur(n);
+
+ array *S=new array(2);
+
+ if(n) {
+ for(size_t i=0; i < n; ++i) {
+ array *ai=read<array *>(a,i);
+ size_t aisize=checkArray(ai);
+ if(aisize != n) error(square);
+ for(size_t j=0; j < n; ++j) {
+ pair z=read<pair>(ai,j);
+ A(i,j)=Complex(z.getx(),z.gety());
+ }
+ }
+
+ schur.compute(A);
+ MatrixXcd U=schur.matrixU();
+ MatrixXcd T=schur.matrixT();
+
+ array *u=new array(n);
+ array *t=new array(n);
+ (*S)[0]=u;
+ (*S)[1]=t;
+
+ for(size_t i=0; i < n; ++i) {
+ array *ui=new array(n);
+ array *ti=new array(n);
+ (*u)[i]=ui;
+ (*t)[i]=ti;
+ for(size_t j=0; j < n; ++j) {
+ Complex z=U(i,j);
+ Complex w=T(i,j);
+ (*ui)[j]=pair(z.real(),z.imag());
+ (*ti)[j]=pair(w.real(),w.imag());
+ }
+ }
+ }
+#else
+ unused(a);
+ array *S=new array(0);
+ error(installEIGEN);
+#endif // HAVE_EIGEN_DENSE
+ {Stack->push<pairarray3*>(S); return;}
+}
+
+#line 2083 "runarray.in"
+// Intarray2* triangulate(pairarray *z);
+void gen_runarray72(stack *Stack)
+{
pairarray * z=vm::pop<pairarray *>(Stack);
-#line 1968 "runarray.in"
+#line 2084 "runarray.in"
size_t nv=checkArray(z);
// Call robust version of Gilles Dumoulin's port of Paul Bourke's
// triangulation code.
@@ -2362,12 +2485,12 @@ void gen_runarray70(stack *Stack)
{Stack->push<Intarray2*>(t); return;}
}
-#line 2002 "runarray.in"
+#line 2118 "runarray.in"
// real norm(realarray *a);
-void gen_runarray71(stack *Stack)
+void gen_runarray73(stack *Stack)
{
realarray * a=vm::pop<realarray *>(Stack);
-#line 2003 "runarray.in"
+#line 2119 "runarray.in"
size_t n=checkArray(a);
real M=0.0;
for(size_t i=0; i < n; ++i) {
@@ -2377,12 +2500,12 @@ void gen_runarray71(stack *Stack)
{Stack->push<real>(M); return;}
}
-#line 2013 "runarray.in"
+#line 2129 "runarray.in"
// real norm(realarray2 *a);
-void gen_runarray72(stack *Stack)
+void gen_runarray74(stack *Stack)
{
realarray2 * a=vm::pop<realarray2 *>(Stack);
-#line 2014 "runarray.in"
+#line 2130 "runarray.in"
size_t n=checkArray(a);
real M=0.0;
for(size_t i=0; i < n; ++i) {
@@ -2396,12 +2519,12 @@ void gen_runarray72(stack *Stack)
{Stack->push<real>(M); return;}
}
-#line 2028 "runarray.in"
+#line 2144 "runarray.in"
// real norm(triplearray2 *a);
-void gen_runarray73(stack *Stack)
+void gen_runarray75(stack *Stack)
{
triplearray2 * a=vm::pop<triplearray2 *>(Stack);
-#line 2029 "runarray.in"
+#line 2145 "runarray.in"
size_t n=checkArray(a);
real M=0.0;
for(size_t i=0; i < n; ++i) {
@@ -2415,12 +2538,12 @@ void gen_runarray73(stack *Stack)
{Stack->push<real>(sqrt(M)); return;}
}
-#line 2043 "runarray.in"
+#line 2159 "runarray.in"
// real change2(triplearray2 *a);
-void gen_runarray74(stack *Stack)
+void gen_runarray76(stack *Stack)
{
triplearray2 * a=vm::pop<triplearray2 *>(Stack);
-#line 2044 "runarray.in"
+#line 2160 "runarray.in"
size_t n=checkArray(a);
if(n == 0) {Stack->push<real>(0.0); return;}
@@ -2441,13 +2564,13 @@ void gen_runarray74(stack *Stack)
{Stack->push<real>(M); return;}
}
-#line 2065 "runarray.in"
+#line 2181 "runarray.in"
// triple minbezier(triplearray2 *P, triple b);
-void gen_runarray75(stack *Stack)
+void gen_runarray77(stack *Stack)
{
triple b=vm::pop<triple>(Stack);
triplearray2 * P=vm::pop<triplearray2 *>(Stack);
-#line 2066 "runarray.in"
+#line 2182 "runarray.in"
size_t N;
real *A=copyTripleArray2Components(P,N);
bound_double *B=bounddouble(N);
@@ -2458,13 +2581,13 @@ void gen_runarray75(stack *Stack)
{Stack->push<triple>(b); return;}
}
-#line 2077 "runarray.in"
+#line 2193 "runarray.in"
// triple maxbezier(triplearray2 *P, triple b);
-void gen_runarray76(stack *Stack)
+void gen_runarray78(stack *Stack)
{
triple b=vm::pop<triple>(Stack);
triplearray2 * P=vm::pop<triplearray2 *>(Stack);
-#line 2078 "runarray.in"
+#line 2194 "runarray.in"
size_t N;
real *A=copyTripleArray2Components(P,N);
bound_double *B=bounddouble(N);
@@ -2475,13 +2598,13 @@ void gen_runarray76(stack *Stack)
{Stack->push<triple>(b); return;}
}
-#line 2089 "runarray.in"
+#line 2205 "runarray.in"
// pair minratio(triplearray2 *P, pair b);
-void gen_runarray77(stack *Stack)
+void gen_runarray79(stack *Stack)
{
pair b=vm::pop<pair>(Stack);
triplearray2 * P=vm::pop<triplearray2 *>(Stack);
-#line 2090 "runarray.in"
+#line 2206 "runarray.in"
size_t N;
triple *A=copyTripleArray2C(P,N);
real fuzz=Fuzz*norm(A,N);
@@ -2492,13 +2615,13 @@ void gen_runarray77(stack *Stack)
{Stack->push<pair>(b); return;}
}
-#line 2101 "runarray.in"
+#line 2217 "runarray.in"
// pair maxratio(triplearray2 *P, pair b);
-void gen_runarray78(stack *Stack)
+void gen_runarray80(stack *Stack)
{
pair b=vm::pop<pair>(Stack);
triplearray2 * P=vm::pop<triplearray2 *>(Stack);
-#line 2102 "runarray.in"
+#line 2218 "runarray.in"
size_t N;
triple *A=copyTripleArray2C(P,N);
bound_triple *B=boundtriple(N);
@@ -2509,11 +2632,11 @@ void gen_runarray78(stack *Stack)
{Stack->push<pair>(b); return;}
}
-#line 2113 "runarray.in"
+#line 2229 "runarray.in"
// realarray* _projection();
-void gen_runarray79(stack *Stack)
+void gen_runarray81(stack *Stack)
{
-#line 2114 "runarray.in"
+#line 2230 "runarray.in"
#ifdef HAVE_GL
array *a=new array(14);
gl::projection P=gl::camera();
@@ -2550,166 +2673,170 @@ namespace trans {
void gen_runarray_venv(venv &ve)
{
-#line 593 "runarray.in"
+#line 609 "runarray.in"
REGISTER_BLTIN(run::emptyArray,"emptyArray");
-#line 599 "runarray.in"
+#line 615 "runarray.in"
REGISTER_BLTIN(run::newDeepArray,"newDeepArray");
-#line 621 "runarray.in"
+#line 637 "runarray.in"
REGISTER_BLTIN(run::newInitializedArray,"newInitializedArray");
-#line 636 "runarray.in"
- REGISTER_BLTIN(run::newAppendedArray,"newAppendedArray");
#line 652 "runarray.in"
+ REGISTER_BLTIN(run::newAppendedArray,"newAppendedArray");
+#line 668 "runarray.in"
REGISTER_BLTIN(run::copyArrayValue,"copyArrayValue");
-#line 664 "runarray.in"
+#line 680 "runarray.in"
REGISTER_BLTIN(run::copyArray,"copyArray");
-#line 676 "runarray.in"
+#line 692 "runarray.in"
REGISTER_BLTIN(run::arrayRead,"arrayRead");
-#line 688 "runarray.in"
+#line 704 "runarray.in"
REGISTER_BLTIN(run::arraySliceRead,"arraySliceRead");
-#line 695 "runarray.in"
+#line 711 "runarray.in"
REGISTER_BLTIN(run::arraySliceReadToEnd,"arraySliceReadToEnd");
-#line 703 "runarray.in"
+#line 719 "runarray.in"
REGISTER_BLTIN(run::arrayArrayRead,"arrayArrayRead");
-#line 712 "runarray.in"
+#line 728 "runarray.in"
REGISTER_BLTIN(run::arrayWrite,"arrayWrite");
-#line 729 "runarray.in"
+#line 745 "runarray.in"
REGISTER_BLTIN(run::arraySliceWrite,"arraySliceWrite");
-#line 737 "runarray.in"
+#line 753 "runarray.in"
REGISTER_BLTIN(run::arraySliceWriteToEnd,"arraySliceWriteToEnd");
-#line 745 "runarray.in"
+#line 761 "runarray.in"
REGISTER_BLTIN(run::arrayLength,"arrayLength");
-#line 751 "runarray.in"
+#line 767 "runarray.in"
REGISTER_BLTIN(run::arrayKeys,"arrayKeys");
-#line 766 "runarray.in"
+#line 782 "runarray.in"
REGISTER_BLTIN(run::arrayCyclicFlag,"arrayCyclicFlag");
-#line 773 "runarray.in"
+#line 789 "runarray.in"
REGISTER_BLTIN(run::arraySetCyclicFlag,"arraySetCyclicFlag");
-#line 780 "runarray.in"
+#line 796 "runarray.in"
REGISTER_BLTIN(run::arrayInitializedHelper,"arrayInitializedHelper");
-#line 791 "runarray.in"
+#line 807 "runarray.in"
REGISTER_BLTIN(run::arrayInitialized,"arrayInitialized");
-#line 797 "runarray.in"
+#line 813 "runarray.in"
REGISTER_BLTIN(run::arrayCyclicHelper,"arrayCyclicHelper");
-#line 804 "runarray.in"
+#line 820 "runarray.in"
REGISTER_BLTIN(run::arrayCyclic,"arrayCyclic");
-#line 810 "runarray.in"
+#line 826 "runarray.in"
REGISTER_BLTIN(run::arrayPushHelper,"arrayPushHelper");
-#line 818 "runarray.in"
+#line 834 "runarray.in"
REGISTER_BLTIN(run::arrayPush,"arrayPush");
-#line 824 "runarray.in"
+#line 840 "runarray.in"
REGISTER_BLTIN(run::arrayAppendHelper,"arrayAppendHelper");
-#line 833 "runarray.in"
+#line 849 "runarray.in"
REGISTER_BLTIN(run::arrayAppend,"arrayAppend");
-#line 839 "runarray.in"
+#line 855 "runarray.in"
REGISTER_BLTIN(run::arrayPopHelper,"arrayPopHelper");
-#line 848 "runarray.in"
+#line 864 "runarray.in"
REGISTER_BLTIN(run::arrayPop,"arrayPop");
-#line 854 "runarray.in"
+#line 870 "runarray.in"
REGISTER_BLTIN(run::arrayInsertHelper,"arrayInsertHelper");
-#line 865 "runarray.in"
+#line 881 "runarray.in"
REGISTER_BLTIN(run::arrayInsert,"arrayInsert");
-#line 871 "runarray.in"
+#line 887 "runarray.in"
REGISTER_BLTIN(run::arrayDelete,"arrayDelete");
-#line 877 "runarray.in"
+#line 893 "runarray.in"
REGISTER_BLTIN(run::arrayAlias,"arrayAlias");
-#line 882 "runarray.in"
+#line 898 "runarray.in"
REGISTER_BLTIN(run::arrayIntArray,"arrayIntArray");
-#line 900 "runarray.in"
+#line 916 "runarray.in"
addFunc(ve, run::gen_runarray32, IntArray(), SYM(complement), formal(IntArray(), SYM(a), false, false), formal(primInt(), SYM(n), false, false));
-#line 919 "runarray.in"
+#line 935 "runarray.in"
REGISTER_BLTIN(run::arraySequence,"arraySequence");
-#line 932 "runarray.in"
+#line 948 "runarray.in"
addFunc(ve, run::gen_runarray34, IntArray(), SYM(sequence), formal(primInt(), SYM(n), false, false));
-#line 943 "runarray.in"
+#line 959 "runarray.in"
REGISTER_BLTIN(run::arrayFunction,"arrayFunction");
-#line 956 "runarray.in"
+#line 972 "runarray.in"
REGISTER_BLTIN(run::arraySort,"arraySort");
-#line 966 "runarray.in"
+#line 982 "runarray.in"
REGISTER_BLTIN(run::arraySearch,"arraySearch");
-#line 985 "runarray.in"
+#line 1001 "runarray.in"
addFunc(ve, run::gen_runarray38, primBoolean(), SYM(all), formal(booleanArray(), SYM(a), false, false));
-#line 994 "runarray.in"
+#line 1010 "runarray.in"
addFunc(ve, run::gen_runarray39, booleanArray(), SYM_LOGNOT, formal(booleanArray(), SYM(a), false, false));
-#line 1003 "runarray.in"
+#line 1019 "runarray.in"
addFunc(ve, run::gen_runarray40, primInt(), SYM(sum), formal(booleanArray(), SYM(a), false, false));
-#line 1012 "runarray.in"
+#line 1028 "runarray.in"
REGISTER_BLTIN(run::arrayConcat,"arrayConcat");
-#line 1040 "runarray.in"
+#line 1056 "runarray.in"
REGISTER_BLTIN(run::array2Transpose,"array2Transpose");
-#line 1066 "runarray.in"
+#line 1082 "runarray.in"
REGISTER_BLTIN(run::array3Transpose,"array3Transpose");
-#line 1153 "runarray.in"
+#line 1169 "runarray.in"
addFunc(ve, run::gen_runarray44, primInt(), SYM(find), formal(booleanArray(), SYM(a), false, false), formal(primInt(), SYM(n), true, false));
-#line 1172 "runarray.in"
+#line 1188 "runarray.in"
addFunc(ve, run::gen_runarray45, IntArray(), SYM(findall), formal(booleanArray(), SYM(a), false, false));
-#line 1185 "runarray.in"
+#line 1201 "runarray.in"
REGISTER_BLTIN(run::arrayConditional,"arrayConditional");
-#line 1211 "runarray.in"
+#line 1227 "runarray.in"
addFunc(ve, run::gen_runarray47, realArray2(), SYM(identity), formal(primInt(), SYM(n), false, false));
-#line 1217 "runarray.in"
+#line 1233 "runarray.in"
addFunc(ve, run::gen_runarray48, realArray2(), SYM(inverse), formal(realArray2(), SYM(a), false, false));
-#line 1229 "runarray.in"
+#line 1245 "runarray.in"
addFunc(ve, run::gen_runarray49, realArray(), SYM(solve), formal(realArray2(), SYM(a), false, false), formal(realArray(), SYM(b), false, false), formal(primBoolean(), SYM(warn), true, false));
-#line 1282 "runarray.in"
+#line 1298 "runarray.in"
addFunc(ve, run::gen_runarray50, realArray2(), SYM(solve), formal(realArray2(), SYM(a), false, false), formal(realArray2(), SYM(b), false, false), formal(primBoolean(), SYM(warn), true, false));
-#line 1347 "runarray.in"
+#line 1363 "runarray.in"
addFunc(ve, run::gen_runarray51, primReal(), SYM(determinant), formal(realArray2(), SYM(a), false, false));
-#line 1364 "runarray.in"
+#line 1380 "runarray.in"
addFunc(ve, run::gen_runarray52, realArray(), SYM_TIMES, formal(realArray2(), SYM(a), false, false), formal(realArray(), SYM(b), false, false));
-#line 1383 "runarray.in"
+#line 1399 "runarray.in"
addFunc(ve, run::gen_runarray53, realArray(), SYM_TIMES, formal(realArray(), SYM(a), false, false), formal(realArray2(), SYM(b), false, false));
-#line 1412 "runarray.in"
+#line 1428 "runarray.in"
addFunc(ve, run::gen_runarray54, IntArray2(), SYM_TIMES, formal(IntArray2(), SYM(a), false, false), formal(IntArray2(), SYM(b), false, false));
-#line 1417 "runarray.in"
+#line 1433 "runarray.in"
addFunc(ve, run::gen_runarray55, realArray2(), SYM_TIMES, formal(realArray2(), SYM(a), false, false), formal(realArray2(), SYM(b), false, false));
-#line 1422 "runarray.in"
+#line 1438 "runarray.in"
addFunc(ve, run::gen_runarray56, pairArray2(), SYM_TIMES, formal(pairArray2(), SYM(a), false, false), formal(pairArray2(), SYM(b), false, false));
-#line 1427 "runarray.in"
+#line 1443 "runarray.in"
addFunc(ve, run::gen_runarray57, primTriple(), SYM_TIMES, formal(realArray2(), SYM(t), false, false), formal(primTriple(), SYM(v), false, false));
-#line 1432 "runarray.in"
+#line 1448 "runarray.in"
addFunc(ve, run::gen_runarray58, realArray2(), SYM(AtA), formal(realArray2(), SYM(a), false, false));
-#line 1437 "runarray.in"
+#line 1453 "runarray.in"
addFunc(ve, run::gen_runarray59, primPair(), SYM(project), formal(primTriple(), SYM(v), false, false), formal(realArray2(), SYM(t), false, false));
-#line 1462 "runarray.in"
+#line 1478 "runarray.in"
addFunc(ve, run::gen_runarray60, primReal(), SYM(dot), formal(realArray(), SYM(a), false, false), formal(realArray(), SYM(b), false, false));
-#line 1472 "runarray.in"
+#line 1488 "runarray.in"
addFunc(ve, run::gen_runarray61, primPair(), SYM(dot), formal(pairArray(), SYM(a), false, false), formal(pairArray(), SYM(b), false, false));
-#line 1482 "runarray.in"
+#line 1498 "runarray.in"
addFunc(ve, run::gen_runarray62, realArray(), SYM(tridiagonal), formal(realArray(), SYM(a), false, false), formal(realArray(), SYM(b), false, false), formal(realArray(), SYM(c), false, false), formal(realArray(), SYM(f), false, false));
-#line 1586 "runarray.in"
+#line 1602 "runarray.in"
addFunc(ve, run::gen_runarray63, primReal(), SYM(newton), formal(primInt(), SYM(iterations), true, false), formal(realRealFunction(), SYM(f), false, false), formal(realRealFunction(), SYM(fprime), false, false), formal(primReal(), SYM(x), false, false), formal(primBoolean(), SYM(verbose), true, false));
-#line 1633 "runarray.in"
+#line 1649 "runarray.in"
addFunc(ve, run::gen_runarray64, primReal(), SYM(newton), formal(primInt(), SYM(iterations), true, false), formal(realRealFunction(), SYM(f), false, false), formal(realRealFunction(), SYM(fprime), false, false), formal(primReal(), SYM(x1), false, false), formal(primReal(), SYM(x2), false, false), formal(primBoolean(), SYM(verbose), true, false));
-#line 1715 "runarray.in"
+#line 1731 "runarray.in"
addFunc(ve, run::gen_runarray65, primReal(), SYM(_findroot), formal(realRealFunction(), SYM(f), false, false), formal(primReal(), SYM(a), false, false), formal(primReal(), SYM(b), false, false), formal(primReal(), SYM(tolerance), false, false), formal(primReal(), SYM(fa), false, false), formal(primReal(), SYM(fb), false, false));
-#line 1817 "runarray.in"
+#line 1833 "runarray.in"
addFunc(ve, run::gen_runarray66, primReal(), SYM(simpson), formal(realRealFunction(), SYM(f), false, false), formal(primReal(), SYM(a), false, false), formal(primReal(), SYM(b), false, false), formal(primReal(), SYM(acc), true, false), formal(primReal(), SYM(dxmax), true, false));
-#line 1831 "runarray.in"
+#line 1847 "runarray.in"
addFunc(ve, run::gen_runarray67, pairArray(), SYM(fft), formal(pairArray(), SYM(a), false, false), formal(primInt(), SYM(sign), true, false));
-#line 1862 "runarray.in"
+#line 1878 "runarray.in"
addFunc(ve, run::gen_runarray68, pairArray2(), SYM(fft), formal(pairArray2(), SYM(a), false, false), formal(primInt(), SYM(sign), true, false));
-#line 1908 "runarray.in"
+#line 1924 "runarray.in"
addFunc(ve, run::gen_runarray69, pairArray3(), SYM(fft), formal(pairArray3(), SYM(a), false, false), formal(primInt(), SYM(sign), true, false));
-#line 1967 "runarray.in"
- addFunc(ve, run::gen_runarray70, IntArray2(), SYM(triangulate), formal(pairArray(), SYM(z), false, false));
-#line 2002 "runarray.in"
- addFunc(ve, run::gen_runarray71, primReal(), SYM(norm), formal(realArray(), SYM(a), false, false));
-#line 2013 "runarray.in"
- addFunc(ve, run::gen_runarray72, primReal(), SYM(norm), formal(realArray2(), SYM(a), false, false));
-#line 2028 "runarray.in"
- addFunc(ve, run::gen_runarray73, primReal(), SYM(norm), formal(tripleArray2(), SYM(a), false, false));
-#line 2043 "runarray.in"
- addFunc(ve, run::gen_runarray74, primReal(), SYM(change2), formal(tripleArray2(), SYM(a), false, false));
-#line 2065 "runarray.in"
- addFunc(ve, run::gen_runarray75, primTriple(), SYM(minbezier), formal(tripleArray2(), SYM(p), false, false), formal(primTriple(), SYM(b), false, false));
-#line 2077 "runarray.in"
- addFunc(ve, run::gen_runarray76, primTriple(), SYM(maxbezier), formal(tripleArray2(), SYM(p), false, false), formal(primTriple(), SYM(b), false, false));
-#line 2089 "runarray.in"
- addFunc(ve, run::gen_runarray77, primPair(), SYM(minratio), formal(tripleArray2(), SYM(p), false, false), formal(primPair(), SYM(b), false, false));
-#line 2101 "runarray.in"
- addFunc(ve, run::gen_runarray78, primPair(), SYM(maxratio), formal(tripleArray2(), SYM(p), false, false), formal(primPair(), SYM(b), false, false));
-#line 2113 "runarray.in"
- addFunc(ve, run::gen_runarray79, realArray(), SYM(_projection));
+#line 1983 "runarray.in"
+ addFunc(ve, run::gen_runarray70, realArray3(), SYM(_schur), formal(realArray2(), SYM(a), false, false));
+#line 2031 "runarray.in"
+ addFunc(ve, run::gen_runarray71, pairArray3(), SYM(_schur), formal(pairArray2(), SYM(a), false, false));
+#line 2083 "runarray.in"
+ addFunc(ve, run::gen_runarray72, IntArray2(), SYM(triangulate), formal(pairArray(), SYM(z), false, false));
+#line 2118 "runarray.in"
+ addFunc(ve, run::gen_runarray73, primReal(), SYM(norm), formal(realArray(), SYM(a), false, false));
+#line 2129 "runarray.in"
+ addFunc(ve, run::gen_runarray74, primReal(), SYM(norm), formal(realArray2(), SYM(a), false, false));
+#line 2144 "runarray.in"
+ addFunc(ve, run::gen_runarray75, primReal(), SYM(norm), formal(tripleArray2(), SYM(a), false, false));
+#line 2159 "runarray.in"
+ addFunc(ve, run::gen_runarray76, primReal(), SYM(change2), formal(tripleArray2(), SYM(a), false, false));
+#line 2181 "runarray.in"
+ addFunc(ve, run::gen_runarray77, primTriple(), SYM(minbezier), formal(tripleArray2(), SYM(p), false, false), formal(primTriple(), SYM(b), false, false));
+#line 2193 "runarray.in"
+ addFunc(ve, run::gen_runarray78, primTriple(), SYM(maxbezier), formal(tripleArray2(), SYM(p), false, false), formal(primTriple(), SYM(b), false, false));
+#line 2205 "runarray.in"
+ addFunc(ve, run::gen_runarray79, primPair(), SYM(minratio), formal(tripleArray2(), SYM(p), false, false), formal(primPair(), SYM(b), false, false));
+#line 2217 "runarray.in"
+ addFunc(ve, run::gen_runarray80, primPair(), SYM(maxratio), formal(tripleArray2(), SYM(p), false, false), formal(primPair(), SYM(b), false, false));
+#line 2229 "runarray.in"
+ addFunc(ve, run::gen_runarray81, realArray(), SYM(_projection));
}
} // namespace trans
diff --git a/graphics/asymptote/runarray.in b/graphics/asymptote/runarray.in
index 5e45cfd4bf..fdc28f2d3c 100644
--- a/graphics/asymptote/runarray.in
+++ b/graphics/asymptote/runarray.in
@@ -12,6 +12,7 @@ Intarray* => IntArray()
Intarray2* => IntArray2()
realarray* => realArray()
realarray2* => realArray2()
+realarray3* => realArray3()
pairarray* => pairArray()
pairarray2* => pairArray2()
pairarray3* => pairArray3()
@@ -34,6 +35,19 @@ static const char *installFFTW=
"Please install fftw3, then ./configure; make";
#endif
+#ifdef HAVE_EIGEN_DENSE
+#include <Eigen/Dense>
+typedef std::complex<double> Complex;
+static const char *square="matrix must be square";
+using Eigen::MatrixXd;
+using Eigen::MatrixXcd;
+using Eigen::RealSchur;
+using Eigen::ComplexSchur;
+#else
+static const char *installEIGEN=
+ "Please install eigen3, then ./configure; make";
+#endif
+
using namespace camp;
using namespace vm;
@@ -46,6 +60,7 @@ typedef array Intarray;
typedef array Intarray2;
typedef array realarray;
typedef array realarray2;
+typedef array realarray3;
typedef array pairarray;
typedef array pairarray2;
typedef array pairarray3;
@@ -56,6 +71,7 @@ using types::IntArray;
using types::IntArray2;
using types::realArray;
using types::realArray2;
+using types::realArray3;
using types::pairArray;
using types::pairArray2;
using types::pairArray3;
@@ -1964,6 +1980,106 @@ pairarray3* fft(pairarray3 *a, Int sign=1)
return c;
}
+// Compute the real Schur decomposition of a 2D pair array
+realarray3* _schur(realarray2 *a)
+{
+#ifdef HAVE_EIGEN_DENSE
+ size_t n=checkArray(a);
+
+ MatrixXd A=MatrixXd::Random(n,n);
+ RealSchur<MatrixXd> schur(n);
+
+ array *S=new array(2);
+
+ if(n) {
+ for(size_t i=0; i < n; ++i) {
+ array *ai=read<array *>(a,i);
+ size_t aisize=checkArray(ai);
+ if(aisize != n) error(square);
+ for(size_t j=0; j < n; ++j)
+ A(i,j)=read<double>(ai,j);
+ }
+
+ schur.compute(A);
+ MatrixXd U=schur.matrixU();
+ MatrixXd T=schur.matrixT();
+
+ array *u=new array(n);
+ array *t=new array(n);
+ (*S)[0]=u;
+ (*S)[1]=t;
+
+ for(size_t i=0; i < n; ++i) {
+ array *ui=new array(n);
+ array *ti=new array(n);
+ (*u)[i]=ui;
+ (*t)[i]=ti;
+ for(size_t j=0; j < n; ++j) {
+ (*ui)[j]=U(i,j);
+ (*ti)[j]=T(i,j);
+ }
+ }
+ }
+#else
+ unused(a);
+ array *S=new array(0);
+ error(installEIGEN);
+#endif // HAVE_EIGEN_DENSE
+ return S;
+}
+
+// Compute the Schur decomposition of a 2D pair array
+pairarray3* _schur(pairarray2 *a)
+{
+#ifdef HAVE_EIGEN_DENSE
+ size_t n=checkArray(a);
+
+ MatrixXcd A=MatrixXcd::Random(n,n);
+ ComplexSchur<MatrixXcd> schur(n);
+
+ array *S=new array(2);
+
+ if(n) {
+ for(size_t i=0; i < n; ++i) {
+ array *ai=read<array *>(a,i);
+ size_t aisize=checkArray(ai);
+ if(aisize != n) error(square);
+ for(size_t j=0; j < n; ++j) {
+ pair z=read<pair>(ai,j);
+ A(i,j)=Complex(z.getx(),z.gety());
+ }
+ }
+
+ schur.compute(A);
+ MatrixXcd U=schur.matrixU();
+ MatrixXcd T=schur.matrixT();
+
+ array *u=new array(n);
+ array *t=new array(n);
+ (*S)[0]=u;
+ (*S)[1]=t;
+
+ for(size_t i=0; i < n; ++i) {
+ array *ui=new array(n);
+ array *ti=new array(n);
+ (*u)[i]=ui;
+ (*t)[i]=ti;
+ for(size_t j=0; j < n; ++j) {
+ Complex z=U(i,j);
+ Complex w=T(i,j);
+ (*ui)[j]=pair(z.real(),z.imag());
+ (*ti)[j]=pair(w.real(),w.imag());
+ }
+ }
+ }
+#else
+ unused(a);
+ array *S=new array(0);
+ error(installEIGEN);
+#endif // HAVE_EIGEN_DENSE
+ return S;
+}
+
Intarray2 *triangulate(pairarray *z)
{
size_t nv=checkArray(z);
diff --git a/graphics/asymptote/runbacktrace.cc b/graphics/asymptote/runbacktrace.cc
index 002debf8f6..14ad27acc8 100644
--- a/graphics/asymptote/runbacktrace.cc
+++ b/graphics/asymptote/runbacktrace.cc
@@ -43,11 +43,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runfile.cc b/graphics/asymptote/runfile.cc
index c9b2554da8..7804565b7e 100644
--- a/graphics/asymptote/runfile.cc
+++ b/graphics/asymptote/runfile.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runhistory.cc b/graphics/asymptote/runhistory.cc
index f6a9cc8cf9..089807c5a0 100644
--- a/graphics/asymptote/runhistory.cc
+++ b/graphics/asymptote/runhistory.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runlabel.cc b/graphics/asymptote/runlabel.cc
index 7611a05eb9..6605bc1b84 100644
--- a/graphics/asymptote/runlabel.cc
+++ b/graphics/asymptote/runlabel.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
@@ -360,14 +360,13 @@ void gen_runlabel3(stack *Stack)
int status=opentex(texname,prefix,!xe);
- string pdfname,pdfname2,psname2;
+ string pdfname,psname2;
bool keep=getSetting<bool>("keep");
if(!status) {
if(xe) {
string psdriver=getSetting<string>("psdriver");
pdfname=auxname(prefix,"pdf");
- pdfname2=auxname(prefix+"_","pdf");
psname2=auxname(prefix+"_","ps");
if(!fs::exists(pdfname)) {Stack->push<patharray2*>(new array(n)); return;}
std::ofstream ps(psname.c_str(),std::ios::binary);
@@ -375,34 +374,21 @@ void gen_runlabel3(stack *Stack)
showpath(ps);
- mem::vector<string> pcmd;
- pcmd.push_back(getSetting<string>("gs"));
- pcmd.push_back("-q");
- pcmd.push_back("-dNOCACHE");
- pcmd.push_back("-dNOPAUSE");
- pcmd.push_back("-dBATCH");
- if(safe) pcmd.push_back("-dSAFER");
- pcmd.push_back("-sDEVICE=pdfwrite");
- pcmd.push_back("-sOutputFile="+pdfname2);
- pcmd.push_back(pdfname);
- status=System(pcmd,0,true,"gs");
- if(status == 0) {
- mem::vector<string> cmd;
- cmd.push_back(getSetting<string>("gs"));
- cmd.push_back("-q");
- cmd.push_back("-dNOCACHE");
- cmd.push_back("-dNOPAUSE");
- cmd.push_back("-dBATCH");
- if(safe) cmd.push_back("-dSAFER");
- cmd.push_back("-sDEVICE="+psdriver);
- cmd.push_back("-sOutputFile="+psname2);
- cmd.push_back(pdfname2);
- status=System(cmd,0,true,"gs");
-
- std::ifstream in(psname2.c_str());
- ps << in.rdbuf();
- ps.close();
- }
+ mem::vector<string> cmd;
+ cmd.push_back(getSetting<string>("gs"));
+ cmd.push_back("-q");
+ cmd.push_back("-dNoOutputFonts");
+ cmd.push_back("-dNOPAUSE");
+ cmd.push_back("-dBATCH");
+ if(safe) cmd.push_back("-dSAFER");
+ cmd.push_back("-sDEVICE="+psdriver);
+ cmd.push_back("-sOutputFile="+psname2);
+ cmd.push_back(pdfname);
+ status=System(cmd,0,true,"gs");
+
+ std::ifstream in(psname2.c_str());
+ ps << in.rdbuf();
+ ps.close();
} else {
if(!fs::exists(dviname)) {Stack->push<patharray2*>(new array(n)); return;}
mem::vector<string> dcmd;
@@ -424,11 +410,7 @@ void gen_runlabel3(stack *Stack)
if(!getSetting<bool>("keepaux"))
unlink(auxname(prefix,"aux").c_str());
unlink(auxname(prefix,"log").c_str());
- if(xe) {
- unlink(pdfname.c_str());
- unlink(pdfname2.c_str());
- } else
- unlink(dviname.c_str());
+ unlink(xe ? pdfname.c_str() : dviname.c_str());
if(settings::context(texengine)) {
unlink(auxname(prefix,"top").c_str());
unlink(auxname(prefix,"tua").c_str());
@@ -439,13 +421,13 @@ void gen_runlabel3(stack *Stack)
{Stack->push<patharray2*>(xe ? readpath(psname,keep,0.1) : readpath(psname,keep,0.12,-1.0)); return;}
}
-#line 367 "runlabel.in"
+#line 349 "runlabel.in"
// patharray2* textpath(stringarray *s, penarray *p);
void gen_runlabel4(stack *Stack)
{
penarray * p=vm::pop<penarray *>(Stack);
stringarray * s=vm::pop<stringarray *>(Stack);
-#line 368 "runlabel.in"
+#line 350 "runlabel.in"
size_t n=checkArrays(s,p);
if(n == 0) {Stack->push<patharray2*>(new array(0)); return;}
@@ -481,7 +463,7 @@ void gen_runlabel4(stack *Stack)
mem::vector<string> cmd2;
cmd2.push_back(getSetting<string>("gs"));
cmd2.push_back("-q");
- cmd2.push_back("-dNOCACHE");
+ cmd2.push_back("-dNoOutputFonts");
cmd2.push_back("-dNOPAUSE");
cmd2.push_back("-dBATCH");
cmd2.push_back("-P");
@@ -518,13 +500,13 @@ void gen_runlabel4(stack *Stack)
{Stack->push<patharray2*>(readpath(psname,keep,0.1)); return;}
}
-#line 441 "runlabel.in"
+#line 423 "runlabel.in"
// patharray* _strokepath(path g, pen p=CURRENTPEN);
void gen_runlabel5(stack *Stack)
{
pen p=vm::pop<pen>(Stack,CURRENTPEN);
path g=vm::pop<path>(Stack);
-#line 442 "runlabel.in"
+#line 424 "runlabel.in"
array *P=new array(0);
if(g.size() == 0) {Stack->push<patharray*>(P); return;}
@@ -562,9 +544,9 @@ void gen_runlabel_venv(venv &ve)
addFunc(ve, run::gen_runlabel2, realArray(), SYM(texsize), formal(primString(), SYM(s), false, false), formal(primPen(), SYM(p), true, false));
#line 243 "runlabel.in"
addFunc(ve, run::gen_runlabel3, pathArray2(), SYM(_texpath), formal(stringArray(), SYM(s), false, false), formal(penArray(), SYM(p), false, false));
-#line 367 "runlabel.in"
+#line 349 "runlabel.in"
addFunc(ve, run::gen_runlabel4, pathArray2(), SYM(textpath), formal(stringArray(), SYM(s), false, false), formal(penArray(), SYM(p), false, false));
-#line 441 "runlabel.in"
+#line 423 "runlabel.in"
addFunc(ve, run::gen_runlabel5, pathArray(), SYM(_strokepath), formal(primPath(), SYM(g), false, false), formal(primPen(), SYM(p), true, false));
}
diff --git a/graphics/asymptote/runlabel.in b/graphics/asymptote/runlabel.in
index 4a6a157d08..06354a9045 100644
--- a/graphics/asymptote/runlabel.in
+++ b/graphics/asymptote/runlabel.in
@@ -285,14 +285,13 @@ patharray2 *_texpath(stringarray *s, penarray *p)
int status=opentex(texname,prefix,!xe);
- string pdfname,pdfname2,psname2;
+ string pdfname,psname2;
bool keep=getSetting<bool>("keep");
if(!status) {
if(xe) {
string psdriver=getSetting<string>("psdriver");
pdfname=auxname(prefix,"pdf");
- pdfname2=auxname(prefix+"_","pdf");
psname2=auxname(prefix+"_","ps");
if(!fs::exists(pdfname)) return new array(n);
std::ofstream ps(psname.c_str(),std::ios::binary);
@@ -300,34 +299,21 @@ patharray2 *_texpath(stringarray *s, penarray *p)
showpath(ps);
- mem::vector<string> pcmd;
- pcmd.push_back(getSetting<string>("gs"));
- pcmd.push_back("-q");
- pcmd.push_back("-dNOCACHE");
- pcmd.push_back("-dNOPAUSE");
- pcmd.push_back("-dBATCH");
- if(safe) pcmd.push_back("-dSAFER");
- pcmd.push_back("-sDEVICE=pdfwrite");
- pcmd.push_back("-sOutputFile="+pdfname2);
- pcmd.push_back(pdfname);
- status=System(pcmd,0,true,"gs");
- if(status == 0) {
- mem::vector<string> cmd;
- cmd.push_back(getSetting<string>("gs"));
- cmd.push_back("-q");
- cmd.push_back("-dNOCACHE");
- cmd.push_back("-dNOPAUSE");
- cmd.push_back("-dBATCH");
- if(safe) cmd.push_back("-dSAFER");
- cmd.push_back("-sDEVICE="+psdriver);
- cmd.push_back("-sOutputFile="+psname2);
- cmd.push_back(pdfname2);
- status=System(cmd,0,true,"gs");
-
- std::ifstream in(psname2.c_str());
- ps << in.rdbuf();
- ps.close();
- }
+ mem::vector<string> cmd;
+ cmd.push_back(getSetting<string>("gs"));
+ cmd.push_back("-q");
+ cmd.push_back("-dNoOutputFonts");
+ cmd.push_back("-dNOPAUSE");
+ cmd.push_back("-dBATCH");
+ if(safe) cmd.push_back("-dSAFER");
+ cmd.push_back("-sDEVICE="+psdriver);
+ cmd.push_back("-sOutputFile="+psname2);
+ cmd.push_back(pdfname);
+ status=System(cmd,0,true,"gs");
+
+ std::ifstream in(psname2.c_str());
+ ps << in.rdbuf();
+ ps.close();
} else {
if(!fs::exists(dviname)) return new array(n);
mem::vector<string> dcmd;
@@ -349,11 +335,7 @@ patharray2 *_texpath(stringarray *s, penarray *p)
if(!getSetting<bool>("keepaux"))
unlink(auxname(prefix,"aux").c_str());
unlink(auxname(prefix,"log").c_str());
- if(xe) {
- unlink(pdfname.c_str());
- unlink(pdfname2.c_str());
- } else
- unlink(dviname.c_str());
+ unlink(xe ? pdfname.c_str() : dviname.c_str());
if(settings::context(texengine)) {
unlink(auxname(prefix,"top").c_str());
unlink(auxname(prefix,"tua").c_str());
@@ -401,7 +383,7 @@ patharray2 *textpath(stringarray *s, penarray *p)
mem::vector<string> cmd2;
cmd2.push_back(getSetting<string>("gs"));
cmd2.push_back("-q");
- cmd2.push_back("-dNOCACHE");
+ cmd2.push_back("-dNoOutputFonts");
cmd2.push_back("-dNOPAUSE");
cmd2.push_back("-dBATCH");
cmd2.push_back("-P");
diff --git a/graphics/asymptote/runmath.cc b/graphics/asymptote/runmath.cc
index 776e45c804..d9ac05bba4 100644
--- a/graphics/asymptote/runmath.cc
+++ b/graphics/asymptote/runmath.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
@@ -70,8 +70,6 @@ function *realRealFunction();
#ifdef __CYGWIN__
extern "C" double yn(int, double);
extern "C" double jn(int, double);
-extern "C" int __signgam;
-#define signgam __signgam
#endif
using namespace camp;
@@ -248,233 +246,233 @@ void Srand(Int seed)
#endif
namespace run {
-#line 192 "runmath.in"
+#line 190 "runmath.in"
// real ^(real x, Int y);
void gen_runmath0(stack *Stack)
{
Int y=vm::pop<Int>(Stack);
real x=vm::pop<real>(Stack);
-#line 193 "runmath.in"
+#line 191 "runmath.in"
{Stack->push<real>(pow(x,y)); return;}
}
-#line 197 "runmath.in"
+#line 195 "runmath.in"
// pair ^(pair z, Int y);
void gen_runmath1(stack *Stack)
{
Int y=vm::pop<Int>(Stack);
pair z=vm::pop<pair>(Stack);
-#line 198 "runmath.in"
+#line 196 "runmath.in"
{Stack->push<pair>(pow(z,y)); return;}
}
-#line 202 "runmath.in"
+#line 200 "runmath.in"
// Int quotient(Int x, Int y);
void gen_runmath2(stack *Stack)
{
Int y=vm::pop<Int>(Stack);
Int x=vm::pop<Int>(Stack);
-#line 203 "runmath.in"
+#line 201 "runmath.in"
{Stack->push<Int>(quotient<Int>()(x,y)); return;}
}
-#line 207 "runmath.in"
+#line 205 "runmath.in"
// Int abs(Int x);
void gen_runmath3(stack *Stack)
{
Int x=vm::pop<Int>(Stack);
-#line 208 "runmath.in"
+#line 206 "runmath.in"
{Stack->push<Int>(Abs(x)); return;}
}
-#line 212 "runmath.in"
+#line 210 "runmath.in"
// Int sgn(real x);
void gen_runmath4(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 213 "runmath.in"
+#line 211 "runmath.in"
{Stack->push<Int>(sgn(x)); return;}
}
-#line 217 "runmath.in"
+#line 215 "runmath.in"
// Int rand();
void gen_runmath5(stack *Stack)
{
-#line 218 "runmath.in"
+#line 216 "runmath.in"
if(initializeRandom)
Srand(1);
{Stack->push<Int>(random()); return;}
}
-#line 224 "runmath.in"
+#line 222 "runmath.in"
// void srand(Int seed);
void gen_runmath6(stack *Stack)
{
Int seed=vm::pop<Int>(Stack);
-#line 225 "runmath.in"
+#line 223 "runmath.in"
Srand(seed);
}
// a random number uniformly distributed in the interval [0,1]
-#line 230 "runmath.in"
+#line 228 "runmath.in"
// real unitrand();
void gen_runmath7(stack *Stack)
{
-#line 231 "runmath.in"
+#line 229 "runmath.in"
{Stack->push<real>(((real) random())/RANDOM_MAX); return;}
}
-#line 235 "runmath.in"
+#line 233 "runmath.in"
// Int ceil(real x);
void gen_runmath8(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 236 "runmath.in"
+#line 234 "runmath.in"
{Stack->push<Int>(Intcast(ceil(x))); return;}
}
-#line 240 "runmath.in"
+#line 238 "runmath.in"
// Int floor(real x);
void gen_runmath9(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 241 "runmath.in"
+#line 239 "runmath.in"
{Stack->push<Int>(Intcast(floor(x))); return;}
}
-#line 245 "runmath.in"
+#line 243 "runmath.in"
// Int round(real x);
void gen_runmath10(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 246 "runmath.in"
+#line 244 "runmath.in"
if(validInt(x)) {Stack->push<Int>(Round(x)); return;}
integeroverflow(0);
}
-#line 251 "runmath.in"
+#line 249 "runmath.in"
// Int Ceil(real x);
void gen_runmath11(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 252 "runmath.in"
+#line 250 "runmath.in"
{Stack->push<Int>(Ceil(x)); return;}
}
-#line 256 "runmath.in"
+#line 254 "runmath.in"
// Int Floor(real x);
void gen_runmath12(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 257 "runmath.in"
+#line 255 "runmath.in"
{Stack->push<Int>(Floor(x)); return;}
}
-#line 261 "runmath.in"
+#line 259 "runmath.in"
// Int Round(real x);
void gen_runmath13(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 262 "runmath.in"
+#line 260 "runmath.in"
{Stack->push<Int>(Round(Intcap(x))); return;}
}
-#line 266 "runmath.in"
+#line 264 "runmath.in"
// real fmod(real x, real y);
void gen_runmath14(stack *Stack)
{
real y=vm::pop<real>(Stack);
real x=vm::pop<real>(Stack);
-#line 267 "runmath.in"
+#line 265 "runmath.in"
if (y == 0.0) dividebyzero();
{Stack->push<real>(fmod(x,y)); return;}
}
-#line 272 "runmath.in"
+#line 270 "runmath.in"
// real atan2(real y, real x);
void gen_runmath15(stack *Stack)
{
real x=vm::pop<real>(Stack);
real y=vm::pop<real>(Stack);
-#line 273 "runmath.in"
+#line 271 "runmath.in"
{Stack->push<real>(atan2(y,x)); return;}
}
-#line 277 "runmath.in"
+#line 275 "runmath.in"
// real hypot(real x, real y);
void gen_runmath16(stack *Stack)
{
real y=vm::pop<real>(Stack);
real x=vm::pop<real>(Stack);
-#line 278 "runmath.in"
+#line 276 "runmath.in"
{Stack->push<real>(hypot(x,y)); return;}
}
-#line 282 "runmath.in"
+#line 280 "runmath.in"
// real remainder(real x, real y);
void gen_runmath17(stack *Stack)
{
real y=vm::pop<real>(Stack);
real x=vm::pop<real>(Stack);
-#line 283 "runmath.in"
+#line 281 "runmath.in"
{Stack->push<real>(remainder(x,y)); return;}
}
-#line 287 "runmath.in"
+#line 285 "runmath.in"
// real Jn(Int n, real x);
void gen_runmath18(stack *Stack)
{
real x=vm::pop<real>(Stack);
Int n=vm::pop<Int>(Stack);
-#line 288 "runmath.in"
+#line 286 "runmath.in"
{Stack->push<real>(jn(n,x)); return;}
}
-#line 292 "runmath.in"
+#line 290 "runmath.in"
// real Yn(Int n, real x);
void gen_runmath19(stack *Stack)
{
real x=vm::pop<real>(Stack);
Int n=vm::pop<Int>(Stack);
-#line 293 "runmath.in"
+#line 291 "runmath.in"
{Stack->push<real>(yn(n,x)); return;}
}
-#line 297 "runmath.in"
+#line 295 "runmath.in"
// real erf(real x);
void gen_runmath20(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 298 "runmath.in"
+#line 296 "runmath.in"
{Stack->push<real>(erf(x)); return;}
}
-#line 302 "runmath.in"
+#line 300 "runmath.in"
// real erfc(real x);
void gen_runmath21(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 303 "runmath.in"
+#line 301 "runmath.in"
{Stack->push<real>(erfc(x)); return;}
}
-#line 307 "runmath.in"
+#line 305 "runmath.in"
// Int factorial(Int n);
void gen_runmath22(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
-#line 308 "runmath.in"
+#line 306 "runmath.in"
if(n < 0) error(invalidargument);
{Stack->push<Int>(factorial(n)); return;}
}
-#line 312 "runmath.in"
+#line 310 "runmath.in"
// Int choose(Int n, Int k);
void gen_runmath23(stack *Stack)
{
Int k=vm::pop<Int>(Stack);
Int n=vm::pop<Int>(Stack);
-#line 313 "runmath.in"
+#line 311 "runmath.in"
if(n < 0 || k < 0 || k > n) error(invalidargument);
Int f=1;
Int r=n-k;
@@ -485,12 +483,12 @@ void gen_runmath23(stack *Stack)
{Stack->push<Int>(f); return;}
}
-#line 323 "runmath.in"
+#line 321 "runmath.in"
// real gamma(real x);
void gen_runmath24(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 324 "runmath.in"
+#line 322 "runmath.in"
#ifdef HAVE_TGAMMA
{Stack->push<real>(tgamma(x)); return;}
#else
@@ -499,14 +497,14 @@ void gen_runmath24(stack *Stack)
#endif
}
-#line 333 "runmath.in"
+#line 331 "runmath.in"
// realarray* quadraticroots(real a, real b, real c);
void gen_runmath25(stack *Stack)
{
real c=vm::pop<real>(Stack);
real b=vm::pop<real>(Stack);
real a=vm::pop<real>(Stack);
-#line 334 "runmath.in"
+#line 332 "runmath.in"
quadraticroots q(a,b,c);
array *roots=new array(q.roots);
if(q.roots >= 1) (*roots)[0]=q.t1;
@@ -514,14 +512,14 @@ void gen_runmath25(stack *Stack)
{Stack->push<realarray*>(roots); return;}
}
-#line 342 "runmath.in"
+#line 340 "runmath.in"
// pairarray* quadraticroots(explicit pair a, explicit pair b, explicit pair c);
void gen_runmath26(stack *Stack)
{
pair c=vm::pop<pair>(Stack);
pair b=vm::pop<pair>(Stack);
pair a=vm::pop<pair>(Stack);
-#line 343 "runmath.in"
+#line 341 "runmath.in"
Quadraticroots q(a,b,c);
array *roots=new array(q.roots);
if(q.roots >= 1) (*roots)[0]=q.z1;
@@ -529,7 +527,7 @@ void gen_runmath26(stack *Stack)
{Stack->push<pairarray*>(roots); return;}
}
-#line 351 "runmath.in"
+#line 349 "runmath.in"
// realarray* cubicroots(real a, real b, real c, real d);
void gen_runmath27(stack *Stack)
{
@@ -537,7 +535,7 @@ void gen_runmath27(stack *Stack)
real c=vm::pop<real>(Stack);
real b=vm::pop<real>(Stack);
real a=vm::pop<real>(Stack);
-#line 352 "runmath.in"
+#line 350 "runmath.in"
cubicroots q(a,b,c,d);
array *roots=new array(q.roots);
if(q.roots >= 1) (*roots)[0]=q.t1;
@@ -548,98 +546,98 @@ void gen_runmath27(stack *Stack)
// Logical operations
-#line 363 "runmath.in"
+#line 361 "runmath.in"
// bool !(bool b);
void gen_runmath28(stack *Stack)
{
bool b=vm::pop<bool>(Stack);
-#line 364 "runmath.in"
+#line 362 "runmath.in"
{Stack->push<bool>(!b); return;}
}
-#line 369 "runmath.in"
+#line 367 "runmath.in"
void boolMemEq(stack *Stack)
{
frame * b=vm::pop<frame *>(Stack);
frame * a=vm::pop<frame *>(Stack);
-#line 370 "runmath.in"
+#line 368 "runmath.in"
{Stack->push<bool>(a == b); return;}
}
-#line 374 "runmath.in"
+#line 372 "runmath.in"
void boolMemNeq(stack *Stack)
{
frame * b=vm::pop<frame *>(Stack);
frame * a=vm::pop<frame *>(Stack);
-#line 375 "runmath.in"
+#line 373 "runmath.in"
{Stack->push<bool>(a != b); return;}
}
-#line 379 "runmath.in"
+#line 377 "runmath.in"
void boolFuncEq(stack *Stack)
{
callable * b=vm::pop<callable *>(Stack);
callable * a=vm::pop<callable *>(Stack);
-#line 380 "runmath.in"
+#line 378 "runmath.in"
{Stack->push<bool>(a->compare(b)); return;}
}
-#line 384 "runmath.in"
+#line 382 "runmath.in"
void boolFuncNeq(stack *Stack)
{
callable * b=vm::pop<callable *>(Stack);
callable * a=vm::pop<callable *>(Stack);
-#line 385 "runmath.in"
+#line 383 "runmath.in"
{Stack->push<bool>(!(a->compare(b))); return;}
}
// Bit operations
-#line 391 "runmath.in"
+#line 389 "runmath.in"
// Int AND(Int a, Int b);
void gen_runmath33(stack *Stack)
{
Int b=vm::pop<Int>(Stack);
Int a=vm::pop<Int>(Stack);
-#line 392 "runmath.in"
+#line 390 "runmath.in"
{Stack->push<Int>(a & b); return;}
}
-#line 397 "runmath.in"
+#line 395 "runmath.in"
// Int OR(Int a, Int b);
void gen_runmath34(stack *Stack)
{
Int b=vm::pop<Int>(Stack);
Int a=vm::pop<Int>(Stack);
-#line 398 "runmath.in"
+#line 396 "runmath.in"
{Stack->push<Int>(a | b); return;}
}
-#line 402 "runmath.in"
+#line 400 "runmath.in"
// Int XOR(Int a, Int b);
void gen_runmath35(stack *Stack)
{
Int b=vm::pop<Int>(Stack);
Int a=vm::pop<Int>(Stack);
-#line 403 "runmath.in"
+#line 401 "runmath.in"
{Stack->push<Int>(a ^ b); return;}
}
-#line 407 "runmath.in"
+#line 405 "runmath.in"
// Int NOT(Int a);
void gen_runmath36(stack *Stack)
{
Int a=vm::pop<Int>(Stack);
-#line 408 "runmath.in"
+#line 406 "runmath.in"
{Stack->push<Int>(~a); return;}
}
-#line 412 "runmath.in"
+#line 410 "runmath.in"
// Int CLZ(Int a);
void gen_runmath37(stack *Stack)
{
Int a=vm::pop<Int>(Stack);
-#line 413 "runmath.in"
+#line 411 "runmath.in"
if((unsigned long long) a > 0xFFFFFFFF)
{Stack->push<Int>(CLZ((uint32_t) ((unsigned long long) a >> 32))); return;}
else {
@@ -649,32 +647,32 @@ void gen_runmath37(stack *Stack)
}
}
-#line 423 "runmath.in"
+#line 421 "runmath.in"
// Int popcount(Int a);
void gen_runmath38(stack *Stack)
{
Int a=vm::pop<Int>(Stack);
-#line 424 "runmath.in"
+#line 422 "runmath.in"
{Stack->push<Int>(popcount(a)); return;}
}
-#line 428 "runmath.in"
+#line 426 "runmath.in"
// Int CTZ(Int a);
void gen_runmath39(stack *Stack)
{
Int a=vm::pop<Int>(Stack);
-#line 429 "runmath.in"
+#line 427 "runmath.in"
{Stack->push<Int>(popcount((a&-a)-1)); return;}
}
// bitreverse a within a word of length bits.
-#line 434 "runmath.in"
+#line 432 "runmath.in"
// Int bitreverse(Int a, Int bits);
void gen_runmath40(stack *Stack)
{
Int bits=vm::pop<Int>(Stack);
Int a=vm::pop<Int>(Stack);
-#line 435 "runmath.in"
+#line 433 "runmath.in"
typedef unsigned long long Bitreverse(unsigned long long a);
static Bitreverse *B[]={bitreverse8,bitreverse16,bitreverse24,bitreverse32,
bitreverse40,bitreverse48,bitreverse56,bitreverse64};
@@ -695,87 +693,87 @@ namespace trans {
void gen_runmath_venv(venv &ve)
{
-#line 192 "runmath.in"
+#line 190 "runmath.in"
addFunc(ve, run::gen_runmath0, primReal(), SYM_CARET, formal(primReal(), SYM(x), false, false), formal(primInt(), SYM(y), false, false));
-#line 197 "runmath.in"
+#line 195 "runmath.in"
addFunc(ve, run::gen_runmath1, primPair(), SYM_CARET, formal(primPair(), SYM(z), false, false), formal(primInt(), SYM(y), false, false));
-#line 202 "runmath.in"
+#line 200 "runmath.in"
addFunc(ve, run::gen_runmath2, primInt(), SYM(quotient), formal(primInt(), SYM(x), false, false), formal(primInt(), SYM(y), false, false));
-#line 207 "runmath.in"
+#line 205 "runmath.in"
addFunc(ve, run::gen_runmath3, primInt(), SYM(abs), formal(primInt(), SYM(x), false, false));
-#line 212 "runmath.in"
+#line 210 "runmath.in"
addFunc(ve, run::gen_runmath4, primInt(), SYM(sgn), formal(primReal(), SYM(x), false, false));
-#line 217 "runmath.in"
+#line 215 "runmath.in"
addFunc(ve, run::gen_runmath5, primInt(), SYM(rand));
-#line 224 "runmath.in"
+#line 222 "runmath.in"
addFunc(ve, run::gen_runmath6, primVoid(), SYM(srand), formal(primInt(), SYM(seed), false, false));
-#line 229 "runmath.in"
+#line 227 "runmath.in"
addFunc(ve, run::gen_runmath7, primReal(), SYM(unitrand));
-#line 235 "runmath.in"
+#line 233 "runmath.in"
addFunc(ve, run::gen_runmath8, primInt(), SYM(ceil), formal(primReal(), SYM(x), false, false));
-#line 240 "runmath.in"
+#line 238 "runmath.in"
addFunc(ve, run::gen_runmath9, primInt(), SYM(floor), formal(primReal(), SYM(x), false, false));
-#line 245 "runmath.in"
+#line 243 "runmath.in"
addFunc(ve, run::gen_runmath10, primInt(), SYM(round), formal(primReal(), SYM(x), false, false));
-#line 251 "runmath.in"
+#line 249 "runmath.in"
addFunc(ve, run::gen_runmath11, primInt(), SYM(Ceil), formal(primReal(), SYM(x), false, false));
-#line 256 "runmath.in"
+#line 254 "runmath.in"
addFunc(ve, run::gen_runmath12, primInt(), SYM(Floor), formal(primReal(), SYM(x), false, false));
-#line 261 "runmath.in"
+#line 259 "runmath.in"
addFunc(ve, run::gen_runmath13, primInt(), SYM(Round), formal(primReal(), SYM(x), false, false));
-#line 266 "runmath.in"
+#line 264 "runmath.in"
addFunc(ve, run::gen_runmath14, primReal(), SYM(fmod), formal(primReal(), SYM(x), false, false), formal(primReal(), SYM(y), false, false));
-#line 272 "runmath.in"
+#line 270 "runmath.in"
addFunc(ve, run::gen_runmath15, primReal(), SYM(atan2), formal(primReal(), SYM(y), false, false), formal(primReal(), SYM(x), false, false));
-#line 277 "runmath.in"
+#line 275 "runmath.in"
addFunc(ve, run::gen_runmath16, primReal(), SYM(hypot), formal(primReal(), SYM(x), false, false), formal(primReal(), SYM(y), false, false));
-#line 282 "runmath.in"
+#line 280 "runmath.in"
addFunc(ve, run::gen_runmath17, primReal(), SYM(remainder), formal(primReal(), SYM(x), false, false), formal(primReal(), SYM(y), false, false));
-#line 287 "runmath.in"
+#line 285 "runmath.in"
addFunc(ve, run::gen_runmath18, primReal(), SYM(Jn), formal(primInt(), SYM(n), false, false), formal(primReal(), SYM(x), false, false));
-#line 292 "runmath.in"
+#line 290 "runmath.in"
addFunc(ve, run::gen_runmath19, primReal(), SYM(Yn), formal(primInt(), SYM(n), false, false), formal(primReal(), SYM(x), false, false));
-#line 297 "runmath.in"
+#line 295 "runmath.in"
addFunc(ve, run::gen_runmath20, primReal(), SYM(erf), formal(primReal(), SYM(x), false, false));
-#line 302 "runmath.in"
+#line 300 "runmath.in"
addFunc(ve, run::gen_runmath21, primReal(), SYM(erfc), formal(primReal(), SYM(x), false, false));
-#line 307 "runmath.in"
+#line 305 "runmath.in"
addFunc(ve, run::gen_runmath22, primInt(), SYM(factorial), formal(primInt(), SYM(n), false, false));
-#line 312 "runmath.in"
+#line 310 "runmath.in"
addFunc(ve, run::gen_runmath23, primInt(), SYM(choose), formal(primInt(), SYM(n), false, false), formal(primInt(), SYM(k), false, false));
-#line 323 "runmath.in"
+#line 321 "runmath.in"
addFunc(ve, run::gen_runmath24, primReal(), SYM(gamma), formal(primReal(), SYM(x), false, false));
-#line 333 "runmath.in"
+#line 331 "runmath.in"
addFunc(ve, run::gen_runmath25, realArray(), SYM(quadraticroots), formal(primReal(), SYM(a), false, false), formal(primReal(), SYM(b), false, false), formal(primReal(), SYM(c), false, false));
-#line 342 "runmath.in"
+#line 340 "runmath.in"
addFunc(ve, run::gen_runmath26, pairArray(), SYM(quadraticroots), formal(primPair(), SYM(a), false, true), formal(primPair(), SYM(b), false, true), formal(primPair(), SYM(c), false, true));
-#line 351 "runmath.in"
+#line 349 "runmath.in"
addFunc(ve, run::gen_runmath27, realArray(), SYM(cubicroots), formal(primReal(), SYM(a), false, false), formal(primReal(), SYM(b), false, false), formal(primReal(), SYM(c), false, false), formal(primReal(), SYM(d), false, false));
-#line 361 "runmath.in"
+#line 359 "runmath.in"
addFunc(ve, run::gen_runmath28, primBoolean(), SYM_LOGNOT, formal(primBoolean(), SYM(b), false, false));
-#line 369 "runmath.in"
+#line 367 "runmath.in"
REGISTER_BLTIN(run::boolMemEq,"boolMemEq");
-#line 374 "runmath.in"
+#line 372 "runmath.in"
REGISTER_BLTIN(run::boolMemNeq,"boolMemNeq");
-#line 379 "runmath.in"
+#line 377 "runmath.in"
REGISTER_BLTIN(run::boolFuncEq,"boolFuncEq");
-#line 384 "runmath.in"
+#line 382 "runmath.in"
REGISTER_BLTIN(run::boolFuncNeq,"boolFuncNeq");
-#line 389 "runmath.in"
+#line 387 "runmath.in"
addFunc(ve, run::gen_runmath33, primInt(), SYM(AND), formal(primInt(), SYM(a), false, false), formal(primInt(), SYM(b), false, false));
-#line 397 "runmath.in"
+#line 395 "runmath.in"
addFunc(ve, run::gen_runmath34, primInt(), SYM(OR), formal(primInt(), SYM(a), false, false), formal(primInt(), SYM(b), false, false));
-#line 402 "runmath.in"
+#line 400 "runmath.in"
addFunc(ve, run::gen_runmath35, primInt(), SYM(XOR), formal(primInt(), SYM(a), false, false), formal(primInt(), SYM(b), false, false));
-#line 407 "runmath.in"
+#line 405 "runmath.in"
addFunc(ve, run::gen_runmath36, primInt(), SYM(NOT), formal(primInt(), SYM(a), false, false));
-#line 412 "runmath.in"
+#line 410 "runmath.in"
addFunc(ve, run::gen_runmath37, primInt(), SYM(CLZ), formal(primInt(), SYM(a), false, false));
-#line 423 "runmath.in"
+#line 421 "runmath.in"
addFunc(ve, run::gen_runmath38, primInt(), SYM(popcount), formal(primInt(), SYM(a), false, false));
-#line 428 "runmath.in"
+#line 426 "runmath.in"
addFunc(ve, run::gen_runmath39, primInt(), SYM(CTZ), formal(primInt(), SYM(a), false, false));
-#line 433 "runmath.in"
+#line 431 "runmath.in"
addFunc(ve, run::gen_runmath40, primInt(), SYM(bitreverse), formal(primInt(), SYM(a), false, false), formal(primInt(), SYM(bits), false, false));
}
diff --git a/graphics/asymptote/runmath.in b/graphics/asymptote/runmath.in
index 9b1291cb94..4beba44fc3 100644
--- a/graphics/asymptote/runmath.in
+++ b/graphics/asymptote/runmath.in
@@ -17,8 +17,6 @@ pairarray* => pairArray()
#ifdef __CYGWIN__
extern "C" double yn(int, double);
extern "C" double jn(int, double);
-extern "C" int __signgam;
-#define signgam __signgam
#endif
using namespace camp;
diff --git a/graphics/asymptote/runpair.cc b/graphics/asymptote/runpair.cc
index 7ac0c99908..bbae654ec3 100644
--- a/graphics/asymptote/runpair.cc
+++ b/graphics/asymptote/runpair.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runpath.cc b/graphics/asymptote/runpath.cc
index 069055cb6f..b346cecd73 100644
--- a/graphics/asymptote/runpath.cc
+++ b/graphics/asymptote/runpath.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runpath3d.cc b/graphics/asymptote/runpath3d.cc
index ed27e19b62..cb80e3b692 100644
--- a/graphics/asymptote/runpath3d.cc
+++ b/graphics/asymptote/runpath3d.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runpicture.cc b/graphics/asymptote/runpicture.cc
index a85946c710..0cddfbdaf6 100644
--- a/graphics/asymptote/runpicture.cc
+++ b/graphics/asymptote/runpicture.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runstring.cc b/graphics/asymptote/runstring.cc
index 98f10e08f2..912df0ce34 100644
--- a/graphics/asymptote/runstring.cc
+++ b/graphics/asymptote/runstring.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runsystem.cc b/graphics/asymptote/runsystem.cc
index 81115dfc59..e9c8c37eec 100644
--- a/graphics/asymptote/runsystem.cc
+++ b/graphics/asymptote/runsystem.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runtime.cc b/graphics/asymptote/runtime.cc
index 5b6e9ea730..7a6a32d6c1 100644
--- a/graphics/asymptote/runtime.cc
+++ b/graphics/asymptote/runtime.cc
@@ -54,11 +54,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
@@ -1828,6 +1828,21 @@ void gen_runtime146(stack *Stack)
{Stack->push<bool>(t.isIsometry()); return;}
}
+#line 1217 "runtime.in"
+// real bezier(real a, real b, real c, real d, real t);
+void gen_runtime147(stack *Stack)
+{
+ real t=vm::pop<real>(Stack);
+ real d=vm::pop<real>(Stack);
+ real c=vm::pop<real>(Stack);
+ real b=vm::pop<real>(Stack);
+ real a=vm::pop<real>(Stack);
+#line 1218 "runtime.in"
+ real onemt=1-t;
+ real onemt2=onemt*onemt;
+ {Stack->push<real>(onemt2*onemt*a+t*(3.0*(onemt2*b+t*onemt*c)+t*t*d)); return;}
+}
+
} // namespace run
namespace trans {
@@ -2128,6 +2143,8 @@ void gen_runtime_venv(venv &ve)
addFunc(ve, run::gen_runtime145, primTransform(), SYM(reflect), formal(primPair(), SYM(a), false, false), formal(primPair(), SYM(b), false, false));
#line 1212 "runtime.in"
addFunc(ve, run::gen_runtime146, primBoolean(), SYM(isometry), formal(primTransform(), SYM(t), false, false));
+#line 1217 "runtime.in"
+ addFunc(ve, run::gen_runtime147, primReal(), SYM(bezier), formal(primReal(), SYM(a), false, false), formal(primReal(), SYM(b), false, false), formal(primReal(), SYM(c), false, false), formal(primReal(), SYM(d), false, false), formal(primReal(), SYM(t), false, false));
}
} // namespace trans
diff --git a/graphics/asymptote/runtime.in b/graphics/asymptote/runtime.in
index 1f67200f5d..42ea5dffc8 100644
--- a/graphics/asymptote/runtime.in
+++ b/graphics/asymptote/runtime.in
@@ -1213,3 +1213,10 @@ bool isometry(transform t)
{
return t.isIsometry();
}
+
+real bezier(real a, real b, real c, real d, real t)
+{
+ real onemt=1-t;
+ real onemt2=onemt*onemt;
+ return onemt2*onemt*a+t*(3.0*(onemt2*b+t*onemt*c)+t*t*d);
+}
diff --git a/graphics/asymptote/runtimebase.in b/graphics/asymptote/runtimebase.in
index 5f4cd4e458..48c1b1818f 100644
--- a/graphics/asymptote/runtimebase.in
+++ b/graphics/asymptote/runtimebase.in
@@ -43,11 +43,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/runtriple.cc b/graphics/asymptote/runtriple.cc
index eefd6beaae..919f2957f1 100644
--- a/graphics/asymptote/runtriple.cc
+++ b/graphics/asymptote/runtriple.cc
@@ -42,11 +42,11 @@ using camp::triple;
#include <primitives.h>
#undef PRIMITIVE
-typedef double real;
-
void unused(void *);
namespace run {
+typedef double real;
+
array *copyArray(array *a);
array *copyArray2(array *a);
array *copyArray3(array *a);
diff --git a/graphics/asymptote/settings.cc b/graphics/asymptote/settings.cc
index 8c80bace19..355e7ca2ec 100644
--- a/graphics/asymptote/settings.cc
+++ b/graphics/asymptote/settings.cc
@@ -949,6 +949,7 @@ struct versionOption : public option {
bool ssbo=false;
bool gsl=false;
bool fftw3=false;
+ bool eigen=false;
bool xdr=false;
bool curl=false;
bool lsp=false;
@@ -978,6 +979,10 @@ struct versionOption : public option {
fftw3=true;
#endif
+#ifdef HAVE_EIGEN_DENSE
+ eigen=true;
+#endif
+
#ifdef HAVE_RPC_RPC_H
xdr=true;
#endif
@@ -1022,6 +1027,7 @@ struct versionOption : public option {
feature("SSBO GLSL shader storage buffer objects",ssbo);
feature("GSL GNU Scientific Library (special functions)",gsl);
feature("FFTW3 Fast Fourier transforms",fftw3);
+ feature("Eigen Eigenvalue library",eigen);
feature("XDR External Data Representation (portable binary file format for V3D)",xdr);
feature("CURL URL support",curl);
feature("LSP Language Server Protocol",lsp);
@@ -1251,7 +1257,9 @@ void initSettings() {
"Compress GPU transparent fragment counts",
false));
addOption(new IntSetting("GPUlocalSize", 0, "n",
- "Compute shader local size", 16));
+ "Compute shader local size", 256));
+ addOption(new IntSetting("GPUblockSize", 0, "n",
+ "Compute shader block size", 8));
addOption(new pairSetting("position", 0, "pair",
"Initial 3D rendering screen position"));
@@ -1454,7 +1462,7 @@ void initSettings() {
addOption(new stringSetting("dvipsOptions", 0, "string", ""));
addOption(new stringSetting("dvisvgmOptions", 0, "string", ""));
addOption(new boolSetting("dvisvgmMultipleFiles", 0,
- "dvisvgm supports multiple files", false));
+ "dvisvgm supports multiple files", true));
addOption(new stringSetting("convertOptions", 0, "string", ""));
addOption(new stringSetting("gsOptions", 0, "string", ""));
addOption(new stringSetting("htmlviewerOptions", 0, "string", ""));
diff --git a/graphics/asymptote/util.cc b/graphics/asymptote/util.cc
index 85e9320cfd..df33e29bff 100644
--- a/graphics/asymptote/util.cc
+++ b/graphics/asymptote/util.cc
@@ -288,6 +288,10 @@ int System(const mem::vector<string> &command, int quiet, bool wait,
if(pid == -1)
camp::reportError("Cannot fork process");
+#ifdef __MSDOS__
+ wait=true;
+#endif
+
if(pid == 0) {
if(interact::interactive) signal(SIGINT,SIG_IGN);
if(quiet) {
diff --git a/graphics/asymptote/v3dfile.cc b/graphics/asymptote/v3dfile.cc
index f281db010d..e800b445df 100644
--- a/graphics/asymptote/v3dfile.cc
+++ b/graphics/asymptote/v3dfile.cc
@@ -101,8 +101,7 @@ void v3dfile::addColors(prc::RGBAColour const* col, size_t nc)
}
-void v3dfile::addPatch(triple const* controls, triple const& Min,
- triple const& Max, prc::RGBAColour const* c)
+void v3dfile::addPatch(triple const* controls, prc::RGBAColour const* c)
{
getXDRFile() << (c ? v3dtypes::bezierPatchColor : v3dtypes::bezierPatch);
addTriples(controls,16);
@@ -112,8 +111,8 @@ void v3dfile::addPatch(triple const* controls, triple const& Min,
addColors(c,4);
}
-void v3dfile::addStraightPatch(triple const* controls, triple const& Min,
- triple const& Max, prc::RGBAColour const* c)
+void v3dfile::addStraightPatch(triple const* controls,
+ prc::RGBAColour const* c)
{
getXDRFile() << (c ? v3dtypes::quadColor : v3dtypes::quad);
addTriples(controls,4);
@@ -123,8 +122,8 @@ void v3dfile::addStraightPatch(triple const* controls, triple const& Min,
addColors(c,4);
}
-void v3dfile::addBezierTriangle(triple const* controls, triple const& Min,
- triple const& Max, prc::RGBAColour const* c)
+void v3dfile::addBezierTriangle(triple const* controls,
+ prc::RGBAColour const* c)
{
getXDRFile() << (c ? v3dtypes::bezierTriangleColor : v3dtypes::bezierTriangle);
addTriples(controls,10);
@@ -134,8 +133,8 @@ void v3dfile::addBezierTriangle(triple const* controls, triple const& Min,
addColors(c,3);
}
-void v3dfile::addStraightBezierTriangle(triple const* controls, triple const& Min,
- triple const& Max, prc::RGBAColour const* c)
+void v3dfile::addStraightBezierTriangle(triple const* controls,
+ prc::RGBAColour const* c)
{
getXDRFile() << (c ? v3dtypes::triangleColor : v3dtypes::triangle);
addTriples(controls,3);
@@ -196,7 +195,7 @@ void v3dfile::addDisk(triple const& center, double radius, double const& polar,
getXDRFile() << polar << azimuth;
}
-void v3dfile::addTube(triple const* g, double width, triple const& Min, triple const& Max, bool core)
+void v3dfile::addTube(triple const* g, double width, bool core)
{
getXDRFile() << v3dtypes::tube;
for(int i=0; i < 4; ++i)
@@ -206,9 +205,11 @@ void v3dfile::addTube(triple const* g, double width, triple const& Min, triple c
getXDRFile() << core;
}
-void v3dfile::addTriangles(size_t nP, triple const* P, size_t nN, triple const* N, size_t nC, prc::RGBAColour const* C,
- size_t nI, uint32_t const (* PI)[3], uint32_t const (* NI)[3], uint32_t const (* CI)[3],
- triple const& Min, triple const& Max)
+void v3dfile::addTriangles(size_t nP, triple const* P, size_t nN,
+ triple const* N, size_t nC,
+ prc::RGBAColour const* C, size_t nI,
+ uint32_t const (* PI)[3], uint32_t const (* NI)[3],
+ uint32_t const (* CI)[3])
{
getXDRFile() << v3dtypes::triangles;
getXDRFile() << (uint32_t) nI;
@@ -266,21 +267,21 @@ void v3dfile::addIndices(uint32_t const* v)
getXDRFile() << v[0] << v[1] << v[2];
}
-void v3dfile::addCurve(triple const& z0, triple const& c0, triple const& c1, triple const& z1, triple const& Min,
- triple const& Max)
+void v3dfile::addCurve(triple const& z0, triple const& c0, triple const& c1,
+ triple const& z1)
{
getXDRFile() << v3dtypes::curve << z0 << c0 << c1 << z1;
addCenterIndexMat();
}
-void v3dfile::addCurve(triple const& z0, triple const& z1, triple const& Min, triple const& Max)
+void v3dfile::addCurve(triple const& z0, triple const& z1)
{
getXDRFile() << v3dtypes::line << z0 << z1;
addCenterIndexMat();
}
-void v3dfile::addPixel(triple const& z0, double width, triple const& Min, triple const& Max)
+void v3dfile::addPixel(triple const& z0, double width)
{
getXDRFile() << v3dtypes::pixel << z0 << width;
getXDRFile() << (uint32_t) materialIndex;
diff --git a/graphics/asymptote/v3dfile.h b/graphics/asymptote/v3dfile.h
index 5da4072477..4bbfdd7887 100644
--- a/graphics/asymptote/v3dfile.h
+++ b/graphics/asymptote/v3dfile.h
@@ -98,13 +98,13 @@ public:
void writeInit();
void finalize();
- void addPatch(triple const* controls, triple const& Min, triple const& Max, prc::RGBAColour const* c) override;
+ void addPatch(triple const* controls, prc::RGBAColour const* c) override;
void addStraightPatch(
- triple const* controls, triple const& Min, triple const& Max, prc::RGBAColour const* c) override;
+ triple const* controls, prc::RGBAColour const* c) override;
void addBezierTriangle(
- triple const* control, triple const& Min, triple const& Max, prc::RGBAColour const* c) override;
+ triple const* control, prc::RGBAColour const* c) override;
void addStraightBezierTriangle(
- triple const* controls, triple const& Min, triple const& Max, prc::RGBAColour const* c) override;
+ triple const* controls, prc::RGBAColour const* c) override;
#ifdef HAVE_LIBGLM
void addMaterial(Material const& mat) override;
@@ -118,21 +118,20 @@ public:
bool core) override;
void addDisk(triple const& center, double radius,
double const& polar, const double& azimuth) override;
- void addTube(const triple *g, double width,
- const triple& Min, const triple& Max, bool core) override;
+ void addTube(const triple *g, double width, bool core) override;
void addTriangles(size_t nP, const triple* P, size_t nN,
- const triple* N, size_t nC, const prc::RGBAColour* C,
- size_t nI, const uint32_t (*PI)[3],
- const uint32_t (*NI)[3], const uint32_t (*CI)[3],
- const triple& Min, const triple& Max) override;
+ const triple* N, size_t nC, const prc::RGBAColour* C,
+ size_t nI, const uint32_t (*PI)[3],
+ const uint32_t (*NI)[3],
+ const uint32_t (*CI)[3]) override;
- void addCurve(triple const& z0, triple const& c0, triple const& c1, triple const& z1, triple const& Min,
- triple const& Max) override;
+ void addCurve(triple const& z0, triple const& c0, triple const& c1,
+ triple const& z1) override;
- void addCurve(triple const& z0, triple const& z1, triple const& Min, triple const& Max) override;
+ void addCurve(triple const& z0, triple const& z1) override;
- void addPixel(triple const& z0, double width, triple const& Min, triple const& Max) override;
+ void addPixel(triple const& z0, double width) override;
void precision(int digits) override {}
diff --git a/graphics/asymptote/v3dheadertypes.h b/graphics/asymptote/v3dheadertypes.h
index 58faf9d401..b1e151c896 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 2022-04-05 20:50:57.435742
+// Generated at 2022-08-06 23:20:07.528444
namespace camp
{
diff --git a/graphics/asymptote/v3dheadertypes.py b/graphics/asymptote/v3dheadertypes.py
index 3a106935e2..5a94f74a8e 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 2022-04-05 20:52:21.974841
+# Generated at 2022-08-06 23:21:25.035253
class v3dheadertypes:
v3dheadertypes_canvasWidth=1
diff --git a/graphics/asymptote/v3dtypes.h b/graphics/asymptote/v3dtypes.h
index 26d008a627..c652e5994e 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 2022-04-05 20:50:57.434755
+// Generated at 2022-08-06 23:20:07.528496
namespace camp
{
diff --git a/graphics/asymptote/v3dtypes.py b/graphics/asymptote/v3dtypes.py
index 9f35efc282..dc2eaf3f78 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 2022-04-05 20:52:21.960428
+# Generated at 2022-08-06 23:21:24.955697
class v3dtypes:
v3dtypes_material=1
diff --git a/graphics/asymptote/webgl/gl.js b/graphics/asymptote/webgl/gl.js
index a3b990c385..4f7ee9530e 100644
--- a/graphics/asymptote/webgl/gl.js
+++ b/graphics/asymptote/webgl/gl.js
@@ -1,53 +1,70 @@
-let P=[]; // Array of Bezier patches, triangles, curves, and pixels
-let Materials=[]; // Array of materials
-let Lights=[]; // Array of lights
-let Centers=[]; // Array of billboard centers
-let Background=[1,1,1,1]; // Background color
-let Transform; // Transformation matrix T[4][4] that maps back to user
-// coordinates, with T[i][j] stored as element 4*i+j.
-
-let canvasWidth,canvasHeight; // Canvas width, height
-
-let absolute=false; // true: absolute size; false: scale to canvas
-let ibl=false;
-let imageURL;
-let image;
-
-let minBound,maxBound; // Scene min,max bounding box corners (3-tuples)
-let orthographic; // true: orthographic; false: perspective
-let angleOfView; // Field of view angle
-let initialZoom; // Initial zoom
-let viewportShift=[0,0]; // Viewport shift (for perspective projection)
-let viewportMargin; // Margin around viewport (2-tuple)
-let webgl2=false;
-
-let zoomFactor; // Zoom base factor
-let zoomPinchFactor; // Zoom pinch factor
-let zoomPinchCap; // Zoom pinch limit
-let zoomStep; // Zoom power step
-
-let shiftHoldDistance; // Shift-mode maximum hold distance (pixels)
-let shiftWaitTime; // Shift-mode hold time (milliseconds)
-let vibrateTime; // Shift-mode vibrate time (milliseconds)
-
-let canvasWidth0,canvasHeight0; // Initial values
-let zoom0; // Adjusted initial zoom
+// AsyGL library core
-let embedded; // Is image embedded within another window?
+(function() {
+
+document.asy={
+ canvasWidth:0,
+ canvasHeight:0,
+ absolute:false, // true: absolute size; false: scale to canvas
+
+ minBound:[0,0,0], // Component-wise minimum bounding box corner
+ maxBound:[0,0,0], // Component-wise maximum bounding box corner
+
+ orthographic:false, // true: orthographic; false: perspective
+ angleOfView:0, // Field of view angle
+ initialZoom:0, // Initial zoom
+
+ viewportShift:[0,0], // Viewport shift (for perspective projection)
+ viewportMargin:[0,0], // Margin around viewport
+
+ background:[], // Background color
+
+ zoomFactor:0, // Zoom base factor
+ zoomPinchFactor:0, // Zoom pinch factor
+ zoomPinchCap:0, // Zoom pinch limit
+ zoomStep:0, // Zoom power step
+
+ shiftHoldDistance:0, // Shift-mode maximum hold distance (pixels)
+ shiftWaitTime:0, // Shift-mode hold time (milliseconds)
+ vibrateTime:0, // Shift-mode vibrate time (milliseconds)
+
+ ibl:false,
+ webgl2:false,
+
+ imageURL:"",
+ image:"",
+
+ // Transformation matrix T[4][4] that maps back to user
+ // coordinates, with T[i][j] stored as element 4*i+j.
+ Transform:[],
+
+ Centers:[] // Array of billboard centers
+}
+
+let W=document.asy;
-let canvas; // Rendering canvas
let gl; // WebGL rendering context
let alpha; // Is background opaque?
-
+let embedded; // Is image embedded within another window?
+let canvas; // Rendering canvas
let offscreen; // Offscreen rendering canvas for embedded images
let context; // 2D context for copying embedded offscreen images
+let P=[]; // Array of Bezier patches, triangles, curves, and pixels
+let Lights=[]; // Array of lights
+let Materials=[]; // Array of materials
+
let nlights=0; // Number of lights compiled in shader
let Nmaterials=2; // Maximum number of materials compiled in shader
let materials=[]; // Subset of Materials passed as uniforms
let maxMaterials; // Limit on number of materials allowed in shader
+// Initial values:
+let canvasWidth0;
+let canvasHeight0;
+let zoom0;
+
let halfCanvasWidth,halfCanvasHeight;
const pixelResolution=0.75; // Adaptive rendering constant.
@@ -57,6 +74,7 @@ const windowTrim=10;
const third=1/3;
const pi=Math.acos(-1.0);
const radians=pi/180.0;
+const maxDepth=Math.ceil(1-Math.log2(Number.EPSILON));
let Zoom;
let lastZoom;
@@ -116,9 +134,9 @@ function IBLReady()
function SetIBL()
{
- if(!embedded)
+ if(!W.embedded)
deleteShaders();
- initShaders(ibl);
+ initShaders(W.ibl);
}
let roughnessStepCount=8;
@@ -196,7 +214,7 @@ function deleteShaders()
function saveAttributes()
{
- let a=webgl2 ?
+ let a=W.webgl2 ?
window.top.document.asygl2[alpha] :
window.top.document.asygl[alpha];
@@ -213,7 +231,7 @@ function saveAttributes()
function restoreAttributes()
{
- let a=webgl2 ?
+ let a=W.webgl2 ?
window.top.document.asygl2[alpha] :
window.top.document.asygl[alpha];
@@ -232,18 +250,18 @@ let indexExt;
function webGL(canvas,alpha) {
let gl;
- if(webgl2) {
+ if(W.webgl2) {
gl=canvas.getContext("webgl2",{alpha: alpha});
- if(embedded && !gl) {
- webgl2=false;
- ibl=false;
+ if(W.embedded && !gl) {
+ W.webgl2=false;
+ W.ibl=false;
initGL(false); // Look for an existing webgl context
return null; // Skip remainder of parent call
}
}
if(!gl) {
- webgl2=false;
- ibl=false;
+ W.webgl2=false;
+ W.ibl=false;
gl=canvas.getContext("webgl",{alpha: alpha});
}
if(!gl)
@@ -253,24 +271,24 @@ function webGL(canvas,alpha) {
function initGL(outer=true)
{
- if(ibl) webgl2=true;
+ if(W.ibl) W.webgl2=true;
- alpha=Background[3] < 1;
+ alpha=W.background[3] < 1;
- if(embedded) {
+ if(W.embedded) {
let p=window.top.document;
- if(outer) context=canvas.getContext("2d");
- offscreen=webgl2 ? p.offscreen2 : p.offscreen;
+ if(outer) context=W.canvas.getContext("2d");
+ offscreen=W.webgl2 ? p.offscreen2 : p.offscreen;
if(!offscreen) {
offscreen=p.createElement("canvas");
- if(webgl2)
+ if(W.webgl2)
p.offscreen2=offscreen;
else
p.offscreen=offscreen;
}
- if(webgl2) {
+ if(W.webgl2) {
if(!p.asygl2)
p.asygl2=Array(2);
} else {
@@ -278,14 +296,14 @@ function initGL(outer=true)
p.asygl=Array(2);
}
- asygl=webgl2 ? p.asygl2 : p.asygl;
+ asygl=W.webgl2 ? p.asygl2 : p.asygl;
if(!asygl[alpha] || !asygl[alpha].gl) {
rc=webGL(offscreen,alpha);
if(rc) gl=rc;
else return;
initShaders();
- if(webgl2)
+ if(W.webgl2)
p.asygl2[alpha]={};
else
p.asygl[alpha]={};
@@ -299,7 +317,7 @@ function initGL(outer=true)
}
}
} else {
- gl=webGL(canvas,alpha);
+ gl=webGL(W.canvas,alpha);
initShaders();
}
@@ -316,7 +334,7 @@ function initGL(outer=true)
function getShader(gl,shaderScript,type,options=[])
{
- let version=webgl2 ? '300 es' : '100';
+ let version=W.webgl2 ? '300 es' : '100';
let defines=Array(...options)
let macros=[
['nlights',wireframe == 0 ? Lights.length : 0],
@@ -337,13 +355,13 @@ precision mediump float;
let extensions=[];
- if(webgl2)
+ if(W.webgl2)
defines.push('WEBGL2');
- if(ibl)
+ if(W.ibl)
macros.push(['ROUGHNESS_STEP_COUNT',roughnessStepCount.toFixed(2)]);
- if(orthographic)
+ if(W.orthographic)
defines.push('ORTHOGRAPHIC');
macros_str=macros.map(macro => `#define ${macro[0]} ${macro[1]}`).join('\n')
@@ -422,9 +440,9 @@ function drawBuffer(data,shader,indices=data.indices)
gl.vertexAttribPointer(materialAttribute,1,gl.SHORT,false,2,0);
if(shader == colorShader || shader == transparentShader) {
- data.colorsBuffer=registerBuffer(new Uint8Array(data.colors),
+ data.colorsBuffer=registerBuffer(new Float32Array(data.colors),
data.colorsBuffer,copy);
- gl.vertexAttribPointer(colorAttribute,4,gl.UNSIGNED_BYTE,true,0,0);
+ gl.vertexAttribPointer(colorAttribute,4,gl.FLOAT,true,0,0);
}
data.indicesBuffer=registerBuffer(indexExt ? new Uint32Array(indices) :
@@ -633,7 +651,7 @@ class Geometry {
if(this.CenterIndex == 0)
v=corners(this.Min,this.Max);
else {
- this.c=Centers[this.CenterIndex-1];
+ this.c=W.Centers[this.CenterIndex-1];
v=this.Tcorners(this.Min,this.Max);
}
@@ -659,7 +677,7 @@ class Geometry {
P[i]=this.T(p[i]);
}
- let s=orthographic ? 1 : this.Min[2]/maxBound[2];
+ let s=W.orthographic ? 1 : this.Min[2]/W.maxBound[2];
let res=pixelResolution*
Math.hypot(s*(viewParam.xmax-viewParam.xmin),
s*(viewParam.ymax-viewParam.ymin))/size2;
@@ -673,23 +691,28 @@ class Geometry {
}
}
+function boundPoints(p,m)
+{
+ let b=p[0];
+ let n=p.length;
+ for(let i=1; i < n; ++i)
+ b=m(b,p[i]);
+ return b;
+}
+
class BezierPatch extends Geometry {
/**
* Constructor for Bezier Patch
* @param {*} controlpoints array of 16 control points
* @param {*} CenterIndex center index of billboard labels (or 0)
* @param {*} MaterialIndex material index (>= 0)
- * @param {*} Min bounding box corner
- * @param {*} Max bounding box corner
* @param {*} colors array of 4 RGBA color arrays
*/
- constructor(controlpoints,CenterIndex,MaterialIndex,Min,Max,color) {
+ constructor(controlpoints,CenterIndex,MaterialIndex,color,Min,Max) {
super();
this.controlpoints=controlpoints;
this.CenterIndex=CenterIndex;
this.MaterialIndex=MaterialIndex;
- this.Min=Min;
- this.Max=Max;
this.color=color;
let n=controlpoints.length;
if(color) {
@@ -701,7 +724,13 @@ class BezierPatch extends Geometry {
this.vertex=this.transparent ? this.data.Vertex.bind(this.data) :
this.data.vertex.bind(this.data);
- this.L2norm(this.controlpoints);
+
+ let norm2=this.L2norm2(this.controlpoints);
+ let fuzz=Math.sqrt(1000*Number.EPSILON*norm2);
+ this.epsilon=norm2*Number.EPSILON;
+
+ this.Min=Min ? Min : this.Bounds(this.controlpoints,Math.min,fuzz);
+ this.Max=Max ? Max : this.Bounds(this.controlpoints,Math.max,fuzz);
}
setMaterialIndex() {
@@ -715,15 +744,128 @@ class BezierPatch extends Geometry {
}
}
+ cornerbound(p,m) {
+ let b=m(p[0],p[3]);
+ b=m(b,p[12]);
+ return m(b,p[15]);
+ }
+
+ controlbound(p,m) {
+ let b=m(p[1],p[2]);
+ b=m(b,p[4]);
+ b=m(b,p[5]);
+ b=m(b,p[6]);
+ b=m(b,p[7]);
+ b=m(b,p[8]);
+ b=m(b,p[9]);
+ b=m(b,p[10]);
+ b=m(b,p[11]);
+ b=m(b,p[13]);
+ return m(b,p[14]);
+ }
+
+ bound(p,m,b,fuzz,depth) {
+ b=m(b,this.cornerbound(p,m));
+ if(m(-1.0,1.0)*(b-this.controlbound(p,m)) >= -fuzz || depth == 0)
+ return b;
+
+ --depth;
+ fuzz *= 2;
+
+ let c0=new Split(p[0],p[1],p[2],p[3]);
+ let c1=new Split(p[4],p[5],p[6],p[7]);
+ let c2=new Split(p[8],p[9],p[10],p[11]);
+ let c3=new Split(p[12],p[13],p[14],p[15]);
+
+ let c4=new Split(p[0],p[4],p[8],p[12]);
+ let c5=new Split(c0.m0,c1.m0,c2.m0,c3.m0);
+ let c6=new Split(c0.m3,c1.m3,c2.m3,c3.m3);
+ let c7=new Split(c0.m5,c1.m5,c2.m5,c3.m5);
+ let c8=new Split(c0.m4,c1.m4,c2.m4,c3.m4);
+ let c9=new Split(c0.m2,c1.m2,c2.m2,c3.m2);
+ let c10=new Split(p[3],p[7],p[11],p[15]);
+
+ // Check all 4 Bezier subpatches.
+ let s0=[p[0],c0.m0,c0.m3,c0.m5,c4.m0,c5.m0,c6.m0,c7.m0,
+ c4.m3,c5.m3,c6.m3,c7.m3,c4.m5,c5.m5,c6.m5,c7.m5];
+ b=this.bound(s0,m,b,fuzz,depth);
+ let s1=[c4.m5,c5.m5,c6.m5,c7.m5,c4.m4,c5.m4,c6.m4,c7.m4,
+ c4.m2,c5.m2,c6.m2,c7.m2,p[12],c3.m0,c3.m3,c3.m5];
+ b=this.bound(s1,m,b,fuzz,depth);
+ let s2=[c7.m5,c8.m5,c9.m5,c10.m5,c7.m4,c8.m4,c9.m4,c10.m4,
+ c7.m2,c8.m2,c9.m2,c10.m2,c3.m5,c3.m4,c3.m2,p[15]];
+ b=this.bound(s2,m,b,fuzz,depth);
+ let s3=[c0.m5,c0.m4,c0.m2,p[3],c7.m0,c8.m0,c9.m0,c10.m0,
+ c7.m3,c8.m3,c9.m3,c10.m3,c7.m5,c8.m5,c9.m5,c10.m5];
+ return this.bound(s3,m,b,fuzz,depth);
+ }
+
+ cornerboundtri(p,m) {
+ let b=m(p[0],p[6]);
+ return m(b,p[9]);
+ }
+
+ controlboundtri(p,m) {
+ let b=m(p[1],p[2]);
+ b=m(b,p[3]);
+ b=m(b,p[4]);
+ b=m(b,p[5]);
+ b=m(b,p[7]);
+ return m(b,p[8]);
+ }
+
+ boundtri(p,m,b,fuzz,depth) {
+ b=m(b,this.cornerboundtri(p,m));
+ if(m(-1.0,1.0)*(b-this.controlboundtri(p,m)) >= -fuzz || depth == 0)
+ return b;
+
+ --depth;
+ fuzz *= 2;
+
+ let s=new Splittri(p);
+
+ let l=[s.l003,s.l102,s.l012,s.l201,s.l111,
+ s.l021,s.l300,s.l210,s.l120,s.l030]; // left
+ b=this.boundtri(l,m,b,fuzz,depth);
+
+ let r=[s.l300,s.r102,s.r012,s.r201,s.r111,
+ s.r021,s.r300,s.r210,s.r120,s.r030]; // right
+ b=this.boundtri(r,m,b,fuzz,depth);
+
+ let u=[s.l030,s.u102,s.u012,s.u201,s.u111,
+ s.u021,s.r030,s.u210,s.u120,s.u030]; // up
+ b=this.boundtri(u,m,b,fuzz,depth);
+
+ let c=[s.r030,s.u201,s.r021,s.u102,s.c111,
+ s.r012,s.l030,s.l120,s.l210,s.l300]; // center
+ return this.boundtri(c,m,b,fuzz,depth);
+ }
+
+ Bounds(p,m,fuzz) {
+ let b=Array(3);
+ let n=p.length;
+ let x=Array(n);
+ for(let i=0; i < 3; ++i) {
+ for(let j=0; j < n; ++j)
+ x[j]=p[j][i];
+ if(n == 16)
+ b[i]=this.bound(x,m,x[0],fuzz,maxDepth)
+ else if(n == 10)
+ b[i]=this.boundtri(x,m,x[0],fuzz,maxDepth);
+ else
+ b[i]=boundPoints(x,m);
+ }
+ return [b[0],b[1],b[2]];
+ }
+
// Render a Bezier patch via subdivision.
- L2norm(p) {
+ L2norm2(p) {
let p0=p[0];
- this.epsilon=0;
+ let norm2=0;
let n=p.length;
for(let i=1; i < n; ++i)
- this.epsilon=Math.max(this.epsilon,
- abs2([p[i][0]-p0[0],p[i][1]-p0[1],p[i][2]-p0[2]]));
- this.epsilon *= Number.EPSILON
+ norm2=Math.max(norm2,abs2([p[i][0]-p0[0],p[i][1]-p0[1],p[i][2]-p0[2]]));
+ return norm2;
}
processTriangle(p) {
@@ -1776,14 +1918,128 @@ class BezierPatch extends Geometry {
}
}
+// Calculate the coefficients of a Bezier derivative divided by 3.
+function derivative(z0,c0,c1,z1)
+{
+ let a=z1-z0+3.0*(c0-c1);
+ let b=2.0*(z0+c1)-4.0*c0;
+ let c=c0-z0;
+ return [a,b,c];
+}
+
+function goodroot(t)
+{
+ return 0.0 <= t && t <= 1.0;
+}
+
+// Accurate computation of sqrt(1+x)-1.
+function sqrt1pxm1(x)
+{
+ return x/(Math.sqrt(1.0+x)+1.0);
+}
+
+// Solve for the real roots of the quadratic equation ax^2+bx+c=0.
+class quadraticroots {
+ constructor(a,b,c) {
+ const Fuzz2=1000*Number.EPSILON;
+ const Fuzz4=Fuzz2*Fuzz2;
+
+ // Remove roots at numerical infinity.
+ if(Math.abs(a) <= Fuzz2*Math.abs(b)+Fuzz4*Math.abs(c)) {
+ if(Math.abs(b) > Fuzz2*Math.abs(c)) {
+ this.roots=1;
+ this.t1=-c/b;
+ } else if(c == 0.0) {
+ this.roots=1;
+ this.t1=0.0;
+ } else {
+ this.roots=0;
+ }
+ } else {
+ let factor=0.5*b/a;
+ let denom=b*factor;
+ if(Math.abs(denom) <= Fuzz2*Math.abs(c)) {
+ let x=-c/a;
+ if(x >= 0.0) {
+ this.roots=2;
+ this.t2=Math.sqrt(x);
+ this.t1=-this.t2;
+ } else
+ this.roots=0;
+ } else {
+ let x=-2.0*c/denom;
+ if(x > -1.0) {
+ this.roots=2;
+ let r2=factor*sqrt1pxm1(x);
+ let r1=-r2-2.0*factor;
+ if(r1 <= r2) {
+ this.t1=r1;
+ this.t2=r2;
+ } else {
+ this.t1=r2;
+ this.t2=r1;
+ }
+ } else if(x == -1.0) {
+ this.roots=1;
+ this.t1=this.t2=-factor;
+ } else
+ this.roots=0;
+ }
+ }
+ }
+}
+
class BezierCurve extends Geometry {
constructor(controlpoints,CenterIndex,MaterialIndex,Min,Max) {
super();
this.controlpoints=controlpoints;
this.CenterIndex=CenterIndex;
this.MaterialIndex=MaterialIndex;
- this.Min=Min;
- this.Max=Max;
+
+ if(Min && Max) {
+ this.Min=Min;
+ this.Max=Max;
+ } else {
+ let b=this.Bounds(this.controlpoints);
+ this.Min=b[0];
+ this.Max=b[1];
+ }
+ }
+
+ Bounds(p) {
+ let b=Array(3);
+ let B=Array(3);
+ let n=p.length;
+ let x=Array(n);
+ for(let i=0; i < 3; ++i) {
+ for(let j=0; j < n; ++j)
+ x[j]=p[j][i];
+ let m,M;
+ m=M=x[0];
+ if(n == 4) {
+ m=Math.min(m,x[3]);
+ M=Math.max(M,x[3]);
+ let a=derivative(x[0],x[1],x[2],x[3]);
+ let q=new quadraticroots(a[0],a[1],a[2]);
+ if(q.roots != 0 && goodroot(q.t1)) {
+ let v=bezier(x[0],x[1],x[2],x[3],q.t1);
+ m=Math.min(m,v);
+ M=Math.max(M,v);
+ }
+ if(q.roots == 2 && goodroot(q.t2)) {
+ let v=bezier(x[0],x[1],x[2],x[3],q.t2);
+ m=Math.min(m,v);
+ M=Math.max(M,v);
+ }
+ } else {
+ let v=x[1];
+ m=Math.min(m,v);
+ M=Math.max(M,v);
+ }
+ b[i]=m;
+ B[i]=M;
+ }
+ return [[b[0],b[1],b[2]],[B[0],B[1],B[2]]];
}
setMaterialIndex() {
@@ -1869,14 +2125,14 @@ class BezierCurve extends Geometry {
}
class Pixel extends Geometry {
- constructor(controlpoint,width,MaterialIndex,Min,Max) {
+ constructor(controlpoint,width,MaterialIndex) {
super();
this.controlpoint=controlpoint;
this.width=width;
this.CenterIndex=0;
this.MaterialIndex=MaterialIndex;
- this.Min=Min;
- this.Max=Max;
+ this.Min=controlpoint;
+ this.Max=controlpoint;
}
setMaterialIndex() {
@@ -1898,12 +2154,12 @@ class Pixel extends Geometry {
}
class Triangles extends Geometry {
- constructor(CenterIndex,MaterialIndex,Min,Max) {
+ constructor(CenterIndex,MaterialIndex) {
super();
this.CenterIndex=CenterIndex;
this.MaterialIndex=MaterialIndex;
- this.Min=Min;
- this.Max=Max;
+ this.Min=this.Bounds(Positions,Math.min);
+ this.Max=this.Bounds(Positions,Math.max);
this.controlpoints=Positions;
this.Normals=Normals;
@@ -1916,6 +2172,18 @@ class Triangles extends Geometry {
this.transparent=Materials[this.MaterialIndex].diffuse[3] < 1;
}
+ Bounds(p,m) {
+ let b=Array(3);
+ let n=p.length;
+ let x=Array(n);
+ for(let i=0; i < 3; ++i) {
+ for(let j=0; j < n; ++j)
+ x[j]=p[j][i];
+ b[i]=boundPoints(x,m);
+ }
+ return [b[0],b[1],b[2]];
+ }
+
setMaterialIndex() {
if(this.transparent)
this.setMaterial(transparentData,drawTransparent);
@@ -2036,6 +2304,17 @@ function initShader(options=[])
return shader;
}
+class Split {
+ constructor(z0,c0,c1,z1) {
+ this.m0=0.5*(z0+c0);
+ let m1=0.5*(c0+c1);
+ this.m2=0.5*(c1+z1);
+ this.m3=0.5*(this.m0+m1);
+ this.m4=0.5*(m1+this.m2);
+ this.m5=0.5*(this.m3+this.m4);
+ }
+}
+
class Split3 {
constructor(z0,c0,c1,z1) {
this.m0=[0.5*(z0[0]+c0[0]),0.5*(z0[1]+c0[1]),0.5*(z0[2]+c0[2])];
@@ -2052,6 +2331,65 @@ class Split3 {
}
}
+class Splittri {
+ constructor(p) {
+ this.l003=p[0];
+ let p102=p[1];
+ let p012=p[2];
+ let p201=p[3];
+ let p111=p[4];
+ let p021=p[5];
+ this.r300=p[6];
+ let p210=p[7];
+ let p120=p[8];
+ this.u030=p[9];
+
+ this.u021=0.5*(this.u030+p021);
+ this.u120=0.5*(this.u030+p120);
+
+ let p033=0.5*(p021+p012);
+ let p231=0.5*(p120+p111);
+ let p330=0.5*(p120+p210);
+
+ let p123=0.5*(p012+p111);
+
+ this.l012=0.5*(p012+this.l003);
+ let p312=0.5*(p111+p201);
+ this.r210=0.5*(p210+this.r300);
+
+ this.l102=0.5*(this.l003+p102);
+ let p303=0.5*(p102+p201);
+ this.r201=0.5*(p201+this.r300);
+
+ this.u012=0.5*(this.u021+p033);
+ this.u210=0.5*(this.u120+p330);
+ this.l021=0.5*(p033+this.l012);
+ let p4xx=0.5*p231+0.25*(p111+p102);
+ this.r120=0.5*(p330+this.r210);
+ let px4x=0.5*p123+0.25*(p111+p210);
+ let pxx4=0.25*(p021+p111)+0.5*p312;
+ this.l201=0.5*(this.l102+p303);
+ this.r102=0.5*(p303+this.r201);
+
+ this.l210=0.5*(px4x+this.l201); // = m120
+ this.r012=0.5*(px4x+this.r102); // = m021
+ this.l300=0.5*(this.l201+this.r102); // = r003 = m030
+
+ this.r021=0.5*(pxx4+this.r120); // = m012
+ this.u201=0.5*(this.u210+pxx4); // = m102
+ this.r030=0.5*(this.u210+this.r120); // = u300 = m003
+
+ this.u102=0.5*(this.u012+p4xx); // = m201
+ this.l120=0.5*(this.l021+p4xx); // = m210
+ this.l030=0.5*(this.u012+this.l021); // = u003 = m300
+
+ this.l111=0.5*(p123+this.l102);
+ this.r111=0.5*(p312+this.r210);
+ this.u111=0.5*(this.u021+p231);
+ this.c111=0.25*(p033+p330+p303+p111);
+ }
+}
+
function unit(v)
{
let norm=1/(Math.sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]) || 1);
@@ -2075,6 +2413,14 @@ function cross(u,v)
u[0]*v[1]-u[1]*v[0]];
}
+// Evaluate the Bezier curve defined by a,b,c,d at t.
+function bezier(a,b,c,d,t)
+{
+ let onemt=1-t;
+ let onemt2=onemt*onemt;
+ return onemt2*onemt*a+t*(3.0*(onemt2*b+t*onemt*c)+t*t*d);
+}
+
// Return one-third of the first derivative of the Bezier curve defined
// by a,b,c,d at t=0.
function bezierP(a,b)
@@ -2283,7 +2629,7 @@ function shiftScene(lastX,lastY,rawX,rawY)
function panScene(lastX,lastY,rawX,rawY)
{
- if(orthographic) {
+ if(W.orthographic) {
shiftScene(lastX,lastY,rawX,rawY);
} else {
center.x += (rawX-lastX)*(viewParam.xmax-viewParam.xmin);
@@ -2315,11 +2661,11 @@ function capzoom()
function zoomImage(diff)
{
- let stepPower=zoomStep*halfCanvasHeight*diff;
- const limit=Math.log(0.1*Number.MAX_VALUE)/Math.log(zoomFactor);
+ let stepPower=W.zoomStep*halfCanvasHeight*diff;
+ const limit=Math.log(0.1*Number.MAX_VALUE)/Math.log(W.zoomFactor);
if(Math.abs(stepPower) < limit) {
- Zoom *= zoomFactor**stepPower;
+ Zoom *= W.zoomFactor**stepPower;
capzoom();
}
}
@@ -2403,13 +2749,13 @@ let zoomEnabled=0;
function enableZoom()
{
zoomEnabled=1;
- canvas.addEventListener("wheel",handleMouseWheel,false);
+ W.canvas.addEventListener("wheel",handleMouseWheel,false);
}
function disableZoom()
{
zoomEnabled=0;
- canvas.removeEventListener("wheel",handleMouseWheel,false);
+ W.canvas.removeEventListener("wheel",handleMouseWheel,false);
}
function Camera()
@@ -2431,7 +2777,7 @@ function Camera()
let R1=rotMat[j4+1];
let R2=rotMat[j4+2];
let R3=rotMat[j4+3];
- let T4ij=Transform[i4+j];
+ let T4ij=W.Transform[i4+j];
sumCamera += T4ij*(R3-cx*R0-cy*R1-cz*R2);
sumUp += T4ij*R1;
sumTarget += T4ij*(R3-cx*R0-cy*R1);
@@ -2445,30 +2791,28 @@ function Camera()
function projection()
{
- if(Transform == null) return "";
-
let camera,up,target;
[camera,up,target]=Camera();
- let projection=orthographic ? " orthographic(" : " perspective(";
+ let projection=W.orthographic ? " orthographic(" : " perspective(";
let indent="".padStart(projection.length);
let currentprojection="currentprojection="+"\n"+
projection+"camera=("+camera+"),\n"+
indent+"up=("+up+"),"+"\n"+
indent+"target=("+target+"),"+"\n"+
- indent+"zoom="+Zoom*initialZoom/zoom0;
+ indent+"zoom="+Zoom*W.initialZoom/W.zoom0;
- if(!orthographic)
+ if(!W.orthographic)
currentprojection += ","+"\n"
+indent+"angle="+
- 2.0*Math.atan(Math.tan(0.5*angleOfView)/Zoom)/radians;
+ 2.0*Math.atan(Math.tan(0.5*W.angleOfView)/Zoom)/radians;
if(xshift != 0 || yshift != 0)
currentprojection += ","+"\n"+
indent+"viewportshift=("+xshift+","+yshift+")";
- if(!orthographic)
+ if(!W.orthographic)
currentprojection += ","+"\n"+
indent+"autoadjust=false";
@@ -2485,7 +2829,7 @@ function handleKey(event)
if(!zoomEnabled)
enableZoom();
- if(embedded && zoomEnabled && event.keyCode == ESC) {
+ if(W.embedded && zoomEnabled && event.keyCode == ESC) {
disableZoom();
return;
}
@@ -2510,9 +2854,9 @@ function handleKey(event)
++wireframe;
if(wireframe == 3) wireframe=0;
if(wireframe != 2) {
- if(!embedded)
+ if(!W.embedded)
deleteShaders();
- initShaders(ibl);
+ initShaders(W.ibl);
}
remesh=true;
drawScene();
@@ -2553,9 +2897,9 @@ function handleMouseWheel(event)
event.preventDefault();
if(event.deltaY < 0) {
- Zoom *= zoomFactor;
+ Zoom *= W.zoomFactor;
} else {
- Zoom /= zoomFactor;
+ Zoom /= W.zoomFactor;
}
setZoom();
@@ -2599,12 +2943,12 @@ function handleTouchMove(event)
let newY=touches[0].pageY;
let dx=newX-lastMouseX;
let dy=newY-lastMouseY;
- let stationary=dx*dx+dy*dy <= shiftHoldDistance*shiftHoldDistance;
+ let stationary=dx*dx+dy*dy <= W.shiftHoldDistance*W.shiftHoldDistance;
if(stationary) {
if(!swipe && !rotate &&
- new Date().getTime()-touchStartTime > shiftWaitTime) {
+ new Date().getTime()-touchStartTime > W.shiftWaitTime) {
if(navigator.vibrate)
- window.navigator.vibrate(vibrateTime);
+ window.navigator.vibrate(W.vibrateTime);
swipe=true;
}
}
@@ -2623,9 +2967,9 @@ function handleTouchMove(event)
let distance=pinchDistance(touches);
let diff=distance-pinchStart;
zooming=true;
- diff *= zoomPinchFactor;
- if(diff > zoomPinchCap) diff=zoomPinchCap;
- if(diff < -zoomPinchCap) diff=-zoomPinchCap;
+ diff *= W.zoomPinchFactor;
+ if(diff > W.zoomPinchCap) diff=W.zoomPinchCap;
+ if(diff < -W.zoomPinchCap) diff=-W.zoomPinchCap;
zoomImage(diff/size2);
pinchStart=distance;
swipe=rotate=zooming=false;
@@ -2740,22 +3084,22 @@ function drawBuffers()
function drawScene()
{
- if(embedded) {
- offscreen.width=canvasWidth;
- offscreen.height=canvasHeight;
+ if(W.embedded) {
+ offscreen.width=W.canvasWidth;
+ offscreen.height=W.canvasHeight;
setViewport();
}
- gl.clearColor(Background[0],Background[1],Background[2],Background[3]);
+ gl.clearColor(W.background[0],W.background[1],W.background[2],W.background[3]);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- for(let i=0; i < P.length; ++i)
- P[i].render();
+ for(const p of P)
+ p.render();
drawBuffers();
- if(embedded) {
- context.clearRect(0,0,canvasWidth,canvasHeight);
+ if(W.embedded) {
+ context.clearRect(0,0,W.canvasWidth,W.canvasHeight);
context.drawImage(offscreen,0,0);
}
@@ -2765,26 +3109,26 @@ function drawScene()
function setDimensions(width,height,X,Y)
{
let Aspect=width/height;
- xshift=(X/width+viewportShift[0])*Zoom;
- yshift=(Y/height+viewportShift[1])*Zoom;
+ xshift=(X/width+W.viewportShift[0])*Zoom;
+ yshift=(Y/height+W.viewportShift[1])*Zoom;
let Zoominv=1/Zoom;
- if(orthographic) {
- let xsize=maxBound[0]-minBound[0];
- let ysize=maxBound[1]-minBound[1];
+ if(W.orthographic) {
+ let xsize=W.maxBound[0]-W.minBound[0];
+ let ysize=W.maxBound[1]-W.minBound[1];
if(xsize < ysize*Aspect) {
let r=0.5*ysize*Aspect*Zoominv;
let X0=2*r*xshift;
let Y0=ysize*Zoominv*yshift;
viewParam.xmin=-r-X0;
viewParam.xmax=r-X0;
- viewParam.ymin=minBound[1]*Zoominv-Y0;
- viewParam.ymax=maxBound[1]*Zoominv-Y0;
+ viewParam.ymin=W.minBound[1]*Zoominv-Y0;
+ viewParam.ymax=W.maxBound[1]*Zoominv-Y0;
} else {
let r=0.5*xsize*Zoominv/Aspect;
let X0=xsize*Zoominv*xshift;
let Y0=2*r*yshift;
- viewParam.xmin=minBound[0]*Zoominv-X0;
- viewParam.xmax=maxBound[0]*Zoominv-X0;
+ viewParam.xmin=W.minBound[0]*Zoominv-X0;
+ viewParam.xmax=W.maxBound[0]*Zoominv-X0;
viewParam.ymin=-r-Y0;
viewParam.ymax=r-Y0;
}
@@ -2802,8 +3146,8 @@ function setDimensions(width,height,X,Y)
function setProjection()
{
- setDimensions(canvasWidth,canvasHeight,shift.x,shift.y);
- let f=orthographic ? mat4.ortho : mat4.frustum;
+ setDimensions(W.canvasWidth,W.canvasHeight,shift.x,shift.y);
+ let f=W.orthographic ? mat4.ortho : mat4.frustum;
f(projMat,viewParam.xmin,viewParam.xmax,
viewParam.ymin,viewParam.ymax,
-viewParam.zmax,-viewParam.zmin);
@@ -2822,37 +3166,37 @@ function showCamera()
function initProjection()
{
- H=-Math.tan(0.5*angleOfView)*maxBound[2];
+ H=-Math.tan(0.5*W.angleOfView)*W.maxBound[2];
center.x=center.y=0;
- center.z=0.5*(minBound[2]+maxBound[2]);
- lastZoom=Zoom=zoom0;
+ center.z=0.5*(W.minBound[2]+W.maxBound[2]);
+ lastZoom=Zoom=W.zoom0;
- viewParam.zmin=minBound[2];
- viewParam.zmax=maxBound[2];
+ viewParam.zmin=W.minBound[2];
+ viewParam.zmax=W.maxBound[2];
shift.x=shift.y=0;
}
function setViewport()
{
- gl.viewportWidth=canvasWidth;
- gl.viewportHeight=canvasHeight;
- gl.viewport(0.5*(canvas.width-canvasWidth),0.5*(canvas.height-canvasHeight),
- canvasWidth,canvasHeight);
- gl.scissor(0,0,canvas.width,canvas.height);
+ gl.viewportWidth=W.canvasWidth;
+ gl.viewportHeight=W.canvasHeight;
+ gl.viewport(0.5*(W.canvas.width-W.canvasWidth),0.5*(W.canvas.height-W.canvasHeight),
+ W.canvasWidth,W.canvasHeight);
+ gl.scissor(0,0,W.canvas.width,W.canvas.height);
}
function setCanvas()
{
- if(embedded) {
- canvas.width=offscreen.width=canvasWidth;
- canvas.height=offscreen.height=canvasHeight;
+ if(W.embedded) {
+ W.canvas.width=offscreen.width=W.canvasWidth;
+ W.canvas.height=offscreen.height=W.canvasHeight;
}
- size2=Math.hypot(canvasWidth,canvasHeight);
- halfCanvasWidth=0.5*canvas.width;
- halfCanvasHeight=0.5*canvas.height;
- ArcballFactor=1+8*Math.hypot(viewportMargin[0],viewportMargin[1])/size2;
+ size2=Math.hypot(W.canvasWidth,W.canvasHeight);
+ halfCanvasWidth=0.5*W.canvas.width;
+ halfCanvasHeight=0.5*W.canvas.height;
+ ArcballFactor=1+8*Math.hypot(W.viewportMargin[0],W.viewportMargin[1])/size2;
}
function setsize(w,h)
@@ -2863,11 +3207,11 @@ function setsize(w,h)
if(h > maxViewportHeight)
h=maxViewportHeight;
- shift.x *= w/canvasWidth;
- shift.y *= h/canvasHeight;
+ shift.x *= w/W.canvasWidth;
+ shift.y *= h/W.canvasHeight;
- canvasWidth=w;
- canvasHeight=h;
+ W.canvasWidth=w;
+ W.canvasHeight=h;
setCanvas();
setViewport();
@@ -2877,48 +3221,48 @@ function setsize(w,h)
function resize()
{
- zoom0=initialZoom;
+ W.zoom0=W.initialZoom;
if(window.top.asyWebApplication &&
window.top.asyWebApplication.getProjection() == "")
window.parent.asyProjection=false;
- if(absolute && !embedded) {
- canvasWidth=canvasWidth0*window.devicePixelRatio;
- canvasHeight=canvasHeight0*window.devicePixelRatio;
+ if(W.absolute && !W.embedded) {
+ W.canvasWidth=W.canvasWith0*window.devicePixelRatio;
+ W.canvasHeight=W.canvasHeight0*window.devicePixelRatio;
} else {
- let Aspect=canvasWidth0/canvasHeight0;
- canvasWidth=Math.max(window.innerWidth-windowTrim,windowTrim);
- canvasHeight=Math.max(window.innerHeight-windowTrim,windowTrim);
+ let Aspect=W.canvasWith0/W.canvasHeight0;
+ W.canvasWidth=Math.max(window.innerWidth-windowTrim,windowTrim);
+ W.canvasHeight=Math.max(window.innerHeight-windowTrim,windowTrim);
- if(!orthographic && !window.parent.asyProjection &&
- canvasWidth < canvasHeight*Aspect)
- zoom0 *= canvasWidth/(canvasHeight*Aspect);
+ if(!W.orthographic && !window.parent.asyProjection &&
+ W.canvasWidth < W.canvasHeight*Aspect)
+ W.zoom0 *= W.canvasWidth/(W.canvasHeight*Aspect);
}
- canvas.width=canvasWidth;
- canvas.height=canvasHeight;
+ W.canvas.width=W.canvasWidth;
+ W.canvas.height=W.canvasHeight;
let maxViewportWidth=window.innerWidth;
let maxViewportHeight=window.innerHeight;
- let Zoominv=1/zoom0;
- viewportShift[0] *= Zoominv;
- viewportShift[1] *= Zoominv;
+ let Zoominv=1/W.zoom0;
+ W.viewportShift[0] *= Zoominv;
+ W.viewportShift[1] *= Zoominv;
- setsize(canvasWidth,canvasHeight);
+ setsize(W.canvasWidth,W.canvasHeight);
redrawScene();
}
function expand()
{
- Zoom *= zoomFactor;
+ Zoom *= W.zoomFactor;
setZoom();
}
function shrink()
{
- Zoom /= zoomFactor;
+ Zoom /= W.zoomFactor;
setZoom();
}
@@ -2961,31 +3305,35 @@ function Tcorners(T,m,M)
return [minbound(v),maxbound(v)];
}
+function light(direction,color)
+{
+ Lights.push(new Light(direction,color));
+}
+
function material(diffuse,emissive,specular,shininess,metallic,fresnel0)
{
Materials.push(new Material(diffuse,emissive,specular,shininess,metallic,
fresnel0));
}
-function patch(controlpoints,CenterIndex,MaterialIndex,Min,Max,color)
+function patch(controlpoints,CenterIndex,MaterialIndex,color)
{
- P.push(new BezierPatch(controlpoints,CenterIndex,MaterialIndex,Min,Max,
- color));
+ P.push(new BezierPatch(controlpoints,CenterIndex,MaterialIndex,color));
}
-function curve(controlpoints,CenterIndex,MaterialIndex,Min,Max)
+function curve(controlpoints,CenterIndex,MaterialIndex)
{
- P.push(new BezierCurve(controlpoints,CenterIndex,MaterialIndex,Min,Max));
+ P.push(new BezierCurve(controlpoints,CenterIndex,MaterialIndex));
}
-function pixel(controlpoint,width,MaterialIndex,Min,Max)
+function pixel(controlpoint,width,MaterialIndex)
{
- P.push(new Pixel(controlpoint,width,MaterialIndex,Min,Max));
+ P.push(new Pixel(controlpoint,width,MaterialIndex));
}
-function triangles(CenterIndex,MaterialIndex,Min,Max)
+function triangles(CenterIndex,MaterialIndex)
{
- P.push(new Triangles(CenterIndex,MaterialIndex,Min,Max));
+ P.push(new Triangles(CenterIndex,MaterialIndex));
}
// draw a sphere of radius r about center
@@ -3066,7 +3414,7 @@ function sphere(center,r,CenterIndex,MaterialIndex,dir)
for(let k=s; k <= 1; k += 2) {
rz=k*r;
for(let m=0; m < 2; ++m)
- P.push(new BezierPatch(T(octant[m]),CenterIndex,MaterialIndex,
+ P.push(new BezierPatch(T(octant[m]),CenterIndex,MaterialIndex,null,
Min,Max));
}
}
@@ -3114,7 +3462,8 @@ function disk(center,r,CenterIndex,MaterialIndex,dir)
}
let v=Tcorners(A.T.bind(A),[-r,-r,0],[r,r,0]);
- P.push(new BezierPatch(T(unitdisk),CenterIndex,MaterialIndex,v[0],v[1]));
+ P.push(new BezierPatch(T(unitdisk),CenterIndex,MaterialIndex,null,
+ v[0],v[1]));
}
// draw a cylinder with circular base of radius r about center and height h
@@ -3162,7 +3511,7 @@ function cylinder(center,r,h,CenterIndex,MaterialIndex,dir,core)
rx=i*r;
for(let j=-1; j <= 1; j += 2) {
ry=j*r;
- P.push(new BezierPatch(T(unitcylinder),CenterIndex,MaterialIndex,
+ P.push(new BezierPatch(T(unitcylinder),CenterIndex,MaterialIndex,null,
Min,Max));
}
}
@@ -3286,7 +3635,7 @@ function rmf(z0,c0,c1,z1,t)
}
// draw a tube of width w using control points v
-function tube(v,w,CenterIndex,MaterialIndex,Min,Max,core)
+function tube(v,w,CenterIndex,MaterialIndex,core)
{
let Rmf=rmf(v[0],v[1],v[2],v[3],[0,1/3,2/3,1]);
@@ -3320,7 +3669,7 @@ function tube(v,w,CenterIndex,MaterialIndex,Min,Max,core)
T8*x+T9*y+w2];
}
}
- P.push(new BezierPatch(s,CenterIndex,MaterialIndex,Min,Max));
+ P.push(new BezierPatch(s,CenterIndex,MaterialIndex));
}
f(1,0,0,1);
@@ -3329,7 +3678,7 @@ function tube(v,w,CenterIndex,MaterialIndex,Min,Max,core)
f(0,1,-1,0);
if(core)
- P.push(new BezierCurve(v,CenterIndex,MaterialIndex,Min,Max));
+ P.push(new BezierCurve(v,CenterIndex,MaterialIndex));
}
async function getReq(req)
@@ -3358,7 +3707,7 @@ function createTexture(image, textureNumber, fmt=gl.RGB16F)
async function initIBL()
{
- let imagePath=imageURL+image+'/';
+ let imagePath=W.imageURL+W.image+'/';
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
@@ -3371,7 +3720,7 @@ async function initIBL()
}
promises=[
- getReq(imageURL+'refl.exr').then(obj => {
+ getReq(W.imageURL+'refl.exr').then(obj => {
let img=new Module.EXRLoader(obj);
IBLbdrfMap=createTexture(img,0);
}),
@@ -3415,8 +3764,8 @@ async function initIBL()
function webGLStart()
{
- canvas=document.getElementById("Asymptote");
- embedded=window.top.document != document;
+ W.canvas=document.getElementById("Asymptote");
+ W.embedded=window.top.document != document;
initGL();
@@ -3425,22 +3774,22 @@ function webGLStart()
gl.enable(gl.DEPTH_TEST);
gl.enable(gl.SCISSOR_TEST);
- canvas.onmousedown=handleMouseDown;
+ W.canvas.onmousedown=handleMouseDown;
document.onmouseup=handleMouseUpOrTouchEnd;
document.onmousemove=handleMouseMove;
- canvas.onkeydown=handleKey;
+ W.canvas.onkeydown=handleKey;
- if(!embedded)
+ if(!W.embedded)
enableZoom();
- canvas.addEventListener("touchstart",handleTouchStart,false);
- canvas.addEventListener("touchend",handleMouseUpOrTouchEnd,false);
- canvas.addEventListener("touchcancel",handleMouseUpOrTouchEnd,false);
- canvas.addEventListener("touchleave",handleMouseUpOrTouchEnd,false);
- canvas.addEventListener("touchmove",handleTouchMove,false);
+ W.canvas.addEventListener("touchstart",handleTouchStart,false);
+ W.canvas.addEventListener("touchend",handleMouseUpOrTouchEnd,false);
+ W.canvas.addEventListener("touchcancel",handleMouseUpOrTouchEnd,false);
+ W.canvas.addEventListener("touchleave",handleMouseUpOrTouchEnd,false);
+ W.canvas.addEventListener("touchmove",handleTouchMove,false);
document.addEventListener("keydown",handleKey,false);
- canvasWidth0=canvasWidth;
- canvasHeight0=canvasHeight;
+ W.canvasWith0=W.canvasWidth;
+ W.canvasHeight0=W.canvasHeight;
mat4.identity(rotMat);
@@ -3449,6 +3798,20 @@ function webGLStart()
window.addEventListener("resize",resize,false);
- if(ibl)
+ if(W.ibl)
initIBL().then(SetIBL).then(redrawScene);
}
+
+ window['webGLStart']=webGLStart;
+ window['light']=light;
+ window['material']=material;
+ window['patch']=patch;
+ window['curve']=curve;
+ window['pixel']=pixel;
+ window['triangles']=triangles;
+ window['sphere']=sphere;
+ window['disk']=disk;
+ window['cylinder']=cylinder;
+ window['tube']=tube;
+
+})();
diff --git a/graphics/pgf/contrib/tikz-relay/README.txt b/graphics/pgf/contrib/tikz-relay/README.txt
index c7897d621e..68aba573ed 100644
--- a/graphics/pgf/contrib/tikz-relay/README.txt
+++ b/graphics/pgf/contrib/tikz-relay/README.txt
@@ -1,20 +1,20 @@
-Copyright (C) 2018 by Luis Paulo Laus, <laus@utfpr.edu.br>
+Copyright (C) 2018-2022 by Luis Paulo Laus, <laus@utfpr.edu.br>
------------------------------------------------------------
The tikz-relay package may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1 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 or
later is part of all distributions of LaTeX version 1999/12/01 or later.
-Version: 1.2
-Version date: 2018-06-13
+Version: 1.3
+Version date: 2022-08-07
------------------------------------------------------------
-This package contains a collection of symbols for typesetting electrical wiring diagrams for relay control systems. The symbols are meant to be in agreement with international standard IEC-60617 which is worldwide adopted with perhaps the exception of USA. It extends and modify, when needed, the TikZ-libray circuits.ee.IEC. A few non-standard symbols are also included mainly to be used in presentations, particularly with beamer package.
+This package contains a collection of symbols for typesetting electrical wiring diagrams for relay control systems. The symbols are meant to be in agreement with international standard IEC-60617 which is worldwide adopted with perhaps the exception of the USA. It extends and modifies when needed, the TikZ-library circuits.ee.IEC. A few non-standard symbols are also included mainly to be used in presentations, particularly with the beamer package.
------------------------------------------------------------
-If you are interest in generating the documentation departing from tikz-relay-doc.tex you are going to need pgfmanual-en-macros available at ctan:/graphics/pgf/base/doc/macros/pgfmanual-en-macros.tex
-http://mirrors.ctan.org/tex-archive/graphics/pgf/base/doc/macros/pgfmanual-en-macros.tex
+If you are interested in generating the documentation departing from tikz-relay-doc.tex you are going to need pgfmanual-en-macros available at ctan:/graphics/pgf/contrib/tikz-dependency/pgfmanual-en-macros.tex
+https://ctan.org/tex-archive/graphics/pgf/contrib/tikz-dependency/pgfmanual-en-macros.tex
------------------------------------------------------------ \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.pdf b/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.pdf
index 091c8ef9aa..cd09b0c128 100644
--- a/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.pdf
+++ b/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex b/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex
index ebf5cf47f7..93ade7c711 100644
--- a/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex
+++ b/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex
@@ -1,8 +1,8 @@
%% This is file `BeamerAnimation.tex'
-%% Version: 1.0.1
-%% Version date: 2018-02-19
+%% Version: 1.0.2
+%% Version date: 2022-08-07
%%
-%% Copyright (C) 2018 by Luis Paulo Laus, laus@utfpr.edu.br
+%% Copyright (C) 2018-2022 by Luis Paulo Laus, laus@utfpr.edu.br
%%
%% This package can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License distributed from CTAN
@@ -140,7 +140,7 @@
\end{pgfonlayer}
\end{tikzpicture}}
\par\bigskip
-Copyright (C) 2018 by Luis Paulo Laus, laus@utfpr.edu.br
+Copyright (C) 2018-2022 by Luis Paulo Laus, laus@utfpr.edu.br
\end{center}
\end{frame}
\end{document} \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.pdf b/graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.pdf
index 5e5474edaa..3923204837 100644
--- a/graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.pdf
+++ b/graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.tex b/graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.tex
index acf93711c8..0069fa09fc 100644
--- a/graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.tex
+++ b/graphics/pgf/contrib/tikz-relay/doc/tikz-relay-doc.tex
@@ -1,8 +1,8 @@
%% This is file `tikz-relay-doc.tex'
-%% Version: 1.2
-%% Version date: 2018-06-13
+%% Version: 1.3
+%% Version date: 2022-08-07
%%
-%% Copyright (C) 2018 by Luis Paulo Laus, laus@utfpr.edu.br
+%% Copyright (C) 2018-2022 by Luis Paulo Laus, laus@utfpr.edu.br
%%
%% This package can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License distributed from CTAN
@@ -41,9 +41,9 @@
pagecolor=blue,%red,
urlcolor=blue,%cyan,
citecolor=blue,
- %frenchlinks=false, % small caps instead of colors
+ %frenchlinks=false, % small caps instead of colours
pdfborder=0 0 0, % PDF link-darstellung, falls colorlinks=false. 0 0 0: nix. 0 0 1: default.
- %plainpages=false, % Das ist notwendig, wenn die Seitenzahlen z.T. in Arabischen und z.T. in rmischen Ziffern gemacht werden.
+ %plainpages=false,
%pdfsubject=,
}
@@ -78,7 +78,7 @@
% the index of PGF contains
% ----
% This index only contains automatically generated entries. A good index should
-% also contain carefully selected keywords. This index is not a good index.
+% also contains carefully selected keywords. This index is not good.
% ---
% use this line to reset that entry:
\def\index@prologue{\section*{Index}\addcontentsline{toc}{section}{Index}
@@ -86,10 +86,10 @@
\makeatother
-% this here allows automatic cross referencing:
+% this here allows automatic cross-referencing:
\RequirePackage{pgfmanual}
-% this here configures automatic cross referencing.
+% this here configures automatic cross-referencing.
% It works for ANY package that uses pgfkeys and is independent on tikz/pgf.
\pgfkeys{
% whenever an unqualified key is found, the following key prefix
@@ -161,34 +161,34 @@
\title{Typesetting Electrical Wiring Diagrams for \emph{Relay} Control Systems with \LaTeX{} and \tikzname{}}
\author{Luis Paulo Laus\\e-mail: \texttt{laus@utfpr.edu.br}}
-\date{Version: 1.2, Version date: 2018-06-13}
+\date{Version: 1.3, Version date: 2022-08-07}
\maketitle
\section{Abstract}
-This package contains a collection of symbols for typesetting electrical wiring diagrams for relay control systems. The symbols are meant to be in agreement with international standard IEC~60\,617 which is worldwide adopted with perhaps the exception of USA. It extends and modify, when needed, the \tikzname-libray |circuits.ee.IEC|. A few non-standard symbols are also included mainly to be used in presentations, particularly with |beamer| package.
+This package contains a collection of symbols for typesetting electrical wiring diagrams for relay control systems. The symbols are meant to agree with international standard IEC~60\,617 \cite{60617-2,60617-4,60617-7,60617-8} which is worldwide adopted with perhaps the exception of the USA. It extends and modifies when needed, the \tikzname-libray |circuits.ee.IEC|. A few non-standard symbols are also included mainly to be used in presentations, particularly with the |beamer| package.
\section{Introduction}
-Relay control system has been gradually replaced by PLC (Programable Controllers) software. However, small automation systems are usually implemented using relay control systems and the descriptions of PLC connection to external components are done using the same symbols as in relay control systems. Relay control systems are traditionally introduced in the very begin of industrial automation disciplines. This package provides symbols to represent those systems accordingly to IEC~60\,617.
+The relay control system has been gradually replaced by PLC (Programmable Controllers) software. However, small automation systems are usually implemented using relay control systems and the descriptions of PLC connection to external components are done using the same symbols as in relay control systems. Relay control systems are traditionally introduced at the very beginning of industrial automation disciplines. This package provides symbols to represent those systems accordingly to IEC~60\,617 \cite{60617-2,60617-4,60617-7,60617-8}.
Very unfortunately, the author has no access to the current version of that standard. The standards consulted during the elaboration of this package are:
\begin{itemize}
-\item IEC~60\,617-2/1996 Graphical symbols for diagrams -- Part 2: Symbol elements, qualifying symbols and other symbols having general application;
-\item IEC~60\,617-4/1996 Graphical symbols for diagrams -- Part 4: Passive components;
-\item IEC~60\,617-8/1996 Graphical symbols for diagrams -- Part 8: Measuring instruments, lamps and signalling devices;
-\item IEC~60\,617-7/1996 Graphical symbols for diagrams -- Part 7: Switchgear, controlgear and protective devices.
+\item IEC~60\,617-2/1996 Graphical symbols for diagrams -- Part 2: Symbol elements, qualifying symbols and other symbols having general application \cite{60617-2};
+\item IEC~60\,617-4/1996 Graphical symbols for diagrams -- Part 4: Passive components \cite{60617-4};
+\item IEC~60\,617-7/1996 Graphical symbols for diagrams -- Part 7: Switchgear, controlgear and protective devices \cite{60617-7};
+\item IEC~60\,617-8/1996 Graphical symbols for diagrams -- Part 8: Measuring instruments, lamps and signalling devices \cite{60617-8}.
\end{itemize}
-All of the aforementioned standards have been withdrawn and correspond to edition~2 of IEC~60\,617. The up-to-date edition, at the moment this document was written, is IEC~60\,617:2012~DB. The author trust that the symbols in this package have not been modified between versions, but without access to the new edition it is impossible to say for sure. One indication that improves confidence in the up-to-dateness of this package is the fact that the current editions is based in editions~2 and 3 and the blunt fact that symbols, once adopted, tend to remain unchanged over time. There are also other libraries with free access\footnote{See, for instance, \url{https://symbols.radicasoftware.com/stencil/IEC.html} and \url{https://www.tracepartsonline.net/} and search for ``CEI IEC''.} that show symbols with the same form they appear herein. Please, report any inaccuracy and out-to-date symbols.
+All of the aforementioned standards have been withdrawn and correspond to edition~2 of IEC~60\,617 \cite{60617-2,60617-4,60617-7,60617-8}. The up-to-date edition in now on-line \cite{60617}. The author trust that the symbols in this package have not been modified between versions, but without access to the new edition, it is impossible to say for sure. One indication that improves confidence in the up-to-dateness of this package is the fact that the current edition is based on editions~2 and 3 and the blunt fact that symbols, once adopted, tend to remain unchanged over time. There are also other libraries with free access\footnote{See, for instance, \url{https://symbols.radicasoftware.com/stencil/IEC.html} and \url{https://www.tracepartsonline.net/} and search for ``CEI IEC''.} that show symbols with the same form they appear herein. Please, report any inaccuracy and out-to-date symbols.
-You can also help if you have access to the current standard and can verify and report the accuracy of the information presented herein. Particularly regarding the dimensions employed in the graphs. Some of them were devised using soundings geometrical rules, but many (like circle diameters) were estimated using poor resolution graphics.
+You can also help if you have access to the current standard and can verify and report the accuracy of the information presented herein. Particularly regarding the dimensions employed in the graphs. Some of them were devised using sounding geometrical rules, but many (like circle diameters) were estimated using poor resolution graphics.
-The international standard IEC~60\,617 is worldwide adopted with perhaps the exception of USA which uses NEMA -- National Electrical Manufacturers Association. If you are interested in NEMA standard you should refer to |tikz-ladder| package. This package is meant to be used for PLC programming, but can also be used for relay control systems.
+The international standard IEC~60\,617 is adopted worldwide, except the USA, which uses NEMA ICS~19-2002 -- National Electrical Manufacturers Association \cite{NEMA}. If you are interested in NEMA standards you should refer to the |tikz-ladder| package. This package is meant to be used for PLC programming, but can also be used for relay control systems.
\section{Relay Library}
\begin{pgflibrary}{circuits.ee.IEC.relay}
-This library provides graphics for electrical wiring diagrams for relay control systems according to the international standard IEC~60\,617. The library was written to extend the \tikzname-library |circuit.ee.IEC|. The reader is urged to read the Section~``Circuit Libraries'' of \tikzname\ manual.
+This library provides graphics for electrical wiring diagrams for relay control systems according to the international standard IEC~60\,617 \cite{60617-2,60617-4,60617-7,60617-8}. The library was written to extend the \tikzname-library |circuit.ee.IEC|. The reader is urged to read the Section~``Circuit Libraries'' of \tikzname\ manual \cite{Tantau}.
This library defines the following key:
\begin{key}{/tikz/circuit ee IEC relay}
@@ -196,7 +196,7 @@ This key should be passed as an option to a picture or a scope that contains a d
\end{key}
\begin{key}{/tikz/activated}
-Adding this key to a contact symbol will ``activate the contact'' so that a |make contact| will close, a |break contact| will open and a |change-over contact| will change. The ``activated'' symbols are not in accordance with IEC~60\,617 because contact shall be drawn in the deactivated position, but sometimes we need to illustrate how a circuit works and this comes in handy. The main purpose is for \beamer\ presentations, see Section~\ref{sec:beamer} for details and further examples. Compare deactivated (normal) and activated break contact:
+Adding this key to a contact symbol will ``activate the contact'' so that a |make contact| will close, a |break contact| will open and a |change over contact| will change. The ``activated'' symbols are not in accordance with IEC~60\,617 because contact shall be drawn in the deactivated position, but it comes in handy we need to illustrate how a circuit works. The main purpose is for \beamer\ presentations, see Section~\ref{sec:beamer} for details and further examples. Compare deactivated (normal) and activated break contact:
\begin{codeexample}[width=3cm]
\tikz[circuit ee IEC relay]
\draw (0,0) to[break contact] (0,1.5)
@@ -205,40 +205,40 @@ Adding this key to a contact symbol will ``activate the contact'' so that a |mak
\end{key}
\begin{key}{/tikz/term=\opt{|[|\meta{options}|]|\meta{angle}|:|}\meta{text}}
- This key is meant to place text information about the upper terminal of the component. It has nearly the same effect as the |label| key, only the placement position is change and following style is used additionally and automatically:
+ This key is meant to place text information about the upper terminal of the component. It has nearly the same effect as the |label| key, only the placement position is changed and the following style is used additionally and automatically:
\begin{stylekey}{/tikz/every term (initially {font=\string\scriptsize})}
Set this style to configure the styling of term labels. Since this
key is \emph{not} used with normal labels, it provides an easy way
of changing the way info labels look without changing other
labels.
\end{stylekey}
- The \meta{options} and \meta{angle} are passed directly to the |label| command. For a detailed discussion of the |label| option refer to the \tikzname\ manual.
+ The \meta{options} and \meta{angle} are passed directly to the |label| command. For a detailed discussion of the |label| option refer to the \tikzname\ manual \cite{Tantau}.
The use of this key is exemplified in Section~\ref{sec:labels}.
\end{key}
\begin{key}{/tikz/term'=\opt{|[|\meta{options}|]|\meta{angle}|:|}\meta{text}}
- This key is similar to |term|, but it is meant to place text information about the lower terminal of the component. It has nearly the same effect as the |label| key, only the placement position is change and following style is used additionally and automatically:
+ This key is similar to |term|, but it is meant to place text information about the lower terminal of the component. It has nearly the same effect as the |label| key, only the placement position is changed and the following style is used additionally and automatically:
\begin{stylekey}{/tikz/every term' (initially {font=\string\scriptsize})}
Set this style to configure the styling of term' labels. Since this
key is \emph{not} used with normal labels, it provides an easy way
of changing the way info labels look without changing other
labels.
\end{stylekey}
- The \meta{options} and \meta{angle} are passed directly to the |label| command. For a detailed discussion of the |label| option refer to the \tikzname\ manual.
+ The \meta{options} and \meta{angle} are passed directly to the |label| command. For a detailed discussion of the |label| option refer to the \tikzname\ manual \cite{Tantau}.
The use of this key is exemplified in Section~\ref{sec:labels}.
\end{key}
\begin{key}{/tikz/term''=\opt{|[|\meta{options}|]|\meta{angle}|:|}\meta{text}}
- This key is similar to |term|, but it is meant to place text information about the upper left terminal of the component mainly for |change over contact|. It has nearly the same effect as the |label| key, only the placement position is change and following style is used additionally and automatically:
+ This key is similar to |term|, but it is meant to place text information about the upper left terminal of the component mainly for |change over contact|. It has nearly the same effect as the |label| key, only the placement position is changed and the following style is used additionally and automatically:
\begin{stylekey}{/tikz/every term'' (initially {font=\string\scriptsize})}
Set this style to configure the styling of term'' labels. Since this
key is \emph{not} used with normal labels, it provides an easy way
of changing the way info labels look without changing other
labels.
\end{stylekey}
- The \meta{options} and \meta{angle} are passed directly to the |label| command. For a detailed discussion of the |label| option refer to the \tikzname\ manual.
+ The \meta{options} and \meta{angle} are passed directly to the |label| command. For a detailed discussion of the |label| option refer to the \tikzname\ manual \cite{Tantau}.
The use of this key is exemplified in Section~\ref{sec:labels}.
\end{key}
@@ -247,7 +247,7 @@ Adding this key to a contact symbol will ``activate the contact'' so that a |mak
\section{Convention}
-In this library, the |mid| anchor is used to place annotations, which are secondary symbols placed on top of another symbol, on contacts and the |north| or |south| anchor on |relay coil|. The key |info|, as described in Section~``Circuit Libraries'' of \tikzname\ manual, is used to place the component identification. Observe that the |info| has to be provide for the annotation, if any, or for the symbol itself if the annotation is placed at right side of the symbol. The keys |term|, |term'| and |term''| are used to place terminal numbers by the side of component terminals. See Section~\ref{sec:labels} for details and examples.
+In this library, the |mid| anchor is used to place annotations, which are secondary symbols placed on top of another symbol, on contacts and the |north| or |south| anchor on |relay coil|. The key |info|, as described in Section~``Circuit Libraries'' of \tikzname\ manual \cite{Tantau}, is used to place the component identification. Observe that the |info| has to be provided for the annotation, if any, or for the symbol itself if the annotation is placed on the right side of the symbol. The keys |term|, |term'| and |term''| are used to place terminal numbers by the side of component terminals. See Section~\ref{sec:labels} for details and examples.
\section{Symbols}
\begin{minipage}{\linewidth}
@@ -270,7 +270,13 @@ The symbols in this library are:
|/tikz/make contact| & 07-02-01 &
\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-1.25,-0.25) grid[step=\tikzcircuitssizeunit] +(2.5,1.5); \draw (0,0) to[make contact] (0,1);}\\
|/tikz/break contact| & 07-02-03 &
-\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-1.25,-0.25) grid[step=\tikzcircuitssizeunit] +(2.5,1.5); \draw (0,0) to[break contact] (0,1);}\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-1.25,-0.25) grid[step=\tikzcircuitssizeunit] +(2.5,1.5); \draw (0,0) to[break contact] (0,1);}
+\end{tabular}
+\end{center}
+\bigskip\end{minipage}
+\begin{center}
+\begin{tabular}{lcc}
+\emph{key} & IEC~60\,617 \emph{number} & \emph{Appearance}\\
|/tikz/change over contact| & 07-02-04 &
\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-1.25,-0.25) grid[step=\tikzcircuitssizeunit] +(2.5,1.5); \draw (0,0) to[change over contact] (0,1);}\\
|/tikz/relay coil| & 07-15-01 &
@@ -282,24 +288,20 @@ The symbols in this library are:
|/tikz/horn| & 08-10-05 &
\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(2.5,1.5); \draw (0,0) to[horn] (0,1);}\\
|/tikz/var horn IEC relay graphic| & 08-10-05 &
-\tikz[circuit ee IEC relay,set horn graphic = var horn IEC relay graphic,baseline=.5cm] {\draw[help lines] (-1.25,-0.25) grid[step=\tikzcircuitssizeunit] +(2.5,1.5); \draw (0,0) to[horn] (0,1);}
-\end{tabular}
-\end{center}
-\bigskip\end{minipage}
-\begin{center}
-\begin{tabular}{lcc}
-\emph{key} & IEC~60\,617 \emph{number} & \emph{Appearance}\\
+\tikz[circuit ee IEC relay,set horn graphic = var horn IEC relay graphic,baseline=.5cm] {\draw[help lines] (-1.25,-0.25) grid[step=\tikzcircuitssizeunit] +(2.5,1.5); \draw (0,0) to[horn] (0,1);}\\
|/tikz/buzzer| & NA &
\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-1.25,-0.25) grid[step=\tikzcircuitssizeunit] +(2.5,1.5); \draw (0,0) to[buzzer] (0,1);}\\
|/tikz/loud speaker| & NA &
\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-1.25,-0.75) grid[step=\tikzcircuitssizeunit] +(2.5,2.5); \draw (0,0) to[loud speaker] (0,1);}
\end{tabular}
\end{center}
-Three symbols, |resistor|, |inductor| and |bulb| are already defined in \tikzname-library |circuits.ee.IEC|. They are redefined in this package because their proportion was not in agreement with IEC~60\,617. The symbols |inductor| is listed in Annex~A of IEC~60\,617 implying it is deleted and should appear in old diagrams or documentation explaining is it obsolete. To use this symbol set the option \verb|set inductor graphic = inductor IEC relay graphic| either globally with |tikzset| or locally as option of a picture or a scope.
+Above, the IEC~60\,617 \emph{numbers} in the format of \emph{part-section-number} are as they appear in the standards \cite{60617-2,60617-4,60617-7,60617-8}.
+
+Three symbols, |resistor|, |inductor| and |bulb| are already defined in \tikzname-library |circuits.ee.IEC|. They are redefined in this package because their proportion was not in agreement with IEC~60\,617. The symbol |inductor| is listed in Annex~A of IEC~60\,617 \cite{60617-4} implying it is deleted and should appear in old diagrams or documentation explaining it is now obsolete. To use this symbol set the option \verb|set inductor graphic = inductor IEC relay graphic| either globally with |tikzset| or locally as the option of a picture or a scope.
-``Change over contact'' is short for ``change-over break before make contact''. The symbols |make contact|, |break contact| and |change over contact| can be activated (the contact changes the position) and this feature is needed for creating presentations. See Section~\ref{sec:beamer} for details.
+``Change over contact'' is described in Section~\ref{sec:changeover}. The symbols |make contact|, |break contact| and |change over contact| can be activated (the contact changes the position) and this feature is needed for creating presentations. See Section~\ref{sec:beamer} for details.
-This list may look short, but several other symbols are possible combining these symbols with annotation. In fact, it is annotation that empowers this library.
+This list may look short, but several other symbols are possible by combining these symbols with annotation. In fact, it is annotations that empower this library.
\subsection{Annotation for relay coils}
@@ -307,10 +309,10 @@ This list may look short, but several other symbols are possible combining these
The |relay coil| can be used alone or combined with annotations to form:
\begin{center}
\hspace*{-3ex}\begin{tikzpicture}[circuit ee IEC relay,thick,x=16\tikzcircuitssizeunit,y=\tikzcircuitssizeunit]
- \draw[help lines] (-0.5,-38) grid[step=\tikzcircuitssizeunit] +(4,45);
+ \draw[help lines] (-0.5,-5) grid[step=\tikzcircuitssizeunit] +(4,12); % -(11*n+1-7), 11*n+1
\global\xpos=0
\global\ypos=0
- \foreach \x in {, slow operating, slow releasing, slow operating and slow releasing, high speed, mechanically latched, alternating current, polarized, electronic, remanent, var remanent, thermal, unaffected by alternating current, mechanically resonant, solenoid valve, pulse counter}
+ \foreach \x in {, slow operating, slow releasing, slow operating and slow releasing}
{
\ifnum \xpos>3 \global\xpos=0 \global\advance\ypos by 11 \fi
\node[below,align=center,text width=20\tikzcircuitssizeunit] at (\the\xpos,-\the\ypos) {\verb|\x|};
@@ -320,7 +322,21 @@ The |relay coil| can be used alone or combined with annotations to form:
\end{tikzpicture}
\end{center}
\bigskip\end{minipage}
-Note that symbol |relay coil| is used to produce the graphic for other devices which in fact are not relays at all.
+\begin{center}
+\hspace*{-3ex}\begin{tikzpicture}[circuit ee IEC relay,thick,x=16\tikzcircuitssizeunit,y=\tikzcircuitssizeunit]
+ \draw[help lines] (-0.5,-27) grid[step=\tikzcircuitssizeunit] +(4,34);
+ \global\xpos=0
+ \global\ypos=0
+ \foreach \x in {high speed, mechanically latched, alternating current, polarized, electronic, remanent, var remanent, thermal, unaffected by alternating current, mechanically resonant, solenoid valve, pulse counter}
+ {
+ \ifnum \xpos>3 \global\xpos=0 \global\advance\ypos by 11 \fi
+ \node[below,align=center,text width=20\tikzcircuitssizeunit] at (\the\xpos,-\the\ypos) {\verb|\x|};
+ \draw (\the\xpos,-\the\ypos) to[relay coil={\x}] (\the\xpos,6-\the\ypos);
+ \global\advance\xpos by 1
+ }
+\end{tikzpicture}
+\end{center}
+Note that the symbol |relay coil| is used to produce the graphic for other devices which are not relays at all.
\subsection{Annotation for contacts}
@@ -328,10 +344,10 @@ Note that symbol |relay coil| is used to produce the graphic for other devices w
The contacts can be used alone or combined with annotations to form:
\begin{center}
\begin{tikzpicture}[circuit ee IEC relay,thick,x=16\tikzcircuitssizeunit,y=\tikzcircuitssizeunit]
- \draw[help lines] (-0.5,-82) grid[step=\tikzcircuitssizeunit] +(4,89);
+ \draw[help lines] (-0.5,-38) grid[step=\tikzcircuitssizeunit] +(4,45); % -(11*n+1-7), 11*n+1
\global\xpos=0
\global\ypos=0
- \foreach \x in {, manually operated, protected manually operated, var push button, push button, pull switch, turn switch, emergency switch, pedal operated, lever operated, crank operated, key operated, removable handle, proximity switch, touch switch, magnetic switch, position switch, roller, level switch, var level switch, thermal switch, delayed activation, delayed deactivation, delayed both, static switch, circuit breaker, counter switch, pressure switch, emergency pull switch, var emergency pull switch, emergency turn switch, var emergency turn switch}
+ \foreach \x in {, manually operated, protected manually operated, var push button, push button, pull switch, turn switch, emergency switch, pedal operated, lever operated, crank operated, key operated, removable handle, proximity switch, touch switch, magnetic switch}
{
\ifnum \xpos>3 \global\xpos=0 \global\advance\ypos by 11 \fi
\node[below,align=center,text width=14\tikzcircuitssizeunit] at (\the\xpos,-\the\ypos) {\verb|\x|};
@@ -341,9 +357,23 @@ The contacts can be used alone or combined with annotations to form:
\end{tikzpicture}
\end{center}
\bigskip\end{minipage}
-Temperature sensitive switch is indicated by either the Greek capital letter $\Theta$ or by the operating temperature conditions written at the right side of the contact and it can be achieved using the |info'| key. It is also usual to indicate pressure sensitive switch with roman letter P or by the operating pressure conditions in the same way.
+\begin{center}
+\begin{tikzpicture}[circuit ee IEC relay,thick,x=16\tikzcircuitssizeunit,y=\tikzcircuitssizeunit]
+ \draw[help lines] (-0.5,-49) grid[step=\tikzcircuitssizeunit] +(4,56);
+ \global\xpos=0
+ \global\ypos=0
+ \foreach \x in {position switch, roller, level switch, var level switch, thermal switch, delayed activation, delayed deactivation, delayed both, static switch, circuit breaker, counter switch, pressure switch, closing momentarily, closing momentarily',early or late,early or late', emergency pull switch, var emergency pull switch, emergency turn switch, var emergency turn switch}
+ {
+ \ifnum \xpos>3 \global\xpos=0 \global\advance\ypos by 11 \fi
+ \node[below,align=center,text width=14\tikzcircuitssizeunit] at (\the\xpos,-\the\ypos) {\verb|\x|};
+ \draw (\the\xpos,-\the\ypos) to[make contact={\x}] (\the\xpos,6-\the\ypos);
+ \global\advance\xpos by 1
+ }
+\end{tikzpicture}
+\end{center}
+Temperature sensitive switch is indicated by either the Greek capital letter $\Theta$ or by the operating temperature conditions written on the right side of the contact and it can be achieved using the |info'| key. It is also usual to indicate pressure-sensitive switches with the roman letter P or by the operating pressure conditions in the same way.
-Some symbols can be obtained by combining in this library with symbol from the \tikzname-library |circuit.ee.IEC|, for instance, a static switch, passing current in one direction only (IEC symbol 07-25-03) can be drawn using a |make contact| and a |diode| as:
+Some symbols can be obtained by combining symbols in this library with symbols from the \tikzname-library |circuit.ee.IEC|, for instance, a ``static switch, passing current in one direction only'' (IEC symbol 07-25-03) can be drawn using a |make contact| and a |diode| as:
\begin{center}
\begin{tikzpicture}[circuit ee IEC relay,thick,
x=4\tikzcircuitssizeunit,
@@ -362,7 +392,7 @@ In this case, the space or grid should be treated very carefully.
\subsection{Annotation self-placement}
\begin{minipage}{\linewidth}
-For contacts, the |mid| anchor is used to place the annotation at correct position. For instance, a |push button| applied to all kinds of contacts produces:
+The |mid| anchor is used for contacts to place the annotation at the correct position. For instance, a |push button| applied to all kinds of contacts produces:
\begin{center}
\begin{tikzpicture}[circuit ee IEC relay,thick,x=10\tikzcircuitssizeunit,y=3\tikzcircuitssizeunit]
\draw[help lines] (-0.5,-0.3334) grid[step=\tikzcircuitssizeunit] +(5.7,3);
@@ -378,7 +408,7 @@ For contacts, the |mid| anchor is used to place the annotation at correct positi
\end{center}
\bigskip\end{minipage}
-In the case of a |position switch|, |delayed activation|, |delayed deactivation|, |delayed both| and |static switch|, the orientation is also adjusted with the help of |input| anchor:
+In the case of a |position switch|, |delayed activation|, |delayed deactivation|, |delayed both| and |static switch|, the orientation is also adjusted with the help of the |input| anchor:
\begin{center}
\begin{tikzpicture}[circuit ee IEC relay,thick,x=10\tikzcircuitssizeunit,y=3\tikzcircuitssizeunit]
\draw[help lines] (-0.5,-0.3334) grid[step=\tikzcircuitssizeunit] +(5.7,3);
@@ -409,21 +439,58 @@ In the case of a |position switch|, |delayed activation|, |delayed deactivation|
\end{tikzpicture}
\end{center}
-Annotations can be mirrored using the apostrophe ('), e.g., a position switch, mechanically operated in both directions with two separate circuits would be:
+Annotations can be mirrored using the apostrophe ('), e.g., a ``make contact (of a multiple contact assembly) which is \emph{early} to close relative to the other make contacts of the assembly'' (IEC symbol 07-04-01) obtained from annotation \verb|early or late|. When mirrored, this annotation produces a ``make contact (of a multiple contact assembly) which is \emph{late} to close relative to the other make contacts of the assembly'' (IEC symbol 07-04-02):
+\begin{codeexample}[width=1.7cm]
+\begin{tikzpicture}[circuit ee IEC relay,thick]
+ \draw
+ (0,0) to[make contact={early or late}] ++(0,2)
+ (1,0) to[make contact={early or late'}] ++(0,2);
+\end{tikzpicture}
+\end{codeexample}
+
+In the case of a break contact, as in ``break contact (of a multiple contact assembly) which is \emph{late} to open relative to the other break contacts of the assembly'' (IEC symbol 07-04-03) and ``break contact (of a multiple contact assembly) which is \emph{early} to open relative to the other break contacts of the assembly'' (IEC symbol 07-04-04), the use apostrophe (') is reverted:
+\begin{codeexample}[width=1.7cm]
+\begin{tikzpicture}[circuit ee IEC relay,thick]
+ \draw
+ (0,0) to[break contact={early or late'}] ++(0,2)
+ (1,0) to[break contact={early or late}] ++(0,2);
+\end{tikzpicture}
+\end{codeexample}
+
+The ``passing make contact closing momentarily when its operating device is \emph{actuated}'' (IEC symbol 07-03-01) and ``Passing make contact closing momentarily when itsoperating device is \emph{released}'' (IEC symbol 07-03-02) are obtained from annotation \verb|closing momentarily| and its mirrored version, respectively.
+
+Sometimes it is necessary to use both annotation versions as in ``passing make contact closing momentarily when its operating device is actuated or released'' (IEC symbol 07-03-03) which is constructed as:
+\begin{codeexample}[width=0.7cm]
+\begin{tikzpicture}[circuit ee IEC relay,thick]
+ \draw
+ (0,0) to[make contact={closing momentarily, closing momentarily'}] ++(0,2);
+\end{tikzpicture}
+\end{codeexample}
+
+Another example of using both annotation versions is the ``position switch, mechanically operated in both directions with two separate circuits'' (IEC symbol 07-08-03) which would be:
\begin{codeexample}[width=2.3cm]
\begin{tikzpicture}[circuit ee IEC relay,thick]
\draw
- (0,0) to[break contact={name=sw1,position switch,position switch'}] ++(0,2)
- (2,0) to[make contact={name=sw2,position switch,position switch'}] ++(0,2);
+ (0,0) to[break contact={name=sw1, position switch, position switch'}] ++(0,2)
+ (2,0) to[make contact={name=sw2, position switch, position switch'}] ++(0,2);
\draw[dashed] (sw1.south) -- (sw2.north);
\end{tikzpicture}
\end{codeexample}
-\subsection{Change over contact}
-Change over contact, or more exactly, ``change-over break before make contact'' is the only contact in this library that has three terminals. The bottom and top right terminal are connected in the usual way, namely, using the command |to|. To allow the user access to the top left terminal, an anchor named\footnote{The same name convention adopted in \tikzname-library |circuits.ee.IEC| is used here: the symbol default orientations make the component appear as rotated $90^{\circ}$ clockwise. The terminals on the left (bottom in the normal orientation) are named inputs and anchors with names starting with |input| are automatically placed. The terminals on the right (top in the normal orientation) are the outputs and anchors with names starting with |output| are automatically placed.} |output 1| is automatically placed. To use this anchor, the contact has to be named. The reference is available in the same and subsequent paths. Therefore,
+\subsection{Change over contact\label{sec:changeover}}
+The ``change-over break before make contact'' (IEC symbol 07-02-04) and ``change-over make before break contact'' (IEC symbol 07-02-06) are both obtained from \verb|change over contact| although the latter would require both annotations \verb|early or late, early or late'| as in:
+\begin{codeexample}[width=0.8cm]
+\begin{tikzpicture}[circuit ee IEC relay,thick]
+ \draw
+ (0,0) to[change over contact={name=sw1,early or late,early or late'}] ++(0,2) coordinate(n1)
+ (sw1.output 1) -- (sw1.output 1 |- n1);
+\end{tikzpicture}
+\end{codeexample}
-\begin{codeexample}[width=3cm]
+The \verb|change over contact| is the only contact in this library that has three terminals. The bottom and top right terminal are connected in the usual way, namely, using the command |to|. To allow the user access to the top left terminal, an anchor named\footnote{The same name convention adopted in \tikzname-library |circuits.ee.IEC| is used here: the symbol default orientations make the component appear as rotated $90^{\circ}$ clockwise. The terminals on the left (bottom in the normal orientation) are named inputs and anchors with names starting with |input| are automatically placed. The terminals on the right (top in the normal orientation) are the outputs and anchors with names starting with |output| are automatically placed.} |output 1| is automatically placed. To use this anchor, the contact has to be named. The reference is available in the same and subsequent paths. Therefore,
+
+\begin{codeexample}[width=2.9cm]
\begin{tikzpicture}[circuit ee IEC relay,thick]
\draw (0,0) to[change over contact={name=sw1}] ++(0,2) coordinate(n1)
(sw1.output 1) -- (sw1.output 1 |- n1);
@@ -432,20 +499,21 @@ Change over contact, or more exactly, ``change-over break before make contact''
\end{tikzpicture}
\end{codeexample}
-\noindent{}where \verb|(n1)| is used to store the coordinates of the second point making it possible to draw a vertical line with the same vertical level\footnote{In this case, the second point coordinates are known to be \verb|(0,2)|, but in general it is a good idea to use the command |coordinate| to store the information for future use. This allows for the contact to be moved easily when needed.}. The second part of the |\draw| command just draws a line from |(sw1.output 1)| to \verb!(sw1.output 1 |- n1)!, a point with $x$ coordinate equal to |(sw1.output 1)|${}_{x}$ and $y$ coordinate equal to |(n1)|${}_{y}$. Refer to Section~``Coordinates at Intersections'' of \tikzname\ manual for details. This example also uses relative points; refer to Section~``Special Syntax for Specifying Points'' of \tikzname\ manual for details. The use of relative coordinates and anchor allows the easy repositioning of the elements. Keep in mind that:
-\begin{codeexample}[width=3cm]
+\noindent{}where \verb|(n1)| is used to store the coordinates of the second point making it possible to draw a vertical line with the same vertical level\footnote{In this case, the second point coordinates are known to be \verb|(0,2)|, but in general it is a good idea to use the command |coordinate| to store the information for future use. This allows for the contact to be moved easily when needed.}. The second part of the |\draw| command just draws a line from |(sw1.output 1)| to \verb!(sw1.output 1 |- n1)!, a point with $x$ coordinate equal to |(sw1.output 1)|${}_{x}$ and $y$ coordinate equal to |(n1)|${}_{y}$. Refer to Section~``Coordinates at Intersections'' of \tikzname\ manual \cite{Tantau} for details. This example also uses relative points; refer to Section~``Special Syntax for Specifying Points'' of \tikzname\ manual \cite{Tantau} for details. The use of relative coordinates and anchor allows for the easy repositioning of the elements. Keep in mind that:
+\begin{codeexample}[width=3.4cm]
\begin{tikzpicture}[thick]
- \coordinate (n1) at (0,0); \coordinate(n2) at (1.3,1);
- \draw node[red]{$\times$}
+ \coordinate (n1) at (0,0);
+ \coordinate (n2) at (1.3,1);
+ \draw node[red,label={below left:n1}]{$\times$}
(n1) -- (n1 |- n2) node[draw=violet]{} node[above left] {\verb!|-!} -- (n2)
(n1) -- (n1 -| n2) node[draw=orange]{} node[below right]{\verb!-|!} -- (n2)
- node[blue]{$\times$};
+ node[blue,label={above right:n2}]{$\times$};
\end{tikzpicture}
\end{codeexample}
\section{Labels\label{sec:labels}}
-You can place information at the left side of a symbol using |info| and at the right side with |info'|. Note that, if the symbol has an annotation at is left side and you want to use |info|, you have to use |info| in the annotation. The same is valid for |info'| if the annotation is at the right side of the symbol.
+You can place information on the left side of a symbol using |info| and on the right side with |info'|. Note that, if the symbol has an annotation on its left side and you want to use |info|, you have to use |info| in the annotation. The same is valid for |info'| if the annotation is on the right side of the symbol.
For instance, a relay coil named K1 is labelled as:
\begin{codeexample}[width=2.5cm]
\tikz[circuit ee IEC relay,thick]
@@ -456,20 +524,20 @@ For instance, a relay coil named K1 is labelled as:
\tikz[circuit ee IEC relay,thick]
\draw (0,0) to[relay coil={slow operating={info=K2}}] (0,1);
\end{codeexample}
-\noindent{}failing to do so produces incorrect labelling position as:
+\noindent{}failing to do so produces an incorrect labelling position as:
\begin{codeexample}[width=2.5cm]
\tikz[circuit ee IEC relay,thick,red]
\draw (0,0) to[relay coil={slow operating,info=K2}] (0,1);
\end{codeexample}
\noindent{}In the last case, the |info| is applied to |relay coil|, not to the annotation |slow operating|.
-On the other hand, if the annotation is placed at right of the symbol, like a solenoid valve, the |info| is placed in the symbol itself (not in the annotation):
+On the other hand, if the annotation is placed at the right of the symbol, like a solenoid valve, the |info| is placed in the symbol itself (not in the annotation):
\begin{codeexample}[width=3cm]
\tikz[circuit ee IEC relay,thick]
\draw (0,0) to[relay coil={solenoid valve,info=Y2}] (0,1);
\end{codeexample}
-The same reasoning applies to the right side using |info'| key: if there is an annotation at the right side, use the |info'| inside the annotation key:
+The same reasoning applies to the right side using the |info'| key: if there is an annotation on the right side, use the |info'| inside the annotation key:
\begin{codeexample}[width=4.5cm]
\tikz[circuit ee IEC relay,thick]
\draw (0,0)
@@ -482,12 +550,12 @@ The same reasoning applies to the right side using |info'| key: if there is an a
to[relay coil={slow operating={info=K2},info'={[blue]START}}] (0,1);
\end{codeexample}
-It also possible to label the terminals for assembling reference. There are three specially designed keys for it:
+It is also possible to label the terminals for assembling reference. There are three specially designed keys for it:
\begin{description}[align=right,leftmargin=14mm,labelwidth=12mm,labelsep=2mm]
-\item [{term}] places a label at the top right side of the symbol. It is meant to identify the top terminal. Because of \tikzname\ convention, an anchor named |output| is placed on this terminal;
-\item [{term'}] places a label at the bottom right side of the symbol. It is meant to identify the bottom terminal. Because of \tikzname\ convention, an anchor named |input| is placed on this terminal;
-\item [{term''}] places a label at the top left side of the symbol. It is meant to identify the top left terminal of a change over contact. Because of \tikzname\ convention, an anchor named |output 1| is placed on this terminal. Key term'' places the label such that a line to |output 1| can be drawn vertically or horizontally without crossing the label.
+\item [{term}] places a label at the top right side of the symbol. It is meant to identify the top terminal. Because of the \tikzname\ convention, an anchor named |output| is placed on this terminal;
+\item [{term'}] places a label at the bottom right side of the symbol. It is meant to identify the bottom terminal. Because of the \tikzname\ convention, an anchor named |input| is placed on this terminal;
+\item [{term''}] places a label at the top left side of the symbol. It is meant to identify the top left terminal of a change over contact. Because of the \tikzname\ convention, an anchor named |output 1| is placed on this terminal. The key term'' places the label such that a line to |output 1| can be drawn vertically or horizontally without crossing the label.
\end{description}
Each one of these three keys can be individually styled using the style, e.g., |every term'/.style|.
@@ -507,7 +575,7 @@ A change over contact of the same relay:
\section{Design Guidance\label{sec:guidance}}
This section brings some recommendations that reflect the way I produce diagrams for relay control systems. It may or may not work for you. Feel free to e-mail me if you have better ideas.
-The first thing to consider is that, as the manual says, ``\tikzname\ \emph{ist kein Zeichenprogramm}'' which translates to ``\tikzname\ \emph{is not a drawing program}''. You shall start with a draft of you diagram and then codify it using \tikzname. Generally, a handmade pencil sketch will do. In this draft, you shall use node names for future reference. For instance, the |contact| named |N1| below is used as a connection point for the latching contact of relay $K_1$; contacts |N0L| and |N24L| are used for power rails (left side).
+The first thing to consider is that, as the manual says, ``\tikzname\ \emph{ist kein Zeichenprogramm}'' which translates to ``\tikzname\ \emph{is not a drawing program}'' \cite[p.~27]{Tantau}. You shall start with a draft of your diagram and then codify it using \tikzname. Generally, a handmade pencil sketch will do. In this draft, you shall use node names for future reference. For instance, the |contact| named |N1| below is used as a connection point for the latching contact of relay $K_1$; contacts |N0L| and |N24L| are used for power rails (left side).
\begin{codeexample}[width=2.5cm]
\begin{tikzpicture}[circuit ee IEC relay,thick]
@@ -525,10 +593,10 @@ The first thing to consider is that, as the manual says, ``\tikzname\ \emph{ist
\end{tikzpicture}
\end{codeexample}
-The second thing to consider is that |tikz-relay| uses the |\tikzcircuitssizeunit| to keep all figures proportional. Therefore, when you consider any dimension related to symbol size it is good idea to set that dimension in respect to |\tikzcircuitssizeunit|, i.e., using |\tikzcircuitssizeunit| as the unit of length. The default value of |\tikzcircuitssizeunit| is 7\,pt or approximately 2.46\,mm and it can be set by the |circuit symbol unit| key among several other keys. You can think of |\tikzcircuitssizeunit| as the module size $M$ in IEC~60\,617.
-Most symbols presented in the IEC~60\,617 are draw using $M=\unit[2.5]{mm}$. This can be achieved placing the command \verb|\tikzset{circuit symbol unit=2.5mm}| in the document preamble which changes |\tikzcircuitssizeunit| to \the\tikzcircuitssizeunit\ document wide (not too different from the default value though). You can establish your own length unit and set $x$ and $y$ to that length unit. In this way you will be working on a grid; if it is too big or too small you will have to change a single declaration.
+The second thing to consider is that |tikz-relay| uses the |\tikzcircuitssizeunit| to keep all figures proportional. Therefore, when you consider any dimension related to symbol size it is a good idea to set that dimension with respect to |\tikzcircuitssizeunit|, i.e., using |\tikzcircuitssizeunit| as the unit of length. The default value of |\tikzcircuitssizeunit| is 7\,pt or approximately 2.46\,mm and it can be set by the |circuit symbol unit| key among several other keys. You can think of |\tikzcircuitssizeunit| as the module size $M$ in IEC~60\,617 \cite{60617-7}.
+Most symbols presented in the IEC~60\,617 are draw using $M=\unit[2.5]{mm}$. This can be achieved by placing the command \verb|\tikzset{circuit symbol unit=2.5mm}| in the document preamble which changes |\tikzcircuitssizeunit| to \the\tikzcircuitssizeunit\ document wide (not too different from the default value though). You can establish your own length unit and set $x$ and $y$ to that length unit. In this way you will be working on a grid; if it is too big or too small you will have to change a single declaration.
-Finishing up the previous example, the |x| grid is set to five |\tikzcircuitssizeunit| to allow horizontal space for labels and |y| grid is set to four |\tikzcircuitssizeunit| because the symbols used in control circuit schematics are two |\tikzcircuitssizeunit| tall, so there will be one |\tikzcircuitssizeunit| above and below the symbol. Starting at |N1|, the latching contact of $K_1$ is placed one horizontal length unit aside $b_1$.
+Finishing up the previous example, the |x| grid is set to five |\tikzcircuitssizeunit| to allow horizontal space for labels and the |y| grid is set to four |\tikzcircuitssizeunit| because the symbols used in the control circuit schematics are two |\tikzcircuitssizeunit| tall, so there will be one |\tikzcircuitssizeunit| above and below the symbol. Starting at |N1|, the latching contact of $K_1$ is placed one horizontal length unit aside $b_1$.
\begin{codeexample}[width=4.1cm]
\begin{tikzpicture}[circuit ee IEC relay,thick,
@@ -549,7 +617,7 @@ Finishing up the previous example, the |x| grid is set to five |\tikzcircuitssiz
(N0L) ++(-0.8,0) node[left]{$\unit[0]{V}$} -- (N0L -| N24R) -- ++(0.3,0);
\end{tikzpicture}
\end{codeexample}
-\noindent{}Power rails are placed using named nodes. This is not really necessary since the beginning and end of the power rails lines can be determined easily because we are working on a grid.
+\noindent{}Power rails are placed using named nodes. This is not really necessary since the beginning and end of the power rail lines can be determined easily because we are working on a grid.
Because of the direction chosen when the symbols were first defined in \tikzname, we start from the bottom moving to the top of the diagram. This is not mandatory, although changing the direction requires that all symbols and annotations be negatively scaled (locally rotated by $180^{\circ}$), for instance, the last example would be:
@@ -577,15 +645,15 @@ Because of the direction chosen when the symbols were first defined in \tikzname
\noindent{}where \verb|every circuit symbol/.style={scale=-1}| and \verb|every circuit annotation/.style={scale=-1}| were used to scale the symbols and annotations, respectively. This example produces the very same diagram, but we start at the top and work down to the bottom.
\subsection{Some tricks}
-Power circuits schematics use a more diverse variety of symbol height than control circuit schematics. Thus, it is better to set the grid to a smaller value. This allows for a higher control over the symbols distance. For each symbol, consider its height and allow some extra space between symbols.
+Power circuit schematics use a more diverse variety of symbol heights than control circuit schematics. Thus, it is better to set the grid to a smaller value. This allows for higher control over the symbol's distance. For each symbol, consider its height and allow some extra space between symbols.
-Some symbols like relay coils for power circuits schematics are not available, thus we can draw a square by the side of the relay contacts connecting it to the right most contact using a dashed line. The |mid| anchor is perfect for that. Actually, we shall start at the |mid| anchor of the right most contact and draw a dashed line to the left using relative coordinates, at the end of the dashed line we place a square node with no text inside, but with a label above (or left) identifying the relay coil.
+Some symbols like relay coils for power circuits schematics are not available, thus we can draw a square by the side of the relay contacts and connect it to the rightmost contact using a dashed line. The |mid| anchor is perfect for that. We shall start at the |mid| anchor of the rightmost contact and draw a dashed line to the left using relative coordinates, at the end of the dashed line we place a square node with no text inside, but with a label above (or left) identifying the relay coil.
The inductors look a bit odd: the semicircles end in very sharp corners. It is better to change the |line joint| to |bevel|.
You can use different styles for |info| and |info'|, and also for |term|, |term'| and |term''|, but it is usually a bad idea. It is normally best to set a style for one of these keys and copy it to the others.
-For example, a star-delta motor starter has power circuit schematic like:
+For example, a star-delta motor starter has a power circuit schematic like:
% Power Circuit Schematic
@@ -648,11 +716,11 @@ For example, a star-delta motor starter has power circuit schematic like:
Control circuit schematics can use a much bigger grid space because the symbol heights are the same, i.e. always two units of length. When setting the |x| unit of length, you need to consider the space occupied by labels and annotations.
-Sometimes we need to place a symbol upside-down. This is the case of the star-delta motor starter control circuit schematic in which a change-over contact is used to change from $K_2$ to $K_3$. To achieved the correct orientation, a negative |y| scaling is set by |yscale=-1|. This contact is named |t1| for future reference, in this case, to access the |output 1| and connect it to $K_2$. If you think it is against IEC~60\,617 rules to drawn the change-over contact upset-down you will end up with a terrible layout because of the position of the common terminal.
+Sometimes we need to place a symbol upside-down. This is the case of the star-delta motor starter control circuit schematic in which a change over contact is used to change from $K_2$ to $K_3$. To achieve the correct orientation, a negative |y| scaling is set by |yscale=-1|. This contact is named |t1| for future reference, in this case, to access the |output 1| and connect it to $K_2$. If you think it is against IEC~60\,617 rules to draw the change over contact upset-down you will end up with a terrible layout because of the position of the common terminal.
-The relay coil $K_3$ is also placed using top-down direction and, consequently, it has to be negatively scaled (mirrored). In this case, we need to mirror the symbol in both |x| and |y| direction so the terminal and symbol identification will be correctly located. So, |scale=-1| is used.
+The relay coil $K_3$ is also placed using a top-down direction and, consequently, it has to be negatively scaled (mirrored). In this case, we need to mirror the symbol in both |x| and |y| direction so the terminal and symbol identification will be correctly located. So, |scale=-1| is used.
-The power rails are drawn using grid coordinates. A fuse is place in the top power rail.
+The power rails are drawn using grid coordinates. A fuse is placed on the top power rail.
% Control Circuit Schematic
@@ -694,7 +762,7 @@ The power rails are drawn using grid coordinates. A fuse is place in the top pow
\subsection{Beamer presentation with overlay\label{sec:beamer}}
-Perhaps the most important feature of \beamer\ is its capacity of creating a series of slides based in one slide for, e.g., showing one concept step by step. It is called \emph{overlay}. Unfortunately, \beamer\ overlay and \tikzname\ present some compatibility issues when overlay macros are typed in the options list of a \tikzname\ command. This can be solved setting two \tikzname\ keys that takes advantage of the fact that |\pgfkeysalso| doesn't change the path.
+Perhaps the most important feature of \beamer\ is its capacity of creating a series of slides based on one slide, e.g., showing one concept step by step. It is called \emph{overlay}. Unfortunately, \beamer\ overlay and \tikzname\ present some compatibility issues when overlay macros are typed in the options list of a \tikzname\ command. This can be solved by setting two \tikzname\ keys that take advantage of the fact that |\pgfkeysalso| doesn't change the path.
\begin{codeexample}[code only]
\tikzset{ % alt and visible (overlay)
@@ -742,7 +810,7 @@ Once these keys are in place, they can be used instead of |\visible| and |\alt|
node[right]{12V};
\end{tikzpicture}
\end{codeexample}
-\noindent{}During the presentation you can say that ``pressing B1 the lamp~L1 turns off, releasing it turns L1 on again''. One cool trick is to move forward and backward between slides~2 and 3.
+\noindent{}During the presentation you can say that ``pressing B1 the lamp~L1 turns off, releasing it turns L1 on again''. One cool trick is to move forward and backwards between slides~2 and 3.
To draw this example, we start with the schematics and once it is ready the animation part is done by placing keys |visible| and |alt| in suitable locations. The filling of L2 is visible only in slide~1 and 3. B1 appears differently depending on the slide. For slides~1 and 3, B1 is a normal break contact (closed), but in slide~2 it is an ``activated'' break contact which is open. Note that key |bulb| receives or not the key |fill|. Similarly, the key |break contact| receives or not the key |activated| (the key |visible| could be used instead of |alt|).
@@ -754,7 +822,7 @@ When developing ``animations'', you may need to know the overlay number. It can
\makeatother
\end{codeexample}
-If you need to generate a handout, the |visible| argument will be drawn as well as the \emph{first} argument of |alt| no matter what is the overlay specification (the thing between |<| and |>| signs). Therefore, the above example would appear like:
+If you need to generate a handout, the |visible| argument will be drawn as well as the \emph{first} argument of |alt| no matter what is the overlay specification (the thing between |<| and |>| signs). Therefore, the above example would appear like this:
\begin{codeexample}[width=2.5cm]
\begin{tikzpicture}[circuit ee IEC relay,thick,
y=3\tikzcircuitssizeunit]
@@ -784,39 +852,40 @@ The ``correct'' diagram that works both in |beamer| and |handout| modes is:
node[right]{12V};
\end{tikzpicture}
\end{codeexample}
-\noindent{}The handout will show a lighted lamp in series with a disactivated break contact. If you do not want that the lamp appears lighted, use \verb|alt={<2>{}{fill=yellow}}| instead of |visible|. So, the lamp will not the lighted in slide~2 (implying it will in slides~1 and 3) and it will not be lighted in the handout as well.
+\noindent{}The handout will show a lighted lamp in series with a deactivated break contact. If you do not want that the lamp appears lighted, use \verb|alt={<2>{}{fill=yellow}}| instead of |visible|. So, the lamp will not the lighted on slide~2 (implying it will be in slides~1 and 3) and it will not be lighted in the handout as well.
-A complete, though minimalistic, example is provided in a separated file\footnote{This file should be in the same folder you have found this document, if not try \url{http://repositorios.cpai.unb.br/ctan/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex}.}: ``BeamerAnimation.tex'', which is listed in Appendix~A for your convenience. In this example, a four-step sequencer is animated. A total of twenty slides are generated based in a single schematic. The frame title includes the macro |\overlaynumber| which generates the slide number and shall be removed once the presentation is ready. So, all slides would look like the same slide, but with animation on it.
+A complete, though minimalistic, example is provided in a separated file\footnote{This file should be in the same folder you have found this document, if not try \url{http://repositorios.cpai.unb.br/ctan/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex}.}: ``BeamerAnimation.tex'', which is listed in Appendix~A for your convenience. In this example, a four-step sequencer is animated. A total of twenty slides are generated based on a single schematic. The frame title includes the macro |\overlaynumber| which generates the slide number and shall be removed once the presentation is ready. So, all slides would look like the same slide, but with animation on it.
\subsection{Adjusting the diagram size}
-The diagram size can be adjusted setting |x| and |y| units. Mainly, you change those to control the space between symbols, not the diagram size in total\footnote{The total size will change, but it is more like a collateral damage than intentional deed.}. If your diagram is too big, consider to use a landscape page.
+The diagram size can be adjusted by setting |x| and |y| units. Mainly, you change those to control the space between symbols, not the diagram size in total\footnote{The total size will change, but it is more like collateral damage than intentional deed.}. If your diagram is too big, consider using a landscape page.
-For presentations, adjustments can be done using |resizebox|. Note that you should only use |resizebox| if your diagram is slightly bigger than the presentation area. If it is too much bigger, the use of |resizebox| will render small symbols leading to readability problems. In this case, on option is to divide the diagram in smaller pieces. Also, you should reconsider way you need such a big diagram in a presentation. Usually, small examples are better to clarify your point.
+For presentations, adjustments can be done using |resizebox|. Note that you should only use |resizebox| if your diagram is slightly bigger than the presentation area. If it is too much bigger, the use of |resizebox| will render small symbols leading to readability problems. In this case, one option is to divide the diagram into smaller pieces. Also, you should reconsider why you need such a big diagram in a presentation. Usually, small examples are better to clarify your point.
-It is not a good idea to change the diagram size setting |\tikzcircuitssizeunit| using |circuit symbol unit|. |\tikzcircuitssizeunit| shall be set document wise in the document preamble and kept unchanged.
+It is not a good idea to change the diagram size setting |\tikzcircuitssizeunit| using |circuit symbol unit|. |\tikzcircuitssizeunit| shall be set document-wise in the document preamble and kept unchanged.
\section{Shapes}
-This is rather technical material, but it is here anyway and you may use it to modify or extend the library. It that case, if you need help, please do not hesitate in contacting the author.
+This is rather technical material, but it is here anyway and you may use it to modify or extend the library. In that case, if you need help, please do not hesitate in contacting the author.
-Several anchors are defined for each symbol (or, more exactly, shapes). The mechanism \tikzname\ uses to place anchors and define borders is sophisticated. It takes into account the line width (or an optional additional space defined by |outer sep|\footnote{See Section~``Common Options: Separations, Margins, Padding and Border Rotation'' of \tikzname\ manual.}) to place the anchors just on the line border of the symbol. Something called ``anchor border'' is also defined in the same manner. Anchor border is use to place labels around the symbol and interrupt the line directed to the symbol. Remember that a symbol is usually placed by command |to| which interrupts the path line the symbol is placed on. It makes perfect sense for symbols that encloses some area, like |proximity sensor coil| and |relay coil| and even for symbols that, although they do not enclose an area, defines some intuitive border, like |magnetic sensor| and |thermic sensor|. But it makes little sense for contacts.
+Several anchors are defined for each symbol (or, more exactly, shapes). The mechanism \tikzname\ uses to place anchors and define borders is sophisticated. It takes into account the line width (or an optional additional space defined by |outer sep|\footnote{See Section~``Common Options: Separations, Margins, Padding and Border Rotation'' of \tikzname\ manual \cite{Tantau}.}) to place the anchors just on the line border of the symbol. Something called ``anchor border'' is also defined in the same manner. An Anchor border is used to place labels around the symbol and interrupt the line directed to the symbol. Remember that a symbol is usually placed by command |to| which interrupts the path line the symbol is placed on. It makes perfect sense for symbols that enclose some area, like |proximity sensor coil| and |relay coil| and even for symbols that, although they do not enclose an area, define some intuitive border, like |magnetic sensor| and |thermic sensor|. But it makes little sense for contacts.
-Contacts can be considered an especial case of symbols. They have no defined border, no intuitive notion of inside and outside. The \tikzname-library |circuits| places them in a category called ``wires''. The normal anchors (north, south, south west, etc.) have no practical use. Even so, they need a |center| anchor, used to place the symbol, and a |mid| anchor, used to place annotations. They also need an anchor border in order to interrupt the line during placement (and also for label positioning). The anchor border controls the gap that appears on the line. Thus, it is defined as the symbol size. In other words, the symbol size is an invisible border a bit smaller than the actual symbol because the inclined line which represents the movable contact have an addendum that protrudes beyond the symbol border.
+Contacts can be considered a special case of symbols. They have no defined border and no intuitive notion of inside and outside. The \tikzname-library |circuits| places them in a category called ``wires''. The normal anchors (north, south, south west, etc.) have no practical use. Even so, they need a |center| anchor, used to place the symbol, and a |mid| anchor used to place annotations. They also need an anchor border to interrupt the line during placement (and also for label positioning). The anchor border controls the gap that appears on the line. Thus, it is defined as the symbol size. In other words, the symbol size is an invisible border a bit smaller than the actual symbol because the inclined line which represents the movable contact has an addendum that protrudes beyond the symbol border.
Outer separation is also undesired when placing contact. If the normal treatment were dispensed for contacts, setting the outer separation to any positive number would disrupt the line connected to the symbol. Instead of setting the outer separation to zero, the shape code that produces contacts simply disregards the outer separation when drawing the component.
-All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ because \tikzname\ uses this orientation to place the symbol in a line.
+All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ because \tikzname\ uses this orientation to place the symbol in a line.
\begin{codeexample}[]
\begin{tikzpicture}[circuit ee IEC relay]
\node[name=s, shape=make contact IEC relay, shape example, inner xsep=1cm, inner ysep=1cm, minimum width=6cm, minimum height=3cm]{};
- \foreach \anchor/\placement in {center/above, 30/above right, 358/below right,
+ \foreach \anchor/\placement in {center/above, 30/above right, 70/above, 358/below right,
north/above, north east/above, north west/above,
south/below, south east/below, south west/below,
- east/left, west/right, mid/above, input/left,output/right}
+ east/left, west/right, mid/above, input/left,output/right,
+ tip/right}
\draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)} node[\placement] {\scriptsize\texttt{(s.\anchor)}};
\end{tikzpicture}
\end{codeexample}
@@ -825,10 +894,11 @@ All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ bec
\begin{codeexample}[]
\begin{tikzpicture}[circuit ee IEC relay]
\node[name=s, activated, shape=make contact IEC relay, shape example, inner xsep=1cm, inner ysep=1cm, minimum width=6cm, minimum height=3cm]{};
- \foreach \anchor/\placement in {center/above, 30/above right, 358/below right,
+ \foreach \anchor/\placement in {center/above left, 30/above right, 70/above, 358/below right,
north/above, north east/above, north west/above,
south/below, south east/below, south west/below,
- east/left, west/right, mid/above, input/left,output/right}
+ east/left, west/right, mid/above right, input/left,output/right,
+ tip/above}
\draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)} node[\placement] {\scriptsize\texttt{(s.\anchor)}};
\end{tikzpicture}
\end{codeexample}
@@ -837,10 +907,11 @@ All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ bec
\begin{codeexample}[]
\begin{tikzpicture}[circuit ee IEC relay]
\node[name=s, shape=break contact IEC relay, shape example, inner xsep=1cm, inner ysep=1cm, minimum width=6cm, minimum height=3cm]{};
- \foreach \anchor/\placement in {center/above, 30/above right, 358/below right,
- north/above, north east/above, north west/above,
+ \foreach \anchor/\placement in {center/above left, 30/above right, 280/below, 358/below right,
+ north/above right, north east/above, north west/above,
south/below, south east/below, south west/below,
- east/left, west/right, mid/above, input/left,output/right}
+ east/left, west/right, mid/above, input/left,output/right,
+ tip/right}
\draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)} node[\placement] {\scriptsize\texttt{(s.\anchor)}};
\end{tikzpicture}
\end{codeexample}
@@ -849,10 +920,11 @@ All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ bec
\begin{codeexample}[]
\begin{tikzpicture}[circuit ee IEC relay]
\node[name=s, activated, shape=break contact IEC relay, shape example, inner xsep=1cm, inner ysep=1cm, minimum width=6cm, minimum height=3cm]{};
- \foreach \anchor/\placement in {center/above, 30/above right, 358/below right,
- north/above, north east/above, north west/above,
+ \foreach \anchor/\placement in {center/above left, 30/above right, 280/below, 358/below right,
+ north/above right, north east/above, north west/above,
south/below, south east/below, south west/below,
- east/left, west/right, mid/above, input/left,output/right}
+ east/left, west/right, mid/above, input/left,output/right,
+ tip/right}
\draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)} node[\placement] {\scriptsize\texttt{(s.\anchor)}};
\end{tikzpicture}
\end{codeexample}
@@ -864,7 +936,8 @@ All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ bec
\foreach \anchor/\placement in {center/above, 30/above right, 358/below right,
north/above, north east/above, north west/above,
south/below, south east/below, south west/below,
- east/left, west/right, mid/above, input/left,output/right, output 1/below right, output 2/above right}
+ east/left, west/right, mid/above, input/left,output/right, output 1/below right, output 2/above right,
+ tip/right}
\draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)} node[\placement] {\scriptsize\texttt{(s.\anchor)}};
\end{tikzpicture}
\end{codeexample}
@@ -873,10 +946,11 @@ All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ bec
\begin{codeexample}[]
\begin{tikzpicture}[circuit ee IEC relay]
\node[name=s, activated, shape=change over contact IEC relay, shape example, inner xsep=1cm, inner ysep=1cm, minimum width=6cm, minimum height=6cm]{};
- \foreach \anchor/\placement in {center/above, 30/above right, 358/below right,
+ \foreach \anchor/\placement in {center/above left, 30/above right, 358/below right,
north/above, north east/above, north west/above,
south/below, south east/below, south west/below,
- east/left, west/right, mid/above, input/left,output/right, output 1/below right, output 2/above right}
+ east/left, west/right, mid/above right, input/left,output/right, output 1/below right, output 2/above right,
+ tip/above}
\draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)} node[\placement] {\scriptsize\texttt{(s.\anchor)}};
\end{tikzpicture}
\end{codeexample}
@@ -885,7 +959,7 @@ All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ bec
\begin{codeexample}[]
\begin{tikzpicture}[circuit ee IEC relay]
\node[name=s, shape=magnetic sensor IEC relay, shape example, inner xsep=1cm, inner ysep=1cm, minimum width=6cm, minimum height=6cm]{};
- \foreach \anchor/\placement in {center/above, 15/above right, 330/below right,
+ \foreach \anchor/\placement in {center/below, 15/above right, 330/below right,
north/above, north east/above, north west/above,
south/below, south east/below, south west/below,
east/left, west/right, mid/above, input/left,output/right}
@@ -896,7 +970,7 @@ All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ bec
\begin{codeexample}[]
\begin{tikzpicture}[circuit ee IEC relay]
\node[name=s, shape=thermic sensor IEC relay, shape example, inner xsep=1cm, inner ysep=1cm, minimum width=6cm, minimum height=6cm]{};
- \foreach \anchor/\placement in {center/above, 15/above right, 330/below right,
+ \foreach \anchor/\placement in {center/below, 15/above right, 330/below right,
north/above, north east/above, north west/above,
south/below, south east/below, south west/below,
east/left, west/right, mid/above, input/left,output/right}
@@ -929,28 +1003,59 @@ All symbols below but the |mechanical interlock| look rotated $90^{ \circ}$ bec
\section{Known Issues}
-This library is base in withdrawn standards and the current standardized symbols might be different. It is also rather incomplete; so many symbols are missing, though in my best knowledge the missing symbols are rarely used. Let me know if you need a symbol, I will do my best to implement it.
-If you want the report a bug or have any suggestion, please feel free to send me an e-mail. Contact details are in the first page. Every feedback is important.
+The use of a single plus sign in relative coordinates specification, like |+(0,1)|, can lead to very strange results. See, for instance, the red symbol below:
+
+\begin{codeexample}[width=4.2cm]
+\begin{tikzpicture}[circuit ee IEC relay,thick,
+error/.style={red,
+circuit symbol wires/.style={red},
+circuit symbol lines/.style={red}}]
+\draw (0,0)
+to [make contact={push button={info=$b_1$}}] ++(0,1);
+\draw[error] (2.5,0)
+to [make contact={push button={info=$b_1$}}] +(0,1);
+\end{tikzpicture}
+\end{codeexample}
+
+Though it is not clear exactly why it happens, and consequently no permanent solution is available at the moment, one walkaround is to use the double plus sign instead, |++(0,1)|. Note, however, that it will be necessary to reconsider the coordinates of the following points on the path if there are any. Command |coordinate| might help to keep track of previous points.
+
+This library is based on withdrawn standards and the current standardized symbols might be different. It is also rather incomplete; so many symbols are missing, though to my best knowledge the missing symbols are rarely used. Let me know if you need a symbol, I will do my best to implement it.
+
+If you want the report a bug or have any suggestions, please feel free to send me an e-mail. Contact details are on the first page. Every feedback is important.
\section{Final Remarks}
This package has been tested and used for more than three years, so I do believe it is mature by now and I decided to share it. On the other hand, I was the only person who used it, therefore idiosyncrasies were not detected.
-Any comments, suggestions, request for a missing symbols and feedback are welcomed. I will do my best to answer as soon as possible. My contact e-mail is in the first page.
+Any comments, suggestions, requests for missing symbols and feedback are welcomed. I will do my best to answer as soon as possible. My contact e-mail is on the first page.
+
+It should be great if someone with experience in writing \tikzname\ libraries could have a look at the code and point out errors or improvements to be made.
+
+
+
+\begin{thebibliography}{1}
+
+\bibitem{60617-2}\textbf{International Electrotechnical Commission}. \textit{IEC 60\,617-2/1996 Graphical symbols for diagrams -- Part 2: Symbol elements, qualifying symbols and other symbols having general application}. Geneva, 1996.
+\bibitem{60617-4}\textbf{International Electrotechnical Commission}. \textit{IEC 60\,617-4/1996 Graphical symbols for diagrams -- Part 4: Passive components}. Geneva, 1996.
+\bibitem{60617-7}\textbf{International Electrotechnical Commission}. \textit{IEC 60\,617-7/1996 Graphical symbols for diagrams -- Part 7: Switchgear, controlgear and protective devices}. Geneva, 1996.
+\bibitem{60617-8}\textbf{International Electrotechnical Commission}. \textit{IEC 60\,617-8/1996 Graphical symbols for diagrams -- Part 8: Measuring instruments, lamps and signalling devices}. Geneva, 1996.
+\bibitem{60617}\textbf{International Electrotechnical Commission}. \textit{IEC 60\,617 - Graphical Symbols for Diagrams}, \url{https://std.iec.ch/iec60617}. Geneva, accessed on 31st July 2022.
+\bibitem{NAME}\textbf{National Electrical Manufacturers Association}. \textit{NEMA Standards Publication ICS 19-2002 (R2007, R2011, R2016, R2022) : Diagrams, Device Designations, and Symbols for Industrial Control and Systems}. Rosslyn, 2022.
+\bibitem{Tantau}\textbf{Tantau}, Till. \textit{The TikZ and PGF Packages} : Manual for version 3.1.9a-34-ga0d9cada, \url{https://github.com/pgf-tikz/pgf}, 2021.
-It should be great if someone with experience in writing \tikzname\ libraries could have a look in the code and point out error or improvements to be made.
+\end{thebibliography}
\appendix
\newgeometry{left=1cm,right=1cm,top=1.5cm,bottom=1.5cm,nohead}
\section*{Appendix A -- Beamer Example of a Four Step Sequencer}
-In this example, the animations is done in two layers: the schematics is drawn on foreground with contact and filling animation; on the background, circles (actually, ellipses since |x| and |y| scales are different) are drawn in light blue to highlight with contact or coil that has been activated because several of them changes from one slide to the next. In order to place the ellipses in the precise position, every contact and coil is named.
+In this example, the animations are done in two layers: the schematics are drawn in the foreground with contact and filling animation; in the background, circles (actually, ellipses since |x| and |y| scales are different) are drawn in light blue to highlight with contact or coil that has been activated because several of them change from one slide to the next. To place the ellipses in the precise position, every contact and coil is named.
-At first, only one coil and the contacts respective to one step are drawn, then they are copy three times and the information is changed as needed. Finally, the $b_s$ is added. When the schematics is done, the animation part is made adding the |alt| key in the foreground and the |\visible| macro in the background.
+At first, only one coil and the contacts respective to one step are drawn, then they are copied three times and the information is changed as needed. Finally, the $b_s$ is added. When the schematics are done, the animation part is made adding the |alt| key in the foreground and the |\visible| macro in the background.
-After the \LaTeX\ code, the slides were included for reference. They shall be found as a separated PDF file in the same folder you have found this document.
+After the \LaTeX\ code, the slides were included for reference. They shall be found as a separated PDF file in the same folder you have found in this document.
\lstinputlisting[language={[LaTeX]TeX},basicstyle={\small},breakautoindent=true]{BeamerAnimation.tex}
\clearpage
diff --git a/graphics/pgf/contrib/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex b/graphics/pgf/contrib/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex
index 4f78fb77ac..48cc227f27 100644
--- a/graphics/pgf/contrib/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex
+++ b/graphics/pgf/contrib/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex
@@ -1,8 +1,8 @@
%% This is file `tikzlibrarycircuits.ee.IEC.relay.code.tex'
-%% Version: 1.2
-%% Version date: 2018-06-13
+%% Version: 1.3
+%% Version date: 2022-08-07
%%
-%% Copyright (C) 2018 by Luis Paulo Laus, laus@utfpr.edu.br
+%% Copyright (C) 2018-2022 by Luis Paulo Laus, laus@utfpr.edu.br
%%
%% This package can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License distributed from CTAN
@@ -44,6 +44,10 @@
%% turn switch, var remanent, thermal,
%% unaffected by alternating current,
%% mechanically resonant
+%% 1.3: 07 August 2022: new anchor for contacts (tip);
+%% new annotations: closing momentarily,
+%% early or late
+%%
%%
\usetikzlibrary{circuits.ee.IEC}
\usepgflibrary{shapes.geometric}
@@ -104,7 +108,7 @@
}%
\pgf@marshal%
\else%
- % tricky... simpilfy to the origin...
+ % tricky... simplify to the origin...
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
\pgf@process{\northeast}%
@@ -180,7 +184,7 @@
\pgf@ya=-\pgf@y%
\pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{\pgf@xa}{\pgf@ya}}}%
\else%
- % tricky... simpilfy to the origin...
+ % tricky... simplify to the origin...
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
\pgf@process{\northeast}%
@@ -225,9 +229,19 @@
\pgf@y=0.5773503\pgf@ya%
\fi
}
+ \savedanchor\tippoint{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \ifcontact@activated
+ \pgf@x=0.8164663\pgf@xa \pgf@y=0pt
+ \else
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@x=0.6443375\pgf@xa \pgf@y=1.321367\pgf@ya
+ \fi
+ }
\anchor{center}{\pgfpointorigin}
\anchor{mid}{\centerpoint}
+ \anchor{tip}{\tippoint}
\inheritanchor[from=rectangle ee]{north}
\inheritanchor[from=rectangle ee]{south}
\inheritanchor[from=rectangle ee]{east}
@@ -246,7 +260,7 @@
\anchorborder{%
\ifdim\pgf@y<0pt%
- % tricky... simpilfy to the origin...
+ % tricky... simplify to the origin...
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
\pgf@process{\southwest}%
@@ -305,9 +319,19 @@
\pgf@y=-0.333333\pgf@ya%
\fi
}
+ \savedanchor\tippoint{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
+ \ifcontact@activated
+ \pgf@x=0.515733\pgf@xa \pgf@y=-1.354311\pgf@ya
+ \else
+ \pgf@x=0.658114\pgf@xa \pgf@y=-0.772076\pgf@ya
+ \fi
+ }
\anchor{center}{\pgfpointorigin}
\anchor{mid}{\centerpoint}
+ \anchor{tip}{\tippoint}
\inheritanchor[from=rectangle ee]{north}
\inheritanchor[from=rectangle ee]{south}
\inheritanchor[from=rectangle ee]{east}
@@ -333,7 +357,7 @@
\pgf@ya=1.354311\pgf@y% maximum distance used to prevent jump
\pgf@process{\pgfpointborderrectangle{\pgfqpoint{\pgf@xc}{\the\pgf@yc}}{\pgfqpoint{-\pgf@xa}{-\pgf@ya}}}%
\else%
- % tricky... simpilfy to the origin...
+ % tricky... simplify to the origin...
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
\pgf@process{\southwest}%
@@ -385,9 +409,19 @@
\pgf@y=0.333333\pgf@ya%
\fi
}
+ \savedanchor\tippoint{%
+ \pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
+ \ifcontact@activated
+ \pgf@x=0.868517\pgf@xa \pgf@y=0pt
+ \else
+ \pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
+ \pgf@x=0.638675\pgf@xa \pgf@y=0.759117\pgf@ya
+ \fi
+ }
\anchor{center}{\pgfpointorigin}
\anchor{mid}{\centerpoint}
+ \anchor{tip}{\tippoint}
\inheritanchor[from=rectangle ee]{north}
\inheritanchor[from=rectangle ee]{south}
\inheritanchor[from=rectangle ee]{east}
@@ -409,11 +443,11 @@
\pgf@process{\southwest}%
\pgf@x=\pgf@xa%
}
- \anchor{output 1}{\northeast}% the thrird, normaly closed, terminal
+ \anchor{output 1}{\northeast}% the third, normally closed, terminal
\anchorborder{%
\ifdim\pgf@y<0pt%
- % tricky... simpilfy to the origin...
+ % tricky... simplify to the origin...
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
\pgf@process{\southwest}%
@@ -637,7 +671,7 @@
circuit declare annotation={thermal switch}{2.6559833\tikzcircuitssizeunit}
{
[transform shape]
- [annotation arrow,-]
+ [-]
(\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={--++(0,1.4\tikzcircuitssizeunit)--++(\tikzcircuitssizeunit,0)--++(0,\tikzcircuitssizeunit)--++(-\tikzcircuitssizeunit,0)--++(0,\tikzcircuitssizeunit)}] ()
},
% 0.5773503+2.6+0.4-1.321367
@@ -736,11 +770,23 @@
[-]
edge[circuit symbol wires/.try,to path={let \p1=(\tikzlastnode.mid), \p2=($(\tikzlastnode.mid) - (\tikzlastnode.input)$), \n2 = {veclen(\x2,\y2)}, \p2= ($0.5*\tikzcircuitssizeunit/\n2*(\p2)$) in ($(\p1)+(\p2)$) -- ++(-\y2,\x2) -- ($(\p1)-(\p2)$)}] ()
},
+ circuit declare annotation={early or late}{0pt}
+ {
+ [transform shape]
+ [-]
+ edge[cap=round,circuit symbol wires/.try,to path={let \p1=(\tikzlastnode.tip), \p2=($(\tikzlastnode.tip) - (\tikzlastnode.input)$), \n2 = {veclen(\x2,\y2)}, \p2= ($0.5\tikzcircuitssizeunit/\n2*(\p2)$) in (\p1) -- ++(\y2,-\x2)}] ()
+ },
+ circuit declare annotation={closing momentarily}{0pt}
+ {
+ [transform shape]
+ [-]
+ (\tikzlastnode.output) edge[cap=round,circuit symbol lines/.try,to path={-- ++(0.5\tikzcircuitssizeunit,0.3333333\tikzcircuitssizeunit)}] ()
+ },
circuit declare annotation={circuit breaker}{0pt}
{
[transform shape]
[-]
- (\tikzlastnode.south west) edge[circuit symbol lines/.try,to path={++(2.4\tikzcircuitssizeunit,0.4\tikzcircuitssizeunit) -- ++(-0.8\tikzcircuitssizeunit,-0.8\tikzcircuitssizeunit) ++(0.8\tikzcircuitssizeunit,0) -- ++(-0.8\tikzcircuitssizeunit,0.8\tikzcircuitssizeunit)}] ()
+ (\tikzlastnode.output) edge[circuit symbol lines/.try,to path={++(0.4\tikzcircuitssizeunit,0.4\tikzcircuitssizeunit) -- ++(-0.8\tikzcircuitssizeunit,-0.8\tikzcircuitssizeunit) ++(0.8\tikzcircuitssizeunit,0) -- ++(-0.8\tikzcircuitssizeunit,0.8\tikzcircuitssizeunit)}] ()
},
circuit declare annotation={static switch}{0pt}
{
@@ -863,7 +909,7 @@
(\tikzlastnode.south) edge[circuit symbol lines/.try,every relay coil/.try,to path={++(0,.5\pgflinewidth) --++(0,-.6\tikzcircuitssizeunit) ++(0,-.4\tikzcircuitssizeunit) --++(0,-\tikzcircuitssizeunit) ++(0,-.4\tikzcircuitssizeunit) --++(0,-\tikzcircuitssizeunit)
(\tikzlastnode.south) ++(0,-1.5\tikzcircuitssizeunit+.5\pgflinewidth) arc [start angle=200, end angle=340, radius=0.5\tikzcircuitssizeunit]
(\tikzlastnode.south) ++(0,-1.5\tikzcircuitssizeunit+.5\pgflinewidth) arc [start angle=20, end angle=160, radius=0.5\tikzcircuitssizeunit]}] ()
- },
+ }
}
\tikzset{
@@ -1017,7 +1063,7 @@
% modifications
set resistor graphic = resistor IEC relay graphic,
set bulb graphic = bulb IEC relay graphic,
- % aditions
+ % additions
set fuse graphic = fuse IEC relay graphic,
set horn graphic = horn IEC relay graphic,
set buzzer graphic = buzzer IEC relay graphic,
diff --git a/macros/latex/contrib/tagpdf/README.md b/macros/latex/contrib/tagpdf/README.md
index 600220cc5c..222f51cb49 100644
--- a/macros/latex/contrib/tagpdf/README.md
+++ b/macros/latex/contrib/tagpdf/README.md
@@ -1,6 +1,6 @@
#tagpdf — A package to create tagged pdf
-Packageversion: 0.95
-Packagedate: 2022/05/29
+Packageversion: 0.96
+Packagedate: 2022/08/06
Author: Ulrike Fischer
## License
diff --git a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
index 8e11951780..fe68e70088 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
@@ -47,13 +47,13 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*luatex>
-\ProvidesExplFile {tagpdf-luatex.def} {2022-05-29} {0.95}
+\ProvidesExplFile {tagpdf-luatex.def} {2022-08-06} {0.96}
{tagpdf~driver~for~luatex}
% \end{macrocode}
% \section{Loading the lua}
@@ -157,8 +157,8 @@
local ProvidesLuaModule = {
name = "tagpdf",
- version = "0.95", --TAGVERSION
- date = "2022-05-29", --TAGDATE
+ version = "0.96", --TAGVERSION
+ date = "2022-08-06", --TAGDATE
description = "tagpdf lua code",
license = "The LATEX Project Public License 1.3c"
}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
index 120de5eb0f..121e221611 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{documentation}
% \section{Commands}
@@ -60,9 +60,10 @@
% \begin{syntax}
% \cs{tag_get:n}\Arg{keyword}
% \end{syntax}
-% This is a generic command to retrieve data. Currently
+% This is a generic command to retrieve data for the current structure or
+% mc-chunk. Currently
% the only sensible values for the argument \meta{keyword}
-% are |mc_tag| and |struct_tag|.
+% are |mc_tag| and |struct_tag| and |struct_num|.
% \end{function}
%
% \section{Description of log messages}
@@ -294,7 +295,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-checks-code} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-checks-code} {2022-08-06} {0.96}
{part of tagpdf - code related to checks, conditionals, debugging and messages}
%</header>
% \end{macrocode}
@@ -355,7 +356,14 @@
}
% \end{macrocode}
% \end{macro}
-% \subsection{Messages related to mc-chunks}
+% \subsection{Messages related to structures}
+% \begin{macro}{struct-unknown}
+% if for example a parent key value points to structure that doesn't exist (yet)
+% \begin{macrocode}
+\msg_new:nnn { tag } {struct-unknown}
+ { structure~with~number~#1~doesn't~exist\\ #2 }
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{struct-no-objnum}
% Should not happen \ldots
% \begin{macrocode}
@@ -463,7 +471,7 @@
% This retrieves some data.
% This is a generic command to retrieve data. Currently
% the only sensible values for the argument are |mc_tag|, |struct_tag|
-% and |struct-num|.
+% and |struct_num|.
% \begin{macrocode}
%<base>\cs_new:Npn \tag_get:n #1 { \use:c {@@_get_data_#1: } }
% \end{macrocode}
@@ -883,7 +891,7 @@
% \begin{macrocode}
\msg_new:nnn { tag / debug } {struct-begin}
{
- Struct~begin~#1~with~options:~\tl_to_str:n{#2}~[\msg_line_context:]
+ Struct~\tag_get:n{struct_num}~begin~#1~with~options:~\tl_to_str:n{#2}~[\msg_line_context:]
}
\msg_new:nnn { tag / debug } {struct-end}
{
diff --git a/macros/latex/contrib/tagpdf/tagpdf-code.pdf b/macros/latex/contrib/tagpdf/tagpdf-code.pdf
index 5b8d418079..4def4f399b 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-code.pdf
+++ b/macros/latex/contrib/tagpdf/tagpdf-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
index 003c2a2748..7881210a40 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{documentation}
% \end{documentation}
@@ -55,11 +55,11 @@
% \begin{macrocode}
%<@@=tag>
%<*generic>
-\ProvidesExplPackage {tagpdf-mc-code-generic} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-mc-code-generic} {2022-08-06} {0.96}
{part of tagpdf - code related to marking chunks - generic mode}
%</generic>
%<*debug>
-\ProvidesExplPackage {tagpdf-debug-generic} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-debug-generic} {2022-08-06} {0.96}
{part of tagpdf - debugging code related to marking chunks - generic mode}
%</debug>
% \end{macrocode}
@@ -353,7 +353,7 @@
% for boxes produced for columns in that environment. Other streams
% may follow over time.
% \begin{macrocode}
-\cs_new:Npn\@@_add_missing_mcs:Nn #1 #2 {
+\cs_new_protected:Npn\@@_add_missing_mcs:Nn #1 #2 {
\vbadness \@M
\vfuzz \c_max_dim
\vbox_set_to_ht:Nnn #1 { \box_ht:N #1 } {
@@ -752,7 +752,7 @@
% {
% tag (mc-key),
% raw (mc-key),
-% alttext (mc-key),
+% alt (mc-key),
% actualtext (mc-key),
% label (mc-key),
% artifact (mc-key)
@@ -770,7 +770,7 @@
{
\tl_put_right:Nx \l_@@_mc_key_properties_tl { #1 }
},
- alttext .code:n = % Alt property
+ alt .code:n = % Alt property
{
\str_set_convert:Noon
\l_@@_tmpa_str
@@ -780,6 +780,7 @@
\tl_put_right:Nn \l_@@_mc_key_properties_tl { /Alt~< }
\tl_put_right:No \l_@@_mc_key_properties_tl { \l_@@_tmpa_str>~ }
},
+ alttext .meta:n = {alt=#1},
actualtext .code:n = % ActualText property
{
\str_set_convert:Noon
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
index 6d5e568e96..e001a4837a 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{implementation}
% The code is splitted into three parts: code shared by all engines,
@@ -86,7 +86,7 @@
% \begin{macrocode}
%<@@=tag>
%<*luamode>
-\ProvidesExplPackage {tagpdf-mc-code-lua} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-mc-code-lua} {2022-08-06} {0.96}
{tagpdf - mc code only for the luamode }
%</luamode>
% \end{macrocode}
@@ -355,7 +355,7 @@
% {
% tag (mc-key),
% raw (mc-key),
-% alttext (mc-key),
+% alt (mc-key),
% actualtext (mc-key),
% label (mc-key),
% artifact (mc-key)
@@ -381,7 +381,7 @@
ltx.@@.func.store_mc_data(\@@_get_mc_abs_cnt:,"raw","#1")
}
},
- alttext .code:n = % Alt property
+ alt .code:n = % Alt property
{
\str_set_convert:Noon
\l_@@_tmpa_str
@@ -398,6 +398,7 @@
)
}
},
+ alttext .meta:n = {alt=#1},
actualtext .code:n = % Alt property
{
\str_set_convert:Noon
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
index 3ac4696ad0..0c6857c22a 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -101,7 +101,7 @@
% If there is no open chunk, it puts $-1$ on the stack (for debugging)
% \cs{tag_mc_begin_pop:n} removes a value from the stack. If it is different from
% $-1$ it opens a tag with it.
-% The reopened mc chunk looses info like the alttext for now.
+% The reopened mc chunk looses info like the alt text for now.
% \end{function}
%
% \begin{function}[pTF, EXP]{\tag_mc_if_in:}
@@ -141,7 +141,7 @@
% \verb+raw=/Alt (Hello)+ will insert an alternative Text.
% \end{function}
%
-% \begin{function}{alttext (mc-key)}
+% \begin{function}{alt (mc-key)}
% This key inserts an \texttt{/Alt} value in the property dictionary of the BDC operator.
% The value is handled as verbatim string, commands are not expanded.
% The value will be expanded first once.
@@ -174,7 +174,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-mc-code-shared} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-mc-code-shared} {2022-08-06} {0.96}
{part of tagpdf - code related to marking chunks -
code shared by generic and luamode }
%</header>
diff --git a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
index 40122ccfb8..15c389e676 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{documentation}
% \begin{function}
@@ -87,7 +87,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-roles-code} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-roles-code} {2022-08-06} {0.96}
{part of tagpdf - code related to roles and structure names}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-space.dtx b/macros/latex/contrib/tagpdf/tagpdf-space.dtx
index 7b6a75d8ea..8da502c709 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-space.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-space.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{documentation}
% \begin{function}{interwordspace (setup-key)}
@@ -64,7 +64,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-space-code} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-space-code} {2022-08-06} {0.96}
{part of tagpdf - code related to real space chars}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
index 103e337e9d..a476e3cf86 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -67,6 +67,18 @@
% A structure should be used only once,
% if the structure already has a parent a warning is issued.
% \end{function}
+% \begin{function}{\tag_struct_object_ref:n,\tag_struct_object_ref:e}
+% \begin{syntax}
+% \cs{tag_struct_object_ref:n}\Arg{struct number}
+% \end{syntax}
+% This is a small wrapper around |\pdf_object_ref:n| to retrieve the
+% object reference of the structure with the number \meta{struct number}.
+% This number can be retrieved and stored for the current structure
+% for example with \cs{tag_get:n}\Arg{struct_num}. Be aware that it can only
+% be used if the structure has already been created and that it doesn't check
+% if the object actually exists!
+% \end{function}
+%
% The following two functions are used to add annotations. They must be used
% together and with care to get the same numbers. Perhaps some improvements are needed
% here.
@@ -109,8 +121,21 @@
% \end{function}
% \begin{function}{label (struct-key)}
% This key sets a label by which
-% one can use the structure later in another structure.
-% Internally the label name will start with \texttt{tagpdfstruct-}.
+% one can refer to the structure. It is e.g.
+% used by \cs{tag_struct_use:n} (where a real label is actually not
+% needed as you can only use structures already defined), and by the
+% |ref| key (which can refer to future structures).
+% Internally the label name will start with \texttt{tagpdfstruct-} and it stores
+% the two attributs |tagstruct| (the structure number) and |tagstructobj| (the
+% object reference).
+% \end{function}
+% \begin{function}{parent (struct-key)}
+% By default a structure is added as kid to the currently active structure.
+% With the parent key one can choose another parent. The value is a structure number which
+% must refer to an already existing, previously created structure. Such a structure
+% number can for example be have been stored with \cs{tag_get:n}, but one can also use
+% a label on the parent structure and then use
+% \cs{ref_value:nn}|{tagpdfstruct-label}{tagstruct}| to retrieve it.
% \end{function}
% \begin{function}{title (struct-key),title-o (struct-key)}
% This keys allows to set the dictionary entry
@@ -119,7 +144,7 @@
% Commands are not expanded. |title-o| will expand the value once.
% \end{function}
%
-% \begin{function}{alttext (struct-key)}
+% \begin{function}{alt (struct-key)}
% This key inserts an \texttt{/Alt} value in the dictionary of structure object.
% The value is handled as verbatim string and hex encoded.
% The value will be expanded first once.
@@ -217,7 +242,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-struct-code} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-struct-code} {2022-08-06} {0.96}
{part of tagpdf - code related to storing structure}
%</header>
% \end{macrocode}
@@ -274,10 +299,14 @@
% \end{variable}
%
% \begin{variable}{\g_@@_struct_stack_current_tl,\l_@@_struct_stack_parent_tmpa_tl}
-% The global variable will hold the current structure number.
+% The global variable will hold the current structure number. It is already
+% defined in \texttt{tagpdf-base}.
% The local temporary variable will hold the parent when we fetch it from the stack.
% \begin{macrocode}
-\tl_new:N \g_@@_struct_stack_current_tl
+%</package>
+%<base>\tl_new:N \g_@@_struct_stack_current_tl
+%<base>\tl_gset:Nn \g_@@_struct_stack_current_tl {\int_use:N\c@g_@@_struct_abs_int}
+%<*package>
\tl_new:N \l_@@_struct_stack_parent_tmpa_tl
% \end{macrocode}
% \end{variable}
@@ -617,6 +646,7 @@
% \end{macrocode}
% \end{macro}
+% \subsection{Output of the object}
% \begin{macro}{\@@_struct_get_dict_content:nN}
% This maps the dictionary content of a structure into a tl-var.
% Basically it does what |\pdfdict_use:n| does.
@@ -639,13 +669,32 @@
{ g_@@_struct_#1_prop }
{ ##1 }
{
- \c_space_tl/##1~\prop_item:cn{ g_@@_struct_#1_prop } { ##1 }
+ \c_space_tl/##1~
+% \end{macrocode}
+% Some keys needs the option to format the key, e.g. add brackets for an
+% array
+% \begin{macrocode}
+ \cs_if_exist_use:cTF {@@_struct_format_##1:e}
+ {
+ { \prop_item:cn{ g_@@_struct_#1_prop } { ##1 } }
+ }
+ {
+ \prop_item:cn{ g_@@_struct_#1_prop } { ##1 }
+ }
}
}
}
}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\@@_struct_format_Ref:n}
+% Ref is an array, we store only the content to be able to extend it
+% so the formatting command adds the brackets:
+% \begin{macrocode}
+\cs_new:Nn\__tag_struct_format_Ref:n{[#1]}
+\cs_generate_variant:Nn\__tag_struct_format_Ref:n{e}
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\@@_struct_write_obj:n}
% This writes out the structure object.
% This is done in the finish code, in the tree module and
@@ -658,7 +707,7 @@
\@@_struct_fill_kid_key:n { #1 }
\@@_struct_get_dict_content:nN { #1 } \l_@@_tmpa_tl
\exp_args:Nx
- \pdf_object_write:nx
+ \pdf_object_write_dict:nx
{ @@/struct/#1 }
{
\l_@@_tmpa_tl
@@ -744,7 +793,7 @@
\exp_args:Ne
\tl_tail:n
{
- \prop_item:cn {g_@@_struct_\g__tag_struct_stack_current_tl _prop}{S}
+ \prop_item:cn {g_@@_struct_\g_@@_struct_stack_current_tl _prop}{S}
}
}
%</package>
@@ -758,7 +807,7 @@
%<*base>
\cs_new:Npn \@@_get_data_struct_num:
{
- \int_use:N\c@g_@@_struct_abs_int
+ \g_@@_struct_stack_current_tl
}
%</base>
% \end{macrocode}
@@ -772,10 +821,11 @@
% {
% label (struct-key),
% stash (struct-key),
+% parent (struct-key),
% tag (struct-key),
% title (struct-key),
% title-o (struct-key),
-% alttext (struct-key),
+% alt (struct-key),
% actualtext (struct-key),
% lang (struct-key),
% ref (struct-key),
@@ -787,9 +837,26 @@
{
label .tl_set:N = \l_@@_struct_key_label_tl,
stash .bool_set:N = \l_@@_struct_elem_stash_bool,
+ parent .code:n =
+ {
+ \bool_lazy_and:nnTF
+ {
+ \prop_if_exist_p:c { g_@@_struct_\int_eval:n {#1}_prop }
+ }
+ {
+ \int_compare_p:nNn {#1}<{\c@g_@@_struct_abs_int}
+ }
+ { \tl_set:Nx \l_@@_struct_stack_parent_tmpa_tl { \int_eval:n {#1} } }
+ {
+ \msg_warning:nnxx { tag } { struct-unknown }
+ { \int_eval:n {#1} }
+ { parent~key~ignored }
+ }
+ },
+ parent .default:n = {-1},
tag .code:n = % S property
{
- \seq_set_split:Nne \l_@@_tmpa_seq { / } {#1/\prop_item:Nn\g__tag_role_tags_NS_prop{#1}}
+ \seq_set_split:Nne \l_@@_tmpa_seq { / } {#1/\prop_item:No\g__tag_role_tags_NS_prop{#1}}
\tl_gset:Nx \g_@@_struct_tag_tl { \seq_item:Nn\l_@@_tmpa_seq {1} }
\tl_gset:Nx \g_@@_struct_tag_NS_tl { \seq_item:Nn\l_@@_tmpa_seq {2} }
\@@_check_structure_tag:N \g_@@_struct_tag_tl
@@ -829,7 +896,7 @@
{ T }
{ <\l_@@_tmpa_str> }
},
- alttext .code:n = % Alt property
+ alt .code:n = % Alt property
{
\str_set_convert:Noon
\l_@@_tmpa_str
@@ -841,6 +908,7 @@
{ Alt }
{ <\l_@@_tmpa_str> }
},
+ alttext .meta:n = {alt=#1},
actualtext .code:n = % ActualText property
{
\str_set_convert:Noon
@@ -860,18 +928,18 @@
{ Lang }
{ (#1) }
},
- ref .code:n = % Lang property
+% \end{macrocode}
+% Ref is an array, the brackets are added through the formatting command.
+% \begin{macrocode}
+ ref .code:n = % ref property
{
\tl_clear:N\l_@@_tmpa_tl
- \clist_map_inline:nn {#1}
+ \clist_map_inline:on {#1}
{
\tl_put_right:Nx \l_@@_tmpa_tl
{~\ref_value:nn{tagpdfstruct-##1}{tagstructobj} }
}
- \@@_prop_gput:cnx
- { g_@@_struct_\int_eval:n {\c@g_@@_struct_abs_int}_prop }
- { Ref }
- { [\l_@@_tmpa_tl] }
+ \@@_struct_gput_data_ref:ee { \int_eval:n {\c@g_@@_struct_abs_int} } {\l_@@_tmpa_tl}
},
E .code:n = % E property
{
@@ -1044,6 +1112,7 @@
{ g_@@_struct_\int_eval:n { \c@g_@@_struct_abs_int }_prop }
{ Type }
{ /StructElem }
+ \tl_set:Nn \l_@@_struct_stack_parent_tmpa_tl {-1}
\keys_set:nn { @@ / struct} { #1 }
\@@_check_structure_has_tag:n { \int_eval:n {\c@g_@@_struct_abs_int} }
\tl_if_empty:NF
@@ -1051,13 +1120,19 @@
{
\@@_ref_label:en{tagpdfstruct-\l_@@_struct_key_label_tl}{struct}
}
- %get the potential parent from the stack:
- \seq_get:NNF
- \g_@@_struct_stack_seq
- \l_@@_struct_stack_parent_tmpa_tl
+% \end{macrocode}
+% The structure number of the parent is either taken from the stack or
+% has been set with the parent key.
+% \begin{macrocode}
+ \int_compare:nNnT { \l_@@_struct_stack_parent_tmpa_tl } = { -1 }
{
- \msg_error:nn { tag } { struct-faulty-nesting }
- }
+ \seq_get:NNF
+ \g_@@_struct_stack_seq
+ \l_@@_struct_stack_parent_tmpa_tl
+ {
+ \msg_error:nn { tag } { struct-faulty-nesting }
+ }
+ }
\seq_gpush:NV \g_@@_struct_stack_seq \c@g_@@_struct_abs_int
\seq_gpush:NV \g_@@_struct_tag_stack_seq \g_@@_struct_tag_tl
\tl_gset:NV \g_@@_struct_stack_current_tl \c@g_@@_struct_abs_int
@@ -1151,9 +1226,61 @@
}
}
}
+%</package>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[EXP]{\tag_struct_object_ref:n}
+% This is a command that allows to reference a structure. The argument is the
+% number which can be get for the current structure with |\tag_get:n{struct_num}|
+% TODO check if it should be in base too.
+% \begin{macrocode}
+%<*package>
+\cs_new:Npn \tag_struct_object_ref:n #1
+ {
+ \pdf_object_ref:n {@@/struct/#1}
+ }
+\cs_generate_variant:Nn \tag_struct_object_ref:n {e}
% \end{macrocode}
+%
% \end{macro}
%
+% \begin{macro}{\tag_struct_gput:nnn}
+% This is a command that allows to update the data of a structure.
+% The first argument is the
+% number of the structure, the second a keyword referring to a function,
+% the third the value. Currently the only keyword is \texttt{ref}
+% \begin{macrocode}
+\cs_new_protected:Npn \tag_struct_gput:nnn #1 #2 #3
+ {
+ \cs_if_exist_use:cF {@@_struct_gput_data_#2:nn}
+ { %warning??
+ \use_none:nn
+ }
+ {#1}{#3}
+ }
+\cs_generate_variant:Nn \tag_struct_gput:nnn {ene,nne}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_struct_gput_data_ref:nn}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_struct_gput_data_ref:nn #1 #2
+ % #1 receiving struct num, #2 list of object ref
+ {
+ \prop_get:cnN
+ { g_@@_struct_#1_prop }
+ {Ref}
+ \l_@@_tmpb_tl
+ \@@_prop_gput:cnx
+ { g_@@_struct_#1_prop }
+ { Ref }
+ { \quark_if_no_value:NF\l_@@_tmpb_tl { \l_@@_tmpb_tl\c_space_tl }#2 }
+ }
+\cs_generate_variant:Nn \@@_struct_gput_data_ref:nn {ee}
+% \end{macrocode}
+% \end{macro}
+
% \begin{macro}
% {
% \tag_struct_insert_annot:nn,
@@ -1192,7 +1319,7 @@
% \section{Attributes and attribute classes}
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage {tagpdf-attr-code} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-attr-code} {2022-08-06} {0.96}
{part of tagpdf - code related to attributes and attribute classes}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
index a8ea5b9b00..26124a3afd 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
@@ -47,13 +47,13 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-tree-code} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-tree-code} {2022-08-06} {0.96}
{part of tagpdf - code related to writing trees and dictionaries to the pdf}
%</header>
% \end{macrocode}
@@ -285,7 +285,7 @@
\@@_tree_fill_parenttree:
}
\tl_put_right:NV \l_@@_parenttree_content_tl\g_@@_parenttree_objr_tl
- \pdf_object_write:nx { @@/tree/parenttree }
+ \pdf_object_write_dict:nx { @@/tree/parenttree }
{
/Nums\c_space_tl [\l_@@_parenttree_content_tl]
}
@@ -310,7 +310,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_tree_write_rolemap:
{
- \pdf_object_write:nx { @@/tree/rolemap }
+ \pdf_object_write_dict:nx { @@/tree/rolemap }
{
\pdfdict_use:n{g_@@_role/RoleMap_dict}
}
@@ -346,7 +346,7 @@
\l_@@_tmpa_tl
{
\pdf_object_new:nn { @@/tree/classmap }{ dict }
- \pdf_object_write:nx
+ \pdf_object_write_dict:nx
{ @@/tree/classmap }
{ \l_@@_tmpa_tl }
\@@_prop_gput:cnx
@@ -373,19 +373,19 @@
{
\pdfdict_if_empty:nF {g_@@_role/RoleMapNS_##1_dict}
{
- \pdf_object_write:nx {@@/RoleMapNS/##1}
+ \pdf_object_write_dict:nx {@@/RoleMapNS/##1}
{
\pdfdict_use:n {g_@@_role/RoleMapNS_##1_dict}
}
\pdfdict_gput:nnx{g_@@_role/Namespace_##1_dict}
{RoleMapNS}{\pdf_object_ref:n {@@/RoleMapNS/##1}}
}
- \pdf_object_write:nx{tag/NS/##1}
+ \pdf_object_write_dict:nx{tag/NS/##1}
{
\pdfdict_use:n {g_@@_role/Namespace_##1_dict}
}
}
- \pdf_object_write:nx {@@/tree/namespaces}
+ \pdf_object_write:nx {@@/tree/namespaces} %array
{
\prop_map_tokens:Nn \g_@@_role_NS_prop{\use_ii:nn}
}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-user.dtx b/macros/latex/contrib/tagpdf/tagpdf-user.dtx
index 30f5abc3b4..607e949eed 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-user.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-user.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.95, released 2022-05-29}
+% \date{Version 0.96, released 2022-08-06}
% \maketitle
% \begin{documentation}
% \section{Setup commands}
@@ -246,18 +246,20 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-user} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-user} {2022-08-06} {0.96}
{tagpdf - user commands}
%</header>
% \end{macrocode}
% \section{Setup and preamble commands}
% \begin{macro}{\tagpdfsetup}
% \begin{macrocode}
+%<base>\NewDocumentCommand \tagpdfsetup { m }{}
%<*package>
-\NewDocumentCommand \tagpdfsetup { m }
+\RenewDocumentCommand \tagpdfsetup { m }
{
\keys_set:nn { @@ / setup } { #1 }
}
+%</package>
% \end{macrocode}
% \end{macro}
%
@@ -265,15 +267,15 @@
% \section{Commands for the mc-chunks}
% \begin{macro}{\tagmcbegin,\tagmcend,\tagmcuse }
% \begin{macrocode}
+%<*base>
\NewDocumentCommand \tagmcbegin { m }
{
- \tag_mc_begin:n {#1}%\ignorespaces
+ \tag_mc_begin:n {#1}
}
\NewDocumentCommand \tagmcend { }
{
- %\if_mode_horizontal: \unskip \fi: %
\tag_mc_end:
}
@@ -281,7 +283,7 @@
{
\tag_mc_use:n {#1}
}
-
+%</base>
% \end{macrocode}
% \end{macro}
@@ -290,10 +292,12 @@
% importance for pdflatex as lualatex doesn't mind much if a mc tag is not
% correctly closed. Unlike the expl3 command it is not expandable.
% \begin{macrocode}
+%<*package>
\NewDocumentCommand \tagmcifinTF { m m }
{
\tag_mc_if_in:TF { #1 } { #2 }
}
+%</package>
% \end{macrocode}
% \end{macro}
%
@@ -303,6 +307,7 @@
% These are structure related user commands. There are direct wrapper around the
% expl3 variants.
% \begin{macrocode}
+%<*base>
\NewDocumentCommand \tagstructbegin { m }
{
\tag_struct_begin:n {#1}
@@ -317,6 +322,7 @@
{
\tag_struct_use:n {#1}
}
+%</base>
% \end{macrocode}
% \end{macro}
%
@@ -327,6 +333,7 @@
% This is a generic command for various show commands.
% It takes a keyval list, the various keys are implemented below.
% \begin{macrocode}
+%<*package>
\NewDocumentCommand\ShowTagging { m }
{
\keys_set:nn { @@ / show }{ #1}
@@ -559,6 +566,8 @@
\bool_new:N \l_@@_para_show_bool
\int_new:N \g_@@_para_begin_int
\int_new:N \g_@@_para_end_int
+\tl_new:N \l_@@_para_tag_tl
+\tl_set:Nn \l_@@_para_tag_tl { P }
% \end{macrocode}
% \end{macro}
%
@@ -576,6 +585,7 @@
{
paratagging .bool_set:N = \l_@@_para_bool,
paratagging-show .bool_set:N = \l_@@_para_show_bool,
+ paratag .tl_set:N = \l_@@_para_tag_tl
}
% \end{macrocode}
@@ -587,13 +597,13 @@
\bool_if:NT \l_@@_para_bool
{
\int_gincr:N \g_@@_para_begin_int
- \tag_struct_begin:n {tag=P}
+ \tag_struct_begin:n {tag=\l_@@_para_tag_tl}
\bool_if:NT \l_@@_para_show_bool
{ \tag_mc_begin:n{artifact}
\llap{\color_select:n{red}\tiny\int_use:N\g_@@_para_begin_int\ }
\tag_mc_end:
}
- \tag_mc_begin:n {tag=P}
+ \tag_mc_begin:n {tag=\l_@@_para_tag_tl}
}
}
\AddToHook{para/end}
@@ -649,6 +659,7 @@
}
}
}
+%</package>
% \end{macrocode}
% \begin{macro}
% {
@@ -658,8 +669,11 @@
% This two command switch para mode on and off. |\tagpdfsetup| could be used
% too but is longer.
% \begin{macrocode}
-\newcommand\tagpdfparaOn {\bool_set_true:N \l_@@_para_bool}
-\newcommand\tagpdfparaOff{\bool_set_false:N \l_@@_para_bool}
+%<base>\newcommand\tagpdfparaOn {}
+%<base>\newcommand\tagpdfparaOff{}
+%<*package>
+\renewcommand\tagpdfparaOn {\bool_set_true:N \l_@@_para_bool}
+\renewcommand\tagpdfparaOff{\bool_set_false:N \l_@@_para_bool}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/tagpdf/tagpdf.dtx b/macros/latex/contrib/tagpdf/tagpdf.dtx
index 32b4100163..51d67e2ae9 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf.dtx
@@ -33,12 +33,23 @@
% \end{syntax}
% \end{function}
%
-% \begin{function}{ \tag_stop_group_begin:, \tag_stop_group_end:, \tag_stop: }
-% We need a command to stop tagging in some places.
-% This simply switches the two local booleans. The grouping commands
+% \begin{function}{ \tag_stop_group_begin:, \tag_stop_group_end:,
+% \tag_stop:, \tag_start:, \tag_stop:n, \tag_start:n }
+% We need commands to stop tagging in some places.
+% There simply switches the two local booleans. The grouping commands
% can be used to group the effect.
% \end{function}
%
+% \begin{function}{\tag_stop:n, \tag_start:n }%
+% \begin{syntax}
+% \cs{tag_stop:n}\Arg{label}
+% \cs{tag_start:n}\Arg{label}\\
+% \end{syntax}
+% This commands are intended as a pair. The start command
+% will only restart tagging if the previous stop command
+% with the same label actually stopped tagging.
+% \end{function}
+%
% \begin{function}{activate-space (setup-key)}
% |activate-space| activates the additional parsing needed for
% interword spaces. It is not documented, the parsing is currently
@@ -81,7 +92,7 @@
% \begin{macrocode}
%<@@=tag>
%<*package>
-\ProvidesExplPackage {tagpdf} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf} {2022-08-06} {0.96}
{ A package to experiment with pdf tagging }
\bool_if:nF
@@ -107,10 +118,10 @@
% \end{macrocode}
%<*debug>
% \begin{macrocode}
-\ProvidesExplPackage {tagpdf-debug} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-debug} {2022-08-06} {0.96}
{ debug code for tagpdf }
\@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
- \end{macrocode}
+% \end{macrocode}
%</debug>
% We map the internal module name \enquote{tag} to \enquote{tagpdf} in messages.
% \begin{macrocode}
@@ -148,7 +159,7 @@
% \end{macrocode}
% \begin{macrocode}
%<*base>
-\ProvidesExplPackage {tagpdf-base} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdf-base} {2022-08-06} {0.96}
{part of tagpdf - provide base, no-op versions of the user commands }
%</base>
% \end{macrocode}
@@ -171,6 +182,50 @@
% \end{macrocode}
% \section{Temporary code}
% This is code which will be removed when proper support exists in LaTeX
+% \subsection{Faster object writing}
+%
+% \begin{macrocode}
+%<*package>
+\cs_if_free:NT \pdf_object_write_dict:nn
+ {
+ \cs_set_eq:NN \pdf_object_write_dict:nn \pdf_object_write:nn
+ }
+\cs_generate_variant:Nn \pdf_object_write_dict:nn {nx}
+
+\str_if_eq:VnT \c_sys_backend_str {pdftex}
+ {
+ \cs_if_free:NT \__pdf_backend_object_write_dict:nn
+ {
+ \cs_new_protected:Npn \__pdf_backend_object_write_dict:nn #1#2
+ {
+ \tex_immediate:D \tex_pdfobj:D
+ useobjnum ~
+ \int_use:c
+ { c__pdf_backend_object_ \tl_to_str:n {#1} _int }
+ { << ~ \exp_not:n {#2} ~ >> }
+ }
+ \cs_set_eq:NN \pdf_object_write_dict:nn \__pdf_backend_object_write_dict:nn
+ }
+ }
+
+\str_if_eq:VnT \c_sys_backend_str {luatex}
+ {
+ \cs_if_free:NT \__pdf_backend_object_write_dict:nn
+ {
+ \cs_new_protected:Npn \__pdf_backend_object_write_dict:nn #1#2
+ {
+ \tex_immediate:D \tex_pdfextension:D obj ~
+ useobjnum ~
+ \int_use:c
+ { c__pdf_backend_object_ \tl_to_str:n {#1} _int }
+ { << ~ \exp_not:n {#2} ~ >> }
+ }
+ \cs_set_eq:NN \pdf_object_write_dict:nn \__pdf_backend_object_write_dict:nn
+ }
+ }
+%</package>
+% \end{macrocode}
+
% \subsection{a LastPage label}
% See also issue \#2 in Accessible-xref
% \begin{macro}{\@@_lastpagelabel:}
@@ -225,6 +280,7 @@
% \begin{variable}
% {
% \l_@@_tmpa_tl,
+% \l_@@_tmpb_tl
% \l_@@_tmpa_str,
% \l_@@_tmpa_prop,
% \l_@@_tmpa_seq,
@@ -237,6 +293,7 @@
% A few temporary variables
% \begin{macrocode}
\tl_new:N \l_@@_tmpa_tl
+\tl_new:N \l_@@_tmpb_tl
\str_new:N \l_@@_tmpa_str
\prop_new:N \l_@@_tmpa_prop
\seq_new:N \l_@@_tmpa_seq
@@ -333,9 +390,11 @@
\cs_generate_variant:Nn \pdffile_embed_stream:nnn {nxx,oxx}
\cs_generate_variant:Nn \prop_gput:Nnn {Nxx,Nen}
\cs_generate_variant:Nn \prop_put:Nnn {Nxx}
+\cs_generate_variant:Nn \prop_item:Nn {No}
\cs_generate_variant:Nn \ref_label:nn { nv }
\cs_generate_variant:Nn \seq_set_split:Nnn{Nne}
\cs_generate_variant:Nn \str_set_convert:Nnnn {Nonn, Noon, Nnon }
+\cs_generate_variant:Nn \clist_map_inline:nn {on}
% \end{macrocode}
% \section{Setup label attributes}
@@ -444,10 +503,16 @@
% \end{macro}
%
% \section{General tagging commands}
-
-% \begin{macro}{ \tag_stop_group_begin:, \tag_stop_group_end: }
-% We need a command to stop tagging in some places.
+%
+% \begin{macro}{\tag_stop_group_begin:,
+% \tag_stop_group_end:,
+% \tag_stop:,\tag_start:,
+% \tag_stop:n,\tag_start:n}
+% We need commands to stop tagging in some places.
% This simply switches the two local booleans.
+% In some cases tagging should only restart, if
+% it actually was stopped before. For this it is possible
+% to label a stop.
% \begin{macrocode}
\cs_new_protected:Npn \tag_stop_group_begin:
{
@@ -456,14 +521,49 @@
\bool_set_false:N \l_@@_active_mc_bool
}
\cs_set_eq:NN \tag_stop_group_end: \group_end:
-\cs_new_protected:Npn \tag_stop:
+\cs_set_protected:Npn \tag_stop:
{
\bool_set_false:N \l_@@_active_struct_bool
\bool_set_false:N \l_@@_active_mc_bool
}
+\cs_set_protected:Npn \tag_start:
+ {
+ \bool_set_true:N \l_@@_active_struct_bool
+ \bool_set_true:N \l_@@_active_mc_bool
+ }
+\prop_new:N\g_@@_state_prop
+\cs_set_protected:Npn \tag_stop:n #1
+ {
+ \tag_if_active:TF
+ {
+ \bool_set_false:N \l_@@_active_struct_bool
+ \bool_set_false:N \l_@@_active_mc_bool
+ \prop_gput:Nnn \g_@@_state_prop { #1 }{ 1 }
+ }
+ {
+ \prop_gremove:Nn \g_@@_state_prop { #1 }
+ }
+ }
+\cs_set_protected:Npn \tag_start:n #1
+ {
+ \prop_gpop:NnN \g_@@_state_prop {#1}\l_@@_tmpa_tl
+ \quark_if_no_value:NF \l_@@_tmpa_tl
+ {
+ \bool_set_true:N \l_@@_active_struct_bool
+ \bool_set_true:N \l_@@_active_mc_bool
+ }
+ }
+%</package>
+%<*base>
+\cs_new_protected:Npn \tag_stop:{}
+\cs_new_protected:Npn \tag_start:{}
+\cs_new_protected:Npn \tag_stop:n{}
+\cs_new_protected:Npn \tag_start:n{}
+%</base>
% \end{macrocode}
% \end{macro}
%
+%
% \section{Keys for tagpdfsetup}
% TODO: the log-levels must be sorted
@@ -484,6 +584,7 @@
% perhaps move to some other place, now that it is better separated.
% |no-struct-dest| allows to suppress structure destinations.
% \begin{macrocode}
+%<*package>
\keys_define:nn { @@ / setup }
{
activate-space .bool_gset:N = \g_@@_active_space_bool,
diff --git a/macros/latex/contrib/tagpdf/tagpdf.ins b/macros/latex/contrib/tagpdf/tagpdf.ins
index 54809f67c1..60c0803cbf 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.ins
+++ b/macros/latex/contrib/tagpdf/tagpdf.ins
@@ -77,6 +77,7 @@ and all files in that bundle must be distributed together.
\from{tagpdf-mc-shared.dtx}{base}
\from{tagpdf-struct.dtx}{base}
\from{tagpdf-checks.dtx}{base}
+ \from{tagpdf-user.dtx}{base}
}
}
diff --git a/macros/latex/contrib/tagpdf/tagpdf.pdf b/macros/latex/contrib/tagpdf/tagpdf.pdf
index d679c20913..ff623f0fa9 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.pdf
+++ b/macros/latex/contrib/tagpdf/tagpdf.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/tagpdf.tex b/macros/latex/contrib/tagpdf/tagpdf.tex
index 70a771de2b..977e32cf32 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.tex
+++ b/macros/latex/contrib/tagpdf/tagpdf.tex
@@ -4,8 +4,8 @@
\DocumentMetadata{pdfversion=2.0,lang=en-UK,testphase=phase-II}
\makeatletter
-\def\UlrikeFischer@package@version{0.95}
-\def\UlrikeFischer@package@date{2022-05-29}
+\def\UlrikeFischer@package@version{0.96}
+\def\UlrikeFischer@package@date{2022-08-06}
\makeatother
\documentclass[DIV=12,parskip=half-,bibliography=totoc]{scrartcl}
@@ -14,10 +14,10 @@
\usepackage{unicode-math}
\setmainfont{Heuristica}
-\usepackage{microtype}
+\usepackage[nopatch]{microtype}
\makeatletter
% see https://github.com/schlcht/microtype/issues/8
-\patchcmd{\MT@get@prot}{\noindent}{\RawNoindent}{}{\fail}
+%\patchcmd{\MT@get@prot}{\noindent}{\RawNoindent}{}{\fail}
\makeatother
\usepackage{scrlayer-scrpage}
@@ -99,7 +99,7 @@
\tagstructbegin{tag=Title}
\tagmcbegin{tag=Title}
-\begin{center}\let\thanks\par
+\begin{center}%\let\thanks\par
\makeatletter
\usekomafont{title}{\huge \@title \par}
@@ -127,7 +127,8 @@ You need a very current \LaTeX{} format.
You need a very current L3 programming layer.
You need the new \LaTeX{} PDF management bundle.
-This package is incomplete, experimental and quite probably contains bugs.
+This package is incomplete, experimental and quite probably contains bugs. It is in parts
+quite slow as the code prefers readability over speed.
At some time it will disappear when the code has been integrated into the \LaTeX{} format.
This package can change in an incompatible way.
@@ -147,62 +148,30 @@ Issues, comments, suggestions should be added as issues to the github tracker:
\tableofcontents
-\section{Preface to version 0.94}
-
-In this version a small package, \pkg{tagpdf-base} has been added. It provides
-no-op versions of the main expl3 user commands for packages that want to support
-tagging but can't be sure if the \pkg{tagpdf} package has been loaded.
-
-
-
-\section{Preface to version 0.93}
-The main change in the package itself in this version is the support for structure destinations.
-This is a new type of destinations in \PDF~2.0.
-For pdftex and luatex this requires new binaries. They will be included
-in texlive 2022, miktex already has the new pdftex, the new luatex will probably follow soon.
-
-Beside this mostly some clean up and bug fixes has been done.
-
-A more important step will be done in \LaTeX{} itself in the next dev-release: The command \cs{DocumentMetadata} will be
-added to the format and will take over the role of \cs{DeclareDocumentMetadata} from \pkg{pdfmanagement-testphase} and additionally
-will also load the pdf management code. This will simplify the documents as it will no longer be needed to load
-a package.
-
-
-
-\section{Preface to version 0.92}
-
-In this version support for page breaks in pdftex has been added. As described in section~\ref{sec:splitpara},
-tagging markers must be added by \emph{page}. That means that a paragraph that goes over two pages must get an end
-marker at the end on the first page and a new begin marker on the next page.
-
-With lualatex that is rather easy to ensure, with pdflatex it requires quite sophisticated code.
-The method is described in Frank Mittelbach's talk at TUG~2021
-\enquote{Taming the beast — Advances in paragraph tagging with pdfTeX and XeTeX}
-\url{https://youtu.be/SZHIeevyo3U?t=19551}. The new code requires a new version of the pdfmanagement-testphase package.
-
-Please check also section~\ref{sec:splitpara} for possible pitfalls.
-
-Also new in this version is the handling of header and footer: they will now be tagged as artifacts automatically.
-See section~\ref{sec:header-footer}.
\section{Introduction}
-Since many year the creation of accessible \PDF{}-files with \LaTeX\ which conform to the PDF/UA standard has been on the agenda of \TeX-meetings. Many people agree that this is important and Ross Moore has done quite some work on it. There is also a TUG-mailing list and a webpage \parencite{tugaccess} dedicated to this theme.
+Since many years the creation of accessible \PDF{}-files with \LaTeX\ which conform to the PDF/UA standard has been on the agenda of \TeX-meetings. Many people agree that this is important and Ross Moore has done quite some work on it. There is also a TUG-mailing list and a webpage \parencite{tugaccess} dedicated to this theme.
+
+But in my opinion missing were means to \emph{experiment} with tagging and accessibility. Means to try out, how difficult it is to tag some structures, means to try out, how much tagging is really needed (standards and validators don't need to be right \ldots), means to test what else is needed so that a \PDF{} works e.g. with a screen reader. Without such experiments it is imho quite difficult to get a feeling about what has to be done, which kernel changes are needed, how packages should be adapted.
-But in my opinion missing are means to \emph{experiment} with tagging and accessibility. Means to try out, how difficult it is to tag some structures, means to try out, how much tagging is really needed (standards and validators don't need to be right \ldots), means to test what else is needed so that a \PDF{} works e.g. with a screen reader. Without such experiments it is imho quite difficult to get a feeling about what has to be done, which kernel changes are needed, how packages should be adapted.
-This package tries to close this gap by offering \emph{core} commands to tag a \PDF{}%
+This package were developped to close this gap by offering \emph{core} commands to tag a \PDF{}%
\footnote{In case you don't know what this means: there will be some explanations later on.}.
+My hope was that the knowledge gained by the use of this package will at the end allow to decide if and how code to do tagging should be part of the \LaTeX\ kernel.
-My hope is that the knowledge gained by the use of this package will at the end allow to decide if and how code to do tagging should be part of the \LaTeX\ kernel.
-The package does not patch commands from other packages. It is also not an aim of the package to develop such patches. While at the end changes to various commands in many classes and packages will be needed to get tagged \PDF{} files -- and the examples accompanying the package try (or will try) to show various strategies -- these changes should in my opinion be done by the class, package and document writers themselves using a sensible API provided by the kernel and not by some external package that adds patches everywhere and would need constant maintenance -- one only need to look at packages like tex4ht or bidi or hyperref to see how difficult and sometimes fragile this is.
+The code has been written with the goal to extend \LaTeX{} itself.
+It therefore quite does not patch commands from other packages and is also not an aim of the package to develop such patches. While at the end changes to various commands in many classes and packages will be needed to get tagged \PDF{} files -- and the examples accompanying the package try (or will try) to show various strategies -- these changes should in my opinion be done by the class, package and document writers themselves using a sensible API provided by the kernel and not by some external package that adds patches everywhere and would need constant maintenance -- one only need to look at packages like tex4ht or bidi or hyperref to see how difficult and sometimes fragile this is.
-So this package deliberately concentrates on the basics -- and this already quite a lot, there are much more details involved as I expected when I started.
-I'm sure that it has bugs. Bugs reports, suggestions and comments can be added to the issue tracker on github. \url{https://github.com/u-fischer/tagpdf}.
+The package is now a part of the Tagged PDF project and triggered already various changes in the LaTeX kernel and the engines: There is a new PDF management,
+the new para hooks allows to automatically tag paragraphs, after changes in the output routine
+page breaks and header and footer are handled correctly, the engines support
+now structure destinations.
+
+I'm sure that it still has bugs. Bugs reports, suggestions and comments can be added to the issue tracker on github. \url{https://github.com/u-fischer/tagpdf}.
Please also check the github site for new examples and improvements.
@@ -215,7 +184,9 @@ So the name of the package is a bit wrong. As excuse I can only say that it is s
\subsection{Engines and modes}
-The package works currently with pdflatex and lualatex. First steps have been done to also enable support for xelatex and the latex-dvips-route; but this isn't yet much tested.
+The package theoretically with all engines,
+But the xelatex and the latex-dvips-route are not much tested and they also don't support
+real space glyphs. lualatex is the most powerful and safe modus, but pdflatex works ok too.
The package has two modes: the \emph{generic mode} which should work in theory with every engine and the \emph{lua mode} which works only with lualatex.
@@ -223,7 +194,8 @@ I implemented the generic mode first. Mostly because my tex skills are much bett
While the generic mode is not bad and I spent quite some time to get it working I nevertheless think that the lua mode is the future and the only one that will be usable for larger documents. \PDF{} is a page orientated format and so the ability of luatex to manipulate pages and nodes after the \TeX-processing is really useful here. Also with luatex characters are normally already given as unicode.
-The package uses quite a lot labels (in generic mode more than with luamode). At the begin it relied on the \pkg{zref} package, but switched now to a new experimental implementation for labels. The drawback of the new method is that they don't give yet good rerun messages if they have changed. I advise to use the \pkg{rerunfilecheck} package as a intermediate work-around.
+The package uses quite a lot labels (in generic mode more than with luamode). At the begin it relied on the \pkg{zref} package, but switched now to a new experimental implementation for labels. The drawback of the new method is that they don't give yet good rerun messages if they have changed. I advise to use the \pkg{rerunfilecheck} package as a intermediate work-around and when using pdflatex compile
+at best at least once or twice more often then normal.
\subsection{References and target PDF version}
@@ -283,14 +255,15 @@ Feedback, contribuations and corrections are welcome!
\end{tcolorbox}
-All examples should use the \cs{tagpdfsetup} key \PrintKeyName{uncompress} described in the next section so that uncompressed \PDF{} are created and the internal objects and structures can be inspected and -- hopefully soon -- be compared by the l3build checks.%
+All examples should use the \cs{DocumentMetadata} key \PrintKeyName{uncompress}
+so that uncompressed \PDF{} are created and the internal objects and structures can be inspected and -- hopefully soon -- be compared by the l3build checks.%
\section{Changes}
\subsection{Changes in 0.3}
-In this version I improved the handling of alternative and actual text. See section~\ref{sec:alttext}. This change meant that the package relied on the module \texttt{l3str-convert}.
+In this version I improved the handling of alternative and actual text. See section~\ref{sec:alt}. This change meant that the package relies on the module \texttt{l3str-convert}.
I no longer try to (pdf-)escape the tag names: it is a bit unclear how to do it at best with luatex. This will perhaps later change again.
@@ -307,7 +280,7 @@ I added code to add \enquote{real} space glyphs to the \PDF{}, see section \ref{
\subsection{Changes in 0.6}
-\textbf{Breaking change!} The attributes used in luamode to mark the MC-chunks are no longer set globally. I thought that global attribute would make it easier to tag, but it only leads to problem when e.g. header and footer are inserted. So from this version on the attributes are set locally and the effect of a \verb+\tagmcbegin+ ends with the current group. This means that in some cases more \verb+\tagmcbegin+ are needed and this affected some of the examples, e.g. the patching commands for sections with KOMA. On the other side it means that quite often one can omit the \verb+\tagmcend+ command.
+\textbf{Breaking change!} The attributes used in luamode to mark the MC-chunks are no longer set globally. I thought that global attributes would make it easier to tag, but it only leads to problem when e.g. header and footer are inserted. So from this version on the attributes are set locally and the effect of a \verb+\tagmcbegin+ ends with the current group. This means that in some cases more \verb+\tagmcbegin+ are needed and this affected some of the examples, e.g. the patching commands for sections with KOMA. On the other side it means that quite often one can omit the \verb+\tagmcend+ command.
\subsection{Changes in version 0.61}
@@ -401,7 +374,7 @@ works also if tagging is not active.
\begin{itemize}
\item support for page breaks in pdftex has been added, see section~\ref{sec:splitpara},
-This requires a new version of the pdfmanagement-testphase package.
+
\item header and footer are tagged as artifacts automatically, see section~\ref{sec:header-footer}.
@@ -410,6 +383,9 @@ will now expand once.
\end{itemize}
+
+
+
\subsection{Changes in version 0.93}
\begin{itemize}
@@ -417,8 +393,12 @@ will now expand once.
has been added. This allow e.g. to add a css-file which is be used if the \PDF\ is converted to
html.
-\item First steps have been done to adapt the package to planed changes in \LaTeX{}: The command \cs{DocumentMetadata} will be
-added to the format and will take over the role of \cs{DeclareDocumentMetadata} from \pkg{pdfmanagement-testphase}.
+\item First steps have been done to adapt the package to planed changes in \LaTeX{}:
+The command \cs{DocumentMetadata} will be
+added to the format and will take over the role of \cs{DeclareDocumentMetadata}
+from \pkg{pdfmanagement-testphase} and additionally
+will also load the pdf management code. This will simplify the documents
+as it will no longer be needed to load the package.
\item The package has now support for \enquote{structure destinations}.
This is a new type of destinations in \PDF~2.0.
@@ -429,6 +409,36 @@ in texlive 2022, miktex already has the new pdftex, the new luatex will probably
\end{itemize}
+\subsection{Changes in version 0.94}
+
+In this version a small package, \pkg{tagpdf-base} has been added. It provides
+no-op versions of the main expl3 user commands for packages that want to support
+tagging but can't be sure if the \pkg{tagpdf} package has been loaded.
+
+\subsection{Changes in version 0.95}
+
+Small bug fixes.
+
+\subsection{Changes in version 0.96}
+
+\begin{itemize}
+\item The \texttt{alttext} key has been renamed to \texttt{alt}, the other key name exists as alias.
+
+\item The new command |\tag_struct_object_ref:n| allows to
+ create the object reference of a structure.
+
+\item a new key \texttt{parent} has been added
+ to allow structures to choose their parent structure.
+
+\item a new option \texttt{paratag} allows to change the tag name used for the
+ automatically tagged paragraphs.
+
+\item the commands |\tag_start:|, |\tag_stop:n| and |\tag_start:n| allow
+ to stop and start tagging for example in trial typesetting.
+
+\item Small bug fixes.
+\end{itemize}
+
\subsection{Proof of concept: the tagging of the documentation itself}
Starting with version 0.6 the documentation itself has been tagged. The tagging wasn't (and isn't) in no way perfect. The validator from Adobe didn't complain, but PAX3 wanted alternative text for all links (no idea why) and so I put everywhere simple text like \enquote{link} and \enquote{ref}. The links to footnotes gave warnings, so I disabled them. I used types from the \PDF{} version 1.7, mostly as I have no idea what should be used for code in 2.0. Margin notes were simply wrong \ldots
@@ -443,36 +453,25 @@ Be aware that to create the tagged version a current lualatex-dev and a current
\tagpdfparaOff
-\tagstructbegin{tag=Figure,alttext=PAC3 report,attribute=bbox}\tagmcbegin{tag=Figure}
+\tagstructbegin{tag=Figure,alt=PAC3 report,attribute=bbox}\tagmcbegin{tag=Figure}
\includegraphics{pac3}
\tagmcend\tagstructend
\tagpdfparaOn
-\section{Setup}
-
-The package requires the new PDF management. With a current version of \pkg{pdfmanagement-testphase} it can be loaded and
-activated like this:
-
-\begin{lstlisting}
-\RequirePackage{pdfmanagement-testphase}
-\DeclareDocumentMetadata
- {
- testphase = tagpdf, % load
- activate = tagging % activate and create the document structure
- }
-\documentclass{article}
-\begin{document}
-some text
-\end{document}
-\end{lstlisting}
+\section{Loading}
-With \LaTeX{} 2022-06-01 (or a current \LaTeX-dev) the call will be simpler
+The package requires the new PDF management. With a current \LaTeX{} (2022-06-01 or newer)
+the PDF management is loaded if you use the \cs{DocumentMetadata} command before \cs{documentclass}.
+The \texttt{tagpdf} package can then be loaded and activated by using the \texttt{testphase} key. The exact behaviour of
+the \texttt{testphase} key is documented in \texttt{documentmetadata-support-doc.pdf} which
+is part of the \texttt{latex-lab} bundle.
\begin{lstlisting}
\DocumentMetadata
{
- testphase = tagpdf, % load + activate
+ % testphase = phase-I, % tagging without paragraph tagging
+ testphase = phase-II % tagging with paragraph tagging and other new stuff.
}
\documentclass{article}
\begin{document}
@@ -482,14 +481,18 @@ some text
\minisec{Activation needed!}
+The package can also be loaded normally with |\usepackage| (but it is
+still required to use \cs{DocumentMetadata} to load the pdfmanagement) but
+it will then -- apart from loading more packages and defining a lot of things -- not do much. You will have to \emph{activate} it with \verb+\tagpdfsetup+.
-When the package is loaded it will -- apart from loading more packages and defining a lot of things -- not do much. You will have to activate it with \verb+\tagpdfsetup+ or as shown above in \verb+\DeclareDocumentMetadata+/\verb+\DocumentMetadata+.
+The pdfmanagement loaded with \cs{DocumentMetadata} will in any case load \texttt{tagpdf-base} a
+small package that provides no-op versions of the main tagging commands.
Most commands do nothing if tagging is not activated, but in case a test is needed a command (with the usual p,T,F variants) is provided:
\begin{docCommand}{tag_if_active:TF}{}\end{docCommand}
-The check is true only if \emph{everything} is activated. In all other cases (also if tagging has been stopped locally) it will be false.
+The check is true only if \emph{everything} is activated. In all other cases (including if tagging has been stopped locally) it will be false.
\subsection{Modes and package options}
@@ -555,6 +558,8 @@ That's a debug option, it helps in lua mode to see where space glyph will be ins
\item[\PrintKeyName{paratagging-show}] Boolean. This activate/deactivates small red numbers in the places where the paratagging hook code is used.
+\item[\PrintKeyName{paratag}] String. This key changes the tag used by the paratagging code. The default tag is \texttt{P}. A useful local setting here can be \texttt{NonStruct}, which creates a structure \enquote{without meaning}.
+
\item[\PrintKeyName{tabsorder}]
Choice key, possible values are \PrintKeyName{row}, \PrintKeyName{column}, \PrintKeyName{structure}, \PrintKeyName{none}. This decides if a \verb+/Tabs+ value is written to the dictionary of the page objects. Not really needed for tagging itself, but one of the things you probably need for accessibility checks. So I added it. Currently the tabsorder is the same for all pages. Perhaps this should be changed \ldots.
@@ -625,7 +630,7 @@ To tag a \PDF{} three tasks must be carried out:
\tagpdfparaOff
-\tagstructbegin{tag=Figure,alttext={Illustration of page stream with marked content},attribute=bbox}%
+\tagstructbegin{tag=Figure,alt={Illustration of page stream with marked content},attribute=bbox}%
\tagmcbegin{tag=Figure}%
\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture]
\node(start){\ldots~\ldots~\ldots};
@@ -645,7 +650,7 @@ To tag a \PDF{} three tasks must be carried out:
\tagpdfparaOff
\newlength\ydistance\setlength\ydistance{-0.8cm}
-\tagstructbegin{tag=Figure,alttext={Illustration of structure},attribute=bbox}%
+\tagstructbegin{tag=Figure,alt={Illustration of structure},attribute=bbox}%
\tagmcbegin{tag=Figure}%
\begin{tikzpicture}[remember picture,baseline=(root.north)]
@@ -847,21 +852,21 @@ The key-val list understands the following keys:
\item[\PrintKeyName{label}]
This key sets a label by which you can call the marked content later in another structure (if it has been stashed with the previous key). Internally the label name will start with \texttt{tagpdf-}.
- \item[\PrintKeyName{alttext}]
- This key inserts an \texttt{/Alt} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string, commands are not expanded but the value will be expanded first once (so works like the key \texttt{alttext-o} in previous versions which has been removed).
+ \item[\PrintKeyName{alt}]
+ This key inserts an \texttt{/Alt} value in the property dictionary of the BDC operator. See section~\ref{sec:alt}. The value is handled as verbatim string, commands are not expanded but the value will be expanded first once (so works like the key \texttt{alttext-o} in previous versions which has been removed).
That means that you can do something like in the following listing
and it will insert \verb+\frac{a}{b}+ (hex encoded) in the \PDF{}.
\begin{lstlisting}
\newcommand\myalttext{\frac{a}{b}}
- \tagmcbegin{tag=P,alttext=\myalttext}
+ \tagmcbegin{tag=P,alt=\myalttext}
\end{lstlisting}
\item[\PrintKeyName{actualtext}]
- This key inserts an \texttt{/ActualText} value in the property dictionary of the BDC operator. See section~\ref{sec:alttext}. The value is handled as verbatim string, commands are not expanded but the value will be expanded first once (so works like the key \texttt{actualtext-o} in previous versions which has been removed).
+ This key inserts an \texttt{/ActualText} value in the property dictionary of the BDC operator. See section~\ref{sec:alt}. The value is handled as verbatim string, commands are not expanded but the value will be expanded first once (so works like the key \texttt{actualtext-o} in previous versions which has been removed).
That means that you can do something like in the following listing and and it will insert \verb+X+ (hex encoded) in the \PDF{}.
@@ -936,7 +941,10 @@ In \emph{lua mode} it tests if the mc-attribute is currently unset. You can't te
\begin{docCommand}{tag_get:n}{\marg{key word}}\end{docCommand}
-This command give back some variables. Currently the only working key words are \verb+mc\_tag+, \verb+struct\_tag+ and \verb+struct\_num+. The last returns a number works also if only \pkg{tagpdf-base} has been loaded.
+This command give back some variables. Currently the only working key words are \verb+mc_tag+, \verb+struct_tag+ and \verb+struct_num+. The last returns a number and works also if only \pkg{tagpdf-base} has been loaded, but then doesn't give the same output: if \pkg{tagpdf} is loaded and tagging is active, \verb+struct_num+ gives the number of currently
+active structure, so it reverts to the parent number if a structure is closed. If only \pkg{tagpdf-base} is loaded
+nesting of structure is not tracked and so the command gives back the number of the last structure that has been created.
+
\subsubsection{Luamode: global or not global -- that is the question}\label{sec:global-local}
@@ -994,7 +1002,7 @@ the \emph{second} page will be marked as artifact. The following figure shows ho
like.
\tagpdfparaOff
-\tagstructbegin{tag=Figure,alttext=Show tags of examples,attribute=bbox}\tagmcbegin{tag=Figure}
+\tagstructbegin{tag=Figure,alt=Show tags of examples,attribute=bbox}\tagmcbegin{tag=Figure}
\includegraphics{global-ex}
\tagmcend\tagstructend
@@ -1025,7 +1033,7 @@ the needed code.
\begin{figure}
\tagpdfparaOff
-\tagstructbegin{tag=Figure,alttext={Illustration of link annotation structure},attribute=bbox}\tagmcbegin{tag=Figure}
+\tagstructbegin{tag=Figure,alt={Illustration of link annotation structure},attribute=bbox}\tagmcbegin{tag=Figure}
\ExplSyntaxOn
\tag_stop_group_begin:
\ExplSyntaxOff
@@ -1161,7 +1169,7 @@ If this is really the way to go one would need some script to add the mark-up as
But I'm not sure that this is the best way to do math. It looks rather odd that a document should have to tell a screen reader in such detail how to read an equation. It would be much more efficient, sensible and flexible if a complete representation of the equation in mathML could be stored in the \PDF{} and the task how to read this aloud delegated to the screen reader. As \PDF{}~2.0 introduced associated files it is probable that this will be the way to go but more investigations are needed here.
-See also section~\ref{sec:alttext} for some more remarks and tests.
+See also section~\ref{sec:alt} for some more remarks and tests.
\subsubsection{Split paragraphs}\label{sec:splitpara}
@@ -1186,14 +1194,18 @@ Pellentesque scelerisque
sit amet, lacus.\tagmcend
\end{lstlisting}
-Starting with version 0.91 there is code which tries to resolve this problem. Basically it works like this: every mc-command
+Starting with version 0.92 there is code which tries to resolve this problem. Basically it works like this: every mc-command
issues a mark command (actually two slightly different). When the page is built in the output routine this mark commands are inspected
and from them \LaTeX{} can deduce if there is a mc-chunk which must be closed or reopened.
+The method is described in Frank Mittelbach's talk at TUG~2021
+\enquote{Taming the beast — Advances in paragraph tagging with pdfTeX and XeTeX}
+\url{https://youtu.be/SZHIeevyo3U?t=19551}.
+
Please note
\begin{itemize}
-\item The code requires the pdfmanagement-testphase version v0.95i.
+\item The code requires a pdfmanagement-testphase version v0.95i or newer.
\item Typically you will need more compilations than previously, don't rely on the rerun messages, but if something looks wrong
rerun.
\item The code relies on that related |\tagmcbegin| and |\tagmcend| are in the same boxing level. If one is in a box (which hides the marks) and the other in the main galley, things will go wrong.
@@ -1206,12 +1218,16 @@ rerun.
Another feature that emerged from the \LaTeX{} tagged PDF project are hooks at the begin and end of paragraphs.
\pkg{tagpdf} makes use of these hooks to tag paragraphs. This can be activated/deactivated (also locally) with
-options of \cs{tagpdfsetup} or with the two commands above. \emph{This is very experimental and it requires a new \LaTeX!}
+options of \cs{tagpdfsetup} or with the two commands above.
The automatic tagging require that for every begin of a paragraph with the begin hook code
there a corresponding end with the closing hook code. This can fail, e.g if a |vbox| doesn't correctly issue a |\par| at the end.
-If this happens the tagging structure can get every confused. It is therefore needed to check the structure carefully as currently
-no checks are implemented to check this automatically.
+If this happens the tagging structure can get every confused. At the end of the document \pkg{tagpdf} checks if
+the number of start and end paragraph structures created here are equal and it will error if not.
+
+Nesting the activation and deactivation of the tagging of paragraphs can be quite difficult. For example if it is unclear if the inner code issues a |\par| or not it is not trivial to exclude an end hook for every excluded begin hook.
+In such cases it can be easier to use the new |paratag| key with the value |NonStruct| to convert some |P|-structures
+into |NonStruct|-structures without real meaning.
\subsection{Task 2: Marking the structure}
@@ -1296,16 +1312,29 @@ The key-val list understands the following keys:
Normally a new structure inserts itself as a kid into the currently active structure. This key prohibits this. The structure is nevertheless from now on \enquote{the current active structure} and parent for following marked content and structures.
\item[\PrintKeyName{label}]
- This key sets a label by which you can use the structure later in another structure. Internally the label name will start with \texttt{tagpdfstruct-}.
-
-
- \item[\PrintKeyName{alttext}]
- This key inserts an \texttt{/Alt} value in the dictionary of structure object, see section~\ref{sec:alttext}. The value is handled as verbatim string and hex encoded. The value will be expanded first once (so works like the key \texttt{alttext-o} in previous versions which has been removed). That means that you can do something like this:
+ This key sets a label by which one can refer to the structure. It is e.g.
+ used by \cs{tag\_struct\_use:n} (where a real label is actually not
+ needed as you can only use structures already defined), and by the
+ |ref| key (which can refer to future structures).
+ Internally the label name will start with \texttt{tagpdfstruct-} and it stores
+ the two attributes \texttt{tagstruct} (the structure number) and \texttt{tagstructobj} (the
+ object reference).
+
+ \item[\PrintKeyName{parent}]
+ % By default a structure is added as kid to the currently active structure.
+ With the parent key one can choose another parent. The value is a structure number which
+ must refer to an already existing, previously created structure. Such a structure
+ number can for example be have been stored with \cs{tag\_get:n}, but one can also use
+ a label on the parent structure and then use
+ \cs{ref\_value:nn}\verb+{tagpdfstruct-label}{tagstruct}+ to retrieve it.
+
+ \item[\PrintKeyName{alt}]
+ This key inserts an \texttt{/Alt} value in the dictionary of structure object, see section~\ref{sec:alt}. The value is handled as verbatim string and hex encoded. The value will be expanded first once (so works like the key \texttt{alttext-o} in previous versions which has been removed). That means that you can do something like this:
\begin{lstlisting}
\newcommand\myalttext{\frac{a}{b}}
- \tagstructbegin{tag=P,alttext=\myalttext}
+ \tagstructbegin{tag=P,alt=\myalttext}
\end{lstlisting}
@@ -1315,7 +1344,7 @@ The key-val list understands the following keys:
\item[\PrintKeyName{actualtext}]
- This key inserts an \texttt{/ActualText} value in the dictionary of structure object, see section~\ref{sec:alttext}. The value is handled as verbatim string, The value will be expanded first once (so works like the key \texttt{alttext-o} in previous versions which has been removed). That means that you can do something like this:
+ This key inserts an \texttt{/ActualText} value in the dictionary of structure object, see section~\ref{sec:alt}. The value is handled as verbatim string, The value will be expanded first once (so works like the key \texttt{alttext-o} in previous versions which has been removed). That means that you can do something like this:
\begin{lstlisting}
\newcommand\myactualtext{X}
@@ -1398,7 +1427,8 @@ The key-val list understands the following keys:
\item[\PrintKeyName{ref}]
This key allows to add references to other structure elements, it adds the |/Ref| array to the structure.
The value should be a comma separated list of structure labels set with the |label| key.
- e.g. |ref={label1,label2}|.
+ e.g. |ref={label1,label2}|. It can be used more than once in the key/value argument and combines the
+ references.
\item[\PrintKeyName{E}]
This key sets the |/E| key, the expanded form of an abbreviation or an acronym (I couldn't think of a better name, so I sticked to E).
@@ -1548,7 +1578,7 @@ The following shows the marking needed for a section, a sentence and a list with
\subsection{Lazy and automatic tagging}\label{sec:lazy}
-A number of features of \PDF{} readers need a fully tagged \PDF{}. As an example screen readers tend to ignore alternative text (see section~\ref{sec:alttext}) if the \PDF{} is not fully tagged. Also reflowing a \PDF{} only works for me (even if real space chars are in the \PDF{}) if the \PDF{} is fully tagged.
+A number of features of \PDF{} readers need a fully tagged \PDF{}. As an example screen readers tend to ignore alternative text (see section~\ref{sec:alt}) if the \PDF{} is not fully tagged. Also reflowing a \PDF{} only works for me (even if real space chars are in the \PDF{}) if the \PDF{} is fully tagged.
This means that even if you don't care about a proper structure you should try to add at least some minimal tagging. With pdflatex this is not easy due to the page break problem. But with lualatex you can use an \texttt{Document} structure and inside it rather large mc-chunks. This minimizes the needed work.
@@ -1576,7 +1606,7 @@ This is quite workable as long as you mark everything manually. But how to write
-\section{Alternative text, ActualText and text-to-speech software}\label{sec:alttext}
+\section{Alternative text, ActualText and text-to-speech software}\label{sec:alt}
@@ -1586,7 +1616,7 @@ Both can be added either to the marked content in the page stream or to the obje
The value of \PrintKeyName{/ActualText} (inserted by \texttt{tagpdf} with \PrintKeyName{actualtext}) is meant to replace single characters or rather small pieces of text. It can be used also without any tagging (e.g. with the package accsupp). If the \PDF{} reader support this (adobe reader does, sumatra not) one can change with it how a piece of text is copied and pasted e.g. to split up a ligature.
-\PrintKeyName{/Alt} (inserted by \texttt{tagpdf} with \PrintKeyName{alttext}) is a key to improve accessibility: with it one can add to a picture or something else an alternative text.
+\PrintKeyName{/Alt} (inserted by \texttt{tagpdf} with \PrintKeyName{alt}) is a key to improve accessibility: with it one can add to a picture or something else an alternative text.
The file \texttt{ex-alt-actualtext.tex} shows some experiments I made with with both keys and text-to-speech software (the in-built of adobe and nvda).
To sum them up:
@@ -1839,7 +1869,7 @@ This is not meant as a full reference only as a background to make the examples
\tagpdfparaOff
-\tagstructbegin{tag=Figure,alttext={Illustration of postfix notation},attribute=bbox}\tagmcbegin{tag=Figure}
+\tagstructbegin{tag=Figure,alt={Illustration of postfix notation},attribute=bbox}\tagmcbegin{tag=Figure}
\begin{tikzpicture}[baseline=(c.base)]
\node[arg](a1) {18};
\node[arg,right=of a1.east](a2) {0};
@@ -1912,7 +1942,7 @@ This is not meant as a full reference only as a background to make the examples
\tagpdfparaOff
- \tagstructbegin{tag=Figure,alttext={Illustration of array},attribute=bbox}\tagmcbegin{tag=Figure}
+ \tagstructbegin{tag=Figure,alt={Illustration of array},attribute=bbox}\tagmcbegin{tag=Figure}
\begin{tikzpicture}[baseline=(c.base)]
\node[arg](a1) {0};
\node[arg,right = of a1.east](a2) {15 0 R};
diff --git a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
index 677e2b5070..60aee8f364 100644
--- a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
+++ b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
@@ -1,5 +1,5 @@
%\RequirePackage[enable-debug]{expl3}[2018/06/14]
-\ProvidesExplPackage {tagpdfdocu-patches} {2022-05-29} {0.95}
+\ProvidesExplPackage {tagpdfdocu-patches} {2022-08-06} {0.96}
{patches/commands for the tagpdf documentation}
\RequirePackage{etoolbox}
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README
index a769b41a75..d37dc3db67 100644
--- a/macros/luatex/generic/luatexja/README
+++ b/macros/luatex/generic/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20220703.0
+The LuaTeX-ja Package 20220807.0
--------------------------------
Copyright (c) 2011--2022 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -42,9 +42,9 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20220703.0 in the Git repository by
+ or tagged as 20220807.0 in the Git repository by
<http://git.osdn.jp/view?p=luatex-ja/luatexja.git
- ;a=snapshot;h=refs/tags/20220703.0;sf=tgz>
+ ;a=snapshot;h=refs/tags/20220807.0;sf=tgz>
b. Extract the archive and process following three files by LuaLaTeX
to generate classes for Japanese typesetting:
@@ -93,4 +93,4 @@ Notes
This file and ltj-kinsoku.lua are not used anymore.
(Do not remove ltj-kinsoku.tex.)
-Last commit date: Sun Jul 3 11:15:41 2022 +0900
+Last commit date: Sun Aug 7 12:20:08 2022 +0900
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
index 7ad9b0ebc5..5ee7e4047d 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
index 8f1095869c..2ed0625eb1 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx
index 7c167d96f6..58f2cc15bd 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja.dtx
+++ b/macros/luatex/generic/luatexja/doc/luatexja.dtx
@@ -3019,8 +3019,8 @@ the direction inside the box and that outside the box differ.
%
\put(4,7.2){\line(0,1){1.8}}
\put(11,7.2){\line(0,1){1.8}}
- \put(8,8){\vector(-1,0){0.5}\vector(1,0){3}}
- \put(7,8){\vector(-1,0){3}\vector(1,0){0.5}}
+ \put(8,8){\vector(-1,0){0.5}}\put(8,8){\vector(1,0){3}}
+ \put(7,8){\vector(-1,0){3}}\put(7,8){\vector(1,0){0.5}}
\put(9.25,8.2){\makebox(0,0)[b]{$H_{\mathrm{T}}$}}
\put(5.75,8.2){\makebox(0,0)[b]{$D_{\mathrm{T}}$}}
%
@@ -3044,7 +3044,7 @@ the direction inside the box and that outside the box differ.
%
\put(4,7.2){\line(0,1){1.8}}
\put(11,7.2){\line(0,1){1.8}}
- \put(7.5,8){\vector(-1,0){3.5}\vector(1,0){3.5}}
+ \put(7.5,8){\vector(-1,0){3.5}}\put(7.5,8){\vector(1,0){3.5}}
\put(13,8){\vector(-1,0){2}}
\put(7.5,8.2){\makebox(0,0)[b]{$H_{\mathrm{D}}$}}
\put(12,8.2){\makebox(0,0)[b]{$D_{\mathrm{D}}$}}
@@ -3063,7 +3063,7 @@ the direction inside the box and that outside the box differ.
\put(11.2,0){\line(1,0){3.8}}
%
\put(2,7){\line(1,0){1.8}}
- \put(3,3.5){\vector(0,1){3.5}\vector(0,-1){3.5}}
+ \put(3,3.5){\vector(0,1){3.5}}\put(3,3.5){\vector(0,-1){3.5}}
\put(2.8,3.5){\makebox(0,0)[r]{$H_{\mathrm{Y}}$}}
\put(3,-2){\vector(0,1){2}}
\put(2.8,-1){\makebox(0,0)[r]{$D_{\mathrm{Y}}$}}
@@ -3094,8 +3094,8 @@ the direction inside the box and that outside the box differ.
%
\put(4,7.2){\line(0,1){1.8}}
\put(11,7.2){\line(0,1){1.8}}
- \put(6.5,8){\vector(-1,0){2.5}\vector(1,0){2.5}}
- \put(10,8){\vector(-1,0){1}\vector(1,0){1}}
+ \put(6.5,8){\vector(-1,0){2.5}}\put(6.5,8){\vector(1,0){2.5}}
+ \put(10,8){\vector(-1,0){1}}\put(10,8){\vector(1,0){1}}
\put(10,8.2){\makebox(0,0)[b]{$H_{\mathrm{T}}$}}
\put(6.5,8.2){\makebox(0,0)[b]{$D_{\mathrm{T}}$}}
%
@@ -3119,8 +3119,8 @@ the direction inside the box and that outside the box differ.
%
\put(4,7.2){\line(0,1){1.8}}
\put(11,7.2){\line(0,1){1.8}}
- \put(5,8){\vector(-1,0){1}\vector(1,0){1}}
- \put(8.5,8){\vector(-1,0){2.5}\vector(1,0){2.5}}
+ \put(5,8){\vector(-1,0){1}}\put(5,8){\vector(1,0){1}}
+ \put(8.5,8){\vector(-1,0){2.5}}\put(8.5,8){\vector(1,0){2.5}}
\put(5,8.2){\makebox(0,0)[b]{$H_{\mathrm{D}}$}}
\put(8.5,8.2){\makebox(0,0)[b]{$D_{\mathrm{D}}$}}
%
diff --git a/macros/luatex/generic/luatexja/src/ltj-adjust.lua b/macros/luatex/generic/luatexja/src/ltj-adjust.lua
index 71584d8b5c..053b63ab1a 100644
--- a/macros/luatex/generic/luatexja/src/ltj-adjust.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-adjust.lua
@@ -514,7 +514,7 @@ do
end
function ltjl.p_profile(before, after, mirrored, bw)
local range, tls
- = init_range(), luatexja.adjust.profile_hgap_factor*tex.lineskip.width
+ = init_range(), luatexja.adjust.profile_hgap_factor*tex.get('lineskip', false)
profile_inner(before, range, 3, true, tls)
profile_inner(after, range, 4, mirrored, tls)
range = range:flatten()
@@ -544,9 +544,9 @@ do
end
if dist < tex.lineskiplimit then
local f = max(1, bw*ltja.step_factor)
- copy_glue(g, tex.baselineskip, 1, normal - f * floor((dist-tex.lineskip.width)/f))
+ copy_glue(g, 'baselineskip', 1, normal - f * floor((dist-tex.get('lineskip', false))/f))
else
- copy_glue(g, tex.baselineskip, 2, normal)
+ copy_glue(g, 'baselineskip', 2, normal)
end
end
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-base.sty b/macros/luatex/generic/luatexja/src/ltj-base.sty
index 2ce01d71b1..d46b54a1fa 100644
--- a/macros/luatex/generic/luatexja/src/ltj-base.sty
+++ b/macros/luatex/generic/luatexja/src/ltj-base.sty
@@ -103,7 +103,7 @@
%% \ltj@gobble@glue <glue>
%! 次に続くグルー値を(2 回展開で)読み捨てる.
\def\ltj@gobble@glue{
- \directlua{token.scan_glue()}
+ \directlua{node.free(token.scan_glue())}
}
%% \ltj@gobble@dimen <dimen>
diff --git a/macros/luatex/generic/luatexja/src/ltj-compat.lua b/macros/luatex/generic/luatexja/src/ltj-compat.lua
index d660915a31..dfb19ee2d0 100644
--- a/macros/luatex/generic/luatexja/src/ltj-compat.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-compat.lua
@@ -25,12 +25,12 @@ local function to_kansuji(num)
num = -num; tex.write '-'
end
local s = ""
- while num~=0 do
+ repeat
s = utfchar(
ltjs.get_stack_table(luatexja.stack_table_index.KSJ + num%10,
'', tex.getcount 'ltj@@stack')) .. s
num=math.floor(num/10)
- end
+ until num==0
tex.write(s)
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-direction.lua b/macros/luatex/generic/luatexja/src/ltj-direction.lua
index db320509d1..565190be2d 100644
--- a/macros/luatex/generic/luatexja/src/ltj-direction.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-direction.lua
@@ -92,11 +92,12 @@ end
local get_dir_count, get_adjust_dir_count
do
+ local node_attr = node.has_attribute
local function get_dir_count_inner(h)
if h then
if h.id==id_whatsit and h.subtype==sid_user and h.user_id==DIR then
- return ((node.has_attribute(h, attr_icflag) or 0)<PROCESSED_BEGIN_FLAG)
- and (node.has_attribute(h,attr_dir)%dir_node_auto) or 0
+ return ((node_attr(h, attr_icflag) or 0)<PROCESSED_BEGIN_FLAG)
+ and (node_attr(h,attr_dir)%dir_node_auto) or 0
else
return 0
end
@@ -263,13 +264,12 @@ local function create_dir_whatsit(hd, gc, new_dir)
return hd
else
local w = dir_pool[new_dir]()
- setfield(w, 'next', hd)
set_attr(w, attr_icflag, PROCESSED_BEGIN_FLAG)
set_attr(hd, attr_icflag,
get_attr_icflag(hd) + PROCESSED_BEGIN_FLAG)
ensure_tex_attr(attr_icflag, 0)
ensure_tex_attr(attr_dir, 0)
- return w
+ return insert_before(hd, hd, w)
end
end
@@ -329,11 +329,12 @@ do
end
end
if hd==wh[1] then
- ltjs.list_dir =has_attr(hd,attr_dir)
+ ltjs.list_dir = has_attr(hd, attr_dir)
local x = node_next(hd)
while x and getid(x)==id_glue and getsubtype(x)==3 do
node_remove(hd,x); node_free(x); x = node_next(hd)
end
+ if #wh==1 then wh[1]=nil else wh[#wh], wh[1]=nil, wh[#wh] end
end
for i=1,#wh do
hd = node_remove(hd, wh[i]); node_free(wh[i]); wh[i] = nil
@@ -344,17 +345,13 @@ do
ensure_tex_attr(attr_icflag, 0)
end
return hd
- else
+ elseif gc=='vtop' then
local n = node_next(hd)
- if gc=='vtop' then
- local w = create_dir_whatsit(hd, gc, ltjs.list_dir)
- -- move dir whatsit after hd
- setfield(hd, 'next', w); setfield(w, 'next', n)
- return hd
- else
- hd = create_dir_whatsit(hd, gc, ltjs.list_dir)
- return hd
- end
+ local w = create_dir_whatsit(hd, gc, ltjs.list_dir)
+ -- move dir whatsit after hd
+ setfield(hd, 'next', w); setfield(w, 'next', n);
+ return hd
+ else return create_dir_whatsit(hd, gc, ltjs.list_dir)
end
end
end
@@ -548,7 +545,7 @@ do
and getfield(hd, 'user_id')==DIR then
local d = hd
nh, hd = node_remove(nh, hd)
- if is_copy and (not dir_backup) then
+ if is_copy==true and (not dir_backup) then
dir_backup = d; setfield(dir_backup, 'next', nil)
else
node_free(d)
@@ -729,7 +726,7 @@ do
end
local _, wh = get_box_dir(b, 0) -- clean dir_node attached to the box
if wh then
- node.direct.flush_list(getfield('value', wh))
+ node.direct.flush_list(getfield(wh, 'value'))
setfield(wh, 'value', nil)
end
end
@@ -1036,23 +1033,11 @@ do
end
do
- -- supply direction whatsit to the main vertical list "of the next page"
local function dir_adjust_pre_output(h, gc)
return to_node(create_dir_whatsit_vbox(to_direct(h), gc))
end
- ltjb.add_to_callback('pre_output_filter',
- dir_adjust_pre_output,
+ ltjb.add_to_callback('pre_output_filter', dir_adjust_pre_output,
'ltj.direction', 10000)
-
- function luatexja.direction.remove_end_whatsit()
- local h=tex.lists.page_head
- if h and (not h.next) and
- h.id==id_whatsit and h.subtype==sid_user and
- h.user_id == DIR then
- tex.lists.page_head = nil
- node.free(h)
- end
- end
end
-- append_to_vlist filter: done in ltj-lineskip.lua
diff --git a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
index 61c21b9094..3d046f0c01 100644
--- a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
@@ -746,12 +746,14 @@ local function new_jfm_glue(mc, bc, ac)
local g = mc[bc][ac]
if g then
if g[1] then
- return node_copy(g[1]), g.ratio, false, false, false
+ local k = node_new(id_kern, 1); setfield(k, 'kern', g[1])
+ set_attr(k, attr_icflag, FROM_JFM)
+ return k, g.ratio, false, false, false
else
- local f = node_new(id_glue)
- set_attr(f, attr_icflag, g.priority)
- setglue(f, g.width, g.stretch, g.shrink)
- return f, g.ratio, g.kanjiskip_natural, g.kanjiskip_stretch, g.kanjiskip_shrink
+ local f = node_new(id_glue)
+ set_attr(f, attr_icflag, g.priority)
+ setglue(f, g.width, g.stretch, g.shrink)
+ return f, g.ratio, g.kanjiskip_natural, g.kanjiskip_stretch, g.kanjiskip_shrink
end
end
return false, 0
diff --git a/macros/luatex/generic/luatexja/src/ltj-jfont.lua b/macros/luatex/generic/luatexja/src/ltj-jfont.lua
index 64cb1a0da9..70557c08a8 100644
--- a/macros/luatex/generic/luatexja/src/ltj-jfont.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-jfont.lua
@@ -229,10 +229,7 @@ do
}
end
for k,w in pairs(v.kern) do
- local g = node_new(id_kern, 1)
- setfield(g, 'kern', w[1])
- set_attr(g, attr_icflag, FROM_JFM)
- v[k] = {g, ratio=w[2]/sz}
+ v[k] = {w[1], ratio=w[2]/sz}
end
end
v.glue, v.kern = nil, nil
diff --git a/macros/luatex/generic/luatexja/src/ltj-lineskip.lua b/macros/luatex/generic/luatexja/src/ltj-lineskip.lua
index 1fc6f7b2d3..f8b97c144b 100644
--- a/macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-lineskip.lua
@@ -18,12 +18,13 @@ local node_prev = node.direct.getprev
local node_next = node.direct.getnext
local getid = node.direct.getid
local getsubtype = node.direct.getsubtype
+local texget = tex.get
local node_getglue = node.getglue
local setglue = node.direct.setglue
-local function copy_glue (new_glue, old_glue, subtype, new_w)
+local function copy_glue (new_glue, old_glue_name, subtype, new_w)
setfield(new_glue, 'subtype', subtype)
- local w,st,sp,sto,spo = node_getglue(old_glue)
+ local w,st,sp,sto,spo = texget(old_glue_name, true)
setglue(new_glue, new_w or w, st, sp, sto, spo)
end
ltjl.copy_glue = copy_glue
@@ -33,9 +34,9 @@ function ltjl.p_dummy(before, after)
end
function ltjl.l_dummy(dist, g, adj, normal, bw, loc)
if dist < tex.lineskiplimit then
- copy_glue(g, tex.lineskip, 1, tex.lineskip.width + adj)
+ copy_glue(g, 'lineskip', 1, texget('lineskip', false) + adj)
else
- copy_glue(g, tex.baselineskip, 2, normal)
+ copy_glue(g, 'baselineskip', 2, normal)
end
end
@@ -49,7 +50,7 @@ do
local traverse_id = node.direct.traverse_id
local function adjust_glue(nh)
local h = to_direct(nh)
- local bw = tex.baselineskip.width
+ local bw = texget('baselineskip',false)
for x in traverse_id(id_glue, h) do
local xs = getsubtype(x)
if (xs==1) or (xs==2) then
@@ -83,7 +84,7 @@ local function dir_adjust_append_vlist(b, loc, prev, mirrored)
local new_b = loc=='box' and
make_dir_whatsit(old_b, old_b, get_dir_count(), 'append_vlist') or old_b
if prev > -65536000 then
- local bw = tex.baselineskip.width
+ local bw = texget('baselineskip', false)
local normal = bw - prev - getfield(new_b, mirrored and 'depth' or 'height')
local lmin, adj = nil, 0
local tail = to_direct(tex.nest[tex.nest.ptr].tail)
diff --git a/macros/luatex/generic/luatexja/src/luatexja.lua b/macros/luatex/generic/luatexja/src/luatexja.lua
index f7957a116d..8da4251882 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.lua
+++ b/macros/luatex/generic/luatexja/src/luatexja.lua
@@ -583,6 +583,9 @@ local function debug_show_node_X(p,print_fn, limit, inner_depth)
debug_show_node_X(q, print_fn, limit, inner_depth)
end
end
+ elseif pt == 'attribute' then
+ s = base .. ' [' .. p.number .. '] = ' .. p.value
+ print_fn(s)
else
print_fn(base)
end
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index aa3d1f5463..5eab1c4e35 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -27,7 +27,7 @@
\newif\ifltj@disablejfam
%%%% VERSION
-\def\LuaTeXjaversion{20220703.0}
+\def\LuaTeXjaversion{20220807.0}
%% Check if LaTeX is used.
\begingroup\expandafter\expandafter\expandafter\endgroup
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index c4f37f88ff..60905beb60 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,9 @@
+2022-08-04 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-4ht.tex (latex.4ht): revert to the original definition of
+ \% when TeX4ht doesn't compile literate sources.
+ https://tex.stackexchange.com/a/652950/2891
+
2022-07-26 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-mathml.tex (mathml.4ht): protect \sum etc., in order to
diff --git a/support/TeX4ht/source/Makefile b/support/TeX4ht/source/Makefile
index 01a6b62e90..825444558f 100644
--- a/support/TeX4ht/source/Makefile
+++ b/support/TeX4ht/source/Makefile
@@ -856,6 +856,6 @@ diff = diff -u0 --ignore-all-space --ignore-blank-lines \
--ignore-matching-lines='write-1.version\|, generated from\|Copyright'
# run weekly by karl.
-croncheck: diff-all \
+croncheck: upm diff-all \
inst-check-copyright inst-check-files inst-check-version \
diff-htfonts
diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex
index dbd0b1c60d..c8533c2faf 100644
--- a/support/TeX4ht/source/tex4ht-4ht.tex
+++ b/support/TeX4ht/source/tex4ht-4ht.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-4ht.tex 1179 2022-07-25 20:40:57Z michal_h21 $
+% $Id: tex4ht-4ht.tex 1181 2022-08-04 17:27:58Z michal_h21 $
% tex tex4ht-4ht or ht tex tex4ht-4ht
%
% Copyright 2009-2022 TeX Users Group
@@ -1142,6 +1142,7 @@ The following protection, e.g., for titles of sections.
\<latex ltplain\><<<
|<plain,ltplain obeylines,oalign|>
+|<ltplain percent|>
>>>
plain.tex and latex.
@@ -1192,6 +1193,23 @@ xxxxxxxxxxxxxxxxxxxxx
\EndVerbatim\EndHPage{}]\fi
+
+
+The \''\%' command needs to be redefined for TeX4ht source files,
+but this redefinition causes compilation errors when it is used in
+titles or captions. So we redefine it to the original LaTeX
+definition. We can detect if we are in the literate sources by checking
+if the \''\MAKETITLE' command is defined.
+
+See \Link[https://tex.stackexchange.com/q/652848/2891]{}{}
+this question on TeX.sx for more details\EndLink.
+
+\<ltplain percent\><<<
+\ifdefined\MAKETITLE\else
+\chardef\%=`\%
+\fi
+>>>
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{ltspace (Horizontal Spaces)}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/support/TeX4ht/source/tex4ht-sty.tex b/support/TeX4ht/source/tex4ht-sty.tex
index 02b759ca68..4e64265ba4 100644
--- a/support/TeX4ht/source/tex4ht-sty.tex
+++ b/support/TeX4ht/source/tex4ht-sty.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-sty.tex 1171 2022-07-05 21:29:31Z karl $
+% $Id: tex4ht-sty.tex 1181 2022-08-04 17:27:58Z michal_h21 $
% tex tex4ht-sty or ht tex tex4ht-sty
%
% Copyright 2009-2022 TeX Users Group
@@ -2224,6 +2224,15 @@ tags that in the meantime are created by the system.
\catcode`\%|=12 \def\prcnt:ch{%} \catcode`\%|=14
>>>
+I don't know what this code is supposed to do, but it can produce
+fatal errors when \''\%' is used inside of title, captions or sections.
+See \Link[https://tex.stackexchange.com/q/652848/2891]{}{}
+this question on TeX.sx for an example\EndLink.
+
+But when I remove it, the compilation process of TeX4ht sources fails,
+so we will need to revert to the original version of the percent command
+probably in latex.4ht.
+
\<html utilities\><<<
\catcode`\%|=12 \def\%{%} \catcode`\%|=14
>>>
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 60eab6ebc9..3087fa2c23 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/2022
-depend revision/64066
+depend revision/64071
name 00texlive.image
category TLCore
-revision 64051
+revision 64072
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
@@ -25058,7 +25058,7 @@ catalogue-version 0.1c
name asymptote
category TLCore
-revision 62977
+revision 64072
shortdesc 2D and 3D TeX-Aware Vector Graphics Language
longdesc Asymptote is a powerful descriptive vector graphics language
longdesc for technical drawing, inspired by MetaPost but with an
@@ -25066,10 +25066,10 @@ longdesc improved C++-like syntax. Asymptote provides for figures the
longdesc same high-quality level of typesetting that LaTeX does for
longdesc scientific text.
depend asymptote.ARCH
-containersize 360712
-containerchecksum 067591add6e1cabd3c56d994c88e9f24dd47d318781f36431414ee4d5e6f8291ad17fd3ef747967c8331ea7abae8f199cc035e1709708859d49cd05b85fdfcf6
+containersize 360716
+containerchecksum 1de4b32428223fc9080d33a9d8aa457c375080e8db1dc6674e2c72ce199d48d722d3fdb9138f5cbe37869a323641bf4e301d3c0baa98bec24a2eb064f48d7034
doccontainersize 2383372
-doccontainerchecksum 5603c8e04cdfaccac039560b6785fe5304bcf02362e5de9a951453f7ae67d809d8f0f9d457b32255e0a45dc17fa8da2915ed5574b62f6bd0486532f9e7433f6f
+doccontainerchecksum 62ef4276b3bf4d9f607d1418a95ad3142419f029f460aa678831abda7cbb2f7e194b448b444d5ea2c2a398440c6c492be1a3a8044473869928c79b734ce9a537
docfiles size=1311
texmf-dist/doc/asymptote/CAD.pdf details="Using Asymptote for 2D CAD"
texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
@@ -25605,7 +25605,7 @@ catalogue-contact-repository https://github.com/vectorgraphics/asymptote
catalogue-ctan /graphics/asymptote
catalogue-license lgpl3
catalogue-topics graphics graphics-engn
-catalogue-version 2.80
+catalogue-version 2.82
name asymptote-by-example-zh-cn
category Package
@@ -39560,7 +39560,7 @@ catalogue-version 1.2.0
name biblatex-swiss-legal
category Package
-revision 63967
+revision 64072
shortdesc Bibliography and citation styles following Swiss legal practice
relocated 1
longdesc The package provides BibLaTeX bibliography and citation styles
@@ -39571,9 +39571,9 @@ longdesc ng-biblatex-swiss-legal-not-displayed-correctly the package is
longdesc at present outdated and does not work properly with newer
longdesc versions of BibLaTeX.
containersize 18148
-containerchecksum f8f525ef6072989ff4b48d74ec861b39b487d829f66cd7cf78b78d35ed56f64b0f0911fa50619c46d26ff07d81c14e4fc48da10915058674c00f8416dde31490
+containerchecksum a3228b16f01dd7f2f044da85745ff85e728762e2f1ac86a97fa0aea1fd410c1b83088b3f148fa2d19d499df617746fddc66cb31fed75a8984828a91c61eab354
doccontainersize 513436
-doccontainerchecksum 5fac2ddd9503e1b9e09702d04caf656fdc9bff3f8389d39d2581a325238433ba1a78b650eb9eb485736582de1a92ad213f7ef69d3222bd6a08f5b4b708e32073
+doccontainerchecksum 70576559d85c4ef765d99c409f2376ac5104c76df0825471fa996a7788c410267df8e583b5d5272cd8a1b881d606a38e5448443aceff3f29e4e5475f5471099c
docfiles size=145
RELOC/doc/latex/biblatex-swiss-legal/README details="Readme (French and English)"
RELOC/doc/latex/biblatex-swiss-legal/biblatex-swiss-legal.pdf details="Package documentation (French)" language="fr"
@@ -45164,17 +45164,17 @@ catalogue-version 0.2b
name bxorigcapt
category Package
-revision 63058
+revision 64072
shortdesc To retain the original caption names when using Babel
relocated 1
-longdesc This package forces the caption names (`\chaptername`,
-longdesc `\today`, etc) declared by the document class in use to be used
-longdesc as the caption names for a specific language introduced by the
-longdesc Babel package.
-containersize 2504
-containerchecksum a5d39b831ed48e603ca74e7dc3498c8b78b6a33194f1d0907a21ace99c1ab1bfcfb5ee187b49bd7155893d8785baa900e657a0613c646c1cb7b850ea1a1d026a
-doccontainersize 254528
-doccontainerchecksum 29363fce42bf583f2de272fd70d4d13d20da8dd08e7dc3deb2ef715fd3d2d3a60da9e86f64293cdb935f2d4ef784991d745c5ccd0455bcd915b0081fb96cfa3d
+longdesc This package forces the caption names (\chaptername, \today,
+longdesc etc) declared by the document class in use to be used as the
+longdesc caption names for a specific language introduced by the Babel
+longdesc package.
+containersize 2508
+containerchecksum 03c88a7e74c83e070d132fe55231fcf0caa51a8e87daa213533ec1db5246919b6de062e290da3e45b17f66ade1af54e38f39075284009c5bd126513e32c4f080
+doccontainersize 254532
+doccontainerchecksum 0a3c6c360bd1672fb4f1aa33dccba06c7de77a65a6e0d128fc3e90f99aa9897fd6d3a1ee5c2ca719a42a891d67a575ab13a28b7e6c9f6f8966f98167ec54cfa2
docfiles size=66
RELOC/doc/latex/bxorigcapt/LICENSE
RELOC/doc/latex/bxorigcapt/README.md details="Readme"
@@ -113830,7 +113830,7 @@ catalogue-version 0.2
name exam-zh
category Package
-revision 63995
+revision 64072
shortdesc LaTeX template for Chinese exams
relocated 1
longdesc Although there are already several excellent exam packages or
@@ -113846,9 +113846,9 @@ longdesc separate the format and the content very well; use the choices
longdesc environment to typeset choice items easily and automatically;
longdesc design the seal line easily; and more (see manual).
containersize 31680
-containerchecksum 42ad62e946ff663b02066fe3bb677dbb3c07976b4a896cee83ffea2425195638687ccf167c668fc11de8199cd18eef3469af037888e3b6e659a5164d64e15e3c
-doccontainersize 1831772
-doccontainerchecksum fe5926e28653d00c077df488366713eb13af3cde3cbdda97ed48c9324675779ab789fabc7615697c6fd96328e7fc5a50217c8c885ef8b6d90f8c8c3e26f1f7fd
+containerchecksum 3c15cc80657ae1620ac3561462a15f3a299f2e5d33cf8de124c3d99d3b73365140cbe18099abb37239a434a884e93fc4a697520bbae99904a99a41ef1b31aaf3
+doccontainersize 1831768
+doccontainerchecksum 91cfb6b69435357fcc28cf0d97356f583230301e91bf14c9af37b531ac51596d16b702f8cde1383cef03017b362b7d6aec1791de4daceba4f3c4c5c1240f56ee
docfiles size=588
RELOC/doc/xelatex/exam-zh/CHANGELOG.md
RELOC/doc/xelatex/exam-zh/LICENSE
@@ -113887,7 +113887,7 @@ catalogue-contact-repository https://gitee.com/zepinglee/exam-zh/releases
catalogue-contact-support https://gitee.com/zepinglee/exam-zh/issues
catalogue-ctan /macros/xetex/latex/exam-zh
catalogue-license lppl1.3c
-catalogue-topics exam chinese expl3
+catalogue-topics exam chinese expl3 xetex
catalogue-version 0.1.13
name examdesign
@@ -130408,7 +130408,7 @@ catalogue-topics tut-plaintex
name gentombow
category Package
-revision 63967
+revision 64072
shortdesc Generate Japanese-style crop marks
relocated 1
longdesc This bundle provides a LaTeX package for generating
@@ -130421,10 +130421,10 @@ longdesc pxgentombow.sty: Superseded by gentombow.sty; kept for
longdesc compatibility only. bounddvi.sty: Set papersize special to DVI
longdesc file. Can be used on LaTeX/pLaTeX/upLaTeX (with DVI output
longdesc mode) with dvips or dvipdfmx drivers.
-containersize 10892
-containerchecksum fccf373d37042500ba4d5de875aa7d3855a34b60aed11b77b2351d3a8fc83ce3540a14d9bb0c9296b8297ac0ea309aa3ab19773762219b2b288f429490cb9bdd
-doccontainersize 504052
-doccontainerchecksum 96d38294332889ec31c4426916ed8b86b105945b59b5b9941ba5304930e73cd54e88d3279e666d3f891c2a973285fcb9556070de1a93560dc79c3d6fa185a9fc
+containersize 10896
+containerchecksum 1219f4fd041bf541a5942ab964d2d38266b1d9bf1484aed2c76acd9fef3d19c70afcaab4a1b2c386bf560c1f5a0846b099fe22c157c9241d6fd300888e633673
+doccontainersize 504048
+doccontainerchecksum 86f4be227a8737d9e979a726d6100dda83bb59ef4950afc8d912feb1e192ab7dd91263053a809a2cc6acc1480fcd9dc86460cee9c3d934465777dbcc90da4bd1
docfiles size=141
RELOC/doc/latex/gentombow/LICENSE
RELOC/doc/latex/gentombow/README.md details="Readme"
@@ -130446,7 +130446,7 @@ runfiles size=13
RELOC/tex/latex/gentombow/pxpdfpages.sty
RELOC/tex/latex/gentombow/pxtextpos.sty
catalogue-contact-repository https://github.com/aminophen/gentombow
-catalogue-ctan /macros/jptex/latex/gentombow
+catalogue-ctan /macros/latex/contrib/gentombow
catalogue-license bsd3
catalogue-topics japanese layout-page page-control
@@ -153500,7 +153500,7 @@ catalogue-version 1.12
name japanese-otf
category Package
-revision 62455
+revision 64072
shortdesc Advanced font selection for platex and its friends
relocated 1
longdesc The package contains pLaTeX support files and virtual fonts for
@@ -153511,10 +153511,10 @@ execute addKanjiMap otf-ko-@koEmbed@.map
execute addKanjiMap otf-sc-@scEmbed@.map
execute addKanjiMap otf-tc-@tcEmbed@.map
execute addKanjiMap otf-up-@jaEmbed@.map
-containersize 237704
-containerchecksum a4b19bb8e62271e9f325426d3ff57fe4d3fa909e117f2070299cb885db5b6036b6b9ed3d240a121b519bf4d7ce7e2bab312767f1bf4d6b9f8b996943eb611203
+containersize 237760
+containerchecksum 47ceb07a567b3244662f7fb8d64da6765aaf2a64a454a1834328c9c2a9ea9cc5a6f867ab565a25b0f904d067c3cadf72724e1cac406d3bf1f54e2e4351b8ea17
doccontainersize 36636
-doccontainerchecksum 6a626d29a20132d1cd1141ddf1118845255ad869f670ce780c29bcba2f143b3980b1c45822d49f83cad9d9528cc52c03b63548ca93d45ac7e0c03a5cbce1f880
+doccontainerchecksum d1d0ab7db20aef0d5d3ceb9a63dc09f2eae42327654bf44d4a2cd21676be1118f257795544ce73f968bde6ad25e8a7f170ce309fc9f00d05f9ab91db0b95fe0a
docfiles size=81
RELOC/doc/fonts/japanese-otf/COPYRIGHT
RELOC/doc/fonts/japanese-otf/ChangeLog.md
@@ -153558,7 +153558,7 @@ docfiles size=81
RELOC/doc/fonts/japanese-otf/doc/test/uplatex/utfmacro-cjk.tex
RELOC/doc/fonts/japanese-otf/doc/test/uplatex/utfmacro-haranoaji.map
srccontainersize 67336
-srccontainerchecksum d1f6ddffacd8421575f944235b6ba94f5739bc893fbf8d2b3ed265e99f4ef3da20eddd4ce50e4de40df48e36e75fcec03feda76ebfeef89fad3afdaf5e75cdbe
+srccontainerchecksum 4c43afd08401e00ee97e6d85246d4c72d80581c43f1bfcb40d947fe382aad9ae45e041aba6a2d63d163cf42d235df78c976b412cad07a7dfeb783848a32b76fe
srcfiles size=171
RELOC/source/fonts/japanese-otf/basepl/base-h.pl
RELOC/source/fonts/japanese-otf/basepl/base-v.pl
@@ -157017,7 +157017,7 @@ runfiles size=25220
catalogue-contact-home http://psitau.kitunebi.com/otf.html
catalogue-contact-repository https://github.com/texjporg/japanese-otf-mirror
catalogue-contact-support https://github.com/texjporg/japanese-otf-mirror/issues
-catalogue-ctan /language/japanese/japanese-otf
+catalogue-ctan /macros/jptex/latex/japanese-otf
catalogue-license bsd3
catalogue-topics font-use font-cjk japanese
@@ -157360,7 +157360,7 @@ catalogue-topics labels
name jlreq
category Package
-revision 63885
+revision 64072
shortdesc Japanese document class based on requirements for Japanese text layout
relocated 1
longdesc This package provides a Japanese document class based on
@@ -157368,9 +157368,9 @@ longdesc requirements for Japanese text layout. The class file and the
longdesc JFM (Japanese font metric) files for LuaTeX-ja / pLaTeX /
longdesc upLaTeX are provided.
containersize 138160
-containerchecksum b98df6f53b4d1d163db25ca14037214db6a61fb8ca05d26d97a1d7206134f01cf77af536b905a3ac3ec1b054000bed1ea430530dd1c2135af60ed99d0d412541
+containerchecksum afd729377cf688ea6f943a4502d073a5e959952c2a610648920af211e792e10fbbe3feb5faf08efb180e4dde18a4d5950967a06b5d391427c4dc19ba72355df7
doccontainersize 518824
-doccontainerchecksum fc68b8d78c54234b2bddf194d4f05c1efcba165fa329f695748f391a93b5a9fdc4e49fd12dea48873bc245abed0c7b5c2a8bf0836185b8dd09020fa2a7c33e6b
+doccontainerchecksum 6549a17a8af3c4cbc2974acc53f5cfbbf0ba5e22eeb486c651151bbe37bf8893b6eb991d66d0770fe7eb4d8ce3a4b07b6f8e61d8a4ef74488ce967a473693f27
docfiles size=168
RELOC/doc/latex/jlreq/LICENSE
RELOC/doc/latex/jlreq/README-ja.md details="Readme" language="ja"
@@ -157384,7 +157384,7 @@ docfiles size=168
RELOC/doc/latex/jlreq/jlreq.html
RELOC/doc/latex/jlreq/jlreq.pdf details="Package documentation"
srccontainersize 8216
-srccontainerchecksum 986382bf8a52c7a24eccb1a0f5a8cf991427173ea2e072c51f8ff403aa1b160428de0b06a70d88fb41fbbfedf2c1337baa053a22464035bf45051b7e15ce9df1
+srccontainerchecksum 3bce6d75e073119b21634452d90c68ba003e7bc938df8bad1a26bab514d7fac52251f50410840dff1745419b5fb23c4abb0cbc2b80bdd7a96c6ec8e510b301d6
srcfiles size=10
RELOC/source/latex/jlreq/Makefile
RELOC/source/latex/jlreq/README-template.html
@@ -157501,21 +157501,21 @@ runfiles size=8657
RELOC/tex/luatex/jlreq/jfm-jlreqv-jidori.lua
RELOC/tex/luatex/jlreq/jfm-jlreqv.lua
catalogue-contact-home https://github.com/abenori/jlreq
-catalogue-ctan /language/japanese/jlreq
+catalogue-ctan /macros/jptex/latex/jlreq
catalogue-license bsd2
catalogue-topics japanese font-cjk class std-conform expl3
name jlreq-deluxe
category Package
-revision 58329
+revision 64072
shortdesc Multi-weight Japanese font support for the jlreq class
relocated 1
longdesc This package provides multi-weight Japanese font support for
longdesc the jlreq class.
-containersize 21492
-containerchecksum b7b3e3c5a9de849ea79cf84d6fde1d9594ebb3c5b8887ef682c2973227f7d60a159a3f90b05797c9bc59eb030bef4853415e02a98ccccc2f914b29c1e619b27e
-doccontainersize 66008
-doccontainerchecksum 956be7405e5aeeb7c56e6db88465950865376e14a39caaee61be9b77fbd859f509dc9dc522e756382a0276dedac85a23cd43c2f7034d1d8482bce5b305eae75d
+containersize 21468
+containerchecksum f728474dc481ff716f1ba6f15c3923c3dd4902869c4c137a79f5c3c6bc404adb524fddea1d7bd04ff02af81f0307e580d6e0e7f3dafc5b95e44122cf218bf4f1
+doccontainersize 66012
+doccontainerchecksum 0214474638c6d61d901b252003ba28d98536d7726e780fe64dc3f1ad062535dd23c0f8380ec0e1b808a838ab860efba0fbe891ead42b078d402e0e18e8524bde
docfiles size=20
RELOC/doc/platex/jlreq-deluxe/LICENSE
RELOC/doc/platex/jlreq-deluxe/README-ja.md details="Readme (Japanese)"
@@ -158646,7 +158646,7 @@ runfiles size=1177
RELOC/tex/platex/jlreq-deluxe/jlreq-deluxe.sty
catalogue-also jlreq
catalogue-contact-repository https://github.com/h20y6m/jlreq-deluxe
-catalogue-ctan /language/japanese/jlreq-deluxe
+catalogue-ctan /macros/jptex/latex/jlreq-deluxe
catalogue-license mit
catalogue-topics font-cjk font-use japanese expl3
catalogue-version 0.4.0
@@ -192151,17 +192151,17 @@ catalogue-version 1.3
name luatexja
category Package
-revision 63801
+revision 64072
shortdesc Typeset Japanese with Lua(La)TeX
relocated 1
longdesc The package offers support for typesetting Japanese documents
longdesc with LuaTeX. Either of the Plain and LaTeX2e formats may be
longdesc used with the package.
depend luatexbase
-containersize 191948
-containerchecksum 69188bbd9953d96ee370278414f5fc886ede37d38f1d156b3e593710540f8dba2e5971e500d87e83099534055e95ed74756c406a89ab180450dc7625aa7976d2
-doccontainersize 3254020
-doccontainerchecksum 660f14396de6e739632e17f3cae6766b0859391ad53e7eeb3eb063596555d0218166dc474f5224e744700701d9ce59b0b57d1dcd92b14b82cc2f78453978afc3
+containersize 191912
+containerchecksum 07fdbfbfcb06dc1e18fbae9d8625d9876c73b7470930e8e81d98605fa80a49bc4b9adb5bd3a73d0a6bf19d98151f2a85a7f9bfa9d907a043a52692e9301e81a5
+doccontainersize 3253996
+doccontainerchecksum 06fbaa537f12331a3f8926602f8439b3902655e1e1d196b3702b8fb25c3f01e70c1fa4479ba3145bf30e5e9af8259501b7976c40971c2ab6d9de3f26a4c6b132
docfiles size=979
RELOC/doc/luatex/luatexja/COPYING
RELOC/doc/luatex/luatexja/README details="Readme"
@@ -192180,7 +192180,7 @@ docfiles size=979
RELOC/doc/luatex/luatexja/luatexja.dtx
RELOC/doc/luatex/luatexja/luatexja.ins
srccontainersize 83300
-srccontainerchecksum 114a3efcad356460e8947b731e751ecefa284045af51628c7b4d39e58ccc6692339ee44f088a471f52951c0b2dc71db065d6a93e15f46997b796111fba243456
+srccontainerchecksum b427bdfb7557c8f3d9ac3e73156b6ae25dff3f2d18f5d2569a3ce64ab7e16edae3087cbf85f87377822142160494fd14f3abd900486ab038da24cae95f74697d
srcfiles size=118
RELOC/source/luatex/luatexja/ltjclasses.dtx
RELOC/source/luatex/luatexja/ltjclasses.ins
@@ -192304,7 +192304,7 @@ catalogue-contact-repository https://osdn.net/projects/luatex-ja/scm/git/luatexj
catalogue-ctan /macros/luatex/generic/luatexja
catalogue-license bsd
catalogue-topics japanese luatex class macro-gen
-catalogue-version 20220703.0
+catalogue-version 20220807.0
name luatexko
category Package
@@ -234825,7 +234825,7 @@ catalogue-topics maths
name oup-authoring-template
category Package
-revision 63967
+revision 64072
shortdesc A general template for journals published by Oxford University Press (OUP)
relocated 1
longdesc This package provides a general LaTeX template for journals
@@ -234837,9 +234837,9 @@ longdesc see
longdesc https://academic.oup.com/journals/pages/authors/preparing_your_
longdesc manuscript.
containersize 17492
-containerchecksum 1f317cc65ae7e0d7e4a6d58889fe4bc554efaaf349046aef98f95ae6d7756d40fbc2c270fa9d30fb871d2dcf22baaf4c5dcdec196efdb5df931b8de77bec63bf
+containerchecksum 95b634051f3e711596f1689a030f8ce6c340ac134a73e5be6c850fea52eb583d9a46d8de414a3d8ee640ab5c49cd4ba17dd01119c84701f602148dcce79e63f2
doccontainersize 322096
-doccontainerchecksum 15cd9f0af93d752c272e47201c985214ca4058571b80b756163796bbd5671476ac7804d6db9c4b9cef2cbcad28c8807b0d2efff0e0e8078f7160eac51dff254b
+doccontainerchecksum 5c4c3e6db1601eb17c206ed4afeb2b14a7168a370d4c2a3cb590e1ca7a719cd4648663fd122f74e23f34bbacf3fea2041077d2941bb1040bfe92139aad19f89c
docfiles size=115
RELOC/doc/latex/oup-authoring-template/README details="Readme"
RELOC/doc/latex/oup-authoring-template/doc/oup-authoring-template-doc.pdf details="User manual"
@@ -245951,7 +245951,7 @@ catalogue-version 0.1
name platex
category Package
-revision 62387
+revision 64072
shortdesc pLaTeX2e and miscellaneous macros for pTeX
longdesc The bundle provides pLaTeX2e and miscellaneous macros for pTeX
longdesc and e-pTeX. This is a community edition forked from the
@@ -245977,10 +245977,10 @@ depend tex-ini-files
depend unicode-data
execute AddFormat name=platex engine=eptex options="*platex.ini" patterns=language.dat fmttriggers=atbegshi,atveryend,babel,cm,everyshi,firstaid,hyphen-base,l3backend,l3kernel,l3packages,latex,latex-fonts,tex-ini-files,unicode-data,ptex-fonts,latex
execute AddFormat name=platex-dev engine=eptex options="*platex.ini" patterns=language.dat fmttriggers=atbegshi,atveryend,babel,cm,everyshi,firstaid,hyphen-base,l3backend,l3kernel,l3packages,latex,latex-fonts,tex-ini-files,unicode-data,ptex-fonts,l3kernel,latex-base-dev,latex-firstaid-dev
-containersize 41920
-containerchecksum d539eb14274aba081be62d8066ee158c4a9e10a7a3e92522f0b0601e7d4e146d4ae1412434619cd311f1b7434b320cb1fd9d858d1e98e1de23532e478002b3e8
-doccontainersize 1500068
-doccontainerchecksum a4736eba31f4f1a5b04478d4d7c7db7d96f6964778f64fb9ccf9598f6b5bc75da25e1420ce9c5a388b20ff806290078104cb0602044d399890bf1aa60eef6ab0
+containersize 41924
+containerchecksum d6e920958e7cee051e7b9abed4ebd470b3404db6c38a827bcc0e740dfb6e8381982a31c2bba19d07fdfc1bf073a861f926e0c219562e818857149288c2dae523
+doccontainersize 1500064
+doccontainerchecksum 4af1e23ed0ddedf3cce3aa723094337a2bc9490c95d02d53a7c1f404dc3e8bbb857ece6b104d0952fdc9f32d1d43abd8ce46a1cf49ac5c6eae2b4ff064dc3aa5
docfiles size=383
texmf-dist/doc/man/man1/platex.1
texmf-dist/doc/man/man1/platex.man1.pdf
@@ -245992,7 +245992,7 @@ docfiles size=383
texmf-dist/doc/platex/base/platexrelease.pdf
texmf-dist/doc/platex/base/pldoc.pdf
srccontainersize 139172
-srccontainerchecksum f002c79e01b686ebeaa840bbdc664da090cbd04fd96c406e899e0ffcd0a82b4241f3a078cad3fcf2ea0d15bfac734939010d2913c7a5102218c7baab7bc85ff4
+srccontainerchecksum 155e979cbe21a114569b1a542d32cc37fd9228b3d4cd258eb30047505009b3ca2f69b2bf95dee27e832eaf70d8b3c833f41029099b783695f584fd917f990945
srcfiles size=215
texmf-dist/source/platex/base/Makefile
texmf-dist/source/platex/base/jclasses.dtx
@@ -246081,23 +246081,23 @@ runfiles size=169
texmf-dist/tex/platex/base/tsize12.clo
texmf-dist/tex/platex/config/platex.ini
catalogue-contact-repository https://github.com/texjporg/platex
-catalogue-ctan /language/japanese/platex
+catalogue-ctan /macros/jptex/latex/platex
catalogue-license bsd3
catalogue-topics format class japanese
name platex-tools
category Package
-revision 61272
+revision 64072
shortdesc pLaTeX standard tools bundle
relocated 1
longdesc This bundle is an extended version of the latex-tools bundle
longdesc developed by the LaTeX team, mainly intended to support
longdesc pLaTeX2e and upLaTeX2e. Currently patches for the latex-tools
longdesc bundle and Martin Schroder's ms bundle are included.
-containersize 8252
-containerchecksum 95e04f312f5cd98a6cb06225a81f1538f14f1701a490b8a437a04016714d56e6d208eef2cdb768f539ae2b867f724d78853701831cb9f396d69b9281dc4140c9
+containersize 8256
+containerchecksum c226a65e82d5b032b8c35efa465e40022a2dbe12c3b63206fe941eb6bf1c544de58a101ec70efe3b511f9db4c3b5a761a17155d29eaa9a1da61a21b8b9c3bee9
doccontainersize 575052
-doccontainerchecksum 77476461eebb930f3e9227eea9f277fdb50486e7b4d9e4a9d424714e2d902044607466e0d7e4c839abb245f7b17e020a1719ec5f085f1858f046033142cc8403
+doccontainerchecksum ab47f50759ac76935e45894cbb6dfbf6ab253f3ad597c04410aa3b3fc791b4638b8fa9ee110d7f283328301790d48df17f118fd5835ac2a20857b40de49777fb
docfiles size=163
RELOC/doc/latex/platex-tools/LICENSE
RELOC/doc/latex/platex-tools/README.md details="Readme"
@@ -246136,7 +246136,7 @@ runfiles size=13
RELOC/tex/latex/platex-tools/pxmulticol.sty
RELOC/tex/latex/platex-tools/pxxspace.sty
catalogue-contact-repository https://github.com/aminophen/platex-tools
-catalogue-ctan /language/japanese/platex-tools
+catalogue-ctan /macros/jptex/latex/platex-tools
catalogue-license bsd3
catalogue-topics japanese collection
@@ -246333,7 +246333,7 @@ catalogue-version 3.1
name plautopatch
category Package
-revision 61240
+revision 64072
shortdesc Automated patches for pLaTeX/upLaTeX
relocated 1
longdesc Japanese pLaTeX/upLaTeX formats and packages often conflict
@@ -246345,10 +246345,10 @@ longdesc because specific patches are loaded automatically whenever
longdesc necessary. This helps not only to simplify source files, but
longdesc also to make the appearance of working pLaTeX/upLaTeX sources
longdesc similar to those of ordinary LaTeX ones.
-containersize 7072
-containerchecksum 7a617df2c19ca483818ad3bfa8421a070d8e9a3a3fbcf91cb686b928194f5adf586d468ec5329e28bd2cdf48947c899f52afbb6f85a552781b80cc6d64b27a05
+containersize 7076
+containerchecksum 1313cf815568dc385d5d1691bba7e57e246c45e71242acb94904ca0fe796940afb59bd3d07f728a9e407a9a0914b3890a7e7dc3c8bde3ddab7b36c3ed9ffcefd
doccontainersize 137636
-doccontainerchecksum f5948db03cdbe43e654ab11c8f1e913a2595b63c0c1bf32025e7f7adeb7b8dd9b148990034f0b4828ed012c24f6955009b1c423549494d6953932527be47fede
+doccontainerchecksum e4bcfbe263cd17dcefdc239f06f1287ff8d936f0a6b5ea89f914d7a4254e08040c076be0317f4e3cf2aa96542878e1c93fd3ad5b9633f4c3c3d85ee9d719f4d2
docfiles size=41
RELOC/doc/latex/plautopatch/LICENSE
RELOC/doc/latex/plautopatch/README.md details="Readme"
@@ -246365,7 +246365,7 @@ runfiles size=10
RELOC/tex/latex/plautopatch/pxpgfrcs.sty
RELOC/tex/latex/plautopatch/pxstfloats.sty
catalogue-contact-repository https://github.com/aminophen/plautopatch
-catalogue-ctan /language/japanese/plautopatch
+catalogue-ctan /macros/jptex/latex/plautopatch
catalogue-license bsd3
catalogue-topics japanese debug-supp bugfix
catalogue-version 0.9q
@@ -257854,14 +257854,14 @@ catalogue-topics engine japanese
name ptex-base
category Package
-revision 59406
+revision 64072
shortdesc Plain TeX format for pTeX and e-pTeX
relocated 1
longdesc The bundle contains the plain TeX format for pTeX and e-pTeX.
-containersize 10052
-containerchecksum d968a0515ea4fe0948734f610212a7dfc2d5eb97d7ca96faa7de4350354b5d4584b9032129a6b4815c2c65c79694703342acb86455114a49dbfa0d6c765c7557
-doccontainersize 1536
-doccontainerchecksum ba2ae608c1aefb62e34710ab7251528f54569b978477a90875329de5cac2ec85271b2593803a28e6ff65e6519d75d69260e87e642ea84c36f6d48e68f968fb28
+containersize 10060
+containerchecksum b937359bde7ade3645edb6435a824ee6af66e51e7cb518694706224e63e4d92391911f01745d331cb92e62c34c085aa5f284babacf6f7ab0a0474cbf06b00859
+doccontainersize 1540
+doccontainerchecksum 85b6422630754144e4f9c552899e588f1650af2837cf88e8f47106e2919bee8dd956002e102f83dd76107edb0e61e2a6d4ebfaaf6fc06289942fdb32385454ba
docfiles size=2
RELOC/doc/ptex/ptex-base/LICENSE
RELOC/doc/ptex/ptex-base/README.md details="Readme"
@@ -257874,7 +257874,7 @@ runfiles size=14
RELOC/tex/ptex/ptex-base/ptex.ini
RELOC/tex/ptex/ptex-base/ptex.tex
catalogue-contact-repository https://github.com/texjporg/ptex-base
-catalogue-ctan /language/japanese/ptex-base
+catalogue-ctan /macros/jptex/generic/ptex-base
catalogue-license bsd3
catalogue-topics format japanese
@@ -258839,7 +258839,7 @@ binfiles arch=x86_64-solaris size=1209
name ptex2pdf
category Package
-revision 58632
+revision 64072
shortdesc Convert Japanese TeX documents to PDF
longdesc The Lua script provides system-independent support of Japanese
longdesc typesetting engines in TeXworks. As TeXworks typesetting setup
@@ -258848,10 +258848,10 @@ longdesc of the ptex-based programs (ptex, uptex, eptex, platex,
longdesc uplatex) followed by dvipdfmx.
depend ptex2pdf.ARCH
postaction script file=tlpkg/tlpostcode/ptex2pdf-tlpost.pl
-containersize 7844
-containerchecksum fce87deb2ee9477d81d9e7b69c2f934f9918c8a299d3e58ae8e9ba95121eaefedb935c1674ecb8bf1a081f6a21f7359e8cd158b0cfbc7faf234bd33925669939
+containersize 7852
+containerchecksum 1893a49eb389914d7a9247dece7f67d9d6af05efca77801130726d6422b1a0150b56f29d3f133f433d70989f6ffcc2b44d209cd044c84ee0833c2f77b87f3e46
doccontainersize 8644
-doccontainerchecksum 83328ead3446c41e42687819d9dddd6f19ac0292fdc1ba99eaa9a75ad9e2fad8a05e2377c196d605e9360d383881194d03930d286c9c41706eea839d19d6ee66
+doccontainerchecksum f193b44004b487d93f025b34b72a17cbaf4111b1a6e1ceb4ac1b69c6c07aa4dce46cde510cbd01fb71fb08c06f7bbb415a4a8051de5861f1f586b756060f386f
docfiles size=7
texmf-dist/doc/latex/ptex2pdf/COPYING
texmf-dist/doc/latex/ptex2pdf/README.md details="Readme"
@@ -258861,7 +258861,7 @@ runfiles size=7
catalogue-contact-bugs https://github.com/texjporg/ptex2pdf/issues
catalogue-contact-home https://github.com/texjporg/ptex2pdf
catalogue-contact-repository https://github.com/texjporg/ptex2pdf.git
-catalogue-ctan /language/japanese/ptex2pdf
+catalogue-ctan /macros/jptex/generic/ptex2pdf
catalogue-license gpl2
catalogue-topics compilation japanese
catalogue-version 20200520.0
@@ -259446,17 +259446,17 @@ catalogue-version 4.8.1
name pxbase
category Package
-revision 59473
+revision 64072
shortdesc Tools for use with (u)pLaTeX
relocated 1
longdesc The main purpose of this package is to provide auxiliary
longdesc functions which are utilized by other packages created by the
longdesc same author. It also provides a few user commands to assist in
longdesc creating Japanese documents using (u)pLaTeX.
-containersize 12356
-containerchecksum a75c8932fc56c11e4afeaf30c91ad6c67622df8eb93b0700257472c22a7de6ee7732be8a67d1d53f1e21138bfecc64cbc6e8d8800c08ee1c5cbeb7bab637df4d
-doccontainersize 161900
-doccontainerchecksum 4421d659294e02b2d0268a4b0d56b037c321c69abc856bb00917b61b79bf78462fb4a5c9c8616d773e7267137de0f6af88cef02dcb661259c7ed7247317f7aab
+containersize 12364
+containerchecksum 6723a8748f4cf2ddaf6f2a7d83b81666de0f4136806794d37a2e8032bab819f9cd6d2c8be4477fdcded60daa2e0218099ef60e7436659dd4733db46b052e35cf
+doccontainersize 161904
+doccontainerchecksum 017474cb2ded46a0cc69b28d706e70ef700f93fb30e66c5a413b911ea35c57a4cd04b5199ab802a2bc6e9b269ed2e84bc0eb7ad6bdb039550f9723cffacb341f
docfiles size=49
RELOC/doc/platex/pxbase/LICENSE
RELOC/doc/platex/pxbase/README-ja.md details="Readme (Japanese)" language="ja"
@@ -259473,14 +259473,14 @@ runfiles size=18
RELOC/tex/platex/pxbase/pxjsfenc.def
RELOC/tex/platex/pxbase/upkcat.sty
catalogue-contact-home https://github.com/zr-tex8r/PXbase
-catalogue-ctan /language/japanese/pxbase
+catalogue-ctan /macros/jptex/latex/pxbase
catalogue-license mit
catalogue-topics japanese
catalogue-version 1.3
name pxchfon
category Package
-revision 59449
+revision 64072
shortdesc Japanese font setup for pLaTeX and upLaTeX
relocated 1
longdesc This package enables users to declare in their document which
@@ -259493,10 +259493,10 @@ longdesc for each new font. This package also supports setup for the
longdesc fonts used in the japanese-otf package. System requirements:
longdesc TeX format: LaTeX. TeX engine: pTeX or upTeX. DVIware:
longdesc dvipdfmx. Prerequisite packages: atbegshi.
-containersize 19936
-containerchecksum 816c45ea035ceca853795857e93cf064d94ac0937ad9774b3bf2316f6e6e15e58df64814116a0fca5a1aea3a986e31982f80d365a53447fa86e1e771a4ffa429
+containersize 19940
+containerchecksum e173d15747567b79ff4d2161ddb17196db74211b98abe520dca132012ee648b05b64b18c96c62b3e9ece10cf2d3b2adaa143fbdd4cff492ce3e6102c9586c0e6
doccontainersize 322528
-doccontainerchecksum 72e778b111639ef592d23d5f6c19f109654f26d81794e9af685dff38bd77056e29ace46d2b5e6dd5efc54efc91fd88e43ff2d9b1c28bf075d008994f8480f116
+doccontainerchecksum 08e9557572783c16041aa03a674ac163e56d7017505c0e61436325a451da8e34fb1e22b4fbe06c7805e43e9d706a69f1247693f2fcc6a360ecbaf3c3f9cc33fe
docfiles size=105
RELOC/doc/platex/pxchfon/LICENSE
RELOC/doc/platex/pxchfon/README-ja.md details="Readme" language="ja"
@@ -259599,7 +259599,7 @@ runfiles size=108
RELOC/tex/platex/pxchfon/pxchfon0.def
RELOC/tex/platex/pxchfon/pxjafont.sty
catalogue-contact-repository https://github.com/zr-tex8r/PXchfon
-catalogue-ctan /language/japanese/pxchfon
+catalogue-ctan /macros/jptex/latex/pxchfon
catalogue-license mit
catalogue-topics japanese font-supp
catalogue-version 1.9
@@ -259866,16 +259866,16 @@ catalogue-version 1.0
name pxjahyper
category Package
-revision 63423
+revision 64072
shortdesc Hyperref support for pLaTeX
relocated 1
longdesc This package adjusts the behavior of hyperref on (u)pLaTeX so
longdesc that authors can properly create PDF documents that contain
longdesc document information in Japanese.
containersize 19304
-containerchecksum c0e7e1c9b8d775a94f1e43299b98355aa2495b56669c01e0d172f05d6debb875a347e05a74ef523765ebdb3227634d415cc1d26b06e34f71d20074f13094e0bb
+containerchecksum 1680468c2f94c7cc12de6f4c727604796afb99827bb67b4e995c7fb6560eae209b512272aa9b88a8e58c39808ec297189da10994082f352bcdec507e9d597ee6
doccontainersize 163868
-doccontainerchecksum 9a46efa7bb6239976665db87184416e105cd7522f4ca0b843e16387128d35ea0144add99ddcf182391cd609abda18346e05b7399f3a26a0bf34d6a26cb034ed8
+doccontainerchecksum 130b307e3c6a744c70366f7049e0996a0885399bab661079c5600889717a9b95a9a881c469174787bb6e4eb567eac012ac64a20732856b79d6f7d83bc0258754
docfiles size=48
RELOC/doc/platex/pxjahyper/LICENSE
RELOC/doc/platex/pxjahyper/README-ja.md details="Readme (Japanese)" language="ja"
@@ -259888,14 +259888,14 @@ runfiles size=23
RELOC/tex/platex/pxjahyper/pxjahyper-uni.def
RELOC/tex/platex/pxjahyper/pxjahyper.sty
catalogue-contact-repository https://github.com/zr-tex8r/PXjahyper
-catalogue-ctan /language/japanese/pxjahyper
+catalogue-ctan /macros/jptex/latex/pxjahyper
catalogue-license mit
catalogue-topics japanese hyper
catalogue-version 1.2
name pxjodel
category Package
-revision 55006
+revision 64072
shortdesc Help change metrics of fonts from japanese-otf
relocated 1
longdesc This package changes the setup of the japanese-otf package so
@@ -259912,9 +259912,9 @@ longdesc using japanese-otf. So pxjodel is really about japanese-otf's
longdesc "deluxe" option, hence the name. It is not related to yodel
longdesc singing, although some sense of word-play is intended.
containersize 12536
-containerchecksum dfd7032b250d85c37d983e4b0e8d480bf3a36822a7c9993e423ba2ce7320c1e1305106aa6abc5ad099a667c4821326792b4344d17e6a34f33e02b4612451f9e1
+containerchecksum a44871d5c059df8962a135b6f40c3ab4d5d751bcefa5565e428d4efd8f242f34bdbb142a065e011065a8791a141dcef022d5e6ddd6d22cf78e369413b62f046c
doccontainersize 110152
-doccontainerchecksum e7f8c3ae9e32ac296116743feaf6cca0be3b376b3c34adaa2a90e41f0c4aa329f1330e257e99fbd43025f46e340be48c1d7cb2f1131c7a722a4f7913ddea1a81
+doccontainerchecksum 3a85af8fe9f557ae10468e5aab8c6a19c45cc1f99dbae5a3e66530484074ea91f152177ae3ba54cbff8869178055e53b7282674eb748d82d789e767f16e075e3
docfiles size=31
RELOC/doc/latex/pxjodel/LICENSE
RELOC/doc/latex/pxjodel/README.md details="Readme"
@@ -259979,7 +259979,7 @@ runfiles size=422
RELOC/fonts/vf/public/pxjodel/zu-jodhminr-hq.vf
RELOC/tex/latex/pxjodel/pxjodel.sty
catalogue-contact-repository https://github.com/zr-tex8r/PXjodel
-catalogue-ctan /language/japanese/pxjodel
+catalogue-ctan /macros/jptex/latex/pxjodel
catalogue-license mit
catalogue-topics font-mgmt japanese font-sel font-use font-cjk
catalogue-version 0.3
@@ -260036,7 +260036,7 @@ catalogue-version 1.3
name pxrubrica
category Package
-revision 58168
+revision 64072
shortdesc Ruby annotations according to JIS X 4051
relocated 1
longdesc This package provides a function to add ruby annotations
@@ -260046,14 +260046,14 @@ longdesc for Japanese Text Layout" ([JLREQ]) and the JIS specification
longdesc JIS X 4051. Starting with version 1.3, this package also
longdesc provides a function to add kenten (emphasis marks) to Japanese
longdesc text.
-containersize 13660
-containerchecksum bde5699cc92196e844b052c9116bd081960a34b239bd9fe5271f0866be3c4edf0a8bf8932a99c440dc58db7624c58fc3af4e2d2c0f76230f1248da21ce4410a9
+containersize 13656
+containerchecksum 2a3009d485a3132232194cb380ab1f2a3a2885d8f11e520c3f07d2e019bffa69ca1c954da6af6b3e5c458676d78abca18f617bb3af7c9ba5bd9cdd937fa713bf
doccontainersize 723764
-doccontainerchecksum df0b339e6ea2ac03d47161fe7eb278df31b391fb129f2f763f87e9e27a6b78f8da8172baab154e9b9f3b62e7fed88b400654a7bc47aaf0222a47f4746a48f5a8
+doccontainerchecksum 1cd47c2676ced19827cdef570f2970ac677d2daab027690b58f5c9dfc668f9d248ba0effe9c6ba94ef9728f46a14dbc4a4944b57c4d7346673b0b3325ce2a56a
docfiles size=204
RELOC/doc/platex/pxrubrica/LICENSE
RELOC/doc/platex/pxrubrica/README-ja.md details="Readme" language="ja"
- RELOC/doc/platex/pxrubrica/README.md details="Readme" language="en"
+ RELOC/doc/platex/pxrubrica/README.md details="Readme"
RELOC/doc/platex/pxrubrica/pxrubrica-en.pdf details="Package documentation (English)"
RELOC/doc/platex/pxrubrica/pxrubrica-en.tex
RELOC/doc/platex/pxrubrica/pxrubrica.pdf details="Package documentation (Japanese)" language="ja"
@@ -260066,14 +260066,14 @@ docfiles size=204
RELOC/doc/platex/pxrubrica/sample/test-toc.pdf
RELOC/doc/platex/pxrubrica/sample/test-toc.tex
srccontainersize 38388
-srccontainerchecksum a51ae682aa72fc60d80c4f4ae9489d2cea5957dcb61d5ed09f505cd1023d9d40b89dc594cef7756c24b6a2aa9e11b5c3f53af178d0e885fa94344a8ace00d8f9
+srccontainerchecksum ac4783ce035f520cf9e91a0a530cf850128b4be99e47976eda252189238a14eaff29777f971e5cc497c634f403fb77a567513c60309811979c8f707a44ae77d8
srcfiles size=53
RELOC/source/platex/pxrubrica/pxrubrica.dtx
RELOC/source/platex/pxrubrica/pxrubrica.ins
runfiles size=20
RELOC/tex/platex/pxrubrica/pxrubrica.sty
catalogue-contact-home https://github.com/zr-tex8r/PXrubrica
-catalogue-ctan /language/japanese/pxrubrica
+catalogue-ctan /macros/jptex/latex/pxrubrica
catalogue-license mit
catalogue-topics japanese std-conform
catalogue-version 1.3d
@@ -260152,7 +260152,7 @@ catalogue-version 2
name pxufont
category Package
-revision 53733
+revision 64072
shortdesc Emulate non-Unicode Japanese fonts using Unicode fonts
relocated 1
longdesc The set of the Japanese logical fonts (JFMs) that are used as
@@ -260169,9 +260169,9 @@ longdesc (such as Source Han Serif) that have a glyph encoding different
longdesc from Adobe-Japan1, because mapping setups from non-Unicode JFMs
longdesc to such physical fonts are difficult to prepare.
containersize 126608
-containerchecksum bbbd7c0724e4b9a77ef731a4be2d014086aca61c78a439912ea20a630785fd8695ab9f287e07d0899ead8fe90614a806b0928a8cccfbd1cfb71c94b9b3c1266b
-doccontainersize 2240
-doccontainerchecksum 850e3e336e1bc3f60a89325c66de38ea1171a2ba2f4444382dae12373c509579a5c686887cbab42b147b69a206b4ceb43af83f8d47446c4bca47cade5f9bfaf2
+containerchecksum 3c302158a0d2dd59d8268284dd3df3352ec2fd4bf102d7cad59276dd991fcf190ff7d54646185758ba19f2f38f61d23ab4c44e329c6f4b56651dd3929bd99008
+doccontainersize 2244
+doccontainerchecksum 63f824dbc203379179c57b948c7ff948bc0abb29f0f5c1c8e7d0e575302316b668a72cc9ca848e29687833a9c8b3510eaccf47bf27a3136bd978c8a94928643e
docfiles size=2
RELOC/doc/latex/pxufont/LICENSE
RELOC/doc/latex/pxufont/README.md details="Readme"
@@ -260671,7 +260671,7 @@ runfiles size=14899
RELOC/tex/latex/pxufont/pxufont-ruby.sty
RELOC/tex/latex/pxufont/pxufont.sty
catalogue-contact-repository https://github.com/zr-tex8r/PXufont
-catalogue-ctan /language/japanese/pxufont
+catalogue-ctan /macros/jptex/latex/pxufont
catalogue-license mit
catalogue-topics japanese font-use font-cjk
catalogue-version 0.6
@@ -292005,7 +292005,7 @@ catalogue-version 1.1
name tagpdf
category Package
-revision 63448
+revision 64072
shortdesc Tools for experimenting with tagging using pdfLaTeX and LuaLaTeX
relocated 1
longdesc The package offers tools to experiment with tagging and
@@ -292016,11 +292016,11 @@ longdesc needed; to test what else is needed so that a pdf works e.g.
longdesc with a screen reader. Its goal is to get a feeling for what has
longdesc to be done, which kernel changes are needed, how packages
longdesc should be adapted.
-containersize 27284
-containerchecksum a7717e63cd373ee0085574b689f2950457ee4e37b85dfacee0aecba3ca58946e33669ee78855051f76b4493b32f9022b2e0ab2d7780d1138a9190243ce10b7cf
-doccontainersize 1900292
-doccontainerchecksum f15869b48a732eb9b0ac07b24f593950e11ccb550a4bbc3eca257b68d7c80284d8585ccf0a2c47269dee39811bbdbcfab880b3d50bda2ae6fd8fa69ddf282fbb
-docfiles size=542
+containersize 27992
+containerchecksum ff26d6c17623291d1a5032a986170a96ab29ca54c0cefc23e3a50f80a01219115fc0d9e23353e0cf514cbb444500d6b22262a7b8ad0bb1d1150e251d0a8adff0
+doccontainersize 1935532
+doccontainerchecksum cda1cd28a8784cff67920be0a25ca1d0fd445d991f770ae341ea750b2250cef1ba2d5164d942a8db247af6003ed72eefeb0cbf264858eb63e4736d97db3ebafb
+docfiles size=550
RELOC/doc/latex/tagpdf/README.md details="Readme"
RELOC/doc/latex/tagpdf/ex-AF-file.pdf
RELOC/doc/latex/tagpdf/ex-AF-file.tex
@@ -292054,9 +292054,9 @@ docfiles size=542
RELOC/doc/latex/tagpdf/tagpdf.bib
RELOC/doc/latex/tagpdf/tagpdf.pdf details="Package documentation"
RELOC/doc/latex/tagpdf/tagpdf.tex
-srccontainersize 49904
-srccontainerchecksum 931062cce7cf71d02aa20c278c47adbbc800624d96ab1d3d932e85a3fdbfa307a7c63b677d93e64c8454ced6b2516ba63e9b07e695bdc8053bc2b772a04ad338
-srcfiles size=68
+srccontainersize 51432
+srccontainerchecksum 6d4c8bd5096d578f1ac1a6f55c6173d9f5cdb300f993bcf0b0cf0d01d11832bd94f521dd3efb1f8f1abf1e2db7feda7b8995af0c96683773303ad3298a388db5
+srcfiles size=70
RELOC/source/latex/tagpdf/tagpdf-backend.dtx
RELOC/source/latex/tagpdf/tagpdf-checks.dtx
RELOC/source/latex/tagpdf/tagpdf-mc-generic.dtx
@@ -292069,7 +292069,7 @@ srcfiles size=68
RELOC/source/latex/tagpdf/tagpdf-user.dtx
RELOC/source/latex/tagpdf/tagpdf.dtx
RELOC/source/latex/tagpdf/tagpdf.ins
-runfiles size=41
+runfiles size=42
RELOC/tex/latex/tagpdf/tagpdf-base.sty
RELOC/tex/latex/tagpdf/tagpdf-debug-generic.sty
RELOC/tex/latex/tagpdf/tagpdf-debug-lua.sty
@@ -292085,7 +292085,7 @@ catalogue-contact-support https://github.com/u-fischer/tagpdf/issues
catalogue-ctan /macros/latex/contrib/tagpdf
catalogue-license lppl1.3c
catalogue-topics tagged-pdf accessible expl3
-catalogue-version 0.95
+catalogue-version 0.96
name talk
category Package
@@ -295624,7 +295624,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 63983
+revision 64068
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
@@ -295645,10 +295645,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 952332
-containerchecksum 219fa30a051c1d10208e85e85f7d32161355961d96bad8c35b0ca6aa93a62709404a2e21aae9bd5e8f07dd73d0e25730f355b4f3fe0ec79e0d6711e51a51fc39
+containersize 952380
+containerchecksum 691c54e97ba551d90920edaf7fd31fb5ab99bc2307eb67cc128bec194b53889bb0871cb301ccaf0fba54f871f98f50136be189fcf6ea9a68c9b952f870587653
doccontainersize 136384
-doccontainerchecksum 9031091e6697d023524c44c6cca17709db4fcdcd745ed485fae02da40d0bafbe445687348b95fc6400aab9afa2c1c6ea63655922fa9abf66ffc2ef90d8051503
+doccontainerchecksum 47eacfa88200210783e84dc862117f01464c89a513ae2be84ff37a8f467ab5b22800fcb97a81f6f3a8d4857bf9fa8582de18e9df79f50a2158d8009cf589226e
docfiles size=260
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/README details="Readme"
@@ -295720,8 +295720,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 1274008
-srccontainerchecksum 829a1e1627ecc026cedac55f711e7fae58e83700d5c7422612614a334f47358f16889ca4476efe98bedd3f225749dd5f2128dff741131a967025ea1d0e8a0d53
+srccontainersize 1268280
+srccontainerchecksum d8118fa340d9268e53cdfc3e1ef493fe8fc7b6a1fd8a9bdf11ff685aeb6f526502dff3e20fd9b65ca2174b6e98d344c863be4d54dbf79f29a9fbe4b3ecc51813
srcfiles size=3866
texmf-dist/source/generic/tex4ht/ChangeLog
texmf-dist/source/generic/tex4ht/Makefile
@@ -312594,7 +312594,7 @@ catalogue-version 1.2
name tikz-relay
category Package
-revision 51355
+revision 64072
shortdesc TikZ library for typesetting electrical diagrams
relocated 1
longdesc This package contains a collection of symbols for typesetting
@@ -312605,11 +312605,11 @@ longdesc perhaps the exception of the USA. It extends and modifies, when
longdesc needed, the TikZ-libray circuits.ee.IEC. A few non-standard
longdesc symbols are also included mainly to be used in presentations,
longdesc particularly with the beamer package.
-containersize 6108
-containerchecksum ff171ed2c1b494ecbf012f1401fd0f2d0fc56a388383e482cf50ca7f591af93b2e6da74c237ac4a17fa214a489650670ef8560d826c7674086dbde6d541ffce4
-doccontainersize 484156
-doccontainerchecksum 1e81af1e171e7bf353617b1fee7f456b1e263ad911a842c154ec813c38fbab694f46b134c213810ca8de106854cc05d40bf8dbb1376c055d4d92c4f87e4e779d
-docfiles size=209
+containersize 6280
+containerchecksum ac75431dfeae69fed707b99a42ecf64972436b22863e77586125fd6cde18e8e4d8bbdeaff839edc65aaedacbfd1c1e0ce776bde792b7613f810e7ac1f9102132
+doccontainersize 624812
+doccontainerchecksum 1194309c0892e7c35263389e96ec58121e9a82e887c4c702c69b381b75fd5f4f21df6c33440a746db6a944963d9a22a05b23e53f7c818901591499dddffa0087
+docfiles size=247
RELOC/doc/latex/tikz-relay/BeamerAnimation.pdf details="Further documentation"
RELOC/doc/latex/tikz-relay/BeamerAnimation.tex
RELOC/doc/latex/tikz-relay/README.txt details="Readme"
@@ -312620,7 +312620,7 @@ runfiles size=14
catalogue-ctan /graphics/pgf/contrib/tikz-relay
catalogue-license lppl1
catalogue-topics pgf-tikz diagram diagram-circ engineering physics
-catalogue-version 1.2
+catalogue-version 1.3
name tikz-sfc
category Package
@@ -330088,7 +330088,7 @@ catalogue-topics barcode
name uplatex
category Package
-revision 62387
+revision 64072
shortdesc pLaTeX2e and miscellaneous macros for upTeX
longdesc The bundle provides pLaTeX2e macros for upTeX by Takuji Tanaka.
longdesc This is a community edition syncing with platex. The bundle
@@ -330115,10 +330115,10 @@ depend uptex
depend uptex-fonts
execute AddFormat name=uplatex engine=euptex options="*uplatex.ini" patterns=language.dat fmttriggers=atbegshi,atveryend,babel,cm,everyshi,firstaid,hyphen-base,l3backend,l3kernel,l3packages,latex,latex-fonts,tex-ini-files,unicode-data,uptex-fonts,platex,latex
execute AddFormat name=uplatex-dev engine=euptex options="*uplatex.ini" patterns=language.dat fmttriggers=atbegshi,atveryend,babel,cm,everyshi,firstaid,hyphen-base,l3backend,l3kernel,l3packages,latex,latex-fonts,tex-ini-files,unicode-data,uptex-fonts,platex,l3kernel,latex-base-dev,latex-firstaid-dev
-containersize 14832
-containerchecksum dc897002842942c37de2cd518190962199ab37cf07fcdf96906e88bf649d33524bc4ebcc3137a17931098f4196110a017c54676d3bb12eb5355284b3228495f9
-doccontainersize 777384
-doccontainerchecksum 7a66eca2b04deea9af77b2663b423b928c25e4b3074ed01e7aa3305f1116c9c1d906c214588ede8b4310c7ded23fbd6a7a63ad070bf3e627d9a2b3bd23162b00
+containersize 14836
+containerchecksum 4e4e276dd0039c761931ead47441c7da7d78c3d179c8cfdd80576c00fd3e8ad2565961e7ceb4fc0e26bee9fb2fbde821d259feeaa7f84e4fbce0e56f03df4761
+doccontainersize 777388
+doccontainerchecksum d6fc729c0545801a6d55824ecf263ca23c31aa479b9201eb882003f4c45e1bab346426d5ba8c07754c4ded4cce7d1cba7eb654a855a406306a6ce25951319a87
docfiles size=201
texmf-dist/doc/man/man1/uplatex.1
texmf-dist/doc/man/man1/uplatex.man1.pdf
@@ -330128,8 +330128,8 @@ docfiles size=201
texmf-dist/doc/uplatex/base/uplatex-en.pdf details="Package documentation"
texmf-dist/doc/uplatex/base/uplatex.pdf details="Package documentation" language="ja"
texmf-dist/doc/uplatex/base/upldoc.pdf
-srccontainersize 50744
-srccontainerchecksum 133feb460de826027e8b24d2600dd3a45ee03a7c2c8adef89bc468c4881b6df007e9cda3f057143129dd6e6a4d3c915b138fc9938c7a7c7e0888ef4330c80990
+srccontainersize 50748
+srccontainerchecksum a8af2f89bcffca6e58e12b967c2f561a19ff5793c713490e0c5526760c119cd830fc6db28a0f03ac95bb315d2a8c857f502e1447b054e6c0e444bdba19d250b1
srcfiles size=73
texmf-dist/source/uplatex/base/Makefile
texmf-dist/source/uplatex/base/ujclasses.dtx
@@ -330170,7 +330170,7 @@ runfiles size=94
texmf-dist/tex/uplatex/base/utsize12.clo
texmf-dist/tex/uplatex/config/uplatex.ini
catalogue-contact-repository https://github.com/texjporg/uplatex
-catalogue-ctan /language/japanese/uplatex
+catalogue-ctan /macros/jptex/latex/uplatex
catalogue-license bsd3
catalogue-topics format class japanese
@@ -330563,15 +330563,15 @@ catalogue-topics engine japanese chinese korean multilingual
name uptex-base
category Package
-revision 61795
+revision 64072
shortdesc Plain TeX formats and documents for upTeX
relocated 1
longdesc The bundle contains plain TeX format files and documents for
longdesc upTeX and and e-upTeX.
containersize 9800
-containerchecksum 8003f3ccb6d2c7de511ebd417f080868b5dec4b72ca613e4d4619b17127d6f0072ef83331ec0d021c7f8fedeaebaa1a9c95153e12571e14336a49cf9004f481e
+containerchecksum b30f83c1d888d30593dcd28946301f5fd56e8045610e83538c1945b812824ace7909e84f433e163194b65899b597ee81bf3995a53ba6d3deb95be781c38015ac
doccontainersize 159756
-doccontainerchecksum 783b2e886ffc1609fe885b2592334b517219b6b5263e75f7d440a013a1b59fa489e32de0c17b5ef342a95893199de961bb0b7725323b9cb3eb3a22a1c92f4196
+doccontainerchecksum 69db0c951a7976cc4986484f02f0047ac5c76b752d529084d91881338d763fc2f42b7f6c48b65ae66c04c3ea213372ba52c9ed490424e3bab00f699c91cc420d
docfiles size=194
RELOC/doc/uptex/uptex-base/00readme_uptex.txt
RELOC/doc/uptex/uptex-base/01uptex_doc_utf8.txt
@@ -330661,7 +330661,7 @@ runfiles size=13
RELOC/tex/uptex/uptex-base/uptex.ini
RELOC/tex/uptex/uptex-base/uptex.tex
catalogue-contact-repository https://github.com/texjporg/uptex-base
-catalogue-ctan /language/japanese/uptex-base
+catalogue-ctan /macros/jptex/generic/uptex-base
catalogue-license bsd3
catalogue-topics format japanese
@@ -331575,7 +331575,7 @@ catalogue-version 1.0
name ut-thesis
category Package
-revision 63967
+revision 64072
shortdesc University of Toronto thesis style
relocated 1
longdesc This LaTeX document class implements the formatting
@@ -331584,14 +331584,14 @@ longdesc Studies (SGS), as of Fall 2020 (
longdesc https://www.sgs.utoronto.ca/academic-progress/program-completio
longdesc n/formatting). For example usage, see the GitHub repository.
containersize 2632
-containerchecksum 73d2e2eebf989c5c3273dd40c559bd3de157c8f073616c252608dda0e9d15bd63135cc98e3282849b16db47fec549d0e970456303b2f5e582d10d9f9132f139d
+containerchecksum e2f77909ac544f17519f0d236ddb90e8ce665b182087b32417e8d57254fa34dc02e2b9b7b815f6402e308a62963a85c265043e315e945b403666300daf8efec2
doccontainersize 138448
-doccontainerchecksum 147e4db88befb5f3a2fc7e8caa120aad53ac15aa7374066a2f132e8f441e7bb071c8f91464a6baae1bd0d5dbc5a44b35f313b38723efba52074efcb94b62abcc
+doccontainerchecksum 09f4bab7ae72f16fc29aa43f34f012aa2a677b0518517bd238c860ba743c89ea2ed8cd2aa556261b6a7620216889a479045a38979f0cd4037fd9b8d730c4457c
docfiles size=36
RELOC/doc/latex/ut-thesis/README details="Readme"
RELOC/doc/latex/ut-thesis/ut-thesis.pdf details="Package documentation"
srccontainersize 6716
-srccontainerchecksum 7b6fde6650ae58b1f2e6edcc837999b04588f1a62d2bd2a91a3df19e1abda4c0207b383626dba3eba4aef55b04bf8b3360c97cf31bdb3d55da76f007433374b0
+srccontainerchecksum e0ee3d9ab5d5aaf0ce8ca12d731306a2f33f4bf4834175206cb8dc21f84cd3b850a16da41210f5c07290b240deb13c5b89c3cbf67f183550b800a2198cc7417a
srcfiles size=6
RELOC/source/latex/ut-thesis/ut-thesis.dtx
RELOC/source/latex/ut-thesis/ut-thesis.ins
@@ -333505,7 +333505,7 @@ catalogue-version 1.0.0
name uwa-letterhead
category Package
-revision 63967
+revision 64072
shortdesc The letterhead of the University of Western Australia
relocated 1
longdesc This package generates the letterhead of the University of
@@ -333515,15 +333515,15 @@ longdesc https://static-listing.weboffice.uwa.edu.au/visualid/core-rebra
longdesc nd/img/uwacrest/, and uses the Arial and UWA Slab fonts by
longdesc default. The package works with XeLaTeX and LuaLaTeX.
containersize 3348
-containerchecksum f7903c0e0719b966b7d0e56c441c254c5ac909239368d4897de142c742db7145ebe33aedbdd48b3afc4c025fe00d8145878feef42c158988d8353048fd351039
+containerchecksum 60320aada3f04ae1878854c0aec237102d33bb16a1af7f68ee9e9d0094a844ecaa45dc3c5dc8a3dfa286580c0d14bcffc3f6202861a845b1d34f9f5f1986c2c9
doccontainersize 57656
-doccontainerchecksum 5e80aff8cbdd13d2535aa00b37f0532b34be58aef5df8d8493af1cd0f181921db4a69dde7479939391cab2948bcfa90d8d821c3400eaa0291913fea21b14e984
+doccontainerchecksum ddb7d1e55161a89a163004e4085bec41a2ba85a568540f22bc11f7e6393829f0ca04a3afdd4487c55312b99456b97e3415ced7c39a596eec4192e5ce76f6e4d1
docfiles size=17
RELOC/doc/latex/uwa-letterhead/README details="Readme"
RELOC/doc/latex/uwa-letterhead/uwa-letterhead-example.tex
RELOC/doc/latex/uwa-letterhead/uwa-letterhead.pdf details="Package documentation"
srccontainersize 6568
-srccontainerchecksum 93a81171f9679f57558895dd67448a5fac8abcb11d235014c736c55f6de3442c632577aff16775d096780bd32dd3cef5b1f0be58e071c2528853f0165ffc5f65
+srccontainerchecksum f461a2baadae42c89ea4c298e9ec751431d1d9b342d13a301972e670e6bd899b5982af8678c76154db2187561d196e5f3403718ab4e7fcdde5575968f1031497
srcfiles size=8
RELOC/source/latex/uwa-letterhead/uwa-letterhead.dtx
RELOC/source/latex/uwa-letterhead/uwa-letterhead.ins
@@ -333536,7 +333536,7 @@ catalogue-version 1.0.1
name uwa-pcf
category Package
-revision 63967
+revision 64072
shortdesc A Participant Consent Form (PCF) for a human research protocol at the University of Western Australia
relocated 1
longdesc This LaTeX class generates a Participant Consent Form (PCF) for
@@ -333548,15 +333548,15 @@ longdesc nd/img/uwacrest/, and uses the Arial and UWA Slab fonts by
longdesc default. The class works with XeLaTeX and LuaLaTeX. It depends
longdesc on the uwa-letterhead package.
containersize 2924
-containerchecksum e020d67b7c85d30190088f26cb5abb4e38ceebe4e40c7529e7bbe7eb5d63293c3ca50b6909bfc84b5bc12c17a9589e87b8a620810bd9fc64febd601caa8c9e22
+containerchecksum 35edc4c15ca57d2adae35a0d3a01cb697e958edd8d77749ad5fb9fc918d2c917fe98c2c98e9debeaa90bdc15cf9a4996f1eff22577deb62f68c28f388985891a
doccontainersize 52740
-doccontainerchecksum 3408078c60872b4734691353d1a75bab329778b8c9a0e8dbc413b66da731fd3effb03bc6a3d010d7fa0f6125b617909d661ad1bfa0f48a9a11c7020efc7cf05d
+doccontainerchecksum 48a66ff7fa40ad6d48366d5750ba2e82f0f9e6816ef7fea53a639587d04ed7b11f22e28cc26b7e09e2ef48ab534c672e48d1c814f83623bac33b56156fd71814
docfiles size=15
RELOC/doc/latex/uwa-pcf/README details="Readme"
RELOC/doc/latex/uwa-pcf/uwa-pcf-example.tex
RELOC/doc/latex/uwa-pcf/uwa-pcf.pdf details="Package documentation"
-srccontainersize 6060
-srccontainerchecksum 52f179262dbd7d36193f24a1a7381fe80c158a00cf39dc5ee10ba35b470db6694497568b4ea4f33c44cbc9edc6faaf84a14224a5360651cde264f60dfd608b32
+srccontainersize 6064
+srccontainerchecksum c36a035d38b0d6a0f30ec6c0960f6d2593ae8dff73eb3175bdeb331778f076bd64784feed2ab8908229c48b7a2784cfbe5fdfcc5c22a870814da9e42a78afe50
srcfiles size=7
RELOC/source/latex/uwa-pcf/uwa-pcf.dtx
RELOC/source/latex/uwa-pcf/uwa-pcf.ins
@@ -333569,7 +333569,7 @@ catalogue-version 1.0.1
name uwa-pif
category Package
-revision 63967
+revision 64072
shortdesc A Participant Information Form (PIF) for a human research protocol at the University of Western Australia
relocated 1
longdesc This package generates a Participant Information Form (PIF) for
@@ -333581,15 +333581,15 @@ longdesc nd/img/uwacrest/, and uses the Calibri fonts by default. The
longdesc class works with XeLaTeX and LuaLaTeX. It depends on the
longdesc uwa-letterhead package.
containersize 2592
-containerchecksum a6eca9983b4426389f5ec76776b70ce458fa9d33d121acda575e24070ed9bc82211c4fe7f1d096e91cc1524c5271103b79660f37c35fb1d642f57d31d42b3755
+containerchecksum 7100d083acb43a832b3b30c731f73ef3ebd2866379c979934e7f4ee5e676666057f9dd68db9b4cb16fa79d262c3b4c27d44d0795c09cbd33dadf783423866caa
doccontainersize 50500
-doccontainerchecksum abfc437ba06d54729bd6365bd72ce761a60a2264c1cbf54b4a072f9bdcf55d796ddfdb5622ab858be5e0e0a73249c794c3e31e6b6ff5cd0243404a434c76faa7
+doccontainerchecksum dd1fef706a45aedd6b44fd3b60d26c99f4ac313ef27197130cfaeb646310c5095c1e06e5329d8d407edca47f45d01ee2559b772cfe25e407e7a536304c70f362
docfiles size=15
RELOC/doc/latex/uwa-pif/README details="Readme"
RELOC/doc/latex/uwa-pif/uwa-pif-example.tex
RELOC/doc/latex/uwa-pif/uwa-pif.pdf details="Package documentation"
srccontainersize 5696
-srccontainerchecksum dadd3c517157035a35b6edf30ebbd1d0b78b394832bca7877e0972bf00093008c2c04560ed573fee459d01dada72424d392c279894ef73714e5d7cd08bef9ae8
+srccontainerchecksum 029ee0f38267c60f07cf7b573419236f0d045d2f60d99fba629cca410f254848bef61a169cdffb93db31c9e52eb0d7c0645b837b2e8b4d39a4d6eca1358e0029
srcfiles size=6
RELOC/source/latex/uwa-pif/uwa-pif.dtx
RELOC/source/latex/uwa-pif/uwa-pif.ins
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 61d31a013a..5fc19b1fb8 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-1bffee104202b75935c9eea76bd8c7ab texlive.tlpdb
+dcef32af8960eb50a0eebeadb3970339 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 4f097ebc1c..a13a0c437f 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-317c39b395831838129538427f0f27205b9274dcabe0119c70e780a6f66d1e404594f9aeb86a5087b3781b3b2a326dee0a4620b467a15b573c20b654dc4c64f1 texlive.tlpdb
+b461aef798b8a95bc61a21e1d71c9feb0b43c3a6fa42ac3fd6205b3c4ce71b77e1aceeb7ba48c7ae253c2351e118db1430f286c4663b13544331cdcaa936ab59 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index b790aa94d0..21393cc002 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-----
-iQEcBAEBCgAGBQJi7v8HAAoJEEzhh34ZQ4xwL78IALhNn6eeBx8SX2ZetpyEysmA
-gd7KWSixo/9S0QMe8arvBEpiuJ+UTg7sftzPIERsoQ3rRGDc6DsMpLD+tvj9B95t
-hB/o86gvFIE5g2ApoPL0ZVQBt262GflkVvE0USVn1niUGL1iG9e/HBNneNuzQ3sV
-jI/TgSrTCecgYr2q7chn1QQG/aK/+0y2Ne49JTq/wSVouIfaK/X/bu1+D3YdVZA7
-tLKoXJAxTGdha4SMIxJtxezyJ/QWLp8PMl+9T/5a6q75jFVR6DKZeVv91j0HweFf
-0WatKG4C1bLy3UVoxBQMXEKdMQruFkep3uVpE4qDEwgesnosV7ma5S2scPX3TAM=
-=C3m0
+iQEcBAEBCgAGBQJi8FDoAAoJEEzhh34ZQ4xw0GAH/0JaAo2dOPwTaMKeg3Ol4GbI
+13Vnq4Ylq8g8WGQD1v5lELYoVRO+3UvqEYO2f9HOBzpCs7XxFlqVctkQtUpn1gRi
+dlz7wII8BV2b4dK+VrfuFkfvcYP3r9EmT4xLmfEKjtuye3L08MrvsHVkWwqrFaSu
+4eEPnaTejpfh1sUTBQwro1Rfq4NISCvazBsges8yom+Ex8V4e0gnM8ft0RjmoB4o
+3a7pR0Zuz0N2ZE13ZWjZmc9mUAl6O3/4BeXgX85kl38QF7eR8SzVitYCkgBmwIK1
+n62+XiTteir/KD3sYhi8ufEk7jZJtBpSn2jIicZ2fWKJMZrHgxkmw523+AjHSxs=
+=Pr1b
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 435b7c14ac..6d6e2dd20d 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 99a41ebc9e..7a038a364f 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=1659817087
+date=1659903476
lastupd=miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-x64-2.9 miktex-cjkutils-bin-x64-2.9 miktex-console-bin-x64-2.9 miktex-curl-bin-x64-2.9 miktex-cweb-bin-x64-2.9 miktex-devnag-bin-x64-2.9 miktex-doc miktex-dvicopy-bin-x64-2.9 miktex-dvipdfmx-bin-x64-2.9 miktex-dvipng-bin-x64-2.9 miktex-dvips-bin-x64-2.9
-lstdigest=0949872bd1fa031152cbe842d4937a4b
+lstdigest=bd01dd7395f4ddd5987f623e19d69fe2
numpkg=5848
relstate=next
-version=8253
+version=8254
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: WtZqyGy70Jg74GBZJk6xwNnxO3bUq8u4mVHyaSonuISzxszAlXcbTsw8WshvVthNxhNd9yjHwRNcmdcX8A7LXSw+YQtamr1yscv4Pu48phK+deTtkHVHcWtSiFb/BJI0/ny7dKop0uPC79MDJbLS4tRgOFPpaUyJD8eto1FjLRCtIP9sb2trfE7m4Z2MWr/mQlzuErQAzUafGsYn0G+nUFJK/BgX1vuLZJuT21cbF40jlPdx/uKRsdkXrtvbVnLauTm09ggU0tR3GK+xlTaJKFRe3vuJp/bJh9G5s0H5IKYFARsXLqd2rUcEnI0jAbhiXA+vmsAh7TzOxr5uNiLEIQ==
+;;;; signature/miktex: NF9Vb4hlDbUNYJ0RFHgxhtdNIWqCEDjvrA0uy0ORPEQqFE8og2Q5GHvI/1mdXdhpsPglTAEEQW8UPrmhb07Y3RVV+Wnf/LRIw317azeFI2U9eLstjJmQ1IQZWFdPzJ41KcazZrecPGeMl3JlbFTlZQWq3+pq4rngHrMLlt7aKelGo09hlb9xLJohzsgDOqehU0vN1aLwqu4r1A0ILn6cEHsqVZs/OE8vpOClUR/jh3YTIhdQ/p7zMS2Ahs7yoNt0Dd9d2j3sIzJ1r2EaXl/Lj/ZKPHSAH6bLzVcjCAARkL2kk2yxIsufyfJtqJH1AN0/6wQilSayNKEr0zQCTE1zWA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index b236b890e3..b32c0f5e03 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1659816721
+date=1659903113
lastupd=wrapstuff wrapstuff__doc wrapstuff__source miktex-dvips-bin-x64-2.9 miktex-runtime-bin-x64-2.9 miktex-ucrt-bin miktex-vc140-bin apa7 apa7__doc apa7__source buctthesis buctthesis__doc buctthesis__source csassignments csassignments__doc csassignments__source exam-zh exam-zh__doc exam-zh__source fixdif
-lstdigest=706ecff1849c6ee5d116e0f368904349
+lstdigest=9a4bfd0f637c866beca40a6fafd5cabd
numpkg=5848
relstate=stable
-version=8253
+version=8254
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: d2yK5L4M0VQlkHUhyc+rKTRgizBK+5d7z5pMt2wIWKzVgyBNk2ldryG/UEw3AcgDNVu0nLv6SC/Qkm+S666Afeg+tUFLjZXh8JCdnpMIWa9cBss68u//+wYqg/9sRGQ4QG/7scLHjUICldwfWZve5vCeVsSwOrYjlR+HW18Hl28jrNuUluo/asUyigPD3hnCfge5+RuGAfa8extlIKWBqEK32HH3bMLY7sPGN3iPX6grKf/b0yNfHIWm5O6gisoYnlvln2X+oO4ea/YbqrweXn8c2OeQIReFFj8OqA1vL66RG9OMXHHjAxiN/bsGZdIh9WtdZwu4CV13mm0c84MEYw==
+;;;; signature/miktex: L0QnHBClCAUkyDSngUuW8sA/08yXIJAWvfkbRJa7iDYNy53I9tTsKRdcLjOL+za9iIDLwkgHRNjaag7UZRURUHJj2/uKd0wF8ly5AmNge+KUYToqCvOKi522EeQHrbdx8kGLNHLhTZqGWWp7SKUcixjcgbTfmoZwBI5Hdmwv+hRh1p5xYuaNzQMotq3BV6gs0ESvkVo5R+X0AIiKj/jprfkAc9+FmvcHs2qVopLEcLxj2ozTGxHCgB8r4ZAUaF+j+o9L8YBW91M/NGLTaXa5xbPzRbOte75kx//cKtfxn+1QMn6EaQI67mhukALpMKbm3vsgyHpIpxDgqOzqrOegYg==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 00e4ef0a7b..e1409bea07 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:
-2022-08-07-02-02
+2022-08-08-02-02
diff --git a/usergrps/usergrps/bg.html b/usergrps/usergrps/bg.html
index 998ea90c59..da5abfe7e6 100644
--- a/usergrps/usergrps/bg.html
+++ b/usergrps/usergrps/bg.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -242,6 +243,7 @@ Bulgaria
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -302,7 +304,7 @@ Bulgaria
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:07 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/br.html b/usergrps/usergrps/br.html
index 326e288ce7..059109be81 100644
--- a/usergrps/usergrps/br.html
+++ b/usergrps/usergrps/br.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -234,6 +235,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -294,7 +296,7 @@
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:07 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/cn.html b/usergrps/usergrps/cn.html
index 5f677179f4..c75d333cc5 100644
--- a/usergrps/usergrps/cn.html
+++ b/usergrps/usergrps/cn.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -248,6 +249,7 @@ China
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -308,7 +310,7 @@ China
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:07 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/cz.html b/usergrps/usergrps/cz.html
index fe44c5fc7a..fc4db3af60 100644
--- a/usergrps/usergrps/cz.html
+++ b/usergrps/usergrps/cz.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -244,6 +245,7 @@ Czech Republic
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -304,7 +306,7 @@ Czech Republic
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:07 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/de.html b/usergrps/usergrps/de.html
index cda0df0bfa..ba4271abef 100644
--- a/usergrps/usergrps/de.html
+++ b/usergrps/usergrps/de.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -247,6 +248,7 @@ Germany
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -307,7 +309,7 @@ Germany
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/dk.html b/usergrps/usergrps/dk.html
index 9ad2da994e..ea5cd0d56d 100644
--- a/usergrps/usergrps/dk.html
+++ b/usergrps/usergrps/dk.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -234,6 +235,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -294,7 +296,7 @@
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/ee.html b/usergrps/usergrps/ee.html
index 22478c10dc..070447fd82 100644
--- a/usergrps/usergrps/ee.html
+++ b/usergrps/usergrps/ee.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -236,6 +237,7 @@ EE 2444 Estonia
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -296,7 +298,7 @@ EE 2444 Estonia
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/es.html b/usergrps/usergrps/es.html
index d91cf02470..51899c03b1 100644
--- a/usergrps/usergrps/es.html
+++ b/usergrps/usergrps/es.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -236,6 +237,7 @@ Spain
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -296,7 +298,7 @@ Spain
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/esc.html b/usergrps/usergrps/esc.html
index 3d60e79b87..98da75e6c0 100644
--- a/usergrps/usergrps/esc.html
+++ b/usergrps/usergrps/esc.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -237,6 +238,7 @@ Spain
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -297,7 +299,7 @@ Spain
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/fr.html b/usergrps/usergrps/fr.html
index 09a3946734..ec17955571 100644
--- a/usergrps/usergrps/fr.html
+++ b/usergrps/usergrps/fr.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -237,6 +238,7 @@ FRANCE
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -297,7 +299,7 @@ FRANCE
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/gr.html b/usergrps/usergrps/gr.html
index d3978b4b47..758a485b35 100644
--- a/usergrps/usergrps/gr.html
+++ b/usergrps/usergrps/gr.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -236,6 +237,7 @@ Greece
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -296,7 +298,7 @@ Greece
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/hu.html b/usergrps/usergrps/hu.html
index 474180efef..458e9a6af2 100644
--- a/usergrps/usergrps/hu.html
+++ b/usergrps/usergrps/hu.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -250,6 +251,7 @@ Hungary
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -310,7 +312,7 @@ Hungary
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/ie.html b/usergrps/usergrps/ie.html
index a0af4c516f..1a8fcb0172 100644
--- a/usergrps/usergrps/ie.html
+++ b/usergrps/usergrps/ie.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -236,6 +237,7 @@ Ireland
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -296,7 +298,7 @@ Ireland
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/index.html b/usergrps/usergrps/index.html
index cbec341d45..34dd022aa7 100644
--- a/usergrps/usergrps/index.html
+++ b/usergrps/usergrps/index.html
@@ -57,6 +57,7 @@
<tr><td>no<td><a href="no.html">Norway</a>
<tr><td>pl<td><a href="pl.html">Poland</a>
<tr><td>pt<td><a href="pt.html">Portugal</a>
+<tr><td>tw<td><a href="tw.html">Taiwan</a>
<tr><td>us<td><a href="us.html">TeX Users Group (International)</a>
<tr><td>uy<td><a href="uy.html">Uruguay</a>
<tr><td>vn<td><a href="vn.html">Vietnam</a>
@@ -168,7 +169,7 @@ the cell.
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/is.html b/usergrps/usergrps/is.html
index a697c46f00..8386a1847b 100644
--- a/usergrps/usergrps/is.html
+++ b/usergrps/usergrps/is.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -236,6 +237,7 @@ Iceland
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -296,7 +298,7 @@ Iceland
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/it.html b/usergrps/usergrps/it.html
index 284591258a..7a448481de 100644
--- a/usergrps/usergrps/it.html
+++ b/usergrps/usergrps/it.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -237,6 +238,7 @@ Via Claudio 21
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -297,7 +299,7 @@ Via Claudio 21
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/kh.html b/usergrps/usergrps/kh.html
index d64a7f2025..b8545fc818 100644
--- a/usergrps/usergrps/kh.html
+++ b/usergrps/usergrps/kh.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -236,6 +237,7 @@ Cambodia
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -296,7 +298,7 @@ Cambodia
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/kr.html b/usergrps/usergrps/kr.html
index f6eaf7db7f..f3e2df1993 100644
--- a/usergrps/usergrps/kr.html
+++ b/usergrps/usergrps/kr.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -248,6 +249,7 @@ Republic of Korea
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -308,7 +310,7 @@ Republic of Korea
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/labels.pdf b/usergrps/usergrps/labels.pdf
index f7e78fb408..b3e1005e9d 100644
--- a/usergrps/usergrps/labels.pdf
+++ b/usergrps/usergrps/labels.pdf
Binary files differ
diff --git a/usergrps/usergrps/lt.html b/usergrps/usergrps/lt.html
index 1ea786c823..124e44e878 100644
--- a/usergrps/usergrps/lt.html
+++ b/usergrps/usergrps/lt.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -236,6 +237,7 @@ Lithuania
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -296,7 +298,7 @@ Lithuania
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/lugs.html b/usergrps/usergrps/lugs.html
index 4d9f9e47ee..8809de777e 100644
--- a/usergrps/usergrps/lugs.html
+++ b/usergrps/usergrps/lugs.html
@@ -80,6 +80,7 @@ correction forms:
<a href="https://www.ntg.nl/lug/no.html">no</a>
<a href="https://www.ntg.nl/lug/pl.html">pl</a>
<a href="https://www.ntg.nl/lug/pt.html">pt</a>
+<a href="https://www.ntg.nl/lug/tw.html">tw</a>
<a href="https://www.ntg.nl/lug/us.html">us</a>
<a href="https://www.ntg.nl/lug/uy.html">uy</a>
<a href="https://www.ntg.nl/lug/vn.html">vn</a>
@@ -449,6 +450,15 @@ in this document.
<tr><td class="tr" >address: <td>Coimbra Univ., Dep. Matemática<br/>Largo D. Dinis<br/>Apartado 3008<br/>3001-454 COIMBRA<br/>Portugal
<tr><td class="r">email: <td>pedro@mat.uc.pt
<tr><td class="r">phone: <td>+351239791181
+<tr><th class="kop"><img src="images/tw.png" width="48" alt="flag"><th class="kop" id="tw">tw - Taiwan
+<tr><td class="r">short name: <td>TWTUG
+<tr><td class="r">full name: <td>Taiwan TeX Users Group
+<tr><td class="r">language: <td>zh
+<tr><td class="r">members: <td>100
+<tr><td class="r">email: <td>contact@twtug.org
+<tr><td class="r">web site: <td><a href="http://textw.github.io/">textw.github.io/</a>
+<tr><td class="r">name: <td>Sean Peng
+<tr><td class="r">email: <td>hsinspeng@gmail.com
<tr><th class="kop"><img src="images/us.png" width="48" alt="flag"><th class="kop" id="us">us - TeX Users Group (International)
<tr><td class="r">short name: <td>TUG
<tr><td class="r">full name: <td>TeX Users Group
@@ -555,7 +565,7 @@ in this document.
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/lugs.pdf b/usergrps/usergrps/lugs.pdf
index 976c3ab73a..f2338c1b33 100644
--- a/usergrps/usergrps/lugs.pdf
+++ b/usergrps/usergrps/lugs.pdf
Binary files differ
diff --git a/usergrps/usergrps/lugs.tex b/usergrps/usergrps/lugs.tex
index 7108296e96..e10d6f9384 100644
--- a/usergrps/usergrps/lugs.tex
+++ b/usergrps/usergrps/lugs.tex
@@ -469,6 +469,18 @@
\item[phone] +351239791181
\end{mylist}
\begin{mylist}
+\head{tw}{Taiwan}
+\item[short name] TWTUG
+\item[full name] Taiwan TeX Users Group
+\item[language] zh
+\item[members] 100
+\item[email] \url{contact@twtug.org}
+\item[web site] \url{textw.github.io/}
+\subhead{President}
+\item[name] Sean Peng
+\item[email] \url{hsinspeng@gmail.com}
+\end{mylist}
+\begin{mylist}
\head{us}{TeX Users Group (International)}
\item[short name] TUG
\item[full name] TeX Users Group
diff --git a/usergrps/usergrps/mx.html b/usergrps/usergrps/mx.html
index 82de9fd443..3a16f2529a 100644
--- a/usergrps/usergrps/mx.html
+++ b/usergrps/usergrps/mx.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -237,6 +238,7 @@ Mexico
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -297,7 +299,7 @@ Mexico
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/nl.html b/usergrps/usergrps/nl.html
index fd8132c074..155597127a 100644
--- a/usergrps/usergrps/nl.html
+++ b/usergrps/usergrps/nl.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -241,6 +242,7 @@ The Netherlands
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -301,7 +303,7 @@ The Netherlands
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/no.html b/usergrps/usergrps/no.html
index a83eaaf4cf..a0ad0532b9 100644
--- a/usergrps/usergrps/no.html
+++ b/usergrps/usergrps/no.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -237,6 +238,7 @@ Norway
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -297,7 +299,7 @@ Norway
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/pl.html b/usergrps/usergrps/pl.html
index 455cda10bb..a3b8214e3b 100644
--- a/usergrps/usergrps/pl.html
+++ b/usergrps/usergrps/pl.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -244,6 +245,7 @@ Poland
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -304,7 +306,7 @@ Poland
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/pt.html b/usergrps/usergrps/pt.html
index ff0e993d64..485fc93762 100644
--- a/usergrps/usergrps/pt.html
+++ b/usergrps/usergrps/pt.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -238,6 +239,7 @@ Portugal
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -298,7 +300,7 @@ Portugal
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/tw.html b/usergrps/usergrps/tw.html
new file mode 100644
index 0000000000..535bb0be9d
--- /dev/null
+++ b/usergrps/usergrps/tw.html
@@ -0,0 +1,302 @@
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<link rel="stylesheet" type="text/css" href="/ntg.css"/>
+<link rel="icon" type="image/png" href="/graphics/ntgcolor.png"/>
+<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>
+<meta name="robots" content="index, follow"/>
+<meta name="description" content="Nederlandstalige TeX Gebruikersgroep"/>
+<meta name="keywords" content="TeX LaTeX ConTeXt Metafont MetaPost typesetting NTG gebruikersgroep"/>
+<meta name="DC.Title" content="Nederlandstalige TeX Gebruikersgroep"/>
+ <script type="text/javascript">
+ var onloadCallback = function() {
+ grecaptcha.render('html_element', {
+ 'sitekey' : '6Ld57aUeAAAAAEap5BV04RW0JiI_aAchmBTfhQ3v'
+ });
+ };
+ </script>
+
+<title>TeX User Groups around the world</title>
+</head>
+<body>
+<div id="everything">
+<div id="header">
+<a href="/indexe.html" title="NTG homepage">
+<img src="/graphics/ntglogo.png" alt="NTG Home"/></a>
+<p>Dutch language Oriented TeX Users Group</p>
+</div>
+<div id="notheader">
+<div id="main">
+<script> function goBack() { window.history.back(); } </script>
+
+<h1>TeX User Groups around the world</h1>
+
+ <h2>Taiwan TeX Users Group</h2>
+ <ul>
+ <li>Changes won't be instant, but are mailed to the maintainer when you click the submit button at the bottom
+ <li>Use either TeX notation or accented characters for accents.
+ <li>Enter phone numbers starting with +, then the country code et
+ cetera,<br>
+ no whitespace, hyphens or other punctuation.
+ </ul>
+ <form id="lugform" method="post" action="/cgi-bin/lugs.rb" name="lugform">
+ <div>
+ <input type="hidden" value="tw" name="code"> Links to other
+ User Group correction forms:<br>
+ <a href="bg.html">bg</a>
+<a href="br.html">br</a>
+<a href="cn.html">cn</a>
+<a href="cz.html">cz</a>
+<a href="de.html">de</a>
+<a href="dk.html">dk</a>
+<a href="ee.html">ee</a>
+<a href="es.html">es</a>
+<a href="esc.html">esc</a>
+<a href="fr.html">fr</a>
+<a href="gr.html">gr</a>
+<a href="hu.html">hu</a>
+<a href="ie.html">ie</a>
+<a href="is.html">is</a>
+<a href="it.html">it</a>
+<a href="kh.html">kh</a>
+<a href="kr.html">kr</a>
+<a href="lt.html">lt</a>
+<a href="mx.html">mx</a>
+<a href="nl.html">nl</a>
+<a href="no.html">no</a>
+<a href="pl.html">pl</a>
+<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
+<a href="us.html">us</a>
+<a href="uy.html">uy</a>
+<a href="vn.html">vn</a>
+<a href="za.html">za</a>
+<a href="index.html">home</a>
+
+ <table id="luginfo">
+<tr>
+ <th colspan="4" class="lug">tw -
+ <a class="lug" href="http://textw.github.io/">(Here is this lug's website)</a>
+<tr>
+ <td class="r">full name
+ <td>
+ <textarea class="lug" cols="20" rows="2" name="full">Taiwan TeX Users Group
+ </textarea>
+ <td class="r">periodical
+ <td>
+ <textarea class="lug" cols="20" rows="2" name="publ">
+ </textarea>
+<tr>
+ <td class="r">short name
+ <td><input class="lug" value="TWTUG" name="short">
+ <td class="r">editor
+ <td><input class="lug" value="" name="editor">
+<tr>
+ <td class="r">
+ <a href=
+ "http://www.lingoes.net/en/translator/langcode.htm">language(s)</a>
+ <td><input class="lug" value="zh" name="lang">
+ <td class="r">editor email
+ <td><input class="lug" value="" name="eemail">
+<tr>
+ <td class="r">members
+ <td><input class="lug" value="100" name="members">
+ <td>
+ <td>
+<tr>
+ <td class="r">email
+ <td><input class="lug" value="contact@twtug.org" name="email">
+ <td class="r">bank
+ <td><input class="lug" value="" name="bank">
+<tr>
+ <td class="r">web site
+ <td><input class="lug" value="textw.github.io/" name="www">
+ <td class="r">bank account
+ <td><input class="lug" value="" name="bacc">
+<tr>
+ <td class="r">mailing list
+ <td><input class="lug" value="" name="list">
+ <td class="r">swift code
+ <td><input class="lug" value="" name="bcode">
+<tr>
+ <td class="r">subscribe at
+ <td><input class="lug" value="" name="subscr">
+ <td class="r">routing no/BIC
+ <td><input class="lug" value="" name="brout">
+<tr>
+ <td class="tr">address
+ <td>
+ <textarea class="lug" cols="20" rows="6" name=
+ "addr">
+ </textarea>
+ <td class="tr">bank address
+ <td>
+ <textarea class="lug" cols="20" rows="6" name=
+ "baddr">
+ </textarea>
+<tr>
+ <td>
+ <th colspan="3" class="lug">contact addresses
+<tr>
+ <td>&nbsp;
+ <th>policy matters
+ <th>general matters
+ <th>finance / member admin
+<tr>
+ <td class="r">position
+ <td><input class="lug" value="President" name="ppos">
+ <td><input class="lug" value="" name="gpos">
+ <td><input class="lug" value="" name="fpos">
+<tr>
+ <td class="r">name
+ <td><input class="lug" value="Sean Peng" name="pname">
+ <td><input class="lug" value="" name="gname">
+ <td><input class="lug" value="" name="fname">
+<tr>
+ <td class="tr">address
+ <td>
+ <textarea class="lug" cols="20" rows="6" name=
+ "paddr">
+ </textarea>
+ <td>
+ <textarea class="lug" cols="20" rows="6" name=
+ "gaddr">
+ </textarea>
+ <td>
+ <textarea class="lug" cols="20" rows="6" name=
+ "faddr">
+ </textarea>
+<tr>
+ <td class="r">email
+ <td><input class="lug" value="hsinspeng@gmail.com" name="pemail">
+ <td><input class="lug" value="" name="gemail">
+ <td><input class="lug" value="" name="femail">
+<tr>
+ <td class="r">phone
+ <td><input class="lug" value="" name="pphone">
+ <td><input class="lug" value="" name="gphone">
+ <td><input class="lug" value="" name="fphone">
+<tr>
+ <td class="r">fax
+ <td><input class="lug" value="" name="pfax">
+ <td><input class="lug" value="" name="gfax">
+ <td><input class="lug" value="" name="ffax">
+<tr>
+ <th>
+ <th>
+ <th class="r">
+ <a href="lugs/tw">download data</a>
+ <th>
+<tr>
+ <td>
+ <th colspan="3" class="lug">submission of corrected data; enter your
+ email address and password first!
+<tr>
+ <td>
+ <td class="r">password
+ <td><input class="lug" name="password">
+ <td><small>obtain from wybo@ntg.nl</small>
+<tr>
+ <td>
+ <td class="r">your email address
+ <td><input class="lug" name="submitemail">
+ <td><small>needed in case we have questions</small>
+<tr>
+ <td>
+ <td>
+ <td colspan="2"><div id="html_element"></div>
+<tr>
+ <td>
+ <td>
+ <td><input class="lug" type="submit" value="submit corrected data">
+ </table>
+ <p>Links to other User Group correction forms:<br>
+ <a href="bg.html">bg</a>
+<a href="br.html">br</a>
+<a href="cn.html">cn</a>
+<a href="cz.html">cz</a>
+<a href="de.html">de</a>
+<a href="dk.html">dk</a>
+<a href="ee.html">ee</a>
+<a href="es.html">es</a>
+<a href="esc.html">esc</a>
+<a href="fr.html">fr</a>
+<a href="gr.html">gr</a>
+<a href="hu.html">hu</a>
+<a href="ie.html">ie</a>
+<a href="is.html">is</a>
+<a href="it.html">it</a>
+<a href="kh.html">kh</a>
+<a href="kr.html">kr</a>
+<a href="lt.html">lt</a>
+<a href="mx.html">mx</a>
+<a href="nl.html">nl</a>
+<a href="no.html">no</a>
+<a href="pl.html">pl</a>
+<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
+<a href="us.html">us</a>
+<a href="uy.html">uy</a>
+<a href="vn.html">vn</a>
+<a href="za.html">za</a>
+<a href="index.html">home</a>
+
+ </div>
+ </form>
+ <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
+</div>
+<ul id="leftbar">
+ <li><a href="/membersonly-en.html" title="NTG members only">members only</a>
+ <li><a href="/news-en.html" title="News">news</a>
+ <li>about TeX
+ <ul>
+ <li><a href="/watistex.html" title="All about TeX?">about TeX</a>
+ <li><a href="/watislatex.html" title="All about LaTeX?">about LaTeX</a>
+ <li><a href="/watiscontext.html" title="All about ConTeXt?">about ConTeXt</a>
+ <li><a href="/watismf.html" title="All about Metafont?">about Metafont</a>
+ <li><a href="/watismp.html" title="All about MetaPost?">about MetaPost</a>
+ <li><a href="/software.html" title="TeX software">software</a>
+ <li><a href="/faq.html" title="Frequently Asked Questions">FAQ's</a>
+ <li><a href="/literatuur/index.html" title="Literature">literature</a>
+ </ul>
+ <li>about NTG
+ <ul>
+ <li><a href="/doelstelling.html" title="Objectives">objectives</a>
+ <li><a href="/activiteiten.html" title="Activities">activities</a>
+ <li><a href="/bestuur.html" title="Board">board</a>
+ <li><a href="/statuten.html" title="Statutes">statutes</a>
+ <li><a href="/newmember-en.html" title="Membership">membership</a>
+ <li><a href="/privacy-en.html" title="Privacy policy">privacy policy</a>
+ </ul>
+ <li>international
+ <ul>
+ <li><a href="/lug/index.html" title="local TeX user groups">local user groups</a>
+ <li><a href="/conferenties.html" title="conferences">conferences</a>
+ </ul>
+ <li>publications
+ <ul>
+ <li><a href="/maps.html" title="NTG magazine MAPS">MAPS</a>
+ <li><a href="/publicaties.html" title="magazine worldwide">international</a>
+ </ul>
+ <li>events
+ <ul>
+ <li><a href="/bijeen/" title="NTG meetings">NTG meetings</a>
+ <li><a href="http://texcalendar.dante.de/" title="international calendar">TeX calendar</a>
+ </ul>
+ <li>contact
+ <ul>
+ <li><a href="/lug/nl.html" title="addresses">addresses</a>
+ <li><a href="/mail.html" title="mailing lists">mailing lists</a>
+ </ul>
+ <li><a href="/links.html" title="links">links</a>
+ <li><a href="/index.html" title="in Dutch">in Dutch</a>
+</ul>
+</div>
+<p id="copyright">&copy; NTG - last changed on
+
+
+2022-08-06 12:43:58 CEST
+</div></body></html>
+
+
diff --git a/usergrps/usergrps/us.html b/usergrps/usergrps/us.html
index c396c823d0..069ad60730 100644
--- a/usergrps/usergrps/us.html
+++ b/usergrps/usergrps/us.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -236,6 +237,7 @@ USA
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -296,7 +298,7 @@ USA
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/uy.html b/usergrps/usergrps/uy.html
index d473bebb20..eea178ee58 100644
--- a/usergrps/usergrps/uy.html
+++ b/usergrps/usergrps/uy.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -234,6 +235,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -294,7 +296,7 @@
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/vn.html b/usergrps/usergrps/vn.html
index c872c6c10d..1a195ab7de 100644
--- a/usergrps/usergrps/vn.html
+++ b/usergrps/usergrps/vn.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -242,6 +243,7 @@ Việt Nam
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -302,7 +304,7 @@ Việt Nam
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>
diff --git a/usergrps/usergrps/za.html b/usergrps/usergrps/za.html
index 6378dabc96..83c672aaea 100644
--- a/usergrps/usergrps/za.html
+++ b/usergrps/usergrps/za.html
@@ -67,6 +67,7 @@
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -237,6 +238,7 @@ South Africa
<a href="no.html">no</a>
<a href="pl.html">pl</a>
<a href="pt.html">pt</a>
+<a href="tw.html">tw</a>
<a href="us.html">us</a>
<a href="uy.html">uy</a>
<a href="vn.html">vn</a>
@@ -297,7 +299,7 @@ South Africa
<p id="copyright">&copy; NTG - last changed on
-2022-05-12 09:24:08 CEST
+2022-08-06 12:43:58 CEST
</div></body></html>